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