1// Code generated by protoc-gen-go. DO NOT EDIT.
2// source: google/protobuf/descriptor.proto
3
4/*
5Package descriptor is a generated protocol buffer package.
6
7It is generated from these files:
8	google/protobuf/descriptor.proto
9
10It has these top-level messages:
11	FileDescriptorSet
12	FileDescriptorProto
13	DescriptorProto
14	ExtensionRangeOptions
15	FieldDescriptorProto
16	OneofDescriptorProto
17	EnumDescriptorProto
18	EnumValueDescriptorProto
19	ServiceDescriptorProto
20	MethodDescriptorProto
21	FileOptions
22	MessageOptions
23	FieldOptions
24	OneofOptions
25	EnumOptions
26	EnumValueOptions
27	ServiceOptions
28	MethodOptions
29	UninterpretedOption
30	SourceCodeInfo
31	GeneratedCodeInfo
32*/
33package descriptor
34
35import proto "github.com/golang/protobuf/proto"
36import fmt "fmt"
37import math "math"
38
39// Reference imports to suppress errors if they are not otherwise used.
40var _ = proto.Marshal
41var _ = fmt.Errorf
42var _ = math.Inf
43
44// This is a compile-time assertion to ensure that this generated file
45// is compatible with the proto package it is being compiled against.
46// A compilation error at this line likely means your copy of the
47// proto package needs to be updated.
48const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
49
50type FieldDescriptorProto_Type int32
51
52const (
53	// 0 is reserved for errors.
54	// Order is weird for historical reasons.
55	FieldDescriptorProto_TYPE_DOUBLE FieldDescriptorProto_Type = 1
56	FieldDescriptorProto_TYPE_FLOAT  FieldDescriptorProto_Type = 2
57	// Not ZigZag encoded.  Negative numbers take 10 bytes.  Use TYPE_SINT64 if
58	// negative values are likely.
59	FieldDescriptorProto_TYPE_INT64  FieldDescriptorProto_Type = 3
60	FieldDescriptorProto_TYPE_UINT64 FieldDescriptorProto_Type = 4
61	// Not ZigZag encoded.  Negative numbers take 10 bytes.  Use TYPE_SINT32 if
62	// negative values are likely.
63	FieldDescriptorProto_TYPE_INT32   FieldDescriptorProto_Type = 5
64	FieldDescriptorProto_TYPE_FIXED64 FieldDescriptorProto_Type = 6
65	FieldDescriptorProto_TYPE_FIXED32 FieldDescriptorProto_Type = 7
66	FieldDescriptorProto_TYPE_BOOL    FieldDescriptorProto_Type = 8
67	FieldDescriptorProto_TYPE_STRING  FieldDescriptorProto_Type = 9
68	// Tag-delimited aggregate.
69	// Group type is deprecated and not supported in proto3. However, Proto3
70	// implementations should still be able to parse the group wire format and
71	// treat group fields as unknown fields.
72	FieldDescriptorProto_TYPE_GROUP   FieldDescriptorProto_Type = 10
73	FieldDescriptorProto_TYPE_MESSAGE FieldDescriptorProto_Type = 11
74	// New in version 2.
75	FieldDescriptorProto_TYPE_BYTES    FieldDescriptorProto_Type = 12
76	FieldDescriptorProto_TYPE_UINT32   FieldDescriptorProto_Type = 13
77	FieldDescriptorProto_TYPE_ENUM     FieldDescriptorProto_Type = 14
78	FieldDescriptorProto_TYPE_SFIXED32 FieldDescriptorProto_Type = 15
79	FieldDescriptorProto_TYPE_SFIXED64 FieldDescriptorProto_Type = 16
80	FieldDescriptorProto_TYPE_SINT32   FieldDescriptorProto_Type = 17
81	FieldDescriptorProto_TYPE_SINT64   FieldDescriptorProto_Type = 18
82)
83
84var FieldDescriptorProto_Type_name = map[int32]string{
85	1:  "TYPE_DOUBLE",
86	2:  "TYPE_FLOAT",
87	3:  "TYPE_INT64",
88	4:  "TYPE_UINT64",
89	5:  "TYPE_INT32",
90	6:  "TYPE_FIXED64",
91	7:  "TYPE_FIXED32",
92	8:  "TYPE_BOOL",
93	9:  "TYPE_STRING",
94	10: "TYPE_GROUP",
95	11: "TYPE_MESSAGE",
96	12: "TYPE_BYTES",
97	13: "TYPE_UINT32",
98	14: "TYPE_ENUM",
99	15: "TYPE_SFIXED32",
100	16: "TYPE_SFIXED64",
101	17: "TYPE_SINT32",
102	18: "TYPE_SINT64",
103}
104var FieldDescriptorProto_Type_value = map[string]int32{
105	"TYPE_DOUBLE":   1,
106	"TYPE_FLOAT":    2,
107	"TYPE_INT64":    3,
108	"TYPE_UINT64":   4,
109	"TYPE_INT32":    5,
110	"TYPE_FIXED64":  6,
111	"TYPE_FIXED32":  7,
112	"TYPE_BOOL":     8,
113	"TYPE_STRING":   9,
114	"TYPE_GROUP":    10,
115	"TYPE_MESSAGE":  11,
116	"TYPE_BYTES":    12,
117	"TYPE_UINT32":   13,
118	"TYPE_ENUM":     14,
119	"TYPE_SFIXED32": 15,
120	"TYPE_SFIXED64": 16,
121	"TYPE_SINT32":   17,
122	"TYPE_SINT64":   18,
123}
124
125func (x FieldDescriptorProto_Type) Enum() *FieldDescriptorProto_Type {
126	p := new(FieldDescriptorProto_Type)
127	*p = x
128	return p
129}
130func (x FieldDescriptorProto_Type) String() string {
131	return proto.EnumName(FieldDescriptorProto_Type_name, int32(x))
132}
133func (x *FieldDescriptorProto_Type) UnmarshalJSON(data []byte) error {
134	value, err := proto.UnmarshalJSONEnum(FieldDescriptorProto_Type_value, data, "FieldDescriptorProto_Type")
135	if err != nil {
136		return err
137	}
138	*x = FieldDescriptorProto_Type(value)
139	return nil
140}
141func (FieldDescriptorProto_Type) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{4, 0} }
142
143type FieldDescriptorProto_Label int32
144
145const (
146	// 0 is reserved for errors
147	FieldDescriptorProto_LABEL_OPTIONAL FieldDescriptorProto_Label = 1
148	FieldDescriptorProto_LABEL_REQUIRED FieldDescriptorProto_Label = 2
149	FieldDescriptorProto_LABEL_REPEATED FieldDescriptorProto_Label = 3
150)
151
152var FieldDescriptorProto_Label_name = map[int32]string{
153	1: "LABEL_OPTIONAL",
154	2: "LABEL_REQUIRED",
155	3: "LABEL_REPEATED",
156}
157var FieldDescriptorProto_Label_value = map[string]int32{
158	"LABEL_OPTIONAL": 1,
159	"LABEL_REQUIRED": 2,
160	"LABEL_REPEATED": 3,
161}
162
163func (x FieldDescriptorProto_Label) Enum() *FieldDescriptorProto_Label {
164	p := new(FieldDescriptorProto_Label)
165	*p = x
166	return p
167}
168func (x FieldDescriptorProto_Label) String() string {
169	return proto.EnumName(FieldDescriptorProto_Label_name, int32(x))
170}
171func (x *FieldDescriptorProto_Label) UnmarshalJSON(data []byte) error {
172	value, err := proto.UnmarshalJSONEnum(FieldDescriptorProto_Label_value, data, "FieldDescriptorProto_Label")
173	if err != nil {
174		return err
175	}
176	*x = FieldDescriptorProto_Label(value)
177	return nil
178}
179func (FieldDescriptorProto_Label) EnumDescriptor() ([]byte, []int) {
180	return fileDescriptor0, []int{4, 1}
181}
182
183// Generated classes can be optimized for speed or code size.
184type FileOptions_OptimizeMode int32
185
186const (
187	FileOptions_SPEED FileOptions_OptimizeMode = 1
188	// etc.
189	FileOptions_CODE_SIZE    FileOptions_OptimizeMode = 2
190	FileOptions_LITE_RUNTIME FileOptions_OptimizeMode = 3
191)
192
193var FileOptions_OptimizeMode_name = map[int32]string{
194	1: "SPEED",
195	2: "CODE_SIZE",
196	3: "LITE_RUNTIME",
197}
198var FileOptions_OptimizeMode_value = map[string]int32{
199	"SPEED":        1,
200	"CODE_SIZE":    2,
201	"LITE_RUNTIME": 3,
202}
203
204func (x FileOptions_OptimizeMode) Enum() *FileOptions_OptimizeMode {
205	p := new(FileOptions_OptimizeMode)
206	*p = x
207	return p
208}
209func (x FileOptions_OptimizeMode) String() string {
210	return proto.EnumName(FileOptions_OptimizeMode_name, int32(x))
211}
212func (x *FileOptions_OptimizeMode) UnmarshalJSON(data []byte) error {
213	value, err := proto.UnmarshalJSONEnum(FileOptions_OptimizeMode_value, data, "FileOptions_OptimizeMode")
214	if err != nil {
215		return err
216	}
217	*x = FileOptions_OptimizeMode(value)
218	return nil
219}
220func (FileOptions_OptimizeMode) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{10, 0} }
221
222type FieldOptions_CType int32
223
224const (
225	// Default mode.
226	FieldOptions_STRING       FieldOptions_CType = 0
227	FieldOptions_CORD         FieldOptions_CType = 1
228	FieldOptions_STRING_PIECE FieldOptions_CType = 2
229)
230
231var FieldOptions_CType_name = map[int32]string{
232	0: "STRING",
233	1: "CORD",
234	2: "STRING_PIECE",
235}
236var FieldOptions_CType_value = map[string]int32{
237	"STRING":       0,
238	"CORD":         1,
239	"STRING_PIECE": 2,
240}
241
242func (x FieldOptions_CType) Enum() *FieldOptions_CType {
243	p := new(FieldOptions_CType)
244	*p = x
245	return p
246}
247func (x FieldOptions_CType) String() string {
248	return proto.EnumName(FieldOptions_CType_name, int32(x))
249}
250func (x *FieldOptions_CType) UnmarshalJSON(data []byte) error {
251	value, err := proto.UnmarshalJSONEnum(FieldOptions_CType_value, data, "FieldOptions_CType")
252	if err != nil {
253		return err
254	}
255	*x = FieldOptions_CType(value)
256	return nil
257}
258func (FieldOptions_CType) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{12, 0} }
259
260type FieldOptions_JSType int32
261
262const (
263	// Use the default type.
264	FieldOptions_JS_NORMAL FieldOptions_JSType = 0
265	// Use JavaScript strings.
266	FieldOptions_JS_STRING FieldOptions_JSType = 1
267	// Use JavaScript numbers.
268	FieldOptions_JS_NUMBER FieldOptions_JSType = 2
269)
270
271var FieldOptions_JSType_name = map[int32]string{
272	0: "JS_NORMAL",
273	1: "JS_STRING",
274	2: "JS_NUMBER",
275}
276var FieldOptions_JSType_value = map[string]int32{
277	"JS_NORMAL": 0,
278	"JS_STRING": 1,
279	"JS_NUMBER": 2,
280}
281
282func (x FieldOptions_JSType) Enum() *FieldOptions_JSType {
283	p := new(FieldOptions_JSType)
284	*p = x
285	return p
286}
287func (x FieldOptions_JSType) String() string {
288	return proto.EnumName(FieldOptions_JSType_name, int32(x))
289}
290func (x *FieldOptions_JSType) UnmarshalJSON(data []byte) error {
291	value, err := proto.UnmarshalJSONEnum(FieldOptions_JSType_value, data, "FieldOptions_JSType")
292	if err != nil {
293		return err
294	}
295	*x = FieldOptions_JSType(value)
296	return nil
297}
298func (FieldOptions_JSType) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{12, 1} }
299
300// Is this method side-effect-free (or safe in HTTP parlance), or idempotent,
301// or neither? HTTP based RPC implementation may choose GET verb for safe
302// methods, and PUT verb for idempotent methods instead of the default POST.
303type MethodOptions_IdempotencyLevel int32
304
305const (
306	MethodOptions_IDEMPOTENCY_UNKNOWN MethodOptions_IdempotencyLevel = 0
307	MethodOptions_NO_SIDE_EFFECTS     MethodOptions_IdempotencyLevel = 1
308	MethodOptions_IDEMPOTENT          MethodOptions_IdempotencyLevel = 2
309)
310
311var MethodOptions_IdempotencyLevel_name = map[int32]string{
312	0: "IDEMPOTENCY_UNKNOWN",
313	1: "NO_SIDE_EFFECTS",
314	2: "IDEMPOTENT",
315}
316var MethodOptions_IdempotencyLevel_value = map[string]int32{
317	"IDEMPOTENCY_UNKNOWN": 0,
318	"NO_SIDE_EFFECTS":     1,
319	"IDEMPOTENT":          2,
320}
321
322func (x MethodOptions_IdempotencyLevel) Enum() *MethodOptions_IdempotencyLevel {
323	p := new(MethodOptions_IdempotencyLevel)
324	*p = x
325	return p
326}
327func (x MethodOptions_IdempotencyLevel) String() string {
328	return proto.EnumName(MethodOptions_IdempotencyLevel_name, int32(x))
329}
330func (x *MethodOptions_IdempotencyLevel) UnmarshalJSON(data []byte) error {
331	value, err := proto.UnmarshalJSONEnum(MethodOptions_IdempotencyLevel_value, data, "MethodOptions_IdempotencyLevel")
332	if err != nil {
333		return err
334	}
335	*x = MethodOptions_IdempotencyLevel(value)
336	return nil
337}
338func (MethodOptions_IdempotencyLevel) EnumDescriptor() ([]byte, []int) {
339	return fileDescriptor0, []int{17, 0}
340}
341
342// The protocol compiler can output a FileDescriptorSet containing the .proto
343// files it parses.
344type FileDescriptorSet struct {
345	File             []*FileDescriptorProto `protobuf:"bytes,1,rep,name=file" json:"file,omitempty"`
346	XXX_unrecognized []byte                 `json:"-"`
347}
348
349func (m *FileDescriptorSet) Reset()                    { *m = FileDescriptorSet{} }
350func (m *FileDescriptorSet) String() string            { return proto.CompactTextString(m) }
351func (*FileDescriptorSet) ProtoMessage()               {}
352func (*FileDescriptorSet) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
353
354func (m *FileDescriptorSet) GetFile() []*FileDescriptorProto {
355	if m != nil {
356		return m.File
357	}
358	return nil
359}
360
361// Describes a complete .proto file.
362type FileDescriptorProto struct {
363	Name    *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
364	Package *string `protobuf:"bytes,2,opt,name=package" json:"package,omitempty"`
365	// Names of files imported by this file.
366	Dependency []string `protobuf:"bytes,3,rep,name=dependency" json:"dependency,omitempty"`
367	// Indexes of the public imported files in the dependency list above.
368	PublicDependency []int32 `protobuf:"varint,10,rep,name=public_dependency,json=publicDependency" json:"public_dependency,omitempty"`
369	// Indexes of the weak imported files in the dependency list.
370	// For Google-internal migration only. Do not use.
371	WeakDependency []int32 `protobuf:"varint,11,rep,name=weak_dependency,json=weakDependency" json:"weak_dependency,omitempty"`
372	// All top-level definitions in this file.
373	MessageType []*DescriptorProto        `protobuf:"bytes,4,rep,name=message_type,json=messageType" json:"message_type,omitempty"`
374	EnumType    []*EnumDescriptorProto    `protobuf:"bytes,5,rep,name=enum_type,json=enumType" json:"enum_type,omitempty"`
375	Service     []*ServiceDescriptorProto `protobuf:"bytes,6,rep,name=service" json:"service,omitempty"`
376	Extension   []*FieldDescriptorProto   `protobuf:"bytes,7,rep,name=extension" json:"extension,omitempty"`
377	Options     *FileOptions              `protobuf:"bytes,8,opt,name=options" json:"options,omitempty"`
378	// This field contains optional information about the original source code.
379	// You may safely remove this entire field without harming runtime
380	// functionality of the descriptors -- the information is needed only by
381	// development tools.
382	SourceCodeInfo *SourceCodeInfo `protobuf:"bytes,9,opt,name=source_code_info,json=sourceCodeInfo" json:"source_code_info,omitempty"`
383	// The syntax of the proto file.
384	// The supported values are "proto2" and "proto3".
385	Syntax           *string `protobuf:"bytes,12,opt,name=syntax" json:"syntax,omitempty"`
386	XXX_unrecognized []byte  `json:"-"`
387}
388
389func (m *FileDescriptorProto) Reset()                    { *m = FileDescriptorProto{} }
390func (m *FileDescriptorProto) String() string            { return proto.CompactTextString(m) }
391func (*FileDescriptorProto) ProtoMessage()               {}
392func (*FileDescriptorProto) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }
393
394func (m *FileDescriptorProto) GetName() string {
395	if m != nil && m.Name != nil {
396		return *m.Name
397	}
398	return ""
399}
400
401func (m *FileDescriptorProto) GetPackage() string {
402	if m != nil && m.Package != nil {
403		return *m.Package
404	}
405	return ""
406}
407
408func (m *FileDescriptorProto) GetDependency() []string {
409	if m != nil {
410		return m.Dependency
411	}
412	return nil
413}
414
415func (m *FileDescriptorProto) GetPublicDependency() []int32 {
416	if m != nil {
417		return m.PublicDependency
418	}
419	return nil
420}
421
422func (m *FileDescriptorProto) GetWeakDependency() []int32 {
423	if m != nil {
424		return m.WeakDependency
425	}
426	return nil
427}
428
429func (m *FileDescriptorProto) GetMessageType() []*DescriptorProto {
430	if m != nil {
431		return m.MessageType
432	}
433	return nil
434}
435
436func (m *FileDescriptorProto) GetEnumType() []*EnumDescriptorProto {
437	if m != nil {
438		return m.EnumType
439	}
440	return nil
441}
442
443func (m *FileDescriptorProto) GetService() []*ServiceDescriptorProto {
444	if m != nil {
445		return m.Service
446	}
447	return nil
448}
449
450func (m *FileDescriptorProto) GetExtension() []*FieldDescriptorProto {
451	if m != nil {
452		return m.Extension
453	}
454	return nil
455}
456
457func (m *FileDescriptorProto) GetOptions() *FileOptions {
458	if m != nil {
459		return m.Options
460	}
461	return nil
462}
463
464func (m *FileDescriptorProto) GetSourceCodeInfo() *SourceCodeInfo {
465	if m != nil {
466		return m.SourceCodeInfo
467	}
468	return nil
469}
470
471func (m *FileDescriptorProto) GetSyntax() string {
472	if m != nil && m.Syntax != nil {
473		return *m.Syntax
474	}
475	return ""
476}
477
478// Describes a message type.
479type DescriptorProto struct {
480	Name           *string                           `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
481	Field          []*FieldDescriptorProto           `protobuf:"bytes,2,rep,name=field" json:"field,omitempty"`
482	Extension      []*FieldDescriptorProto           `protobuf:"bytes,6,rep,name=extension" json:"extension,omitempty"`
483	NestedType     []*DescriptorProto                `protobuf:"bytes,3,rep,name=nested_type,json=nestedType" json:"nested_type,omitempty"`
484	EnumType       []*EnumDescriptorProto            `protobuf:"bytes,4,rep,name=enum_type,json=enumType" json:"enum_type,omitempty"`
485	ExtensionRange []*DescriptorProto_ExtensionRange `protobuf:"bytes,5,rep,name=extension_range,json=extensionRange" json:"extension_range,omitempty"`
486	OneofDecl      []*OneofDescriptorProto           `protobuf:"bytes,8,rep,name=oneof_decl,json=oneofDecl" json:"oneof_decl,omitempty"`
487	Options        *MessageOptions                   `protobuf:"bytes,7,opt,name=options" json:"options,omitempty"`
488	ReservedRange  []*DescriptorProto_ReservedRange  `protobuf:"bytes,9,rep,name=reserved_range,json=reservedRange" json:"reserved_range,omitempty"`
489	// Reserved field names, which may not be used by fields in the same message.
490	// A given name may only be reserved once.
491	ReservedName     []string `protobuf:"bytes,10,rep,name=reserved_name,json=reservedName" json:"reserved_name,omitempty"`
492	XXX_unrecognized []byte   `json:"-"`
493}
494
495func (m *DescriptorProto) Reset()                    { *m = DescriptorProto{} }
496func (m *DescriptorProto) String() string            { return proto.CompactTextString(m) }
497func (*DescriptorProto) ProtoMessage()               {}
498func (*DescriptorProto) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} }
499
500func (m *DescriptorProto) GetName() string {
501	if m != nil && m.Name != nil {
502		return *m.Name
503	}
504	return ""
505}
506
507func (m *DescriptorProto) GetField() []*FieldDescriptorProto {
508	if m != nil {
509		return m.Field
510	}
511	return nil
512}
513
514func (m *DescriptorProto) GetExtension() []*FieldDescriptorProto {
515	if m != nil {
516		return m.Extension
517	}
518	return nil
519}
520
521func (m *DescriptorProto) GetNestedType() []*DescriptorProto {
522	if m != nil {
523		return m.NestedType
524	}
525	return nil
526}
527
528func (m *DescriptorProto) GetEnumType() []*EnumDescriptorProto {
529	if m != nil {
530		return m.EnumType
531	}
532	return nil
533}
534
535func (m *DescriptorProto) GetExtensionRange() []*DescriptorProto_ExtensionRange {
536	if m != nil {
537		return m.ExtensionRange
538	}
539	return nil
540}
541
542func (m *DescriptorProto) GetOneofDecl() []*OneofDescriptorProto {
543	if m != nil {
544		return m.OneofDecl
545	}
546	return nil
547}
548
549func (m *DescriptorProto) GetOptions() *MessageOptions {
550	if m != nil {
551		return m.Options
552	}
553	return nil
554}
555
556func (m *DescriptorProto) GetReservedRange() []*DescriptorProto_ReservedRange {
557	if m != nil {
558		return m.ReservedRange
559	}
560	return nil
561}
562
563func (m *DescriptorProto) GetReservedName() []string {
564	if m != nil {
565		return m.ReservedName
566	}
567	return nil
568}
569
570type DescriptorProto_ExtensionRange struct {
571	Start            *int32                 `protobuf:"varint,1,opt,name=start" json:"start,omitempty"`
572	End              *int32                 `protobuf:"varint,2,opt,name=end" json:"end,omitempty"`
573	Options          *ExtensionRangeOptions `protobuf:"bytes,3,opt,name=options" json:"options,omitempty"`
574	XXX_unrecognized []byte                 `json:"-"`
575}
576
577func (m *DescriptorProto_ExtensionRange) Reset()         { *m = DescriptorProto_ExtensionRange{} }
578func (m *DescriptorProto_ExtensionRange) String() string { return proto.CompactTextString(m) }
579func (*DescriptorProto_ExtensionRange) ProtoMessage()    {}
580func (*DescriptorProto_ExtensionRange) Descriptor() ([]byte, []int) {
581	return fileDescriptor0, []int{2, 0}
582}
583
584func (m *DescriptorProto_ExtensionRange) GetStart() int32 {
585	if m != nil && m.Start != nil {
586		return *m.Start
587	}
588	return 0
589}
590
591func (m *DescriptorProto_ExtensionRange) GetEnd() int32 {
592	if m != nil && m.End != nil {
593		return *m.End
594	}
595	return 0
596}
597
598func (m *DescriptorProto_ExtensionRange) GetOptions() *ExtensionRangeOptions {
599	if m != nil {
600		return m.Options
601	}
602	return nil
603}
604
605// Range of reserved tag numbers. Reserved tag numbers may not be used by
606// fields or extension ranges in the same message. Reserved ranges may
607// not overlap.
608type DescriptorProto_ReservedRange struct {
609	Start            *int32 `protobuf:"varint,1,opt,name=start" json:"start,omitempty"`
610	End              *int32 `protobuf:"varint,2,opt,name=end" json:"end,omitempty"`
611	XXX_unrecognized []byte `json:"-"`
612}
613
614func (m *DescriptorProto_ReservedRange) Reset()         { *m = DescriptorProto_ReservedRange{} }
615func (m *DescriptorProto_ReservedRange) String() string { return proto.CompactTextString(m) }
616func (*DescriptorProto_ReservedRange) ProtoMessage()    {}
617func (*DescriptorProto_ReservedRange) Descriptor() ([]byte, []int) {
618	return fileDescriptor0, []int{2, 1}
619}
620
621func (m *DescriptorProto_ReservedRange) GetStart() int32 {
622	if m != nil && m.Start != nil {
623		return *m.Start
624	}
625	return 0
626}
627
628func (m *DescriptorProto_ReservedRange) GetEnd() int32 {
629	if m != nil && m.End != nil {
630		return *m.End
631	}
632	return 0
633}
634
635type ExtensionRangeOptions struct {
636	// The parser stores options it doesn't recognize here. See above.
637	UninterpretedOption          []*UninterpretedOption `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"`
638	proto.XXX_InternalExtensions `json:"-"`
639	XXX_unrecognized             []byte `json:"-"`
640}
641
642func (m *ExtensionRangeOptions) Reset()                    { *m = ExtensionRangeOptions{} }
643func (m *ExtensionRangeOptions) String() string            { return proto.CompactTextString(m) }
644func (*ExtensionRangeOptions) ProtoMessage()               {}
645func (*ExtensionRangeOptions) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3} }
646
647var extRange_ExtensionRangeOptions = []proto.ExtensionRange{
648	{1000, 536870911},
649}
650
651func (*ExtensionRangeOptions) ExtensionRangeArray() []proto.ExtensionRange {
652	return extRange_ExtensionRangeOptions
653}
654
655func (m *ExtensionRangeOptions) GetUninterpretedOption() []*UninterpretedOption {
656	if m != nil {
657		return m.UninterpretedOption
658	}
659	return nil
660}
661
662// Describes a field within a message.
663type FieldDescriptorProto struct {
664	Name   *string                     `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
665	Number *int32                      `protobuf:"varint,3,opt,name=number" json:"number,omitempty"`
666	Label  *FieldDescriptorProto_Label `protobuf:"varint,4,opt,name=label,enum=google.protobuf.FieldDescriptorProto_Label" json:"label,omitempty"`
667	// If type_name is set, this need not be set.  If both this and type_name
668	// are set, this must be one of TYPE_ENUM, TYPE_MESSAGE or TYPE_GROUP.
669	Type *FieldDescriptorProto_Type `protobuf:"varint,5,opt,name=type,enum=google.protobuf.FieldDescriptorProto_Type" json:"type,omitempty"`
670	// For message and enum types, this is the name of the type.  If the name
671	// starts with a '.', it is fully-qualified.  Otherwise, C++-like scoping
672	// rules are used to find the type (i.e. first the nested types within this
673	// message are searched, then within the parent, on up to the root
674	// namespace).
675	TypeName *string `protobuf:"bytes,6,opt,name=type_name,json=typeName" json:"type_name,omitempty"`
676	// For extensions, this is the name of the type being extended.  It is
677	// resolved in the same manner as type_name.
678	Extendee *string `protobuf:"bytes,2,opt,name=extendee" json:"extendee,omitempty"`
679	// For numeric types, contains the original text representation of the value.
680	// For booleans, "true" or "false".
681	// For strings, contains the default text contents (not escaped in any way).
682	// For bytes, contains the C escaped value.  All bytes >= 128 are escaped.
683	// TODO(kenton):  Base-64 encode?
684	DefaultValue *string `protobuf:"bytes,7,opt,name=default_value,json=defaultValue" json:"default_value,omitempty"`
685	// If set, gives the index of a oneof in the containing type's oneof_decl
686	// list.  This field is a member of that oneof.
687	OneofIndex *int32 `protobuf:"varint,9,opt,name=oneof_index,json=oneofIndex" json:"oneof_index,omitempty"`
688	// JSON name of this field. The value is set by protocol compiler. If the
689	// user has set a "json_name" option on this field, that option's value
690	// will be used. Otherwise, it's deduced from the field's name by converting
691	// it to camelCase.
692	JsonName         *string       `protobuf:"bytes,10,opt,name=json_name,json=jsonName" json:"json_name,omitempty"`
693	Options          *FieldOptions `protobuf:"bytes,8,opt,name=options" json:"options,omitempty"`
694	XXX_unrecognized []byte        `json:"-"`
695}
696
697func (m *FieldDescriptorProto) Reset()                    { *m = FieldDescriptorProto{} }
698func (m *FieldDescriptorProto) String() string            { return proto.CompactTextString(m) }
699func (*FieldDescriptorProto) ProtoMessage()               {}
700func (*FieldDescriptorProto) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4} }
701
702func (m *FieldDescriptorProto) GetName() string {
703	if m != nil && m.Name != nil {
704		return *m.Name
705	}
706	return ""
707}
708
709func (m *FieldDescriptorProto) GetNumber() int32 {
710	if m != nil && m.Number != nil {
711		return *m.Number
712	}
713	return 0
714}
715
716func (m *FieldDescriptorProto) GetLabel() FieldDescriptorProto_Label {
717	if m != nil && m.Label != nil {
718		return *m.Label
719	}
720	return FieldDescriptorProto_LABEL_OPTIONAL
721}
722
723func (m *FieldDescriptorProto) GetType() FieldDescriptorProto_Type {
724	if m != nil && m.Type != nil {
725		return *m.Type
726	}
727	return FieldDescriptorProto_TYPE_DOUBLE
728}
729
730func (m *FieldDescriptorProto) GetTypeName() string {
731	if m != nil && m.TypeName != nil {
732		return *m.TypeName
733	}
734	return ""
735}
736
737func (m *FieldDescriptorProto) GetExtendee() string {
738	if m != nil && m.Extendee != nil {
739		return *m.Extendee
740	}
741	return ""
742}
743
744func (m *FieldDescriptorProto) GetDefaultValue() string {
745	if m != nil && m.DefaultValue != nil {
746		return *m.DefaultValue
747	}
748	return ""
749}
750
751func (m *FieldDescriptorProto) GetOneofIndex() int32 {
752	if m != nil && m.OneofIndex != nil {
753		return *m.OneofIndex
754	}
755	return 0
756}
757
758func (m *FieldDescriptorProto) GetJsonName() string {
759	if m != nil && m.JsonName != nil {
760		return *m.JsonName
761	}
762	return ""
763}
764
765func (m *FieldDescriptorProto) GetOptions() *FieldOptions {
766	if m != nil {
767		return m.Options
768	}
769	return nil
770}
771
772// Describes a oneof.
773type OneofDescriptorProto struct {
774	Name             *string       `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
775	Options          *OneofOptions `protobuf:"bytes,2,opt,name=options" json:"options,omitempty"`
776	XXX_unrecognized []byte        `json:"-"`
777}
778
779func (m *OneofDescriptorProto) Reset()                    { *m = OneofDescriptorProto{} }
780func (m *OneofDescriptorProto) String() string            { return proto.CompactTextString(m) }
781func (*OneofDescriptorProto) ProtoMessage()               {}
782func (*OneofDescriptorProto) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{5} }
783
784func (m *OneofDescriptorProto) GetName() string {
785	if m != nil && m.Name != nil {
786		return *m.Name
787	}
788	return ""
789}
790
791func (m *OneofDescriptorProto) GetOptions() *OneofOptions {
792	if m != nil {
793		return m.Options
794	}
795	return nil
796}
797
798// Describes an enum type.
799type EnumDescriptorProto struct {
800	Name             *string                     `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
801	Value            []*EnumValueDescriptorProto `protobuf:"bytes,2,rep,name=value" json:"value,omitempty"`
802	Options          *EnumOptions                `protobuf:"bytes,3,opt,name=options" json:"options,omitempty"`
803	XXX_unrecognized []byte                      `json:"-"`
804}
805
806func (m *EnumDescriptorProto) Reset()                    { *m = EnumDescriptorProto{} }
807func (m *EnumDescriptorProto) String() string            { return proto.CompactTextString(m) }
808func (*EnumDescriptorProto) ProtoMessage()               {}
809func (*EnumDescriptorProto) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{6} }
810
811func (m *EnumDescriptorProto) GetName() string {
812	if m != nil && m.Name != nil {
813		return *m.Name
814	}
815	return ""
816}
817
818func (m *EnumDescriptorProto) GetValue() []*EnumValueDescriptorProto {
819	if m != nil {
820		return m.Value
821	}
822	return nil
823}
824
825func (m *EnumDescriptorProto) GetOptions() *EnumOptions {
826	if m != nil {
827		return m.Options
828	}
829	return nil
830}
831
832// Describes a value within an enum.
833type EnumValueDescriptorProto struct {
834	Name             *string           `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
835	Number           *int32            `protobuf:"varint,2,opt,name=number" json:"number,omitempty"`
836	Options          *EnumValueOptions `protobuf:"bytes,3,opt,name=options" json:"options,omitempty"`
837	XXX_unrecognized []byte            `json:"-"`
838}
839
840func (m *EnumValueDescriptorProto) Reset()                    { *m = EnumValueDescriptorProto{} }
841func (m *EnumValueDescriptorProto) String() string            { return proto.CompactTextString(m) }
842func (*EnumValueDescriptorProto) ProtoMessage()               {}
843func (*EnumValueDescriptorProto) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{7} }
844
845func (m *EnumValueDescriptorProto) GetName() string {
846	if m != nil && m.Name != nil {
847		return *m.Name
848	}
849	return ""
850}
851
852func (m *EnumValueDescriptorProto) GetNumber() int32 {
853	if m != nil && m.Number != nil {
854		return *m.Number
855	}
856	return 0
857}
858
859func (m *EnumValueDescriptorProto) GetOptions() *EnumValueOptions {
860	if m != nil {
861		return m.Options
862	}
863	return nil
864}
865
866// Describes a service.
867type ServiceDescriptorProto struct {
868	Name             *string                  `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
869	Method           []*MethodDescriptorProto `protobuf:"bytes,2,rep,name=method" json:"method,omitempty"`
870	Options          *ServiceOptions          `protobuf:"bytes,3,opt,name=options" json:"options,omitempty"`
871	XXX_unrecognized []byte                   `json:"-"`
872}
873
874func (m *ServiceDescriptorProto) Reset()                    { *m = ServiceDescriptorProto{} }
875func (m *ServiceDescriptorProto) String() string            { return proto.CompactTextString(m) }
876func (*ServiceDescriptorProto) ProtoMessage()               {}
877func (*ServiceDescriptorProto) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{8} }
878
879func (m *ServiceDescriptorProto) GetName() string {
880	if m != nil && m.Name != nil {
881		return *m.Name
882	}
883	return ""
884}
885
886func (m *ServiceDescriptorProto) GetMethod() []*MethodDescriptorProto {
887	if m != nil {
888		return m.Method
889	}
890	return nil
891}
892
893func (m *ServiceDescriptorProto) GetOptions() *ServiceOptions {
894	if m != nil {
895		return m.Options
896	}
897	return nil
898}
899
900// Describes a method of a service.
901type MethodDescriptorProto struct {
902	Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
903	// Input and output type names.  These are resolved in the same way as
904	// FieldDescriptorProto.type_name, but must refer to a message type.
905	InputType  *string        `protobuf:"bytes,2,opt,name=input_type,json=inputType" json:"input_type,omitempty"`
906	OutputType *string        `protobuf:"bytes,3,opt,name=output_type,json=outputType" json:"output_type,omitempty"`
907	Options    *MethodOptions `protobuf:"bytes,4,opt,name=options" json:"options,omitempty"`
908	// Identifies if client streams multiple client messages
909	ClientStreaming *bool `protobuf:"varint,5,opt,name=client_streaming,json=clientStreaming,def=0" json:"client_streaming,omitempty"`
910	// Identifies if server streams multiple server messages
911	ServerStreaming  *bool  `protobuf:"varint,6,opt,name=server_streaming,json=serverStreaming,def=0" json:"server_streaming,omitempty"`
912	XXX_unrecognized []byte `json:"-"`
913}
914
915func (m *MethodDescriptorProto) Reset()                    { *m = MethodDescriptorProto{} }
916func (m *MethodDescriptorProto) String() string            { return proto.CompactTextString(m) }
917func (*MethodDescriptorProto) ProtoMessage()               {}
918func (*MethodDescriptorProto) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{9} }
919
920const Default_MethodDescriptorProto_ClientStreaming bool = false
921const Default_MethodDescriptorProto_ServerStreaming bool = false
922
923func (m *MethodDescriptorProto) GetName() string {
924	if m != nil && m.Name != nil {
925		return *m.Name
926	}
927	return ""
928}
929
930func (m *MethodDescriptorProto) GetInputType() string {
931	if m != nil && m.InputType != nil {
932		return *m.InputType
933	}
934	return ""
935}
936
937func (m *MethodDescriptorProto) GetOutputType() string {
938	if m != nil && m.OutputType != nil {
939		return *m.OutputType
940	}
941	return ""
942}
943
944func (m *MethodDescriptorProto) GetOptions() *MethodOptions {
945	if m != nil {
946		return m.Options
947	}
948	return nil
949}
950
951func (m *MethodDescriptorProto) GetClientStreaming() bool {
952	if m != nil && m.ClientStreaming != nil {
953		return *m.ClientStreaming
954	}
955	return Default_MethodDescriptorProto_ClientStreaming
956}
957
958func (m *MethodDescriptorProto) GetServerStreaming() bool {
959	if m != nil && m.ServerStreaming != nil {
960		return *m.ServerStreaming
961	}
962	return Default_MethodDescriptorProto_ServerStreaming
963}
964
965type FileOptions struct {
966	// Sets the Java package where classes generated from this .proto will be
967	// placed.  By default, the proto package is used, but this is often
968	// inappropriate because proto packages do not normally start with backwards
969	// domain names.
970	JavaPackage *string `protobuf:"bytes,1,opt,name=java_package,json=javaPackage" json:"java_package,omitempty"`
971	// If set, all the classes from the .proto file are wrapped in a single
972	// outer class with the given name.  This applies to both Proto1
973	// (equivalent to the old "--one_java_file" option) and Proto2 (where
974	// a .proto always translates to a single class, but you may want to
975	// explicitly choose the class name).
976	JavaOuterClassname *string `protobuf:"bytes,8,opt,name=java_outer_classname,json=javaOuterClassname" json:"java_outer_classname,omitempty"`
977	// If set true, then the Java code generator will generate a separate .java
978	// file for each top-level message, enum, and service defined in the .proto
979	// file.  Thus, these types will *not* be nested inside the outer class
980	// named by java_outer_classname.  However, the outer class will still be
981	// generated to contain the file's getDescriptor() method as well as any
982	// top-level extensions defined in the file.
983	JavaMultipleFiles *bool `protobuf:"varint,10,opt,name=java_multiple_files,json=javaMultipleFiles,def=0" json:"java_multiple_files,omitempty"`
984	// This option does nothing.
985	JavaGenerateEqualsAndHash *bool `protobuf:"varint,20,opt,name=java_generate_equals_and_hash,json=javaGenerateEqualsAndHash" json:"java_generate_equals_and_hash,omitempty"`
986	// If set true, then the Java2 code generator will generate code that
987	// throws an exception whenever an attempt is made to assign a non-UTF-8
988	// byte sequence to a string field.
989	// Message reflection will do the same.
990	// However, an extension field still accepts non-UTF-8 byte sequences.
991	// This option has no effect on when used with the lite runtime.
992	JavaStringCheckUtf8 *bool                     `protobuf:"varint,27,opt,name=java_string_check_utf8,json=javaStringCheckUtf8,def=0" json:"java_string_check_utf8,omitempty"`
993	OptimizeFor         *FileOptions_OptimizeMode `protobuf:"varint,9,opt,name=optimize_for,json=optimizeFor,enum=google.protobuf.FileOptions_OptimizeMode,def=1" json:"optimize_for,omitempty"`
994	// Sets the Go package where structs generated from this .proto will be
995	// placed. If omitted, the Go package will be derived from the following:
996	//   - The basename of the package import path, if provided.
997	//   - Otherwise, the package statement in the .proto file, if present.
998	//   - Otherwise, the basename of the .proto file, without extension.
999	GoPackage *string `protobuf:"bytes,11,opt,name=go_package,json=goPackage" json:"go_package,omitempty"`
1000	// Should generic services be generated in each language?  "Generic" services
1001	// are not specific to any particular RPC system.  They are generated by the
1002	// main code generators in each language (without additional plugins).
1003	// Generic services were the only kind of service generation supported by
1004	// early versions of google.protobuf.
1005	//
1006	// Generic services are now considered deprecated in favor of using plugins
1007	// that generate code specific to your particular RPC system.  Therefore,
1008	// these default to false.  Old code which depends on generic services should
1009	// explicitly set them to true.
1010	CcGenericServices   *bool `protobuf:"varint,16,opt,name=cc_generic_services,json=ccGenericServices,def=0" json:"cc_generic_services,omitempty"`
1011	JavaGenericServices *bool `protobuf:"varint,17,opt,name=java_generic_services,json=javaGenericServices,def=0" json:"java_generic_services,omitempty"`
1012	PyGenericServices   *bool `protobuf:"varint,18,opt,name=py_generic_services,json=pyGenericServices,def=0" json:"py_generic_services,omitempty"`
1013	PhpGenericServices  *bool `protobuf:"varint,42,opt,name=php_generic_services,json=phpGenericServices,def=0" json:"php_generic_services,omitempty"`
1014	// Is this file deprecated?
1015	// Depending on the target platform, this can emit Deprecated annotations
1016	// for everything in the file, or it will be completely ignored; in the very
1017	// least, this is a formalization for deprecating files.
1018	Deprecated *bool `protobuf:"varint,23,opt,name=deprecated,def=0" json:"deprecated,omitempty"`
1019	// Enables the use of arenas for the proto messages in this file. This applies
1020	// only to generated classes for C++.
1021	CcEnableArenas *bool `protobuf:"varint,31,opt,name=cc_enable_arenas,json=ccEnableArenas,def=0" json:"cc_enable_arenas,omitempty"`
1022	// Sets the objective c class prefix which is prepended to all objective c
1023	// generated classes from this .proto. There is no default.
1024	ObjcClassPrefix *string `protobuf:"bytes,36,opt,name=objc_class_prefix,json=objcClassPrefix" json:"objc_class_prefix,omitempty"`
1025	// Namespace for generated classes; defaults to the package.
1026	CsharpNamespace *string `protobuf:"bytes,37,opt,name=csharp_namespace,json=csharpNamespace" json:"csharp_namespace,omitempty"`
1027	// By default Swift generators will take the proto package and CamelCase it
1028	// replacing '.' with underscore and use that to prefix the types/symbols
1029	// defined. When this options is provided, they will use this value instead
1030	// to prefix the types/symbols defined.
1031	SwiftPrefix *string `protobuf:"bytes,39,opt,name=swift_prefix,json=swiftPrefix" json:"swift_prefix,omitempty"`
1032	// Sets the php class prefix which is prepended to all php generated classes
1033	// from this .proto. Default is empty.
1034	PhpClassPrefix *string `protobuf:"bytes,40,opt,name=php_class_prefix,json=phpClassPrefix" json:"php_class_prefix,omitempty"`
1035	// Use this option to change the namespace of php generated classes. Default
1036	// is empty. When this option is empty, the package name will be used for
1037	// determining the namespace.
1038	PhpNamespace *string `protobuf:"bytes,41,opt,name=php_namespace,json=phpNamespace" json:"php_namespace,omitempty"`
1039	// The parser stores options it doesn't recognize here. See above.
1040	UninterpretedOption          []*UninterpretedOption `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"`
1041	proto.XXX_InternalExtensions `json:"-"`
1042	XXX_unrecognized             []byte `json:"-"`
1043}
1044
1045func (m *FileOptions) Reset()                    { *m = FileOptions{} }
1046func (m *FileOptions) String() string            { return proto.CompactTextString(m) }
1047func (*FileOptions) ProtoMessage()               {}
1048func (*FileOptions) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{10} }
1049
1050var extRange_FileOptions = []proto.ExtensionRange{
1051	{1000, 536870911},
1052}
1053
1054func (*FileOptions) ExtensionRangeArray() []proto.ExtensionRange {
1055	return extRange_FileOptions
1056}
1057
1058const Default_FileOptions_JavaMultipleFiles bool = false
1059const Default_FileOptions_JavaStringCheckUtf8 bool = false
1060const Default_FileOptions_OptimizeFor FileOptions_OptimizeMode = FileOptions_SPEED
1061const Default_FileOptions_CcGenericServices bool = false
1062const Default_FileOptions_JavaGenericServices bool = false
1063const Default_FileOptions_PyGenericServices bool = false
1064const Default_FileOptions_PhpGenericServices bool = false
1065const Default_FileOptions_Deprecated bool = false
1066const Default_FileOptions_CcEnableArenas bool = false
1067
1068func (m *FileOptions) GetJavaPackage() string {
1069	if m != nil && m.JavaPackage != nil {
1070		return *m.JavaPackage
1071	}
1072	return ""
1073}
1074
1075func (m *FileOptions) GetJavaOuterClassname() string {
1076	if m != nil && m.JavaOuterClassname != nil {
1077		return *m.JavaOuterClassname
1078	}
1079	return ""
1080}
1081
1082func (m *FileOptions) GetJavaMultipleFiles() bool {
1083	if m != nil && m.JavaMultipleFiles != nil {
1084		return *m.JavaMultipleFiles
1085	}
1086	return Default_FileOptions_JavaMultipleFiles
1087}
1088
1089func (m *FileOptions) GetJavaGenerateEqualsAndHash() bool {
1090	if m != nil && m.JavaGenerateEqualsAndHash != nil {
1091		return *m.JavaGenerateEqualsAndHash
1092	}
1093	return false
1094}
1095
1096func (m *FileOptions) GetJavaStringCheckUtf8() bool {
1097	if m != nil && m.JavaStringCheckUtf8 != nil {
1098		return *m.JavaStringCheckUtf8
1099	}
1100	return Default_FileOptions_JavaStringCheckUtf8
1101}
1102
1103func (m *FileOptions) GetOptimizeFor() FileOptions_OptimizeMode {
1104	if m != nil && m.OptimizeFor != nil {
1105		return *m.OptimizeFor
1106	}
1107	return Default_FileOptions_OptimizeFor
1108}
1109
1110func (m *FileOptions) GetGoPackage() string {
1111	if m != nil && m.GoPackage != nil {
1112		return *m.GoPackage
1113	}
1114	return ""
1115}
1116
1117func (m *FileOptions) GetCcGenericServices() bool {
1118	if m != nil && m.CcGenericServices != nil {
1119		return *m.CcGenericServices
1120	}
1121	return Default_FileOptions_CcGenericServices
1122}
1123
1124func (m *FileOptions) GetJavaGenericServices() bool {
1125	if m != nil && m.JavaGenericServices != nil {
1126		return *m.JavaGenericServices
1127	}
1128	return Default_FileOptions_JavaGenericServices
1129}
1130
1131func (m *FileOptions) GetPyGenericServices() bool {
1132	if m != nil && m.PyGenericServices != nil {
1133		return *m.PyGenericServices
1134	}
1135	return Default_FileOptions_PyGenericServices
1136}
1137
1138func (m *FileOptions) GetPhpGenericServices() bool {
1139	if m != nil && m.PhpGenericServices != nil {
1140		return *m.PhpGenericServices
1141	}
1142	return Default_FileOptions_PhpGenericServices
1143}
1144
1145func (m *FileOptions) GetDeprecated() bool {
1146	if m != nil && m.Deprecated != nil {
1147		return *m.Deprecated
1148	}
1149	return Default_FileOptions_Deprecated
1150}
1151
1152func (m *FileOptions) GetCcEnableArenas() bool {
1153	if m != nil && m.CcEnableArenas != nil {
1154		return *m.CcEnableArenas
1155	}
1156	return Default_FileOptions_CcEnableArenas
1157}
1158
1159func (m *FileOptions) GetObjcClassPrefix() string {
1160	if m != nil && m.ObjcClassPrefix != nil {
1161		return *m.ObjcClassPrefix
1162	}
1163	return ""
1164}
1165
1166func (m *FileOptions) GetCsharpNamespace() string {
1167	if m != nil && m.CsharpNamespace != nil {
1168		return *m.CsharpNamespace
1169	}
1170	return ""
1171}
1172
1173func (m *FileOptions) GetSwiftPrefix() string {
1174	if m != nil && m.SwiftPrefix != nil {
1175		return *m.SwiftPrefix
1176	}
1177	return ""
1178}
1179
1180func (m *FileOptions) GetPhpClassPrefix() string {
1181	if m != nil && m.PhpClassPrefix != nil {
1182		return *m.PhpClassPrefix
1183	}
1184	return ""
1185}
1186
1187func (m *FileOptions) GetPhpNamespace() string {
1188	if m != nil && m.PhpNamespace != nil {
1189		return *m.PhpNamespace
1190	}
1191	return ""
1192}
1193
1194func (m *FileOptions) GetUninterpretedOption() []*UninterpretedOption {
1195	if m != nil {
1196		return m.UninterpretedOption
1197	}
1198	return nil
1199}
1200
1201type MessageOptions struct {
1202	// Set true to use the old proto1 MessageSet wire format for extensions.
1203	// This is provided for backwards-compatibility with the MessageSet wire
1204	// format.  You should not use this for any other reason:  It's less
1205	// efficient, has fewer features, and is more complicated.
1206	//
1207	// The message must be defined exactly as follows:
1208	//   message Foo {
1209	//     option message_set_wire_format = true;
1210	//     extensions 4 to max;
1211	//   }
1212	// Note that the message cannot have any defined fields; MessageSets only
1213	// have extensions.
1214	//
1215	// All extensions of your type must be singular messages; e.g. they cannot
1216	// be int32s, enums, or repeated messages.
1217	//
1218	// Because this is an option, the above two restrictions are not enforced by
1219	// the protocol compiler.
1220	MessageSetWireFormat *bool `protobuf:"varint,1,opt,name=message_set_wire_format,json=messageSetWireFormat,def=0" json:"message_set_wire_format,omitempty"`
1221	// Disables the generation of the standard "descriptor()" accessor, which can
1222	// conflict with a field of the same name.  This is meant to make migration
1223	// from proto1 easier; new code should avoid fields named "descriptor".
1224	NoStandardDescriptorAccessor *bool `protobuf:"varint,2,opt,name=no_standard_descriptor_accessor,json=noStandardDescriptorAccessor,def=0" json:"no_standard_descriptor_accessor,omitempty"`
1225	// Is this message deprecated?
1226	// Depending on the target platform, this can emit Deprecated annotations
1227	// for the message, or it will be completely ignored; in the very least,
1228	// this is a formalization for deprecating messages.
1229	Deprecated *bool `protobuf:"varint,3,opt,name=deprecated,def=0" json:"deprecated,omitempty"`
1230	// Whether the message is an automatically generated map entry type for the
1231	// maps field.
1232	//
1233	// For maps fields:
1234	//     map<KeyType, ValueType> map_field = 1;
1235	// The parsed descriptor looks like:
1236	//     message MapFieldEntry {
1237	//         option map_entry = true;
1238	//         optional KeyType key = 1;
1239	//         optional ValueType value = 2;
1240	//     }
1241	//     repeated MapFieldEntry map_field = 1;
1242	//
1243	// Implementations may choose not to generate the map_entry=true message, but
1244	// use a native map in the target language to hold the keys and values.
1245	// The reflection APIs in such implementions still need to work as
1246	// if the field is a repeated message field.
1247	//
1248	// NOTE: Do not set the option in .proto files. Always use the maps syntax
1249	// instead. The option should only be implicitly set by the proto compiler
1250	// parser.
1251	MapEntry *bool `protobuf:"varint,7,opt,name=map_entry,json=mapEntry" json:"map_entry,omitempty"`
1252	// The parser stores options it doesn't recognize here. See above.
1253	UninterpretedOption          []*UninterpretedOption `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"`
1254	proto.XXX_InternalExtensions `json:"-"`
1255	XXX_unrecognized             []byte `json:"-"`
1256}
1257
1258func (m *MessageOptions) Reset()                    { *m = MessageOptions{} }
1259func (m *MessageOptions) String() string            { return proto.CompactTextString(m) }
1260func (*MessageOptions) ProtoMessage()               {}
1261func (*MessageOptions) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{11} }
1262
1263var extRange_MessageOptions = []proto.ExtensionRange{
1264	{1000, 536870911},
1265}
1266
1267func (*MessageOptions) ExtensionRangeArray() []proto.ExtensionRange {
1268	return extRange_MessageOptions
1269}
1270
1271const Default_MessageOptions_MessageSetWireFormat bool = false
1272const Default_MessageOptions_NoStandardDescriptorAccessor bool = false
1273const Default_MessageOptions_Deprecated bool = false
1274
1275func (m *MessageOptions) GetMessageSetWireFormat() bool {
1276	if m != nil && m.MessageSetWireFormat != nil {
1277		return *m.MessageSetWireFormat
1278	}
1279	return Default_MessageOptions_MessageSetWireFormat
1280}
1281
1282func (m *MessageOptions) GetNoStandardDescriptorAccessor() bool {
1283	if m != nil && m.NoStandardDescriptorAccessor != nil {
1284		return *m.NoStandardDescriptorAccessor
1285	}
1286	return Default_MessageOptions_NoStandardDescriptorAccessor
1287}
1288
1289func (m *MessageOptions) GetDeprecated() bool {
1290	if m != nil && m.Deprecated != nil {
1291		return *m.Deprecated
1292	}
1293	return Default_MessageOptions_Deprecated
1294}
1295
1296func (m *MessageOptions) GetMapEntry() bool {
1297	if m != nil && m.MapEntry != nil {
1298		return *m.MapEntry
1299	}
1300	return false
1301}
1302
1303func (m *MessageOptions) GetUninterpretedOption() []*UninterpretedOption {
1304	if m != nil {
1305		return m.UninterpretedOption
1306	}
1307	return nil
1308}
1309
1310type FieldOptions struct {
1311	// The ctype option instructs the C++ code generator to use a different
1312	// representation of the field than it normally would.  See the specific
1313	// options below.  This option is not yet implemented in the open source
1314	// release -- sorry, we'll try to include it in a future version!
1315	Ctype *FieldOptions_CType `protobuf:"varint,1,opt,name=ctype,enum=google.protobuf.FieldOptions_CType,def=0" json:"ctype,omitempty"`
1316	// The packed option can be enabled for repeated primitive fields to enable
1317	// a more efficient representation on the wire. Rather than repeatedly
1318	// writing the tag and type for each element, the entire array is encoded as
1319	// a single length-delimited blob. In proto3, only explicit setting it to
1320	// false will avoid using packed encoding.
1321	Packed *bool `protobuf:"varint,2,opt,name=packed" json:"packed,omitempty"`
1322	// The jstype option determines the JavaScript type used for values of the
1323	// field.  The option is permitted only for 64 bit integral and fixed types
1324	// (int64, uint64, sint64, fixed64, sfixed64).  A field with jstype JS_STRING
1325	// is represented as JavaScript string, which avoids loss of precision that
1326	// can happen when a large value is converted to a floating point JavaScript.
1327	// Specifying JS_NUMBER for the jstype causes the generated JavaScript code to
1328	// use the JavaScript "number" type.  The behavior of the default option
1329	// JS_NORMAL is implementation dependent.
1330	//
1331	// This option is an enum to permit additional types to be added, e.g.
1332	// goog.math.Integer.
1333	Jstype *FieldOptions_JSType `protobuf:"varint,6,opt,name=jstype,enum=google.protobuf.FieldOptions_JSType,def=0" json:"jstype,omitempty"`
1334	// Should this field be parsed lazily?  Lazy applies only to message-type
1335	// fields.  It means that when the outer message is initially parsed, the
1336	// inner message's contents will not be parsed but instead stored in encoded
1337	// form.  The inner message will actually be parsed when it is first accessed.
1338	//
1339	// This is only a hint.  Implementations are free to choose whether to use
1340	// eager or lazy parsing regardless of the value of this option.  However,
1341	// setting this option true suggests that the protocol author believes that
1342	// using lazy parsing on this field is worth the additional bookkeeping
1343	// overhead typically needed to implement it.
1344	//
1345	// This option does not affect the public interface of any generated code;
1346	// all method signatures remain the same.  Furthermore, thread-safety of the
1347	// interface is not affected by this option; const methods remain safe to
1348	// call from multiple threads concurrently, while non-const methods continue
1349	// to require exclusive access.
1350	//
1351	//
1352	// Note that implementations may choose not to check required fields within
1353	// a lazy sub-message.  That is, calling IsInitialized() on the outer message
1354	// may return true even if the inner message has missing required fields.
1355	// This is necessary because otherwise the inner message would have to be
1356	// parsed in order to perform the check, defeating the purpose of lazy
1357	// parsing.  An implementation which chooses not to check required fields
1358	// must be consistent about it.  That is, for any particular sub-message, the
1359	// implementation must either *always* check its required fields, or *never*
1360	// check its required fields, regardless of whether or not the message has
1361	// been parsed.
1362	Lazy *bool `protobuf:"varint,5,opt,name=lazy,def=0" json:"lazy,omitempty"`
1363	// Is this field deprecated?
1364	// Depending on the target platform, this can emit Deprecated annotations
1365	// for accessors, or it will be completely ignored; in the very least, this
1366	// is a formalization for deprecating fields.
1367	Deprecated *bool `protobuf:"varint,3,opt,name=deprecated,def=0" json:"deprecated,omitempty"`
1368	// For Google-internal migration only. Do not use.
1369	Weak *bool `protobuf:"varint,10,opt,name=weak,def=0" json:"weak,omitempty"`
1370	// The parser stores options it doesn't recognize here. See above.
1371	UninterpretedOption          []*UninterpretedOption `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"`
1372	proto.XXX_InternalExtensions `json:"-"`
1373	XXX_unrecognized             []byte `json:"-"`
1374}
1375
1376func (m *FieldOptions) Reset()                    { *m = FieldOptions{} }
1377func (m *FieldOptions) String() string            { return proto.CompactTextString(m) }
1378func (*FieldOptions) ProtoMessage()               {}
1379func (*FieldOptions) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{12} }
1380
1381var extRange_FieldOptions = []proto.ExtensionRange{
1382	{1000, 536870911},
1383}
1384
1385func (*FieldOptions) ExtensionRangeArray() []proto.ExtensionRange {
1386	return extRange_FieldOptions
1387}
1388
1389const Default_FieldOptions_Ctype FieldOptions_CType = FieldOptions_STRING
1390const Default_FieldOptions_Jstype FieldOptions_JSType = FieldOptions_JS_NORMAL
1391const Default_FieldOptions_Lazy bool = false
1392const Default_FieldOptions_Deprecated bool = false
1393const Default_FieldOptions_Weak bool = false
1394
1395func (m *FieldOptions) GetCtype() FieldOptions_CType {
1396	if m != nil && m.Ctype != nil {
1397		return *m.Ctype
1398	}
1399	return Default_FieldOptions_Ctype
1400}
1401
1402func (m *FieldOptions) GetPacked() bool {
1403	if m != nil && m.Packed != nil {
1404		return *m.Packed
1405	}
1406	return false
1407}
1408
1409func (m *FieldOptions) GetJstype() FieldOptions_JSType {
1410	if m != nil && m.Jstype != nil {
1411		return *m.Jstype
1412	}
1413	return Default_FieldOptions_Jstype
1414}
1415
1416func (m *FieldOptions) GetLazy() bool {
1417	if m != nil && m.Lazy != nil {
1418		return *m.Lazy
1419	}
1420	return Default_FieldOptions_Lazy
1421}
1422
1423func (m *FieldOptions) GetDeprecated() bool {
1424	if m != nil && m.Deprecated != nil {
1425		return *m.Deprecated
1426	}
1427	return Default_FieldOptions_Deprecated
1428}
1429
1430func (m *FieldOptions) GetWeak() bool {
1431	if m != nil && m.Weak != nil {
1432		return *m.Weak
1433	}
1434	return Default_FieldOptions_Weak
1435}
1436
1437func (m *FieldOptions) GetUninterpretedOption() []*UninterpretedOption {
1438	if m != nil {
1439		return m.UninterpretedOption
1440	}
1441	return nil
1442}
1443
1444type OneofOptions struct {
1445	// The parser stores options it doesn't recognize here. See above.
1446	UninterpretedOption          []*UninterpretedOption `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"`
1447	proto.XXX_InternalExtensions `json:"-"`
1448	XXX_unrecognized             []byte `json:"-"`
1449}
1450
1451func (m *OneofOptions) Reset()                    { *m = OneofOptions{} }
1452func (m *OneofOptions) String() string            { return proto.CompactTextString(m) }
1453func (*OneofOptions) ProtoMessage()               {}
1454func (*OneofOptions) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{13} }
1455
1456var extRange_OneofOptions = []proto.ExtensionRange{
1457	{1000, 536870911},
1458}
1459
1460func (*OneofOptions) ExtensionRangeArray() []proto.ExtensionRange {
1461	return extRange_OneofOptions
1462}
1463
1464func (m *OneofOptions) GetUninterpretedOption() []*UninterpretedOption {
1465	if m != nil {
1466		return m.UninterpretedOption
1467	}
1468	return nil
1469}
1470
1471type EnumOptions struct {
1472	// Set this option to true to allow mapping different tag names to the same
1473	// value.
1474	AllowAlias *bool `protobuf:"varint,2,opt,name=allow_alias,json=allowAlias" json:"allow_alias,omitempty"`
1475	// Is this enum deprecated?
1476	// Depending on the target platform, this can emit Deprecated annotations
1477	// for the enum, or it will be completely ignored; in the very least, this
1478	// is a formalization for deprecating enums.
1479	Deprecated *bool `protobuf:"varint,3,opt,name=deprecated,def=0" json:"deprecated,omitempty"`
1480	// The parser stores options it doesn't recognize here. See above.
1481	UninterpretedOption          []*UninterpretedOption `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"`
1482	proto.XXX_InternalExtensions `json:"-"`
1483	XXX_unrecognized             []byte `json:"-"`
1484}
1485
1486func (m *EnumOptions) Reset()                    { *m = EnumOptions{} }
1487func (m *EnumOptions) String() string            { return proto.CompactTextString(m) }
1488func (*EnumOptions) ProtoMessage()               {}
1489func (*EnumOptions) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{14} }
1490
1491var extRange_EnumOptions = []proto.ExtensionRange{
1492	{1000, 536870911},
1493}
1494
1495func (*EnumOptions) ExtensionRangeArray() []proto.ExtensionRange {
1496	return extRange_EnumOptions
1497}
1498
1499const Default_EnumOptions_Deprecated bool = false
1500
1501func (m *EnumOptions) GetAllowAlias() bool {
1502	if m != nil && m.AllowAlias != nil {
1503		return *m.AllowAlias
1504	}
1505	return false
1506}
1507
1508func (m *EnumOptions) GetDeprecated() bool {
1509	if m != nil && m.Deprecated != nil {
1510		return *m.Deprecated
1511	}
1512	return Default_EnumOptions_Deprecated
1513}
1514
1515func (m *EnumOptions) GetUninterpretedOption() []*UninterpretedOption {
1516	if m != nil {
1517		return m.UninterpretedOption
1518	}
1519	return nil
1520}
1521
1522type EnumValueOptions struct {
1523	// Is this enum value deprecated?
1524	// Depending on the target platform, this can emit Deprecated annotations
1525	// for the enum value, or it will be completely ignored; in the very least,
1526	// this is a formalization for deprecating enum values.
1527	Deprecated *bool `protobuf:"varint,1,opt,name=deprecated,def=0" json:"deprecated,omitempty"`
1528	// The parser stores options it doesn't recognize here. See above.
1529	UninterpretedOption          []*UninterpretedOption `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"`
1530	proto.XXX_InternalExtensions `json:"-"`
1531	XXX_unrecognized             []byte `json:"-"`
1532}
1533
1534func (m *EnumValueOptions) Reset()                    { *m = EnumValueOptions{} }
1535func (m *EnumValueOptions) String() string            { return proto.CompactTextString(m) }
1536func (*EnumValueOptions) ProtoMessage()               {}
1537func (*EnumValueOptions) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{15} }
1538
1539var extRange_EnumValueOptions = []proto.ExtensionRange{
1540	{1000, 536870911},
1541}
1542
1543func (*EnumValueOptions) ExtensionRangeArray() []proto.ExtensionRange {
1544	return extRange_EnumValueOptions
1545}
1546
1547const Default_EnumValueOptions_Deprecated bool = false
1548
1549func (m *EnumValueOptions) GetDeprecated() bool {
1550	if m != nil && m.Deprecated != nil {
1551		return *m.Deprecated
1552	}
1553	return Default_EnumValueOptions_Deprecated
1554}
1555
1556func (m *EnumValueOptions) GetUninterpretedOption() []*UninterpretedOption {
1557	if m != nil {
1558		return m.UninterpretedOption
1559	}
1560	return nil
1561}
1562
1563type ServiceOptions struct {
1564	// Is this service deprecated?
1565	// Depending on the target platform, this can emit Deprecated annotations
1566	// for the service, or it will be completely ignored; in the very least,
1567	// this is a formalization for deprecating services.
1568	Deprecated *bool `protobuf:"varint,33,opt,name=deprecated,def=0" json:"deprecated,omitempty"`
1569	// The parser stores options it doesn't recognize here. See above.
1570	UninterpretedOption          []*UninterpretedOption `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"`
1571	proto.XXX_InternalExtensions `json:"-"`
1572	XXX_unrecognized             []byte `json:"-"`
1573}
1574
1575func (m *ServiceOptions) Reset()                    { *m = ServiceOptions{} }
1576func (m *ServiceOptions) String() string            { return proto.CompactTextString(m) }
1577func (*ServiceOptions) ProtoMessage()               {}
1578func (*ServiceOptions) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{16} }
1579
1580var extRange_ServiceOptions = []proto.ExtensionRange{
1581	{1000, 536870911},
1582}
1583
1584func (*ServiceOptions) ExtensionRangeArray() []proto.ExtensionRange {
1585	return extRange_ServiceOptions
1586}
1587
1588const Default_ServiceOptions_Deprecated bool = false
1589
1590func (m *ServiceOptions) GetDeprecated() bool {
1591	if m != nil && m.Deprecated != nil {
1592		return *m.Deprecated
1593	}
1594	return Default_ServiceOptions_Deprecated
1595}
1596
1597func (m *ServiceOptions) GetUninterpretedOption() []*UninterpretedOption {
1598	if m != nil {
1599		return m.UninterpretedOption
1600	}
1601	return nil
1602}
1603
1604type MethodOptions struct {
1605	// Is this method deprecated?
1606	// Depending on the target platform, this can emit Deprecated annotations
1607	// for the method, or it will be completely ignored; in the very least,
1608	// this is a formalization for deprecating methods.
1609	Deprecated       *bool                           `protobuf:"varint,33,opt,name=deprecated,def=0" json:"deprecated,omitempty"`
1610	IdempotencyLevel *MethodOptions_IdempotencyLevel `protobuf:"varint,34,opt,name=idempotency_level,json=idempotencyLevel,enum=google.protobuf.MethodOptions_IdempotencyLevel,def=0" json:"idempotency_level,omitempty"`
1611	// The parser stores options it doesn't recognize here. See above.
1612	UninterpretedOption          []*UninterpretedOption `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"`
1613	proto.XXX_InternalExtensions `json:"-"`
1614	XXX_unrecognized             []byte `json:"-"`
1615}
1616
1617func (m *MethodOptions) Reset()                    { *m = MethodOptions{} }
1618func (m *MethodOptions) String() string            { return proto.CompactTextString(m) }
1619func (*MethodOptions) ProtoMessage()               {}
1620func (*MethodOptions) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{17} }
1621
1622var extRange_MethodOptions = []proto.ExtensionRange{
1623	{1000, 536870911},
1624}
1625
1626func (*MethodOptions) ExtensionRangeArray() []proto.ExtensionRange {
1627	return extRange_MethodOptions
1628}
1629
1630const Default_MethodOptions_Deprecated bool = false
1631const Default_MethodOptions_IdempotencyLevel MethodOptions_IdempotencyLevel = MethodOptions_IDEMPOTENCY_UNKNOWN
1632
1633func (m *MethodOptions) GetDeprecated() bool {
1634	if m != nil && m.Deprecated != nil {
1635		return *m.Deprecated
1636	}
1637	return Default_MethodOptions_Deprecated
1638}
1639
1640func (m *MethodOptions) GetIdempotencyLevel() MethodOptions_IdempotencyLevel {
1641	if m != nil && m.IdempotencyLevel != nil {
1642		return *m.IdempotencyLevel
1643	}
1644	return Default_MethodOptions_IdempotencyLevel
1645}
1646
1647func (m *MethodOptions) GetUninterpretedOption() []*UninterpretedOption {
1648	if m != nil {
1649		return m.UninterpretedOption
1650	}
1651	return nil
1652}
1653
1654// A message representing a option the parser does not recognize. This only
1655// appears in options protos created by the compiler::Parser class.
1656// DescriptorPool resolves these when building Descriptor objects. Therefore,
1657// options protos in descriptor objects (e.g. returned by Descriptor::options(),
1658// or produced by Descriptor::CopyTo()) will never have UninterpretedOptions
1659// in them.
1660type UninterpretedOption struct {
1661	Name []*UninterpretedOption_NamePart `protobuf:"bytes,2,rep,name=name" json:"name,omitempty"`
1662	// The value of the uninterpreted option, in whatever type the tokenizer
1663	// identified it as during parsing. Exactly one of these should be set.
1664	IdentifierValue  *string  `protobuf:"bytes,3,opt,name=identifier_value,json=identifierValue" json:"identifier_value,omitempty"`
1665	PositiveIntValue *uint64  `protobuf:"varint,4,opt,name=positive_int_value,json=positiveIntValue" json:"positive_int_value,omitempty"`
1666	NegativeIntValue *int64   `protobuf:"varint,5,opt,name=negative_int_value,json=negativeIntValue" json:"negative_int_value,omitempty"`
1667	DoubleValue      *float64 `protobuf:"fixed64,6,opt,name=double_value,json=doubleValue" json:"double_value,omitempty"`
1668	StringValue      []byte   `protobuf:"bytes,7,opt,name=string_value,json=stringValue" json:"string_value,omitempty"`
1669	AggregateValue   *string  `protobuf:"bytes,8,opt,name=aggregate_value,json=aggregateValue" json:"aggregate_value,omitempty"`
1670	XXX_unrecognized []byte   `json:"-"`
1671}
1672
1673func (m *UninterpretedOption) Reset()                    { *m = UninterpretedOption{} }
1674func (m *UninterpretedOption) String() string            { return proto.CompactTextString(m) }
1675func (*UninterpretedOption) ProtoMessage()               {}
1676func (*UninterpretedOption) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{18} }
1677
1678func (m *UninterpretedOption) GetName() []*UninterpretedOption_NamePart {
1679	if m != nil {
1680		return m.Name
1681	}
1682	return nil
1683}
1684
1685func (m *UninterpretedOption) GetIdentifierValue() string {
1686	if m != nil && m.IdentifierValue != nil {
1687		return *m.IdentifierValue
1688	}
1689	return ""
1690}
1691
1692func (m *UninterpretedOption) GetPositiveIntValue() uint64 {
1693	if m != nil && m.PositiveIntValue != nil {
1694		return *m.PositiveIntValue
1695	}
1696	return 0
1697}
1698
1699func (m *UninterpretedOption) GetNegativeIntValue() int64 {
1700	if m != nil && m.NegativeIntValue != nil {
1701		return *m.NegativeIntValue
1702	}
1703	return 0
1704}
1705
1706func (m *UninterpretedOption) GetDoubleValue() float64 {
1707	if m != nil && m.DoubleValue != nil {
1708		return *m.DoubleValue
1709	}
1710	return 0
1711}
1712
1713func (m *UninterpretedOption) GetStringValue() []byte {
1714	if m != nil {
1715		return m.StringValue
1716	}
1717	return nil
1718}
1719
1720func (m *UninterpretedOption) GetAggregateValue() string {
1721	if m != nil && m.AggregateValue != nil {
1722		return *m.AggregateValue
1723	}
1724	return ""
1725}
1726
1727// The name of the uninterpreted option.  Each string represents a segment in
1728// a dot-separated name.  is_extension is true iff a segment represents an
1729// extension (denoted with parentheses in options specs in .proto files).
1730// E.g.,{ ["foo", false], ["bar.baz", true], ["qux", false] } represents
1731// "foo.(bar.baz).qux".
1732type UninterpretedOption_NamePart struct {
1733	NamePart         *string `protobuf:"bytes,1,req,name=name_part,json=namePart" json:"name_part,omitempty"`
1734	IsExtension      *bool   `protobuf:"varint,2,req,name=is_extension,json=isExtension" json:"is_extension,omitempty"`
1735	XXX_unrecognized []byte  `json:"-"`
1736}
1737
1738func (m *UninterpretedOption_NamePart) Reset()         { *m = UninterpretedOption_NamePart{} }
1739func (m *UninterpretedOption_NamePart) String() string { return proto.CompactTextString(m) }
1740func (*UninterpretedOption_NamePart) ProtoMessage()    {}
1741func (*UninterpretedOption_NamePart) Descriptor() ([]byte, []int) {
1742	return fileDescriptor0, []int{18, 0}
1743}
1744
1745func (m *UninterpretedOption_NamePart) GetNamePart() string {
1746	if m != nil && m.NamePart != nil {
1747		return *m.NamePart
1748	}
1749	return ""
1750}
1751
1752func (m *UninterpretedOption_NamePart) GetIsExtension() bool {
1753	if m != nil && m.IsExtension != nil {
1754		return *m.IsExtension
1755	}
1756	return false
1757}
1758
1759// Encapsulates information about the original source file from which a
1760// FileDescriptorProto was generated.
1761type SourceCodeInfo struct {
1762	// A Location identifies a piece of source code in a .proto file which
1763	// corresponds to a particular definition.  This information is intended
1764	// to be useful to IDEs, code indexers, documentation generators, and similar
1765	// tools.
1766	//
1767	// For example, say we have a file like:
1768	//   message Foo {
1769	//     optional string foo = 1;
1770	//   }
1771	// Let's look at just the field definition:
1772	//   optional string foo = 1;
1773	//   ^       ^^     ^^  ^  ^^^
1774	//   a       bc     de  f  ghi
1775	// We have the following locations:
1776	//   span   path               represents
1777	//   [a,i)  [ 4, 0, 2, 0 ]     The whole field definition.
1778	//   [a,b)  [ 4, 0, 2, 0, 4 ]  The label (optional).
1779	//   [c,d)  [ 4, 0, 2, 0, 5 ]  The type (string).
1780	//   [e,f)  [ 4, 0, 2, 0, 1 ]  The name (foo).
1781	//   [g,h)  [ 4, 0, 2, 0, 3 ]  The number (1).
1782	//
1783	// Notes:
1784	// - A location may refer to a repeated field itself (i.e. not to any
1785	//   particular index within it).  This is used whenever a set of elements are
1786	//   logically enclosed in a single code segment.  For example, an entire
1787	//   extend block (possibly containing multiple extension definitions) will
1788	//   have an outer location whose path refers to the "extensions" repeated
1789	//   field without an index.
1790	// - Multiple locations may have the same path.  This happens when a single
1791	//   logical declaration is spread out across multiple places.  The most
1792	//   obvious example is the "extend" block again -- there may be multiple
1793	//   extend blocks in the same scope, each of which will have the same path.
1794	// - A location's span is not always a subset of its parent's span.  For
1795	//   example, the "extendee" of an extension declaration appears at the
1796	//   beginning of the "extend" block and is shared by all extensions within
1797	//   the block.
1798	// - Just because a location's span is a subset of some other location's span
1799	//   does not mean that it is a descendent.  For example, a "group" defines
1800	//   both a type and a field in a single declaration.  Thus, the locations
1801	//   corresponding to the type and field and their components will overlap.
1802	// - Code which tries to interpret locations should probably be designed to
1803	//   ignore those that it doesn't understand, as more types of locations could
1804	//   be recorded in the future.
1805	Location         []*SourceCodeInfo_Location `protobuf:"bytes,1,rep,name=location" json:"location,omitempty"`
1806	XXX_unrecognized []byte                     `json:"-"`
1807}
1808
1809func (m *SourceCodeInfo) Reset()                    { *m = SourceCodeInfo{} }
1810func (m *SourceCodeInfo) String() string            { return proto.CompactTextString(m) }
1811func (*SourceCodeInfo) ProtoMessage()               {}
1812func (*SourceCodeInfo) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{19} }
1813
1814func (m *SourceCodeInfo) GetLocation() []*SourceCodeInfo_Location {
1815	if m != nil {
1816		return m.Location
1817	}
1818	return nil
1819}
1820
1821type SourceCodeInfo_Location struct {
1822	// Identifies which part of the FileDescriptorProto was defined at this
1823	// location.
1824	//
1825	// Each element is a field number or an index.  They form a path from
1826	// the root FileDescriptorProto to the place where the definition.  For
1827	// example, this path:
1828	//   [ 4, 3, 2, 7, 1 ]
1829	// refers to:
1830	//   file.message_type(3)  // 4, 3
1831	//       .field(7)         // 2, 7
1832	//       .name()           // 1
1833	// This is because FileDescriptorProto.message_type has field number 4:
1834	//   repeated DescriptorProto message_type = 4;
1835	// and DescriptorProto.field has field number 2:
1836	//   repeated FieldDescriptorProto field = 2;
1837	// and FieldDescriptorProto.name has field number 1:
1838	//   optional string name = 1;
1839	//
1840	// Thus, the above path gives the location of a field name.  If we removed
1841	// the last element:
1842	//   [ 4, 3, 2, 7 ]
1843	// this path refers to the whole field declaration (from the beginning
1844	// of the label to the terminating semicolon).
1845	Path []int32 `protobuf:"varint,1,rep,packed,name=path" json:"path,omitempty"`
1846	// Always has exactly three or four elements: start line, start column,
1847	// end line (optional, otherwise assumed same as start line), end column.
1848	// These are packed into a single field for efficiency.  Note that line
1849	// and column numbers are zero-based -- typically you will want to add
1850	// 1 to each before displaying to a user.
1851	Span []int32 `protobuf:"varint,2,rep,packed,name=span" json:"span,omitempty"`
1852	// If this SourceCodeInfo represents a complete declaration, these are any
1853	// comments appearing before and after the declaration which appear to be
1854	// attached to the declaration.
1855	//
1856	// A series of line comments appearing on consecutive lines, with no other
1857	// tokens appearing on those lines, will be treated as a single comment.
1858	//
1859	// leading_detached_comments will keep paragraphs of comments that appear
1860	// before (but not connected to) the current element. Each paragraph,
1861	// separated by empty lines, will be one comment element in the repeated
1862	// field.
1863	//
1864	// Only the comment content is provided; comment markers (e.g. //) are
1865	// stripped out.  For block comments, leading whitespace and an asterisk
1866	// will be stripped from the beginning of each line other than the first.
1867	// Newlines are included in the output.
1868	//
1869	// Examples:
1870	//
1871	//   optional int32 foo = 1;  // Comment attached to foo.
1872	//   // Comment attached to bar.
1873	//   optional int32 bar = 2;
1874	//
1875	//   optional string baz = 3;
1876	//   // Comment attached to baz.
1877	//   // Another line attached to baz.
1878	//
1879	//   // Comment attached to qux.
1880	//   //
1881	//   // Another line attached to qux.
1882	//   optional double qux = 4;
1883	//
1884	//   // Detached comment for corge. This is not leading or trailing comments
1885	//   // to qux or corge because there are blank lines separating it from
1886	//   // both.
1887	//
1888	//   // Detached comment for corge paragraph 2.
1889	//
1890	//   optional string corge = 5;
1891	//   /* Block comment attached
1892	//    * to corge.  Leading asterisks
1893	//    * will be removed. */
1894	//   /* Block comment attached to
1895	//    * grault. */
1896	//   optional int32 grault = 6;
1897	//
1898	//   // ignored detached comments.
1899	LeadingComments         *string  `protobuf:"bytes,3,opt,name=leading_comments,json=leadingComments" json:"leading_comments,omitempty"`
1900	TrailingComments        *string  `protobuf:"bytes,4,opt,name=trailing_comments,json=trailingComments" json:"trailing_comments,omitempty"`
1901	LeadingDetachedComments []string `protobuf:"bytes,6,rep,name=leading_detached_comments,json=leadingDetachedComments" json:"leading_detached_comments,omitempty"`
1902	XXX_unrecognized        []byte   `json:"-"`
1903}
1904
1905func (m *SourceCodeInfo_Location) Reset()                    { *m = SourceCodeInfo_Location{} }
1906func (m *SourceCodeInfo_Location) String() string            { return proto.CompactTextString(m) }
1907func (*SourceCodeInfo_Location) ProtoMessage()               {}
1908func (*SourceCodeInfo_Location) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{19, 0} }
1909
1910func (m *SourceCodeInfo_Location) GetPath() []int32 {
1911	if m != nil {
1912		return m.Path
1913	}
1914	return nil
1915}
1916
1917func (m *SourceCodeInfo_Location) GetSpan() []int32 {
1918	if m != nil {
1919		return m.Span
1920	}
1921	return nil
1922}
1923
1924func (m *SourceCodeInfo_Location) GetLeadingComments() string {
1925	if m != nil && m.LeadingComments != nil {
1926		return *m.LeadingComments
1927	}
1928	return ""
1929}
1930
1931func (m *SourceCodeInfo_Location) GetTrailingComments() string {
1932	if m != nil && m.TrailingComments != nil {
1933		return *m.TrailingComments
1934	}
1935	return ""
1936}
1937
1938func (m *SourceCodeInfo_Location) GetLeadingDetachedComments() []string {
1939	if m != nil {
1940		return m.LeadingDetachedComments
1941	}
1942	return nil
1943}
1944
1945// Describes the relationship between generated code and its original source
1946// file. A GeneratedCodeInfo message is associated with only one generated
1947// source file, but may contain references to different source .proto files.
1948type GeneratedCodeInfo struct {
1949	// An Annotation connects some span of text in generated code to an element
1950	// of its generating .proto file.
1951	Annotation       []*GeneratedCodeInfo_Annotation `protobuf:"bytes,1,rep,name=annotation" json:"annotation,omitempty"`
1952	XXX_unrecognized []byte                          `json:"-"`
1953}
1954
1955func (m *GeneratedCodeInfo) Reset()                    { *m = GeneratedCodeInfo{} }
1956func (m *GeneratedCodeInfo) String() string            { return proto.CompactTextString(m) }
1957func (*GeneratedCodeInfo) ProtoMessage()               {}
1958func (*GeneratedCodeInfo) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{20} }
1959
1960func (m *GeneratedCodeInfo) GetAnnotation() []*GeneratedCodeInfo_Annotation {
1961	if m != nil {
1962		return m.Annotation
1963	}
1964	return nil
1965}
1966
1967type GeneratedCodeInfo_Annotation struct {
1968	// Identifies the element in the original source .proto file. This field
1969	// is formatted the same as SourceCodeInfo.Location.path.
1970	Path []int32 `protobuf:"varint,1,rep,packed,name=path" json:"path,omitempty"`
1971	// Identifies the filesystem path to the original source .proto.
1972	SourceFile *string `protobuf:"bytes,2,opt,name=source_file,json=sourceFile" json:"source_file,omitempty"`
1973	// Identifies the starting offset in bytes in the generated code
1974	// that relates to the identified object.
1975	Begin *int32 `protobuf:"varint,3,opt,name=begin" json:"begin,omitempty"`
1976	// Identifies the ending offset in bytes in the generated code that
1977	// relates to the identified offset. The end offset should be one past
1978	// the last relevant byte (so the length of the text = end - begin).
1979	End              *int32 `protobuf:"varint,4,opt,name=end" json:"end,omitempty"`
1980	XXX_unrecognized []byte `json:"-"`
1981}
1982
1983func (m *GeneratedCodeInfo_Annotation) Reset()         { *m = GeneratedCodeInfo_Annotation{} }
1984func (m *GeneratedCodeInfo_Annotation) String() string { return proto.CompactTextString(m) }
1985func (*GeneratedCodeInfo_Annotation) ProtoMessage()    {}
1986func (*GeneratedCodeInfo_Annotation) Descriptor() ([]byte, []int) {
1987	return fileDescriptor0, []int{20, 0}
1988}
1989
1990func (m *GeneratedCodeInfo_Annotation) GetPath() []int32 {
1991	if m != nil {
1992		return m.Path
1993	}
1994	return nil
1995}
1996
1997func (m *GeneratedCodeInfo_Annotation) GetSourceFile() string {
1998	if m != nil && m.SourceFile != nil {
1999		return *m.SourceFile
2000	}
2001	return ""
2002}
2003
2004func (m *GeneratedCodeInfo_Annotation) GetBegin() int32 {
2005	if m != nil && m.Begin != nil {
2006		return *m.Begin
2007	}
2008	return 0
2009}
2010
2011func (m *GeneratedCodeInfo_Annotation) GetEnd() int32 {
2012	if m != nil && m.End != nil {
2013		return *m.End
2014	}
2015	return 0
2016}
2017
2018func init() {
2019	proto.RegisterType((*FileDescriptorSet)(nil), "google.protobuf.FileDescriptorSet")
2020	proto.RegisterType((*FileDescriptorProto)(nil), "google.protobuf.FileDescriptorProto")
2021	proto.RegisterType((*DescriptorProto)(nil), "google.protobuf.DescriptorProto")
2022	proto.RegisterType((*DescriptorProto_ExtensionRange)(nil), "google.protobuf.DescriptorProto.ExtensionRange")
2023	proto.RegisterType((*DescriptorProto_ReservedRange)(nil), "google.protobuf.DescriptorProto.ReservedRange")
2024	proto.RegisterType((*ExtensionRangeOptions)(nil), "google.protobuf.ExtensionRangeOptions")
2025	proto.RegisterType((*FieldDescriptorProto)(nil), "google.protobuf.FieldDescriptorProto")
2026	proto.RegisterType((*OneofDescriptorProto)(nil), "google.protobuf.OneofDescriptorProto")
2027	proto.RegisterType((*EnumDescriptorProto)(nil), "google.protobuf.EnumDescriptorProto")
2028	proto.RegisterType((*EnumValueDescriptorProto)(nil), "google.protobuf.EnumValueDescriptorProto")
2029	proto.RegisterType((*ServiceDescriptorProto)(nil), "google.protobuf.ServiceDescriptorProto")
2030	proto.RegisterType((*MethodDescriptorProto)(nil), "google.protobuf.MethodDescriptorProto")
2031	proto.RegisterType((*FileOptions)(nil), "google.protobuf.FileOptions")
2032	proto.RegisterType((*MessageOptions)(nil), "google.protobuf.MessageOptions")
2033	proto.RegisterType((*FieldOptions)(nil), "google.protobuf.FieldOptions")
2034	proto.RegisterType((*OneofOptions)(nil), "google.protobuf.OneofOptions")
2035	proto.RegisterType((*EnumOptions)(nil), "google.protobuf.EnumOptions")
2036	proto.RegisterType((*EnumValueOptions)(nil), "google.protobuf.EnumValueOptions")
2037	proto.RegisterType((*ServiceOptions)(nil), "google.protobuf.ServiceOptions")
2038	proto.RegisterType((*MethodOptions)(nil), "google.protobuf.MethodOptions")
2039	proto.RegisterType((*UninterpretedOption)(nil), "google.protobuf.UninterpretedOption")
2040	proto.RegisterType((*UninterpretedOption_NamePart)(nil), "google.protobuf.UninterpretedOption.NamePart")
2041	proto.RegisterType((*SourceCodeInfo)(nil), "google.protobuf.SourceCodeInfo")
2042	proto.RegisterType((*SourceCodeInfo_Location)(nil), "google.protobuf.SourceCodeInfo.Location")
2043	proto.RegisterType((*GeneratedCodeInfo)(nil), "google.protobuf.GeneratedCodeInfo")
2044	proto.RegisterType((*GeneratedCodeInfo_Annotation)(nil), "google.protobuf.GeneratedCodeInfo.Annotation")
2045	proto.RegisterEnum("google.protobuf.FieldDescriptorProto_Type", FieldDescriptorProto_Type_name, FieldDescriptorProto_Type_value)
2046	proto.RegisterEnum("google.protobuf.FieldDescriptorProto_Label", FieldDescriptorProto_Label_name, FieldDescriptorProto_Label_value)
2047	proto.RegisterEnum("google.protobuf.FileOptions_OptimizeMode", FileOptions_OptimizeMode_name, FileOptions_OptimizeMode_value)
2048	proto.RegisterEnum("google.protobuf.FieldOptions_CType", FieldOptions_CType_name, FieldOptions_CType_value)
2049	proto.RegisterEnum("google.protobuf.FieldOptions_JSType", FieldOptions_JSType_name, FieldOptions_JSType_value)
2050	proto.RegisterEnum("google.protobuf.MethodOptions_IdempotencyLevel", MethodOptions_IdempotencyLevel_name, MethodOptions_IdempotencyLevel_value)
2051}
2052
2053func init() { proto.RegisterFile("google/protobuf/descriptor.proto", fileDescriptor0) }
2054
2055var fileDescriptor0 = []byte{
2056	// 2519 bytes of a gzipped FileDescriptorProto
2057	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x59, 0xdd, 0x6e, 0x1b, 0xc7,
2058	0x15, 0x0e, 0x7f, 0x45, 0x1e, 0x52, 0xd4, 0x68, 0xa4, 0xd8, 0x6b, 0xe5, 0xc7, 0x32, 0xf3, 0x63,
2059	0xd9, 0x69, 0xa8, 0x40, 0xb1, 0x1d, 0x47, 0x29, 0xd2, 0x52, 0xe4, 0x5a, 0xa1, 0x4a, 0x91, 0xec,
2060	0x92, 0x6a, 0x7e, 0x6e, 0x16, 0xa3, 0xdd, 0x21, 0xb9, 0xf6, 0x72, 0x77, 0xb3, 0xbb, 0xb4, 0xad,
2061	0xa0, 0x17, 0x06, 0x7a, 0x55, 0xa0, 0x0f, 0x50, 0x14, 0x45, 0x2f, 0x72, 0x13, 0xa0, 0x0f, 0x50,
2062	0x20, 0x77, 0x7d, 0x82, 0x02, 0x79, 0x83, 0xa2, 0x28, 0xd0, 0x3e, 0x46, 0x31, 0x33, 0xbb, 0xcb,
2063	0x5d, 0xfe, 0xc4, 0x6a, 0x80, 0x38, 0x57, 0xe4, 0x7c, 0xe7, 0x3b, 0x67, 0xce, 0x9c, 0x39, 0x33,
2064	0x73, 0x66, 0x16, 0x76, 0x47, 0xb6, 0x3d, 0x32, 0xe9, 0xbe, 0xe3, 0xda, 0xbe, 0x7d, 0x3e, 0x1d,
2065	0xee, 0xeb, 0xd4, 0xd3, 0x5c, 0xc3, 0xf1, 0x6d, 0xb7, 0xc6, 0x31, 0xbc, 0x21, 0x18, 0xb5, 0x90,
2066	0x51, 0x3d, 0x85, 0xcd, 0x07, 0x86, 0x49, 0x9b, 0x11, 0xb1, 0x4f, 0x7d, 0x7c, 0x1f, 0xb2, 0x43,
2067	0xc3, 0xa4, 0x52, 0x6a, 0x37, 0xb3, 0x57, 0x3a, 0x78, 0xb3, 0x36, 0xa7, 0x54, 0x4b, 0x6a, 0xf4,
2068	0x18, 0xac, 0x70, 0x8d, 0xea, 0xbf, 0xb3, 0xb0, 0xb5, 0x44, 0x8a, 0x31, 0x64, 0x2d, 0x32, 0x61,
2069	0x16, 0x53, 0x7b, 0x45, 0x85, 0xff, 0xc7, 0x12, 0xac, 0x39, 0x44, 0x7b, 0x44, 0x46, 0x54, 0x4a,
2070	0x73, 0x38, 0x6c, 0xe2, 0xd7, 0x01, 0x74, 0xea, 0x50, 0x4b, 0xa7, 0x96, 0x76, 0x21, 0x65, 0x76,
2071	0x33, 0x7b, 0x45, 0x25, 0x86, 0xe0, 0x77, 0x60, 0xd3, 0x99, 0x9e, 0x9b, 0x86, 0xa6, 0xc6, 0x68,
2072	0xb0, 0x9b, 0xd9, 0xcb, 0x29, 0x48, 0x08, 0x9a, 0x33, 0xf2, 0x4d, 0xd8, 0x78, 0x42, 0xc9, 0xa3,
2073	0x38, 0xb5, 0xc4, 0xa9, 0x15, 0x06, 0xc7, 0x88, 0x0d, 0x28, 0x4f, 0xa8, 0xe7, 0x91, 0x11, 0x55,
2074	0xfd, 0x0b, 0x87, 0x4a, 0x59, 0x3e, 0xfa, 0xdd, 0x85, 0xd1, 0xcf, 0x8f, 0xbc, 0x14, 0x68, 0x0d,
2075	0x2e, 0x1c, 0x8a, 0xeb, 0x50, 0xa4, 0xd6, 0x74, 0x22, 0x2c, 0xe4, 0x56, 0xc4, 0x4f, 0xb6, 0xa6,
2076	0x93, 0x79, 0x2b, 0x05, 0xa6, 0x16, 0x98, 0x58, 0xf3, 0xa8, 0xfb, 0xd8, 0xd0, 0xa8, 0x94, 0xe7,
2077	0x06, 0x6e, 0x2e, 0x18, 0xe8, 0x0b, 0xf9, 0xbc, 0x8d, 0x50, 0x0f, 0x37, 0xa0, 0x48, 0x9f, 0xfa,
2078	0xd4, 0xf2, 0x0c, 0xdb, 0x92, 0xd6, 0xb8, 0x91, 0xb7, 0x96, 0xcc, 0x22, 0x35, 0xf5, 0x79, 0x13,
2079	0x33, 0x3d, 0x7c, 0x0f, 0xd6, 0x6c, 0xc7, 0x37, 0x6c, 0xcb, 0x93, 0x0a, 0xbb, 0xa9, 0xbd, 0xd2,
2080	0xc1, 0xab, 0x4b, 0x13, 0xa1, 0x2b, 0x38, 0x4a, 0x48, 0xc6, 0x2d, 0x40, 0x9e, 0x3d, 0x75, 0x35,
2081	0xaa, 0x6a, 0xb6, 0x4e, 0x55, 0xc3, 0x1a, 0xda, 0x52, 0x91, 0x1b, 0xb8, 0xbe, 0x38, 0x10, 0x4e,
2082	0x6c, 0xd8, 0x3a, 0x6d, 0x59, 0x43, 0x5b, 0xa9, 0x78, 0x89, 0x36, 0xbe, 0x02, 0x79, 0xef, 0xc2,
2083	0xf2, 0xc9, 0x53, 0xa9, 0xcc, 0x33, 0x24, 0x68, 0x55, 0xbf, 0xcd, 0xc3, 0xc6, 0x65, 0x52, 0xec,
2084	0x23, 0xc8, 0x0d, 0xd9, 0x28, 0xa5, 0xf4, 0xff, 0x13, 0x03, 0xa1, 0x93, 0x0c, 0x62, 0xfe, 0x07,
2085	0x06, 0xb1, 0x0e, 0x25, 0x8b, 0x7a, 0x3e, 0xd5, 0x45, 0x46, 0x64, 0x2e, 0x99, 0x53, 0x20, 0x94,
2086	0x16, 0x53, 0x2a, 0xfb, 0x83, 0x52, 0xea, 0x33, 0xd8, 0x88, 0x5c, 0x52, 0x5d, 0x62, 0x8d, 0xc2,
2087	0xdc, 0xdc, 0x7f, 0x9e, 0x27, 0x35, 0x39, 0xd4, 0x53, 0x98, 0x9a, 0x52, 0xa1, 0x89, 0x36, 0x6e,
2088	0x02, 0xd8, 0x16, 0xb5, 0x87, 0xaa, 0x4e, 0x35, 0x53, 0x2a, 0xac, 0x88, 0x52, 0x97, 0x51, 0x16,
2089	0xa2, 0x64, 0x0b, 0x54, 0x33, 0xf1, 0x87, 0xb3, 0x54, 0x5b, 0x5b, 0x91, 0x29, 0xa7, 0x62, 0x91,
2090	0x2d, 0x64, 0xdb, 0x19, 0x54, 0x5c, 0xca, 0xf2, 0x9e, 0xea, 0xc1, 0xc8, 0x8a, 0xdc, 0x89, 0xda,
2091	0x73, 0x47, 0xa6, 0x04, 0x6a, 0x62, 0x60, 0xeb, 0x6e, 0xbc, 0x89, 0xdf, 0x80, 0x08, 0x50, 0x79,
2092	0x5a, 0x01, 0xdf, 0x85, 0xca, 0x21, 0xd8, 0x21, 0x13, 0xba, 0xf3, 0x15, 0x54, 0x92, 0xe1, 0xc1,
2093	0xdb, 0x90, 0xf3, 0x7c, 0xe2, 0xfa, 0x3c, 0x0b, 0x73, 0x8a, 0x68, 0x60, 0x04, 0x19, 0x6a, 0xe9,
2094	0x7c, 0x97, 0xcb, 0x29, 0xec, 0x2f, 0xfe, 0xe5, 0x6c, 0xc0, 0x19, 0x3e, 0xe0, 0xb7, 0x17, 0x67,
2095	0x34, 0x61, 0x79, 0x7e, 0xdc, 0x3b, 0x1f, 0xc0, 0x7a, 0x62, 0x00, 0x97, 0xed, 0xba, 0xfa, 0x5b,
2096	0x78, 0x79, 0xa9, 0x69, 0xfc, 0x19, 0x6c, 0x4f, 0x2d, 0xc3, 0xf2, 0xa9, 0xeb, 0xb8, 0x94, 0x65,
2097	0xac, 0xe8, 0x4a, 0xfa, 0xcf, 0xda, 0x8a, 0x9c, 0x3b, 0x8b, 0xb3, 0x85, 0x15, 0x65, 0x6b, 0xba,
2098	0x08, 0xde, 0x2e, 0x16, 0xfe, 0xbb, 0x86, 0x9e, 0x3d, 0x7b, 0xf6, 0x2c, 0x5d, 0xfd, 0x63, 0x1e,
2099	0xb6, 0x97, 0xad, 0x99, 0xa5, 0xcb, 0xf7, 0x0a, 0xe4, 0xad, 0xe9, 0xe4, 0x9c, 0xba, 0x3c, 0x48,
2100	0x39, 0x25, 0x68, 0xe1, 0x3a, 0xe4, 0x4c, 0x72, 0x4e, 0x4d, 0x29, 0xbb, 0x9b, 0xda, 0xab, 0x1c,
2101	0xbc, 0x73, 0xa9, 0x55, 0x59, 0x6b, 0x33, 0x15, 0x45, 0x68, 0xe2, 0x8f, 0x21, 0x1b, 0x6c, 0xd1,
2102	0xcc, 0xc2, 0xed, 0xcb, 0x59, 0x60, 0x6b, 0x49, 0xe1, 0x7a, 0xf8, 0x15, 0x28, 0xb2, 0x5f, 0x91,
2103	0x1b, 0x79, 0xee, 0x73, 0x81, 0x01, 0x2c, 0x2f, 0xf0, 0x0e, 0x14, 0xf8, 0x32, 0xd1, 0x69, 0x78,
2104	0xb4, 0x45, 0x6d, 0x96, 0x58, 0x3a, 0x1d, 0x92, 0xa9, 0xe9, 0xab, 0x8f, 0x89, 0x39, 0xa5, 0x3c,
2105	0xe1, 0x8b, 0x4a, 0x39, 0x00, 0x7f, 0xc3, 0x30, 0x7c, 0x1d, 0x4a, 0x62, 0x55, 0x19, 0x96, 0x4e,
2106	0x9f, 0xf2, 0xdd, 0x33, 0xa7, 0x88, 0x85, 0xd6, 0x62, 0x08, 0xeb, 0xfe, 0xa1, 0x67, 0x5b, 0x61,
2107	0x6a, 0xf2, 0x2e, 0x18, 0xc0, 0xbb, 0xff, 0x60, 0x7e, 0xe3, 0x7e, 0x6d, 0xf9, 0xf0, 0xe6, 0x73,
2108	0xaa, 0xfa, 0xb7, 0x34, 0x64, 0xf9, 0x7e, 0xb1, 0x01, 0xa5, 0xc1, 0xe7, 0x3d, 0x59, 0x6d, 0x76,
2109	0xcf, 0x8e, 0xda, 0x32, 0x4a, 0xe1, 0x0a, 0x00, 0x07, 0x1e, 0xb4, 0xbb, 0xf5, 0x01, 0x4a, 0x47,
2110	0xed, 0x56, 0x67, 0x70, 0xef, 0x0e, 0xca, 0x44, 0x0a, 0x67, 0x02, 0xc8, 0xc6, 0x09, 0xef, 0x1f,
2111	0xa0, 0x1c, 0x46, 0x50, 0x16, 0x06, 0x5a, 0x9f, 0xc9, 0xcd, 0x7b, 0x77, 0x50, 0x3e, 0x89, 0xbc,
2112	0x7f, 0x80, 0xd6, 0xf0, 0x3a, 0x14, 0x39, 0x72, 0xd4, 0xed, 0xb6, 0x51, 0x21, 0xb2, 0xd9, 0x1f,
2113	0x28, 0xad, 0xce, 0x31, 0x2a, 0x46, 0x36, 0x8f, 0x95, 0xee, 0x59, 0x0f, 0x41, 0x64, 0xe1, 0x54,
2114	0xee, 0xf7, 0xeb, 0xc7, 0x32, 0x2a, 0x45, 0x8c, 0xa3, 0xcf, 0x07, 0x72, 0x1f, 0x95, 0x13, 0x6e,
2115	0xbd, 0x7f, 0x80, 0xd6, 0xa3, 0x2e, 0xe4, 0xce, 0xd9, 0x29, 0xaa, 0xe0, 0x4d, 0x58, 0x17, 0x5d,
2116	0x84, 0x4e, 0x6c, 0xcc, 0x41, 0xf7, 0xee, 0x20, 0x34, 0x73, 0x44, 0x58, 0xd9, 0x4c, 0x00, 0xf7,
2117	0xee, 0x20, 0x5c, 0x6d, 0x40, 0x8e, 0x67, 0x17, 0xc6, 0x50, 0x69, 0xd7, 0x8f, 0xe4, 0xb6, 0xda,
2118	0xed, 0x0d, 0x5a, 0xdd, 0x4e, 0xbd, 0x8d, 0x52, 0x33, 0x4c, 0x91, 0x7f, 0x7d, 0xd6, 0x52, 0xe4,
2119	0x26, 0x4a, 0xc7, 0xb1, 0x9e, 0x5c, 0x1f, 0xc8, 0x4d, 0x94, 0xa9, 0x6a, 0xb0, 0xbd, 0x6c, 0x9f,
2120	0x5c, 0xba, 0x32, 0x62, 0x53, 0x9c, 0x5e, 0x31, 0xc5, 0xdc, 0xd6, 0xc2, 0x14, 0x7f, 0x9d, 0x82,
2121	0xad, 0x25, 0x67, 0xc5, 0xd2, 0x4e, 0x7e, 0x01, 0x39, 0x91, 0xa2, 0xe2, 0xf4, 0xbc, 0xb5, 0xf4,
2122	0xd0, 0xe1, 0x09, 0xbb, 0x70, 0x82, 0x72, 0xbd, 0x78, 0x05, 0x91, 0x59, 0x51, 0x41, 0x30, 0x13,
2123	0x0b, 0x4e, 0xfe, 0x2e, 0x05, 0xd2, 0x2a, 0xdb, 0xcf, 0xd9, 0x28, 0xd2, 0x89, 0x8d, 0xe2, 0xa3,
2124	0x79, 0x07, 0x6e, 0xac, 0x1e, 0xc3, 0x82, 0x17, 0xdf, 0xa4, 0xe0, 0xca, 0xf2, 0x42, 0x6b, 0xa9,
2125	0x0f, 0x1f, 0x43, 0x7e, 0x42, 0xfd, 0xb1, 0x1d, 0x16, 0x1b, 0x6f, 0x2f, 0x39, 0xc2, 0x98, 0x78,
2126	0x3e, 0x56, 0x81, 0x56, 0xfc, 0x0c, 0xcc, 0xac, 0xaa, 0x96, 0x84, 0x37, 0x0b, 0x9e, 0xfe, 0x3e,
2127	0x0d, 0x2f, 0x2f, 0x35, 0xbe, 0xd4, 0xd1, 0xd7, 0x00, 0x0c, 0xcb, 0x99, 0xfa, 0xa2, 0xa0, 0x10,
2128	0xfb, 0x53, 0x91, 0x23, 0x7c, 0xed, 0xb3, 0xbd, 0x67, 0xea, 0x47, 0xf2, 0x0c, 0x97, 0x83, 0x80,
2129	0x38, 0xe1, 0xfe, 0xcc, 0xd1, 0x2c, 0x77, 0xf4, 0xf5, 0x15, 0x23, 0x5d, 0x38, 0xab, 0xdf, 0x03,
2130	0xa4, 0x99, 0x06, 0xb5, 0x7c, 0xd5, 0xf3, 0x5d, 0x4a, 0x26, 0x86, 0x35, 0xe2, 0x1b, 0x70, 0xe1,
2131	0x30, 0x37, 0x24, 0xa6, 0x47, 0x95, 0x0d, 0x21, 0xee, 0x87, 0x52, 0xa6, 0xc1, 0xcf, 0x38, 0x37,
2132	0xa6, 0x91, 0x4f, 0x68, 0x08, 0x71, 0xa4, 0x51, 0xfd, 0xb6, 0x00, 0xa5, 0x58, 0x59, 0x8a, 0x6f,
2133	0x40, 0xf9, 0x21, 0x79, 0x4c, 0xd4, 0xf0, 0xaa, 0x21, 0x22, 0x51, 0x62, 0x58, 0x2f, 0xb8, 0x6e,
2134	0xbc, 0x07, 0xdb, 0x9c, 0x62, 0x4f, 0x7d, 0xea, 0xaa, 0x9a, 0x49, 0x3c, 0x8f, 0x07, 0xad, 0xc0,
2135	0xa9, 0x98, 0xc9, 0xba, 0x4c, 0xd4, 0x08, 0x25, 0xf8, 0x2e, 0x6c, 0x71, 0x8d, 0xc9, 0xd4, 0xf4,
2136	0x0d, 0xc7, 0xa4, 0x2a, 0xbb, 0xfc, 0x78, 0x7c, 0x23, 0x8e, 0x3c, 0xdb, 0x64, 0x8c, 0xd3, 0x80,
2137	0xc0, 0x3c, 0xf2, 0x70, 0x13, 0x5e, 0xe3, 0x6a, 0x23, 0x6a, 0x51, 0x97, 0xf8, 0x54, 0xa5, 0x5f,
2138	0x4e, 0x89, 0xe9, 0xa9, 0xc4, 0xd2, 0xd5, 0x31, 0xf1, 0xc6, 0xd2, 0x36, 0x33, 0x70, 0x94, 0x96,
2139	0x52, 0xca, 0x35, 0x46, 0x3c, 0x0e, 0x78, 0x32, 0xa7, 0xd5, 0x2d, 0xfd, 0x13, 0xe2, 0x8d, 0xf1,
2140	0x21, 0x5c, 0xe1, 0x56, 0x3c, 0xdf, 0x35, 0xac, 0x91, 0xaa, 0x8d, 0xa9, 0xf6, 0x48, 0x9d, 0xfa,
2141	0xc3, 0xfb, 0xd2, 0x2b, 0xf1, 0xfe, 0xb9, 0x87, 0x7d, 0xce, 0x69, 0x30, 0xca, 0x99, 0x3f, 0xbc,
2142	0x8f, 0xfb, 0x50, 0x66, 0x93, 0x31, 0x31, 0xbe, 0xa2, 0xea, 0xd0, 0x76, 0xf9, 0xc9, 0x52, 0x59,
2143	0xb2, 0xb2, 0x63, 0x11, 0xac, 0x75, 0x03, 0x85, 0x53, 0x5b, 0xa7, 0x87, 0xb9, 0x7e, 0x4f, 0x96,
2144	0x9b, 0x4a, 0x29, 0xb4, 0xf2, 0xc0, 0x76, 0x59, 0x42, 0x8d, 0xec, 0x28, 0xc0, 0x25, 0x91, 0x50,
2145	0x23, 0x3b, 0x0c, 0xef, 0x5d, 0xd8, 0xd2, 0x34, 0x31, 0x66, 0x43, 0x53, 0x83, 0x2b, 0x8a, 0x27,
2146	0xa1, 0x44, 0xb0, 0x34, 0xed, 0x58, 0x10, 0x82, 0x1c, 0xf7, 0xf0, 0x87, 0xf0, 0xf2, 0x2c, 0x58,
2147	0x71, 0xc5, 0xcd, 0x85, 0x51, 0xce, 0xab, 0xde, 0x85, 0x2d, 0xe7, 0x62, 0x51, 0x11, 0x27, 0x7a,
2148	0x74, 0x2e, 0xe6, 0xd5, 0x3e, 0x80, 0x6d, 0x67, 0xec, 0x2c, 0xea, 0xdd, 0x8e, 0xeb, 0x61, 0x67,
2149	0xec, 0xcc, 0x2b, 0xbe, 0xc5, 0xef, 0xab, 0x2e, 0xd5, 0x88, 0x4f, 0x75, 0xe9, 0x6a, 0x9c, 0x1e,
2150	0x13, 0xe0, 0x7d, 0x40, 0x9a, 0xa6, 0x52, 0x8b, 0x9c, 0x9b, 0x54, 0x25, 0x2e, 0xb5, 0x88, 0x27,
2151	0x5d, 0x8f, 0x93, 0x2b, 0x9a, 0x26, 0x73, 0x69, 0x9d, 0x0b, 0xf1, 0x6d, 0xd8, 0xb4, 0xcf, 0x1f,
2152	0x6a, 0x22, 0x25, 0x55, 0xc7, 0xa5, 0x43, 0xe3, 0xa9, 0xf4, 0x26, 0x8f, 0xef, 0x06, 0x13, 0xf0,
2153	0x84, 0xec, 0x71, 0x18, 0xdf, 0x02, 0xa4, 0x79, 0x63, 0xe2, 0x3a, 0xbc, 0x26, 0xf0, 0x1c, 0xa2,
2154	0x51, 0xe9, 0x2d, 0x41, 0x15, 0x78, 0x27, 0x84, 0xd9, 0x92, 0xf0, 0x9e, 0x18, 0x43, 0x3f, 0xb4,
2155	0x78, 0x53, 0x2c, 0x09, 0x8e, 0x05, 0xd6, 0xf6, 0x00, 0xb1, 0x50, 0x24, 0x3a, 0xde, 0xe3, 0xb4,
2156	0x8a, 0x33, 0x76, 0xe2, 0xfd, 0xbe, 0x01, 0xeb, 0x8c, 0x39, 0xeb, 0xf4, 0x96, 0xa8, 0x67, 0x9c,
2157	0x71, 0xac, 0xc7, 0x1f, 0xad, 0xb4, 0xac, 0x1e, 0x42, 0x39, 0x9e, 0x9f, 0xb8, 0x08, 0x22, 0x43,
2158	0x51, 0x8a, 0x9d, 0xf5, 0x8d, 0x6e, 0x93, 0x9d, 0xd2, 0x5f, 0xc8, 0x28, 0xcd, 0xaa, 0x85, 0x76,
2159	0x6b, 0x20, 0xab, 0xca, 0x59, 0x67, 0xd0, 0x3a, 0x95, 0x51, 0x26, 0x56, 0x96, 0x9e, 0x64, 0x0b,
2160	0x6f, 0xa3, 0x9b, 0xd5, 0xef, 0xd2, 0x50, 0x49, 0xde, 0x33, 0xf0, 0xcf, 0xe1, 0x6a, 0xf8, 0x28,
2161	0xe0, 0x51, 0x5f, 0x7d, 0x62, 0xb8, 0x7c, 0xe1, 0x4c, 0x88, 0xa8, 0xb3, 0xa3, 0xa9, 0xdb, 0x0e,
2162	0x58, 0x7d, 0xea, 0x7f, 0x6a, 0xb8, 0x6c, 0x59, 0x4c, 0x88, 0x8f, 0xdb, 0x70, 0xdd, 0xb2, 0x55,
2163	0xcf, 0x27, 0x96, 0x4e, 0x5c, 0x5d, 0x9d, 0x3d, 0xc7, 0xa8, 0x44, 0xd3, 0xa8, 0xe7, 0xd9, 0xe2,
2164	0xc0, 0x8a, 0xac, 0xbc, 0x6a, 0xd9, 0xfd, 0x80, 0x3c, 0xdb, 0xc9, 0xeb, 0x01, 0x75, 0x2e, 0xcd,
2165	0x32, 0xab, 0xd2, 0xec, 0x15, 0x28, 0x4e, 0x88, 0xa3, 0x52, 0xcb, 0x77, 0x2f, 0x78, 0x75, 0x59,
2166	0x50, 0x0a, 0x13, 0xe2, 0xc8, 0xac, 0xfd, 0x42, 0x8a, 0xfc, 0x93, 0x6c, 0xa1, 0x80, 0x8a, 0x27,
2167	0xd9, 0x42, 0x11, 0x41, 0xf5, 0x5f, 0x19, 0x28, 0xc7, 0xab, 0x4d, 0x56, 0xbc, 0x6b, 0xfc, 0x64,
2168	0x49, 0xf1, 0xbd, 0xe7, 0x8d, 0xef, 0xad, 0x4d, 0x6b, 0x0d, 0x76, 0xe4, 0x1c, 0xe6, 0x45, 0x0d,
2169	0xa8, 0x08, 0x4d, 0x76, 0xdc, 0xb3, 0xdd, 0x86, 0x8a, 0x7b, 0x4d, 0x41, 0x09, 0x5a, 0xf8, 0x18,
2170	0xf2, 0x0f, 0x3d, 0x6e, 0x3b, 0xcf, 0x6d, 0xbf, 0xf9, 0xfd, 0xb6, 0x4f, 0xfa, 0xdc, 0x78, 0xf1,
2171	0xa4, 0xaf, 0x76, 0xba, 0xca, 0x69, 0xbd, 0xad, 0x04, 0xea, 0xf8, 0x1a, 0x64, 0x4d, 0xf2, 0xd5,
2172	0x45, 0xf2, 0x70, 0xe2, 0xd0, 0x65, 0x27, 0xe1, 0x1a, 0x64, 0x9f, 0x50, 0xf2, 0x28, 0x79, 0x24,
2173	0x70, 0xe8, 0x47, 0x5c, 0x0c, 0xfb, 0x90, 0xe3, 0xf1, 0xc2, 0x00, 0x41, 0xc4, 0xd0, 0x4b, 0xb8,
2174	0x00, 0xd9, 0x46, 0x57, 0x61, 0x0b, 0x02, 0x41, 0x59, 0xa0, 0x6a, 0xaf, 0x25, 0x37, 0x64, 0x94,
2175	0xae, 0xde, 0x85, 0xbc, 0x08, 0x02, 0x5b, 0x2c, 0x51, 0x18, 0xd0, 0x4b, 0x41, 0x33, 0xb0, 0x91,
2176	0x0a, 0xa5, 0x67, 0xa7, 0x47, 0xb2, 0x82, 0xd2, 0xc9, 0xa9, 0xce, 0xa2, 0x5c, 0xd5, 0x83, 0x72,
2177	0xbc, 0xdc, 0x7c, 0x31, 0x57, 0xc9, 0xbf, 0xa7, 0xa0, 0x14, 0x2b, 0x1f, 0x59, 0xe1, 0x42, 0x4c,
2178	0xd3, 0x7e, 0xa2, 0x12, 0xd3, 0x20, 0x5e, 0x90, 0x1a, 0xc0, 0xa1, 0x3a, 0x43, 0x2e, 0x3b, 0x75,
2179	0x2f, 0x68, 0x89, 0xe4, 0x50, 0xbe, 0xfa, 0x97, 0x14, 0xa0, 0xf9, 0x02, 0x74, 0xce, 0xcd, 0xd4,
2180	0x4f, 0xe9, 0x66, 0xf5, 0xcf, 0x29, 0xa8, 0x24, 0xab, 0xce, 0x39, 0xf7, 0x6e, 0xfc, 0xa4, 0xee,
2181	0xfd, 0x33, 0x0d, 0xeb, 0x89, 0x5a, 0xf3, 0xb2, 0xde, 0x7d, 0x09, 0x9b, 0x86, 0x4e, 0x27, 0x8e,
2182	0xed, 0x53, 0x4b, 0xbb, 0x50, 0x4d, 0xfa, 0x98, 0x9a, 0x52, 0x95, 0x6f, 0x1a, 0xfb, 0xdf, 0x5f,
2183	0xcd, 0xd6, 0x5a, 0x33, 0xbd, 0x36, 0x53, 0x3b, 0xdc, 0x6a, 0x35, 0xe5, 0xd3, 0x5e, 0x77, 0x20,
2184	0x77, 0x1a, 0x9f, 0xab, 0x67, 0x9d, 0x5f, 0x75, 0xba, 0x9f, 0x76, 0x14, 0x64, 0xcc, 0xd1, 0x7e,
2185	0xc4, 0x65, 0xdf, 0x03, 0x34, 0xef, 0x14, 0xbe, 0x0a, 0xcb, 0xdc, 0x42, 0x2f, 0xe1, 0x2d, 0xd8,
2186	0xe8, 0x74, 0xd5, 0x7e, 0xab, 0x29, 0xab, 0xf2, 0x83, 0x07, 0x72, 0x63, 0xd0, 0x17, 0xd7, 0xfb,
2187	0x88, 0x3d, 0x48, 0x2c, 0xf0, 0xea, 0x9f, 0x32, 0xb0, 0xb5, 0xc4, 0x13, 0x5c, 0x0f, 0x6e, 0x16,
2188	0xe2, 0xb2, 0xf3, 0xee, 0x65, 0xbc, 0xaf, 0xb1, 0x82, 0xa0, 0x47, 0x5c, 0x3f, 0xb8, 0x88, 0xdc,
2189	0x02, 0x16, 0x25, 0xcb, 0x37, 0x86, 0x06, 0x75, 0x83, 0xd7, 0x10, 0x71, 0xdd, 0xd8, 0x98, 0xe1,
2190	0xe2, 0x41, 0xe4, 0x67, 0x80, 0x1d, 0xdb, 0x33, 0x7c, 0xe3, 0x31, 0x55, 0x0d, 0x2b, 0x7c, 0x3a,
2191	0x61, 0xd7, 0x8f, 0xac, 0x82, 0x42, 0x49, 0xcb, 0xf2, 0x23, 0xb6, 0x45, 0x47, 0x64, 0x8e, 0xcd,
2192	0x36, 0xf3, 0x8c, 0x82, 0x42, 0x49, 0xc4, 0xbe, 0x01, 0x65, 0xdd, 0x9e, 0xb2, 0x9a, 0x4c, 0xf0,
2193	0xd8, 0xd9, 0x91, 0x52, 0x4a, 0x02, 0x8b, 0x28, 0x41, 0xb5, 0x3d, 0x7b, 0xb3, 0x29, 0x2b, 0x25,
2194	0x81, 0x09, 0xca, 0x4d, 0xd8, 0x20, 0xa3, 0x91, 0xcb, 0x8c, 0x87, 0x86, 0xc4, 0xfd, 0xa1, 0x12,
2195	0xc1, 0x9c, 0xb8, 0x73, 0x02, 0x85, 0x30, 0x0e, 0xec, 0xa8, 0x66, 0x91, 0x50, 0x1d, 0xf1, 0x6e,
2196	0x97, 0xde, 0x2b, 0x2a, 0x05, 0x2b, 0x14, 0xde, 0x80, 0xb2, 0xe1, 0xa9, 0xb3, 0x27, 0xe8, 0xf4,
2197	0x6e, 0x7a, 0xaf, 0xa0, 0x94, 0x0c, 0x2f, 0x7a, 0xbe, 0xab, 0x7e, 0x93, 0x86, 0x4a, 0xf2, 0x09,
2198	0x1d, 0x37, 0xa1, 0x60, 0xda, 0x1a, 0xe1, 0xa9, 0x25, 0xbe, 0xdf, 0xec, 0x3d, 0xe7, 0xd5, 0xbd,
2199	0xd6, 0x0e, 0xf8, 0x4a, 0xa4, 0xb9, 0xf3, 0x8f, 0x14, 0x14, 0x42, 0x18, 0x5f, 0x81, 0xac, 0x43,
2200	0xfc, 0x31, 0x37, 0x97, 0x3b, 0x4a, 0xa3, 0x94, 0xc2, 0xdb, 0x0c, 0xf7, 0x1c, 0x62, 0xf1, 0x14,
2201	0x08, 0x70, 0xd6, 0x66, 0xf3, 0x6a, 0x52, 0xa2, 0xf3, 0xcb, 0x89, 0x3d, 0x99, 0x50, 0xcb, 0xf7,
2202	0xc2, 0x79, 0x0d, 0xf0, 0x46, 0x00, 0xe3, 0x77, 0x60, 0xd3, 0x77, 0x89, 0x61, 0x26, 0xb8, 0x59,
2203	0xce, 0x45, 0xa1, 0x20, 0x22, 0x1f, 0xc2, 0xb5, 0xd0, 0xae, 0x4e, 0x7d, 0xa2, 0x8d, 0xa9, 0x3e,
2204	0x53, 0xca, 0xf3, 0xf7, 0xd9, 0xab, 0x01, 0xa1, 0x19, 0xc8, 0x43, 0xdd, 0xea, 0x77, 0x29, 0xd8,
2205	0x0c, 0xaf, 0x53, 0x7a, 0x14, 0xac, 0x53, 0x00, 0x62, 0x59, 0xb6, 0x1f, 0x0f, 0xd7, 0x62, 0x2a,
2206	0x2f, 0xe8, 0xd5, 0xea, 0x91, 0x92, 0x12, 0x33, 0xb0, 0x33, 0x01, 0x98, 0x49, 0x56, 0x86, 0xed,
2207	0x3a, 0x94, 0x82, 0xef, 0x23, 0xfc, 0x23, 0x9b, 0xb8, 0x80, 0x83, 0x80, 0xd8, 0xbd, 0x0b, 0x6f,
2208	0x43, 0xee, 0x9c, 0x8e, 0x0c, 0x2b, 0x78, 0xf5, 0x14, 0x8d, 0xf0, 0x25, 0x37, 0x1b, 0xbd, 0xe4,
2209	0x1e, 0xfd, 0x21, 0x05, 0x5b, 0x9a, 0x3d, 0x99, 0xf7, 0xf7, 0x08, 0xcd, 0xbd, 0x02, 0x78, 0x9f,
2210	0xa4, 0xbe, 0xf8, 0x78, 0x64, 0xf8, 0xe3, 0xe9, 0x79, 0x4d, 0xb3, 0x27, 0xfb, 0x23, 0xdb, 0x24,
2211	0xd6, 0x68, 0xf6, 0x95, 0x90, 0xff, 0xd1, 0xde, 0x1d, 0x51, 0xeb, 0xdd, 0x91, 0x1d, 0xfb, 0x66,
2212	0xf8, 0xd1, 0xec, 0xef, 0xd7, 0xe9, 0xcc, 0x71, 0xef, 0xe8, 0xaf, 0xe9, 0x9d, 0x63, 0xd1, 0x57,
2213	0x2f, 0x8c, 0x8d, 0x42, 0x87, 0x26, 0xd5, 0xd8, 0x78, 0xff, 0x17, 0x00, 0x00, 0xff, 0xff, 0x0c,
2214	0xab, 0xb6, 0x37, 0x7e, 0x1c, 0x00, 0x00,
2215}
2216