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