Home | History | Annotate | Download | only in protobuf
      1 // Generated by the protocol buffer compiler.  DO NOT EDIT!
      2 // source: google/protobuf/descriptor.proto
      3 
      4 #define INTERNAL_SUPPRESS_PROTOBUF_FIELD_DEPRECATION
      5 #include "google/protobuf/descriptor.pb.h"
      6 
      7 #include <algorithm>
      8 
      9 #include <google/protobuf/stubs/common.h>
     10 #include <google/protobuf/stubs/once.h>
     11 #include <google/protobuf/io/coded_stream.h>
     12 #include <google/protobuf/wire_format_lite_inl.h>
     13 #include <google/protobuf/descriptor.h>
     14 #include <google/protobuf/generated_message_reflection.h>
     15 #include <google/protobuf/reflection_ops.h>
     16 #include <google/protobuf/wire_format.h>
     17 // @@protoc_insertion_point(includes)
     18 
     19 namespace google {
     20 namespace protobuf {
     21 
     22 namespace {
     23 
     24 const ::google::protobuf::Descriptor* FileDescriptorSet_descriptor_ = NULL;
     25 const ::google::protobuf::internal::GeneratedMessageReflection*
     26   FileDescriptorSet_reflection_ = NULL;
     27 const ::google::protobuf::Descriptor* FileDescriptorProto_descriptor_ = NULL;
     28 const ::google::protobuf::internal::GeneratedMessageReflection*
     29   FileDescriptorProto_reflection_ = NULL;
     30 const ::google::protobuf::Descriptor* DescriptorProto_descriptor_ = NULL;
     31 const ::google::protobuf::internal::GeneratedMessageReflection*
     32   DescriptorProto_reflection_ = NULL;
     33 const ::google::protobuf::Descriptor* DescriptorProto_ExtensionRange_descriptor_ = NULL;
     34 const ::google::protobuf::internal::GeneratedMessageReflection*
     35   DescriptorProto_ExtensionRange_reflection_ = NULL;
     36 const ::google::protobuf::Descriptor* FieldDescriptorProto_descriptor_ = NULL;
     37 const ::google::protobuf::internal::GeneratedMessageReflection*
     38   FieldDescriptorProto_reflection_ = NULL;
     39 const ::google::protobuf::EnumDescriptor* FieldDescriptorProto_Type_descriptor_ = NULL;
     40 const ::google::protobuf::EnumDescriptor* FieldDescriptorProto_Label_descriptor_ = NULL;
     41 const ::google::protobuf::Descriptor* OneofDescriptorProto_descriptor_ = NULL;
     42 const ::google::protobuf::internal::GeneratedMessageReflection*
     43   OneofDescriptorProto_reflection_ = NULL;
     44 const ::google::protobuf::Descriptor* EnumDescriptorProto_descriptor_ = NULL;
     45 const ::google::protobuf::internal::GeneratedMessageReflection*
     46   EnumDescriptorProto_reflection_ = NULL;
     47 const ::google::protobuf::Descriptor* EnumValueDescriptorProto_descriptor_ = NULL;
     48 const ::google::protobuf::internal::GeneratedMessageReflection*
     49   EnumValueDescriptorProto_reflection_ = NULL;
     50 const ::google::protobuf::Descriptor* ServiceDescriptorProto_descriptor_ = NULL;
     51 const ::google::protobuf::internal::GeneratedMessageReflection*
     52   ServiceDescriptorProto_reflection_ = NULL;
     53 const ::google::protobuf::Descriptor* MethodDescriptorProto_descriptor_ = NULL;
     54 const ::google::protobuf::internal::GeneratedMessageReflection*
     55   MethodDescriptorProto_reflection_ = NULL;
     56 const ::google::protobuf::Descriptor* FileOptions_descriptor_ = NULL;
     57 const ::google::protobuf::internal::GeneratedMessageReflection*
     58   FileOptions_reflection_ = NULL;
     59 const ::google::protobuf::EnumDescriptor* FileOptions_OptimizeMode_descriptor_ = NULL;
     60 const ::google::protobuf::Descriptor* MessageOptions_descriptor_ = NULL;
     61 const ::google::protobuf::internal::GeneratedMessageReflection*
     62   MessageOptions_reflection_ = NULL;
     63 const ::google::protobuf::Descriptor* FieldOptions_descriptor_ = NULL;
     64 const ::google::protobuf::internal::GeneratedMessageReflection*
     65   FieldOptions_reflection_ = NULL;
     66 const ::google::protobuf::EnumDescriptor* FieldOptions_CType_descriptor_ = NULL;
     67 const ::google::protobuf::Descriptor* EnumOptions_descriptor_ = NULL;
     68 const ::google::protobuf::internal::GeneratedMessageReflection*
     69   EnumOptions_reflection_ = NULL;
     70 const ::google::protobuf::Descriptor* EnumValueOptions_descriptor_ = NULL;
     71 const ::google::protobuf::internal::GeneratedMessageReflection*
     72   EnumValueOptions_reflection_ = NULL;
     73 const ::google::protobuf::Descriptor* ServiceOptions_descriptor_ = NULL;
     74 const ::google::protobuf::internal::GeneratedMessageReflection*
     75   ServiceOptions_reflection_ = NULL;
     76 const ::google::protobuf::Descriptor* MethodOptions_descriptor_ = NULL;
     77 const ::google::protobuf::internal::GeneratedMessageReflection*
     78   MethodOptions_reflection_ = NULL;
     79 const ::google::protobuf::Descriptor* UninterpretedOption_descriptor_ = NULL;
     80 const ::google::protobuf::internal::GeneratedMessageReflection*
     81   UninterpretedOption_reflection_ = NULL;
     82 const ::google::protobuf::Descriptor* UninterpretedOption_NamePart_descriptor_ = NULL;
     83 const ::google::protobuf::internal::GeneratedMessageReflection*
     84   UninterpretedOption_NamePart_reflection_ = NULL;
     85 const ::google::protobuf::Descriptor* SourceCodeInfo_descriptor_ = NULL;
     86 const ::google::protobuf::internal::GeneratedMessageReflection*
     87   SourceCodeInfo_reflection_ = NULL;
     88 const ::google::protobuf::Descriptor* SourceCodeInfo_Location_descriptor_ = NULL;
     89 const ::google::protobuf::internal::GeneratedMessageReflection*
     90   SourceCodeInfo_Location_reflection_ = NULL;
     91 
     92 }  // namespace
     93 
     94 
     95 void protobuf_AssignDesc_google_2fprotobuf_2fdescriptor_2eproto() {
     96   protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();
     97   const ::google::protobuf::FileDescriptor* file =
     98     ::google::protobuf::DescriptorPool::generated_pool()->FindFileByName(
     99       "google/protobuf/descriptor.proto");
    100   GOOGLE_CHECK(file != NULL);
    101   FileDescriptorSet_descriptor_ = file->message_type(0);
    102   static const int FileDescriptorSet_offsets_[1] = {
    103     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileDescriptorSet, file_),
    104   };
    105   FileDescriptorSet_reflection_ =
    106     new ::google::protobuf::internal::GeneratedMessageReflection(
    107       FileDescriptorSet_descriptor_,
    108       FileDescriptorSet::default_instance_,
    109       FileDescriptorSet_offsets_,
    110       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileDescriptorSet, _has_bits_[0]),
    111       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileDescriptorSet, _unknown_fields_),
    112       -1,
    113       ::google::protobuf::DescriptorPool::generated_pool(),
    114       ::google::protobuf::MessageFactory::generated_factory(),
    115       sizeof(FileDescriptorSet));
    116   FileDescriptorProto_descriptor_ = file->message_type(1);
    117   static const int FileDescriptorProto_offsets_[11] = {
    118     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileDescriptorProto, name_),
    119     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileDescriptorProto, package_),
    120     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileDescriptorProto, dependency_),
    121     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileDescriptorProto, public_dependency_),
    122     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileDescriptorProto, weak_dependency_),
    123     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileDescriptorProto, message_type_),
    124     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileDescriptorProto, enum_type_),
    125     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileDescriptorProto, service_),
    126     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileDescriptorProto, extension_),
    127     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileDescriptorProto, options_),
    128     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileDescriptorProto, source_code_info_),
    129   };
    130   FileDescriptorProto_reflection_ =
    131     new ::google::protobuf::internal::GeneratedMessageReflection(
    132       FileDescriptorProto_descriptor_,
    133       FileDescriptorProto::default_instance_,
    134       FileDescriptorProto_offsets_,
    135       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileDescriptorProto, _has_bits_[0]),
    136       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileDescriptorProto, _unknown_fields_),
    137       -1,
    138       ::google::protobuf::DescriptorPool::generated_pool(),
    139       ::google::protobuf::MessageFactory::generated_factory(),
    140       sizeof(FileDescriptorProto));
    141   DescriptorProto_descriptor_ = file->message_type(2);
    142   static const int DescriptorProto_offsets_[8] = {
    143     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DescriptorProto, name_),
    144     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DescriptorProto, field_),
    145     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DescriptorProto, extension_),
    146     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DescriptorProto, nested_type_),
    147     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DescriptorProto, enum_type_),
    148     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DescriptorProto, extension_range_),
    149     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DescriptorProto, oneof_decl_),
    150     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DescriptorProto, options_),
    151   };
    152   DescriptorProto_reflection_ =
    153     new ::google::protobuf::internal::GeneratedMessageReflection(
    154       DescriptorProto_descriptor_,
    155       DescriptorProto::default_instance_,
    156       DescriptorProto_offsets_,
    157       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DescriptorProto, _has_bits_[0]),
    158       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DescriptorProto, _unknown_fields_),
    159       -1,
    160       ::google::protobuf::DescriptorPool::generated_pool(),
    161       ::google::protobuf::MessageFactory::generated_factory(),
    162       sizeof(DescriptorProto));
    163   DescriptorProto_ExtensionRange_descriptor_ = DescriptorProto_descriptor_->nested_type(0);
    164   static const int DescriptorProto_ExtensionRange_offsets_[2] = {
    165     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DescriptorProto_ExtensionRange, start_),
    166     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DescriptorProto_ExtensionRange, end_),
    167   };
    168   DescriptorProto_ExtensionRange_reflection_ =
    169     new ::google::protobuf::internal::GeneratedMessageReflection(
    170       DescriptorProto_ExtensionRange_descriptor_,
    171       DescriptorProto_ExtensionRange::default_instance_,
    172       DescriptorProto_ExtensionRange_offsets_,
    173       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DescriptorProto_ExtensionRange, _has_bits_[0]),
    174       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DescriptorProto_ExtensionRange, _unknown_fields_),
    175       -1,
    176       ::google::protobuf::DescriptorPool::generated_pool(),
    177       ::google::protobuf::MessageFactory::generated_factory(),
    178       sizeof(DescriptorProto_ExtensionRange));
    179   FieldDescriptorProto_descriptor_ = file->message_type(3);
    180   static const int FieldDescriptorProto_offsets_[9] = {
    181     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FieldDescriptorProto, name_),
    182     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FieldDescriptorProto, number_),
    183     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FieldDescriptorProto, label_),
    184     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FieldDescriptorProto, type_),
    185     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FieldDescriptorProto, type_name_),
    186     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FieldDescriptorProto, extendee_),
    187     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FieldDescriptorProto, default_value_),
    188     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FieldDescriptorProto, oneof_index_),
    189     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FieldDescriptorProto, options_),
    190   };
    191   FieldDescriptorProto_reflection_ =
    192     new ::google::protobuf::internal::GeneratedMessageReflection(
    193       FieldDescriptorProto_descriptor_,
    194       FieldDescriptorProto::default_instance_,
    195       FieldDescriptorProto_offsets_,
    196       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FieldDescriptorProto, _has_bits_[0]),
    197       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FieldDescriptorProto, _unknown_fields_),
    198       -1,
    199       ::google::protobuf::DescriptorPool::generated_pool(),
    200       ::google::protobuf::MessageFactory::generated_factory(),
    201       sizeof(FieldDescriptorProto));
    202   FieldDescriptorProto_Type_descriptor_ = FieldDescriptorProto_descriptor_->enum_type(0);
    203   FieldDescriptorProto_Label_descriptor_ = FieldDescriptorProto_descriptor_->enum_type(1);
    204   OneofDescriptorProto_descriptor_ = file->message_type(4);
    205   static const int OneofDescriptorProto_offsets_[1] = {
    206     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(OneofDescriptorProto, name_),
    207   };
    208   OneofDescriptorProto_reflection_ =
    209     new ::google::protobuf::internal::GeneratedMessageReflection(
    210       OneofDescriptorProto_descriptor_,
    211       OneofDescriptorProto::default_instance_,
    212       OneofDescriptorProto_offsets_,
    213       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(OneofDescriptorProto, _has_bits_[0]),
    214       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(OneofDescriptorProto, _unknown_fields_),
    215       -1,
    216       ::google::protobuf::DescriptorPool::generated_pool(),
    217       ::google::protobuf::MessageFactory::generated_factory(),
    218       sizeof(OneofDescriptorProto));
    219   EnumDescriptorProto_descriptor_ = file->message_type(5);
    220   static const int EnumDescriptorProto_offsets_[3] = {
    221     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EnumDescriptorProto, name_),
    222     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EnumDescriptorProto, value_),
    223     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EnumDescriptorProto, options_),
    224   };
    225   EnumDescriptorProto_reflection_ =
    226     new ::google::protobuf::internal::GeneratedMessageReflection(
    227       EnumDescriptorProto_descriptor_,
    228       EnumDescriptorProto::default_instance_,
    229       EnumDescriptorProto_offsets_,
    230       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EnumDescriptorProto, _has_bits_[0]),
    231       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EnumDescriptorProto, _unknown_fields_),
    232       -1,
    233       ::google::protobuf::DescriptorPool::generated_pool(),
    234       ::google::protobuf::MessageFactory::generated_factory(),
    235       sizeof(EnumDescriptorProto));
    236   EnumValueDescriptorProto_descriptor_ = file->message_type(6);
    237   static const int EnumValueDescriptorProto_offsets_[3] = {
    238     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EnumValueDescriptorProto, name_),
    239     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EnumValueDescriptorProto, number_),
    240     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EnumValueDescriptorProto, options_),
    241   };
    242   EnumValueDescriptorProto_reflection_ =
    243     new ::google::protobuf::internal::GeneratedMessageReflection(
    244       EnumValueDescriptorProto_descriptor_,
    245       EnumValueDescriptorProto::default_instance_,
    246       EnumValueDescriptorProto_offsets_,
    247       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EnumValueDescriptorProto, _has_bits_[0]),
    248       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EnumValueDescriptorProto, _unknown_fields_),
    249       -1,
    250       ::google::protobuf::DescriptorPool::generated_pool(),
    251       ::google::protobuf::MessageFactory::generated_factory(),
    252       sizeof(EnumValueDescriptorProto));
    253   ServiceDescriptorProto_descriptor_ = file->message_type(7);
    254   static const int ServiceDescriptorProto_offsets_[3] = {
    255     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ServiceDescriptorProto, name_),
    256     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ServiceDescriptorProto, method_),
    257     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ServiceDescriptorProto, options_),
    258   };
    259   ServiceDescriptorProto_reflection_ =
    260     new ::google::protobuf::internal::GeneratedMessageReflection(
    261       ServiceDescriptorProto_descriptor_,
    262       ServiceDescriptorProto::default_instance_,
    263       ServiceDescriptorProto_offsets_,
    264       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ServiceDescriptorProto, _has_bits_[0]),
    265       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ServiceDescriptorProto, _unknown_fields_),
    266       -1,
    267       ::google::protobuf::DescriptorPool::generated_pool(),
    268       ::google::protobuf::MessageFactory::generated_factory(),
    269       sizeof(ServiceDescriptorProto));
    270   MethodDescriptorProto_descriptor_ = file->message_type(8);
    271   static const int MethodDescriptorProto_offsets_[4] = {
    272     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MethodDescriptorProto, name_),
    273     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MethodDescriptorProto, input_type_),
    274     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MethodDescriptorProto, output_type_),
    275     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MethodDescriptorProto, options_),
    276   };
    277   MethodDescriptorProto_reflection_ =
    278     new ::google::protobuf::internal::GeneratedMessageReflection(
    279       MethodDescriptorProto_descriptor_,
    280       MethodDescriptorProto::default_instance_,
    281       MethodDescriptorProto_offsets_,
    282       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MethodDescriptorProto, _has_bits_[0]),
    283       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MethodDescriptorProto, _unknown_fields_),
    284       -1,
    285       ::google::protobuf::DescriptorPool::generated_pool(),
    286       ::google::protobuf::MessageFactory::generated_factory(),
    287       sizeof(MethodDescriptorProto));
    288   FileOptions_descriptor_ = file->message_type(9);
    289   static const int FileOptions_offsets_[12] = {
    290     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileOptions, java_package_),
    291     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileOptions, java_outer_classname_),
    292     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileOptions, java_multiple_files_),
    293     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileOptions, java_generate_equals_and_hash_),
    294     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileOptions, java_string_check_utf8_),
    295     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileOptions, optimize_for_),
    296     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileOptions, go_package_),
    297     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileOptions, cc_generic_services_),
    298     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileOptions, java_generic_services_),
    299     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileOptions, py_generic_services_),
    300     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileOptions, deprecated_),
    301     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileOptions, uninterpreted_option_),
    302   };
    303   FileOptions_reflection_ =
    304     new ::google::protobuf::internal::GeneratedMessageReflection(
    305       FileOptions_descriptor_,
    306       FileOptions::default_instance_,
    307       FileOptions_offsets_,
    308       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileOptions, _has_bits_[0]),
    309       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileOptions, _unknown_fields_),
    310       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileOptions, _extensions_),
    311       ::google::protobuf::DescriptorPool::generated_pool(),
    312       ::google::protobuf::MessageFactory::generated_factory(),
    313       sizeof(FileOptions));
    314   FileOptions_OptimizeMode_descriptor_ = FileOptions_descriptor_->enum_type(0);
    315   MessageOptions_descriptor_ = file->message_type(10);
    316   static const int MessageOptions_offsets_[4] = {
    317     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MessageOptions, message_set_wire_format_),
    318     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MessageOptions, no_standard_descriptor_accessor_),
    319     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MessageOptions, deprecated_),
    320     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MessageOptions, uninterpreted_option_),
    321   };
    322   MessageOptions_reflection_ =
    323     new ::google::protobuf::internal::GeneratedMessageReflection(
    324       MessageOptions_descriptor_,
    325       MessageOptions::default_instance_,
    326       MessageOptions_offsets_,
    327       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MessageOptions, _has_bits_[0]),
    328       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MessageOptions, _unknown_fields_),
    329       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MessageOptions, _extensions_),
    330       ::google::protobuf::DescriptorPool::generated_pool(),
    331       ::google::protobuf::MessageFactory::generated_factory(),
    332       sizeof(MessageOptions));
    333   FieldOptions_descriptor_ = file->message_type(11);
    334   static const int FieldOptions_offsets_[7] = {
    335     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FieldOptions, ctype_),
    336     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FieldOptions, packed_),
    337     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FieldOptions, lazy_),
    338     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FieldOptions, deprecated_),
    339     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FieldOptions, experimental_map_key_),
    340     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FieldOptions, weak_),
    341     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FieldOptions, uninterpreted_option_),
    342   };
    343   FieldOptions_reflection_ =
    344     new ::google::protobuf::internal::GeneratedMessageReflection(
    345       FieldOptions_descriptor_,
    346       FieldOptions::default_instance_,
    347       FieldOptions_offsets_,
    348       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FieldOptions, _has_bits_[0]),
    349       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FieldOptions, _unknown_fields_),
    350       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FieldOptions, _extensions_),
    351       ::google::protobuf::DescriptorPool::generated_pool(),
    352       ::google::protobuf::MessageFactory::generated_factory(),
    353       sizeof(FieldOptions));
    354   FieldOptions_CType_descriptor_ = FieldOptions_descriptor_->enum_type(0);
    355   EnumOptions_descriptor_ = file->message_type(12);
    356   static const int EnumOptions_offsets_[3] = {
    357     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EnumOptions, allow_alias_),
    358     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EnumOptions, deprecated_),
    359     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EnumOptions, uninterpreted_option_),
    360   };
    361   EnumOptions_reflection_ =
    362     new ::google::protobuf::internal::GeneratedMessageReflection(
    363       EnumOptions_descriptor_,
    364       EnumOptions::default_instance_,
    365       EnumOptions_offsets_,
    366       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EnumOptions, _has_bits_[0]),
    367       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EnumOptions, _unknown_fields_),
    368       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EnumOptions, _extensions_),
    369       ::google::protobuf::DescriptorPool::generated_pool(),
    370       ::google::protobuf::MessageFactory::generated_factory(),
    371       sizeof(EnumOptions));
    372   EnumValueOptions_descriptor_ = file->message_type(13);
    373   static const int EnumValueOptions_offsets_[2] = {
    374     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EnumValueOptions, deprecated_),
    375     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EnumValueOptions, uninterpreted_option_),
    376   };
    377   EnumValueOptions_reflection_ =
    378     new ::google::protobuf::internal::GeneratedMessageReflection(
    379       EnumValueOptions_descriptor_,
    380       EnumValueOptions::default_instance_,
    381       EnumValueOptions_offsets_,
    382       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EnumValueOptions, _has_bits_[0]),
    383       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EnumValueOptions, _unknown_fields_),
    384       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EnumValueOptions, _extensions_),
    385       ::google::protobuf::DescriptorPool::generated_pool(),
    386       ::google::protobuf::MessageFactory::generated_factory(),
    387       sizeof(EnumValueOptions));
    388   ServiceOptions_descriptor_ = file->message_type(14);
    389   static const int ServiceOptions_offsets_[2] = {
    390     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ServiceOptions, deprecated_),
    391     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ServiceOptions, uninterpreted_option_),
    392   };
    393   ServiceOptions_reflection_ =
    394     new ::google::protobuf::internal::GeneratedMessageReflection(
    395       ServiceOptions_descriptor_,
    396       ServiceOptions::default_instance_,
    397       ServiceOptions_offsets_,
    398       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ServiceOptions, _has_bits_[0]),
    399       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ServiceOptions, _unknown_fields_),
    400       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ServiceOptions, _extensions_),
    401       ::google::protobuf::DescriptorPool::generated_pool(),
    402       ::google::protobuf::MessageFactory::generated_factory(),
    403       sizeof(ServiceOptions));
    404   MethodOptions_descriptor_ = file->message_type(15);
    405   static const int MethodOptions_offsets_[2] = {
    406     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MethodOptions, deprecated_),
    407     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MethodOptions, uninterpreted_option_),
    408   };
    409   MethodOptions_reflection_ =
    410     new ::google::protobuf::internal::GeneratedMessageReflection(
    411       MethodOptions_descriptor_,
    412       MethodOptions::default_instance_,
    413       MethodOptions_offsets_,
    414       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MethodOptions, _has_bits_[0]),
    415       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MethodOptions, _unknown_fields_),
    416       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MethodOptions, _extensions_),
    417       ::google::protobuf::DescriptorPool::generated_pool(),
    418       ::google::protobuf::MessageFactory::generated_factory(),
    419       sizeof(MethodOptions));
    420   UninterpretedOption_descriptor_ = file->message_type(16);
    421   static const int UninterpretedOption_offsets_[7] = {
    422     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(UninterpretedOption, name_),
    423     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(UninterpretedOption, identifier_value_),
    424     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(UninterpretedOption, positive_int_value_),
    425     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(UninterpretedOption, negative_int_value_),
    426     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(UninterpretedOption, double_value_),
    427     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(UninterpretedOption, string_value_),
    428     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(UninterpretedOption, aggregate_value_),
    429   };
    430   UninterpretedOption_reflection_ =
    431     new ::google::protobuf::internal::GeneratedMessageReflection(
    432       UninterpretedOption_descriptor_,
    433       UninterpretedOption::default_instance_,
    434       UninterpretedOption_offsets_,
    435       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(UninterpretedOption, _has_bits_[0]),
    436       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(UninterpretedOption, _unknown_fields_),
    437       -1,
    438       ::google::protobuf::DescriptorPool::generated_pool(),
    439       ::google::protobuf::MessageFactory::generated_factory(),
    440       sizeof(UninterpretedOption));
    441   UninterpretedOption_NamePart_descriptor_ = UninterpretedOption_descriptor_->nested_type(0);
    442   static const int UninterpretedOption_NamePart_offsets_[2] = {
    443     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(UninterpretedOption_NamePart, name_part_),
    444     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(UninterpretedOption_NamePart, is_extension_),
    445   };
    446   UninterpretedOption_NamePart_reflection_ =
    447     new ::google::protobuf::internal::GeneratedMessageReflection(
    448       UninterpretedOption_NamePart_descriptor_,
    449       UninterpretedOption_NamePart::default_instance_,
    450       UninterpretedOption_NamePart_offsets_,
    451       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(UninterpretedOption_NamePart, _has_bits_[0]),
    452       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(UninterpretedOption_NamePart, _unknown_fields_),
    453       -1,
    454       ::google::protobuf::DescriptorPool::generated_pool(),
    455       ::google::protobuf::MessageFactory::generated_factory(),
    456       sizeof(UninterpretedOption_NamePart));
    457   SourceCodeInfo_descriptor_ = file->message_type(17);
    458   static const int SourceCodeInfo_offsets_[1] = {
    459     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SourceCodeInfo, location_),
    460   };
    461   SourceCodeInfo_reflection_ =
    462     new ::google::protobuf::internal::GeneratedMessageReflection(
    463       SourceCodeInfo_descriptor_,
    464       SourceCodeInfo::default_instance_,
    465       SourceCodeInfo_offsets_,
    466       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SourceCodeInfo, _has_bits_[0]),
    467       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SourceCodeInfo, _unknown_fields_),
    468       -1,
    469       ::google::protobuf::DescriptorPool::generated_pool(),
    470       ::google::protobuf::MessageFactory::generated_factory(),
    471       sizeof(SourceCodeInfo));
    472   SourceCodeInfo_Location_descriptor_ = SourceCodeInfo_descriptor_->nested_type(0);
    473   static const int SourceCodeInfo_Location_offsets_[4] = {
    474     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SourceCodeInfo_Location, path_),
    475     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SourceCodeInfo_Location, span_),
    476     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SourceCodeInfo_Location, leading_comments_),
    477     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SourceCodeInfo_Location, trailing_comments_),
    478   };
    479   SourceCodeInfo_Location_reflection_ =
    480     new ::google::protobuf::internal::GeneratedMessageReflection(
    481       SourceCodeInfo_Location_descriptor_,
    482       SourceCodeInfo_Location::default_instance_,
    483       SourceCodeInfo_Location_offsets_,
    484       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SourceCodeInfo_Location, _has_bits_[0]),
    485       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SourceCodeInfo_Location, _unknown_fields_),
    486       -1,
    487       ::google::protobuf::DescriptorPool::generated_pool(),
    488       ::google::protobuf::MessageFactory::generated_factory(),
    489       sizeof(SourceCodeInfo_Location));
    490 }
    491 
    492 namespace {
    493 
    494 GOOGLE_PROTOBUF_DECLARE_ONCE(protobuf_AssignDescriptors_once_);
    495 inline void protobuf_AssignDescriptorsOnce() {
    496   ::google::protobuf::GoogleOnceInit(&protobuf_AssignDescriptors_once_,
    497                  &protobuf_AssignDesc_google_2fprotobuf_2fdescriptor_2eproto);
    498 }
    499 
    500 void protobuf_RegisterTypes(const ::std::string&) {
    501   protobuf_AssignDescriptorsOnce();
    502   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
    503     FileDescriptorSet_descriptor_, &FileDescriptorSet::default_instance());
    504   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
    505     FileDescriptorProto_descriptor_, &FileDescriptorProto::default_instance());
    506   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
    507     DescriptorProto_descriptor_, &DescriptorProto::default_instance());
    508   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
    509     DescriptorProto_ExtensionRange_descriptor_, &DescriptorProto_ExtensionRange::default_instance());
    510   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
    511     FieldDescriptorProto_descriptor_, &FieldDescriptorProto::default_instance());
    512   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
    513     OneofDescriptorProto_descriptor_, &OneofDescriptorProto::default_instance());
    514   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
    515     EnumDescriptorProto_descriptor_, &EnumDescriptorProto::default_instance());
    516   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
    517     EnumValueDescriptorProto_descriptor_, &EnumValueDescriptorProto::default_instance());
    518   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
    519     ServiceDescriptorProto_descriptor_, &ServiceDescriptorProto::default_instance());
    520   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
    521     MethodDescriptorProto_descriptor_, &MethodDescriptorProto::default_instance());
    522   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
    523     FileOptions_descriptor_, &FileOptions::default_instance());
    524   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
    525     MessageOptions_descriptor_, &MessageOptions::default_instance());
    526   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
    527     FieldOptions_descriptor_, &FieldOptions::default_instance());
    528   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
    529     EnumOptions_descriptor_, &EnumOptions::default_instance());
    530   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
    531     EnumValueOptions_descriptor_, &EnumValueOptions::default_instance());
    532   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
    533     ServiceOptions_descriptor_, &ServiceOptions::default_instance());
    534   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
    535     MethodOptions_descriptor_, &MethodOptions::default_instance());
    536   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
    537     UninterpretedOption_descriptor_, &UninterpretedOption::default_instance());
    538   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
    539     UninterpretedOption_NamePart_descriptor_, &UninterpretedOption_NamePart::default_instance());
    540   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
    541     SourceCodeInfo_descriptor_, &SourceCodeInfo::default_instance());
    542   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
    543     SourceCodeInfo_Location_descriptor_, &SourceCodeInfo_Location::default_instance());
    544 }
    545 
    546 }  // namespace
    547 
    548 void protobuf_ShutdownFile_google_2fprotobuf_2fdescriptor_2eproto() {
    549   delete FileDescriptorSet::default_instance_;
    550   delete FileDescriptorSet_reflection_;
    551   delete FileDescriptorProto::default_instance_;
    552   delete FileDescriptorProto_reflection_;
    553   delete DescriptorProto::default_instance_;
    554   delete DescriptorProto_reflection_;
    555   delete DescriptorProto_ExtensionRange::default_instance_;
    556   delete DescriptorProto_ExtensionRange_reflection_;
    557   delete FieldDescriptorProto::default_instance_;
    558   delete FieldDescriptorProto_reflection_;
    559   delete OneofDescriptorProto::default_instance_;
    560   delete OneofDescriptorProto_reflection_;
    561   delete EnumDescriptorProto::default_instance_;
    562   delete EnumDescriptorProto_reflection_;
    563   delete EnumValueDescriptorProto::default_instance_;
    564   delete EnumValueDescriptorProto_reflection_;
    565   delete ServiceDescriptorProto::default_instance_;
    566   delete ServiceDescriptorProto_reflection_;
    567   delete MethodDescriptorProto::default_instance_;
    568   delete MethodDescriptorProto_reflection_;
    569   delete FileOptions::default_instance_;
    570   delete FileOptions_reflection_;
    571   delete MessageOptions::default_instance_;
    572   delete MessageOptions_reflection_;
    573   delete FieldOptions::default_instance_;
    574   delete FieldOptions_reflection_;
    575   delete EnumOptions::default_instance_;
    576   delete EnumOptions_reflection_;
    577   delete EnumValueOptions::default_instance_;
    578   delete EnumValueOptions_reflection_;
    579   delete ServiceOptions::default_instance_;
    580   delete ServiceOptions_reflection_;
    581   delete MethodOptions::default_instance_;
    582   delete MethodOptions_reflection_;
    583   delete UninterpretedOption::default_instance_;
    584   delete UninterpretedOption_reflection_;
    585   delete UninterpretedOption_NamePart::default_instance_;
    586   delete UninterpretedOption_NamePart_reflection_;
    587   delete SourceCodeInfo::default_instance_;
    588   delete SourceCodeInfo_reflection_;
    589   delete SourceCodeInfo_Location::default_instance_;
    590   delete SourceCodeInfo_Location_reflection_;
    591 }
    592 
    593 void protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto() {
    594   static bool already_here = false;
    595   if (already_here) return;
    596   already_here = true;
    597   GOOGLE_PROTOBUF_VERIFY_VERSION;
    598 
    599   ::google::protobuf::DescriptorPool::InternalAddGeneratedFile(
    600     "\n google/protobuf/descriptor.proto\022\017goog"
    601     "le.protobuf\"G\n\021FileDescriptorSet\0222\n\004file"
    602     "\030\001 \003(\0132$.google.protobuf.FileDescriptorP"
    603     "roto\"\313\003\n\023FileDescriptorProto\022\014\n\004name\030\001 \001"
    604     "(\t\022\017\n\007package\030\002 \001(\t\022\022\n\ndependency\030\003 \003(\t\022"
    605     "\031\n\021public_dependency\030\n \003(\005\022\027\n\017weak_depen"
    606     "dency\030\013 \003(\005\0226\n\014message_type\030\004 \003(\0132 .goog"
    607     "le.protobuf.DescriptorProto\0227\n\tenum_type"
    608     "\030\005 \003(\0132$.google.protobuf.EnumDescriptorP"
    609     "roto\0228\n\007service\030\006 \003(\0132\'.google.protobuf."
    610     "ServiceDescriptorProto\0228\n\textension\030\007 \003("
    611     "\0132%.google.protobuf.FieldDescriptorProto"
    612     "\022-\n\007options\030\010 \001(\0132\034.google.protobuf.File"
    613     "Options\0229\n\020source_code_info\030\t \001(\0132\037.goog"
    614     "le.protobuf.SourceCodeInfo\"\344\003\n\017Descripto"
    615     "rProto\022\014\n\004name\030\001 \001(\t\0224\n\005field\030\002 \003(\0132%.go"
    616     "ogle.protobuf.FieldDescriptorProto\0228\n\tex"
    617     "tension\030\006 \003(\0132%.google.protobuf.FieldDes"
    618     "criptorProto\0225\n\013nested_type\030\003 \003(\0132 .goog"
    619     "le.protobuf.DescriptorProto\0227\n\tenum_type"
    620     "\030\004 \003(\0132$.google.protobuf.EnumDescriptorP"
    621     "roto\022H\n\017extension_range\030\005 \003(\0132/.google.p"
    622     "rotobuf.DescriptorProto.ExtensionRange\0229"
    623     "\n\noneof_decl\030\010 \003(\0132%.google.protobuf.One"
    624     "ofDescriptorProto\0220\n\007options\030\007 \001(\0132\037.goo"
    625     "gle.protobuf.MessageOptions\032,\n\016Extension"
    626     "Range\022\r\n\005start\030\001 \001(\005\022\013\n\003end\030\002 \001(\005\"\251\005\n\024Fi"
    627     "eldDescriptorProto\022\014\n\004name\030\001 \001(\t\022\016\n\006numb"
    628     "er\030\003 \001(\005\022:\n\005label\030\004 \001(\0162+.google.protobu"
    629     "f.FieldDescriptorProto.Label\0228\n\004type\030\005 \001"
    630     "(\0162*.google.protobuf.FieldDescriptorProt"
    631     "o.Type\022\021\n\ttype_name\030\006 \001(\t\022\020\n\010extendee\030\002 "
    632     "\001(\t\022\025\n\rdefault_value\030\007 \001(\t\022\023\n\013oneof_inde"
    633     "x\030\t \001(\005\022.\n\007options\030\010 \001(\0132\035.google.protob"
    634     "uf.FieldOptions\"\266\002\n\004Type\022\017\n\013TYPE_DOUBLE\020"
    635     "\001\022\016\n\nTYPE_FLOAT\020\002\022\016\n\nTYPE_INT64\020\003\022\017\n\013TYP"
    636     "E_UINT64\020\004\022\016\n\nTYPE_INT32\020\005\022\020\n\014TYPE_FIXED"
    637     "64\020\006\022\020\n\014TYPE_FIXED32\020\007\022\r\n\tTYPE_BOOL\020\010\022\017\n"
    638     "\013TYPE_STRING\020\t\022\016\n\nTYPE_GROUP\020\n\022\020\n\014TYPE_M"
    639     "ESSAGE\020\013\022\016\n\nTYPE_BYTES\020\014\022\017\n\013TYPE_UINT32\020"
    640     "\r\022\r\n\tTYPE_ENUM\020\016\022\021\n\rTYPE_SFIXED32\020\017\022\021\n\rT"
    641     "YPE_SFIXED64\020\020\022\017\n\013TYPE_SINT32\020\021\022\017\n\013TYPE_"
    642     "SINT64\020\022\"C\n\005Label\022\022\n\016LABEL_OPTIONAL\020\001\022\022\n"
    643     "\016LABEL_REQUIRED\020\002\022\022\n\016LABEL_REPEATED\020\003\"$\n"
    644     "\024OneofDescriptorProto\022\014\n\004name\030\001 \001(\t\"\214\001\n\023"
    645     "EnumDescriptorProto\022\014\n\004name\030\001 \001(\t\0228\n\005val"
    646     "ue\030\002 \003(\0132).google.protobuf.EnumValueDesc"
    647     "riptorProto\022-\n\007options\030\003 \001(\0132\034.google.pr"
    648     "otobuf.EnumOptions\"l\n\030EnumValueDescripto"
    649     "rProto\022\014\n\004name\030\001 \001(\t\022\016\n\006number\030\002 \001(\005\0222\n\007"
    650     "options\030\003 \001(\0132!.google.protobuf.EnumValu"
    651     "eOptions\"\220\001\n\026ServiceDescriptorProto\022\014\n\004n"
    652     "ame\030\001 \001(\t\0226\n\006method\030\002 \003(\0132&.google.proto"
    653     "buf.MethodDescriptorProto\0220\n\007options\030\003 \001"
    654     "(\0132\037.google.protobuf.ServiceOptions\"\177\n\025M"
    655     "ethodDescriptorProto\022\014\n\004name\030\001 \001(\t\022\022\n\nin"
    656     "put_type\030\002 \001(\t\022\023\n\013output_type\030\003 \001(\t\022/\n\007o"
    657     "ptions\030\004 \001(\0132\036.google.protobuf.MethodOpt"
    658     "ions\"\253\004\n\013FileOptions\022\024\n\014java_package\030\001 \001"
    659     "(\t\022\034\n\024java_outer_classname\030\010 \001(\t\022\"\n\023java"
    660     "_multiple_files\030\n \001(\010:\005false\022,\n\035java_gen"
    661     "erate_equals_and_hash\030\024 \001(\010:\005false\022%\n\026ja"
    662     "va_string_check_utf8\030\033 \001(\010:\005false\022F\n\014opt"
    663     "imize_for\030\t \001(\0162).google.protobuf.FileOp"
    664     "tions.OptimizeMode:\005SPEED\022\022\n\ngo_package\030"
    665     "\013 \001(\t\022\"\n\023cc_generic_services\030\020 \001(\010:\005fals"
    666     "e\022$\n\025java_generic_services\030\021 \001(\010:\005false\022"
    667     "\"\n\023py_generic_services\030\022 \001(\010:\005false\022\031\n\nd"
    668     "eprecated\030\027 \001(\010:\005false\022C\n\024uninterpreted_"
    669     "option\030\347\007 \003(\0132$.google.protobuf.Uninterp"
    670     "retedOption\":\n\014OptimizeMode\022\t\n\005SPEED\020\001\022\r"
    671     "\n\tCODE_SIZE\020\002\022\020\n\014LITE_RUNTIME\020\003*\t\010\350\007\020\200\200\200"
    672     "\200\002\"\323\001\n\016MessageOptions\022&\n\027message_set_wir"
    673     "e_format\030\001 \001(\010:\005false\022.\n\037no_standard_des"
    674     "criptor_accessor\030\002 \001(\010:\005false\022\031\n\ndepreca"
    675     "ted\030\003 \001(\010:\005false\022C\n\024uninterpreted_option"
    676     "\030\347\007 \003(\0132$.google.protobuf.UninterpretedO"
    677     "ption*\t\010\350\007\020\200\200\200\200\002\"\276\002\n\014FieldOptions\022:\n\005cty"
    678     "pe\030\001 \001(\0162#.google.protobuf.FieldOptions."
    679     "CType:\006STRING\022\016\n\006packed\030\002 \001(\010\022\023\n\004lazy\030\005 "
    680     "\001(\010:\005false\022\031\n\ndeprecated\030\003 \001(\010:\005false\022\034\n"
    681     "\024experimental_map_key\030\t \001(\t\022\023\n\004weak\030\n \001("
    682     "\010:\005false\022C\n\024uninterpreted_option\030\347\007 \003(\0132"
    683     "$.google.protobuf.UninterpretedOption\"/\n"
    684     "\005CType\022\n\n\006STRING\020\000\022\010\n\004CORD\020\001\022\020\n\014STRING_P"
    685     "IECE\020\002*\t\010\350\007\020\200\200\200\200\002\"\215\001\n\013EnumOptions\022\023\n\013all"
    686     "ow_alias\030\002 \001(\010\022\031\n\ndeprecated\030\003 \001(\010:\005fals"
    687     "e\022C\n\024uninterpreted_option\030\347\007 \003(\0132$.googl"
    688     "e.protobuf.UninterpretedOption*\t\010\350\007\020\200\200\200\200"
    689     "\002\"}\n\020EnumValueOptions\022\031\n\ndeprecated\030\001 \001("
    690     "\010:\005false\022C\n\024uninterpreted_option\030\347\007 \003(\0132"
    691     "$.google.protobuf.UninterpretedOption*\t\010"
    692     "\350\007\020\200\200\200\200\002\"{\n\016ServiceOptions\022\031\n\ndeprecated"
    693     "\030! \001(\010:\005false\022C\n\024uninterpreted_option\030\347\007"
    694     " \003(\0132$.google.protobuf.UninterpretedOpti"
    695     "on*\t\010\350\007\020\200\200\200\200\002\"z\n\rMethodOptions\022\031\n\ndeprec"
    696     "ated\030! \001(\010:\005false\022C\n\024uninterpreted_optio"
    697     "n\030\347\007 \003(\0132$.google.protobuf.Uninterpreted"
    698     "Option*\t\010\350\007\020\200\200\200\200\002\"\236\002\n\023UninterpretedOptio"
    699     "n\022;\n\004name\030\002 \003(\0132-.google.protobuf.Uninte"
    700     "rpretedOption.NamePart\022\030\n\020identifier_val"
    701     "ue\030\003 \001(\t\022\032\n\022positive_int_value\030\004 \001(\004\022\032\n\022"
    702     "negative_int_value\030\005 \001(\003\022\024\n\014double_value"
    703     "\030\006 \001(\001\022\024\n\014string_value\030\007 \001(\014\022\027\n\017aggregat"
    704     "e_value\030\010 \001(\t\0323\n\010NamePart\022\021\n\tname_part\030\001"
    705     " \002(\t\022\024\n\014is_extension\030\002 \002(\010\"\261\001\n\016SourceCod"
    706     "eInfo\022:\n\010location\030\001 \003(\0132(.google.protobu"
    707     "f.SourceCodeInfo.Location\032c\n\010Location\022\020\n"
    708     "\004path\030\001 \003(\005B\002\020\001\022\020\n\004span\030\002 \003(\005B\002\020\001\022\030\n\020lea"
    709     "ding_comments\030\003 \001(\t\022\031\n\021trailing_comments"
    710     "\030\004 \001(\tB)\n\023com.google.protobufB\020Descripto"
    711     "rProtosH\001", 4449);
    712   ::google::protobuf::MessageFactory::InternalRegisterGeneratedFile(
    713     "google/protobuf/descriptor.proto", &protobuf_RegisterTypes);
    714   FileDescriptorSet::default_instance_ = new FileDescriptorSet();
    715   FileDescriptorProto::default_instance_ = new FileDescriptorProto();
    716   DescriptorProto::default_instance_ = new DescriptorProto();
    717   DescriptorProto_ExtensionRange::default_instance_ = new DescriptorProto_ExtensionRange();
    718   FieldDescriptorProto::default_instance_ = new FieldDescriptorProto();
    719   OneofDescriptorProto::default_instance_ = new OneofDescriptorProto();
    720   EnumDescriptorProto::default_instance_ = new EnumDescriptorProto();
    721   EnumValueDescriptorProto::default_instance_ = new EnumValueDescriptorProto();
    722   ServiceDescriptorProto::default_instance_ = new ServiceDescriptorProto();
    723   MethodDescriptorProto::default_instance_ = new MethodDescriptorProto();
    724   FileOptions::default_instance_ = new FileOptions();
    725   MessageOptions::default_instance_ = new MessageOptions();
    726   FieldOptions::default_instance_ = new FieldOptions();
    727   EnumOptions::default_instance_ = new EnumOptions();
    728   EnumValueOptions::default_instance_ = new EnumValueOptions();
    729   ServiceOptions::default_instance_ = new ServiceOptions();
    730   MethodOptions::default_instance_ = new MethodOptions();
    731   UninterpretedOption::default_instance_ = new UninterpretedOption();
    732   UninterpretedOption_NamePart::default_instance_ = new UninterpretedOption_NamePart();
    733   SourceCodeInfo::default_instance_ = new SourceCodeInfo();
    734   SourceCodeInfo_Location::default_instance_ = new SourceCodeInfo_Location();
    735   FileDescriptorSet::default_instance_->InitAsDefaultInstance();
    736   FileDescriptorProto::default_instance_->InitAsDefaultInstance();
    737   DescriptorProto::default_instance_->InitAsDefaultInstance();
    738   DescriptorProto_ExtensionRange::default_instance_->InitAsDefaultInstance();
    739   FieldDescriptorProto::default_instance_->InitAsDefaultInstance();
    740   OneofDescriptorProto::default_instance_->InitAsDefaultInstance();
    741   EnumDescriptorProto::default_instance_->InitAsDefaultInstance();
    742   EnumValueDescriptorProto::default_instance_->InitAsDefaultInstance();
    743   ServiceDescriptorProto::default_instance_->InitAsDefaultInstance();
    744   MethodDescriptorProto::default_instance_->InitAsDefaultInstance();
    745   FileOptions::default_instance_->InitAsDefaultInstance();
    746   MessageOptions::default_instance_->InitAsDefaultInstance();
    747   FieldOptions::default_instance_->InitAsDefaultInstance();
    748   EnumOptions::default_instance_->InitAsDefaultInstance();
    749   EnumValueOptions::default_instance_->InitAsDefaultInstance();
    750   ServiceOptions::default_instance_->InitAsDefaultInstance();
    751   MethodOptions::default_instance_->InitAsDefaultInstance();
    752   UninterpretedOption::default_instance_->InitAsDefaultInstance();
    753   UninterpretedOption_NamePart::default_instance_->InitAsDefaultInstance();
    754   SourceCodeInfo::default_instance_->InitAsDefaultInstance();
    755   SourceCodeInfo_Location::default_instance_->InitAsDefaultInstance();
    756   ::google::protobuf::internal::OnShutdown(&protobuf_ShutdownFile_google_2fprotobuf_2fdescriptor_2eproto);
    757 }
    758 
    759 // Force AddDescriptors() to be called at static initialization time.
    760 struct StaticDescriptorInitializer_google_2fprotobuf_2fdescriptor_2eproto {
    761   StaticDescriptorInitializer_google_2fprotobuf_2fdescriptor_2eproto() {
    762     protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();
    763   }
    764 } static_descriptor_initializer_google_2fprotobuf_2fdescriptor_2eproto_;
    765 
    766 // ===================================================================
    767 
    768 #ifndef _MSC_VER
    769 const int FileDescriptorSet::kFileFieldNumber;
    770 #endif  // !_MSC_VER
    771 
    772 FileDescriptorSet::FileDescriptorSet()
    773   : ::google::protobuf::Message() {
    774   SharedCtor();
    775   // @@protoc_insertion_point(constructor:google.protobuf.FileDescriptorSet)
    776 }
    777 
    778 void FileDescriptorSet::InitAsDefaultInstance() {
    779 }
    780 
    781 FileDescriptorSet::FileDescriptorSet(const FileDescriptorSet& from)
    782   : ::google::protobuf::Message() {
    783   SharedCtor();
    784   MergeFrom(from);
    785   // @@protoc_insertion_point(copy_constructor:google.protobuf.FileDescriptorSet)
    786 }
    787 
    788 void FileDescriptorSet::SharedCtor() {
    789   _cached_size_ = 0;
    790   ::memset(_has_bits_, 0, sizeof(_has_bits_));
    791 }
    792 
    793 FileDescriptorSet::~FileDescriptorSet() {
    794   // @@protoc_insertion_point(destructor:google.protobuf.FileDescriptorSet)
    795   SharedDtor();
    796 }
    797 
    798 void FileDescriptorSet::SharedDtor() {
    799   if (this != default_instance_) {
    800   }
    801 }
    802 
    803 void FileDescriptorSet::SetCachedSize(int size) const {
    804   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
    805   _cached_size_ = size;
    806   GOOGLE_SAFE_CONCURRENT_WRITES_END();
    807 }
    808 const ::google::protobuf::Descriptor* FileDescriptorSet::descriptor() {
    809   protobuf_AssignDescriptorsOnce();
    810   return FileDescriptorSet_descriptor_;
    811 }
    812 
    813 const FileDescriptorSet& FileDescriptorSet::default_instance() {
    814   if (default_instance_ == NULL) protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();
    815   return *default_instance_;
    816 }
    817 
    818 FileDescriptorSet* FileDescriptorSet::default_instance_ = NULL;
    819 
    820 FileDescriptorSet* FileDescriptorSet::New() const {
    821   return new FileDescriptorSet;
    822 }
    823 
    824 void FileDescriptorSet::Clear() {
    825   file_.Clear();
    826   ::memset(_has_bits_, 0, sizeof(_has_bits_));
    827   mutable_unknown_fields()->Clear();
    828 }
    829 
    830 bool FileDescriptorSet::MergePartialFromCodedStream(
    831     ::google::protobuf::io::CodedInputStream* input) {
    832 #define DO_(EXPRESSION) if (!(EXPRESSION)) goto failure
    833   ::google::protobuf::uint32 tag;
    834   // @@protoc_insertion_point(parse_start:google.protobuf.FileDescriptorSet)
    835   for (;;) {
    836     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
    837     tag = p.first;
    838     if (!p.second) goto handle_unusual;
    839     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
    840       // repeated .google.protobuf.FileDescriptorProto file = 1;
    841       case 1: {
    842         if (tag == 10) {
    843          parse_file:
    844           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
    845                 input, add_file()));
    846         } else {
    847           goto handle_unusual;
    848         }
    849         if (input->ExpectTag(10)) goto parse_file;
    850         if (input->ExpectAtEnd()) goto success;
    851         break;
    852       }
    853 
    854       default: {
    855       handle_unusual:
    856         if (tag == 0 ||
    857             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
    858             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
    859           goto success;
    860         }
    861         DO_(::google::protobuf::internal::WireFormat::SkipField(
    862               input, tag, mutable_unknown_fields()));
    863         break;
    864       }
    865     }
    866   }
    867 success:
    868   // @@protoc_insertion_point(parse_success:google.protobuf.FileDescriptorSet)
    869   return true;
    870 failure:
    871   // @@protoc_insertion_point(parse_failure:google.protobuf.FileDescriptorSet)
    872   return false;
    873 #undef DO_
    874 }
    875 
    876 void FileDescriptorSet::SerializeWithCachedSizes(
    877     ::google::protobuf::io::CodedOutputStream* output) const {
    878   // @@protoc_insertion_point(serialize_start:google.protobuf.FileDescriptorSet)
    879   // repeated .google.protobuf.FileDescriptorProto file = 1;
    880   for (int i = 0; i < this->file_size(); i++) {
    881     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
    882       1, this->file(i), output);
    883   }
    884 
    885   if (!unknown_fields().empty()) {
    886     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
    887         unknown_fields(), output);
    888   }
    889   // @@protoc_insertion_point(serialize_end:google.protobuf.FileDescriptorSet)
    890 }
    891 
    892 ::google::protobuf::uint8* FileDescriptorSet::SerializeWithCachedSizesToArray(
    893     ::google::protobuf::uint8* target) const {
    894   // @@protoc_insertion_point(serialize_to_array_start:google.protobuf.FileDescriptorSet)
    895   // repeated .google.protobuf.FileDescriptorProto file = 1;
    896   for (int i = 0; i < this->file_size(); i++) {
    897     target = ::google::protobuf::internal::WireFormatLite::
    898       WriteMessageNoVirtualToArray(
    899         1, this->file(i), target);
    900   }
    901 
    902   if (!unknown_fields().empty()) {
    903     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
    904         unknown_fields(), target);
    905   }
    906   // @@protoc_insertion_point(serialize_to_array_end:google.protobuf.FileDescriptorSet)
    907   return target;
    908 }
    909 
    910 int FileDescriptorSet::ByteSize() const {
    911   int total_size = 0;
    912 
    913   // repeated .google.protobuf.FileDescriptorProto file = 1;
    914   total_size += 1 * this->file_size();
    915   for (int i = 0; i < this->file_size(); i++) {
    916     total_size +=
    917       ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
    918         this->file(i));
    919   }
    920 
    921   if (!unknown_fields().empty()) {
    922     total_size +=
    923       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
    924         unknown_fields());
    925   }
    926   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
    927   _cached_size_ = total_size;
    928   GOOGLE_SAFE_CONCURRENT_WRITES_END();
    929   return total_size;
    930 }
    931 
    932 void FileDescriptorSet::MergeFrom(const ::google::protobuf::Message& from) {
    933   GOOGLE_CHECK_NE(&from, this);
    934   const FileDescriptorSet* source =
    935     ::google::protobuf::internal::dynamic_cast_if_available<const FileDescriptorSet*>(
    936       &from);
    937   if (source == NULL) {
    938     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
    939   } else {
    940     MergeFrom(*source);
    941   }
    942 }
    943 
    944 void FileDescriptorSet::MergeFrom(const FileDescriptorSet& from) {
    945   GOOGLE_CHECK_NE(&from, this);
    946   file_.MergeFrom(from.file_);
    947   mutable_unknown_fields()->MergeFrom(from.unknown_fields());
    948 }
    949 
    950 void FileDescriptorSet::CopyFrom(const ::google::protobuf::Message& from) {
    951   if (&from == this) return;
    952   Clear();
    953   MergeFrom(from);
    954 }
    955 
    956 void FileDescriptorSet::CopyFrom(const FileDescriptorSet& from) {
    957   if (&from == this) return;
    958   Clear();
    959   MergeFrom(from);
    960 }
    961 
    962 bool FileDescriptorSet::IsInitialized() const {
    963 
    964   if (!::google::protobuf::internal::AllAreInitialized(this->file())) return false;
    965   return true;
    966 }
    967 
    968 void FileDescriptorSet::Swap(FileDescriptorSet* other) {
    969   if (other != this) {
    970     file_.Swap(&other->file_);
    971     std::swap(_has_bits_[0], other->_has_bits_[0]);
    972     _unknown_fields_.Swap(&other->_unknown_fields_);
    973     std::swap(_cached_size_, other->_cached_size_);
    974   }
    975 }
    976 
    977 ::google::protobuf::Metadata FileDescriptorSet::GetMetadata() const {
    978   protobuf_AssignDescriptorsOnce();
    979   ::google::protobuf::Metadata metadata;
    980   metadata.descriptor = FileDescriptorSet_descriptor_;
    981   metadata.reflection = FileDescriptorSet_reflection_;
    982   return metadata;
    983 }
    984 
    985 
    986 // ===================================================================
    987 
    988 #ifndef _MSC_VER
    989 const int FileDescriptorProto::kNameFieldNumber;
    990 const int FileDescriptorProto::kPackageFieldNumber;
    991 const int FileDescriptorProto::kDependencyFieldNumber;
    992 const int FileDescriptorProto::kPublicDependencyFieldNumber;
    993 const int FileDescriptorProto::kWeakDependencyFieldNumber;
    994 const int FileDescriptorProto::kMessageTypeFieldNumber;
    995 const int FileDescriptorProto::kEnumTypeFieldNumber;
    996 const int FileDescriptorProto::kServiceFieldNumber;
    997 const int FileDescriptorProto::kExtensionFieldNumber;
    998 const int FileDescriptorProto::kOptionsFieldNumber;
    999 const int FileDescriptorProto::kSourceCodeInfoFieldNumber;
   1000 #endif  // !_MSC_VER
   1001 
   1002 FileDescriptorProto::FileDescriptorProto()
   1003   : ::google::protobuf::Message() {
   1004   SharedCtor();
   1005   // @@protoc_insertion_point(constructor:google.protobuf.FileDescriptorProto)
   1006 }
   1007 
   1008 void FileDescriptorProto::InitAsDefaultInstance() {
   1009   options_ = const_cast< ::google::protobuf::FileOptions*>(&::google::protobuf::FileOptions::default_instance());
   1010   source_code_info_ = const_cast< ::google::protobuf::SourceCodeInfo*>(&::google::protobuf::SourceCodeInfo::default_instance());
   1011 }
   1012 
   1013 FileDescriptorProto::FileDescriptorProto(const FileDescriptorProto& from)
   1014   : ::google::protobuf::Message() {
   1015   SharedCtor();
   1016   MergeFrom(from);
   1017   // @@protoc_insertion_point(copy_constructor:google.protobuf.FileDescriptorProto)
   1018 }
   1019 
   1020 void FileDescriptorProto::SharedCtor() {
   1021   ::google::protobuf::internal::GetEmptyString();
   1022   _cached_size_ = 0;
   1023   name_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   1024   package_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   1025   options_ = NULL;
   1026   source_code_info_ = NULL;
   1027   ::memset(_has_bits_, 0, sizeof(_has_bits_));
   1028 }
   1029 
   1030 FileDescriptorProto::~FileDescriptorProto() {
   1031   // @@protoc_insertion_point(destructor:google.protobuf.FileDescriptorProto)
   1032   SharedDtor();
   1033 }
   1034 
   1035 void FileDescriptorProto::SharedDtor() {
   1036   if (name_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   1037     delete name_;
   1038   }
   1039   if (package_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   1040     delete package_;
   1041   }
   1042   if (this != default_instance_) {
   1043     delete options_;
   1044     delete source_code_info_;
   1045   }
   1046 }
   1047 
   1048 void FileDescriptorProto::SetCachedSize(int size) const {
   1049   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   1050   _cached_size_ = size;
   1051   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   1052 }
   1053 const ::google::protobuf::Descriptor* FileDescriptorProto::descriptor() {
   1054   protobuf_AssignDescriptorsOnce();
   1055   return FileDescriptorProto_descriptor_;
   1056 }
   1057 
   1058 const FileDescriptorProto& FileDescriptorProto::default_instance() {
   1059   if (default_instance_ == NULL) protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();
   1060   return *default_instance_;
   1061 }
   1062 
   1063 FileDescriptorProto* FileDescriptorProto::default_instance_ = NULL;
   1064 
   1065 FileDescriptorProto* FileDescriptorProto::New() const {
   1066   return new FileDescriptorProto;
   1067 }
   1068 
   1069 void FileDescriptorProto::Clear() {
   1070   if (_has_bits_[0 / 32] & 3) {
   1071     if (has_name()) {
   1072       if (name_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   1073         name_->clear();
   1074       }
   1075     }
   1076     if (has_package()) {
   1077       if (package_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   1078         package_->clear();
   1079       }
   1080     }
   1081   }
   1082   if (_has_bits_[8 / 32] & 1536) {
   1083     if (has_options()) {
   1084       if (options_ != NULL) options_->::google::protobuf::FileOptions::Clear();
   1085     }
   1086     if (has_source_code_info()) {
   1087       if (source_code_info_ != NULL) source_code_info_->::google::protobuf::SourceCodeInfo::Clear();
   1088     }
   1089   }
   1090   dependency_.Clear();
   1091   public_dependency_.Clear();
   1092   weak_dependency_.Clear();
   1093   message_type_.Clear();
   1094   enum_type_.Clear();
   1095   service_.Clear();
   1096   extension_.Clear();
   1097   ::memset(_has_bits_, 0, sizeof(_has_bits_));
   1098   mutable_unknown_fields()->Clear();
   1099 }
   1100 
   1101 bool FileDescriptorProto::MergePartialFromCodedStream(
   1102     ::google::protobuf::io::CodedInputStream* input) {
   1103 #define DO_(EXPRESSION) if (!(EXPRESSION)) goto failure
   1104   ::google::protobuf::uint32 tag;
   1105   // @@protoc_insertion_point(parse_start:google.protobuf.FileDescriptorProto)
   1106   for (;;) {
   1107     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
   1108     tag = p.first;
   1109     if (!p.second) goto handle_unusual;
   1110     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
   1111       // optional string name = 1;
   1112       case 1: {
   1113         if (tag == 10) {
   1114           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
   1115                 input, this->mutable_name()));
   1116           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   1117             this->name().data(), this->name().length(),
   1118             ::google::protobuf::internal::WireFormat::PARSE,
   1119             "name");
   1120         } else {
   1121           goto handle_unusual;
   1122         }
   1123         if (input->ExpectTag(18)) goto parse_package;
   1124         break;
   1125       }
   1126 
   1127       // optional string package = 2;
   1128       case 2: {
   1129         if (tag == 18) {
   1130          parse_package:
   1131           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
   1132                 input, this->mutable_package()));
   1133           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   1134             this->package().data(), this->package().length(),
   1135             ::google::protobuf::internal::WireFormat::PARSE,
   1136             "package");
   1137         } else {
   1138           goto handle_unusual;
   1139         }
   1140         if (input->ExpectTag(26)) goto parse_dependency;
   1141         break;
   1142       }
   1143 
   1144       // repeated string dependency = 3;
   1145       case 3: {
   1146         if (tag == 26) {
   1147          parse_dependency:
   1148           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
   1149                 input, this->add_dependency()));
   1150           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   1151             this->dependency(this->dependency_size() - 1).data(),
   1152             this->dependency(this->dependency_size() - 1).length(),
   1153             ::google::protobuf::internal::WireFormat::PARSE,
   1154             "dependency");
   1155         } else {
   1156           goto handle_unusual;
   1157         }
   1158         if (input->ExpectTag(26)) goto parse_dependency;
   1159         if (input->ExpectTag(34)) goto parse_message_type;
   1160         break;
   1161       }
   1162 
   1163       // repeated .google.protobuf.DescriptorProto message_type = 4;
   1164       case 4: {
   1165         if (tag == 34) {
   1166          parse_message_type:
   1167           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
   1168                 input, add_message_type()));
   1169         } else {
   1170           goto handle_unusual;
   1171         }
   1172         if (input->ExpectTag(34)) goto parse_message_type;
   1173         if (input->ExpectTag(42)) goto parse_enum_type;
   1174         break;
   1175       }
   1176 
   1177       // repeated .google.protobuf.EnumDescriptorProto enum_type = 5;
   1178       case 5: {
   1179         if (tag == 42) {
   1180          parse_enum_type:
   1181           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
   1182                 input, add_enum_type()));
   1183         } else {
   1184           goto handle_unusual;
   1185         }
   1186         if (input->ExpectTag(42)) goto parse_enum_type;
   1187         if (input->ExpectTag(50)) goto parse_service;
   1188         break;
   1189       }
   1190 
   1191       // repeated .google.protobuf.ServiceDescriptorProto service = 6;
   1192       case 6: {
   1193         if (tag == 50) {
   1194          parse_service:
   1195           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
   1196                 input, add_service()));
   1197         } else {
   1198           goto handle_unusual;
   1199         }
   1200         if (input->ExpectTag(50)) goto parse_service;
   1201         if (input->ExpectTag(58)) goto parse_extension;
   1202         break;
   1203       }
   1204 
   1205       // repeated .google.protobuf.FieldDescriptorProto extension = 7;
   1206       case 7: {
   1207         if (tag == 58) {
   1208          parse_extension:
   1209           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
   1210                 input, add_extension()));
   1211         } else {
   1212           goto handle_unusual;
   1213         }
   1214         if (input->ExpectTag(58)) goto parse_extension;
   1215         if (input->ExpectTag(66)) goto parse_options;
   1216         break;
   1217       }
   1218 
   1219       // optional .google.protobuf.FileOptions options = 8;
   1220       case 8: {
   1221         if (tag == 66) {
   1222          parse_options:
   1223           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
   1224                input, mutable_options()));
   1225         } else {
   1226           goto handle_unusual;
   1227         }
   1228         if (input->ExpectTag(74)) goto parse_source_code_info;
   1229         break;
   1230       }
   1231 
   1232       // optional .google.protobuf.SourceCodeInfo source_code_info = 9;
   1233       case 9: {
   1234         if (tag == 74) {
   1235          parse_source_code_info:
   1236           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
   1237                input, mutable_source_code_info()));
   1238         } else {
   1239           goto handle_unusual;
   1240         }
   1241         if (input->ExpectTag(80)) goto parse_public_dependency;
   1242         break;
   1243       }
   1244 
   1245       // repeated int32 public_dependency = 10;
   1246       case 10: {
   1247         if (tag == 80) {
   1248          parse_public_dependency:
   1249           DO_((::google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitive<
   1250                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
   1251                  1, 80, input, this->mutable_public_dependency())));
   1252         } else if (tag == 82) {
   1253           DO_((::google::protobuf::internal::WireFormatLite::ReadPackedPrimitiveNoInline<
   1254                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
   1255                  input, this->mutable_public_dependency())));
   1256         } else {
   1257           goto handle_unusual;
   1258         }
   1259         if (input->ExpectTag(80)) goto parse_public_dependency;
   1260         if (input->ExpectTag(88)) goto parse_weak_dependency;
   1261         break;
   1262       }
   1263 
   1264       // repeated int32 weak_dependency = 11;
   1265       case 11: {
   1266         if (tag == 88) {
   1267          parse_weak_dependency:
   1268           DO_((::google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitive<
   1269                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
   1270                  1, 88, input, this->mutable_weak_dependency())));
   1271         } else if (tag == 90) {
   1272           DO_((::google::protobuf::internal::WireFormatLite::ReadPackedPrimitiveNoInline<
   1273                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
   1274                  input, this->mutable_weak_dependency())));
   1275         } else {
   1276           goto handle_unusual;
   1277         }
   1278         if (input->ExpectTag(88)) goto parse_weak_dependency;
   1279         if (input->ExpectAtEnd()) goto success;
   1280         break;
   1281       }
   1282 
   1283       default: {
   1284       handle_unusual:
   1285         if (tag == 0 ||
   1286             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
   1287             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
   1288           goto success;
   1289         }
   1290         DO_(::google::protobuf::internal::WireFormat::SkipField(
   1291               input, tag, mutable_unknown_fields()));
   1292         break;
   1293       }
   1294     }
   1295   }
   1296 success:
   1297   // @@protoc_insertion_point(parse_success:google.protobuf.FileDescriptorProto)
   1298   return true;
   1299 failure:
   1300   // @@protoc_insertion_point(parse_failure:google.protobuf.FileDescriptorProto)
   1301   return false;
   1302 #undef DO_
   1303 }
   1304 
   1305 void FileDescriptorProto::SerializeWithCachedSizes(
   1306     ::google::protobuf::io::CodedOutputStream* output) const {
   1307   // @@protoc_insertion_point(serialize_start:google.protobuf.FileDescriptorProto)
   1308   // optional string name = 1;
   1309   if (has_name()) {
   1310     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   1311       this->name().data(), this->name().length(),
   1312       ::google::protobuf::internal::WireFormat::SERIALIZE,
   1313       "name");
   1314     ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
   1315       1, this->name(), output);
   1316   }
   1317 
   1318   // optional string package = 2;
   1319   if (has_package()) {
   1320     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   1321       this->package().data(), this->package().length(),
   1322       ::google::protobuf::internal::WireFormat::SERIALIZE,
   1323       "package");
   1324     ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
   1325       2, this->package(), output);
   1326   }
   1327 
   1328   // repeated string dependency = 3;
   1329   for (int i = 0; i < this->dependency_size(); i++) {
   1330   ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   1331     this->dependency(i).data(), this->dependency(i).length(),
   1332     ::google::protobuf::internal::WireFormat::SERIALIZE,
   1333     "dependency");
   1334     ::google::protobuf::internal::WireFormatLite::WriteString(
   1335       3, this->dependency(i), output);
   1336   }
   1337 
   1338   // repeated .google.protobuf.DescriptorProto message_type = 4;
   1339   for (int i = 0; i < this->message_type_size(); i++) {
   1340     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
   1341       4, this->message_type(i), output);
   1342   }
   1343 
   1344   // repeated .google.protobuf.EnumDescriptorProto enum_type = 5;
   1345   for (int i = 0; i < this->enum_type_size(); i++) {
   1346     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
   1347       5, this->enum_type(i), output);
   1348   }
   1349 
   1350   // repeated .google.protobuf.ServiceDescriptorProto service = 6;
   1351   for (int i = 0; i < this->service_size(); i++) {
   1352     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
   1353       6, this->service(i), output);
   1354   }
   1355 
   1356   // repeated .google.protobuf.FieldDescriptorProto extension = 7;
   1357   for (int i = 0; i < this->extension_size(); i++) {
   1358     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
   1359       7, this->extension(i), output);
   1360   }
   1361 
   1362   // optional .google.protobuf.FileOptions options = 8;
   1363   if (has_options()) {
   1364     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
   1365       8, this->options(), output);
   1366   }
   1367 
   1368   // optional .google.protobuf.SourceCodeInfo source_code_info = 9;
   1369   if (has_source_code_info()) {
   1370     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
   1371       9, this->source_code_info(), output);
   1372   }
   1373 
   1374   // repeated int32 public_dependency = 10;
   1375   for (int i = 0; i < this->public_dependency_size(); i++) {
   1376     ::google::protobuf::internal::WireFormatLite::WriteInt32(
   1377       10, this->public_dependency(i), output);
   1378   }
   1379 
   1380   // repeated int32 weak_dependency = 11;
   1381   for (int i = 0; i < this->weak_dependency_size(); i++) {
   1382     ::google::protobuf::internal::WireFormatLite::WriteInt32(
   1383       11, this->weak_dependency(i), output);
   1384   }
   1385 
   1386   if (!unknown_fields().empty()) {
   1387     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
   1388         unknown_fields(), output);
   1389   }
   1390   // @@protoc_insertion_point(serialize_end:google.protobuf.FileDescriptorProto)
   1391 }
   1392 
   1393 ::google::protobuf::uint8* FileDescriptorProto::SerializeWithCachedSizesToArray(
   1394     ::google::protobuf::uint8* target) const {
   1395   // @@protoc_insertion_point(serialize_to_array_start:google.protobuf.FileDescriptorProto)
   1396   // optional string name = 1;
   1397   if (has_name()) {
   1398     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   1399       this->name().data(), this->name().length(),
   1400       ::google::protobuf::internal::WireFormat::SERIALIZE,
   1401       "name");
   1402     target =
   1403       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
   1404         1, this->name(), target);
   1405   }
   1406 
   1407   // optional string package = 2;
   1408   if (has_package()) {
   1409     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   1410       this->package().data(), this->package().length(),
   1411       ::google::protobuf::internal::WireFormat::SERIALIZE,
   1412       "package");
   1413     target =
   1414       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
   1415         2, this->package(), target);
   1416   }
   1417 
   1418   // repeated string dependency = 3;
   1419   for (int i = 0; i < this->dependency_size(); i++) {
   1420     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   1421       this->dependency(i).data(), this->dependency(i).length(),
   1422       ::google::protobuf::internal::WireFormat::SERIALIZE,
   1423       "dependency");
   1424     target = ::google::protobuf::internal::WireFormatLite::
   1425       WriteStringToArray(3, this->dependency(i), target);
   1426   }
   1427 
   1428   // repeated .google.protobuf.DescriptorProto message_type = 4;
   1429   for (int i = 0; i < this->message_type_size(); i++) {
   1430     target = ::google::protobuf::internal::WireFormatLite::
   1431       WriteMessageNoVirtualToArray(
   1432         4, this->message_type(i), target);
   1433   }
   1434 
   1435   // repeated .google.protobuf.EnumDescriptorProto enum_type = 5;
   1436   for (int i = 0; i < this->enum_type_size(); i++) {
   1437     target = ::google::protobuf::internal::WireFormatLite::
   1438       WriteMessageNoVirtualToArray(
   1439         5, this->enum_type(i), target);
   1440   }
   1441 
   1442   // repeated .google.protobuf.ServiceDescriptorProto service = 6;
   1443   for (int i = 0; i < this->service_size(); i++) {
   1444     target = ::google::protobuf::internal::WireFormatLite::
   1445       WriteMessageNoVirtualToArray(
   1446         6, this->service(i), target);
   1447   }
   1448 
   1449   // repeated .google.protobuf.FieldDescriptorProto extension = 7;
   1450   for (int i = 0; i < this->extension_size(); i++) {
   1451     target = ::google::protobuf::internal::WireFormatLite::
   1452       WriteMessageNoVirtualToArray(
   1453         7, this->extension(i), target);
   1454   }
   1455 
   1456   // optional .google.protobuf.FileOptions options = 8;
   1457   if (has_options()) {
   1458     target = ::google::protobuf::internal::WireFormatLite::
   1459       WriteMessageNoVirtualToArray(
   1460         8, this->options(), target);
   1461   }
   1462 
   1463   // optional .google.protobuf.SourceCodeInfo source_code_info = 9;
   1464   if (has_source_code_info()) {
   1465     target = ::google::protobuf::internal::WireFormatLite::
   1466       WriteMessageNoVirtualToArray(
   1467         9, this->source_code_info(), target);
   1468   }
   1469 
   1470   // repeated int32 public_dependency = 10;
   1471   for (int i = 0; i < this->public_dependency_size(); i++) {
   1472     target = ::google::protobuf::internal::WireFormatLite::
   1473       WriteInt32ToArray(10, this->public_dependency(i), target);
   1474   }
   1475 
   1476   // repeated int32 weak_dependency = 11;
   1477   for (int i = 0; i < this->weak_dependency_size(); i++) {
   1478     target = ::google::protobuf::internal::WireFormatLite::
   1479       WriteInt32ToArray(11, this->weak_dependency(i), target);
   1480   }
   1481 
   1482   if (!unknown_fields().empty()) {
   1483     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
   1484         unknown_fields(), target);
   1485   }
   1486   // @@protoc_insertion_point(serialize_to_array_end:google.protobuf.FileDescriptorProto)
   1487   return target;
   1488 }
   1489 
   1490 int FileDescriptorProto::ByteSize() const {
   1491   int total_size = 0;
   1492 
   1493   if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
   1494     // optional string name = 1;
   1495     if (has_name()) {
   1496       total_size += 1 +
   1497         ::google::protobuf::internal::WireFormatLite::StringSize(
   1498           this->name());
   1499     }
   1500 
   1501     // optional string package = 2;
   1502     if (has_package()) {
   1503       total_size += 1 +
   1504         ::google::protobuf::internal::WireFormatLite::StringSize(
   1505           this->package());
   1506     }
   1507 
   1508   }
   1509   if (_has_bits_[9 / 32] & (0xffu << (9 % 32))) {
   1510     // optional .google.protobuf.FileOptions options = 8;
   1511     if (has_options()) {
   1512       total_size += 1 +
   1513         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
   1514           this->options());
   1515     }
   1516 
   1517     // optional .google.protobuf.SourceCodeInfo source_code_info = 9;
   1518     if (has_source_code_info()) {
   1519       total_size += 1 +
   1520         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
   1521           this->source_code_info());
   1522     }
   1523 
   1524   }
   1525   // repeated string dependency = 3;
   1526   total_size += 1 * this->dependency_size();
   1527   for (int i = 0; i < this->dependency_size(); i++) {
   1528     total_size += ::google::protobuf::internal::WireFormatLite::StringSize(
   1529       this->dependency(i));
   1530   }
   1531 
   1532   // repeated int32 public_dependency = 10;
   1533   {
   1534     int data_size = 0;
   1535     for (int i = 0; i < this->public_dependency_size(); i++) {
   1536       data_size += ::google::protobuf::internal::WireFormatLite::
   1537         Int32Size(this->public_dependency(i));
   1538     }
   1539     total_size += 1 * this->public_dependency_size() + data_size;
   1540   }
   1541 
   1542   // repeated int32 weak_dependency = 11;
   1543   {
   1544     int data_size = 0;
   1545     for (int i = 0; i < this->weak_dependency_size(); i++) {
   1546       data_size += ::google::protobuf::internal::WireFormatLite::
   1547         Int32Size(this->weak_dependency(i));
   1548     }
   1549     total_size += 1 * this->weak_dependency_size() + data_size;
   1550   }
   1551 
   1552   // repeated .google.protobuf.DescriptorProto message_type = 4;
   1553   total_size += 1 * this->message_type_size();
   1554   for (int i = 0; i < this->message_type_size(); i++) {
   1555     total_size +=
   1556       ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
   1557         this->message_type(i));
   1558   }
   1559 
   1560   // repeated .google.protobuf.EnumDescriptorProto enum_type = 5;
   1561   total_size += 1 * this->enum_type_size();
   1562   for (int i = 0; i < this->enum_type_size(); i++) {
   1563     total_size +=
   1564       ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
   1565         this->enum_type(i));
   1566   }
   1567 
   1568   // repeated .google.protobuf.ServiceDescriptorProto service = 6;
   1569   total_size += 1 * this->service_size();
   1570   for (int i = 0; i < this->service_size(); i++) {
   1571     total_size +=
   1572       ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
   1573         this->service(i));
   1574   }
   1575 
   1576   // repeated .google.protobuf.FieldDescriptorProto extension = 7;
   1577   total_size += 1 * this->extension_size();
   1578   for (int i = 0; i < this->extension_size(); i++) {
   1579     total_size +=
   1580       ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
   1581         this->extension(i));
   1582   }
   1583 
   1584   if (!unknown_fields().empty()) {
   1585     total_size +=
   1586       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
   1587         unknown_fields());
   1588   }
   1589   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   1590   _cached_size_ = total_size;
   1591   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   1592   return total_size;
   1593 }
   1594 
   1595 void FileDescriptorProto::MergeFrom(const ::google::protobuf::Message& from) {
   1596   GOOGLE_CHECK_NE(&from, this);
   1597   const FileDescriptorProto* source =
   1598     ::google::protobuf::internal::dynamic_cast_if_available<const FileDescriptorProto*>(
   1599       &from);
   1600   if (source == NULL) {
   1601     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
   1602   } else {
   1603     MergeFrom(*source);
   1604   }
   1605 }
   1606 
   1607 void FileDescriptorProto::MergeFrom(const FileDescriptorProto& from) {
   1608   GOOGLE_CHECK_NE(&from, this);
   1609   dependency_.MergeFrom(from.dependency_);
   1610   public_dependency_.MergeFrom(from.public_dependency_);
   1611   weak_dependency_.MergeFrom(from.weak_dependency_);
   1612   message_type_.MergeFrom(from.message_type_);
   1613   enum_type_.MergeFrom(from.enum_type_);
   1614   service_.MergeFrom(from.service_);
   1615   extension_.MergeFrom(from.extension_);
   1616   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
   1617     if (from.has_name()) {
   1618       set_name(from.name());
   1619     }
   1620     if (from.has_package()) {
   1621       set_package(from.package());
   1622     }
   1623   }
   1624   if (from._has_bits_[9 / 32] & (0xffu << (9 % 32))) {
   1625     if (from.has_options()) {
   1626       mutable_options()->::google::protobuf::FileOptions::MergeFrom(from.options());
   1627     }
   1628     if (from.has_source_code_info()) {
   1629       mutable_source_code_info()->::google::protobuf::SourceCodeInfo::MergeFrom(from.source_code_info());
   1630     }
   1631   }
   1632   mutable_unknown_fields()->MergeFrom(from.unknown_fields());
   1633 }
   1634 
   1635 void FileDescriptorProto::CopyFrom(const ::google::protobuf::Message& from) {
   1636   if (&from == this) return;
   1637   Clear();
   1638   MergeFrom(from);
   1639 }
   1640 
   1641 void FileDescriptorProto::CopyFrom(const FileDescriptorProto& from) {
   1642   if (&from == this) return;
   1643   Clear();
   1644   MergeFrom(from);
   1645 }
   1646 
   1647 bool FileDescriptorProto::IsInitialized() const {
   1648 
   1649   if (!::google::protobuf::internal::AllAreInitialized(this->message_type())) return false;
   1650   if (!::google::protobuf::internal::AllAreInitialized(this->enum_type())) return false;
   1651   if (!::google::protobuf::internal::AllAreInitialized(this->service())) return false;
   1652   if (!::google::protobuf::internal::AllAreInitialized(this->extension())) return false;
   1653   if (has_options()) {
   1654     if (!this->options().IsInitialized()) return false;
   1655   }
   1656   return true;
   1657 }
   1658 
   1659 void FileDescriptorProto::Swap(FileDescriptorProto* other) {
   1660   if (other != this) {
   1661     std::swap(name_, other->name_);
   1662     std::swap(package_, other->package_);
   1663     dependency_.Swap(&other->dependency_);
   1664     public_dependency_.Swap(&other->public_dependency_);
   1665     weak_dependency_.Swap(&other->weak_dependency_);
   1666     message_type_.Swap(&other->message_type_);
   1667     enum_type_.Swap(&other->enum_type_);
   1668     service_.Swap(&other->service_);
   1669     extension_.Swap(&other->extension_);
   1670     std::swap(options_, other->options_);
   1671     std::swap(source_code_info_, other->source_code_info_);
   1672     std::swap(_has_bits_[0], other->_has_bits_[0]);
   1673     _unknown_fields_.Swap(&other->_unknown_fields_);
   1674     std::swap(_cached_size_, other->_cached_size_);
   1675   }
   1676 }
   1677 
   1678 ::google::protobuf::Metadata FileDescriptorProto::GetMetadata() const {
   1679   protobuf_AssignDescriptorsOnce();
   1680   ::google::protobuf::Metadata metadata;
   1681   metadata.descriptor = FileDescriptorProto_descriptor_;
   1682   metadata.reflection = FileDescriptorProto_reflection_;
   1683   return metadata;
   1684 }
   1685 
   1686 
   1687 // ===================================================================
   1688 
   1689 #ifndef _MSC_VER
   1690 const int DescriptorProto_ExtensionRange::kStartFieldNumber;
   1691 const int DescriptorProto_ExtensionRange::kEndFieldNumber;
   1692 #endif  // !_MSC_VER
   1693 
   1694 DescriptorProto_ExtensionRange::DescriptorProto_ExtensionRange()
   1695   : ::google::protobuf::Message() {
   1696   SharedCtor();
   1697   // @@protoc_insertion_point(constructor:google.protobuf.DescriptorProto.ExtensionRange)
   1698 }
   1699 
   1700 void DescriptorProto_ExtensionRange::InitAsDefaultInstance() {
   1701 }
   1702 
   1703 DescriptorProto_ExtensionRange::DescriptorProto_ExtensionRange(const DescriptorProto_ExtensionRange& from)
   1704   : ::google::protobuf::Message() {
   1705   SharedCtor();
   1706   MergeFrom(from);
   1707   // @@protoc_insertion_point(copy_constructor:google.protobuf.DescriptorProto.ExtensionRange)
   1708 }
   1709 
   1710 void DescriptorProto_ExtensionRange::SharedCtor() {
   1711   _cached_size_ = 0;
   1712   start_ = 0;
   1713   end_ = 0;
   1714   ::memset(_has_bits_, 0, sizeof(_has_bits_));
   1715 }
   1716 
   1717 DescriptorProto_ExtensionRange::~DescriptorProto_ExtensionRange() {
   1718   // @@protoc_insertion_point(destructor:google.protobuf.DescriptorProto.ExtensionRange)
   1719   SharedDtor();
   1720 }
   1721 
   1722 void DescriptorProto_ExtensionRange::SharedDtor() {
   1723   if (this != default_instance_) {
   1724   }
   1725 }
   1726 
   1727 void DescriptorProto_ExtensionRange::SetCachedSize(int size) const {
   1728   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   1729   _cached_size_ = size;
   1730   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   1731 }
   1732 const ::google::protobuf::Descriptor* DescriptorProto_ExtensionRange::descriptor() {
   1733   protobuf_AssignDescriptorsOnce();
   1734   return DescriptorProto_ExtensionRange_descriptor_;
   1735 }
   1736 
   1737 const DescriptorProto_ExtensionRange& DescriptorProto_ExtensionRange::default_instance() {
   1738   if (default_instance_ == NULL) protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();
   1739   return *default_instance_;
   1740 }
   1741 
   1742 DescriptorProto_ExtensionRange* DescriptorProto_ExtensionRange::default_instance_ = NULL;
   1743 
   1744 DescriptorProto_ExtensionRange* DescriptorProto_ExtensionRange::New() const {
   1745   return new DescriptorProto_ExtensionRange;
   1746 }
   1747 
   1748 void DescriptorProto_ExtensionRange::Clear() {
   1749 #define OFFSET_OF_FIELD_(f) (reinterpret_cast<char*>(      \
   1750   &reinterpret_cast<DescriptorProto_ExtensionRange*>(16)->f) - \
   1751    reinterpret_cast<char*>(16))
   1752 
   1753 #define ZR_(first, last) do {                              \
   1754     size_t f = OFFSET_OF_FIELD_(first);                    \
   1755     size_t n = OFFSET_OF_FIELD_(last) - f + sizeof(last);  \
   1756     ::memset(&first, 0, n);                                \
   1757   } while (0)
   1758 
   1759   ZR_(start_, end_);
   1760 
   1761 #undef OFFSET_OF_FIELD_
   1762 #undef ZR_
   1763 
   1764   ::memset(_has_bits_, 0, sizeof(_has_bits_));
   1765   mutable_unknown_fields()->Clear();
   1766 }
   1767 
   1768 bool DescriptorProto_ExtensionRange::MergePartialFromCodedStream(
   1769     ::google::protobuf::io::CodedInputStream* input) {
   1770 #define DO_(EXPRESSION) if (!(EXPRESSION)) goto failure
   1771   ::google::protobuf::uint32 tag;
   1772   // @@protoc_insertion_point(parse_start:google.protobuf.DescriptorProto.ExtensionRange)
   1773   for (;;) {
   1774     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
   1775     tag = p.first;
   1776     if (!p.second) goto handle_unusual;
   1777     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
   1778       // optional int32 start = 1;
   1779       case 1: {
   1780         if (tag == 8) {
   1781           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
   1782                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
   1783                  input, &start_)));
   1784           set_has_start();
   1785         } else {
   1786           goto handle_unusual;
   1787         }
   1788         if (input->ExpectTag(16)) goto parse_end;
   1789         break;
   1790       }
   1791 
   1792       // optional int32 end = 2;
   1793       case 2: {
   1794         if (tag == 16) {
   1795          parse_end:
   1796           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
   1797                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
   1798                  input, &end_)));
   1799           set_has_end();
   1800         } else {
   1801           goto handle_unusual;
   1802         }
   1803         if (input->ExpectAtEnd()) goto success;
   1804         break;
   1805       }
   1806 
   1807       default: {
   1808       handle_unusual:
   1809         if (tag == 0 ||
   1810             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
   1811             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
   1812           goto success;
   1813         }
   1814         DO_(::google::protobuf::internal::WireFormat::SkipField(
   1815               input, tag, mutable_unknown_fields()));
   1816         break;
   1817       }
   1818     }
   1819   }
   1820 success:
   1821   // @@protoc_insertion_point(parse_success:google.protobuf.DescriptorProto.ExtensionRange)
   1822   return true;
   1823 failure:
   1824   // @@protoc_insertion_point(parse_failure:google.protobuf.DescriptorProto.ExtensionRange)
   1825   return false;
   1826 #undef DO_
   1827 }
   1828 
   1829 void DescriptorProto_ExtensionRange::SerializeWithCachedSizes(
   1830     ::google::protobuf::io::CodedOutputStream* output) const {
   1831   // @@protoc_insertion_point(serialize_start:google.protobuf.DescriptorProto.ExtensionRange)
   1832   // optional int32 start = 1;
   1833   if (has_start()) {
   1834     ::google::protobuf::internal::WireFormatLite::WriteInt32(1, this->start(), output);
   1835   }
   1836 
   1837   // optional int32 end = 2;
   1838   if (has_end()) {
   1839     ::google::protobuf::internal::WireFormatLite::WriteInt32(2, this->end(), output);
   1840   }
   1841 
   1842   if (!unknown_fields().empty()) {
   1843     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
   1844         unknown_fields(), output);
   1845   }
   1846   // @@protoc_insertion_point(serialize_end:google.protobuf.DescriptorProto.ExtensionRange)
   1847 }
   1848 
   1849 ::google::protobuf::uint8* DescriptorProto_ExtensionRange::SerializeWithCachedSizesToArray(
   1850     ::google::protobuf::uint8* target) const {
   1851   // @@protoc_insertion_point(serialize_to_array_start:google.protobuf.DescriptorProto.ExtensionRange)
   1852   // optional int32 start = 1;
   1853   if (has_start()) {
   1854     target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(1, this->start(), target);
   1855   }
   1856 
   1857   // optional int32 end = 2;
   1858   if (has_end()) {
   1859     target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(2, this->end(), target);
   1860   }
   1861 
   1862   if (!unknown_fields().empty()) {
   1863     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
   1864         unknown_fields(), target);
   1865   }
   1866   // @@protoc_insertion_point(serialize_to_array_end:google.protobuf.DescriptorProto.ExtensionRange)
   1867   return target;
   1868 }
   1869 
   1870 int DescriptorProto_ExtensionRange::ByteSize() const {
   1871   int total_size = 0;
   1872 
   1873   if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
   1874     // optional int32 start = 1;
   1875     if (has_start()) {
   1876       total_size += 1 +
   1877         ::google::protobuf::internal::WireFormatLite::Int32Size(
   1878           this->start());
   1879     }
   1880 
   1881     // optional int32 end = 2;
   1882     if (has_end()) {
   1883       total_size += 1 +
   1884         ::google::protobuf::internal::WireFormatLite::Int32Size(
   1885           this->end());
   1886     }
   1887 
   1888   }
   1889   if (!unknown_fields().empty()) {
   1890     total_size +=
   1891       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
   1892         unknown_fields());
   1893   }
   1894   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   1895   _cached_size_ = total_size;
   1896   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   1897   return total_size;
   1898 }
   1899 
   1900 void DescriptorProto_ExtensionRange::MergeFrom(const ::google::protobuf::Message& from) {
   1901   GOOGLE_CHECK_NE(&from, this);
   1902   const DescriptorProto_ExtensionRange* source =
   1903     ::google::protobuf::internal::dynamic_cast_if_available<const DescriptorProto_ExtensionRange*>(
   1904       &from);
   1905   if (source == NULL) {
   1906     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
   1907   } else {
   1908     MergeFrom(*source);
   1909   }
   1910 }
   1911 
   1912 void DescriptorProto_ExtensionRange::MergeFrom(const DescriptorProto_ExtensionRange& from) {
   1913   GOOGLE_CHECK_NE(&from, this);
   1914   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
   1915     if (from.has_start()) {
   1916       set_start(from.start());
   1917     }
   1918     if (from.has_end()) {
   1919       set_end(from.end());
   1920     }
   1921   }
   1922   mutable_unknown_fields()->MergeFrom(from.unknown_fields());
   1923 }
   1924 
   1925 void DescriptorProto_ExtensionRange::CopyFrom(const ::google::protobuf::Message& from) {
   1926   if (&from == this) return;
   1927   Clear();
   1928   MergeFrom(from);
   1929 }
   1930 
   1931 void DescriptorProto_ExtensionRange::CopyFrom(const DescriptorProto_ExtensionRange& from) {
   1932   if (&from == this) return;
   1933   Clear();
   1934   MergeFrom(from);
   1935 }
   1936 
   1937 bool DescriptorProto_ExtensionRange::IsInitialized() const {
   1938 
   1939   return true;
   1940 }
   1941 
   1942 void DescriptorProto_ExtensionRange::Swap(DescriptorProto_ExtensionRange* other) {
   1943   if (other != this) {
   1944     std::swap(start_, other->start_);
   1945     std::swap(end_, other->end_);
   1946     std::swap(_has_bits_[0], other->_has_bits_[0]);
   1947     _unknown_fields_.Swap(&other->_unknown_fields_);
   1948     std::swap(_cached_size_, other->_cached_size_);
   1949   }
   1950 }
   1951 
   1952 ::google::protobuf::Metadata DescriptorProto_ExtensionRange::GetMetadata() const {
   1953   protobuf_AssignDescriptorsOnce();
   1954   ::google::protobuf::Metadata metadata;
   1955   metadata.descriptor = DescriptorProto_ExtensionRange_descriptor_;
   1956   metadata.reflection = DescriptorProto_ExtensionRange_reflection_;
   1957   return metadata;
   1958 }
   1959 
   1960 
   1961 // -------------------------------------------------------------------
   1962 
   1963 #ifndef _MSC_VER
   1964 const int DescriptorProto::kNameFieldNumber;
   1965 const int DescriptorProto::kFieldFieldNumber;
   1966 const int DescriptorProto::kExtensionFieldNumber;
   1967 const int DescriptorProto::kNestedTypeFieldNumber;
   1968 const int DescriptorProto::kEnumTypeFieldNumber;
   1969 const int DescriptorProto::kExtensionRangeFieldNumber;
   1970 const int DescriptorProto::kOneofDeclFieldNumber;
   1971 const int DescriptorProto::kOptionsFieldNumber;
   1972 #endif  // !_MSC_VER
   1973 
   1974 DescriptorProto::DescriptorProto()
   1975   : ::google::protobuf::Message() {
   1976   SharedCtor();
   1977   // @@protoc_insertion_point(constructor:google.protobuf.DescriptorProto)
   1978 }
   1979 
   1980 void DescriptorProto::InitAsDefaultInstance() {
   1981   options_ = const_cast< ::google::protobuf::MessageOptions*>(&::google::protobuf::MessageOptions::default_instance());
   1982 }
   1983 
   1984 DescriptorProto::DescriptorProto(const DescriptorProto& from)
   1985   : ::google::protobuf::Message() {
   1986   SharedCtor();
   1987   MergeFrom(from);
   1988   // @@protoc_insertion_point(copy_constructor:google.protobuf.DescriptorProto)
   1989 }
   1990 
   1991 void DescriptorProto::SharedCtor() {
   1992   ::google::protobuf::internal::GetEmptyString();
   1993   _cached_size_ = 0;
   1994   name_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   1995   options_ = NULL;
   1996   ::memset(_has_bits_, 0, sizeof(_has_bits_));
   1997 }
   1998 
   1999 DescriptorProto::~DescriptorProto() {
   2000   // @@protoc_insertion_point(destructor:google.protobuf.DescriptorProto)
   2001   SharedDtor();
   2002 }
   2003 
   2004 void DescriptorProto::SharedDtor() {
   2005   if (name_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   2006     delete name_;
   2007   }
   2008   if (this != default_instance_) {
   2009     delete options_;
   2010   }
   2011 }
   2012 
   2013 void DescriptorProto::SetCachedSize(int size) const {
   2014   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   2015   _cached_size_ = size;
   2016   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   2017 }
   2018 const ::google::protobuf::Descriptor* DescriptorProto::descriptor() {
   2019   protobuf_AssignDescriptorsOnce();
   2020   return DescriptorProto_descriptor_;
   2021 }
   2022 
   2023 const DescriptorProto& DescriptorProto::default_instance() {
   2024   if (default_instance_ == NULL) protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();
   2025   return *default_instance_;
   2026 }
   2027 
   2028 DescriptorProto* DescriptorProto::default_instance_ = NULL;
   2029 
   2030 DescriptorProto* DescriptorProto::New() const {
   2031   return new DescriptorProto;
   2032 }
   2033 
   2034 void DescriptorProto::Clear() {
   2035   if (_has_bits_[0 / 32] & 129) {
   2036     if (has_name()) {
   2037       if (name_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   2038         name_->clear();
   2039       }
   2040     }
   2041     if (has_options()) {
   2042       if (options_ != NULL) options_->::google::protobuf::MessageOptions::Clear();
   2043     }
   2044   }
   2045   field_.Clear();
   2046   extension_.Clear();
   2047   nested_type_.Clear();
   2048   enum_type_.Clear();
   2049   extension_range_.Clear();
   2050   oneof_decl_.Clear();
   2051   ::memset(_has_bits_, 0, sizeof(_has_bits_));
   2052   mutable_unknown_fields()->Clear();
   2053 }
   2054 
   2055 bool DescriptorProto::MergePartialFromCodedStream(
   2056     ::google::protobuf::io::CodedInputStream* input) {
   2057 #define DO_(EXPRESSION) if (!(EXPRESSION)) goto failure
   2058   ::google::protobuf::uint32 tag;
   2059   // @@protoc_insertion_point(parse_start:google.protobuf.DescriptorProto)
   2060   for (;;) {
   2061     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
   2062     tag = p.first;
   2063     if (!p.second) goto handle_unusual;
   2064     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
   2065       // optional string name = 1;
   2066       case 1: {
   2067         if (tag == 10) {
   2068           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
   2069                 input, this->mutable_name()));
   2070           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   2071             this->name().data(), this->name().length(),
   2072             ::google::protobuf::internal::WireFormat::PARSE,
   2073             "name");
   2074         } else {
   2075           goto handle_unusual;
   2076         }
   2077         if (input->ExpectTag(18)) goto parse_field;
   2078         break;
   2079       }
   2080 
   2081       // repeated .google.protobuf.FieldDescriptorProto field = 2;
   2082       case 2: {
   2083         if (tag == 18) {
   2084          parse_field:
   2085           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
   2086                 input, add_field()));
   2087         } else {
   2088           goto handle_unusual;
   2089         }
   2090         if (input->ExpectTag(18)) goto parse_field;
   2091         if (input->ExpectTag(26)) goto parse_nested_type;
   2092         break;
   2093       }
   2094 
   2095       // repeated .google.protobuf.DescriptorProto nested_type = 3;
   2096       case 3: {
   2097         if (tag == 26) {
   2098          parse_nested_type:
   2099           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
   2100                 input, add_nested_type()));
   2101         } else {
   2102           goto handle_unusual;
   2103         }
   2104         if (input->ExpectTag(26)) goto parse_nested_type;
   2105         if (input->ExpectTag(34)) goto parse_enum_type;
   2106         break;
   2107       }
   2108 
   2109       // repeated .google.protobuf.EnumDescriptorProto enum_type = 4;
   2110       case 4: {
   2111         if (tag == 34) {
   2112          parse_enum_type:
   2113           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
   2114                 input, add_enum_type()));
   2115         } else {
   2116           goto handle_unusual;
   2117         }
   2118         if (input->ExpectTag(34)) goto parse_enum_type;
   2119         if (input->ExpectTag(42)) goto parse_extension_range;
   2120         break;
   2121       }
   2122 
   2123       // repeated .google.protobuf.DescriptorProto.ExtensionRange extension_range = 5;
   2124       case 5: {
   2125         if (tag == 42) {
   2126          parse_extension_range:
   2127           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
   2128                 input, add_extension_range()));
   2129         } else {
   2130           goto handle_unusual;
   2131         }
   2132         if (input->ExpectTag(42)) goto parse_extension_range;
   2133         if (input->ExpectTag(50)) goto parse_extension;
   2134         break;
   2135       }
   2136 
   2137       // repeated .google.protobuf.FieldDescriptorProto extension = 6;
   2138       case 6: {
   2139         if (tag == 50) {
   2140          parse_extension:
   2141           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
   2142                 input, add_extension()));
   2143         } else {
   2144           goto handle_unusual;
   2145         }
   2146         if (input->ExpectTag(50)) goto parse_extension;
   2147         if (input->ExpectTag(58)) goto parse_options;
   2148         break;
   2149       }
   2150 
   2151       // optional .google.protobuf.MessageOptions options = 7;
   2152       case 7: {
   2153         if (tag == 58) {
   2154          parse_options:
   2155           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
   2156                input, mutable_options()));
   2157         } else {
   2158           goto handle_unusual;
   2159         }
   2160         if (input->ExpectTag(66)) goto parse_oneof_decl;
   2161         break;
   2162       }
   2163 
   2164       // repeated .google.protobuf.OneofDescriptorProto oneof_decl = 8;
   2165       case 8: {
   2166         if (tag == 66) {
   2167          parse_oneof_decl:
   2168           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
   2169                 input, add_oneof_decl()));
   2170         } else {
   2171           goto handle_unusual;
   2172         }
   2173         if (input->ExpectTag(66)) goto parse_oneof_decl;
   2174         if (input->ExpectAtEnd()) goto success;
   2175         break;
   2176       }
   2177 
   2178       default: {
   2179       handle_unusual:
   2180         if (tag == 0 ||
   2181             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
   2182             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
   2183           goto success;
   2184         }
   2185         DO_(::google::protobuf::internal::WireFormat::SkipField(
   2186               input, tag, mutable_unknown_fields()));
   2187         break;
   2188       }
   2189     }
   2190   }
   2191 success:
   2192   // @@protoc_insertion_point(parse_success:google.protobuf.DescriptorProto)
   2193   return true;
   2194 failure:
   2195   // @@protoc_insertion_point(parse_failure:google.protobuf.DescriptorProto)
   2196   return false;
   2197 #undef DO_
   2198 }
   2199 
   2200 void DescriptorProto::SerializeWithCachedSizes(
   2201     ::google::protobuf::io::CodedOutputStream* output) const {
   2202   // @@protoc_insertion_point(serialize_start:google.protobuf.DescriptorProto)
   2203   // optional string name = 1;
   2204   if (has_name()) {
   2205     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   2206       this->name().data(), this->name().length(),
   2207       ::google::protobuf::internal::WireFormat::SERIALIZE,
   2208       "name");
   2209     ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
   2210       1, this->name(), output);
   2211   }
   2212 
   2213   // repeated .google.protobuf.FieldDescriptorProto field = 2;
   2214   for (int i = 0; i < this->field_size(); i++) {
   2215     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
   2216       2, this->field(i), output);
   2217   }
   2218 
   2219   // repeated .google.protobuf.DescriptorProto nested_type = 3;
   2220   for (int i = 0; i < this->nested_type_size(); i++) {
   2221     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
   2222       3, this->nested_type(i), output);
   2223   }
   2224 
   2225   // repeated .google.protobuf.EnumDescriptorProto enum_type = 4;
   2226   for (int i = 0; i < this->enum_type_size(); i++) {
   2227     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
   2228       4, this->enum_type(i), output);
   2229   }
   2230 
   2231   // repeated .google.protobuf.DescriptorProto.ExtensionRange extension_range = 5;
   2232   for (int i = 0; i < this->extension_range_size(); i++) {
   2233     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
   2234       5, this->extension_range(i), output);
   2235   }
   2236 
   2237   // repeated .google.protobuf.FieldDescriptorProto extension = 6;
   2238   for (int i = 0; i < this->extension_size(); i++) {
   2239     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
   2240       6, this->extension(i), output);
   2241   }
   2242 
   2243   // optional .google.protobuf.MessageOptions options = 7;
   2244   if (has_options()) {
   2245     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
   2246       7, this->options(), output);
   2247   }
   2248 
   2249   // repeated .google.protobuf.OneofDescriptorProto oneof_decl = 8;
   2250   for (int i = 0; i < this->oneof_decl_size(); i++) {
   2251     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
   2252       8, this->oneof_decl(i), output);
   2253   }
   2254 
   2255   if (!unknown_fields().empty()) {
   2256     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
   2257         unknown_fields(), output);
   2258   }
   2259   // @@protoc_insertion_point(serialize_end:google.protobuf.DescriptorProto)
   2260 }
   2261 
   2262 ::google::protobuf::uint8* DescriptorProto::SerializeWithCachedSizesToArray(
   2263     ::google::protobuf::uint8* target) const {
   2264   // @@protoc_insertion_point(serialize_to_array_start:google.protobuf.DescriptorProto)
   2265   // optional string name = 1;
   2266   if (has_name()) {
   2267     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   2268       this->name().data(), this->name().length(),
   2269       ::google::protobuf::internal::WireFormat::SERIALIZE,
   2270       "name");
   2271     target =
   2272       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
   2273         1, this->name(), target);
   2274   }
   2275 
   2276   // repeated .google.protobuf.FieldDescriptorProto field = 2;
   2277   for (int i = 0; i < this->field_size(); i++) {
   2278     target = ::google::protobuf::internal::WireFormatLite::
   2279       WriteMessageNoVirtualToArray(
   2280         2, this->field(i), target);
   2281   }
   2282 
   2283   // repeated .google.protobuf.DescriptorProto nested_type = 3;
   2284   for (int i = 0; i < this->nested_type_size(); i++) {
   2285     target = ::google::protobuf::internal::WireFormatLite::
   2286       WriteMessageNoVirtualToArray(
   2287         3, this->nested_type(i), target);
   2288   }
   2289 
   2290   // repeated .google.protobuf.EnumDescriptorProto enum_type = 4;
   2291   for (int i = 0; i < this->enum_type_size(); i++) {
   2292     target = ::google::protobuf::internal::WireFormatLite::
   2293       WriteMessageNoVirtualToArray(
   2294         4, this->enum_type(i), target);
   2295   }
   2296 
   2297   // repeated .google.protobuf.DescriptorProto.ExtensionRange extension_range = 5;
   2298   for (int i = 0; i < this->extension_range_size(); i++) {
   2299     target = ::google::protobuf::internal::WireFormatLite::
   2300       WriteMessageNoVirtualToArray(
   2301         5, this->extension_range(i), target);
   2302   }
   2303 
   2304   // repeated .google.protobuf.FieldDescriptorProto extension = 6;
   2305   for (int i = 0; i < this->extension_size(); i++) {
   2306     target = ::google::protobuf::internal::WireFormatLite::
   2307       WriteMessageNoVirtualToArray(
   2308         6, this->extension(i), target);
   2309   }
   2310 
   2311   // optional .google.protobuf.MessageOptions options = 7;
   2312   if (has_options()) {
   2313     target = ::google::protobuf::internal::WireFormatLite::
   2314       WriteMessageNoVirtualToArray(
   2315         7, this->options(), target);
   2316   }
   2317 
   2318   // repeated .google.protobuf.OneofDescriptorProto oneof_decl = 8;
   2319   for (int i = 0; i < this->oneof_decl_size(); i++) {
   2320     target = ::google::protobuf::internal::WireFormatLite::
   2321       WriteMessageNoVirtualToArray(
   2322         8, this->oneof_decl(i), target);
   2323   }
   2324 
   2325   if (!unknown_fields().empty()) {
   2326     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
   2327         unknown_fields(), target);
   2328   }
   2329   // @@protoc_insertion_point(serialize_to_array_end:google.protobuf.DescriptorProto)
   2330   return target;
   2331 }
   2332 
   2333 int DescriptorProto::ByteSize() const {
   2334   int total_size = 0;
   2335 
   2336   if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
   2337     // optional string name = 1;
   2338     if (has_name()) {
   2339       total_size += 1 +
   2340         ::google::protobuf::internal::WireFormatLite::StringSize(
   2341           this->name());
   2342     }
   2343 
   2344     // optional .google.protobuf.MessageOptions options = 7;
   2345     if (has_options()) {
   2346       total_size += 1 +
   2347         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
   2348           this->options());
   2349     }
   2350 
   2351   }
   2352   // repeated .google.protobuf.FieldDescriptorProto field = 2;
   2353   total_size += 1 * this->field_size();
   2354   for (int i = 0; i < this->field_size(); i++) {
   2355     total_size +=
   2356       ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
   2357         this->field(i));
   2358   }
   2359 
   2360   // repeated .google.protobuf.FieldDescriptorProto extension = 6;
   2361   total_size += 1 * this->extension_size();
   2362   for (int i = 0; i < this->extension_size(); i++) {
   2363     total_size +=
   2364       ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
   2365         this->extension(i));
   2366   }
   2367 
   2368   // repeated .google.protobuf.DescriptorProto nested_type = 3;
   2369   total_size += 1 * this->nested_type_size();
   2370   for (int i = 0; i < this->nested_type_size(); i++) {
   2371     total_size +=
   2372       ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
   2373         this->nested_type(i));
   2374   }
   2375 
   2376   // repeated .google.protobuf.EnumDescriptorProto enum_type = 4;
   2377   total_size += 1 * this->enum_type_size();
   2378   for (int i = 0; i < this->enum_type_size(); i++) {
   2379     total_size +=
   2380       ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
   2381         this->enum_type(i));
   2382   }
   2383 
   2384   // repeated .google.protobuf.DescriptorProto.ExtensionRange extension_range = 5;
   2385   total_size += 1 * this->extension_range_size();
   2386   for (int i = 0; i < this->extension_range_size(); i++) {
   2387     total_size +=
   2388       ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
   2389         this->extension_range(i));
   2390   }
   2391 
   2392   // repeated .google.protobuf.OneofDescriptorProto oneof_decl = 8;
   2393   total_size += 1 * this->oneof_decl_size();
   2394   for (int i = 0; i < this->oneof_decl_size(); i++) {
   2395     total_size +=
   2396       ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
   2397         this->oneof_decl(i));
   2398   }
   2399 
   2400   if (!unknown_fields().empty()) {
   2401     total_size +=
   2402       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
   2403         unknown_fields());
   2404   }
   2405   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   2406   _cached_size_ = total_size;
   2407   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   2408   return total_size;
   2409 }
   2410 
   2411 void DescriptorProto::MergeFrom(const ::google::protobuf::Message& from) {
   2412   GOOGLE_CHECK_NE(&from, this);
   2413   const DescriptorProto* source =
   2414     ::google::protobuf::internal::dynamic_cast_if_available<const DescriptorProto*>(
   2415       &from);
   2416   if (source == NULL) {
   2417     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
   2418   } else {
   2419     MergeFrom(*source);
   2420   }
   2421 }
   2422 
   2423 void DescriptorProto::MergeFrom(const DescriptorProto& from) {
   2424   GOOGLE_CHECK_NE(&from, this);
   2425   field_.MergeFrom(from.field_);
   2426   extension_.MergeFrom(from.extension_);
   2427   nested_type_.MergeFrom(from.nested_type_);
   2428   enum_type_.MergeFrom(from.enum_type_);
   2429   extension_range_.MergeFrom(from.extension_range_);
   2430   oneof_decl_.MergeFrom(from.oneof_decl_);
   2431   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
   2432     if (from.has_name()) {
   2433       set_name(from.name());
   2434     }
   2435     if (from.has_options()) {
   2436       mutable_options()->::google::protobuf::MessageOptions::MergeFrom(from.options());
   2437     }
   2438   }
   2439   mutable_unknown_fields()->MergeFrom(from.unknown_fields());
   2440 }
   2441 
   2442 void DescriptorProto::CopyFrom(const ::google::protobuf::Message& from) {
   2443   if (&from == this) return;
   2444   Clear();
   2445   MergeFrom(from);
   2446 }
   2447 
   2448 void DescriptorProto::CopyFrom(const DescriptorProto& from) {
   2449   if (&from == this) return;
   2450   Clear();
   2451   MergeFrom(from);
   2452 }
   2453 
   2454 bool DescriptorProto::IsInitialized() const {
   2455 
   2456   if (!::google::protobuf::internal::AllAreInitialized(this->field())) return false;
   2457   if (!::google::protobuf::internal::AllAreInitialized(this->extension())) return false;
   2458   if (!::google::protobuf::internal::AllAreInitialized(this->nested_type())) return false;
   2459   if (!::google::protobuf::internal::AllAreInitialized(this->enum_type())) return false;
   2460   if (has_options()) {
   2461     if (!this->options().IsInitialized()) return false;
   2462   }
   2463   return true;
   2464 }
   2465 
   2466 void DescriptorProto::Swap(DescriptorProto* other) {
   2467   if (other != this) {
   2468     std::swap(name_, other->name_);
   2469     field_.Swap(&other->field_);
   2470     extension_.Swap(&other->extension_);
   2471     nested_type_.Swap(&other->nested_type_);
   2472     enum_type_.Swap(&other->enum_type_);
   2473     extension_range_.Swap(&other->extension_range_);
   2474     oneof_decl_.Swap(&other->oneof_decl_);
   2475     std::swap(options_, other->options_);
   2476     std::swap(_has_bits_[0], other->_has_bits_[0]);
   2477     _unknown_fields_.Swap(&other->_unknown_fields_);
   2478     std::swap(_cached_size_, other->_cached_size_);
   2479   }
   2480 }
   2481 
   2482 ::google::protobuf::Metadata DescriptorProto::GetMetadata() const {
   2483   protobuf_AssignDescriptorsOnce();
   2484   ::google::protobuf::Metadata metadata;
   2485   metadata.descriptor = DescriptorProto_descriptor_;
   2486   metadata.reflection = DescriptorProto_reflection_;
   2487   return metadata;
   2488 }
   2489 
   2490 
   2491 // ===================================================================
   2492 
   2493 const ::google::protobuf::EnumDescriptor* FieldDescriptorProto_Type_descriptor() {
   2494   protobuf_AssignDescriptorsOnce();
   2495   return FieldDescriptorProto_Type_descriptor_;
   2496 }
   2497 bool FieldDescriptorProto_Type_IsValid(int value) {
   2498   switch(value) {
   2499     case 1:
   2500     case 2:
   2501     case 3:
   2502     case 4:
   2503     case 5:
   2504     case 6:
   2505     case 7:
   2506     case 8:
   2507     case 9:
   2508     case 10:
   2509     case 11:
   2510     case 12:
   2511     case 13:
   2512     case 14:
   2513     case 15:
   2514     case 16:
   2515     case 17:
   2516     case 18:
   2517       return true;
   2518     default:
   2519       return false;
   2520   }
   2521 }
   2522 
   2523 #ifndef _MSC_VER
   2524 const FieldDescriptorProto_Type FieldDescriptorProto::TYPE_DOUBLE;
   2525 const FieldDescriptorProto_Type FieldDescriptorProto::TYPE_FLOAT;
   2526 const FieldDescriptorProto_Type FieldDescriptorProto::TYPE_INT64;
   2527 const FieldDescriptorProto_Type FieldDescriptorProto::TYPE_UINT64;
   2528 const FieldDescriptorProto_Type FieldDescriptorProto::TYPE_INT32;
   2529 const FieldDescriptorProto_Type FieldDescriptorProto::TYPE_FIXED64;
   2530 const FieldDescriptorProto_Type FieldDescriptorProto::TYPE_FIXED32;
   2531 const FieldDescriptorProto_Type FieldDescriptorProto::TYPE_BOOL;
   2532 const FieldDescriptorProto_Type FieldDescriptorProto::TYPE_STRING;
   2533 const FieldDescriptorProto_Type FieldDescriptorProto::TYPE_GROUP;
   2534 const FieldDescriptorProto_Type FieldDescriptorProto::TYPE_MESSAGE;
   2535 const FieldDescriptorProto_Type FieldDescriptorProto::TYPE_BYTES;
   2536 const FieldDescriptorProto_Type FieldDescriptorProto::TYPE_UINT32;
   2537 const FieldDescriptorProto_Type FieldDescriptorProto::TYPE_ENUM;
   2538 const FieldDescriptorProto_Type FieldDescriptorProto::TYPE_SFIXED32;
   2539 const FieldDescriptorProto_Type FieldDescriptorProto::TYPE_SFIXED64;
   2540 const FieldDescriptorProto_Type FieldDescriptorProto::TYPE_SINT32;
   2541 const FieldDescriptorProto_Type FieldDescriptorProto::TYPE_SINT64;
   2542 const FieldDescriptorProto_Type FieldDescriptorProto::Type_MIN;
   2543 const FieldDescriptorProto_Type FieldDescriptorProto::Type_MAX;
   2544 const int FieldDescriptorProto::Type_ARRAYSIZE;
   2545 #endif  // _MSC_VER
   2546 const ::google::protobuf::EnumDescriptor* FieldDescriptorProto_Label_descriptor() {
   2547   protobuf_AssignDescriptorsOnce();
   2548   return FieldDescriptorProto_Label_descriptor_;
   2549 }
   2550 bool FieldDescriptorProto_Label_IsValid(int value) {
   2551   switch(value) {
   2552     case 1:
   2553     case 2:
   2554     case 3:
   2555       return true;
   2556     default:
   2557       return false;
   2558   }
   2559 }
   2560 
   2561 #ifndef _MSC_VER
   2562 const FieldDescriptorProto_Label FieldDescriptorProto::LABEL_OPTIONAL;
   2563 const FieldDescriptorProto_Label FieldDescriptorProto::LABEL_REQUIRED;
   2564 const FieldDescriptorProto_Label FieldDescriptorProto::LABEL_REPEATED;
   2565 const FieldDescriptorProto_Label FieldDescriptorProto::Label_MIN;
   2566 const FieldDescriptorProto_Label FieldDescriptorProto::Label_MAX;
   2567 const int FieldDescriptorProto::Label_ARRAYSIZE;
   2568 #endif  // _MSC_VER
   2569 #ifndef _MSC_VER
   2570 const int FieldDescriptorProto::kNameFieldNumber;
   2571 const int FieldDescriptorProto::kNumberFieldNumber;
   2572 const int FieldDescriptorProto::kLabelFieldNumber;
   2573 const int FieldDescriptorProto::kTypeFieldNumber;
   2574 const int FieldDescriptorProto::kTypeNameFieldNumber;
   2575 const int FieldDescriptorProto::kExtendeeFieldNumber;
   2576 const int FieldDescriptorProto::kDefaultValueFieldNumber;
   2577 const int FieldDescriptorProto::kOneofIndexFieldNumber;
   2578 const int FieldDescriptorProto::kOptionsFieldNumber;
   2579 #endif  // !_MSC_VER
   2580 
   2581 FieldDescriptorProto::FieldDescriptorProto()
   2582   : ::google::protobuf::Message() {
   2583   SharedCtor();
   2584   // @@protoc_insertion_point(constructor:google.protobuf.FieldDescriptorProto)
   2585 }
   2586 
   2587 void FieldDescriptorProto::InitAsDefaultInstance() {
   2588   options_ = const_cast< ::google::protobuf::FieldOptions*>(&::google::protobuf::FieldOptions::default_instance());
   2589 }
   2590 
   2591 FieldDescriptorProto::FieldDescriptorProto(const FieldDescriptorProto& from)
   2592   : ::google::protobuf::Message() {
   2593   SharedCtor();
   2594   MergeFrom(from);
   2595   // @@protoc_insertion_point(copy_constructor:google.protobuf.FieldDescriptorProto)
   2596 }
   2597 
   2598 void FieldDescriptorProto::SharedCtor() {
   2599   ::google::protobuf::internal::GetEmptyString();
   2600   _cached_size_ = 0;
   2601   name_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   2602   number_ = 0;
   2603   label_ = 1;
   2604   type_ = 1;
   2605   type_name_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   2606   extendee_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   2607   default_value_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   2608   oneof_index_ = 0;
   2609   options_ = NULL;
   2610   ::memset(_has_bits_, 0, sizeof(_has_bits_));
   2611 }
   2612 
   2613 FieldDescriptorProto::~FieldDescriptorProto() {
   2614   // @@protoc_insertion_point(destructor:google.protobuf.FieldDescriptorProto)
   2615   SharedDtor();
   2616 }
   2617 
   2618 void FieldDescriptorProto::SharedDtor() {
   2619   if (name_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   2620     delete name_;
   2621   }
   2622   if (type_name_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   2623     delete type_name_;
   2624   }
   2625   if (extendee_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   2626     delete extendee_;
   2627   }
   2628   if (default_value_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   2629     delete default_value_;
   2630   }
   2631   if (this != default_instance_) {
   2632     delete options_;
   2633   }
   2634 }
   2635 
   2636 void FieldDescriptorProto::SetCachedSize(int size) const {
   2637   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   2638   _cached_size_ = size;
   2639   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   2640 }
   2641 const ::google::protobuf::Descriptor* FieldDescriptorProto::descriptor() {
   2642   protobuf_AssignDescriptorsOnce();
   2643   return FieldDescriptorProto_descriptor_;
   2644 }
   2645 
   2646 const FieldDescriptorProto& FieldDescriptorProto::default_instance() {
   2647   if (default_instance_ == NULL) protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();
   2648   return *default_instance_;
   2649 }
   2650 
   2651 FieldDescriptorProto* FieldDescriptorProto::default_instance_ = NULL;
   2652 
   2653 FieldDescriptorProto* FieldDescriptorProto::New() const {
   2654   return new FieldDescriptorProto;
   2655 }
   2656 
   2657 void FieldDescriptorProto::Clear() {
   2658   if (_has_bits_[0 / 32] & 255) {
   2659     if (has_name()) {
   2660       if (name_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   2661         name_->clear();
   2662       }
   2663     }
   2664     number_ = 0;
   2665     label_ = 1;
   2666     type_ = 1;
   2667     if (has_type_name()) {
   2668       if (type_name_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   2669         type_name_->clear();
   2670       }
   2671     }
   2672     if (has_extendee()) {
   2673       if (extendee_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   2674         extendee_->clear();
   2675       }
   2676     }
   2677     if (has_default_value()) {
   2678       if (default_value_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   2679         default_value_->clear();
   2680       }
   2681     }
   2682     oneof_index_ = 0;
   2683   }
   2684   if (has_options()) {
   2685     if (options_ != NULL) options_->::google::protobuf::FieldOptions::Clear();
   2686   }
   2687   ::memset(_has_bits_, 0, sizeof(_has_bits_));
   2688   mutable_unknown_fields()->Clear();
   2689 }
   2690 
   2691 bool FieldDescriptorProto::MergePartialFromCodedStream(
   2692     ::google::protobuf::io::CodedInputStream* input) {
   2693 #define DO_(EXPRESSION) if (!(EXPRESSION)) goto failure
   2694   ::google::protobuf::uint32 tag;
   2695   // @@protoc_insertion_point(parse_start:google.protobuf.FieldDescriptorProto)
   2696   for (;;) {
   2697     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
   2698     tag = p.first;
   2699     if (!p.second) goto handle_unusual;
   2700     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
   2701       // optional string name = 1;
   2702       case 1: {
   2703         if (tag == 10) {
   2704           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
   2705                 input, this->mutable_name()));
   2706           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   2707             this->name().data(), this->name().length(),
   2708             ::google::protobuf::internal::WireFormat::PARSE,
   2709             "name");
   2710         } else {
   2711           goto handle_unusual;
   2712         }
   2713         if (input->ExpectTag(18)) goto parse_extendee;
   2714         break;
   2715       }
   2716 
   2717       // optional string extendee = 2;
   2718       case 2: {
   2719         if (tag == 18) {
   2720          parse_extendee:
   2721           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
   2722                 input, this->mutable_extendee()));
   2723           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   2724             this->extendee().data(), this->extendee().length(),
   2725             ::google::protobuf::internal::WireFormat::PARSE,
   2726             "extendee");
   2727         } else {
   2728           goto handle_unusual;
   2729         }
   2730         if (input->ExpectTag(24)) goto parse_number;
   2731         break;
   2732       }
   2733 
   2734       // optional int32 number = 3;
   2735       case 3: {
   2736         if (tag == 24) {
   2737          parse_number:
   2738           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
   2739                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
   2740                  input, &number_)));
   2741           set_has_number();
   2742         } else {
   2743           goto handle_unusual;
   2744         }
   2745         if (input->ExpectTag(32)) goto parse_label;
   2746         break;
   2747       }
   2748 
   2749       // optional .google.protobuf.FieldDescriptorProto.Label label = 4;
   2750       case 4: {
   2751         if (tag == 32) {
   2752          parse_label:
   2753           int value;
   2754           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
   2755                    int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
   2756                  input, &value)));
   2757           if (::google::protobuf::FieldDescriptorProto_Label_IsValid(value)) {
   2758             set_label(static_cast< ::google::protobuf::FieldDescriptorProto_Label >(value));
   2759           } else {
   2760             mutable_unknown_fields()->AddVarint(4, value);
   2761           }
   2762         } else {
   2763           goto handle_unusual;
   2764         }
   2765         if (input->ExpectTag(40)) goto parse_type;
   2766         break;
   2767       }
   2768 
   2769       // optional .google.protobuf.FieldDescriptorProto.Type type = 5;
   2770       case 5: {
   2771         if (tag == 40) {
   2772          parse_type:
   2773           int value;
   2774           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
   2775                    int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
   2776                  input, &value)));
   2777           if (::google::protobuf::FieldDescriptorProto_Type_IsValid(value)) {
   2778             set_type(static_cast< ::google::protobuf::FieldDescriptorProto_Type >(value));
   2779           } else {
   2780             mutable_unknown_fields()->AddVarint(5, value);
   2781           }
   2782         } else {
   2783           goto handle_unusual;
   2784         }
   2785         if (input->ExpectTag(50)) goto parse_type_name;
   2786         break;
   2787       }
   2788 
   2789       // optional string type_name = 6;
   2790       case 6: {
   2791         if (tag == 50) {
   2792          parse_type_name:
   2793           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
   2794                 input, this->mutable_type_name()));
   2795           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   2796             this->type_name().data(), this->type_name().length(),
   2797             ::google::protobuf::internal::WireFormat::PARSE,
   2798             "type_name");
   2799         } else {
   2800           goto handle_unusual;
   2801         }
   2802         if (input->ExpectTag(58)) goto parse_default_value;
   2803         break;
   2804       }
   2805 
   2806       // optional string default_value = 7;
   2807       case 7: {
   2808         if (tag == 58) {
   2809          parse_default_value:
   2810           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
   2811                 input, this->mutable_default_value()));
   2812           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   2813             this->default_value().data(), this->default_value().length(),
   2814             ::google::protobuf::internal::WireFormat::PARSE,
   2815             "default_value");
   2816         } else {
   2817           goto handle_unusual;
   2818         }
   2819         if (input->ExpectTag(66)) goto parse_options;
   2820         break;
   2821       }
   2822 
   2823       // optional .google.protobuf.FieldOptions options = 8;
   2824       case 8: {
   2825         if (tag == 66) {
   2826          parse_options:
   2827           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
   2828                input, mutable_options()));
   2829         } else {
   2830           goto handle_unusual;
   2831         }
   2832         if (input->ExpectTag(72)) goto parse_oneof_index;
   2833         break;
   2834       }
   2835 
   2836       // optional int32 oneof_index = 9;
   2837       case 9: {
   2838         if (tag == 72) {
   2839          parse_oneof_index:
   2840           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
   2841                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
   2842                  input, &oneof_index_)));
   2843           set_has_oneof_index();
   2844         } else {
   2845           goto handle_unusual;
   2846         }
   2847         if (input->ExpectAtEnd()) goto success;
   2848         break;
   2849       }
   2850 
   2851       default: {
   2852       handle_unusual:
   2853         if (tag == 0 ||
   2854             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
   2855             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
   2856           goto success;
   2857         }
   2858         DO_(::google::protobuf::internal::WireFormat::SkipField(
   2859               input, tag, mutable_unknown_fields()));
   2860         break;
   2861       }
   2862     }
   2863   }
   2864 success:
   2865   // @@protoc_insertion_point(parse_success:google.protobuf.FieldDescriptorProto)
   2866   return true;
   2867 failure:
   2868   // @@protoc_insertion_point(parse_failure:google.protobuf.FieldDescriptorProto)
   2869   return false;
   2870 #undef DO_
   2871 }
   2872 
   2873 void FieldDescriptorProto::SerializeWithCachedSizes(
   2874     ::google::protobuf::io::CodedOutputStream* output) const {
   2875   // @@protoc_insertion_point(serialize_start:google.protobuf.FieldDescriptorProto)
   2876   // optional string name = 1;
   2877   if (has_name()) {
   2878     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   2879       this->name().data(), this->name().length(),
   2880       ::google::protobuf::internal::WireFormat::SERIALIZE,
   2881       "name");
   2882     ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
   2883       1, this->name(), output);
   2884   }
   2885 
   2886   // optional string extendee = 2;
   2887   if (has_extendee()) {
   2888     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   2889       this->extendee().data(), this->extendee().length(),
   2890       ::google::protobuf::internal::WireFormat::SERIALIZE,
   2891       "extendee");
   2892     ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
   2893       2, this->extendee(), output);
   2894   }
   2895 
   2896   // optional int32 number = 3;
   2897   if (has_number()) {
   2898     ::google::protobuf::internal::WireFormatLite::WriteInt32(3, this->number(), output);
   2899   }
   2900 
   2901   // optional .google.protobuf.FieldDescriptorProto.Label label = 4;
   2902   if (has_label()) {
   2903     ::google::protobuf::internal::WireFormatLite::WriteEnum(
   2904       4, this->label(), output);
   2905   }
   2906 
   2907   // optional .google.protobuf.FieldDescriptorProto.Type type = 5;
   2908   if (has_type()) {
   2909     ::google::protobuf::internal::WireFormatLite::WriteEnum(
   2910       5, this->type(), output);
   2911   }
   2912 
   2913   // optional string type_name = 6;
   2914   if (has_type_name()) {
   2915     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   2916       this->type_name().data(), this->type_name().length(),
   2917       ::google::protobuf::internal::WireFormat::SERIALIZE,
   2918       "type_name");
   2919     ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
   2920       6, this->type_name(), output);
   2921   }
   2922 
   2923   // optional string default_value = 7;
   2924   if (has_default_value()) {
   2925     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   2926       this->default_value().data(), this->default_value().length(),
   2927       ::google::protobuf::internal::WireFormat::SERIALIZE,
   2928       "default_value");
   2929     ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
   2930       7, this->default_value(), output);
   2931   }
   2932 
   2933   // optional .google.protobuf.FieldOptions options = 8;
   2934   if (has_options()) {
   2935     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
   2936       8, this->options(), output);
   2937   }
   2938 
   2939   // optional int32 oneof_index = 9;
   2940   if (has_oneof_index()) {
   2941     ::google::protobuf::internal::WireFormatLite::WriteInt32(9, this->oneof_index(), output);
   2942   }
   2943 
   2944   if (!unknown_fields().empty()) {
   2945     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
   2946         unknown_fields(), output);
   2947   }
   2948   // @@protoc_insertion_point(serialize_end:google.protobuf.FieldDescriptorProto)
   2949 }
   2950 
   2951 ::google::protobuf::uint8* FieldDescriptorProto::SerializeWithCachedSizesToArray(
   2952     ::google::protobuf::uint8* target) const {
   2953   // @@protoc_insertion_point(serialize_to_array_start:google.protobuf.FieldDescriptorProto)
   2954   // optional string name = 1;
   2955   if (has_name()) {
   2956     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   2957       this->name().data(), this->name().length(),
   2958       ::google::protobuf::internal::WireFormat::SERIALIZE,
   2959       "name");
   2960     target =
   2961       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
   2962         1, this->name(), target);
   2963   }
   2964 
   2965   // optional string extendee = 2;
   2966   if (has_extendee()) {
   2967     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   2968       this->extendee().data(), this->extendee().length(),
   2969       ::google::protobuf::internal::WireFormat::SERIALIZE,
   2970       "extendee");
   2971     target =
   2972       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
   2973         2, this->extendee(), target);
   2974   }
   2975 
   2976   // optional int32 number = 3;
   2977   if (has_number()) {
   2978     target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(3, this->number(), target);
   2979   }
   2980 
   2981   // optional .google.protobuf.FieldDescriptorProto.Label label = 4;
   2982   if (has_label()) {
   2983     target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
   2984       4, this->label(), target);
   2985   }
   2986 
   2987   // optional .google.protobuf.FieldDescriptorProto.Type type = 5;
   2988   if (has_type()) {
   2989     target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
   2990       5, this->type(), target);
   2991   }
   2992 
   2993   // optional string type_name = 6;
   2994   if (has_type_name()) {
   2995     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   2996       this->type_name().data(), this->type_name().length(),
   2997       ::google::protobuf::internal::WireFormat::SERIALIZE,
   2998       "type_name");
   2999     target =
   3000       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
   3001         6, this->type_name(), target);
   3002   }
   3003 
   3004   // optional string default_value = 7;
   3005   if (has_default_value()) {
   3006     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   3007       this->default_value().data(), this->default_value().length(),
   3008       ::google::protobuf::internal::WireFormat::SERIALIZE,
   3009       "default_value");
   3010     target =
   3011       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
   3012         7, this->default_value(), target);
   3013   }
   3014 
   3015   // optional .google.protobuf.FieldOptions options = 8;
   3016   if (has_options()) {
   3017     target = ::google::protobuf::internal::WireFormatLite::
   3018       WriteMessageNoVirtualToArray(
   3019         8, this->options(), target);
   3020   }
   3021 
   3022   // optional int32 oneof_index = 9;
   3023   if (has_oneof_index()) {
   3024     target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(9, this->oneof_index(), target);
   3025   }
   3026 
   3027   if (!unknown_fields().empty()) {
   3028     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
   3029         unknown_fields(), target);
   3030   }
   3031   // @@protoc_insertion_point(serialize_to_array_end:google.protobuf.FieldDescriptorProto)
   3032   return target;
   3033 }
   3034 
   3035 int FieldDescriptorProto::ByteSize() const {
   3036   int total_size = 0;
   3037 
   3038   if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
   3039     // optional string name = 1;
   3040     if (has_name()) {
   3041       total_size += 1 +
   3042         ::google::protobuf::internal::WireFormatLite::StringSize(
   3043           this->name());
   3044     }
   3045 
   3046     // optional int32 number = 3;
   3047     if (has_number()) {
   3048       total_size += 1 +
   3049         ::google::protobuf::internal::WireFormatLite::Int32Size(
   3050           this->number());
   3051     }
   3052 
   3053     // optional .google.protobuf.FieldDescriptorProto.Label label = 4;
   3054     if (has_label()) {
   3055       total_size += 1 +
   3056         ::google::protobuf::internal::WireFormatLite::EnumSize(this->label());
   3057     }
   3058 
   3059     // optional .google.protobuf.FieldDescriptorProto.Type type = 5;
   3060     if (has_type()) {
   3061       total_size += 1 +
   3062         ::google::protobuf::internal::WireFormatLite::EnumSize(this->type());
   3063     }
   3064 
   3065     // optional string type_name = 6;
   3066     if (has_type_name()) {
   3067       total_size += 1 +
   3068         ::google::protobuf::internal::WireFormatLite::StringSize(
   3069           this->type_name());
   3070     }
   3071 
   3072     // optional string extendee = 2;
   3073     if (has_extendee()) {
   3074       total_size += 1 +
   3075         ::google::protobuf::internal::WireFormatLite::StringSize(
   3076           this->extendee());
   3077     }
   3078 
   3079     // optional string default_value = 7;
   3080     if (has_default_value()) {
   3081       total_size += 1 +
   3082         ::google::protobuf::internal::WireFormatLite::StringSize(
   3083           this->default_value());
   3084     }
   3085 
   3086     // optional int32 oneof_index = 9;
   3087     if (has_oneof_index()) {
   3088       total_size += 1 +
   3089         ::google::protobuf::internal::WireFormatLite::Int32Size(
   3090           this->oneof_index());
   3091     }
   3092 
   3093   }
   3094   if (_has_bits_[8 / 32] & (0xffu << (8 % 32))) {
   3095     // optional .google.protobuf.FieldOptions options = 8;
   3096     if (has_options()) {
   3097       total_size += 1 +
   3098         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
   3099           this->options());
   3100     }
   3101 
   3102   }
   3103   if (!unknown_fields().empty()) {
   3104     total_size +=
   3105       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
   3106         unknown_fields());
   3107   }
   3108   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   3109   _cached_size_ = total_size;
   3110   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   3111   return total_size;
   3112 }
   3113 
   3114 void FieldDescriptorProto::MergeFrom(const ::google::protobuf::Message& from) {
   3115   GOOGLE_CHECK_NE(&from, this);
   3116   const FieldDescriptorProto* source =
   3117     ::google::protobuf::internal::dynamic_cast_if_available<const FieldDescriptorProto*>(
   3118       &from);
   3119   if (source == NULL) {
   3120     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
   3121   } else {
   3122     MergeFrom(*source);
   3123   }
   3124 }
   3125 
   3126 void FieldDescriptorProto::MergeFrom(const FieldDescriptorProto& from) {
   3127   GOOGLE_CHECK_NE(&from, this);
   3128   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
   3129     if (from.has_name()) {
   3130       set_name(from.name());
   3131     }
   3132     if (from.has_number()) {
   3133       set_number(from.number());
   3134     }
   3135     if (from.has_label()) {
   3136       set_label(from.label());
   3137     }
   3138     if (from.has_type()) {
   3139       set_type(from.type());
   3140     }
   3141     if (from.has_type_name()) {
   3142       set_type_name(from.type_name());
   3143     }
   3144     if (from.has_extendee()) {
   3145       set_extendee(from.extendee());
   3146     }
   3147     if (from.has_default_value()) {
   3148       set_default_value(from.default_value());
   3149     }
   3150     if (from.has_oneof_index()) {
   3151       set_oneof_index(from.oneof_index());
   3152     }
   3153   }
   3154   if (from._has_bits_[8 / 32] & (0xffu << (8 % 32))) {
   3155     if (from.has_options()) {
   3156       mutable_options()->::google::protobuf::FieldOptions::MergeFrom(from.options());
   3157     }
   3158   }
   3159   mutable_unknown_fields()->MergeFrom(from.unknown_fields());
   3160 }
   3161 
   3162 void FieldDescriptorProto::CopyFrom(const ::google::protobuf::Message& from) {
   3163   if (&from == this) return;
   3164   Clear();
   3165   MergeFrom(from);
   3166 }
   3167 
   3168 void FieldDescriptorProto::CopyFrom(const FieldDescriptorProto& from) {
   3169   if (&from == this) return;
   3170   Clear();
   3171   MergeFrom(from);
   3172 }
   3173 
   3174 bool FieldDescriptorProto::IsInitialized() const {
   3175 
   3176   if (has_options()) {
   3177     if (!this->options().IsInitialized()) return false;
   3178   }
   3179   return true;
   3180 }
   3181 
   3182 void FieldDescriptorProto::Swap(FieldDescriptorProto* other) {
   3183   if (other != this) {
   3184     std::swap(name_, other->name_);
   3185     std::swap(number_, other->number_);
   3186     std::swap(label_, other->label_);
   3187     std::swap(type_, other->type_);
   3188     std::swap(type_name_, other->type_name_);
   3189     std::swap(extendee_, other->extendee_);
   3190     std::swap(default_value_, other->default_value_);
   3191     std::swap(oneof_index_, other->oneof_index_);
   3192     std::swap(options_, other->options_);
   3193     std::swap(_has_bits_[0], other->_has_bits_[0]);
   3194     _unknown_fields_.Swap(&other->_unknown_fields_);
   3195     std::swap(_cached_size_, other->_cached_size_);
   3196   }
   3197 }
   3198 
   3199 ::google::protobuf::Metadata FieldDescriptorProto::GetMetadata() const {
   3200   protobuf_AssignDescriptorsOnce();
   3201   ::google::protobuf::Metadata metadata;
   3202   metadata.descriptor = FieldDescriptorProto_descriptor_;
   3203   metadata.reflection = FieldDescriptorProto_reflection_;
   3204   return metadata;
   3205 }
   3206 
   3207 
   3208 // ===================================================================
   3209 
   3210 #ifndef _MSC_VER
   3211 const int OneofDescriptorProto::kNameFieldNumber;
   3212 #endif  // !_MSC_VER
   3213 
   3214 OneofDescriptorProto::OneofDescriptorProto()
   3215   : ::google::protobuf::Message() {
   3216   SharedCtor();
   3217   // @@protoc_insertion_point(constructor:google.protobuf.OneofDescriptorProto)
   3218 }
   3219 
   3220 void OneofDescriptorProto::InitAsDefaultInstance() {
   3221 }
   3222 
   3223 OneofDescriptorProto::OneofDescriptorProto(const OneofDescriptorProto& from)
   3224   : ::google::protobuf::Message() {
   3225   SharedCtor();
   3226   MergeFrom(from);
   3227   // @@protoc_insertion_point(copy_constructor:google.protobuf.OneofDescriptorProto)
   3228 }
   3229 
   3230 void OneofDescriptorProto::SharedCtor() {
   3231   ::google::protobuf::internal::GetEmptyString();
   3232   _cached_size_ = 0;
   3233   name_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   3234   ::memset(_has_bits_, 0, sizeof(_has_bits_));
   3235 }
   3236 
   3237 OneofDescriptorProto::~OneofDescriptorProto() {
   3238   // @@protoc_insertion_point(destructor:google.protobuf.OneofDescriptorProto)
   3239   SharedDtor();
   3240 }
   3241 
   3242 void OneofDescriptorProto::SharedDtor() {
   3243   if (name_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   3244     delete name_;
   3245   }
   3246   if (this != default_instance_) {
   3247   }
   3248 }
   3249 
   3250 void OneofDescriptorProto::SetCachedSize(int size) const {
   3251   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   3252   _cached_size_ = size;
   3253   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   3254 }
   3255 const ::google::protobuf::Descriptor* OneofDescriptorProto::descriptor() {
   3256   protobuf_AssignDescriptorsOnce();
   3257   return OneofDescriptorProto_descriptor_;
   3258 }
   3259 
   3260 const OneofDescriptorProto& OneofDescriptorProto::default_instance() {
   3261   if (default_instance_ == NULL) protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();
   3262   return *default_instance_;
   3263 }
   3264 
   3265 OneofDescriptorProto* OneofDescriptorProto::default_instance_ = NULL;
   3266 
   3267 OneofDescriptorProto* OneofDescriptorProto::New() const {
   3268   return new OneofDescriptorProto;
   3269 }
   3270 
   3271 void OneofDescriptorProto::Clear() {
   3272   if (has_name()) {
   3273     if (name_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   3274       name_->clear();
   3275     }
   3276   }
   3277   ::memset(_has_bits_, 0, sizeof(_has_bits_));
   3278   mutable_unknown_fields()->Clear();
   3279 }
   3280 
   3281 bool OneofDescriptorProto::MergePartialFromCodedStream(
   3282     ::google::protobuf::io::CodedInputStream* input) {
   3283 #define DO_(EXPRESSION) if (!(EXPRESSION)) goto failure
   3284   ::google::protobuf::uint32 tag;
   3285   // @@protoc_insertion_point(parse_start:google.protobuf.OneofDescriptorProto)
   3286   for (;;) {
   3287     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
   3288     tag = p.first;
   3289     if (!p.second) goto handle_unusual;
   3290     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
   3291       // optional string name = 1;
   3292       case 1: {
   3293         if (tag == 10) {
   3294           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
   3295                 input, this->mutable_name()));
   3296           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   3297             this->name().data(), this->name().length(),
   3298             ::google::protobuf::internal::WireFormat::PARSE,
   3299             "name");
   3300         } else {
   3301           goto handle_unusual;
   3302         }
   3303         if (input->ExpectAtEnd()) goto success;
   3304         break;
   3305       }
   3306 
   3307       default: {
   3308       handle_unusual:
   3309         if (tag == 0 ||
   3310             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
   3311             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
   3312           goto success;
   3313         }
   3314         DO_(::google::protobuf::internal::WireFormat::SkipField(
   3315               input, tag, mutable_unknown_fields()));
   3316         break;
   3317       }
   3318     }
   3319   }
   3320 success:
   3321   // @@protoc_insertion_point(parse_success:google.protobuf.OneofDescriptorProto)
   3322   return true;
   3323 failure:
   3324   // @@protoc_insertion_point(parse_failure:google.protobuf.OneofDescriptorProto)
   3325   return false;
   3326 #undef DO_
   3327 }
   3328 
   3329 void OneofDescriptorProto::SerializeWithCachedSizes(
   3330     ::google::protobuf::io::CodedOutputStream* output) const {
   3331   // @@protoc_insertion_point(serialize_start:google.protobuf.OneofDescriptorProto)
   3332   // optional string name = 1;
   3333   if (has_name()) {
   3334     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   3335       this->name().data(), this->name().length(),
   3336       ::google::protobuf::internal::WireFormat::SERIALIZE,
   3337       "name");
   3338     ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
   3339       1, this->name(), output);
   3340   }
   3341 
   3342   if (!unknown_fields().empty()) {
   3343     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
   3344         unknown_fields(), output);
   3345   }
   3346   // @@protoc_insertion_point(serialize_end:google.protobuf.OneofDescriptorProto)
   3347 }
   3348 
   3349 ::google::protobuf::uint8* OneofDescriptorProto::SerializeWithCachedSizesToArray(
   3350     ::google::protobuf::uint8* target) const {
   3351   // @@protoc_insertion_point(serialize_to_array_start:google.protobuf.OneofDescriptorProto)
   3352   // optional string name = 1;
   3353   if (has_name()) {
   3354     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   3355       this->name().data(), this->name().length(),
   3356       ::google::protobuf::internal::WireFormat::SERIALIZE,
   3357       "name");
   3358     target =
   3359       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
   3360         1, this->name(), target);
   3361   }
   3362 
   3363   if (!unknown_fields().empty()) {
   3364     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
   3365         unknown_fields(), target);
   3366   }
   3367   // @@protoc_insertion_point(serialize_to_array_end:google.protobuf.OneofDescriptorProto)
   3368   return target;
   3369 }
   3370 
   3371 int OneofDescriptorProto::ByteSize() const {
   3372   int total_size = 0;
   3373 
   3374   if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
   3375     // optional string name = 1;
   3376     if (has_name()) {
   3377       total_size += 1 +
   3378         ::google::protobuf::internal::WireFormatLite::StringSize(
   3379           this->name());
   3380     }
   3381 
   3382   }
   3383   if (!unknown_fields().empty()) {
   3384     total_size +=
   3385       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
   3386         unknown_fields());
   3387   }
   3388   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   3389   _cached_size_ = total_size;
   3390   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   3391   return total_size;
   3392 }
   3393 
   3394 void OneofDescriptorProto::MergeFrom(const ::google::protobuf::Message& from) {
   3395   GOOGLE_CHECK_NE(&from, this);
   3396   const OneofDescriptorProto* source =
   3397     ::google::protobuf::internal::dynamic_cast_if_available<const OneofDescriptorProto*>(
   3398       &from);
   3399   if (source == NULL) {
   3400     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
   3401   } else {
   3402     MergeFrom(*source);
   3403   }
   3404 }
   3405 
   3406 void OneofDescriptorProto::MergeFrom(const OneofDescriptorProto& from) {
   3407   GOOGLE_CHECK_NE(&from, this);
   3408   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
   3409     if (from.has_name()) {
   3410       set_name(from.name());
   3411     }
   3412   }
   3413   mutable_unknown_fields()->MergeFrom(from.unknown_fields());
   3414 }
   3415 
   3416 void OneofDescriptorProto::CopyFrom(const ::google::protobuf::Message& from) {
   3417   if (&from == this) return;
   3418   Clear();
   3419   MergeFrom(from);
   3420 }
   3421 
   3422 void OneofDescriptorProto::CopyFrom(const OneofDescriptorProto& from) {
   3423   if (&from == this) return;
   3424   Clear();
   3425   MergeFrom(from);
   3426 }
   3427 
   3428 bool OneofDescriptorProto::IsInitialized() const {
   3429 
   3430   return true;
   3431 }
   3432 
   3433 void OneofDescriptorProto::Swap(OneofDescriptorProto* other) {
   3434   if (other != this) {
   3435     std::swap(name_, other->name_);
   3436     std::swap(_has_bits_[0], other->_has_bits_[0]);
   3437     _unknown_fields_.Swap(&other->_unknown_fields_);
   3438     std::swap(_cached_size_, other->_cached_size_);
   3439   }
   3440 }
   3441 
   3442 ::google::protobuf::Metadata OneofDescriptorProto::GetMetadata() const {
   3443   protobuf_AssignDescriptorsOnce();
   3444   ::google::protobuf::Metadata metadata;
   3445   metadata.descriptor = OneofDescriptorProto_descriptor_;
   3446   metadata.reflection = OneofDescriptorProto_reflection_;
   3447   return metadata;
   3448 }
   3449 
   3450 
   3451 // ===================================================================
   3452 
   3453 #ifndef _MSC_VER
   3454 const int EnumDescriptorProto::kNameFieldNumber;
   3455 const int EnumDescriptorProto::kValueFieldNumber;
   3456 const int EnumDescriptorProto::kOptionsFieldNumber;
   3457 #endif  // !_MSC_VER
   3458 
   3459 EnumDescriptorProto::EnumDescriptorProto()
   3460   : ::google::protobuf::Message() {
   3461   SharedCtor();
   3462   // @@protoc_insertion_point(constructor:google.protobuf.EnumDescriptorProto)
   3463 }
   3464 
   3465 void EnumDescriptorProto::InitAsDefaultInstance() {
   3466   options_ = const_cast< ::google::protobuf::EnumOptions*>(&::google::protobuf::EnumOptions::default_instance());
   3467 }
   3468 
   3469 EnumDescriptorProto::EnumDescriptorProto(const EnumDescriptorProto& from)
   3470   : ::google::protobuf::Message() {
   3471   SharedCtor();
   3472   MergeFrom(from);
   3473   // @@protoc_insertion_point(copy_constructor:google.protobuf.EnumDescriptorProto)
   3474 }
   3475 
   3476 void EnumDescriptorProto::SharedCtor() {
   3477   ::google::protobuf::internal::GetEmptyString();
   3478   _cached_size_ = 0;
   3479   name_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   3480   options_ = NULL;
   3481   ::memset(_has_bits_, 0, sizeof(_has_bits_));
   3482 }
   3483 
   3484 EnumDescriptorProto::~EnumDescriptorProto() {
   3485   // @@protoc_insertion_point(destructor:google.protobuf.EnumDescriptorProto)
   3486   SharedDtor();
   3487 }
   3488 
   3489 void EnumDescriptorProto::SharedDtor() {
   3490   if (name_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   3491     delete name_;
   3492   }
   3493   if (this != default_instance_) {
   3494     delete options_;
   3495   }
   3496 }
   3497 
   3498 void EnumDescriptorProto::SetCachedSize(int size) const {
   3499   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   3500   _cached_size_ = size;
   3501   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   3502 }
   3503 const ::google::protobuf::Descriptor* EnumDescriptorProto::descriptor() {
   3504   protobuf_AssignDescriptorsOnce();
   3505   return EnumDescriptorProto_descriptor_;
   3506 }
   3507 
   3508 const EnumDescriptorProto& EnumDescriptorProto::default_instance() {
   3509   if (default_instance_ == NULL) protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();
   3510   return *default_instance_;
   3511 }
   3512 
   3513 EnumDescriptorProto* EnumDescriptorProto::default_instance_ = NULL;
   3514 
   3515 EnumDescriptorProto* EnumDescriptorProto::New() const {
   3516   return new EnumDescriptorProto;
   3517 }
   3518 
   3519 void EnumDescriptorProto::Clear() {
   3520   if (_has_bits_[0 / 32] & 5) {
   3521     if (has_name()) {
   3522       if (name_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   3523         name_->clear();
   3524       }
   3525     }
   3526     if (has_options()) {
   3527       if (options_ != NULL) options_->::google::protobuf::EnumOptions::Clear();
   3528     }
   3529   }
   3530   value_.Clear();
   3531   ::memset(_has_bits_, 0, sizeof(_has_bits_));
   3532   mutable_unknown_fields()->Clear();
   3533 }
   3534 
   3535 bool EnumDescriptorProto::MergePartialFromCodedStream(
   3536     ::google::protobuf::io::CodedInputStream* input) {
   3537 #define DO_(EXPRESSION) if (!(EXPRESSION)) goto failure
   3538   ::google::protobuf::uint32 tag;
   3539   // @@protoc_insertion_point(parse_start:google.protobuf.EnumDescriptorProto)
   3540   for (;;) {
   3541     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
   3542     tag = p.first;
   3543     if (!p.second) goto handle_unusual;
   3544     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
   3545       // optional string name = 1;
   3546       case 1: {
   3547         if (tag == 10) {
   3548           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
   3549                 input, this->mutable_name()));
   3550           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   3551             this->name().data(), this->name().length(),
   3552             ::google::protobuf::internal::WireFormat::PARSE,
   3553             "name");
   3554         } else {
   3555           goto handle_unusual;
   3556         }
   3557         if (input->ExpectTag(18)) goto parse_value;
   3558         break;
   3559       }
   3560 
   3561       // repeated .google.protobuf.EnumValueDescriptorProto value = 2;
   3562       case 2: {
   3563         if (tag == 18) {
   3564          parse_value:
   3565           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
   3566                 input, add_value()));
   3567         } else {
   3568           goto handle_unusual;
   3569         }
   3570         if (input->ExpectTag(18)) goto parse_value;
   3571         if (input->ExpectTag(26)) goto parse_options;
   3572         break;
   3573       }
   3574 
   3575       // optional .google.protobuf.EnumOptions options = 3;
   3576       case 3: {
   3577         if (tag == 26) {
   3578          parse_options:
   3579           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
   3580                input, mutable_options()));
   3581         } else {
   3582           goto handle_unusual;
   3583         }
   3584         if (input->ExpectAtEnd()) goto success;
   3585         break;
   3586       }
   3587 
   3588       default: {
   3589       handle_unusual:
   3590         if (tag == 0 ||
   3591             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
   3592             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
   3593           goto success;
   3594         }
   3595         DO_(::google::protobuf::internal::WireFormat::SkipField(
   3596               input, tag, mutable_unknown_fields()));
   3597         break;
   3598       }
   3599     }
   3600   }
   3601 success:
   3602   // @@protoc_insertion_point(parse_success:google.protobuf.EnumDescriptorProto)
   3603   return true;
   3604 failure:
   3605   // @@protoc_insertion_point(parse_failure:google.protobuf.EnumDescriptorProto)
   3606   return false;
   3607 #undef DO_
   3608 }
   3609 
   3610 void EnumDescriptorProto::SerializeWithCachedSizes(
   3611     ::google::protobuf::io::CodedOutputStream* output) const {
   3612   // @@protoc_insertion_point(serialize_start:google.protobuf.EnumDescriptorProto)
   3613   // optional string name = 1;
   3614   if (has_name()) {
   3615     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   3616       this->name().data(), this->name().length(),
   3617       ::google::protobuf::internal::WireFormat::SERIALIZE,
   3618       "name");
   3619     ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
   3620       1, this->name(), output);
   3621   }
   3622 
   3623   // repeated .google.protobuf.EnumValueDescriptorProto value = 2;
   3624   for (int i = 0; i < this->value_size(); i++) {
   3625     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
   3626       2, this->value(i), output);
   3627   }
   3628 
   3629   // optional .google.protobuf.EnumOptions options = 3;
   3630   if (has_options()) {
   3631     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
   3632       3, this->options(), output);
   3633   }
   3634 
   3635   if (!unknown_fields().empty()) {
   3636     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
   3637         unknown_fields(), output);
   3638   }
   3639   // @@protoc_insertion_point(serialize_end:google.protobuf.EnumDescriptorProto)
   3640 }
   3641 
   3642 ::google::protobuf::uint8* EnumDescriptorProto::SerializeWithCachedSizesToArray(
   3643     ::google::protobuf::uint8* target) const {
   3644   // @@protoc_insertion_point(serialize_to_array_start:google.protobuf.EnumDescriptorProto)
   3645   // optional string name = 1;
   3646   if (has_name()) {
   3647     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   3648       this->name().data(), this->name().length(),
   3649       ::google::protobuf::internal::WireFormat::SERIALIZE,
   3650       "name");
   3651     target =
   3652       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
   3653         1, this->name(), target);
   3654   }
   3655 
   3656   // repeated .google.protobuf.EnumValueDescriptorProto value = 2;
   3657   for (int i = 0; i < this->value_size(); i++) {
   3658     target = ::google::protobuf::internal::WireFormatLite::
   3659       WriteMessageNoVirtualToArray(
   3660         2, this->value(i), target);
   3661   }
   3662 
   3663   // optional .google.protobuf.EnumOptions options = 3;
   3664   if (has_options()) {
   3665     target = ::google::protobuf::internal::WireFormatLite::
   3666       WriteMessageNoVirtualToArray(
   3667         3, this->options(), target);
   3668   }
   3669 
   3670   if (!unknown_fields().empty()) {
   3671     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
   3672         unknown_fields(), target);
   3673   }
   3674   // @@protoc_insertion_point(serialize_to_array_end:google.protobuf.EnumDescriptorProto)
   3675   return target;
   3676 }
   3677 
   3678 int EnumDescriptorProto::ByteSize() const {
   3679   int total_size = 0;
   3680 
   3681   if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
   3682     // optional string name = 1;
   3683     if (has_name()) {
   3684       total_size += 1 +
   3685         ::google::protobuf::internal::WireFormatLite::StringSize(
   3686           this->name());
   3687     }
   3688 
   3689     // optional .google.protobuf.EnumOptions options = 3;
   3690     if (has_options()) {
   3691       total_size += 1 +
   3692         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
   3693           this->options());
   3694     }
   3695 
   3696   }
   3697   // repeated .google.protobuf.EnumValueDescriptorProto value = 2;
   3698   total_size += 1 * this->value_size();
   3699   for (int i = 0; i < this->value_size(); i++) {
   3700     total_size +=
   3701       ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
   3702         this->value(i));
   3703   }
   3704 
   3705   if (!unknown_fields().empty()) {
   3706     total_size +=
   3707       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
   3708         unknown_fields());
   3709   }
   3710   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   3711   _cached_size_ = total_size;
   3712   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   3713   return total_size;
   3714 }
   3715 
   3716 void EnumDescriptorProto::MergeFrom(const ::google::protobuf::Message& from) {
   3717   GOOGLE_CHECK_NE(&from, this);
   3718   const EnumDescriptorProto* source =
   3719     ::google::protobuf::internal::dynamic_cast_if_available<const EnumDescriptorProto*>(
   3720       &from);
   3721   if (source == NULL) {
   3722     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
   3723   } else {
   3724     MergeFrom(*source);
   3725   }
   3726 }
   3727 
   3728 void EnumDescriptorProto::MergeFrom(const EnumDescriptorProto& from) {
   3729   GOOGLE_CHECK_NE(&from, this);
   3730   value_.MergeFrom(from.value_);
   3731   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
   3732     if (from.has_name()) {
   3733       set_name(from.name());
   3734     }
   3735     if (from.has_options()) {
   3736       mutable_options()->::google::protobuf::EnumOptions::MergeFrom(from.options());
   3737     }
   3738   }
   3739   mutable_unknown_fields()->MergeFrom(from.unknown_fields());
   3740 }
   3741 
   3742 void EnumDescriptorProto::CopyFrom(const ::google::protobuf::Message& from) {
   3743   if (&from == this) return;
   3744   Clear();
   3745   MergeFrom(from);
   3746 }
   3747 
   3748 void EnumDescriptorProto::CopyFrom(const EnumDescriptorProto& from) {
   3749   if (&from == this) return;
   3750   Clear();
   3751   MergeFrom(from);
   3752 }
   3753 
   3754 bool EnumDescriptorProto::IsInitialized() const {
   3755 
   3756   if (!::google::protobuf::internal::AllAreInitialized(this->value())) return false;
   3757   if (has_options()) {
   3758     if (!this->options().IsInitialized()) return false;
   3759   }
   3760   return true;
   3761 }
   3762 
   3763 void EnumDescriptorProto::Swap(EnumDescriptorProto* other) {
   3764   if (other != this) {
   3765     std::swap(name_, other->name_);
   3766     value_.Swap(&other->value_);
   3767     std::swap(options_, other->options_);
   3768     std::swap(_has_bits_[0], other->_has_bits_[0]);
   3769     _unknown_fields_.Swap(&other->_unknown_fields_);
   3770     std::swap(_cached_size_, other->_cached_size_);
   3771   }
   3772 }
   3773 
   3774 ::google::protobuf::Metadata EnumDescriptorProto::GetMetadata() const {
   3775   protobuf_AssignDescriptorsOnce();
   3776   ::google::protobuf::Metadata metadata;
   3777   metadata.descriptor = EnumDescriptorProto_descriptor_;
   3778   metadata.reflection = EnumDescriptorProto_reflection_;
   3779   return metadata;
   3780 }
   3781 
   3782 
   3783 // ===================================================================
   3784 
   3785 #ifndef _MSC_VER
   3786 const int EnumValueDescriptorProto::kNameFieldNumber;
   3787 const int EnumValueDescriptorProto::kNumberFieldNumber;
   3788 const int EnumValueDescriptorProto::kOptionsFieldNumber;
   3789 #endif  // !_MSC_VER
   3790 
   3791 EnumValueDescriptorProto::EnumValueDescriptorProto()
   3792   : ::google::protobuf::Message() {
   3793   SharedCtor();
   3794   // @@protoc_insertion_point(constructor:google.protobuf.EnumValueDescriptorProto)
   3795 }
   3796 
   3797 void EnumValueDescriptorProto::InitAsDefaultInstance() {
   3798   options_ = const_cast< ::google::protobuf::EnumValueOptions*>(&::google::protobuf::EnumValueOptions::default_instance());
   3799 }
   3800 
   3801 EnumValueDescriptorProto::EnumValueDescriptorProto(const EnumValueDescriptorProto& from)
   3802   : ::google::protobuf::Message() {
   3803   SharedCtor();
   3804   MergeFrom(from);
   3805   // @@protoc_insertion_point(copy_constructor:google.protobuf.EnumValueDescriptorProto)
   3806 }
   3807 
   3808 void EnumValueDescriptorProto::SharedCtor() {
   3809   ::google::protobuf::internal::GetEmptyString();
   3810   _cached_size_ = 0;
   3811   name_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   3812   number_ = 0;
   3813   options_ = NULL;
   3814   ::memset(_has_bits_, 0, sizeof(_has_bits_));
   3815 }
   3816 
   3817 EnumValueDescriptorProto::~EnumValueDescriptorProto() {
   3818   // @@protoc_insertion_point(destructor:google.protobuf.EnumValueDescriptorProto)
   3819   SharedDtor();
   3820 }
   3821 
   3822 void EnumValueDescriptorProto::SharedDtor() {
   3823   if (name_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   3824     delete name_;
   3825   }
   3826   if (this != default_instance_) {
   3827     delete options_;
   3828   }
   3829 }
   3830 
   3831 void EnumValueDescriptorProto::SetCachedSize(int size) const {
   3832   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   3833   _cached_size_ = size;
   3834   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   3835 }
   3836 const ::google::protobuf::Descriptor* EnumValueDescriptorProto::descriptor() {
   3837   protobuf_AssignDescriptorsOnce();
   3838   return EnumValueDescriptorProto_descriptor_;
   3839 }
   3840 
   3841 const EnumValueDescriptorProto& EnumValueDescriptorProto::default_instance() {
   3842   if (default_instance_ == NULL) protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();
   3843   return *default_instance_;
   3844 }
   3845 
   3846 EnumValueDescriptorProto* EnumValueDescriptorProto::default_instance_ = NULL;
   3847 
   3848 EnumValueDescriptorProto* EnumValueDescriptorProto::New() const {
   3849   return new EnumValueDescriptorProto;
   3850 }
   3851 
   3852 void EnumValueDescriptorProto::Clear() {
   3853   if (_has_bits_[0 / 32] & 7) {
   3854     if (has_name()) {
   3855       if (name_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   3856         name_->clear();
   3857       }
   3858     }
   3859     number_ = 0;
   3860     if (has_options()) {
   3861       if (options_ != NULL) options_->::google::protobuf::EnumValueOptions::Clear();
   3862     }
   3863   }
   3864   ::memset(_has_bits_, 0, sizeof(_has_bits_));
   3865   mutable_unknown_fields()->Clear();
   3866 }
   3867 
   3868 bool EnumValueDescriptorProto::MergePartialFromCodedStream(
   3869     ::google::protobuf::io::CodedInputStream* input) {
   3870 #define DO_(EXPRESSION) if (!(EXPRESSION)) goto failure
   3871   ::google::protobuf::uint32 tag;
   3872   // @@protoc_insertion_point(parse_start:google.protobuf.EnumValueDescriptorProto)
   3873   for (;;) {
   3874     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
   3875     tag = p.first;
   3876     if (!p.second) goto handle_unusual;
   3877     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
   3878       // optional string name = 1;
   3879       case 1: {
   3880         if (tag == 10) {
   3881           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
   3882                 input, this->mutable_name()));
   3883           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   3884             this->name().data(), this->name().length(),
   3885             ::google::protobuf::internal::WireFormat::PARSE,
   3886             "name");
   3887         } else {
   3888           goto handle_unusual;
   3889         }
   3890         if (input->ExpectTag(16)) goto parse_number;
   3891         break;
   3892       }
   3893 
   3894       // optional int32 number = 2;
   3895       case 2: {
   3896         if (tag == 16) {
   3897          parse_number:
   3898           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
   3899                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
   3900                  input, &number_)));
   3901           set_has_number();
   3902         } else {
   3903           goto handle_unusual;
   3904         }
   3905         if (input->ExpectTag(26)) goto parse_options;
   3906         break;
   3907       }
   3908 
   3909       // optional .google.protobuf.EnumValueOptions options = 3;
   3910       case 3: {
   3911         if (tag == 26) {
   3912          parse_options:
   3913           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
   3914                input, mutable_options()));
   3915         } else {
   3916           goto handle_unusual;
   3917         }
   3918         if (input->ExpectAtEnd()) goto success;
   3919         break;
   3920       }
   3921 
   3922       default: {
   3923       handle_unusual:
   3924         if (tag == 0 ||
   3925             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
   3926             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
   3927           goto success;
   3928         }
   3929         DO_(::google::protobuf::internal::WireFormat::SkipField(
   3930               input, tag, mutable_unknown_fields()));
   3931         break;
   3932       }
   3933     }
   3934   }
   3935 success:
   3936   // @@protoc_insertion_point(parse_success:google.protobuf.EnumValueDescriptorProto)
   3937   return true;
   3938 failure:
   3939   // @@protoc_insertion_point(parse_failure:google.protobuf.EnumValueDescriptorProto)
   3940   return false;
   3941 #undef DO_
   3942 }
   3943 
   3944 void EnumValueDescriptorProto::SerializeWithCachedSizes(
   3945     ::google::protobuf::io::CodedOutputStream* output) const {
   3946   // @@protoc_insertion_point(serialize_start:google.protobuf.EnumValueDescriptorProto)
   3947   // optional string name = 1;
   3948   if (has_name()) {
   3949     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   3950       this->name().data(), this->name().length(),
   3951       ::google::protobuf::internal::WireFormat::SERIALIZE,
   3952       "name");
   3953     ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
   3954       1, this->name(), output);
   3955   }
   3956 
   3957   // optional int32 number = 2;
   3958   if (has_number()) {
   3959     ::google::protobuf::internal::WireFormatLite::WriteInt32(2, this->number(), output);
   3960   }
   3961 
   3962   // optional .google.protobuf.EnumValueOptions options = 3;
   3963   if (has_options()) {
   3964     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
   3965       3, this->options(), output);
   3966   }
   3967 
   3968   if (!unknown_fields().empty()) {
   3969     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
   3970         unknown_fields(), output);
   3971   }
   3972   // @@protoc_insertion_point(serialize_end:google.protobuf.EnumValueDescriptorProto)
   3973 }
   3974 
   3975 ::google::protobuf::uint8* EnumValueDescriptorProto::SerializeWithCachedSizesToArray(
   3976     ::google::protobuf::uint8* target) const {
   3977   // @@protoc_insertion_point(serialize_to_array_start:google.protobuf.EnumValueDescriptorProto)
   3978   // optional string name = 1;
   3979   if (has_name()) {
   3980     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   3981       this->name().data(), this->name().length(),
   3982       ::google::protobuf::internal::WireFormat::SERIALIZE,
   3983       "name");
   3984     target =
   3985       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
   3986         1, this->name(), target);
   3987   }
   3988 
   3989   // optional int32 number = 2;
   3990   if (has_number()) {
   3991     target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(2, this->number(), target);
   3992   }
   3993 
   3994   // optional .google.protobuf.EnumValueOptions options = 3;
   3995   if (has_options()) {
   3996     target = ::google::protobuf::internal::WireFormatLite::
   3997       WriteMessageNoVirtualToArray(
   3998         3, this->options(), target);
   3999   }
   4000 
   4001   if (!unknown_fields().empty()) {
   4002     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
   4003         unknown_fields(), target);
   4004   }
   4005   // @@protoc_insertion_point(serialize_to_array_end:google.protobuf.EnumValueDescriptorProto)
   4006   return target;
   4007 }
   4008 
   4009 int EnumValueDescriptorProto::ByteSize() const {
   4010   int total_size = 0;
   4011 
   4012   if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
   4013     // optional string name = 1;
   4014     if (has_name()) {
   4015       total_size += 1 +
   4016         ::google::protobuf::internal::WireFormatLite::StringSize(
   4017           this->name());
   4018     }
   4019 
   4020     // optional int32 number = 2;
   4021     if (has_number()) {
   4022       total_size += 1 +
   4023         ::google::protobuf::internal::WireFormatLite::Int32Size(
   4024           this->number());
   4025     }
   4026 
   4027     // optional .google.protobuf.EnumValueOptions options = 3;
   4028     if (has_options()) {
   4029       total_size += 1 +
   4030         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
   4031           this->options());
   4032     }
   4033 
   4034   }
   4035   if (!unknown_fields().empty()) {
   4036     total_size +=
   4037       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
   4038         unknown_fields());
   4039   }
   4040   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   4041   _cached_size_ = total_size;
   4042   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   4043   return total_size;
   4044 }
   4045 
   4046 void EnumValueDescriptorProto::MergeFrom(const ::google::protobuf::Message& from) {
   4047   GOOGLE_CHECK_NE(&from, this);
   4048   const EnumValueDescriptorProto* source =
   4049     ::google::protobuf::internal::dynamic_cast_if_available<const EnumValueDescriptorProto*>(
   4050       &from);
   4051   if (source == NULL) {
   4052     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
   4053   } else {
   4054     MergeFrom(*source);
   4055   }
   4056 }
   4057 
   4058 void EnumValueDescriptorProto::MergeFrom(const EnumValueDescriptorProto& from) {
   4059   GOOGLE_CHECK_NE(&from, this);
   4060   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
   4061     if (from.has_name()) {
   4062       set_name(from.name());
   4063     }
   4064     if (from.has_number()) {
   4065       set_number(from.number());
   4066     }
   4067     if (from.has_options()) {
   4068       mutable_options()->::google::protobuf::EnumValueOptions::MergeFrom(from.options());
   4069     }
   4070   }
   4071   mutable_unknown_fields()->MergeFrom(from.unknown_fields());
   4072 }
   4073 
   4074 void EnumValueDescriptorProto::CopyFrom(const ::google::protobuf::Message& from) {
   4075   if (&from == this) return;
   4076   Clear();
   4077   MergeFrom(from);
   4078 }
   4079 
   4080 void EnumValueDescriptorProto::CopyFrom(const EnumValueDescriptorProto& from) {
   4081   if (&from == this) return;
   4082   Clear();
   4083   MergeFrom(from);
   4084 }
   4085 
   4086 bool EnumValueDescriptorProto::IsInitialized() const {
   4087 
   4088   if (has_options()) {
   4089     if (!this->options().IsInitialized()) return false;
   4090   }
   4091   return true;
   4092 }
   4093 
   4094 void EnumValueDescriptorProto::Swap(EnumValueDescriptorProto* other) {
   4095   if (other != this) {
   4096     std::swap(name_, other->name_);
   4097     std::swap(number_, other->number_);
   4098     std::swap(options_, other->options_);
   4099     std::swap(_has_bits_[0], other->_has_bits_[0]);
   4100     _unknown_fields_.Swap(&other->_unknown_fields_);
   4101     std::swap(_cached_size_, other->_cached_size_);
   4102   }
   4103 }
   4104 
   4105 ::google::protobuf::Metadata EnumValueDescriptorProto::GetMetadata() const {
   4106   protobuf_AssignDescriptorsOnce();
   4107   ::google::protobuf::Metadata metadata;
   4108   metadata.descriptor = EnumValueDescriptorProto_descriptor_;
   4109   metadata.reflection = EnumValueDescriptorProto_reflection_;
   4110   return metadata;
   4111 }
   4112 
   4113 
   4114 // ===================================================================
   4115 
   4116 #ifndef _MSC_VER
   4117 const int ServiceDescriptorProto::kNameFieldNumber;
   4118 const int ServiceDescriptorProto::kMethodFieldNumber;
   4119 const int ServiceDescriptorProto::kOptionsFieldNumber;
   4120 #endif  // !_MSC_VER
   4121 
   4122 ServiceDescriptorProto::ServiceDescriptorProto()
   4123   : ::google::protobuf::Message() {
   4124   SharedCtor();
   4125   // @@protoc_insertion_point(constructor:google.protobuf.ServiceDescriptorProto)
   4126 }
   4127 
   4128 void ServiceDescriptorProto::InitAsDefaultInstance() {
   4129   options_ = const_cast< ::google::protobuf::ServiceOptions*>(&::google::protobuf::ServiceOptions::default_instance());
   4130 }
   4131 
   4132 ServiceDescriptorProto::ServiceDescriptorProto(const ServiceDescriptorProto& from)
   4133   : ::google::protobuf::Message() {
   4134   SharedCtor();
   4135   MergeFrom(from);
   4136   // @@protoc_insertion_point(copy_constructor:google.protobuf.ServiceDescriptorProto)
   4137 }
   4138 
   4139 void ServiceDescriptorProto::SharedCtor() {
   4140   ::google::protobuf::internal::GetEmptyString();
   4141   _cached_size_ = 0;
   4142   name_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   4143   options_ = NULL;
   4144   ::memset(_has_bits_, 0, sizeof(_has_bits_));
   4145 }
   4146 
   4147 ServiceDescriptorProto::~ServiceDescriptorProto() {
   4148   // @@protoc_insertion_point(destructor:google.protobuf.ServiceDescriptorProto)
   4149   SharedDtor();
   4150 }
   4151 
   4152 void ServiceDescriptorProto::SharedDtor() {
   4153   if (name_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   4154     delete name_;
   4155   }
   4156   if (this != default_instance_) {
   4157     delete options_;
   4158   }
   4159 }
   4160 
   4161 void ServiceDescriptorProto::SetCachedSize(int size) const {
   4162   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   4163   _cached_size_ = size;
   4164   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   4165 }
   4166 const ::google::protobuf::Descriptor* ServiceDescriptorProto::descriptor() {
   4167   protobuf_AssignDescriptorsOnce();
   4168   return ServiceDescriptorProto_descriptor_;
   4169 }
   4170 
   4171 const ServiceDescriptorProto& ServiceDescriptorProto::default_instance() {
   4172   if (default_instance_ == NULL) protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();
   4173   return *default_instance_;
   4174 }
   4175 
   4176 ServiceDescriptorProto* ServiceDescriptorProto::default_instance_ = NULL;
   4177 
   4178 ServiceDescriptorProto* ServiceDescriptorProto::New() const {
   4179   return new ServiceDescriptorProto;
   4180 }
   4181 
   4182 void ServiceDescriptorProto::Clear() {
   4183   if (_has_bits_[0 / 32] & 5) {
   4184     if (has_name()) {
   4185       if (name_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   4186         name_->clear();
   4187       }
   4188     }
   4189     if (has_options()) {
   4190       if (options_ != NULL) options_->::google::protobuf::ServiceOptions::Clear();
   4191     }
   4192   }
   4193   method_.Clear();
   4194   ::memset(_has_bits_, 0, sizeof(_has_bits_));
   4195   mutable_unknown_fields()->Clear();
   4196 }
   4197 
   4198 bool ServiceDescriptorProto::MergePartialFromCodedStream(
   4199     ::google::protobuf::io::CodedInputStream* input) {
   4200 #define DO_(EXPRESSION) if (!(EXPRESSION)) goto failure
   4201   ::google::protobuf::uint32 tag;
   4202   // @@protoc_insertion_point(parse_start:google.protobuf.ServiceDescriptorProto)
   4203   for (;;) {
   4204     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
   4205     tag = p.first;
   4206     if (!p.second) goto handle_unusual;
   4207     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
   4208       // optional string name = 1;
   4209       case 1: {
   4210         if (tag == 10) {
   4211           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
   4212                 input, this->mutable_name()));
   4213           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   4214             this->name().data(), this->name().length(),
   4215             ::google::protobuf::internal::WireFormat::PARSE,
   4216             "name");
   4217         } else {
   4218           goto handle_unusual;
   4219         }
   4220         if (input->ExpectTag(18)) goto parse_method;
   4221         break;
   4222       }
   4223 
   4224       // repeated .google.protobuf.MethodDescriptorProto method = 2;
   4225       case 2: {
   4226         if (tag == 18) {
   4227          parse_method:
   4228           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
   4229                 input, add_method()));
   4230         } else {
   4231           goto handle_unusual;
   4232         }
   4233         if (input->ExpectTag(18)) goto parse_method;
   4234         if (input->ExpectTag(26)) goto parse_options;
   4235         break;
   4236       }
   4237 
   4238       // optional .google.protobuf.ServiceOptions options = 3;
   4239       case 3: {
   4240         if (tag == 26) {
   4241          parse_options:
   4242           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
   4243                input, mutable_options()));
   4244         } else {
   4245           goto handle_unusual;
   4246         }
   4247         if (input->ExpectAtEnd()) goto success;
   4248         break;
   4249       }
   4250 
   4251       default: {
   4252       handle_unusual:
   4253         if (tag == 0 ||
   4254             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
   4255             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
   4256           goto success;
   4257         }
   4258         DO_(::google::protobuf::internal::WireFormat::SkipField(
   4259               input, tag, mutable_unknown_fields()));
   4260         break;
   4261       }
   4262     }
   4263   }
   4264 success:
   4265   // @@protoc_insertion_point(parse_success:google.protobuf.ServiceDescriptorProto)
   4266   return true;
   4267 failure:
   4268   // @@protoc_insertion_point(parse_failure:google.protobuf.ServiceDescriptorProto)
   4269   return false;
   4270 #undef DO_
   4271 }
   4272 
   4273 void ServiceDescriptorProto::SerializeWithCachedSizes(
   4274     ::google::protobuf::io::CodedOutputStream* output) const {
   4275   // @@protoc_insertion_point(serialize_start:google.protobuf.ServiceDescriptorProto)
   4276   // optional string name = 1;
   4277   if (has_name()) {
   4278     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   4279       this->name().data(), this->name().length(),
   4280       ::google::protobuf::internal::WireFormat::SERIALIZE,
   4281       "name");
   4282     ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
   4283       1, this->name(), output);
   4284   }
   4285 
   4286   // repeated .google.protobuf.MethodDescriptorProto method = 2;
   4287   for (int i = 0; i < this->method_size(); i++) {
   4288     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
   4289       2, this->method(i), output);
   4290   }
   4291 
   4292   // optional .google.protobuf.ServiceOptions options = 3;
   4293   if (has_options()) {
   4294     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
   4295       3, this->options(), output);
   4296   }
   4297 
   4298   if (!unknown_fields().empty()) {
   4299     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
   4300         unknown_fields(), output);
   4301   }
   4302   // @@protoc_insertion_point(serialize_end:google.protobuf.ServiceDescriptorProto)
   4303 }
   4304 
   4305 ::google::protobuf::uint8* ServiceDescriptorProto::SerializeWithCachedSizesToArray(
   4306     ::google::protobuf::uint8* target) const {
   4307   // @@protoc_insertion_point(serialize_to_array_start:google.protobuf.ServiceDescriptorProto)
   4308   // optional string name = 1;
   4309   if (has_name()) {
   4310     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   4311       this->name().data(), this->name().length(),
   4312       ::google::protobuf::internal::WireFormat::SERIALIZE,
   4313       "name");
   4314     target =
   4315       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
   4316         1, this->name(), target);
   4317   }
   4318 
   4319   // repeated .google.protobuf.MethodDescriptorProto method = 2;
   4320   for (int i = 0; i < this->method_size(); i++) {
   4321     target = ::google::protobuf::internal::WireFormatLite::
   4322       WriteMessageNoVirtualToArray(
   4323         2, this->method(i), target);
   4324   }
   4325 
   4326   // optional .google.protobuf.ServiceOptions options = 3;
   4327   if (has_options()) {
   4328     target = ::google::protobuf::internal::WireFormatLite::
   4329       WriteMessageNoVirtualToArray(
   4330         3, this->options(), target);
   4331   }
   4332 
   4333   if (!unknown_fields().empty()) {
   4334     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
   4335         unknown_fields(), target);
   4336   }
   4337   // @@protoc_insertion_point(serialize_to_array_end:google.protobuf.ServiceDescriptorProto)
   4338   return target;
   4339 }
   4340 
   4341 int ServiceDescriptorProto::ByteSize() const {
   4342   int total_size = 0;
   4343 
   4344   if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
   4345     // optional string name = 1;
   4346     if (has_name()) {
   4347       total_size += 1 +
   4348         ::google::protobuf::internal::WireFormatLite::StringSize(
   4349           this->name());
   4350     }
   4351 
   4352     // optional .google.protobuf.ServiceOptions options = 3;
   4353     if (has_options()) {
   4354       total_size += 1 +
   4355         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
   4356           this->options());
   4357     }
   4358 
   4359   }
   4360   // repeated .google.protobuf.MethodDescriptorProto method = 2;
   4361   total_size += 1 * this->method_size();
   4362   for (int i = 0; i < this->method_size(); i++) {
   4363     total_size +=
   4364       ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
   4365         this->method(i));
   4366   }
   4367 
   4368   if (!unknown_fields().empty()) {
   4369     total_size +=
   4370       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
   4371         unknown_fields());
   4372   }
   4373   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   4374   _cached_size_ = total_size;
   4375   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   4376   return total_size;
   4377 }
   4378 
   4379 void ServiceDescriptorProto::MergeFrom(const ::google::protobuf::Message& from) {
   4380   GOOGLE_CHECK_NE(&from, this);
   4381   const ServiceDescriptorProto* source =
   4382     ::google::protobuf::internal::dynamic_cast_if_available<const ServiceDescriptorProto*>(
   4383       &from);
   4384   if (source == NULL) {
   4385     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
   4386   } else {
   4387     MergeFrom(*source);
   4388   }
   4389 }
   4390 
   4391 void ServiceDescriptorProto::MergeFrom(const ServiceDescriptorProto& from) {
   4392   GOOGLE_CHECK_NE(&from, this);
   4393   method_.MergeFrom(from.method_);
   4394   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
   4395     if (from.has_name()) {
   4396       set_name(from.name());
   4397     }
   4398     if (from.has_options()) {
   4399       mutable_options()->::google::protobuf::ServiceOptions::MergeFrom(from.options());
   4400     }
   4401   }
   4402   mutable_unknown_fields()->MergeFrom(from.unknown_fields());
   4403 }
   4404 
   4405 void ServiceDescriptorProto::CopyFrom(const ::google::protobuf::Message& from) {
   4406   if (&from == this) return;
   4407   Clear();
   4408   MergeFrom(from);
   4409 }
   4410 
   4411 void ServiceDescriptorProto::CopyFrom(const ServiceDescriptorProto& from) {
   4412   if (&from == this) return;
   4413   Clear();
   4414   MergeFrom(from);
   4415 }
   4416 
   4417 bool ServiceDescriptorProto::IsInitialized() const {
   4418 
   4419   if (!::google::protobuf::internal::AllAreInitialized(this->method())) return false;
   4420   if (has_options()) {
   4421     if (!this->options().IsInitialized()) return false;
   4422   }
   4423   return true;
   4424 }
   4425 
   4426 void ServiceDescriptorProto::Swap(ServiceDescriptorProto* other) {
   4427   if (other != this) {
   4428     std::swap(name_, other->name_);
   4429     method_.Swap(&other->method_);
   4430     std::swap(options_, other->options_);
   4431     std::swap(_has_bits_[0], other->_has_bits_[0]);
   4432     _unknown_fields_.Swap(&other->_unknown_fields_);
   4433     std::swap(_cached_size_, other->_cached_size_);
   4434   }
   4435 }
   4436 
   4437 ::google::protobuf::Metadata ServiceDescriptorProto::GetMetadata() const {
   4438   protobuf_AssignDescriptorsOnce();
   4439   ::google::protobuf::Metadata metadata;
   4440   metadata.descriptor = ServiceDescriptorProto_descriptor_;
   4441   metadata.reflection = ServiceDescriptorProto_reflection_;
   4442   return metadata;
   4443 }
   4444 
   4445 
   4446 // ===================================================================
   4447 
   4448 #ifndef _MSC_VER
   4449 const int MethodDescriptorProto::kNameFieldNumber;
   4450 const int MethodDescriptorProto::kInputTypeFieldNumber;
   4451 const int MethodDescriptorProto::kOutputTypeFieldNumber;
   4452 const int MethodDescriptorProto::kOptionsFieldNumber;
   4453 #endif  // !_MSC_VER
   4454 
   4455 MethodDescriptorProto::MethodDescriptorProto()
   4456   : ::google::protobuf::Message() {
   4457   SharedCtor();
   4458   // @@protoc_insertion_point(constructor:google.protobuf.MethodDescriptorProto)
   4459 }
   4460 
   4461 void MethodDescriptorProto::InitAsDefaultInstance() {
   4462   options_ = const_cast< ::google::protobuf::MethodOptions*>(&::google::protobuf::MethodOptions::default_instance());
   4463 }
   4464 
   4465 MethodDescriptorProto::MethodDescriptorProto(const MethodDescriptorProto& from)
   4466   : ::google::protobuf::Message() {
   4467   SharedCtor();
   4468   MergeFrom(from);
   4469   // @@protoc_insertion_point(copy_constructor:google.protobuf.MethodDescriptorProto)
   4470 }
   4471 
   4472 void MethodDescriptorProto::SharedCtor() {
   4473   ::google::protobuf::internal::GetEmptyString();
   4474   _cached_size_ = 0;
   4475   name_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   4476   input_type_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   4477   output_type_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   4478   options_ = NULL;
   4479   ::memset(_has_bits_, 0, sizeof(_has_bits_));
   4480 }
   4481 
   4482 MethodDescriptorProto::~MethodDescriptorProto() {
   4483   // @@protoc_insertion_point(destructor:google.protobuf.MethodDescriptorProto)
   4484   SharedDtor();
   4485 }
   4486 
   4487 void MethodDescriptorProto::SharedDtor() {
   4488   if (name_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   4489     delete name_;
   4490   }
   4491   if (input_type_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   4492     delete input_type_;
   4493   }
   4494   if (output_type_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   4495     delete output_type_;
   4496   }
   4497   if (this != default_instance_) {
   4498     delete options_;
   4499   }
   4500 }
   4501 
   4502 void MethodDescriptorProto::SetCachedSize(int size) const {
   4503   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   4504   _cached_size_ = size;
   4505   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   4506 }
   4507 const ::google::protobuf::Descriptor* MethodDescriptorProto::descriptor() {
   4508   protobuf_AssignDescriptorsOnce();
   4509   return MethodDescriptorProto_descriptor_;
   4510 }
   4511 
   4512 const MethodDescriptorProto& MethodDescriptorProto::default_instance() {
   4513   if (default_instance_ == NULL) protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();
   4514   return *default_instance_;
   4515 }
   4516 
   4517 MethodDescriptorProto* MethodDescriptorProto::default_instance_ = NULL;
   4518 
   4519 MethodDescriptorProto* MethodDescriptorProto::New() const {
   4520   return new MethodDescriptorProto;
   4521 }
   4522 
   4523 void MethodDescriptorProto::Clear() {
   4524   if (_has_bits_[0 / 32] & 15) {
   4525     if (has_name()) {
   4526       if (name_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   4527         name_->clear();
   4528       }
   4529     }
   4530     if (has_input_type()) {
   4531       if (input_type_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   4532         input_type_->clear();
   4533       }
   4534     }
   4535     if (has_output_type()) {
   4536       if (output_type_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   4537         output_type_->clear();
   4538       }
   4539     }
   4540     if (has_options()) {
   4541       if (options_ != NULL) options_->::google::protobuf::MethodOptions::Clear();
   4542     }
   4543   }
   4544   ::memset(_has_bits_, 0, sizeof(_has_bits_));
   4545   mutable_unknown_fields()->Clear();
   4546 }
   4547 
   4548 bool MethodDescriptorProto::MergePartialFromCodedStream(
   4549     ::google::protobuf::io::CodedInputStream* input) {
   4550 #define DO_(EXPRESSION) if (!(EXPRESSION)) goto failure
   4551   ::google::protobuf::uint32 tag;
   4552   // @@protoc_insertion_point(parse_start:google.protobuf.MethodDescriptorProto)
   4553   for (;;) {
   4554     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
   4555     tag = p.first;
   4556     if (!p.second) goto handle_unusual;
   4557     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
   4558       // optional string name = 1;
   4559       case 1: {
   4560         if (tag == 10) {
   4561           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
   4562                 input, this->mutable_name()));
   4563           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   4564             this->name().data(), this->name().length(),
   4565             ::google::protobuf::internal::WireFormat::PARSE,
   4566             "name");
   4567         } else {
   4568           goto handle_unusual;
   4569         }
   4570         if (input->ExpectTag(18)) goto parse_input_type;
   4571         break;
   4572       }
   4573 
   4574       // optional string input_type = 2;
   4575       case 2: {
   4576         if (tag == 18) {
   4577          parse_input_type:
   4578           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
   4579                 input, this->mutable_input_type()));
   4580           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   4581             this->input_type().data(), this->input_type().length(),
   4582             ::google::protobuf::internal::WireFormat::PARSE,
   4583             "input_type");
   4584         } else {
   4585           goto handle_unusual;
   4586         }
   4587         if (input->ExpectTag(26)) goto parse_output_type;
   4588         break;
   4589       }
   4590 
   4591       // optional string output_type = 3;
   4592       case 3: {
   4593         if (tag == 26) {
   4594          parse_output_type:
   4595           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
   4596                 input, this->mutable_output_type()));
   4597           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   4598             this->output_type().data(), this->output_type().length(),
   4599             ::google::protobuf::internal::WireFormat::PARSE,
   4600             "output_type");
   4601         } else {
   4602           goto handle_unusual;
   4603         }
   4604         if (input->ExpectTag(34)) goto parse_options;
   4605         break;
   4606       }
   4607 
   4608       // optional .google.protobuf.MethodOptions options = 4;
   4609       case 4: {
   4610         if (tag == 34) {
   4611          parse_options:
   4612           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
   4613                input, mutable_options()));
   4614         } else {
   4615           goto handle_unusual;
   4616         }
   4617         if (input->ExpectAtEnd()) goto success;
   4618         break;
   4619       }
   4620 
   4621       default: {
   4622       handle_unusual:
   4623         if (tag == 0 ||
   4624             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
   4625             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
   4626           goto success;
   4627         }
   4628         DO_(::google::protobuf::internal::WireFormat::SkipField(
   4629               input, tag, mutable_unknown_fields()));
   4630         break;
   4631       }
   4632     }
   4633   }
   4634 success:
   4635   // @@protoc_insertion_point(parse_success:google.protobuf.MethodDescriptorProto)
   4636   return true;
   4637 failure:
   4638   // @@protoc_insertion_point(parse_failure:google.protobuf.MethodDescriptorProto)
   4639   return false;
   4640 #undef DO_
   4641 }
   4642 
   4643 void MethodDescriptorProto::SerializeWithCachedSizes(
   4644     ::google::protobuf::io::CodedOutputStream* output) const {
   4645   // @@protoc_insertion_point(serialize_start:google.protobuf.MethodDescriptorProto)
   4646   // optional string name = 1;
   4647   if (has_name()) {
   4648     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   4649       this->name().data(), this->name().length(),
   4650       ::google::protobuf::internal::WireFormat::SERIALIZE,
   4651       "name");
   4652     ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
   4653       1, this->name(), output);
   4654   }
   4655 
   4656   // optional string input_type = 2;
   4657   if (has_input_type()) {
   4658     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   4659       this->input_type().data(), this->input_type().length(),
   4660       ::google::protobuf::internal::WireFormat::SERIALIZE,
   4661       "input_type");
   4662     ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
   4663       2, this->input_type(), output);
   4664   }
   4665 
   4666   // optional string output_type = 3;
   4667   if (has_output_type()) {
   4668     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   4669       this->output_type().data(), this->output_type().length(),
   4670       ::google::protobuf::internal::WireFormat::SERIALIZE,
   4671       "output_type");
   4672     ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
   4673       3, this->output_type(), output);
   4674   }
   4675 
   4676   // optional .google.protobuf.MethodOptions options = 4;
   4677   if (has_options()) {
   4678     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
   4679       4, this->options(), output);
   4680   }
   4681 
   4682   if (!unknown_fields().empty()) {
   4683     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
   4684         unknown_fields(), output);
   4685   }
   4686   // @@protoc_insertion_point(serialize_end:google.protobuf.MethodDescriptorProto)
   4687 }
   4688 
   4689 ::google::protobuf::uint8* MethodDescriptorProto::SerializeWithCachedSizesToArray(
   4690     ::google::protobuf::uint8* target) const {
   4691   // @@protoc_insertion_point(serialize_to_array_start:google.protobuf.MethodDescriptorProto)
   4692   // optional string name = 1;
   4693   if (has_name()) {
   4694     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   4695       this->name().data(), this->name().length(),
   4696       ::google::protobuf::internal::WireFormat::SERIALIZE,
   4697       "name");
   4698     target =
   4699       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
   4700         1, this->name(), target);
   4701   }
   4702 
   4703   // optional string input_type = 2;
   4704   if (has_input_type()) {
   4705     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   4706       this->input_type().data(), this->input_type().length(),
   4707       ::google::protobuf::internal::WireFormat::SERIALIZE,
   4708       "input_type");
   4709     target =
   4710       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
   4711         2, this->input_type(), target);
   4712   }
   4713 
   4714   // optional string output_type = 3;
   4715   if (has_output_type()) {
   4716     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   4717       this->output_type().data(), this->output_type().length(),
   4718       ::google::protobuf::internal::WireFormat::SERIALIZE,
   4719       "output_type");
   4720     target =
   4721       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
   4722         3, this->output_type(), target);
   4723   }
   4724 
   4725   // optional .google.protobuf.MethodOptions options = 4;
   4726   if (has_options()) {
   4727     target = ::google::protobuf::internal::WireFormatLite::
   4728       WriteMessageNoVirtualToArray(
   4729         4, this->options(), target);
   4730   }
   4731 
   4732   if (!unknown_fields().empty()) {
   4733     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
   4734         unknown_fields(), target);
   4735   }
   4736   // @@protoc_insertion_point(serialize_to_array_end:google.protobuf.MethodDescriptorProto)
   4737   return target;
   4738 }
   4739 
   4740 int MethodDescriptorProto::ByteSize() const {
   4741   int total_size = 0;
   4742 
   4743   if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
   4744     // optional string name = 1;
   4745     if (has_name()) {
   4746       total_size += 1 +
   4747         ::google::protobuf::internal::WireFormatLite::StringSize(
   4748           this->name());
   4749     }
   4750 
   4751     // optional string input_type = 2;
   4752     if (has_input_type()) {
   4753       total_size += 1 +
   4754         ::google::protobuf::internal::WireFormatLite::StringSize(
   4755           this->input_type());
   4756     }
   4757 
   4758     // optional string output_type = 3;
   4759     if (has_output_type()) {
   4760       total_size += 1 +
   4761         ::google::protobuf::internal::WireFormatLite::StringSize(
   4762           this->output_type());
   4763     }
   4764 
   4765     // optional .google.protobuf.MethodOptions options = 4;
   4766     if (has_options()) {
   4767       total_size += 1 +
   4768         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
   4769           this->options());
   4770     }
   4771 
   4772   }
   4773   if (!unknown_fields().empty()) {
   4774     total_size +=
   4775       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
   4776         unknown_fields());
   4777   }
   4778   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   4779   _cached_size_ = total_size;
   4780   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   4781   return total_size;
   4782 }
   4783 
   4784 void MethodDescriptorProto::MergeFrom(const ::google::protobuf::Message& from) {
   4785   GOOGLE_CHECK_NE(&from, this);
   4786   const MethodDescriptorProto* source =
   4787     ::google::protobuf::internal::dynamic_cast_if_available<const MethodDescriptorProto*>(
   4788       &from);
   4789   if (source == NULL) {
   4790     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
   4791   } else {
   4792     MergeFrom(*source);
   4793   }
   4794 }
   4795 
   4796 void MethodDescriptorProto::MergeFrom(const MethodDescriptorProto& from) {
   4797   GOOGLE_CHECK_NE(&from, this);
   4798   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
   4799     if (from.has_name()) {
   4800       set_name(from.name());
   4801     }
   4802     if (from.has_input_type()) {
   4803       set_input_type(from.input_type());
   4804     }
   4805     if (from.has_output_type()) {
   4806       set_output_type(from.output_type());
   4807     }
   4808     if (from.has_options()) {
   4809       mutable_options()->::google::protobuf::MethodOptions::MergeFrom(from.options());
   4810     }
   4811   }
   4812   mutable_unknown_fields()->MergeFrom(from.unknown_fields());
   4813 }
   4814 
   4815 void MethodDescriptorProto::CopyFrom(const ::google::protobuf::Message& from) {
   4816   if (&from == this) return;
   4817   Clear();
   4818   MergeFrom(from);
   4819 }
   4820 
   4821 void MethodDescriptorProto::CopyFrom(const MethodDescriptorProto& from) {
   4822   if (&from == this) return;
   4823   Clear();
   4824   MergeFrom(from);
   4825 }
   4826 
   4827 bool MethodDescriptorProto::IsInitialized() const {
   4828 
   4829   if (has_options()) {
   4830     if (!this->options().IsInitialized()) return false;
   4831   }
   4832   return true;
   4833 }
   4834 
   4835 void MethodDescriptorProto::Swap(MethodDescriptorProto* other) {
   4836   if (other != this) {
   4837     std::swap(name_, other->name_);
   4838     std::swap(input_type_, other->input_type_);
   4839     std::swap(output_type_, other->output_type_);
   4840     std::swap(options_, other->options_);
   4841     std::swap(_has_bits_[0], other->_has_bits_[0]);
   4842     _unknown_fields_.Swap(&other->_unknown_fields_);
   4843     std::swap(_cached_size_, other->_cached_size_);
   4844   }
   4845 }
   4846 
   4847 ::google::protobuf::Metadata MethodDescriptorProto::GetMetadata() const {
   4848   protobuf_AssignDescriptorsOnce();
   4849   ::google::protobuf::Metadata metadata;
   4850   metadata.descriptor = MethodDescriptorProto_descriptor_;
   4851   metadata.reflection = MethodDescriptorProto_reflection_;
   4852   return metadata;
   4853 }
   4854 
   4855 
   4856 // ===================================================================
   4857 
   4858 const ::google::protobuf::EnumDescriptor* FileOptions_OptimizeMode_descriptor() {
   4859   protobuf_AssignDescriptorsOnce();
   4860   return FileOptions_OptimizeMode_descriptor_;
   4861 }
   4862 bool FileOptions_OptimizeMode_IsValid(int value) {
   4863   switch(value) {
   4864     case 1:
   4865     case 2:
   4866     case 3:
   4867       return true;
   4868     default:
   4869       return false;
   4870   }
   4871 }
   4872 
   4873 #ifndef _MSC_VER
   4874 const FileOptions_OptimizeMode FileOptions::SPEED;
   4875 const FileOptions_OptimizeMode FileOptions::CODE_SIZE;
   4876 const FileOptions_OptimizeMode FileOptions::LITE_RUNTIME;
   4877 const FileOptions_OptimizeMode FileOptions::OptimizeMode_MIN;
   4878 const FileOptions_OptimizeMode FileOptions::OptimizeMode_MAX;
   4879 const int FileOptions::OptimizeMode_ARRAYSIZE;
   4880 #endif  // _MSC_VER
   4881 #ifndef _MSC_VER
   4882 const int FileOptions::kJavaPackageFieldNumber;
   4883 const int FileOptions::kJavaOuterClassnameFieldNumber;
   4884 const int FileOptions::kJavaMultipleFilesFieldNumber;
   4885 const int FileOptions::kJavaGenerateEqualsAndHashFieldNumber;
   4886 const int FileOptions::kJavaStringCheckUtf8FieldNumber;
   4887 const int FileOptions::kOptimizeForFieldNumber;
   4888 const int FileOptions::kGoPackageFieldNumber;
   4889 const int FileOptions::kCcGenericServicesFieldNumber;
   4890 const int FileOptions::kJavaGenericServicesFieldNumber;
   4891 const int FileOptions::kPyGenericServicesFieldNumber;
   4892 const int FileOptions::kDeprecatedFieldNumber;
   4893 const int FileOptions::kUninterpretedOptionFieldNumber;
   4894 #endif  // !_MSC_VER
   4895 
   4896 FileOptions::FileOptions()
   4897   : ::google::protobuf::Message() {
   4898   SharedCtor();
   4899   // @@protoc_insertion_point(constructor:google.protobuf.FileOptions)
   4900 }
   4901 
   4902 void FileOptions::InitAsDefaultInstance() {
   4903 }
   4904 
   4905 FileOptions::FileOptions(const FileOptions& from)
   4906   : ::google::protobuf::Message() {
   4907   SharedCtor();
   4908   MergeFrom(from);
   4909   // @@protoc_insertion_point(copy_constructor:google.protobuf.FileOptions)
   4910 }
   4911 
   4912 void FileOptions::SharedCtor() {
   4913   ::google::protobuf::internal::GetEmptyString();
   4914   _cached_size_ = 0;
   4915   java_package_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   4916   java_outer_classname_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   4917   java_multiple_files_ = false;
   4918   java_generate_equals_and_hash_ = false;
   4919   java_string_check_utf8_ = false;
   4920   optimize_for_ = 1;
   4921   go_package_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   4922   cc_generic_services_ = false;
   4923   java_generic_services_ = false;
   4924   py_generic_services_ = false;
   4925   deprecated_ = false;
   4926   ::memset(_has_bits_, 0, sizeof(_has_bits_));
   4927 }
   4928 
   4929 FileOptions::~FileOptions() {
   4930   // @@protoc_insertion_point(destructor:google.protobuf.FileOptions)
   4931   SharedDtor();
   4932 }
   4933 
   4934 void FileOptions::SharedDtor() {
   4935   if (java_package_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   4936     delete java_package_;
   4937   }
   4938   if (java_outer_classname_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   4939     delete java_outer_classname_;
   4940   }
   4941   if (go_package_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   4942     delete go_package_;
   4943   }
   4944   if (this != default_instance_) {
   4945   }
   4946 }
   4947 
   4948 void FileOptions::SetCachedSize(int size) const {
   4949   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   4950   _cached_size_ = size;
   4951   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   4952 }
   4953 const ::google::protobuf::Descriptor* FileOptions::descriptor() {
   4954   protobuf_AssignDescriptorsOnce();
   4955   return FileOptions_descriptor_;
   4956 }
   4957 
   4958 const FileOptions& FileOptions::default_instance() {
   4959   if (default_instance_ == NULL) protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();
   4960   return *default_instance_;
   4961 }
   4962 
   4963 FileOptions* FileOptions::default_instance_ = NULL;
   4964 
   4965 FileOptions* FileOptions::New() const {
   4966   return new FileOptions;
   4967 }
   4968 
   4969 void FileOptions::Clear() {
   4970   _extensions_.Clear();
   4971 #define OFFSET_OF_FIELD_(f) (reinterpret_cast<char*>(      \
   4972   &reinterpret_cast<FileOptions*>(16)->f) - \
   4973    reinterpret_cast<char*>(16))
   4974 
   4975 #define ZR_(first, last) do {                              \
   4976     size_t f = OFFSET_OF_FIELD_(first);                    \
   4977     size_t n = OFFSET_OF_FIELD_(last) - f + sizeof(last);  \
   4978     ::memset(&first, 0, n);                                \
   4979   } while (0)
   4980 
   4981   if (_has_bits_[0 / 32] & 255) {
   4982     ZR_(java_multiple_files_, cc_generic_services_);
   4983     if (has_java_package()) {
   4984       if (java_package_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   4985         java_package_->clear();
   4986       }
   4987     }
   4988     if (has_java_outer_classname()) {
   4989       if (java_outer_classname_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   4990         java_outer_classname_->clear();
   4991       }
   4992     }
   4993     optimize_for_ = 1;
   4994     if (has_go_package()) {
   4995       if (go_package_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   4996         go_package_->clear();
   4997       }
   4998     }
   4999   }
   5000   ZR_(java_generic_services_, deprecated_);
   5001 
   5002 #undef OFFSET_OF_FIELD_
   5003 #undef ZR_
   5004 
   5005   uninterpreted_option_.Clear();
   5006   ::memset(_has_bits_, 0, sizeof(_has_bits_));
   5007   mutable_unknown_fields()->Clear();
   5008 }
   5009 
   5010 bool FileOptions::MergePartialFromCodedStream(
   5011     ::google::protobuf::io::CodedInputStream* input) {
   5012 #define DO_(EXPRESSION) if (!(EXPRESSION)) goto failure
   5013   ::google::protobuf::uint32 tag;
   5014   // @@protoc_insertion_point(parse_start:google.protobuf.FileOptions)
   5015   for (;;) {
   5016     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(16383);
   5017     tag = p.first;
   5018     if (!p.second) goto handle_unusual;
   5019     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
   5020       // optional string java_package = 1;
   5021       case 1: {
   5022         if (tag == 10) {
   5023           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
   5024                 input, this->mutable_java_package()));
   5025           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   5026             this->java_package().data(), this->java_package().length(),
   5027             ::google::protobuf::internal::WireFormat::PARSE,
   5028             "java_package");
   5029         } else {
   5030           goto handle_unusual;
   5031         }
   5032         if (input->ExpectTag(66)) goto parse_java_outer_classname;
   5033         break;
   5034       }
   5035 
   5036       // optional string java_outer_classname = 8;
   5037       case 8: {
   5038         if (tag == 66) {
   5039          parse_java_outer_classname:
   5040           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
   5041                 input, this->mutable_java_outer_classname()));
   5042           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   5043             this->java_outer_classname().data(), this->java_outer_classname().length(),
   5044             ::google::protobuf::internal::WireFormat::PARSE,
   5045             "java_outer_classname");
   5046         } else {
   5047           goto handle_unusual;
   5048         }
   5049         if (input->ExpectTag(72)) goto parse_optimize_for;
   5050         break;
   5051       }
   5052 
   5053       // optional .google.protobuf.FileOptions.OptimizeMode optimize_for = 9 [default = SPEED];
   5054       case 9: {
   5055         if (tag == 72) {
   5056          parse_optimize_for:
   5057           int value;
   5058           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
   5059                    int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
   5060                  input, &value)));
   5061           if (::google::protobuf::FileOptions_OptimizeMode_IsValid(value)) {
   5062             set_optimize_for(static_cast< ::google::protobuf::FileOptions_OptimizeMode >(value));
   5063           } else {
   5064             mutable_unknown_fields()->AddVarint(9, value);
   5065           }
   5066         } else {
   5067           goto handle_unusual;
   5068         }
   5069         if (input->ExpectTag(80)) goto parse_java_multiple_files;
   5070         break;
   5071       }
   5072 
   5073       // optional bool java_multiple_files = 10 [default = false];
   5074       case 10: {
   5075         if (tag == 80) {
   5076          parse_java_multiple_files:
   5077           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
   5078                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
   5079                  input, &java_multiple_files_)));
   5080           set_has_java_multiple_files();
   5081         } else {
   5082           goto handle_unusual;
   5083         }
   5084         if (input->ExpectTag(90)) goto parse_go_package;
   5085         break;
   5086       }
   5087 
   5088       // optional string go_package = 11;
   5089       case 11: {
   5090         if (tag == 90) {
   5091          parse_go_package:
   5092           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
   5093                 input, this->mutable_go_package()));
   5094           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   5095             this->go_package().data(), this->go_package().length(),
   5096             ::google::protobuf::internal::WireFormat::PARSE,
   5097             "go_package");
   5098         } else {
   5099           goto handle_unusual;
   5100         }
   5101         if (input->ExpectTag(128)) goto parse_cc_generic_services;
   5102         break;
   5103       }
   5104 
   5105       // optional bool cc_generic_services = 16 [default = false];
   5106       case 16: {
   5107         if (tag == 128) {
   5108          parse_cc_generic_services:
   5109           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
   5110                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
   5111                  input, &cc_generic_services_)));
   5112           set_has_cc_generic_services();
   5113         } else {
   5114           goto handle_unusual;
   5115         }
   5116         if (input->ExpectTag(136)) goto parse_java_generic_services;
   5117         break;
   5118       }
   5119 
   5120       // optional bool java_generic_services = 17 [default = false];
   5121       case 17: {
   5122         if (tag == 136) {
   5123          parse_java_generic_services:
   5124           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
   5125                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
   5126                  input, &java_generic_services_)));
   5127           set_has_java_generic_services();
   5128         } else {
   5129           goto handle_unusual;
   5130         }
   5131         if (input->ExpectTag(144)) goto parse_py_generic_services;
   5132         break;
   5133       }
   5134 
   5135       // optional bool py_generic_services = 18 [default = false];
   5136       case 18: {
   5137         if (tag == 144) {
   5138          parse_py_generic_services:
   5139           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
   5140                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
   5141                  input, &py_generic_services_)));
   5142           set_has_py_generic_services();
   5143         } else {
   5144           goto handle_unusual;
   5145         }
   5146         if (input->ExpectTag(160)) goto parse_java_generate_equals_and_hash;
   5147         break;
   5148       }
   5149 
   5150       // optional bool java_generate_equals_and_hash = 20 [default = false];
   5151       case 20: {
   5152         if (tag == 160) {
   5153          parse_java_generate_equals_and_hash:
   5154           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
   5155                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
   5156                  input, &java_generate_equals_and_hash_)));
   5157           set_has_java_generate_equals_and_hash();
   5158         } else {
   5159           goto handle_unusual;
   5160         }
   5161         if (input->ExpectTag(184)) goto parse_deprecated;
   5162         break;
   5163       }
   5164 
   5165       // optional bool deprecated = 23 [default = false];
   5166       case 23: {
   5167         if (tag == 184) {
   5168          parse_deprecated:
   5169           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
   5170                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
   5171                  input, &deprecated_)));
   5172           set_has_deprecated();
   5173         } else {
   5174           goto handle_unusual;
   5175         }
   5176         if (input->ExpectTag(216)) goto parse_java_string_check_utf8;
   5177         break;
   5178       }
   5179 
   5180       // optional bool java_string_check_utf8 = 27 [default = false];
   5181       case 27: {
   5182         if (tag == 216) {
   5183          parse_java_string_check_utf8:
   5184           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
   5185                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
   5186                  input, &java_string_check_utf8_)));
   5187           set_has_java_string_check_utf8();
   5188         } else {
   5189           goto handle_unusual;
   5190         }
   5191         if (input->ExpectTag(7994)) goto parse_uninterpreted_option;
   5192         break;
   5193       }
   5194 
   5195       // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
   5196       case 999: {
   5197         if (tag == 7994) {
   5198          parse_uninterpreted_option:
   5199           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
   5200                 input, add_uninterpreted_option()));
   5201         } else {
   5202           goto handle_unusual;
   5203         }
   5204         if (input->ExpectTag(7994)) goto parse_uninterpreted_option;
   5205         if (input->ExpectAtEnd()) goto success;
   5206         break;
   5207       }
   5208 
   5209       default: {
   5210       handle_unusual:
   5211         if (tag == 0 ||
   5212             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
   5213             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
   5214           goto success;
   5215         }
   5216         if ((8000u <= tag)) {
   5217           DO_(_extensions_.ParseField(tag, input, default_instance_,
   5218                                       mutable_unknown_fields()));
   5219           continue;
   5220         }
   5221         DO_(::google::protobuf::internal::WireFormat::SkipField(
   5222               input, tag, mutable_unknown_fields()));
   5223         break;
   5224       }
   5225     }
   5226   }
   5227 success:
   5228   // @@protoc_insertion_point(parse_success:google.protobuf.FileOptions)
   5229   return true;
   5230 failure:
   5231   // @@protoc_insertion_point(parse_failure:google.protobuf.FileOptions)
   5232   return false;
   5233 #undef DO_
   5234 }
   5235 
   5236 void FileOptions::SerializeWithCachedSizes(
   5237     ::google::protobuf::io::CodedOutputStream* output) const {
   5238   // @@protoc_insertion_point(serialize_start:google.protobuf.FileOptions)
   5239   // optional string java_package = 1;
   5240   if (has_java_package()) {
   5241     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   5242       this->java_package().data(), this->java_package().length(),
   5243       ::google::protobuf::internal::WireFormat::SERIALIZE,
   5244       "java_package");
   5245     ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
   5246       1, this->java_package(), output);
   5247   }
   5248 
   5249   // optional string java_outer_classname = 8;
   5250   if (has_java_outer_classname()) {
   5251     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   5252       this->java_outer_classname().data(), this->java_outer_classname().length(),
   5253       ::google::protobuf::internal::WireFormat::SERIALIZE,
   5254       "java_outer_classname");
   5255     ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
   5256       8, this->java_outer_classname(), output);
   5257   }
   5258 
   5259   // optional .google.protobuf.FileOptions.OptimizeMode optimize_for = 9 [default = SPEED];
   5260   if (has_optimize_for()) {
   5261     ::google::protobuf::internal::WireFormatLite::WriteEnum(
   5262       9, this->optimize_for(), output);
   5263   }
   5264 
   5265   // optional bool java_multiple_files = 10 [default = false];
   5266   if (has_java_multiple_files()) {
   5267     ::google::protobuf::internal::WireFormatLite::WriteBool(10, this->java_multiple_files(), output);
   5268   }
   5269 
   5270   // optional string go_package = 11;
   5271   if (has_go_package()) {
   5272     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   5273       this->go_package().data(), this->go_package().length(),
   5274       ::google::protobuf::internal::WireFormat::SERIALIZE,
   5275       "go_package");
   5276     ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
   5277       11, this->go_package(), output);
   5278   }
   5279 
   5280   // optional bool cc_generic_services = 16 [default = false];
   5281   if (has_cc_generic_services()) {
   5282     ::google::protobuf::internal::WireFormatLite::WriteBool(16, this->cc_generic_services(), output);
   5283   }
   5284 
   5285   // optional bool java_generic_services = 17 [default = false];
   5286   if (has_java_generic_services()) {
   5287     ::google::protobuf::internal::WireFormatLite::WriteBool(17, this->java_generic_services(), output);
   5288   }
   5289 
   5290   // optional bool py_generic_services = 18 [default = false];
   5291   if (has_py_generic_services()) {
   5292     ::google::protobuf::internal::WireFormatLite::WriteBool(18, this->py_generic_services(), output);
   5293   }
   5294 
   5295   // optional bool java_generate_equals_and_hash = 20 [default = false];
   5296   if (has_java_generate_equals_and_hash()) {
   5297     ::google::protobuf::internal::WireFormatLite::WriteBool(20, this->java_generate_equals_and_hash(), output);
   5298   }
   5299 
   5300   // optional bool deprecated = 23 [default = false];
   5301   if (has_deprecated()) {
   5302     ::google::protobuf::internal::WireFormatLite::WriteBool(23, this->deprecated(), output);
   5303   }
   5304 
   5305   // optional bool java_string_check_utf8 = 27 [default = false];
   5306   if (has_java_string_check_utf8()) {
   5307     ::google::protobuf::internal::WireFormatLite::WriteBool(27, this->java_string_check_utf8(), output);
   5308   }
   5309 
   5310   // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
   5311   for (int i = 0; i < this->uninterpreted_option_size(); i++) {
   5312     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
   5313       999, this->uninterpreted_option(i), output);
   5314   }
   5315 
   5316   // Extension range [1000, 536870912)
   5317   _extensions_.SerializeWithCachedSizes(
   5318       1000, 536870912, output);
   5319 
   5320   if (!unknown_fields().empty()) {
   5321     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
   5322         unknown_fields(), output);
   5323   }
   5324   // @@protoc_insertion_point(serialize_end:google.protobuf.FileOptions)
   5325 }
   5326 
   5327 ::google::protobuf::uint8* FileOptions::SerializeWithCachedSizesToArray(
   5328     ::google::protobuf::uint8* target) const {
   5329   // @@protoc_insertion_point(serialize_to_array_start:google.protobuf.FileOptions)
   5330   // optional string java_package = 1;
   5331   if (has_java_package()) {
   5332     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   5333       this->java_package().data(), this->java_package().length(),
   5334       ::google::protobuf::internal::WireFormat::SERIALIZE,
   5335       "java_package");
   5336     target =
   5337       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
   5338         1, this->java_package(), target);
   5339   }
   5340 
   5341   // optional string java_outer_classname = 8;
   5342   if (has_java_outer_classname()) {
   5343     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   5344       this->java_outer_classname().data(), this->java_outer_classname().length(),
   5345       ::google::protobuf::internal::WireFormat::SERIALIZE,
   5346       "java_outer_classname");
   5347     target =
   5348       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
   5349         8, this->java_outer_classname(), target);
   5350   }
   5351 
   5352   // optional .google.protobuf.FileOptions.OptimizeMode optimize_for = 9 [default = SPEED];
   5353   if (has_optimize_for()) {
   5354     target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
   5355       9, this->optimize_for(), target);
   5356   }
   5357 
   5358   // optional bool java_multiple_files = 10 [default = false];
   5359   if (has_java_multiple_files()) {
   5360     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(10, this->java_multiple_files(), target);
   5361   }
   5362 
   5363   // optional string go_package = 11;
   5364   if (has_go_package()) {
   5365     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   5366       this->go_package().data(), this->go_package().length(),
   5367       ::google::protobuf::internal::WireFormat::SERIALIZE,
   5368       "go_package");
   5369     target =
   5370       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
   5371         11, this->go_package(), target);
   5372   }
   5373 
   5374   // optional bool cc_generic_services = 16 [default = false];
   5375   if (has_cc_generic_services()) {
   5376     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(16, this->cc_generic_services(), target);
   5377   }
   5378 
   5379   // optional bool java_generic_services = 17 [default = false];
   5380   if (has_java_generic_services()) {
   5381     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(17, this->java_generic_services(), target);
   5382   }
   5383 
   5384   // optional bool py_generic_services = 18 [default = false];
   5385   if (has_py_generic_services()) {
   5386     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(18, this->py_generic_services(), target);
   5387   }
   5388 
   5389   // optional bool java_generate_equals_and_hash = 20 [default = false];
   5390   if (has_java_generate_equals_and_hash()) {
   5391     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(20, this->java_generate_equals_and_hash(), target);
   5392   }
   5393 
   5394   // optional bool deprecated = 23 [default = false];
   5395   if (has_deprecated()) {
   5396     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(23, this->deprecated(), target);
   5397   }
   5398 
   5399   // optional bool java_string_check_utf8 = 27 [default = false];
   5400   if (has_java_string_check_utf8()) {
   5401     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(27, this->java_string_check_utf8(), target);
   5402   }
   5403 
   5404   // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
   5405   for (int i = 0; i < this->uninterpreted_option_size(); i++) {
   5406     target = ::google::protobuf::internal::WireFormatLite::
   5407       WriteMessageNoVirtualToArray(
   5408         999, this->uninterpreted_option(i), target);
   5409   }
   5410 
   5411   // Extension range [1000, 536870912)
   5412   target = _extensions_.SerializeWithCachedSizesToArray(
   5413       1000, 536870912, target);
   5414 
   5415   if (!unknown_fields().empty()) {
   5416     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
   5417         unknown_fields(), target);
   5418   }
   5419   // @@protoc_insertion_point(serialize_to_array_end:google.protobuf.FileOptions)
   5420   return target;
   5421 }
   5422 
   5423 int FileOptions::ByteSize() const {
   5424   int total_size = 0;
   5425 
   5426   if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
   5427     // optional string java_package = 1;
   5428     if (has_java_package()) {
   5429       total_size += 1 +
   5430         ::google::protobuf::internal::WireFormatLite::StringSize(
   5431           this->java_package());
   5432     }
   5433 
   5434     // optional string java_outer_classname = 8;
   5435     if (has_java_outer_classname()) {
   5436       total_size += 1 +
   5437         ::google::protobuf::internal::WireFormatLite::StringSize(
   5438           this->java_outer_classname());
   5439     }
   5440 
   5441     // optional bool java_multiple_files = 10 [default = false];
   5442     if (has_java_multiple_files()) {
   5443       total_size += 1 + 1;
   5444     }
   5445 
   5446     // optional bool java_generate_equals_and_hash = 20 [default = false];
   5447     if (has_java_generate_equals_and_hash()) {
   5448       total_size += 2 + 1;
   5449     }
   5450 
   5451     // optional bool java_string_check_utf8 = 27 [default = false];
   5452     if (has_java_string_check_utf8()) {
   5453       total_size += 2 + 1;
   5454     }
   5455 
   5456     // optional .google.protobuf.FileOptions.OptimizeMode optimize_for = 9 [default = SPEED];
   5457     if (has_optimize_for()) {
   5458       total_size += 1 +
   5459         ::google::protobuf::internal::WireFormatLite::EnumSize(this->optimize_for());
   5460     }
   5461 
   5462     // optional string go_package = 11;
   5463     if (has_go_package()) {
   5464       total_size += 1 +
   5465         ::google::protobuf::internal::WireFormatLite::StringSize(
   5466           this->go_package());
   5467     }
   5468 
   5469     // optional bool cc_generic_services = 16 [default = false];
   5470     if (has_cc_generic_services()) {
   5471       total_size += 2 + 1;
   5472     }
   5473 
   5474   }
   5475   if (_has_bits_[8 / 32] & (0xffu << (8 % 32))) {
   5476     // optional bool java_generic_services = 17 [default = false];
   5477     if (has_java_generic_services()) {
   5478       total_size += 2 + 1;
   5479     }
   5480 
   5481     // optional bool py_generic_services = 18 [default = false];
   5482     if (has_py_generic_services()) {
   5483       total_size += 2 + 1;
   5484     }
   5485 
   5486     // optional bool deprecated = 23 [default = false];
   5487     if (has_deprecated()) {
   5488       total_size += 2 + 1;
   5489     }
   5490 
   5491   }
   5492   // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
   5493   total_size += 2 * this->uninterpreted_option_size();
   5494   for (int i = 0; i < this->uninterpreted_option_size(); i++) {
   5495     total_size +=
   5496       ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
   5497         this->uninterpreted_option(i));
   5498   }
   5499 
   5500   total_size += _extensions_.ByteSize();
   5501 
   5502   if (!unknown_fields().empty()) {
   5503     total_size +=
   5504       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
   5505         unknown_fields());
   5506   }
   5507   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   5508   _cached_size_ = total_size;
   5509   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   5510   return total_size;
   5511 }
   5512 
   5513 void FileOptions::MergeFrom(const ::google::protobuf::Message& from) {
   5514   GOOGLE_CHECK_NE(&from, this);
   5515   const FileOptions* source =
   5516     ::google::protobuf::internal::dynamic_cast_if_available<const FileOptions*>(
   5517       &from);
   5518   if (source == NULL) {
   5519     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
   5520   } else {
   5521     MergeFrom(*source);
   5522   }
   5523 }
   5524 
   5525 void FileOptions::MergeFrom(const FileOptions& from) {
   5526   GOOGLE_CHECK_NE(&from, this);
   5527   uninterpreted_option_.MergeFrom(from.uninterpreted_option_);
   5528   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
   5529     if (from.has_java_package()) {
   5530       set_java_package(from.java_package());
   5531     }
   5532     if (from.has_java_outer_classname()) {
   5533       set_java_outer_classname(from.java_outer_classname());
   5534     }
   5535     if (from.has_java_multiple_files()) {
   5536       set_java_multiple_files(from.java_multiple_files());
   5537     }
   5538     if (from.has_java_generate_equals_and_hash()) {
   5539       set_java_generate_equals_and_hash(from.java_generate_equals_and_hash());
   5540     }
   5541     if (from.has_java_string_check_utf8()) {
   5542       set_java_string_check_utf8(from.java_string_check_utf8());
   5543     }
   5544     if (from.has_optimize_for()) {
   5545       set_optimize_for(from.optimize_for());
   5546     }
   5547     if (from.has_go_package()) {
   5548       set_go_package(from.go_package());
   5549     }
   5550     if (from.has_cc_generic_services()) {
   5551       set_cc_generic_services(from.cc_generic_services());
   5552     }
   5553   }
   5554   if (from._has_bits_[8 / 32] & (0xffu << (8 % 32))) {
   5555     if (from.has_java_generic_services()) {
   5556       set_java_generic_services(from.java_generic_services());
   5557     }
   5558     if (from.has_py_generic_services()) {
   5559       set_py_generic_services(from.py_generic_services());
   5560     }
   5561     if (from.has_deprecated()) {
   5562       set_deprecated(from.deprecated());
   5563     }
   5564   }
   5565   _extensions_.MergeFrom(from._extensions_);
   5566   mutable_unknown_fields()->MergeFrom(from.unknown_fields());
   5567 }
   5568 
   5569 void FileOptions::CopyFrom(const ::google::protobuf::Message& from) {
   5570   if (&from == this) return;
   5571   Clear();
   5572   MergeFrom(from);
   5573 }
   5574 
   5575 void FileOptions::CopyFrom(const FileOptions& from) {
   5576   if (&from == this) return;
   5577   Clear();
   5578   MergeFrom(from);
   5579 }
   5580 
   5581 bool FileOptions::IsInitialized() const {
   5582 
   5583   if (!::google::protobuf::internal::AllAreInitialized(this->uninterpreted_option())) return false;
   5584 
   5585   if (!_extensions_.IsInitialized()) return false;  return true;
   5586 }
   5587 
   5588 void FileOptions::Swap(FileOptions* other) {
   5589   if (other != this) {
   5590     std::swap(java_package_, other->java_package_);
   5591     std::swap(java_outer_classname_, other->java_outer_classname_);
   5592     std::swap(java_multiple_files_, other->java_multiple_files_);
   5593     std::swap(java_generate_equals_and_hash_, other->java_generate_equals_and_hash_);
   5594     std::swap(java_string_check_utf8_, other->java_string_check_utf8_);
   5595     std::swap(optimize_for_, other->optimize_for_);
   5596     std::swap(go_package_, other->go_package_);
   5597     std::swap(cc_generic_services_, other->cc_generic_services_);
   5598     std::swap(java_generic_services_, other->java_generic_services_);
   5599     std::swap(py_generic_services_, other->py_generic_services_);
   5600     std::swap(deprecated_, other->deprecated_);
   5601     uninterpreted_option_.Swap(&other->uninterpreted_option_);
   5602     std::swap(_has_bits_[0], other->_has_bits_[0]);
   5603     _unknown_fields_.Swap(&other->_unknown_fields_);
   5604     std::swap(_cached_size_, other->_cached_size_);
   5605     _extensions_.Swap(&other->_extensions_);
   5606   }
   5607 }
   5608 
   5609 ::google::protobuf::Metadata FileOptions::GetMetadata() const {
   5610   protobuf_AssignDescriptorsOnce();
   5611   ::google::protobuf::Metadata metadata;
   5612   metadata.descriptor = FileOptions_descriptor_;
   5613   metadata.reflection = FileOptions_reflection_;
   5614   return metadata;
   5615 }
   5616 
   5617 
   5618 // ===================================================================
   5619 
   5620 #ifndef _MSC_VER
   5621 const int MessageOptions::kMessageSetWireFormatFieldNumber;
   5622 const int MessageOptions::kNoStandardDescriptorAccessorFieldNumber;
   5623 const int MessageOptions::kDeprecatedFieldNumber;
   5624 const int MessageOptions::kUninterpretedOptionFieldNumber;
   5625 #endif  // !_MSC_VER
   5626 
   5627 MessageOptions::MessageOptions()
   5628   : ::google::protobuf::Message() {
   5629   SharedCtor();
   5630   // @@protoc_insertion_point(constructor:google.protobuf.MessageOptions)
   5631 }
   5632 
   5633 void MessageOptions::InitAsDefaultInstance() {
   5634 }
   5635 
   5636 MessageOptions::MessageOptions(const MessageOptions& from)
   5637   : ::google::protobuf::Message() {
   5638   SharedCtor();
   5639   MergeFrom(from);
   5640   // @@protoc_insertion_point(copy_constructor:google.protobuf.MessageOptions)
   5641 }
   5642 
   5643 void MessageOptions::SharedCtor() {
   5644   _cached_size_ = 0;
   5645   message_set_wire_format_ = false;
   5646   no_standard_descriptor_accessor_ = false;
   5647   deprecated_ = false;
   5648   ::memset(_has_bits_, 0, sizeof(_has_bits_));
   5649 }
   5650 
   5651 MessageOptions::~MessageOptions() {
   5652   // @@protoc_insertion_point(destructor:google.protobuf.MessageOptions)
   5653   SharedDtor();
   5654 }
   5655 
   5656 void MessageOptions::SharedDtor() {
   5657   if (this != default_instance_) {
   5658   }
   5659 }
   5660 
   5661 void MessageOptions::SetCachedSize(int size) const {
   5662   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   5663   _cached_size_ = size;
   5664   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   5665 }
   5666 const ::google::protobuf::Descriptor* MessageOptions::descriptor() {
   5667   protobuf_AssignDescriptorsOnce();
   5668   return MessageOptions_descriptor_;
   5669 }
   5670 
   5671 const MessageOptions& MessageOptions::default_instance() {
   5672   if (default_instance_ == NULL) protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();
   5673   return *default_instance_;
   5674 }
   5675 
   5676 MessageOptions* MessageOptions::default_instance_ = NULL;
   5677 
   5678 MessageOptions* MessageOptions::New() const {
   5679   return new MessageOptions;
   5680 }
   5681 
   5682 void MessageOptions::Clear() {
   5683   _extensions_.Clear();
   5684 #define OFFSET_OF_FIELD_(f) (reinterpret_cast<char*>(      \
   5685   &reinterpret_cast<MessageOptions*>(16)->f) - \
   5686    reinterpret_cast<char*>(16))
   5687 
   5688 #define ZR_(first, last) do {                              \
   5689     size_t f = OFFSET_OF_FIELD_(first);                    \
   5690     size_t n = OFFSET_OF_FIELD_(last) - f + sizeof(last);  \
   5691     ::memset(&first, 0, n);                                \
   5692   } while (0)
   5693 
   5694   ZR_(message_set_wire_format_, deprecated_);
   5695 
   5696 #undef OFFSET_OF_FIELD_
   5697 #undef ZR_
   5698 
   5699   uninterpreted_option_.Clear();
   5700   ::memset(_has_bits_, 0, sizeof(_has_bits_));
   5701   mutable_unknown_fields()->Clear();
   5702 }
   5703 
   5704 bool MessageOptions::MergePartialFromCodedStream(
   5705     ::google::protobuf::io::CodedInputStream* input) {
   5706 #define DO_(EXPRESSION) if (!(EXPRESSION)) goto failure
   5707   ::google::protobuf::uint32 tag;
   5708   // @@protoc_insertion_point(parse_start:google.protobuf.MessageOptions)
   5709   for (;;) {
   5710     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(16383);
   5711     tag = p.first;
   5712     if (!p.second) goto handle_unusual;
   5713     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
   5714       // optional bool message_set_wire_format = 1 [default = false];
   5715       case 1: {
   5716         if (tag == 8) {
   5717           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
   5718                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
   5719                  input, &message_set_wire_format_)));
   5720           set_has_message_set_wire_format();
   5721         } else {
   5722           goto handle_unusual;
   5723         }
   5724         if (input->ExpectTag(16)) goto parse_no_standard_descriptor_accessor;
   5725         break;
   5726       }
   5727 
   5728       // optional bool no_standard_descriptor_accessor = 2 [default = false];
   5729       case 2: {
   5730         if (tag == 16) {
   5731          parse_no_standard_descriptor_accessor:
   5732           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
   5733                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
   5734                  input, &no_standard_descriptor_accessor_)));
   5735           set_has_no_standard_descriptor_accessor();
   5736         } else {
   5737           goto handle_unusual;
   5738         }
   5739         if (input->ExpectTag(24)) goto parse_deprecated;
   5740         break;
   5741       }
   5742 
   5743       // optional bool deprecated = 3 [default = false];
   5744       case 3: {
   5745         if (tag == 24) {
   5746          parse_deprecated:
   5747           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
   5748                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
   5749                  input, &deprecated_)));
   5750           set_has_deprecated();
   5751         } else {
   5752           goto handle_unusual;
   5753         }
   5754         if (input->ExpectTag(7994)) goto parse_uninterpreted_option;
   5755         break;
   5756       }
   5757 
   5758       // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
   5759       case 999: {
   5760         if (tag == 7994) {
   5761          parse_uninterpreted_option:
   5762           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
   5763                 input, add_uninterpreted_option()));
   5764         } else {
   5765           goto handle_unusual;
   5766         }
   5767         if (input->ExpectTag(7994)) goto parse_uninterpreted_option;
   5768         if (input->ExpectAtEnd()) goto success;
   5769         break;
   5770       }
   5771 
   5772       default: {
   5773       handle_unusual:
   5774         if (tag == 0 ||
   5775             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
   5776             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
   5777           goto success;
   5778         }
   5779         if ((8000u <= tag)) {
   5780           DO_(_extensions_.ParseField(tag, input, default_instance_,
   5781                                       mutable_unknown_fields()));
   5782           continue;
   5783         }
   5784         DO_(::google::protobuf::internal::WireFormat::SkipField(
   5785               input, tag, mutable_unknown_fields()));
   5786         break;
   5787       }
   5788     }
   5789   }
   5790 success:
   5791   // @@protoc_insertion_point(parse_success:google.protobuf.MessageOptions)
   5792   return true;
   5793 failure:
   5794   // @@protoc_insertion_point(parse_failure:google.protobuf.MessageOptions)
   5795   return false;
   5796 #undef DO_
   5797 }
   5798 
   5799 void MessageOptions::SerializeWithCachedSizes(
   5800     ::google::protobuf::io::CodedOutputStream* output) const {
   5801   // @@protoc_insertion_point(serialize_start:google.protobuf.MessageOptions)
   5802   // optional bool message_set_wire_format = 1 [default = false];
   5803   if (has_message_set_wire_format()) {
   5804     ::google::protobuf::internal::WireFormatLite::WriteBool(1, this->message_set_wire_format(), output);
   5805   }
   5806 
   5807   // optional bool no_standard_descriptor_accessor = 2 [default = false];
   5808   if (has_no_standard_descriptor_accessor()) {
   5809     ::google::protobuf::internal::WireFormatLite::WriteBool(2, this->no_standard_descriptor_accessor(), output);
   5810   }
   5811 
   5812   // optional bool deprecated = 3 [default = false];
   5813   if (has_deprecated()) {
   5814     ::google::protobuf::internal::WireFormatLite::WriteBool(3, this->deprecated(), output);
   5815   }
   5816 
   5817   // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
   5818   for (int i = 0; i < this->uninterpreted_option_size(); i++) {
   5819     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
   5820       999, this->uninterpreted_option(i), output);
   5821   }
   5822 
   5823   // Extension range [1000, 536870912)
   5824   _extensions_.SerializeWithCachedSizes(
   5825       1000, 536870912, output);
   5826 
   5827   if (!unknown_fields().empty()) {
   5828     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
   5829         unknown_fields(), output);
   5830   }
   5831   // @@protoc_insertion_point(serialize_end:google.protobuf.MessageOptions)
   5832 }
   5833 
   5834 ::google::protobuf::uint8* MessageOptions::SerializeWithCachedSizesToArray(
   5835     ::google::protobuf::uint8* target) const {
   5836   // @@protoc_insertion_point(serialize_to_array_start:google.protobuf.MessageOptions)
   5837   // optional bool message_set_wire_format = 1 [default = false];
   5838   if (has_message_set_wire_format()) {
   5839     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(1, this->message_set_wire_format(), target);
   5840   }
   5841 
   5842   // optional bool no_standard_descriptor_accessor = 2 [default = false];
   5843   if (has_no_standard_descriptor_accessor()) {
   5844     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(2, this->no_standard_descriptor_accessor(), target);
   5845   }
   5846 
   5847   // optional bool deprecated = 3 [default = false];
   5848   if (has_deprecated()) {
   5849     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(3, this->deprecated(), target);
   5850   }
   5851 
   5852   // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
   5853   for (int i = 0; i < this->uninterpreted_option_size(); i++) {
   5854     target = ::google::protobuf::internal::WireFormatLite::
   5855       WriteMessageNoVirtualToArray(
   5856         999, this->uninterpreted_option(i), target);
   5857   }
   5858 
   5859   // Extension range [1000, 536870912)
   5860   target = _extensions_.SerializeWithCachedSizesToArray(
   5861       1000, 536870912, target);
   5862 
   5863   if (!unknown_fields().empty()) {
   5864     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
   5865         unknown_fields(), target);
   5866   }
   5867   // @@protoc_insertion_point(serialize_to_array_end:google.protobuf.MessageOptions)
   5868   return target;
   5869 }
   5870 
   5871 int MessageOptions::ByteSize() const {
   5872   int total_size = 0;
   5873 
   5874   if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
   5875     // optional bool message_set_wire_format = 1 [default = false];
   5876     if (has_message_set_wire_format()) {
   5877       total_size += 1 + 1;
   5878     }
   5879 
   5880     // optional bool no_standard_descriptor_accessor = 2 [default = false];
   5881     if (has_no_standard_descriptor_accessor()) {
   5882       total_size += 1 + 1;
   5883     }
   5884 
   5885     // optional bool deprecated = 3 [default = false];
   5886     if (has_deprecated()) {
   5887       total_size += 1 + 1;
   5888     }
   5889 
   5890   }
   5891   // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
   5892   total_size += 2 * this->uninterpreted_option_size();
   5893   for (int i = 0; i < this->uninterpreted_option_size(); i++) {
   5894     total_size +=
   5895       ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
   5896         this->uninterpreted_option(i));
   5897   }
   5898 
   5899   total_size += _extensions_.ByteSize();
   5900 
   5901   if (!unknown_fields().empty()) {
   5902     total_size +=
   5903       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
   5904         unknown_fields());
   5905   }
   5906   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   5907   _cached_size_ = total_size;
   5908   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   5909   return total_size;
   5910 }
   5911 
   5912 void MessageOptions::MergeFrom(const ::google::protobuf::Message& from) {
   5913   GOOGLE_CHECK_NE(&from, this);
   5914   const MessageOptions* source =
   5915     ::google::protobuf::internal::dynamic_cast_if_available<const MessageOptions*>(
   5916       &from);
   5917   if (source == NULL) {
   5918     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
   5919   } else {
   5920     MergeFrom(*source);
   5921   }
   5922 }
   5923 
   5924 void MessageOptions::MergeFrom(const MessageOptions& from) {
   5925   GOOGLE_CHECK_NE(&from, this);
   5926   uninterpreted_option_.MergeFrom(from.uninterpreted_option_);
   5927   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
   5928     if (from.has_message_set_wire_format()) {
   5929       set_message_set_wire_format(from.message_set_wire_format());
   5930     }
   5931     if (from.has_no_standard_descriptor_accessor()) {
   5932       set_no_standard_descriptor_accessor(from.no_standard_descriptor_accessor());
   5933     }
   5934     if (from.has_deprecated()) {
   5935       set_deprecated(from.deprecated());
   5936     }
   5937   }
   5938   _extensions_.MergeFrom(from._extensions_);
   5939   mutable_unknown_fields()->MergeFrom(from.unknown_fields());
   5940 }
   5941 
   5942 void MessageOptions::CopyFrom(const ::google::protobuf::Message& from) {
   5943   if (&from == this) return;
   5944   Clear();
   5945   MergeFrom(from);
   5946 }
   5947 
   5948 void MessageOptions::CopyFrom(const MessageOptions& from) {
   5949   if (&from == this) return;
   5950   Clear();
   5951   MergeFrom(from);
   5952 }
   5953 
   5954 bool MessageOptions::IsInitialized() const {
   5955 
   5956   if (!::google::protobuf::internal::AllAreInitialized(this->uninterpreted_option())) return false;
   5957 
   5958   if (!_extensions_.IsInitialized()) return false;  return true;
   5959 }
   5960 
   5961 void MessageOptions::Swap(MessageOptions* other) {
   5962   if (other != this) {
   5963     std::swap(message_set_wire_format_, other->message_set_wire_format_);
   5964     std::swap(no_standard_descriptor_accessor_, other->no_standard_descriptor_accessor_);
   5965     std::swap(deprecated_, other->deprecated_);
   5966     uninterpreted_option_.Swap(&other->uninterpreted_option_);
   5967     std::swap(_has_bits_[0], other->_has_bits_[0]);
   5968     _unknown_fields_.Swap(&other->_unknown_fields_);
   5969     std::swap(_cached_size_, other->_cached_size_);
   5970     _extensions_.Swap(&other->_extensions_);
   5971   }
   5972 }
   5973 
   5974 ::google::protobuf::Metadata MessageOptions::GetMetadata() const {
   5975   protobuf_AssignDescriptorsOnce();
   5976   ::google::protobuf::Metadata metadata;
   5977   metadata.descriptor = MessageOptions_descriptor_;
   5978   metadata.reflection = MessageOptions_reflection_;
   5979   return metadata;
   5980 }
   5981 
   5982 
   5983 // ===================================================================
   5984 
   5985 const ::google::protobuf::EnumDescriptor* FieldOptions_CType_descriptor() {
   5986   protobuf_AssignDescriptorsOnce();
   5987   return FieldOptions_CType_descriptor_;
   5988 }
   5989 bool FieldOptions_CType_IsValid(int value) {
   5990   switch(value) {
   5991     case 0:
   5992     case 1:
   5993     case 2:
   5994       return true;
   5995     default:
   5996       return false;
   5997   }
   5998 }
   5999 
   6000 #ifndef _MSC_VER
   6001 const FieldOptions_CType FieldOptions::STRING;
   6002 const FieldOptions_CType FieldOptions::CORD;
   6003 const FieldOptions_CType FieldOptions::STRING_PIECE;
   6004 const FieldOptions_CType FieldOptions::CType_MIN;
   6005 const FieldOptions_CType FieldOptions::CType_MAX;
   6006 const int FieldOptions::CType_ARRAYSIZE;
   6007 #endif  // _MSC_VER
   6008 #ifndef _MSC_VER
   6009 const int FieldOptions::kCtypeFieldNumber;
   6010 const int FieldOptions::kPackedFieldNumber;
   6011 const int FieldOptions::kLazyFieldNumber;
   6012 const int FieldOptions::kDeprecatedFieldNumber;
   6013 const int FieldOptions::kExperimentalMapKeyFieldNumber;
   6014 const int FieldOptions::kWeakFieldNumber;
   6015 const int FieldOptions::kUninterpretedOptionFieldNumber;
   6016 #endif  // !_MSC_VER
   6017 
   6018 FieldOptions::FieldOptions()
   6019   : ::google::protobuf::Message() {
   6020   SharedCtor();
   6021   // @@protoc_insertion_point(constructor:google.protobuf.FieldOptions)
   6022 }
   6023 
   6024 void FieldOptions::InitAsDefaultInstance() {
   6025 }
   6026 
   6027 FieldOptions::FieldOptions(const FieldOptions& from)
   6028   : ::google::protobuf::Message() {
   6029   SharedCtor();
   6030   MergeFrom(from);
   6031   // @@protoc_insertion_point(copy_constructor:google.protobuf.FieldOptions)
   6032 }
   6033 
   6034 void FieldOptions::SharedCtor() {
   6035   ::google::protobuf::internal::GetEmptyString();
   6036   _cached_size_ = 0;
   6037   ctype_ = 0;
   6038   packed_ = false;
   6039   lazy_ = false;
   6040   deprecated_ = false;
   6041   experimental_map_key_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   6042   weak_ = false;
   6043   ::memset(_has_bits_, 0, sizeof(_has_bits_));
   6044 }
   6045 
   6046 FieldOptions::~FieldOptions() {
   6047   // @@protoc_insertion_point(destructor:google.protobuf.FieldOptions)
   6048   SharedDtor();
   6049 }
   6050 
   6051 void FieldOptions::SharedDtor() {
   6052   if (experimental_map_key_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   6053     delete experimental_map_key_;
   6054   }
   6055   if (this != default_instance_) {
   6056   }
   6057 }
   6058 
   6059 void FieldOptions::SetCachedSize(int size) const {
   6060   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   6061   _cached_size_ = size;
   6062   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   6063 }
   6064 const ::google::protobuf::Descriptor* FieldOptions::descriptor() {
   6065   protobuf_AssignDescriptorsOnce();
   6066   return FieldOptions_descriptor_;
   6067 }
   6068 
   6069 const FieldOptions& FieldOptions::default_instance() {
   6070   if (default_instance_ == NULL) protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();
   6071   return *default_instance_;
   6072 }
   6073 
   6074 FieldOptions* FieldOptions::default_instance_ = NULL;
   6075 
   6076 FieldOptions* FieldOptions::New() const {
   6077   return new FieldOptions;
   6078 }
   6079 
   6080 void FieldOptions::Clear() {
   6081   _extensions_.Clear();
   6082 #define OFFSET_OF_FIELD_(f) (reinterpret_cast<char*>(      \
   6083   &reinterpret_cast<FieldOptions*>(16)->f) - \
   6084    reinterpret_cast<char*>(16))
   6085 
   6086 #define ZR_(first, last) do {                              \
   6087     size_t f = OFFSET_OF_FIELD_(first);                    \
   6088     size_t n = OFFSET_OF_FIELD_(last) - f + sizeof(last);  \
   6089     ::memset(&first, 0, n);                                \
   6090   } while (0)
   6091 
   6092   if (_has_bits_[0 / 32] & 63) {
   6093     ZR_(ctype_, weak_);
   6094     if (has_experimental_map_key()) {
   6095       if (experimental_map_key_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   6096         experimental_map_key_->clear();
   6097       }
   6098     }
   6099   }
   6100 
   6101 #undef OFFSET_OF_FIELD_
   6102 #undef ZR_
   6103 
   6104   uninterpreted_option_.Clear();
   6105   ::memset(_has_bits_, 0, sizeof(_has_bits_));
   6106   mutable_unknown_fields()->Clear();
   6107 }
   6108 
   6109 bool FieldOptions::MergePartialFromCodedStream(
   6110     ::google::protobuf::io::CodedInputStream* input) {
   6111 #define DO_(EXPRESSION) if (!(EXPRESSION)) goto failure
   6112   ::google::protobuf::uint32 tag;
   6113   // @@protoc_insertion_point(parse_start:google.protobuf.FieldOptions)
   6114   for (;;) {
   6115     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(16383);
   6116     tag = p.first;
   6117     if (!p.second) goto handle_unusual;
   6118     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
   6119       // optional .google.protobuf.FieldOptions.CType ctype = 1 [default = STRING];
   6120       case 1: {
   6121         if (tag == 8) {
   6122           int value;
   6123           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
   6124                    int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
   6125                  input, &value)));
   6126           if (::google::protobuf::FieldOptions_CType_IsValid(value)) {
   6127             set_ctype(static_cast< ::google::protobuf::FieldOptions_CType >(value));
   6128           } else {
   6129             mutable_unknown_fields()->AddVarint(1, value);
   6130           }
   6131         } else {
   6132           goto handle_unusual;
   6133         }
   6134         if (input->ExpectTag(16)) goto parse_packed;
   6135         break;
   6136       }
   6137 
   6138       // optional bool packed = 2;
   6139       case 2: {
   6140         if (tag == 16) {
   6141          parse_packed:
   6142           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
   6143                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
   6144                  input, &packed_)));
   6145           set_has_packed();
   6146         } else {
   6147           goto handle_unusual;
   6148         }
   6149         if (input->ExpectTag(24)) goto parse_deprecated;
   6150         break;
   6151       }
   6152 
   6153       // optional bool deprecated = 3 [default = false];
   6154       case 3: {
   6155         if (tag == 24) {
   6156          parse_deprecated:
   6157           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
   6158                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
   6159                  input, &deprecated_)));
   6160           set_has_deprecated();
   6161         } else {
   6162           goto handle_unusual;
   6163         }
   6164         if (input->ExpectTag(40)) goto parse_lazy;
   6165         break;
   6166       }
   6167 
   6168       // optional bool lazy = 5 [default = false];
   6169       case 5: {
   6170         if (tag == 40) {
   6171          parse_lazy:
   6172           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
   6173                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
   6174                  input, &lazy_)));
   6175           set_has_lazy();
   6176         } else {
   6177           goto handle_unusual;
   6178         }
   6179         if (input->ExpectTag(74)) goto parse_experimental_map_key;
   6180         break;
   6181       }
   6182 
   6183       // optional string experimental_map_key = 9;
   6184       case 9: {
   6185         if (tag == 74) {
   6186          parse_experimental_map_key:
   6187           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
   6188                 input, this->mutable_experimental_map_key()));
   6189           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   6190             this->experimental_map_key().data(), this->experimental_map_key().length(),
   6191             ::google::protobuf::internal::WireFormat::PARSE,
   6192             "experimental_map_key");
   6193         } else {
   6194           goto handle_unusual;
   6195         }
   6196         if (input->ExpectTag(80)) goto parse_weak;
   6197         break;
   6198       }
   6199 
   6200       // optional bool weak = 10 [default = false];
   6201       case 10: {
   6202         if (tag == 80) {
   6203          parse_weak:
   6204           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
   6205                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
   6206                  input, &weak_)));
   6207           set_has_weak();
   6208         } else {
   6209           goto handle_unusual;
   6210         }
   6211         if (input->ExpectTag(7994)) goto parse_uninterpreted_option;
   6212         break;
   6213       }
   6214 
   6215       // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
   6216       case 999: {
   6217         if (tag == 7994) {
   6218          parse_uninterpreted_option:
   6219           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
   6220                 input, add_uninterpreted_option()));
   6221         } else {
   6222           goto handle_unusual;
   6223         }
   6224         if (input->ExpectTag(7994)) goto parse_uninterpreted_option;
   6225         if (input->ExpectAtEnd()) goto success;
   6226         break;
   6227       }
   6228 
   6229       default: {
   6230       handle_unusual:
   6231         if (tag == 0 ||
   6232             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
   6233             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
   6234           goto success;
   6235         }
   6236         if ((8000u <= tag)) {
   6237           DO_(_extensions_.ParseField(tag, input, default_instance_,
   6238                                       mutable_unknown_fields()));
   6239           continue;
   6240         }
   6241         DO_(::google::protobuf::internal::WireFormat::SkipField(
   6242               input, tag, mutable_unknown_fields()));
   6243         break;
   6244       }
   6245     }
   6246   }
   6247 success:
   6248   // @@protoc_insertion_point(parse_success:google.protobuf.FieldOptions)
   6249   return true;
   6250 failure:
   6251   // @@protoc_insertion_point(parse_failure:google.protobuf.FieldOptions)
   6252   return false;
   6253 #undef DO_
   6254 }
   6255 
   6256 void FieldOptions::SerializeWithCachedSizes(
   6257     ::google::protobuf::io::CodedOutputStream* output) const {
   6258   // @@protoc_insertion_point(serialize_start:google.protobuf.FieldOptions)
   6259   // optional .google.protobuf.FieldOptions.CType ctype = 1 [default = STRING];
   6260   if (has_ctype()) {
   6261     ::google::protobuf::internal::WireFormatLite::WriteEnum(
   6262       1, this->ctype(), output);
   6263   }
   6264 
   6265   // optional bool packed = 2;
   6266   if (has_packed()) {
   6267     ::google::protobuf::internal::WireFormatLite::WriteBool(2, this->packed(), output);
   6268   }
   6269 
   6270   // optional bool deprecated = 3 [default = false];
   6271   if (has_deprecated()) {
   6272     ::google::protobuf::internal::WireFormatLite::WriteBool(3, this->deprecated(), output);
   6273   }
   6274 
   6275   // optional bool lazy = 5 [default = false];
   6276   if (has_lazy()) {
   6277     ::google::protobuf::internal::WireFormatLite::WriteBool(5, this->lazy(), output);
   6278   }
   6279 
   6280   // optional string experimental_map_key = 9;
   6281   if (has_experimental_map_key()) {
   6282     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   6283       this->experimental_map_key().data(), this->experimental_map_key().length(),
   6284       ::google::protobuf::internal::WireFormat::SERIALIZE,
   6285       "experimental_map_key");
   6286     ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
   6287       9, this->experimental_map_key(), output);
   6288   }
   6289 
   6290   // optional bool weak = 10 [default = false];
   6291   if (has_weak()) {
   6292     ::google::protobuf::internal::WireFormatLite::WriteBool(10, this->weak(), output);
   6293   }
   6294 
   6295   // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
   6296   for (int i = 0; i < this->uninterpreted_option_size(); i++) {
   6297     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
   6298       999, this->uninterpreted_option(i), output);
   6299   }
   6300 
   6301   // Extension range [1000, 536870912)
   6302   _extensions_.SerializeWithCachedSizes(
   6303       1000, 536870912, output);
   6304 
   6305   if (!unknown_fields().empty()) {
   6306     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
   6307         unknown_fields(), output);
   6308   }
   6309   // @@protoc_insertion_point(serialize_end:google.protobuf.FieldOptions)
   6310 }
   6311 
   6312 ::google::protobuf::uint8* FieldOptions::SerializeWithCachedSizesToArray(
   6313     ::google::protobuf::uint8* target) const {
   6314   // @@protoc_insertion_point(serialize_to_array_start:google.protobuf.FieldOptions)
   6315   // optional .google.protobuf.FieldOptions.CType ctype = 1 [default = STRING];
   6316   if (has_ctype()) {
   6317     target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
   6318       1, this->ctype(), target);
   6319   }
   6320 
   6321   // optional bool packed = 2;
   6322   if (has_packed()) {
   6323     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(2, this->packed(), target);
   6324   }
   6325 
   6326   // optional bool deprecated = 3 [default = false];
   6327   if (has_deprecated()) {
   6328     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(3, this->deprecated(), target);
   6329   }
   6330 
   6331   // optional bool lazy = 5 [default = false];
   6332   if (has_lazy()) {
   6333     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(5, this->lazy(), target);
   6334   }
   6335 
   6336   // optional string experimental_map_key = 9;
   6337   if (has_experimental_map_key()) {
   6338     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   6339       this->experimental_map_key().data(), this->experimental_map_key().length(),
   6340       ::google::protobuf::internal::WireFormat::SERIALIZE,
   6341       "experimental_map_key");
   6342     target =
   6343       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
   6344         9, this->experimental_map_key(), target);
   6345   }
   6346 
   6347   // optional bool weak = 10 [default = false];
   6348   if (has_weak()) {
   6349     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(10, this->weak(), target);
   6350   }
   6351 
   6352   // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
   6353   for (int i = 0; i < this->uninterpreted_option_size(); i++) {
   6354     target = ::google::protobuf::internal::WireFormatLite::
   6355       WriteMessageNoVirtualToArray(
   6356         999, this->uninterpreted_option(i), target);
   6357   }
   6358 
   6359   // Extension range [1000, 536870912)
   6360   target = _extensions_.SerializeWithCachedSizesToArray(
   6361       1000, 536870912, target);
   6362 
   6363   if (!unknown_fields().empty()) {
   6364     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
   6365         unknown_fields(), target);
   6366   }
   6367   // @@protoc_insertion_point(serialize_to_array_end:google.protobuf.FieldOptions)
   6368   return target;
   6369 }
   6370 
   6371 int FieldOptions::ByteSize() const {
   6372   int total_size = 0;
   6373 
   6374   if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
   6375     // optional .google.protobuf.FieldOptions.CType ctype = 1 [default = STRING];
   6376     if (has_ctype()) {
   6377       total_size += 1 +
   6378         ::google::protobuf::internal::WireFormatLite::EnumSize(this->ctype());
   6379     }
   6380 
   6381     // optional bool packed = 2;
   6382     if (has_packed()) {
   6383       total_size += 1 + 1;
   6384     }
   6385 
   6386     // optional bool lazy = 5 [default = false];
   6387     if (has_lazy()) {
   6388       total_size += 1 + 1;
   6389     }
   6390 
   6391     // optional bool deprecated = 3 [default = false];
   6392     if (has_deprecated()) {
   6393       total_size += 1 + 1;
   6394     }
   6395 
   6396     // optional string experimental_map_key = 9;
   6397     if (has_experimental_map_key()) {
   6398       total_size += 1 +
   6399         ::google::protobuf::internal::WireFormatLite::StringSize(
   6400           this->experimental_map_key());
   6401     }
   6402 
   6403     // optional bool weak = 10 [default = false];
   6404     if (has_weak()) {
   6405       total_size += 1 + 1;
   6406     }
   6407 
   6408   }
   6409   // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
   6410   total_size += 2 * this->uninterpreted_option_size();
   6411   for (int i = 0; i < this->uninterpreted_option_size(); i++) {
   6412     total_size +=
   6413       ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
   6414         this->uninterpreted_option(i));
   6415   }
   6416 
   6417   total_size += _extensions_.ByteSize();
   6418 
   6419   if (!unknown_fields().empty()) {
   6420     total_size +=
   6421       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
   6422         unknown_fields());
   6423   }
   6424   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   6425   _cached_size_ = total_size;
   6426   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   6427   return total_size;
   6428 }
   6429 
   6430 void FieldOptions::MergeFrom(const ::google::protobuf::Message& from) {
   6431   GOOGLE_CHECK_NE(&from, this);
   6432   const FieldOptions* source =
   6433     ::google::protobuf::internal::dynamic_cast_if_available<const FieldOptions*>(
   6434       &from);
   6435   if (source == NULL) {
   6436     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
   6437   } else {
   6438     MergeFrom(*source);
   6439   }
   6440 }
   6441 
   6442 void FieldOptions::MergeFrom(const FieldOptions& from) {
   6443   GOOGLE_CHECK_NE(&from, this);
   6444   uninterpreted_option_.MergeFrom(from.uninterpreted_option_);
   6445   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
   6446     if (from.has_ctype()) {
   6447       set_ctype(from.ctype());
   6448     }
   6449     if (from.has_packed()) {
   6450       set_packed(from.packed());
   6451     }
   6452     if (from.has_lazy()) {
   6453       set_lazy(from.lazy());
   6454     }
   6455     if (from.has_deprecated()) {
   6456       set_deprecated(from.deprecated());
   6457     }
   6458     if (from.has_experimental_map_key()) {
   6459       set_experimental_map_key(from.experimental_map_key());
   6460     }
   6461     if (from.has_weak()) {
   6462       set_weak(from.weak());
   6463     }
   6464   }
   6465   _extensions_.MergeFrom(from._extensions_);
   6466   mutable_unknown_fields()->MergeFrom(from.unknown_fields());
   6467 }
   6468 
   6469 void FieldOptions::CopyFrom(const ::google::protobuf::Message& from) {
   6470   if (&from == this) return;
   6471   Clear();
   6472   MergeFrom(from);
   6473 }
   6474 
   6475 void FieldOptions::CopyFrom(const FieldOptions& from) {
   6476   if (&from == this) return;
   6477   Clear();
   6478   MergeFrom(from);
   6479 }
   6480 
   6481 bool FieldOptions::IsInitialized() const {
   6482 
   6483   if (!::google::protobuf::internal::AllAreInitialized(this->uninterpreted_option())) return false;
   6484 
   6485   if (!_extensions_.IsInitialized()) return false;  return true;
   6486 }
   6487 
   6488 void FieldOptions::Swap(FieldOptions* other) {
   6489   if (other != this) {
   6490     std::swap(ctype_, other->ctype_);
   6491     std::swap(packed_, other->packed_);
   6492     std::swap(lazy_, other->lazy_);
   6493     std::swap(deprecated_, other->deprecated_);
   6494     std::swap(experimental_map_key_, other->experimental_map_key_);
   6495     std::swap(weak_, other->weak_);
   6496     uninterpreted_option_.Swap(&other->uninterpreted_option_);
   6497     std::swap(_has_bits_[0], other->_has_bits_[0]);
   6498     _unknown_fields_.Swap(&other->_unknown_fields_);
   6499     std::swap(_cached_size_, other->_cached_size_);
   6500     _extensions_.Swap(&other->_extensions_);
   6501   }
   6502 }
   6503 
   6504 ::google::protobuf::Metadata FieldOptions::GetMetadata() const {
   6505   protobuf_AssignDescriptorsOnce();
   6506   ::google::protobuf::Metadata metadata;
   6507   metadata.descriptor = FieldOptions_descriptor_;
   6508   metadata.reflection = FieldOptions_reflection_;
   6509   return metadata;
   6510 }
   6511 
   6512 
   6513 // ===================================================================
   6514 
   6515 #ifndef _MSC_VER
   6516 const int EnumOptions::kAllowAliasFieldNumber;
   6517 const int EnumOptions::kDeprecatedFieldNumber;
   6518 const int EnumOptions::kUninterpretedOptionFieldNumber;
   6519 #endif  // !_MSC_VER
   6520 
   6521 EnumOptions::EnumOptions()
   6522   : ::google::protobuf::Message() {
   6523   SharedCtor();
   6524   // @@protoc_insertion_point(constructor:google.protobuf.EnumOptions)
   6525 }
   6526 
   6527 void EnumOptions::InitAsDefaultInstance() {
   6528 }
   6529 
   6530 EnumOptions::EnumOptions(const EnumOptions& from)
   6531   : ::google::protobuf::Message() {
   6532   SharedCtor();
   6533   MergeFrom(from);
   6534   // @@protoc_insertion_point(copy_constructor:google.protobuf.EnumOptions)
   6535 }
   6536 
   6537 void EnumOptions::SharedCtor() {
   6538   _cached_size_ = 0;
   6539   allow_alias_ = false;
   6540   deprecated_ = false;
   6541   ::memset(_has_bits_, 0, sizeof(_has_bits_));
   6542 }
   6543 
   6544 EnumOptions::~EnumOptions() {
   6545   // @@protoc_insertion_point(destructor:google.protobuf.EnumOptions)
   6546   SharedDtor();
   6547 }
   6548 
   6549 void EnumOptions::SharedDtor() {
   6550   if (this != default_instance_) {
   6551   }
   6552 }
   6553 
   6554 void EnumOptions::SetCachedSize(int size) const {
   6555   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   6556   _cached_size_ = size;
   6557   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   6558 }
   6559 const ::google::protobuf::Descriptor* EnumOptions::descriptor() {
   6560   protobuf_AssignDescriptorsOnce();
   6561   return EnumOptions_descriptor_;
   6562 }
   6563 
   6564 const EnumOptions& EnumOptions::default_instance() {
   6565   if (default_instance_ == NULL) protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();
   6566   return *default_instance_;
   6567 }
   6568 
   6569 EnumOptions* EnumOptions::default_instance_ = NULL;
   6570 
   6571 EnumOptions* EnumOptions::New() const {
   6572   return new EnumOptions;
   6573 }
   6574 
   6575 void EnumOptions::Clear() {
   6576   _extensions_.Clear();
   6577 #define OFFSET_OF_FIELD_(f) (reinterpret_cast<char*>(      \
   6578   &reinterpret_cast<EnumOptions*>(16)->f) - \
   6579    reinterpret_cast<char*>(16))
   6580 
   6581 #define ZR_(first, last) do {                              \
   6582     size_t f = OFFSET_OF_FIELD_(first);                    \
   6583     size_t n = OFFSET_OF_FIELD_(last) - f + sizeof(last);  \
   6584     ::memset(&first, 0, n);                                \
   6585   } while (0)
   6586 
   6587   ZR_(allow_alias_, deprecated_);
   6588 
   6589 #undef OFFSET_OF_FIELD_
   6590 #undef ZR_
   6591 
   6592   uninterpreted_option_.Clear();
   6593   ::memset(_has_bits_, 0, sizeof(_has_bits_));
   6594   mutable_unknown_fields()->Clear();
   6595 }
   6596 
   6597 bool EnumOptions::MergePartialFromCodedStream(
   6598     ::google::protobuf::io::CodedInputStream* input) {
   6599 #define DO_(EXPRESSION) if (!(EXPRESSION)) goto failure
   6600   ::google::protobuf::uint32 tag;
   6601   // @@protoc_insertion_point(parse_start:google.protobuf.EnumOptions)
   6602   for (;;) {
   6603     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(16383);
   6604     tag = p.first;
   6605     if (!p.second) goto handle_unusual;
   6606     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
   6607       // optional bool allow_alias = 2;
   6608       case 2: {
   6609         if (tag == 16) {
   6610           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
   6611                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
   6612                  input, &allow_alias_)));
   6613           set_has_allow_alias();
   6614         } else {
   6615           goto handle_unusual;
   6616         }
   6617         if (input->ExpectTag(24)) goto parse_deprecated;
   6618         break;
   6619       }
   6620 
   6621       // optional bool deprecated = 3 [default = false];
   6622       case 3: {
   6623         if (tag == 24) {
   6624          parse_deprecated:
   6625           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
   6626                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
   6627                  input, &deprecated_)));
   6628           set_has_deprecated();
   6629         } else {
   6630           goto handle_unusual;
   6631         }
   6632         if (input->ExpectTag(7994)) goto parse_uninterpreted_option;
   6633         break;
   6634       }
   6635 
   6636       // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
   6637       case 999: {
   6638         if (tag == 7994) {
   6639          parse_uninterpreted_option:
   6640           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
   6641                 input, add_uninterpreted_option()));
   6642         } else {
   6643           goto handle_unusual;
   6644         }
   6645         if (input->ExpectTag(7994)) goto parse_uninterpreted_option;
   6646         if (input->ExpectAtEnd()) goto success;
   6647         break;
   6648       }
   6649 
   6650       default: {
   6651       handle_unusual:
   6652         if (tag == 0 ||
   6653             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
   6654             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
   6655           goto success;
   6656         }
   6657         if ((8000u <= tag)) {
   6658           DO_(_extensions_.ParseField(tag, input, default_instance_,
   6659                                       mutable_unknown_fields()));
   6660           continue;
   6661         }
   6662         DO_(::google::protobuf::internal::WireFormat::SkipField(
   6663               input, tag, mutable_unknown_fields()));
   6664         break;
   6665       }
   6666     }
   6667   }
   6668 success:
   6669   // @@protoc_insertion_point(parse_success:google.protobuf.EnumOptions)
   6670   return true;
   6671 failure:
   6672   // @@protoc_insertion_point(parse_failure:google.protobuf.EnumOptions)
   6673   return false;
   6674 #undef DO_
   6675 }
   6676 
   6677 void EnumOptions::SerializeWithCachedSizes(
   6678     ::google::protobuf::io::CodedOutputStream* output) const {
   6679   // @@protoc_insertion_point(serialize_start:google.protobuf.EnumOptions)
   6680   // optional bool allow_alias = 2;
   6681   if (has_allow_alias()) {
   6682     ::google::protobuf::internal::WireFormatLite::WriteBool(2, this->allow_alias(), output);
   6683   }
   6684 
   6685   // optional bool deprecated = 3 [default = false];
   6686   if (has_deprecated()) {
   6687     ::google::protobuf::internal::WireFormatLite::WriteBool(3, this->deprecated(), output);
   6688   }
   6689 
   6690   // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
   6691   for (int i = 0; i < this->uninterpreted_option_size(); i++) {
   6692     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
   6693       999, this->uninterpreted_option(i), output);
   6694   }
   6695 
   6696   // Extension range [1000, 536870912)
   6697   _extensions_.SerializeWithCachedSizes(
   6698       1000, 536870912, output);
   6699 
   6700   if (!unknown_fields().empty()) {
   6701     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
   6702         unknown_fields(), output);
   6703   }
   6704   // @@protoc_insertion_point(serialize_end:google.protobuf.EnumOptions)
   6705 }
   6706 
   6707 ::google::protobuf::uint8* EnumOptions::SerializeWithCachedSizesToArray(
   6708     ::google::protobuf::uint8* target) const {
   6709   // @@protoc_insertion_point(serialize_to_array_start:google.protobuf.EnumOptions)
   6710   // optional bool allow_alias = 2;
   6711   if (has_allow_alias()) {
   6712     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(2, this->allow_alias(), target);
   6713   }
   6714 
   6715   // optional bool deprecated = 3 [default = false];
   6716   if (has_deprecated()) {
   6717     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(3, this->deprecated(), target);
   6718   }
   6719 
   6720   // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
   6721   for (int i = 0; i < this->uninterpreted_option_size(); i++) {
   6722     target = ::google::protobuf::internal::WireFormatLite::
   6723       WriteMessageNoVirtualToArray(
   6724         999, this->uninterpreted_option(i), target);
   6725   }
   6726 
   6727   // Extension range [1000, 536870912)
   6728   target = _extensions_.SerializeWithCachedSizesToArray(
   6729       1000, 536870912, target);
   6730 
   6731   if (!unknown_fields().empty()) {
   6732     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
   6733         unknown_fields(), target);
   6734   }
   6735   // @@protoc_insertion_point(serialize_to_array_end:google.protobuf.EnumOptions)
   6736   return target;
   6737 }
   6738 
   6739 int EnumOptions::ByteSize() const {
   6740   int total_size = 0;
   6741 
   6742   if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
   6743     // optional bool allow_alias = 2;
   6744     if (has_allow_alias()) {
   6745       total_size += 1 + 1;
   6746     }
   6747 
   6748     // optional bool deprecated = 3 [default = false];
   6749     if (has_deprecated()) {
   6750       total_size += 1 + 1;
   6751     }
   6752 
   6753   }
   6754   // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
   6755   total_size += 2 * this->uninterpreted_option_size();
   6756   for (int i = 0; i < this->uninterpreted_option_size(); i++) {
   6757     total_size +=
   6758       ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
   6759         this->uninterpreted_option(i));
   6760   }
   6761 
   6762   total_size += _extensions_.ByteSize();
   6763 
   6764   if (!unknown_fields().empty()) {
   6765     total_size +=
   6766       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
   6767         unknown_fields());
   6768   }
   6769   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   6770   _cached_size_ = total_size;
   6771   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   6772   return total_size;
   6773 }
   6774 
   6775 void EnumOptions::MergeFrom(const ::google::protobuf::Message& from) {
   6776   GOOGLE_CHECK_NE(&from, this);
   6777   const EnumOptions* source =
   6778     ::google::protobuf::internal::dynamic_cast_if_available<const EnumOptions*>(
   6779       &from);
   6780   if (source == NULL) {
   6781     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
   6782   } else {
   6783     MergeFrom(*source);
   6784   }
   6785 }
   6786 
   6787 void EnumOptions::MergeFrom(const EnumOptions& from) {
   6788   GOOGLE_CHECK_NE(&from, this);
   6789   uninterpreted_option_.MergeFrom(from.uninterpreted_option_);
   6790   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
   6791     if (from.has_allow_alias()) {
   6792       set_allow_alias(from.allow_alias());
   6793     }
   6794     if (from.has_deprecated()) {
   6795       set_deprecated(from.deprecated());
   6796     }
   6797   }
   6798   _extensions_.MergeFrom(from._extensions_);
   6799   mutable_unknown_fields()->MergeFrom(from.unknown_fields());
   6800 }
   6801 
   6802 void EnumOptions::CopyFrom(const ::google::protobuf::Message& from) {
   6803   if (&from == this) return;
   6804   Clear();
   6805   MergeFrom(from);
   6806 }
   6807 
   6808 void EnumOptions::CopyFrom(const EnumOptions& from) {
   6809   if (&from == this) return;
   6810   Clear();
   6811   MergeFrom(from);
   6812 }
   6813 
   6814 bool EnumOptions::IsInitialized() const {
   6815 
   6816   if (!::google::protobuf::internal::AllAreInitialized(this->uninterpreted_option())) return false;
   6817 
   6818   if (!_extensions_.IsInitialized()) return false;  return true;
   6819 }
   6820 
   6821 void EnumOptions::Swap(EnumOptions* other) {
   6822   if (other != this) {
   6823     std::swap(allow_alias_, other->allow_alias_);
   6824     std::swap(deprecated_, other->deprecated_);
   6825     uninterpreted_option_.Swap(&other->uninterpreted_option_);
   6826     std::swap(_has_bits_[0], other->_has_bits_[0]);
   6827     _unknown_fields_.Swap(&other->_unknown_fields_);
   6828     std::swap(_cached_size_, other->_cached_size_);
   6829     _extensions_.Swap(&other->_extensions_);
   6830   }
   6831 }
   6832 
   6833 ::google::protobuf::Metadata EnumOptions::GetMetadata() const {
   6834   protobuf_AssignDescriptorsOnce();
   6835   ::google::protobuf::Metadata metadata;
   6836   metadata.descriptor = EnumOptions_descriptor_;
   6837   metadata.reflection = EnumOptions_reflection_;
   6838   return metadata;
   6839 }
   6840 
   6841 
   6842 // ===================================================================
   6843 
   6844 #ifndef _MSC_VER
   6845 const int EnumValueOptions::kDeprecatedFieldNumber;
   6846 const int EnumValueOptions::kUninterpretedOptionFieldNumber;
   6847 #endif  // !_MSC_VER
   6848 
   6849 EnumValueOptions::EnumValueOptions()
   6850   : ::google::protobuf::Message() {
   6851   SharedCtor();
   6852   // @@protoc_insertion_point(constructor:google.protobuf.EnumValueOptions)
   6853 }
   6854 
   6855 void EnumValueOptions::InitAsDefaultInstance() {
   6856 }
   6857 
   6858 EnumValueOptions::EnumValueOptions(const EnumValueOptions& from)
   6859   : ::google::protobuf::Message() {
   6860   SharedCtor();
   6861   MergeFrom(from);
   6862   // @@protoc_insertion_point(copy_constructor:google.protobuf.EnumValueOptions)
   6863 }
   6864 
   6865 void EnumValueOptions::SharedCtor() {
   6866   _cached_size_ = 0;
   6867   deprecated_ = false;
   6868   ::memset(_has_bits_, 0, sizeof(_has_bits_));
   6869 }
   6870 
   6871 EnumValueOptions::~EnumValueOptions() {
   6872   // @@protoc_insertion_point(destructor:google.protobuf.EnumValueOptions)
   6873   SharedDtor();
   6874 }
   6875 
   6876 void EnumValueOptions::SharedDtor() {
   6877   if (this != default_instance_) {
   6878   }
   6879 }
   6880 
   6881 void EnumValueOptions::SetCachedSize(int size) const {
   6882   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   6883   _cached_size_ = size;
   6884   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   6885 }
   6886 const ::google::protobuf::Descriptor* EnumValueOptions::descriptor() {
   6887   protobuf_AssignDescriptorsOnce();
   6888   return EnumValueOptions_descriptor_;
   6889 }
   6890 
   6891 const EnumValueOptions& EnumValueOptions::default_instance() {
   6892   if (default_instance_ == NULL) protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();
   6893   return *default_instance_;
   6894 }
   6895 
   6896 EnumValueOptions* EnumValueOptions::default_instance_ = NULL;
   6897 
   6898 EnumValueOptions* EnumValueOptions::New() const {
   6899   return new EnumValueOptions;
   6900 }
   6901 
   6902 void EnumValueOptions::Clear() {
   6903   _extensions_.Clear();
   6904   deprecated_ = false;
   6905   uninterpreted_option_.Clear();
   6906   ::memset(_has_bits_, 0, sizeof(_has_bits_));
   6907   mutable_unknown_fields()->Clear();
   6908 }
   6909 
   6910 bool EnumValueOptions::MergePartialFromCodedStream(
   6911     ::google::protobuf::io::CodedInputStream* input) {
   6912 #define DO_(EXPRESSION) if (!(EXPRESSION)) goto failure
   6913   ::google::protobuf::uint32 tag;
   6914   // @@protoc_insertion_point(parse_start:google.protobuf.EnumValueOptions)
   6915   for (;;) {
   6916     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(16383);
   6917     tag = p.first;
   6918     if (!p.second) goto handle_unusual;
   6919     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
   6920       // optional bool deprecated = 1 [default = false];
   6921       case 1: {
   6922         if (tag == 8) {
   6923           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
   6924                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
   6925                  input, &deprecated_)));
   6926           set_has_deprecated();
   6927         } else {
   6928           goto handle_unusual;
   6929         }
   6930         if (input->ExpectTag(7994)) goto parse_uninterpreted_option;
   6931         break;
   6932       }
   6933 
   6934       // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
   6935       case 999: {
   6936         if (tag == 7994) {
   6937          parse_uninterpreted_option:
   6938           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
   6939                 input, add_uninterpreted_option()));
   6940         } else {
   6941           goto handle_unusual;
   6942         }
   6943         if (input->ExpectTag(7994)) goto parse_uninterpreted_option;
   6944         if (input->ExpectAtEnd()) goto success;
   6945         break;
   6946       }
   6947 
   6948       default: {
   6949       handle_unusual:
   6950         if (tag == 0 ||
   6951             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
   6952             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
   6953           goto success;
   6954         }
   6955         if ((8000u <= tag)) {
   6956           DO_(_extensions_.ParseField(tag, input, default_instance_,
   6957                                       mutable_unknown_fields()));
   6958           continue;
   6959         }
   6960         DO_(::google::protobuf::internal::WireFormat::SkipField(
   6961               input, tag, mutable_unknown_fields()));
   6962         break;
   6963       }
   6964     }
   6965   }
   6966 success:
   6967   // @@protoc_insertion_point(parse_success:google.protobuf.EnumValueOptions)
   6968   return true;
   6969 failure:
   6970   // @@protoc_insertion_point(parse_failure:google.protobuf.EnumValueOptions)
   6971   return false;
   6972 #undef DO_
   6973 }
   6974 
   6975 void EnumValueOptions::SerializeWithCachedSizes(
   6976     ::google::protobuf::io::CodedOutputStream* output) const {
   6977   // @@protoc_insertion_point(serialize_start:google.protobuf.EnumValueOptions)
   6978   // optional bool deprecated = 1 [default = false];
   6979   if (has_deprecated()) {
   6980     ::google::protobuf::internal::WireFormatLite::WriteBool(1, this->deprecated(), output);
   6981   }
   6982 
   6983   // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
   6984   for (int i = 0; i < this->uninterpreted_option_size(); i++) {
   6985     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
   6986       999, this->uninterpreted_option(i), output);
   6987   }
   6988 
   6989   // Extension range [1000, 536870912)
   6990   _extensions_.SerializeWithCachedSizes(
   6991       1000, 536870912, output);
   6992 
   6993   if (!unknown_fields().empty()) {
   6994     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
   6995         unknown_fields(), output);
   6996   }
   6997   // @@protoc_insertion_point(serialize_end:google.protobuf.EnumValueOptions)
   6998 }
   6999 
   7000 ::google::protobuf::uint8* EnumValueOptions::SerializeWithCachedSizesToArray(
   7001     ::google::protobuf::uint8* target) const {
   7002   // @@protoc_insertion_point(serialize_to_array_start:google.protobuf.EnumValueOptions)
   7003   // optional bool deprecated = 1 [default = false];
   7004   if (has_deprecated()) {
   7005     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(1, this->deprecated(), target);
   7006   }
   7007 
   7008   // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
   7009   for (int i = 0; i < this->uninterpreted_option_size(); i++) {
   7010     target = ::google::protobuf::internal::WireFormatLite::
   7011       WriteMessageNoVirtualToArray(
   7012         999, this->uninterpreted_option(i), target);
   7013   }
   7014 
   7015   // Extension range [1000, 536870912)
   7016   target = _extensions_.SerializeWithCachedSizesToArray(
   7017       1000, 536870912, target);
   7018 
   7019   if (!unknown_fields().empty()) {
   7020     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
   7021         unknown_fields(), target);
   7022   }
   7023   // @@protoc_insertion_point(serialize_to_array_end:google.protobuf.EnumValueOptions)
   7024   return target;
   7025 }
   7026 
   7027 int EnumValueOptions::ByteSize() const {
   7028   int total_size = 0;
   7029 
   7030   if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
   7031     // optional bool deprecated = 1 [default = false];
   7032     if (has_deprecated()) {
   7033       total_size += 1 + 1;
   7034     }
   7035 
   7036   }
   7037   // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
   7038   total_size += 2 * this->uninterpreted_option_size();
   7039   for (int i = 0; i < this->uninterpreted_option_size(); i++) {
   7040     total_size +=
   7041       ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
   7042         this->uninterpreted_option(i));
   7043   }
   7044 
   7045   total_size += _extensions_.ByteSize();
   7046 
   7047   if (!unknown_fields().empty()) {
   7048     total_size +=
   7049       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
   7050         unknown_fields());
   7051   }
   7052   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   7053   _cached_size_ = total_size;
   7054   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   7055   return total_size;
   7056 }
   7057 
   7058 void EnumValueOptions::MergeFrom(const ::google::protobuf::Message& from) {
   7059   GOOGLE_CHECK_NE(&from, this);
   7060   const EnumValueOptions* source =
   7061     ::google::protobuf::internal::dynamic_cast_if_available<const EnumValueOptions*>(
   7062       &from);
   7063   if (source == NULL) {
   7064     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
   7065   } else {
   7066     MergeFrom(*source);
   7067   }
   7068 }
   7069 
   7070 void EnumValueOptions::MergeFrom(const EnumValueOptions& from) {
   7071   GOOGLE_CHECK_NE(&from, this);
   7072   uninterpreted_option_.MergeFrom(from.uninterpreted_option_);
   7073   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
   7074     if (from.has_deprecated()) {
   7075       set_deprecated(from.deprecated());
   7076     }
   7077   }
   7078   _extensions_.MergeFrom(from._extensions_);
   7079   mutable_unknown_fields()->MergeFrom(from.unknown_fields());
   7080 }
   7081 
   7082 void EnumValueOptions::CopyFrom(const ::google::protobuf::Message& from) {
   7083   if (&from == this) return;
   7084   Clear();
   7085   MergeFrom(from);
   7086 }
   7087 
   7088 void EnumValueOptions::CopyFrom(const EnumValueOptions& from) {
   7089   if (&from == this) return;
   7090   Clear();
   7091   MergeFrom(from);
   7092 }
   7093 
   7094 bool EnumValueOptions::IsInitialized() const {
   7095 
   7096   if (!::google::protobuf::internal::AllAreInitialized(this->uninterpreted_option())) return false;
   7097 
   7098   if (!_extensions_.IsInitialized()) return false;  return true;
   7099 }
   7100 
   7101 void EnumValueOptions::Swap(EnumValueOptions* other) {
   7102   if (other != this) {
   7103     std::swap(deprecated_, other->deprecated_);
   7104     uninterpreted_option_.Swap(&other->uninterpreted_option_);
   7105     std::swap(_has_bits_[0], other->_has_bits_[0]);
   7106     _unknown_fields_.Swap(&other->_unknown_fields_);
   7107     std::swap(_cached_size_, other->_cached_size_);
   7108     _extensions_.Swap(&other->_extensions_);
   7109   }
   7110 }
   7111 
   7112 ::google::protobuf::Metadata EnumValueOptions::GetMetadata() const {
   7113   protobuf_AssignDescriptorsOnce();
   7114   ::google::protobuf::Metadata metadata;
   7115   metadata.descriptor = EnumValueOptions_descriptor_;
   7116   metadata.reflection = EnumValueOptions_reflection_;
   7117   return metadata;
   7118 }
   7119 
   7120 
   7121 // ===================================================================
   7122 
   7123 #ifndef _MSC_VER
   7124 const int ServiceOptions::kDeprecatedFieldNumber;
   7125 const int ServiceOptions::kUninterpretedOptionFieldNumber;
   7126 #endif  // !_MSC_VER
   7127 
   7128 ServiceOptions::ServiceOptions()
   7129   : ::google::protobuf::Message() {
   7130   SharedCtor();
   7131   // @@protoc_insertion_point(constructor:google.protobuf.ServiceOptions)
   7132 }
   7133 
   7134 void ServiceOptions::InitAsDefaultInstance() {
   7135 }
   7136 
   7137 ServiceOptions::ServiceOptions(const ServiceOptions& from)
   7138   : ::google::protobuf::Message() {
   7139   SharedCtor();
   7140   MergeFrom(from);
   7141   // @@protoc_insertion_point(copy_constructor:google.protobuf.ServiceOptions)
   7142 }
   7143 
   7144 void ServiceOptions::SharedCtor() {
   7145   _cached_size_ = 0;
   7146   deprecated_ = false;
   7147   ::memset(_has_bits_, 0, sizeof(_has_bits_));
   7148 }
   7149 
   7150 ServiceOptions::~ServiceOptions() {
   7151   // @@protoc_insertion_point(destructor:google.protobuf.ServiceOptions)
   7152   SharedDtor();
   7153 }
   7154 
   7155 void ServiceOptions::SharedDtor() {
   7156   if (this != default_instance_) {
   7157   }
   7158 }
   7159 
   7160 void ServiceOptions::SetCachedSize(int size) const {
   7161   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   7162   _cached_size_ = size;
   7163   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   7164 }
   7165 const ::google::protobuf::Descriptor* ServiceOptions::descriptor() {
   7166   protobuf_AssignDescriptorsOnce();
   7167   return ServiceOptions_descriptor_;
   7168 }
   7169 
   7170 const ServiceOptions& ServiceOptions::default_instance() {
   7171   if (default_instance_ == NULL) protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();
   7172   return *default_instance_;
   7173 }
   7174 
   7175 ServiceOptions* ServiceOptions::default_instance_ = NULL;
   7176 
   7177 ServiceOptions* ServiceOptions::New() const {
   7178   return new ServiceOptions;
   7179 }
   7180 
   7181 void ServiceOptions::Clear() {
   7182   _extensions_.Clear();
   7183   deprecated_ = false;
   7184   uninterpreted_option_.Clear();
   7185   ::memset(_has_bits_, 0, sizeof(_has_bits_));
   7186   mutable_unknown_fields()->Clear();
   7187 }
   7188 
   7189 bool ServiceOptions::MergePartialFromCodedStream(
   7190     ::google::protobuf::io::CodedInputStream* input) {
   7191 #define DO_(EXPRESSION) if (!(EXPRESSION)) goto failure
   7192   ::google::protobuf::uint32 tag;
   7193   // @@protoc_insertion_point(parse_start:google.protobuf.ServiceOptions)
   7194   for (;;) {
   7195     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(16383);
   7196     tag = p.first;
   7197     if (!p.second) goto handle_unusual;
   7198     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
   7199       // optional bool deprecated = 33 [default = false];
   7200       case 33: {
   7201         if (tag == 264) {
   7202           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
   7203                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
   7204                  input, &deprecated_)));
   7205           set_has_deprecated();
   7206         } else {
   7207           goto handle_unusual;
   7208         }
   7209         if (input->ExpectTag(7994)) goto parse_uninterpreted_option;
   7210         break;
   7211       }
   7212 
   7213       // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
   7214       case 999: {
   7215         if (tag == 7994) {
   7216          parse_uninterpreted_option:
   7217           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
   7218                 input, add_uninterpreted_option()));
   7219         } else {
   7220           goto handle_unusual;
   7221         }
   7222         if (input->ExpectTag(7994)) goto parse_uninterpreted_option;
   7223         if (input->ExpectAtEnd()) goto success;
   7224         break;
   7225       }
   7226 
   7227       default: {
   7228       handle_unusual:
   7229         if (tag == 0 ||
   7230             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
   7231             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
   7232           goto success;
   7233         }
   7234         if ((8000u <= tag)) {
   7235           DO_(_extensions_.ParseField(tag, input, default_instance_,
   7236                                       mutable_unknown_fields()));
   7237           continue;
   7238         }
   7239         DO_(::google::protobuf::internal::WireFormat::SkipField(
   7240               input, tag, mutable_unknown_fields()));
   7241         break;
   7242       }
   7243     }
   7244   }
   7245 success:
   7246   // @@protoc_insertion_point(parse_success:google.protobuf.ServiceOptions)
   7247   return true;
   7248 failure:
   7249   // @@protoc_insertion_point(parse_failure:google.protobuf.ServiceOptions)
   7250   return false;
   7251 #undef DO_
   7252 }
   7253 
   7254 void ServiceOptions::SerializeWithCachedSizes(
   7255     ::google::protobuf::io::CodedOutputStream* output) const {
   7256   // @@protoc_insertion_point(serialize_start:google.protobuf.ServiceOptions)
   7257   // optional bool deprecated = 33 [default = false];
   7258   if (has_deprecated()) {
   7259     ::google::protobuf::internal::WireFormatLite::WriteBool(33, this->deprecated(), output);
   7260   }
   7261 
   7262   // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
   7263   for (int i = 0; i < this->uninterpreted_option_size(); i++) {
   7264     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
   7265       999, this->uninterpreted_option(i), output);
   7266   }
   7267 
   7268   // Extension range [1000, 536870912)
   7269   _extensions_.SerializeWithCachedSizes(
   7270       1000, 536870912, output);
   7271 
   7272   if (!unknown_fields().empty()) {
   7273     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
   7274         unknown_fields(), output);
   7275   }
   7276   // @@protoc_insertion_point(serialize_end:google.protobuf.ServiceOptions)
   7277 }
   7278 
   7279 ::google::protobuf::uint8* ServiceOptions::SerializeWithCachedSizesToArray(
   7280     ::google::protobuf::uint8* target) const {
   7281   // @@protoc_insertion_point(serialize_to_array_start:google.protobuf.ServiceOptions)
   7282   // optional bool deprecated = 33 [default = false];
   7283   if (has_deprecated()) {
   7284     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(33, this->deprecated(), target);
   7285   }
   7286 
   7287   // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
   7288   for (int i = 0; i < this->uninterpreted_option_size(); i++) {
   7289     target = ::google::protobuf::internal::WireFormatLite::
   7290       WriteMessageNoVirtualToArray(
   7291         999, this->uninterpreted_option(i), target);
   7292   }
   7293 
   7294   // Extension range [1000, 536870912)
   7295   target = _extensions_.SerializeWithCachedSizesToArray(
   7296       1000, 536870912, target);
   7297 
   7298   if (!unknown_fields().empty()) {
   7299     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
   7300         unknown_fields(), target);
   7301   }
   7302   // @@protoc_insertion_point(serialize_to_array_end:google.protobuf.ServiceOptions)
   7303   return target;
   7304 }
   7305 
   7306 int ServiceOptions::ByteSize() const {
   7307   int total_size = 0;
   7308 
   7309   if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
   7310     // optional bool deprecated = 33 [default = false];
   7311     if (has_deprecated()) {
   7312       total_size += 2 + 1;
   7313     }
   7314 
   7315   }
   7316   // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
   7317   total_size += 2 * this->uninterpreted_option_size();
   7318   for (int i = 0; i < this->uninterpreted_option_size(); i++) {
   7319     total_size +=
   7320       ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
   7321         this->uninterpreted_option(i));
   7322   }
   7323 
   7324   total_size += _extensions_.ByteSize();
   7325 
   7326   if (!unknown_fields().empty()) {
   7327     total_size +=
   7328       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
   7329         unknown_fields());
   7330   }
   7331   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   7332   _cached_size_ = total_size;
   7333   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   7334   return total_size;
   7335 }
   7336 
   7337 void ServiceOptions::MergeFrom(const ::google::protobuf::Message& from) {
   7338   GOOGLE_CHECK_NE(&from, this);
   7339   const ServiceOptions* source =
   7340     ::google::protobuf::internal::dynamic_cast_if_available<const ServiceOptions*>(
   7341       &from);
   7342   if (source == NULL) {
   7343     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
   7344   } else {
   7345     MergeFrom(*source);
   7346   }
   7347 }
   7348 
   7349 void ServiceOptions::MergeFrom(const ServiceOptions& from) {
   7350   GOOGLE_CHECK_NE(&from, this);
   7351   uninterpreted_option_.MergeFrom(from.uninterpreted_option_);
   7352   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
   7353     if (from.has_deprecated()) {
   7354       set_deprecated(from.deprecated());
   7355     }
   7356   }
   7357   _extensions_.MergeFrom(from._extensions_);
   7358   mutable_unknown_fields()->MergeFrom(from.unknown_fields());
   7359 }
   7360 
   7361 void ServiceOptions::CopyFrom(const ::google::protobuf::Message& from) {
   7362   if (&from == this) return;
   7363   Clear();
   7364   MergeFrom(from);
   7365 }
   7366 
   7367 void ServiceOptions::CopyFrom(const ServiceOptions& from) {
   7368   if (&from == this) return;
   7369   Clear();
   7370   MergeFrom(from);
   7371 }
   7372 
   7373 bool ServiceOptions::IsInitialized() const {
   7374 
   7375   if (!::google::protobuf::internal::AllAreInitialized(this->uninterpreted_option())) return false;
   7376 
   7377   if (!_extensions_.IsInitialized()) return false;  return true;
   7378 }
   7379 
   7380 void ServiceOptions::Swap(ServiceOptions* other) {
   7381   if (other != this) {
   7382     std::swap(deprecated_, other->deprecated_);
   7383     uninterpreted_option_.Swap(&other->uninterpreted_option_);
   7384     std::swap(_has_bits_[0], other->_has_bits_[0]);
   7385     _unknown_fields_.Swap(&other->_unknown_fields_);
   7386     std::swap(_cached_size_, other->_cached_size_);
   7387     _extensions_.Swap(&other->_extensions_);
   7388   }
   7389 }
   7390 
   7391 ::google::protobuf::Metadata ServiceOptions::GetMetadata() const {
   7392   protobuf_AssignDescriptorsOnce();
   7393   ::google::protobuf::Metadata metadata;
   7394   metadata.descriptor = ServiceOptions_descriptor_;
   7395   metadata.reflection = ServiceOptions_reflection_;
   7396   return metadata;
   7397 }
   7398 
   7399 
   7400 // ===================================================================
   7401 
   7402 #ifndef _MSC_VER
   7403 const int MethodOptions::kDeprecatedFieldNumber;
   7404 const int MethodOptions::kUninterpretedOptionFieldNumber;
   7405 #endif  // !_MSC_VER
   7406 
   7407 MethodOptions::MethodOptions()
   7408   : ::google::protobuf::Message() {
   7409   SharedCtor();
   7410   // @@protoc_insertion_point(constructor:google.protobuf.MethodOptions)
   7411 }
   7412 
   7413 void MethodOptions::InitAsDefaultInstance() {
   7414 }
   7415 
   7416 MethodOptions::MethodOptions(const MethodOptions& from)
   7417   : ::google::protobuf::Message() {
   7418   SharedCtor();
   7419   MergeFrom(from);
   7420   // @@protoc_insertion_point(copy_constructor:google.protobuf.MethodOptions)
   7421 }
   7422 
   7423 void MethodOptions::SharedCtor() {
   7424   _cached_size_ = 0;
   7425   deprecated_ = false;
   7426   ::memset(_has_bits_, 0, sizeof(_has_bits_));
   7427 }
   7428 
   7429 MethodOptions::~MethodOptions() {
   7430   // @@protoc_insertion_point(destructor:google.protobuf.MethodOptions)
   7431   SharedDtor();
   7432 }
   7433 
   7434 void MethodOptions::SharedDtor() {
   7435   if (this != default_instance_) {
   7436   }
   7437 }
   7438 
   7439 void MethodOptions::SetCachedSize(int size) const {
   7440   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   7441   _cached_size_ = size;
   7442   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   7443 }
   7444 const ::google::protobuf::Descriptor* MethodOptions::descriptor() {
   7445   protobuf_AssignDescriptorsOnce();
   7446   return MethodOptions_descriptor_;
   7447 }
   7448 
   7449 const MethodOptions& MethodOptions::default_instance() {
   7450   if (default_instance_ == NULL) protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();
   7451   return *default_instance_;
   7452 }
   7453 
   7454 MethodOptions* MethodOptions::default_instance_ = NULL;
   7455 
   7456 MethodOptions* MethodOptions::New() const {
   7457   return new MethodOptions;
   7458 }
   7459 
   7460 void MethodOptions::Clear() {
   7461   _extensions_.Clear();
   7462   deprecated_ = false;
   7463   uninterpreted_option_.Clear();
   7464   ::memset(_has_bits_, 0, sizeof(_has_bits_));
   7465   mutable_unknown_fields()->Clear();
   7466 }
   7467 
   7468 bool MethodOptions::MergePartialFromCodedStream(
   7469     ::google::protobuf::io::CodedInputStream* input) {
   7470 #define DO_(EXPRESSION) if (!(EXPRESSION)) goto failure
   7471   ::google::protobuf::uint32 tag;
   7472   // @@protoc_insertion_point(parse_start:google.protobuf.MethodOptions)
   7473   for (;;) {
   7474     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(16383);
   7475     tag = p.first;
   7476     if (!p.second) goto handle_unusual;
   7477     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
   7478       // optional bool deprecated = 33 [default = false];
   7479       case 33: {
   7480         if (tag == 264) {
   7481           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
   7482                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
   7483                  input, &deprecated_)));
   7484           set_has_deprecated();
   7485         } else {
   7486           goto handle_unusual;
   7487         }
   7488         if (input->ExpectTag(7994)) goto parse_uninterpreted_option;
   7489         break;
   7490       }
   7491 
   7492       // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
   7493       case 999: {
   7494         if (tag == 7994) {
   7495          parse_uninterpreted_option:
   7496           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
   7497                 input, add_uninterpreted_option()));
   7498         } else {
   7499           goto handle_unusual;
   7500         }
   7501         if (input->ExpectTag(7994)) goto parse_uninterpreted_option;
   7502         if (input->ExpectAtEnd()) goto success;
   7503         break;
   7504       }
   7505 
   7506       default: {
   7507       handle_unusual:
   7508         if (tag == 0 ||
   7509             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
   7510             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
   7511           goto success;
   7512         }
   7513         if ((8000u <= tag)) {
   7514           DO_(_extensions_.ParseField(tag, input, default_instance_,
   7515                                       mutable_unknown_fields()));
   7516           continue;
   7517         }
   7518         DO_(::google::protobuf::internal::WireFormat::SkipField(
   7519               input, tag, mutable_unknown_fields()));
   7520         break;
   7521       }
   7522     }
   7523   }
   7524 success:
   7525   // @@protoc_insertion_point(parse_success:google.protobuf.MethodOptions)
   7526   return true;
   7527 failure:
   7528   // @@protoc_insertion_point(parse_failure:google.protobuf.MethodOptions)
   7529   return false;
   7530 #undef DO_
   7531 }
   7532 
   7533 void MethodOptions::SerializeWithCachedSizes(
   7534     ::google::protobuf::io::CodedOutputStream* output) const {
   7535   // @@protoc_insertion_point(serialize_start:google.protobuf.MethodOptions)
   7536   // optional bool deprecated = 33 [default = false];
   7537   if (has_deprecated()) {
   7538     ::google::protobuf::internal::WireFormatLite::WriteBool(33, this->deprecated(), output);
   7539   }
   7540 
   7541   // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
   7542   for (int i = 0; i < this->uninterpreted_option_size(); i++) {
   7543     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
   7544       999, this->uninterpreted_option(i), output);
   7545   }
   7546 
   7547   // Extension range [1000, 536870912)
   7548   _extensions_.SerializeWithCachedSizes(
   7549       1000, 536870912, output);
   7550 
   7551   if (!unknown_fields().empty()) {
   7552     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
   7553         unknown_fields(), output);
   7554   }
   7555   // @@protoc_insertion_point(serialize_end:google.protobuf.MethodOptions)
   7556 }
   7557 
   7558 ::google::protobuf::uint8* MethodOptions::SerializeWithCachedSizesToArray(
   7559     ::google::protobuf::uint8* target) const {
   7560   // @@protoc_insertion_point(serialize_to_array_start:google.protobuf.MethodOptions)
   7561   // optional bool deprecated = 33 [default = false];
   7562   if (has_deprecated()) {
   7563     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(33, this->deprecated(), target);
   7564   }
   7565 
   7566   // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
   7567   for (int i = 0; i < this->uninterpreted_option_size(); i++) {
   7568     target = ::google::protobuf::internal::WireFormatLite::
   7569       WriteMessageNoVirtualToArray(
   7570         999, this->uninterpreted_option(i), target);
   7571   }
   7572 
   7573   // Extension range [1000, 536870912)
   7574   target = _extensions_.SerializeWithCachedSizesToArray(
   7575       1000, 536870912, target);
   7576 
   7577   if (!unknown_fields().empty()) {
   7578     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
   7579         unknown_fields(), target);
   7580   }
   7581   // @@protoc_insertion_point(serialize_to_array_end:google.protobuf.MethodOptions)
   7582   return target;
   7583 }
   7584 
   7585 int MethodOptions::ByteSize() const {
   7586   int total_size = 0;
   7587 
   7588   if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
   7589     // optional bool deprecated = 33 [default = false];
   7590     if (has_deprecated()) {
   7591       total_size += 2 + 1;
   7592     }
   7593 
   7594   }
   7595   // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
   7596   total_size += 2 * this->uninterpreted_option_size();
   7597   for (int i = 0; i < this->uninterpreted_option_size(); i++) {
   7598     total_size +=
   7599       ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
   7600         this->uninterpreted_option(i));
   7601   }
   7602 
   7603   total_size += _extensions_.ByteSize();
   7604 
   7605   if (!unknown_fields().empty()) {
   7606     total_size +=
   7607       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
   7608         unknown_fields());
   7609   }
   7610   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   7611   _cached_size_ = total_size;
   7612   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   7613   return total_size;
   7614 }
   7615 
   7616 void MethodOptions::MergeFrom(const ::google::protobuf::Message& from) {
   7617   GOOGLE_CHECK_NE(&from, this);
   7618   const MethodOptions* source =
   7619     ::google::protobuf::internal::dynamic_cast_if_available<const MethodOptions*>(
   7620       &from);
   7621   if (source == NULL) {
   7622     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
   7623   } else {
   7624     MergeFrom(*source);
   7625   }
   7626 }
   7627 
   7628 void MethodOptions::MergeFrom(const MethodOptions& from) {
   7629   GOOGLE_CHECK_NE(&from, this);
   7630   uninterpreted_option_.MergeFrom(from.uninterpreted_option_);
   7631   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
   7632     if (from.has_deprecated()) {
   7633       set_deprecated(from.deprecated());
   7634     }
   7635   }
   7636   _extensions_.MergeFrom(from._extensions_);
   7637   mutable_unknown_fields()->MergeFrom(from.unknown_fields());
   7638 }
   7639 
   7640 void MethodOptions::CopyFrom(const ::google::protobuf::Message& from) {
   7641   if (&from == this) return;
   7642   Clear();
   7643   MergeFrom(from);
   7644 }
   7645 
   7646 void MethodOptions::CopyFrom(const MethodOptions& from) {
   7647   if (&from == this) return;
   7648   Clear();
   7649   MergeFrom(from);
   7650 }
   7651 
   7652 bool MethodOptions::IsInitialized() const {
   7653 
   7654   if (!::google::protobuf::internal::AllAreInitialized(this->uninterpreted_option())) return false;
   7655 
   7656   if (!_extensions_.IsInitialized()) return false;  return true;
   7657 }
   7658 
   7659 void MethodOptions::Swap(MethodOptions* other) {
   7660   if (other != this) {
   7661     std::swap(deprecated_, other->deprecated_);
   7662     uninterpreted_option_.Swap(&other->uninterpreted_option_);
   7663     std::swap(_has_bits_[0], other->_has_bits_[0]);
   7664     _unknown_fields_.Swap(&other->_unknown_fields_);
   7665     std::swap(_cached_size_, other->_cached_size_);
   7666     _extensions_.Swap(&other->_extensions_);
   7667   }
   7668 }
   7669 
   7670 ::google::protobuf::Metadata MethodOptions::GetMetadata() const {
   7671   protobuf_AssignDescriptorsOnce();
   7672   ::google::protobuf::Metadata metadata;
   7673   metadata.descriptor = MethodOptions_descriptor_;
   7674   metadata.reflection = MethodOptions_reflection_;
   7675   return metadata;
   7676 }
   7677 
   7678 
   7679 // ===================================================================
   7680 
   7681 #ifndef _MSC_VER
   7682 const int UninterpretedOption_NamePart::kNamePartFieldNumber;
   7683 const int UninterpretedOption_NamePart::kIsExtensionFieldNumber;
   7684 #endif  // !_MSC_VER
   7685 
   7686 UninterpretedOption_NamePart::UninterpretedOption_NamePart()
   7687   : ::google::protobuf::Message() {
   7688   SharedCtor();
   7689   // @@protoc_insertion_point(constructor:google.protobuf.UninterpretedOption.NamePart)
   7690 }
   7691 
   7692 void UninterpretedOption_NamePart::InitAsDefaultInstance() {
   7693 }
   7694 
   7695 UninterpretedOption_NamePart::UninterpretedOption_NamePart(const UninterpretedOption_NamePart& from)
   7696   : ::google::protobuf::Message() {
   7697   SharedCtor();
   7698   MergeFrom(from);
   7699   // @@protoc_insertion_point(copy_constructor:google.protobuf.UninterpretedOption.NamePart)
   7700 }
   7701 
   7702 void UninterpretedOption_NamePart::SharedCtor() {
   7703   ::google::protobuf::internal::GetEmptyString();
   7704   _cached_size_ = 0;
   7705   name_part_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   7706   is_extension_ = false;
   7707   ::memset(_has_bits_, 0, sizeof(_has_bits_));
   7708 }
   7709 
   7710 UninterpretedOption_NamePart::~UninterpretedOption_NamePart() {
   7711   // @@protoc_insertion_point(destructor:google.protobuf.UninterpretedOption.NamePart)
   7712   SharedDtor();
   7713 }
   7714 
   7715 void UninterpretedOption_NamePart::SharedDtor() {
   7716   if (name_part_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   7717     delete name_part_;
   7718   }
   7719   if (this != default_instance_) {
   7720   }
   7721 }
   7722 
   7723 void UninterpretedOption_NamePart::SetCachedSize(int size) const {
   7724   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   7725   _cached_size_ = size;
   7726   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   7727 }
   7728 const ::google::protobuf::Descriptor* UninterpretedOption_NamePart::descriptor() {
   7729   protobuf_AssignDescriptorsOnce();
   7730   return UninterpretedOption_NamePart_descriptor_;
   7731 }
   7732 
   7733 const UninterpretedOption_NamePart& UninterpretedOption_NamePart::default_instance() {
   7734   if (default_instance_ == NULL) protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();
   7735   return *default_instance_;
   7736 }
   7737 
   7738 UninterpretedOption_NamePart* UninterpretedOption_NamePart::default_instance_ = NULL;
   7739 
   7740 UninterpretedOption_NamePart* UninterpretedOption_NamePart::New() const {
   7741   return new UninterpretedOption_NamePart;
   7742 }
   7743 
   7744 void UninterpretedOption_NamePart::Clear() {
   7745   if (_has_bits_[0 / 32] & 3) {
   7746     if (has_name_part()) {
   7747       if (name_part_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   7748         name_part_->clear();
   7749       }
   7750     }
   7751     is_extension_ = false;
   7752   }
   7753   ::memset(_has_bits_, 0, sizeof(_has_bits_));
   7754   mutable_unknown_fields()->Clear();
   7755 }
   7756 
   7757 bool UninterpretedOption_NamePart::MergePartialFromCodedStream(
   7758     ::google::protobuf::io::CodedInputStream* input) {
   7759 #define DO_(EXPRESSION) if (!(EXPRESSION)) goto failure
   7760   ::google::protobuf::uint32 tag;
   7761   // @@protoc_insertion_point(parse_start:google.protobuf.UninterpretedOption.NamePart)
   7762   for (;;) {
   7763     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
   7764     tag = p.first;
   7765     if (!p.second) goto handle_unusual;
   7766     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
   7767       // required string name_part = 1;
   7768       case 1: {
   7769         if (tag == 10) {
   7770           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
   7771                 input, this->mutable_name_part()));
   7772           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   7773             this->name_part().data(), this->name_part().length(),
   7774             ::google::protobuf::internal::WireFormat::PARSE,
   7775             "name_part");
   7776         } else {
   7777           goto handle_unusual;
   7778         }
   7779         if (input->ExpectTag(16)) goto parse_is_extension;
   7780         break;
   7781       }
   7782 
   7783       // required bool is_extension = 2;
   7784       case 2: {
   7785         if (tag == 16) {
   7786          parse_is_extension:
   7787           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
   7788                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
   7789                  input, &is_extension_)));
   7790           set_has_is_extension();
   7791         } else {
   7792           goto handle_unusual;
   7793         }
   7794         if (input->ExpectAtEnd()) goto success;
   7795         break;
   7796       }
   7797 
   7798       default: {
   7799       handle_unusual:
   7800         if (tag == 0 ||
   7801             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
   7802             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
   7803           goto success;
   7804         }
   7805         DO_(::google::protobuf::internal::WireFormat::SkipField(
   7806               input, tag, mutable_unknown_fields()));
   7807         break;
   7808       }
   7809     }
   7810   }
   7811 success:
   7812   // @@protoc_insertion_point(parse_success:google.protobuf.UninterpretedOption.NamePart)
   7813   return true;
   7814 failure:
   7815   // @@protoc_insertion_point(parse_failure:google.protobuf.UninterpretedOption.NamePart)
   7816   return false;
   7817 #undef DO_
   7818 }
   7819 
   7820 void UninterpretedOption_NamePart::SerializeWithCachedSizes(
   7821     ::google::protobuf::io::CodedOutputStream* output) const {
   7822   // @@protoc_insertion_point(serialize_start:google.protobuf.UninterpretedOption.NamePart)
   7823   // required string name_part = 1;
   7824   if (has_name_part()) {
   7825     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   7826       this->name_part().data(), this->name_part().length(),
   7827       ::google::protobuf::internal::WireFormat::SERIALIZE,
   7828       "name_part");
   7829     ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
   7830       1, this->name_part(), output);
   7831   }
   7832 
   7833   // required bool is_extension = 2;
   7834   if (has_is_extension()) {
   7835     ::google::protobuf::internal::WireFormatLite::WriteBool(2, this->is_extension(), output);
   7836   }
   7837 
   7838   if (!unknown_fields().empty()) {
   7839     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
   7840         unknown_fields(), output);
   7841   }
   7842   // @@protoc_insertion_point(serialize_end:google.protobuf.UninterpretedOption.NamePart)
   7843 }
   7844 
   7845 ::google::protobuf::uint8* UninterpretedOption_NamePart::SerializeWithCachedSizesToArray(
   7846     ::google::protobuf::uint8* target) const {
   7847   // @@protoc_insertion_point(serialize_to_array_start:google.protobuf.UninterpretedOption.NamePart)
   7848   // required string name_part = 1;
   7849   if (has_name_part()) {
   7850     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   7851       this->name_part().data(), this->name_part().length(),
   7852       ::google::protobuf::internal::WireFormat::SERIALIZE,
   7853       "name_part");
   7854     target =
   7855       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
   7856         1, this->name_part(), target);
   7857   }
   7858 
   7859   // required bool is_extension = 2;
   7860   if (has_is_extension()) {
   7861     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(2, this->is_extension(), target);
   7862   }
   7863 
   7864   if (!unknown_fields().empty()) {
   7865     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
   7866         unknown_fields(), target);
   7867   }
   7868   // @@protoc_insertion_point(serialize_to_array_end:google.protobuf.UninterpretedOption.NamePart)
   7869   return target;
   7870 }
   7871 
   7872 int UninterpretedOption_NamePart::ByteSize() const {
   7873   int total_size = 0;
   7874 
   7875   if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
   7876     // required string name_part = 1;
   7877     if (has_name_part()) {
   7878       total_size += 1 +
   7879         ::google::protobuf::internal::WireFormatLite::StringSize(
   7880           this->name_part());
   7881     }
   7882 
   7883     // required bool is_extension = 2;
   7884     if (has_is_extension()) {
   7885       total_size += 1 + 1;
   7886     }
   7887 
   7888   }
   7889   if (!unknown_fields().empty()) {
   7890     total_size +=
   7891       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
   7892         unknown_fields());
   7893   }
   7894   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   7895   _cached_size_ = total_size;
   7896   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   7897   return total_size;
   7898 }
   7899 
   7900 void UninterpretedOption_NamePart::MergeFrom(const ::google::protobuf::Message& from) {
   7901   GOOGLE_CHECK_NE(&from, this);
   7902   const UninterpretedOption_NamePart* source =
   7903     ::google::protobuf::internal::dynamic_cast_if_available<const UninterpretedOption_NamePart*>(
   7904       &from);
   7905   if (source == NULL) {
   7906     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
   7907   } else {
   7908     MergeFrom(*source);
   7909   }
   7910 }
   7911 
   7912 void UninterpretedOption_NamePart::MergeFrom(const UninterpretedOption_NamePart& from) {
   7913   GOOGLE_CHECK_NE(&from, this);
   7914   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
   7915     if (from.has_name_part()) {
   7916       set_name_part(from.name_part());
   7917     }
   7918     if (from.has_is_extension()) {
   7919       set_is_extension(from.is_extension());
   7920     }
   7921   }
   7922   mutable_unknown_fields()->MergeFrom(from.unknown_fields());
   7923 }
   7924 
   7925 void UninterpretedOption_NamePart::CopyFrom(const ::google::protobuf::Message& from) {
   7926   if (&from == this) return;
   7927   Clear();
   7928   MergeFrom(from);
   7929 }
   7930 
   7931 void UninterpretedOption_NamePart::CopyFrom(const UninterpretedOption_NamePart& from) {
   7932   if (&from == this) return;
   7933   Clear();
   7934   MergeFrom(from);
   7935 }
   7936 
   7937 bool UninterpretedOption_NamePart::IsInitialized() const {
   7938   if ((_has_bits_[0] & 0x00000003) != 0x00000003) return false;
   7939 
   7940   return true;
   7941 }
   7942 
   7943 void UninterpretedOption_NamePart::Swap(UninterpretedOption_NamePart* other) {
   7944   if (other != this) {
   7945     std::swap(name_part_, other->name_part_);
   7946     std::swap(is_extension_, other->is_extension_);
   7947     std::swap(_has_bits_[0], other->_has_bits_[0]);
   7948     _unknown_fields_.Swap(&other->_unknown_fields_);
   7949     std::swap(_cached_size_, other->_cached_size_);
   7950   }
   7951 }
   7952 
   7953 ::google::protobuf::Metadata UninterpretedOption_NamePart::GetMetadata() const {
   7954   protobuf_AssignDescriptorsOnce();
   7955   ::google::protobuf::Metadata metadata;
   7956   metadata.descriptor = UninterpretedOption_NamePart_descriptor_;
   7957   metadata.reflection = UninterpretedOption_NamePart_reflection_;
   7958   return metadata;
   7959 }
   7960 
   7961 
   7962 // -------------------------------------------------------------------
   7963 
   7964 #ifndef _MSC_VER
   7965 const int UninterpretedOption::kNameFieldNumber;
   7966 const int UninterpretedOption::kIdentifierValueFieldNumber;
   7967 const int UninterpretedOption::kPositiveIntValueFieldNumber;
   7968 const int UninterpretedOption::kNegativeIntValueFieldNumber;
   7969 const int UninterpretedOption::kDoubleValueFieldNumber;
   7970 const int UninterpretedOption::kStringValueFieldNumber;
   7971 const int UninterpretedOption::kAggregateValueFieldNumber;
   7972 #endif  // !_MSC_VER
   7973 
   7974 UninterpretedOption::UninterpretedOption()
   7975   : ::google::protobuf::Message() {
   7976   SharedCtor();
   7977   // @@protoc_insertion_point(constructor:google.protobuf.UninterpretedOption)
   7978 }
   7979 
   7980 void UninterpretedOption::InitAsDefaultInstance() {
   7981 }
   7982 
   7983 UninterpretedOption::UninterpretedOption(const UninterpretedOption& from)
   7984   : ::google::protobuf::Message() {
   7985   SharedCtor();
   7986   MergeFrom(from);
   7987   // @@protoc_insertion_point(copy_constructor:google.protobuf.UninterpretedOption)
   7988 }
   7989 
   7990 void UninterpretedOption::SharedCtor() {
   7991   ::google::protobuf::internal::GetEmptyString();
   7992   _cached_size_ = 0;
   7993   identifier_value_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   7994   positive_int_value_ = GOOGLE_ULONGLONG(0);
   7995   negative_int_value_ = GOOGLE_LONGLONG(0);
   7996   double_value_ = 0;
   7997   string_value_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   7998   aggregate_value_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   7999   ::memset(_has_bits_, 0, sizeof(_has_bits_));
   8000 }
   8001 
   8002 UninterpretedOption::~UninterpretedOption() {
   8003   // @@protoc_insertion_point(destructor:google.protobuf.UninterpretedOption)
   8004   SharedDtor();
   8005 }
   8006 
   8007 void UninterpretedOption::SharedDtor() {
   8008   if (identifier_value_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   8009     delete identifier_value_;
   8010   }
   8011   if (string_value_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   8012     delete string_value_;
   8013   }
   8014   if (aggregate_value_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   8015     delete aggregate_value_;
   8016   }
   8017   if (this != default_instance_) {
   8018   }
   8019 }
   8020 
   8021 void UninterpretedOption::SetCachedSize(int size) const {
   8022   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   8023   _cached_size_ = size;
   8024   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   8025 }
   8026 const ::google::protobuf::Descriptor* UninterpretedOption::descriptor() {
   8027   protobuf_AssignDescriptorsOnce();
   8028   return UninterpretedOption_descriptor_;
   8029 }
   8030 
   8031 const UninterpretedOption& UninterpretedOption::default_instance() {
   8032   if (default_instance_ == NULL) protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();
   8033   return *default_instance_;
   8034 }
   8035 
   8036 UninterpretedOption* UninterpretedOption::default_instance_ = NULL;
   8037 
   8038 UninterpretedOption* UninterpretedOption::New() const {
   8039   return new UninterpretedOption;
   8040 }
   8041 
   8042 void UninterpretedOption::Clear() {
   8043 #define OFFSET_OF_FIELD_(f) (reinterpret_cast<char*>(      \
   8044   &reinterpret_cast<UninterpretedOption*>(16)->f) - \
   8045    reinterpret_cast<char*>(16))
   8046 
   8047 #define ZR_(first, last) do {                              \
   8048     size_t f = OFFSET_OF_FIELD_(first);                    \
   8049     size_t n = OFFSET_OF_FIELD_(last) - f + sizeof(last);  \
   8050     ::memset(&first, 0, n);                                \
   8051   } while (0)
   8052 
   8053   if (_has_bits_[0 / 32] & 126) {
   8054     ZR_(positive_int_value_, double_value_);
   8055     if (has_identifier_value()) {
   8056       if (identifier_value_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   8057         identifier_value_->clear();
   8058       }
   8059     }
   8060     if (has_string_value()) {
   8061       if (string_value_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   8062         string_value_->clear();
   8063       }
   8064     }
   8065     if (has_aggregate_value()) {
   8066       if (aggregate_value_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   8067         aggregate_value_->clear();
   8068       }
   8069     }
   8070   }
   8071 
   8072 #undef OFFSET_OF_FIELD_
   8073 #undef ZR_
   8074 
   8075   name_.Clear();
   8076   ::memset(_has_bits_, 0, sizeof(_has_bits_));
   8077   mutable_unknown_fields()->Clear();
   8078 }
   8079 
   8080 bool UninterpretedOption::MergePartialFromCodedStream(
   8081     ::google::protobuf::io::CodedInputStream* input) {
   8082 #define DO_(EXPRESSION) if (!(EXPRESSION)) goto failure
   8083   ::google::protobuf::uint32 tag;
   8084   // @@protoc_insertion_point(parse_start:google.protobuf.UninterpretedOption)
   8085   for (;;) {
   8086     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
   8087     tag = p.first;
   8088     if (!p.second) goto handle_unusual;
   8089     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
   8090       // repeated .google.protobuf.UninterpretedOption.NamePart name = 2;
   8091       case 2: {
   8092         if (tag == 18) {
   8093          parse_name:
   8094           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
   8095                 input, add_name()));
   8096         } else {
   8097           goto handle_unusual;
   8098         }
   8099         if (input->ExpectTag(18)) goto parse_name;
   8100         if (input->ExpectTag(26)) goto parse_identifier_value;
   8101         break;
   8102       }
   8103 
   8104       // optional string identifier_value = 3;
   8105       case 3: {
   8106         if (tag == 26) {
   8107          parse_identifier_value:
   8108           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
   8109                 input, this->mutable_identifier_value()));
   8110           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   8111             this->identifier_value().data(), this->identifier_value().length(),
   8112             ::google::protobuf::internal::WireFormat::PARSE,
   8113             "identifier_value");
   8114         } else {
   8115           goto handle_unusual;
   8116         }
   8117         if (input->ExpectTag(32)) goto parse_positive_int_value;
   8118         break;
   8119       }
   8120 
   8121       // optional uint64 positive_int_value = 4;
   8122       case 4: {
   8123         if (tag == 32) {
   8124          parse_positive_int_value:
   8125           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
   8126                    ::google::protobuf::uint64, ::google::protobuf::internal::WireFormatLite::TYPE_UINT64>(
   8127                  input, &positive_int_value_)));
   8128           set_has_positive_int_value();
   8129         } else {
   8130           goto handle_unusual;
   8131         }
   8132         if (input->ExpectTag(40)) goto parse_negative_int_value;
   8133         break;
   8134       }
   8135 
   8136       // optional int64 negative_int_value = 5;
   8137       case 5: {
   8138         if (tag == 40) {
   8139          parse_negative_int_value:
   8140           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
   8141                    ::google::protobuf::int64, ::google::protobuf::internal::WireFormatLite::TYPE_INT64>(
   8142                  input, &negative_int_value_)));
   8143           set_has_negative_int_value();
   8144         } else {
   8145           goto handle_unusual;
   8146         }
   8147         if (input->ExpectTag(49)) goto parse_double_value;
   8148         break;
   8149       }
   8150 
   8151       // optional double double_value = 6;
   8152       case 6: {
   8153         if (tag == 49) {
   8154          parse_double_value:
   8155           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
   8156                    double, ::google::protobuf::internal::WireFormatLite::TYPE_DOUBLE>(
   8157                  input, &double_value_)));
   8158           set_has_double_value();
   8159         } else {
   8160           goto handle_unusual;
   8161         }
   8162         if (input->ExpectTag(58)) goto parse_string_value;
   8163         break;
   8164       }
   8165 
   8166       // optional bytes string_value = 7;
   8167       case 7: {
   8168         if (tag == 58) {
   8169          parse_string_value:
   8170           DO_(::google::protobuf::internal::WireFormatLite::ReadBytes(
   8171                 input, this->mutable_string_value()));
   8172         } else {
   8173           goto handle_unusual;
   8174         }
   8175         if (input->ExpectTag(66)) goto parse_aggregate_value;
   8176         break;
   8177       }
   8178 
   8179       // optional string aggregate_value = 8;
   8180       case 8: {
   8181         if (tag == 66) {
   8182          parse_aggregate_value:
   8183           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
   8184                 input, this->mutable_aggregate_value()));
   8185           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   8186             this->aggregate_value().data(), this->aggregate_value().length(),
   8187             ::google::protobuf::internal::WireFormat::PARSE,
   8188             "aggregate_value");
   8189         } else {
   8190           goto handle_unusual;
   8191         }
   8192         if (input->ExpectAtEnd()) goto success;
   8193         break;
   8194       }
   8195 
   8196       default: {
   8197       handle_unusual:
   8198         if (tag == 0 ||
   8199             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
   8200             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
   8201           goto success;
   8202         }
   8203         DO_(::google::protobuf::internal::WireFormat::SkipField(
   8204               input, tag, mutable_unknown_fields()));
   8205         break;
   8206       }
   8207     }
   8208   }
   8209 success:
   8210   // @@protoc_insertion_point(parse_success:google.protobuf.UninterpretedOption)
   8211   return true;
   8212 failure:
   8213   // @@protoc_insertion_point(parse_failure:google.protobuf.UninterpretedOption)
   8214   return false;
   8215 #undef DO_
   8216 }
   8217 
   8218 void UninterpretedOption::SerializeWithCachedSizes(
   8219     ::google::protobuf::io::CodedOutputStream* output) const {
   8220   // @@protoc_insertion_point(serialize_start:google.protobuf.UninterpretedOption)
   8221   // repeated .google.protobuf.UninterpretedOption.NamePart name = 2;
   8222   for (int i = 0; i < this->name_size(); i++) {
   8223     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
   8224       2, this->name(i), output);
   8225   }
   8226 
   8227   // optional string identifier_value = 3;
   8228   if (has_identifier_value()) {
   8229     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   8230       this->identifier_value().data(), this->identifier_value().length(),
   8231       ::google::protobuf::internal::WireFormat::SERIALIZE,
   8232       "identifier_value");
   8233     ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
   8234       3, this->identifier_value(), output);
   8235   }
   8236 
   8237   // optional uint64 positive_int_value = 4;
   8238   if (has_positive_int_value()) {
   8239     ::google::protobuf::internal::WireFormatLite::WriteUInt64(4, this->positive_int_value(), output);
   8240   }
   8241 
   8242   // optional int64 negative_int_value = 5;
   8243   if (has_negative_int_value()) {
   8244     ::google::protobuf::internal::WireFormatLite::WriteInt64(5, this->negative_int_value(), output);
   8245   }
   8246 
   8247   // optional double double_value = 6;
   8248   if (has_double_value()) {
   8249     ::google::protobuf::internal::WireFormatLite::WriteDouble(6, this->double_value(), output);
   8250   }
   8251 
   8252   // optional bytes string_value = 7;
   8253   if (has_string_value()) {
   8254     ::google::protobuf::internal::WireFormatLite::WriteBytesMaybeAliased(
   8255       7, this->string_value(), output);
   8256   }
   8257 
   8258   // optional string aggregate_value = 8;
   8259   if (has_aggregate_value()) {
   8260     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   8261       this->aggregate_value().data(), this->aggregate_value().length(),
   8262       ::google::protobuf::internal::WireFormat::SERIALIZE,
   8263       "aggregate_value");
   8264     ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
   8265       8, this->aggregate_value(), output);
   8266   }
   8267 
   8268   if (!unknown_fields().empty()) {
   8269     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
   8270         unknown_fields(), output);
   8271   }
   8272   // @@protoc_insertion_point(serialize_end:google.protobuf.UninterpretedOption)
   8273 }
   8274 
   8275 ::google::protobuf::uint8* UninterpretedOption::SerializeWithCachedSizesToArray(
   8276     ::google::protobuf::uint8* target) const {
   8277   // @@protoc_insertion_point(serialize_to_array_start:google.protobuf.UninterpretedOption)
   8278   // repeated .google.protobuf.UninterpretedOption.NamePart name = 2;
   8279   for (int i = 0; i < this->name_size(); i++) {
   8280     target = ::google::protobuf::internal::WireFormatLite::
   8281       WriteMessageNoVirtualToArray(
   8282         2, this->name(i), target);
   8283   }
   8284 
   8285   // optional string identifier_value = 3;
   8286   if (has_identifier_value()) {
   8287     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   8288       this->identifier_value().data(), this->identifier_value().length(),
   8289       ::google::protobuf::internal::WireFormat::SERIALIZE,
   8290       "identifier_value");
   8291     target =
   8292       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
   8293         3, this->identifier_value(), target);
   8294   }
   8295 
   8296   // optional uint64 positive_int_value = 4;
   8297   if (has_positive_int_value()) {
   8298     target = ::google::protobuf::internal::WireFormatLite::WriteUInt64ToArray(4, this->positive_int_value(), target);
   8299   }
   8300 
   8301   // optional int64 negative_int_value = 5;
   8302   if (has_negative_int_value()) {
   8303     target = ::google::protobuf::internal::WireFormatLite::WriteInt64ToArray(5, this->negative_int_value(), target);
   8304   }
   8305 
   8306   // optional double double_value = 6;
   8307   if (has_double_value()) {
   8308     target = ::google::protobuf::internal::WireFormatLite::WriteDoubleToArray(6, this->double_value(), target);
   8309   }
   8310 
   8311   // optional bytes string_value = 7;
   8312   if (has_string_value()) {
   8313     target =
   8314       ::google::protobuf::internal::WireFormatLite::WriteBytesToArray(
   8315         7, this->string_value(), target);
   8316   }
   8317 
   8318   // optional string aggregate_value = 8;
   8319   if (has_aggregate_value()) {
   8320     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   8321       this->aggregate_value().data(), this->aggregate_value().length(),
   8322       ::google::protobuf::internal::WireFormat::SERIALIZE,
   8323       "aggregate_value");
   8324     target =
   8325       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
   8326         8, this->aggregate_value(), target);
   8327   }
   8328 
   8329   if (!unknown_fields().empty()) {
   8330     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
   8331         unknown_fields(), target);
   8332   }
   8333   // @@protoc_insertion_point(serialize_to_array_end:google.protobuf.UninterpretedOption)
   8334   return target;
   8335 }
   8336 
   8337 int UninterpretedOption::ByteSize() const {
   8338   int total_size = 0;
   8339 
   8340   if (_has_bits_[1 / 32] & (0xffu << (1 % 32))) {
   8341     // optional string identifier_value = 3;
   8342     if (has_identifier_value()) {
   8343       total_size += 1 +
   8344         ::google::protobuf::internal::WireFormatLite::StringSize(
   8345           this->identifier_value());
   8346     }
   8347 
   8348     // optional uint64 positive_int_value = 4;
   8349     if (has_positive_int_value()) {
   8350       total_size += 1 +
   8351         ::google::protobuf::internal::WireFormatLite::UInt64Size(
   8352           this->positive_int_value());
   8353     }
   8354 
   8355     // optional int64 negative_int_value = 5;
   8356     if (has_negative_int_value()) {
   8357       total_size += 1 +
   8358         ::google::protobuf::internal::WireFormatLite::Int64Size(
   8359           this->negative_int_value());
   8360     }
   8361 
   8362     // optional double double_value = 6;
   8363     if (has_double_value()) {
   8364       total_size += 1 + 8;
   8365     }
   8366 
   8367     // optional bytes string_value = 7;
   8368     if (has_string_value()) {
   8369       total_size += 1 +
   8370         ::google::protobuf::internal::WireFormatLite::BytesSize(
   8371           this->string_value());
   8372     }
   8373 
   8374     // optional string aggregate_value = 8;
   8375     if (has_aggregate_value()) {
   8376       total_size += 1 +
   8377         ::google::protobuf::internal::WireFormatLite::StringSize(
   8378           this->aggregate_value());
   8379     }
   8380 
   8381   }
   8382   // repeated .google.protobuf.UninterpretedOption.NamePart name = 2;
   8383   total_size += 1 * this->name_size();
   8384   for (int i = 0; i < this->name_size(); i++) {
   8385     total_size +=
   8386       ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
   8387         this->name(i));
   8388   }
   8389 
   8390   if (!unknown_fields().empty()) {
   8391     total_size +=
   8392       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
   8393         unknown_fields());
   8394   }
   8395   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   8396   _cached_size_ = total_size;
   8397   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   8398   return total_size;
   8399 }
   8400 
   8401 void UninterpretedOption::MergeFrom(const ::google::protobuf::Message& from) {
   8402   GOOGLE_CHECK_NE(&from, this);
   8403   const UninterpretedOption* source =
   8404     ::google::protobuf::internal::dynamic_cast_if_available<const UninterpretedOption*>(
   8405       &from);
   8406   if (source == NULL) {
   8407     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
   8408   } else {
   8409     MergeFrom(*source);
   8410   }
   8411 }
   8412 
   8413 void UninterpretedOption::MergeFrom(const UninterpretedOption& from) {
   8414   GOOGLE_CHECK_NE(&from, this);
   8415   name_.MergeFrom(from.name_);
   8416   if (from._has_bits_[1 / 32] & (0xffu << (1 % 32))) {
   8417     if (from.has_identifier_value()) {
   8418       set_identifier_value(from.identifier_value());
   8419     }
   8420     if (from.has_positive_int_value()) {
   8421       set_positive_int_value(from.positive_int_value());
   8422     }
   8423     if (from.has_negative_int_value()) {
   8424       set_negative_int_value(from.negative_int_value());
   8425     }
   8426     if (from.has_double_value()) {
   8427       set_double_value(from.double_value());
   8428     }
   8429     if (from.has_string_value()) {
   8430       set_string_value(from.string_value());
   8431     }
   8432     if (from.has_aggregate_value()) {
   8433       set_aggregate_value(from.aggregate_value());
   8434     }
   8435   }
   8436   mutable_unknown_fields()->MergeFrom(from.unknown_fields());
   8437 }
   8438 
   8439 void UninterpretedOption::CopyFrom(const ::google::protobuf::Message& from) {
   8440   if (&from == this) return;
   8441   Clear();
   8442   MergeFrom(from);
   8443 }
   8444 
   8445 void UninterpretedOption::CopyFrom(const UninterpretedOption& from) {
   8446   if (&from == this) return;
   8447   Clear();
   8448   MergeFrom(from);
   8449 }
   8450 
   8451 bool UninterpretedOption::IsInitialized() const {
   8452 
   8453   if (!::google::protobuf::internal::AllAreInitialized(this->name())) return false;
   8454   return true;
   8455 }
   8456 
   8457 void UninterpretedOption::Swap(UninterpretedOption* other) {
   8458   if (other != this) {
   8459     name_.Swap(&other->name_);
   8460     std::swap(identifier_value_, other->identifier_value_);
   8461     std::swap(positive_int_value_, other->positive_int_value_);
   8462     std::swap(negative_int_value_, other->negative_int_value_);
   8463     std::swap(double_value_, other->double_value_);
   8464     std::swap(string_value_, other->string_value_);
   8465     std::swap(aggregate_value_, other->aggregate_value_);
   8466     std::swap(_has_bits_[0], other->_has_bits_[0]);
   8467     _unknown_fields_.Swap(&other->_unknown_fields_);
   8468     std::swap(_cached_size_, other->_cached_size_);
   8469   }
   8470 }
   8471 
   8472 ::google::protobuf::Metadata UninterpretedOption::GetMetadata() const {
   8473   protobuf_AssignDescriptorsOnce();
   8474   ::google::protobuf::Metadata metadata;
   8475   metadata.descriptor = UninterpretedOption_descriptor_;
   8476   metadata.reflection = UninterpretedOption_reflection_;
   8477   return metadata;
   8478 }
   8479 
   8480 
   8481 // ===================================================================
   8482 
   8483 #ifndef _MSC_VER
   8484 const int SourceCodeInfo_Location::kPathFieldNumber;
   8485 const int SourceCodeInfo_Location::kSpanFieldNumber;
   8486 const int SourceCodeInfo_Location::kLeadingCommentsFieldNumber;
   8487 const int SourceCodeInfo_Location::kTrailingCommentsFieldNumber;
   8488 #endif  // !_MSC_VER
   8489 
   8490 SourceCodeInfo_Location::SourceCodeInfo_Location()
   8491   : ::google::protobuf::Message() {
   8492   SharedCtor();
   8493   // @@protoc_insertion_point(constructor:google.protobuf.SourceCodeInfo.Location)
   8494 }
   8495 
   8496 void SourceCodeInfo_Location::InitAsDefaultInstance() {
   8497 }
   8498 
   8499 SourceCodeInfo_Location::SourceCodeInfo_Location(const SourceCodeInfo_Location& from)
   8500   : ::google::protobuf::Message() {
   8501   SharedCtor();
   8502   MergeFrom(from);
   8503   // @@protoc_insertion_point(copy_constructor:google.protobuf.SourceCodeInfo.Location)
   8504 }
   8505 
   8506 void SourceCodeInfo_Location::SharedCtor() {
   8507   ::google::protobuf::internal::GetEmptyString();
   8508   _cached_size_ = 0;
   8509   leading_comments_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   8510   trailing_comments_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   8511   ::memset(_has_bits_, 0, sizeof(_has_bits_));
   8512 }
   8513 
   8514 SourceCodeInfo_Location::~SourceCodeInfo_Location() {
   8515   // @@protoc_insertion_point(destructor:google.protobuf.SourceCodeInfo.Location)
   8516   SharedDtor();
   8517 }
   8518 
   8519 void SourceCodeInfo_Location::SharedDtor() {
   8520   if (leading_comments_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   8521     delete leading_comments_;
   8522   }
   8523   if (trailing_comments_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   8524     delete trailing_comments_;
   8525   }
   8526   if (this != default_instance_) {
   8527   }
   8528 }
   8529 
   8530 void SourceCodeInfo_Location::SetCachedSize(int size) const {
   8531   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   8532   _cached_size_ = size;
   8533   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   8534 }
   8535 const ::google::protobuf::Descriptor* SourceCodeInfo_Location::descriptor() {
   8536   protobuf_AssignDescriptorsOnce();
   8537   return SourceCodeInfo_Location_descriptor_;
   8538 }
   8539 
   8540 const SourceCodeInfo_Location& SourceCodeInfo_Location::default_instance() {
   8541   if (default_instance_ == NULL) protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();
   8542   return *default_instance_;
   8543 }
   8544 
   8545 SourceCodeInfo_Location* SourceCodeInfo_Location::default_instance_ = NULL;
   8546 
   8547 SourceCodeInfo_Location* SourceCodeInfo_Location::New() const {
   8548   return new SourceCodeInfo_Location;
   8549 }
   8550 
   8551 void SourceCodeInfo_Location::Clear() {
   8552   if (_has_bits_[0 / 32] & 12) {
   8553     if (has_leading_comments()) {
   8554       if (leading_comments_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   8555         leading_comments_->clear();
   8556       }
   8557     }
   8558     if (has_trailing_comments()) {
   8559       if (trailing_comments_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   8560         trailing_comments_->clear();
   8561       }
   8562     }
   8563   }
   8564   path_.Clear();
   8565   span_.Clear();
   8566   ::memset(_has_bits_, 0, sizeof(_has_bits_));
   8567   mutable_unknown_fields()->Clear();
   8568 }
   8569 
   8570 bool SourceCodeInfo_Location::MergePartialFromCodedStream(
   8571     ::google::protobuf::io::CodedInputStream* input) {
   8572 #define DO_(EXPRESSION) if (!(EXPRESSION)) goto failure
   8573   ::google::protobuf::uint32 tag;
   8574   // @@protoc_insertion_point(parse_start:google.protobuf.SourceCodeInfo.Location)
   8575   for (;;) {
   8576     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
   8577     tag = p.first;
   8578     if (!p.second) goto handle_unusual;
   8579     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
   8580       // repeated int32 path = 1 [packed = true];
   8581       case 1: {
   8582         if (tag == 10) {
   8583           DO_((::google::protobuf::internal::WireFormatLite::ReadPackedPrimitive<
   8584                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
   8585                  input, this->mutable_path())));
   8586         } else if (tag == 8) {
   8587           DO_((::google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitiveNoInline<
   8588                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
   8589                  1, 10, input, this->mutable_path())));
   8590         } else {
   8591           goto handle_unusual;
   8592         }
   8593         if (input->ExpectTag(18)) goto parse_span;
   8594         break;
   8595       }
   8596 
   8597       // repeated int32 span = 2 [packed = true];
   8598       case 2: {
   8599         if (tag == 18) {
   8600          parse_span:
   8601           DO_((::google::protobuf::internal::WireFormatLite::ReadPackedPrimitive<
   8602                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
   8603                  input, this->mutable_span())));
   8604         } else if (tag == 16) {
   8605           DO_((::google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitiveNoInline<
   8606                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
   8607                  1, 18, input, this->mutable_span())));
   8608         } else {
   8609           goto handle_unusual;
   8610         }
   8611         if (input->ExpectTag(26)) goto parse_leading_comments;
   8612         break;
   8613       }
   8614 
   8615       // optional string leading_comments = 3;
   8616       case 3: {
   8617         if (tag == 26) {
   8618          parse_leading_comments:
   8619           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
   8620                 input, this->mutable_leading_comments()));
   8621           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   8622             this->leading_comments().data(), this->leading_comments().length(),
   8623             ::google::protobuf::internal::WireFormat::PARSE,
   8624             "leading_comments");
   8625         } else {
   8626           goto handle_unusual;
   8627         }
   8628         if (input->ExpectTag(34)) goto parse_trailing_comments;
   8629         break;
   8630       }
   8631 
   8632       // optional string trailing_comments = 4;
   8633       case 4: {
   8634         if (tag == 34) {
   8635          parse_trailing_comments:
   8636           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
   8637                 input, this->mutable_trailing_comments()));
   8638           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   8639             this->trailing_comments().data(), this->trailing_comments().length(),
   8640             ::google::protobuf::internal::WireFormat::PARSE,
   8641             "trailing_comments");
   8642         } else {
   8643           goto handle_unusual;
   8644         }
   8645         if (input->ExpectAtEnd()) goto success;
   8646         break;
   8647       }
   8648 
   8649       default: {
   8650       handle_unusual:
   8651         if (tag == 0 ||
   8652             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
   8653             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
   8654           goto success;
   8655         }
   8656         DO_(::google::protobuf::internal::WireFormat::SkipField(
   8657               input, tag, mutable_unknown_fields()));
   8658         break;
   8659       }
   8660     }
   8661   }
   8662 success:
   8663   // @@protoc_insertion_point(parse_success:google.protobuf.SourceCodeInfo.Location)
   8664   return true;
   8665 failure:
   8666   // @@protoc_insertion_point(parse_failure:google.protobuf.SourceCodeInfo.Location)
   8667   return false;
   8668 #undef DO_
   8669 }
   8670 
   8671 void SourceCodeInfo_Location::SerializeWithCachedSizes(
   8672     ::google::protobuf::io::CodedOutputStream* output) const {
   8673   // @@protoc_insertion_point(serialize_start:google.protobuf.SourceCodeInfo.Location)
   8674   // repeated int32 path = 1 [packed = true];
   8675   if (this->path_size() > 0) {
   8676     ::google::protobuf::internal::WireFormatLite::WriteTag(1, ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED, output);
   8677     output->WriteVarint32(_path_cached_byte_size_);
   8678   }
   8679   for (int i = 0; i < this->path_size(); i++) {
   8680     ::google::protobuf::internal::WireFormatLite::WriteInt32NoTag(
   8681       this->path(i), output);
   8682   }
   8683 
   8684   // repeated int32 span = 2 [packed = true];
   8685   if (this->span_size() > 0) {
   8686     ::google::protobuf::internal::WireFormatLite::WriteTag(2, ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED, output);
   8687     output->WriteVarint32(_span_cached_byte_size_);
   8688   }
   8689   for (int i = 0; i < this->span_size(); i++) {
   8690     ::google::protobuf::internal::WireFormatLite::WriteInt32NoTag(
   8691       this->span(i), output);
   8692   }
   8693 
   8694   // optional string leading_comments = 3;
   8695   if (has_leading_comments()) {
   8696     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   8697       this->leading_comments().data(), this->leading_comments().length(),
   8698       ::google::protobuf::internal::WireFormat::SERIALIZE,
   8699       "leading_comments");
   8700     ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
   8701       3, this->leading_comments(), output);
   8702   }
   8703 
   8704   // optional string trailing_comments = 4;
   8705   if (has_trailing_comments()) {
   8706     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   8707       this->trailing_comments().data(), this->trailing_comments().length(),
   8708       ::google::protobuf::internal::WireFormat::SERIALIZE,
   8709       "trailing_comments");
   8710     ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
   8711       4, this->trailing_comments(), output);
   8712   }
   8713 
   8714   if (!unknown_fields().empty()) {
   8715     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
   8716         unknown_fields(), output);
   8717   }
   8718   // @@protoc_insertion_point(serialize_end:google.protobuf.SourceCodeInfo.Location)
   8719 }
   8720 
   8721 ::google::protobuf::uint8* SourceCodeInfo_Location::SerializeWithCachedSizesToArray(
   8722     ::google::protobuf::uint8* target) const {
   8723   // @@protoc_insertion_point(serialize_to_array_start:google.protobuf.SourceCodeInfo.Location)
   8724   // repeated int32 path = 1 [packed = true];
   8725   if (this->path_size() > 0) {
   8726     target = ::google::protobuf::internal::WireFormatLite::WriteTagToArray(
   8727       1,
   8728       ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED,
   8729       target);
   8730     target = ::google::protobuf::io::CodedOutputStream::WriteVarint32ToArray(
   8731       _path_cached_byte_size_, target);
   8732   }
   8733   for (int i = 0; i < this->path_size(); i++) {
   8734     target = ::google::protobuf::internal::WireFormatLite::
   8735       WriteInt32NoTagToArray(this->path(i), target);
   8736   }
   8737 
   8738   // repeated int32 span = 2 [packed = true];
   8739   if (this->span_size() > 0) {
   8740     target = ::google::protobuf::internal::WireFormatLite::WriteTagToArray(
   8741       2,
   8742       ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED,
   8743       target);
   8744     target = ::google::protobuf::io::CodedOutputStream::WriteVarint32ToArray(
   8745       _span_cached_byte_size_, target);
   8746   }
   8747   for (int i = 0; i < this->span_size(); i++) {
   8748     target = ::google::protobuf::internal::WireFormatLite::
   8749       WriteInt32NoTagToArray(this->span(i), target);
   8750   }
   8751 
   8752   // optional string leading_comments = 3;
   8753   if (has_leading_comments()) {
   8754     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   8755       this->leading_comments().data(), this->leading_comments().length(),
   8756       ::google::protobuf::internal::WireFormat::SERIALIZE,
   8757       "leading_comments");
   8758     target =
   8759       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
   8760         3, this->leading_comments(), target);
   8761   }
   8762 
   8763   // optional string trailing_comments = 4;
   8764   if (has_trailing_comments()) {
   8765     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   8766       this->trailing_comments().data(), this->trailing_comments().length(),
   8767       ::google::protobuf::internal::WireFormat::SERIALIZE,
   8768       "trailing_comments");
   8769     target =
   8770       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
   8771         4, this->trailing_comments(), target);
   8772   }
   8773 
   8774   if (!unknown_fields().empty()) {
   8775     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
   8776         unknown_fields(), target);
   8777   }
   8778   // @@protoc_insertion_point(serialize_to_array_end:google.protobuf.SourceCodeInfo.Location)
   8779   return target;
   8780 }
   8781 
   8782 int SourceCodeInfo_Location::ByteSize() const {
   8783   int total_size = 0;
   8784 
   8785   if (_has_bits_[2 / 32] & (0xffu << (2 % 32))) {
   8786     // optional string leading_comments = 3;
   8787     if (has_leading_comments()) {
   8788       total_size += 1 +
   8789         ::google::protobuf::internal::WireFormatLite::StringSize(
   8790           this->leading_comments());
   8791     }
   8792 
   8793     // optional string trailing_comments = 4;
   8794     if (has_trailing_comments()) {
   8795       total_size += 1 +
   8796         ::google::protobuf::internal::WireFormatLite::StringSize(
   8797           this->trailing_comments());
   8798     }
   8799 
   8800   }
   8801   // repeated int32 path = 1 [packed = true];
   8802   {
   8803     int data_size = 0;
   8804     for (int i = 0; i < this->path_size(); i++) {
   8805       data_size += ::google::protobuf::internal::WireFormatLite::
   8806         Int32Size(this->path(i));
   8807     }
   8808     if (data_size > 0) {
   8809       total_size += 1 +
   8810         ::google::protobuf::internal::WireFormatLite::Int32Size(data_size);
   8811     }
   8812     GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   8813     _path_cached_byte_size_ = data_size;
   8814     GOOGLE_SAFE_CONCURRENT_WRITES_END();
   8815     total_size += data_size;
   8816   }
   8817 
   8818   // repeated int32 span = 2 [packed = true];
   8819   {
   8820     int data_size = 0;
   8821     for (int i = 0; i < this->span_size(); i++) {
   8822       data_size += ::google::protobuf::internal::WireFormatLite::
   8823         Int32Size(this->span(i));
   8824     }
   8825     if (data_size > 0) {
   8826       total_size += 1 +
   8827         ::google::protobuf::internal::WireFormatLite::Int32Size(data_size);
   8828     }
   8829     GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   8830     _span_cached_byte_size_ = data_size;
   8831     GOOGLE_SAFE_CONCURRENT_WRITES_END();
   8832     total_size += data_size;
   8833   }
   8834 
   8835   if (!unknown_fields().empty()) {
   8836     total_size +=
   8837       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
   8838         unknown_fields());
   8839   }
   8840   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   8841   _cached_size_ = total_size;
   8842   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   8843   return total_size;
   8844 }
   8845 
   8846 void SourceCodeInfo_Location::MergeFrom(const ::google::protobuf::Message& from) {
   8847   GOOGLE_CHECK_NE(&from, this);
   8848   const SourceCodeInfo_Location* source =
   8849     ::google::protobuf::internal::dynamic_cast_if_available<const SourceCodeInfo_Location*>(
   8850       &from);
   8851   if (source == NULL) {
   8852     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
   8853   } else {
   8854     MergeFrom(*source);
   8855   }
   8856 }
   8857 
   8858 void SourceCodeInfo_Location::MergeFrom(const SourceCodeInfo_Location& from) {
   8859   GOOGLE_CHECK_NE(&from, this);
   8860   path_.MergeFrom(from.path_);
   8861   span_.MergeFrom(from.span_);
   8862   if (from._has_bits_[2 / 32] & (0xffu << (2 % 32))) {
   8863     if (from.has_leading_comments()) {
   8864       set_leading_comments(from.leading_comments());
   8865     }
   8866     if (from.has_trailing_comments()) {
   8867       set_trailing_comments(from.trailing_comments());
   8868     }
   8869   }
   8870   mutable_unknown_fields()->MergeFrom(from.unknown_fields());
   8871 }
   8872 
   8873 void SourceCodeInfo_Location::CopyFrom(const ::google::protobuf::Message& from) {
   8874   if (&from == this) return;
   8875   Clear();
   8876   MergeFrom(from);
   8877 }
   8878 
   8879 void SourceCodeInfo_Location::CopyFrom(const SourceCodeInfo_Location& from) {
   8880   if (&from == this) return;
   8881   Clear();
   8882   MergeFrom(from);
   8883 }
   8884 
   8885 bool SourceCodeInfo_Location::IsInitialized() const {
   8886 
   8887   return true;
   8888 }
   8889 
   8890 void SourceCodeInfo_Location::Swap(SourceCodeInfo_Location* other) {
   8891   if (other != this) {
   8892     path_.Swap(&other->path_);
   8893     span_.Swap(&other->span_);
   8894     std::swap(leading_comments_, other->leading_comments_);
   8895     std::swap(trailing_comments_, other->trailing_comments_);
   8896     std::swap(_has_bits_[0], other->_has_bits_[0]);
   8897     _unknown_fields_.Swap(&other->_unknown_fields_);
   8898     std::swap(_cached_size_, other->_cached_size_);
   8899   }
   8900 }
   8901 
   8902 ::google::protobuf::Metadata SourceCodeInfo_Location::GetMetadata() const {
   8903   protobuf_AssignDescriptorsOnce();
   8904   ::google::protobuf::Metadata metadata;
   8905   metadata.descriptor = SourceCodeInfo_Location_descriptor_;
   8906   metadata.reflection = SourceCodeInfo_Location_reflection_;
   8907   return metadata;
   8908 }
   8909 
   8910 
   8911 // -------------------------------------------------------------------
   8912 
   8913 #ifndef _MSC_VER
   8914 const int SourceCodeInfo::kLocationFieldNumber;
   8915 #endif  // !_MSC_VER
   8916 
   8917 SourceCodeInfo::SourceCodeInfo()
   8918   : ::google::protobuf::Message() {
   8919   SharedCtor();
   8920   // @@protoc_insertion_point(constructor:google.protobuf.SourceCodeInfo)
   8921 }
   8922 
   8923 void SourceCodeInfo::InitAsDefaultInstance() {
   8924 }
   8925 
   8926 SourceCodeInfo::SourceCodeInfo(const SourceCodeInfo& from)
   8927   : ::google::protobuf::Message() {
   8928   SharedCtor();
   8929   MergeFrom(from);
   8930   // @@protoc_insertion_point(copy_constructor:google.protobuf.SourceCodeInfo)
   8931 }
   8932 
   8933 void SourceCodeInfo::SharedCtor() {
   8934   _cached_size_ = 0;
   8935   ::memset(_has_bits_, 0, sizeof(_has_bits_));
   8936 }
   8937 
   8938 SourceCodeInfo::~SourceCodeInfo() {
   8939   // @@protoc_insertion_point(destructor:google.protobuf.SourceCodeInfo)
   8940   SharedDtor();
   8941 }
   8942 
   8943 void SourceCodeInfo::SharedDtor() {
   8944   if (this != default_instance_) {
   8945   }
   8946 }
   8947 
   8948 void SourceCodeInfo::SetCachedSize(int size) const {
   8949   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   8950   _cached_size_ = size;
   8951   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   8952 }
   8953 const ::google::protobuf::Descriptor* SourceCodeInfo::descriptor() {
   8954   protobuf_AssignDescriptorsOnce();
   8955   return SourceCodeInfo_descriptor_;
   8956 }
   8957 
   8958 const SourceCodeInfo& SourceCodeInfo::default_instance() {
   8959   if (default_instance_ == NULL) protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();
   8960   return *default_instance_;
   8961 }
   8962 
   8963 SourceCodeInfo* SourceCodeInfo::default_instance_ = NULL;
   8964 
   8965 SourceCodeInfo* SourceCodeInfo::New() const {
   8966   return new SourceCodeInfo;
   8967 }
   8968 
   8969 void SourceCodeInfo::Clear() {
   8970   location_.Clear();
   8971   ::memset(_has_bits_, 0, sizeof(_has_bits_));
   8972   mutable_unknown_fields()->Clear();
   8973 }
   8974 
   8975 bool SourceCodeInfo::MergePartialFromCodedStream(
   8976     ::google::protobuf::io::CodedInputStream* input) {
   8977 #define DO_(EXPRESSION) if (!(EXPRESSION)) goto failure
   8978   ::google::protobuf::uint32 tag;
   8979   // @@protoc_insertion_point(parse_start:google.protobuf.SourceCodeInfo)
   8980   for (;;) {
   8981     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
   8982     tag = p.first;
   8983     if (!p.second) goto handle_unusual;
   8984     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
   8985       // repeated .google.protobuf.SourceCodeInfo.Location location = 1;
   8986       case 1: {
   8987         if (tag == 10) {
   8988          parse_location:
   8989           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
   8990                 input, add_location()));
   8991         } else {
   8992           goto handle_unusual;
   8993         }
   8994         if (input->ExpectTag(10)) goto parse_location;
   8995         if (input->ExpectAtEnd()) goto success;
   8996         break;
   8997       }
   8998 
   8999       default: {
   9000       handle_unusual:
   9001         if (tag == 0 ||
   9002             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
   9003             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
   9004           goto success;
   9005         }
   9006         DO_(::google::protobuf::internal::WireFormat::SkipField(
   9007               input, tag, mutable_unknown_fields()));
   9008         break;
   9009       }
   9010     }
   9011   }
   9012 success:
   9013   // @@protoc_insertion_point(parse_success:google.protobuf.SourceCodeInfo)
   9014   return true;
   9015 failure:
   9016   // @@protoc_insertion_point(parse_failure:google.protobuf.SourceCodeInfo)
   9017   return false;
   9018 #undef DO_
   9019 }
   9020 
   9021 void SourceCodeInfo::SerializeWithCachedSizes(
   9022     ::google::protobuf::io::CodedOutputStream* output) const {
   9023   // @@protoc_insertion_point(serialize_start:google.protobuf.SourceCodeInfo)
   9024   // repeated .google.protobuf.SourceCodeInfo.Location location = 1;
   9025   for (int i = 0; i < this->location_size(); i++) {
   9026     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
   9027       1, this->location(i), output);
   9028   }
   9029 
   9030   if (!unknown_fields().empty()) {
   9031     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
   9032         unknown_fields(), output);
   9033   }
   9034   // @@protoc_insertion_point(serialize_end:google.protobuf.SourceCodeInfo)
   9035 }
   9036 
   9037 ::google::protobuf::uint8* SourceCodeInfo::SerializeWithCachedSizesToArray(
   9038     ::google::protobuf::uint8* target) const {
   9039   // @@protoc_insertion_point(serialize_to_array_start:google.protobuf.SourceCodeInfo)
   9040   // repeated .google.protobuf.SourceCodeInfo.Location location = 1;
   9041   for (int i = 0; i < this->location_size(); i++) {
   9042     target = ::google::protobuf::internal::WireFormatLite::
   9043       WriteMessageNoVirtualToArray(
   9044         1, this->location(i), target);
   9045   }
   9046 
   9047   if (!unknown_fields().empty()) {
   9048     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
   9049         unknown_fields(), target);
   9050   }
   9051   // @@protoc_insertion_point(serialize_to_array_end:google.protobuf.SourceCodeInfo)
   9052   return target;
   9053 }
   9054 
   9055 int SourceCodeInfo::ByteSize() const {
   9056   int total_size = 0;
   9057 
   9058   // repeated .google.protobuf.SourceCodeInfo.Location location = 1;
   9059   total_size += 1 * this->location_size();
   9060   for (int i = 0; i < this->location_size(); i++) {
   9061     total_size +=
   9062       ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
   9063         this->location(i));
   9064   }
   9065 
   9066   if (!unknown_fields().empty()) {
   9067     total_size +=
   9068       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
   9069         unknown_fields());
   9070   }
   9071   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   9072   _cached_size_ = total_size;
   9073   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   9074   return total_size;
   9075 }
   9076 
   9077 void SourceCodeInfo::MergeFrom(const ::google::protobuf::Message& from) {
   9078   GOOGLE_CHECK_NE(&from, this);
   9079   const SourceCodeInfo* source =
   9080     ::google::protobuf::internal::dynamic_cast_if_available<const SourceCodeInfo*>(
   9081       &from);
   9082   if (source == NULL) {
   9083     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
   9084   } else {
   9085     MergeFrom(*source);
   9086   }
   9087 }
   9088 
   9089 void SourceCodeInfo::MergeFrom(const SourceCodeInfo& from) {
   9090   GOOGLE_CHECK_NE(&from, this);
   9091   location_.MergeFrom(from.location_);
   9092   mutable_unknown_fields()->MergeFrom(from.unknown_fields());
   9093 }
   9094 
   9095 void SourceCodeInfo::CopyFrom(const ::google::protobuf::Message& from) {
   9096   if (&from == this) return;
   9097   Clear();
   9098   MergeFrom(from);
   9099 }
   9100 
   9101 void SourceCodeInfo::CopyFrom(const SourceCodeInfo& from) {
   9102   if (&from == this) return;
   9103   Clear();
   9104   MergeFrom(from);
   9105 }
   9106 
   9107 bool SourceCodeInfo::IsInitialized() const {
   9108 
   9109   return true;
   9110 }
   9111 
   9112 void SourceCodeInfo::Swap(SourceCodeInfo* other) {
   9113   if (other != this) {
   9114     location_.Swap(&other->location_);
   9115     std::swap(_has_bits_[0], other->_has_bits_[0]);
   9116     _unknown_fields_.Swap(&other->_unknown_fields_);
   9117     std::swap(_cached_size_, other->_cached_size_);
   9118   }
   9119 }
   9120 
   9121 ::google::protobuf::Metadata SourceCodeInfo::GetMetadata() const {
   9122   protobuf_AssignDescriptorsOnce();
   9123   ::google::protobuf::Metadata metadata;
   9124   metadata.descriptor = SourceCodeInfo_descriptor_;
   9125   metadata.reflection = SourceCodeInfo_reflection_;
   9126   return metadata;
   9127 }
   9128 
   9129 
   9130 // @@protoc_insertion_point(namespace_scope)
   9131 
   9132 }  // namespace protobuf
   9133 }  // namespace google
   9134 
   9135 // @@protoc_insertion_point(global_scope)
   9136