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