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