# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: google/protobuf/unittest_custom_options.proto

import sys
_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1'))
from google.protobuf.internal import enum_type_wrapper
from google.protobuf import descriptor as _descriptor
from google.protobuf import message as _message
from google.protobuf import reflection as _reflection
from google.protobuf import symbol_database as _symbol_database
from google.protobuf import service as _service
from google.protobuf import service_reflection
# @@protoc_insertion_point(imports)

_sym_db = _symbol_database.Default()


from google.protobuf import descriptor_pb2 as google_dot_protobuf_dot_descriptor__pb2


DESCRIPTOR = _descriptor.FileDescriptor(
  name='google/protobuf/unittest_custom_options.proto',
  package='protobuf_unittest',
  syntax='proto2',
  serialized_options=_b('\200\001\001\210\001\001\220\001\001\360\350\301\035\352\255\300\345$\372\354\205;p\010d\022\016FileAnnotation\032\026\022\024NestedFileAnnotation\"\036\372\354\205;\031\022\027FileExtensionAnnotation*$\013\020\366\353\256\007\032\033\n\031EmbeddedMessageSetElement\014'),
  serialized_pb=_b('\n-google/protobuf/unittest_custom_options.proto\x12\x11protobuf_unittest\x1a google/protobuf/descriptor.proto\"\xbf\x01\n\x1cTestMessageWithCustomOptions\x12\x1e\n\x06\x66ield1\x18\x01 \x01(\tB\x0e\x08\x01\xc1\xe0\xc3\x1d-\xe1u\n\x02\x00\x00\x00\x12\x15\n\x0boneof_field\x18\x02 \x01(\x05H\x00\";\n\x06\x41nEnum\x12\x0f\n\x0b\x41NENUM_VAL1\x10\x01\x12\x16\n\x0b\x41NENUM_VAL2\x10\x02\x1a\x05\xb0\x86\xfa\x05{\x1a\x08\xc5\xf6\xc9\x1d\xeb\xfc\xff\xff:\x10\x08\x00\xe0\xe9\xc2\x1d\xc8\xff\xff\xff\xff\xff\xff\xff\xff\x01\x42\x19\n\x07\x41nOneof\x12\x0e\xf8\xac\xc3\x1d\x9d\xff\xff\xff\xff\xff\xff\xff\xff\x01\"\x18\n\x16\x43ustomOptionFooRequest\"\x19\n\x17\x43ustomOptionFooResponse\"\x1e\n\x1c\x43ustomOptionFooClientMessage\"\x1e\n\x1c\x43ustomOptionFooServerMessage\"m\n\x1a\x44ummyMessageContainingEnum\"O\n\x0cTestEnumType\x12\x1a\n\x16TEST_OPTION_ENUM_TYPE1\x10\x16\x12#\n\x16TEST_OPTION_ENUM_TYPE2\x10\xe9\xff\xff\xff\xff\xff\xff\xff\xff\x01\"!\n\x1f\x44ummyMessageInvalidAsOptionType\"\x8a\x01\n\x1c\x43ustomOptionMinIntegerValues:j\xd0\xde\xb2\x1d\x00\xe8\xc6\xb2\x1d\x80\x80\x80\x80\xf8\xff\xff\xff\xff\x01\xb0\xbc\xb2\x1d\x80\x80\x80\x80\x80\x80\x80\x80\x80\x01\x80\x93\xb2\x1d\x00\xf8\xf5\xb0\x1d\x00\x80\xc4\xb0\x1d\xff\xff\xff\xff\x0f\xf8\x97\xb0\x1d\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x9d\xf5\xaf\x1d\x00\x00\x00\x00\x91\xee\xaf\x1d\x00\x00\x00\x00\x00\x00\x00\x00\xad\x8d\xaf\x1d\x00\x00\x00\x80\x99\xd6\xa8\x1d\x00\x00\x00\x00\x00\x00\x00\x80\"\x91\x01\n\x1c\x43ustomOptionMaxIntegerValues:q\xd0\xde\xb2\x1d\x01\xe8\xc6\xb2\x1d\xff\xff\xff\xff\x07\xb0\xbc\xb2\x1d\xff\xff\xff\xff\xff\xff\xff\xff\x7f\x80\x93\xb2\x1d\xff\xff\xff\xff\x0f\xf8\xf5\xb0\x1d\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x80\xc4\xb0\x1d\xfe\xff\xff\xff\x0f\xf8\x97\xb0\x1d\xfe\xff\xff\xff\xff\xff\xff\xff\xff\x01\x9d\xf5\xaf\x1d\xff\xff\xff\xff\x91\xee\xaf\x1d\xff\xff\xff\xff\xff\xff\xff\xff\xad\x8d\xaf\x1d\xff\xff\xff\x7f\x99\xd6\xa8\x1d\xff\xff\xff\xff\xff\xff\xff\x7f\"n\n\x17\x43ustomOptionOtherValues:S\xe8\xc6\xb2\x1d\x9c\xff\xff\xff\xff\xff\xff\xff\xff\x01\xf5\xdf\xa3\x1d\xe7\x87\x45\x41\xe9\xdc\xa2\x1d\xfbY\x8c\x42\xca\xc0\xf3?\xaa\xdc\xa2\x1d\x0eHello, \"World\"\xb2\xd9\xa2\x1d\x0bHello\x00World\x88\xd9\xa2\x1d\xe9\xff\xff\xff\xff\xff\xff\xff\xff\x01\"4\n\x1cSettingRealsFromPositiveInts:\x14\xf5\xdf\xa3\x1d\x00\x00@A\xe9\xdc\xa2\x1d\x00\x00\x00\x00\x00@c@\"4\n\x1cSettingRealsFromNegativeInts:\x14\xf5\xdf\xa3\x1d\x00\x00@\xc1\xe9\xdc\xa2\x1d\x00\x00\x00\x00\x00@c\xc0\"U\n\x12\x43omplexOptionType1\x12\x0b\n\x03\x66oo\x18\x01 \x01(\x05\x12\x0c\n\x04\x66oo2\x18\x02 \x01(\x05\x12\x0c\n\x04\x66oo3\x18\x03 \x01(\x05\x12\x0c\n\x04\x66oo4\x18\x04 \x03(\x05*\x08\x08\x64\x10\x80\x80\x80\x80\x02\"\x8b\x03\n\x12\x43omplexOptionType2\x12\x32\n\x03\x62\x61r\x18\x01 \x01(\x0b\x32%.protobuf_unittest.ComplexOptionType1\x12\x0b\n\x03\x62\x61z\x18\x02 \x01(\x05\x12\x46\n\x04\x66red\x18\x03 \x01(\x0b\x32\x38.protobuf_unittest.ComplexOptionType2.ComplexOptionType4\x12H\n\x06\x62\x61rney\x18\x04 \x03(\x0b\x32\x38.protobuf_unittest.ComplexOptionType2.ComplexOptionType4\x1a\x97\x01\n\x12\x43omplexOptionType4\x12\r\n\x05waldo\x18\x01 \x01(\x05\x32r\n\x0c\x63omplex_opt4\x12\x1f.google.protobuf.MessageOptions\x18\x8a\xf5\xd1\x03 \x01(\x0b\x32\x38.protobuf_unittest.ComplexOptionType2.ComplexOptionType4*\x08\x08\x64\x10\x80\x80\x80\x80\x02\"\x9c\x01\n\x12\x43omplexOptionType3\x12\x0b\n\x03qux\x18\x01 \x01(\x05\x12T\n\x12\x63omplexoptiontype5\x18\x02 \x01(\n28.protobuf_unittest.ComplexOptionType3.ComplexOptionType5\x1a#\n\x12\x43omplexOptionType5\x12\r\n\x05plugh\x18\x03 \x01(\x05\"\x1f\n\x0b\x43omplexOpt6\x12\x10\n\x05xyzzy\x18\xdf\xbf\xcf\x03 \x01(\x05\"\xf1\x01\n\x15VariousComplexOptions:\xd7\x01\xa2\xe2\x95\x1d\x02\x08*\xa2\xe2\x95\x1d\x06\xd8\x85\x9e\x1d\xc4\x02\xa2\xe2\x95\x1d\x08\x92\xf5\x9d\x1d\x03\x08\xec\x06\xa2\xe2\x95\x1d\x02 c\xa2\xe2\x95\x1d\x02 X\xaa\xfd\x90\x1d\x03\x10\xdb\x07\xaa\xfd\x90\x1d\x06\xf8\xe6\x97\x1d\x8e\x05\xaa\xfd\x90\x1d\x05\n\x03\x08\xe7\x05\xaa\xfd\x90\x1d\x08\n\x06\xd8\x85\x9e\x1d\xcf\x0f\xaa\xfd\x90\x1d\n\n\x08\x92\xf5\x9d\x1d\x03\x08\xd8\x0f\xaa\xfd\x90\x1d\x08\xc2\xac\x97\x1d\x03\x08\xe5\x05\xaa\xfd\x90\x1d\x0b\xc2\xac\x97\x1d\x06\xd8\x85\x9e\x1d\xce\x0f\xaa\xfd\x90\x1d\r\xc2\xac\x97\x1d\x08\x92\xf5\x9d\x1d\x03\x08\xc9\x10\xd2\xa8\x8f\x1d\x03\x08\xb3\x0f\xaa\xfd\x90\x1d\x05\x1a\x03\x08\xc1\x02\xaa\xfd\x90\x1d\x04\"\x02\x08\x65\xaa\xfd\x90\x1d\x05\"\x03\x08\xd4\x01\xfa\xde\x90\x1d\x02\x08\t\xfa\xde\x90\x1d\x04\x13\x18\x16\x14\xe3\xdc\xfc\x1c\xf8\xfd\xfb\x1c\x18\xe4\xdc\xfc\x1c\"#\n\x13\x41ggregateMessageSet*\x08\x08\x04\x10\xff\xff\xff\xff\x07:\x02\x08\x01\"\xa0\x01\n\x1a\x41ggregateMessageSetElement\x12\t\n\x01s\x18\x01 \x01(\t2w\n\x15message_set_extension\x12&.protobuf_unittest.AggregateMessageSet\x18\xf6\xeb\xae\x07 \x01(\x0b\x32-.protobuf_unittest.AggregateMessageSetElement\"\xfd\x01\n\tAggregate\x12\t\n\x01i\x18\x01 \x01(\x05\x12\t\n\x01s\x18\x02 \x01(\t\x12)\n\x03sub\x18\x03 \x01(\x0b\x32\x1c.protobuf_unittest.Aggregate\x12*\n\x04\x66ile\x18\x04 \x01(\x0b\x32\x1c.google.protobuf.FileOptions\x12\x34\n\x04mset\x18\x05 \x01(\x0b\x32&.protobuf_unittest.AggregateMessageSet2M\n\x06nested\x12\x1c.google.protobuf.FileOptions\x18\xa7\xd1\xb0\x07 \x01(\x0b\x32\x1c.protobuf_unittest.Aggregate\"Y\n\x10\x41ggregateMessage\x12)\n\tfieldname\x18\x01 \x01(\x05\x42\x16\xf2\xa1\x87;\x11\x12\x0f\x46ieldAnnotation:\x1a\xc2\xd1\x86;\x15\x08\x65\x12\x11MessageAnnotation\"\xc9\x01\n\x10NestedOptionType\x1a;\n\rNestedMessage\x12\"\n\x0cnested_field\x18\x01 \x01(\x05\x42\x0c\xc1\xe0\xc3\x1d\xea\x03\x00\x00\x00\x00\x00\x00:\x06\xe0\xe9\xc2\x1d\xe9\x07\"5\n\nNestedEnum\x12\x1d\n\x11NESTED_ENUM_VALUE\x10\x01\x1a\x06\xb0\x86\xfa\x05\xec\x07\x1a\x08\xc5\xf6\xc9\x1d\xeb\x03\x00\x00\x32\x41\n\x10nested_extension\x12\x1c.google.protobuf.FileOptions\x18\xfd\xf8\xe2\x03 \x01(\x05\x42\x06\xc8\x8b\xca\x1d\xed\x07\"d\n\rOldOptionType\x12\x38\n\x05value\x18\x01 \x02(\x0e\x32).protobuf_unittest.OldOptionType.TestEnum\"\x19\n\x08TestEnum\x12\r\n\tOLD_VALUE\x10\x00\"s\n\rNewOptionType\x12\x38\n\x05value\x18\x01 \x02(\x0e\x32).protobuf_unittest.NewOptionType.TestEnum\"(\n\x08TestEnum\x12\r\n\tOLD_VALUE\x10\x00\x12\r\n\tNEW_VALUE\x10\x01\"-\n!TestMessageWithRequiredEnumOption:\x08\xfa\xe8\xfc\x94\x03\x02\x08\x00*6\n\nMethodOpt1\x12\x13\n\x0fMETHODOPT1_VAL1\x10\x01\x12\x13\n\x0fMETHODOPT1_VAL2\x10\x02*M\n\rAggregateEnum\x12%\n\x05VALUE\x10\x01\x1a\x1a\xca\xfc\x89;\x15\x12\x13\x45numValueAnnotation\x1a\x15\x92\x95\x88;\x10\x12\x0e\x45numAnnotation2\x8e\x01\n\x1cTestServiceWithCustomOptions\x12\x63\n\x03\x46oo\x12).protobuf_unittest.CustomOptionFooRequest\x1a*.protobuf_unittest.CustomOptionFooResponse\"\x05\xe0\xfa\x8c\x1e\x02\x1a\t\x90\xb2\x8b\x1e\xd3\xdb\x80\xcbI2\x99\x01\n\x10\x41ggregateService\x12k\n\x06Method\x12#.protobuf_unittest.AggregateMessage\x1a#.protobuf_unittest.AggregateMessage\"\x17\xca\xc8\x96;\x12\x12\x10MethodAnnotation\x1a\x18\xca\xfb\x8e;\x13\x12\x11ServiceAnnotation:2\n\tfile_opt1\x12\x1c.google.protobuf.FileOptions\x18\x8e\x9d\xd8\x03 \x01(\x04:8\n\x0cmessage_opt1\x12\x1f.google.protobuf.MessageOptions\x18\x9c\xad\xd8\x03 \x01(\x05:4\n\nfield_opt1\x12\x1d.google.protobuf.FieldOptions\x18\x88\xbc\xd8\x03 \x01(\x06:8\n\nfield_opt2\x12\x1d.google.protobuf.FieldOptions\x18\xb9\xa1\xd9\x03 \x01(\x05:\x02\x34\x32:4\n\noneof_opt1\x12\x1d.google.protobuf.OneofOptions\x18\xcf\xb5\xd8\x03 \x01(\x05:2\n\tenum_opt1\x12\x1c.google.protobuf.EnumOptions\x18\xe8\x9e\xd9\x03 \x01(\x0f:<\n\x0f\x65num_value_opt1\x12!.google.protobuf.EnumValueOptions\x18\xe6\xa0_ \x01(\x05:8\n\x0cservice_opt1\x12\x1f.google.protobuf.ServiceOptions\x18\xa2\xb6\xe1\x03 \x01(\x12:U\n\x0bmethod_opt1\x12\x1e.google.protobuf.MethodOptions\x18\xac\xcf\xe1\x03 \x01(\x0e\x32\x1d.protobuf_unittest.MethodOpt1:4\n\x08\x62ool_opt\x12\x1f.google.protobuf.MessageOptions\x18\xea\xab\xd6\x03 \x01(\x08:5\n\tint32_opt\x12\x1f.google.protobuf.MessageOptions\x18\xed\xa8\xd6\x03 \x01(\x05:5\n\tint64_opt\x12\x1f.google.protobuf.MessageOptions\x18\xc6\xa7\xd6\x03 \x01(\x03:6\n\nuint32_opt\x12\x1f.google.protobuf.MessageOptions\x18\xb0\xa2\xd6\x03 \x01(\r:6\n\nuint64_opt\x12\x1f.google.protobuf.MessageOptions\x18\xdf\x8e\xd6\x03 \x01(\x04:6\n\nsint32_opt\x12\x1f.google.protobuf.MessageOptions\x18\xc0\x88\xd6\x03 \x01(\x11:6\n\nsint64_opt\x12\x1f.google.protobuf.MessageOptions\x18\xff\x82\xd6\x03 \x01(\x12:7\n\x0b\x66ixed32_opt\x12\x1f.google.protobuf.MessageOptions\x18\xd3\xfe\xd5\x03 \x01(\x07:7\n\x0b\x66ixed64_opt\x12\x1f.google.protobuf.MessageOptions\x18\xe2\xfd\xd5\x03 \x01(\x06:8\n\x0csfixed32_opt\x12\x1f.google.protobuf.MessageOptions\x18\xd5\xf1\xd5\x03 \x01(\x0f:8\n\x0csfixed64_opt\x12\x1f.google.protobuf.MessageOptions\x18\xe3\x8a\xd5\x03 \x01(\x10:5\n\tfloat_opt\x12\x1f.google.protobuf.MessageOptions\x18\xfe\xbb\xd4\x03 \x01(\x02:6\n\ndouble_opt\x12\x1f.google.protobuf.MessageOptions\x18\xcd\xab\xd4\x03 \x01(\x01:6\n\nstring_opt\x12\x1f.google.protobuf.MessageOptions\x18\xc5\xab\xd4\x03 \x01(\t:5\n\tbytes_opt\x12\x1f.google.protobuf.MessageOptions\x18\x96\xab\xd4\x03 \x01(\x0c:p\n\x08\x65num_opt\x12\x1f.google.protobuf.MessageOptions\x18\x91\xab\xd4\x03 \x01(\x0e\x32:.protobuf_unittest.DummyMessageContainingEnum.TestEnumType:p\n\x10message_type_opt\x12\x1f.google.protobuf.MessageOptions\x18\xaf\xf2\xd3\x03 \x01(\x0b\x32\x32.protobuf_unittest.DummyMessageInvalidAsOptionType:6\n\x04quux\x12%.protobuf_unittest.ComplexOptionType1\x18\xdb\xe0\xd3\x03 \x01(\x05:^\n\x05\x63orge\x12%.protobuf_unittest.ComplexOptionType1\x18\xd2\xde\xd3\x03 \x01(\x0b\x32%.protobuf_unittest.ComplexOptionType3:8\n\x06grault\x12%.protobuf_unittest.ComplexOptionType2\x18\xef\xfc\xd2\x03 \x01(\x05:_\n\x06garply\x12%.protobuf_unittest.ComplexOptionType2\x18\xc8\xf5\xd2\x03 \x01(\x0b\x32%.protobuf_unittest.ComplexOptionType1:_\n\x0c\x63omplex_opt1\x12\x1f.google.protobuf.MessageOptions\x18\xa4\xdc\xd2\x03 \x01(\x0b\x32%.protobuf_unittest.ComplexOptionType1:_\n\x0c\x63omplex_opt2\x12\x1f.google.protobuf.MessageOptions\x18\xd5\x8f\xd2\x03 \x01(\x0b\x32%.protobuf_unittest.ComplexOptionType2:_\n\x0c\x63omplex_opt3\x12\x1f.google.protobuf.MessageOptions\x18\xef\x8b\xd2\x03 \x01(\x0b\x32%.protobuf_unittest.ComplexOptionType3:W\n\x0b\x63omplexopt6\x12\x1f.google.protobuf.MessageOptions\x18\xcc\xcb\xcf\x03 \x01(\n2\x1e.protobuf_unittest.ComplexOpt6:N\n\x07\x66ileopt\x12\x1c.google.protobuf.FileOptions\x18\xcf\xdd\xb0\x07 \x01(\x0b\x32\x1c.protobuf_unittest.Aggregate:P\n\x06msgopt\x12\x1f.google.protobuf.MessageOptions\x18\x98\xea\xb0\x07 \x01(\x0b\x32\x1c.protobuf_unittest.Aggregate:P\n\x08\x66ieldopt\x12\x1d.google.protobuf.FieldOptions\x18\x9e\xf4\xb0\x07 \x01(\x0b\x32\x1c.protobuf_unittest.Aggregate:N\n\x07\x65numopt\x12\x1c.google.protobuf.EnumOptions\x18\xd2\x82\xb1\x07 \x01(\x0b\x32\x1c.protobuf_unittest.Aggregate:V\n\nenumvalopt\x12!.google.protobuf.EnumValueOptions\x18\xc9\x9f\xb1\x07 \x01(\x0b\x32\x1c.protobuf_unittest.Aggregate:T\n\nserviceopt\x12\x1f.google.protobuf.ServiceOptions\x18\xb9\xef\xb1\x07 \x01(\x0b\x32\x1c.protobuf_unittest.Aggregate:R\n\tmethodopt\x12\x1e.google.protobuf.MethodOptions\x18\x89\xe9\xb2\x07 \x01(\x0b\x32\x1c.protobuf_unittest.Aggregate:_\n\x11required_enum_opt\x12\x1f.google.protobuf.MessageOptions\x18\x8f\xcd\xcf\x32 \x01(\x0b\x32 .protobuf_unittest.OldOptionTypeB\x87\x01\x80\x01\x01\x88\x01\x01\x90\x01\x01\xf0\xe8\xc1\x1d\xea\xad\xc0\xe5$\xfa\xec\x85;p\x08\x64\x12\x0e\x46ileAnnotation\x1a\x16\x12\x14NestedFileAnnotation\"\x1e\xfa\xec\x85;\x19\x12\x17\x46ileExtensionAnnotation*$\x0b\x10\xf6\xeb\xae\x07\x1a\x1b\n\x19\x45mbeddedMessageSetElement\x0c')
  ,
  dependencies=[google_dot_protobuf_dot_descriptor__pb2.DESCRIPTOR,])

_METHODOPT1 = _descriptor.EnumDescriptor(
  name='MethodOpt1',
  full_name='protobuf_unittest.MethodOpt1',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='METHODOPT1_VAL1', index=0, number=1,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='METHODOPT1_VAL2', index=1, number=2,
      serialized_options=None,
      type=None),
  ],
  containing_type=None,
  serialized_options=None,
  serialized_start=3006,
  serialized_end=3060,
)
_sym_db.RegisterEnumDescriptor(_METHODOPT1)

MethodOpt1 = enum_type_wrapper.EnumTypeWrapper(_METHODOPT1)
_AGGREGATEENUM = _descriptor.EnumDescriptor(
  name='AggregateEnum',
  full_name='protobuf_unittest.AggregateEnum',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='VALUE', index=0, number=1,
      serialized_options=_b('\312\374\211;\025\022\023EnumValueAnnotation'),
      type=None),
  ],
  containing_type=None,
  serialized_options=_b('\222\225\210;\020\022\016EnumAnnotation'),
  serialized_start=3062,
  serialized_end=3139,
)
_sym_db.RegisterEnumDescriptor(_AGGREGATEENUM)

AggregateEnum = enum_type_wrapper.EnumTypeWrapper(_AGGREGATEENUM)
METHODOPT1_VAL1 = 1
METHODOPT1_VAL2 = 2
VALUE = 1

FILE_OPT1_FIELD_NUMBER = 7736974
file_opt1 = _descriptor.FieldDescriptor(
  name='file_opt1', full_name='protobuf_unittest.file_opt1', index=0,
  number=7736974, type=4, cpp_type=4, label=1,
  has_default_value=False, default_value=0,
  message_type=None, enum_type=None, containing_type=None,
  is_extension=True, extension_scope=None,
  serialized_options=None, file=DESCRIPTOR)
MESSAGE_OPT1_FIELD_NUMBER = 7739036
message_opt1 = _descriptor.FieldDescriptor(
  name='message_opt1', full_name='protobuf_unittest.message_opt1', index=1,
  number=7739036, type=5, cpp_type=1, label=1,
  has_default_value=False, default_value=0,
  message_type=None, enum_type=None, containing_type=None,
  is_extension=True, extension_scope=None,
  serialized_options=None, file=DESCRIPTOR)
FIELD_OPT1_FIELD_NUMBER = 7740936
field_opt1 = _descriptor.FieldDescriptor(
  name='field_opt1', full_name='protobuf_unittest.field_opt1', index=2,
  number=7740936, type=6, cpp_type=4, label=1,
  has_default_value=False, default_value=0,
  message_type=None, enum_type=None, containing_type=None,
  is_extension=True, extension_scope=None,
  serialized_options=None, file=DESCRIPTOR)
FIELD_OPT2_FIELD_NUMBER = 7753913
field_opt2 = _descriptor.FieldDescriptor(
  name='field_opt2', full_name='protobuf_unittest.field_opt2', index=3,
  number=7753913, type=5, cpp_type=1, label=1,
  has_default_value=True, default_value=42,
  message_type=None, enum_type=None, containing_type=None,
  is_extension=True, extension_scope=None,
  serialized_options=None, file=DESCRIPTOR)
ONEOF_OPT1_FIELD_NUMBER = 7740111
oneof_opt1 = _descriptor.FieldDescriptor(
  name='oneof_opt1', full_name='protobuf_unittest.oneof_opt1', index=4,
  number=7740111, type=5, cpp_type=1, label=1,
  has_default_value=False, default_value=0,
  message_type=None, enum_type=None, containing_type=None,
  is_extension=True, extension_scope=None,
  serialized_options=None, file=DESCRIPTOR)
ENUM_OPT1_FIELD_NUMBER = 7753576
enum_opt1 = _descriptor.FieldDescriptor(
  name='enum_opt1', full_name='protobuf_unittest.enum_opt1', index=5,
  number=7753576, type=15, cpp_type=1, label=1,
  has_default_value=False, default_value=0,
  message_type=None, enum_type=None, containing_type=None,
  is_extension=True, extension_scope=None,
  serialized_options=None, file=DESCRIPTOR)
ENUM_VALUE_OPT1_FIELD_NUMBER = 1560678
enum_value_opt1 = _descriptor.FieldDescriptor(
  name='enum_value_opt1', full_name='protobuf_unittest.enum_value_opt1', index=6,
  number=1560678, type=5, cpp_type=1, label=1,
  has_default_value=False, default_value=0,
  message_type=None, enum_type=None, containing_type=None,
  is_extension=True, extension_scope=None,
  serialized_options=None, file=DESCRIPTOR)
SERVICE_OPT1_FIELD_NUMBER = 7887650
service_opt1 = _descriptor.FieldDescriptor(
  name='service_opt1', full_name='protobuf_unittest.service_opt1', index=7,
  number=7887650, type=18, cpp_type=2, label=1,
  has_default_value=False, default_value=0,
  message_type=None, enum_type=None, containing_type=None,
  is_extension=True, extension_scope=None,
  serialized_options=None, file=DESCRIPTOR)
METHOD_OPT1_FIELD_NUMBER = 7890860
method_opt1 = _descriptor.FieldDescriptor(
  name='method_opt1', full_name='protobuf_unittest.method_opt1', index=8,
  number=7890860, type=14, cpp_type=8, label=1,
  has_default_value=False, default_value=1,
  message_type=None, enum_type=None, containing_type=None,
  is_extension=True, extension_scope=None,
  serialized_options=None, file=DESCRIPTOR)
BOOL_OPT_FIELD_NUMBER = 7706090
bool_opt = _descriptor.FieldDescriptor(
  name='bool_opt', full_name='protobuf_unittest.bool_opt', index=9,
  number=7706090, type=8, cpp_type=7, label=1,
  has_default_value=False, default_value=False,
  message_type=None, enum_type=None, containing_type=None,
  is_extension=True, extension_scope=None,
  serialized_options=None, file=DESCRIPTOR)
INT32_OPT_FIELD_NUMBER = 7705709
int32_opt = _descriptor.FieldDescriptor(
  name='int32_opt', full_name='protobuf_unittest.int32_opt', index=10,
  number=7705709, type=5, cpp_type=1, label=1,
  has_default_value=False, default_value=0,
  message_type=None, enum_type=None, containing_type=None,
  is_extension=True, extension_scope=None,
  serialized_options=None, file=DESCRIPTOR)
INT64_OPT_FIELD_NUMBER = 7705542
int64_opt = _descriptor.FieldDescriptor(
  name='int64_opt', full_name='protobuf_unittest.int64_opt', index=11,
  number=7705542, type=3, cpp_type=2, label=1,
  has_default_value=False, default_value=0,
  message_type=None, enum_type=None, containing_type=None,
  is_extension=True, extension_scope=None,
  serialized_options=None, file=DESCRIPTOR)
UINT32_OPT_FIELD_NUMBER = 7704880
uint32_opt = _descriptor.FieldDescriptor(
  name='uint32_opt', full_name='protobuf_unittest.uint32_opt', index=12,
  number=7704880, type=13, cpp_type=3, label=1,
  has_default_value=False, default_value=0,
  message_type=None, enum_type=None, containing_type=None,
  is_extension=True, extension_scope=None,
  serialized_options=None, file=DESCRIPTOR)
UINT64_OPT_FIELD_NUMBER = 7702367
uint64_opt = _descriptor.FieldDescriptor(
  name='uint64_opt', full_name='protobuf_unittest.uint64_opt', index=13,
  number=7702367, type=4, cpp_type=4, label=1,
  has_default_value=False, default_value=0,
  message_type=None, enum_type=None, containing_type=None,
  is_extension=True, extension_scope=None,
  serialized_options=None, file=DESCRIPTOR)
SINT32_OPT_FIELD_NUMBER = 7701568
sint32_opt = _descriptor.FieldDescriptor(
  name='sint32_opt', full_name='protobuf_unittest.sint32_opt', index=14,
  number=7701568, type=17, cpp_type=1, label=1,
  has_default_value=False, default_value=0,
  message_type=None, enum_type=None, containing_type=None,
  is_extension=True, extension_scope=None,
  serialized_options=None, file=DESCRIPTOR)
SINT64_OPT_FIELD_NUMBER = 7700863
sint64_opt = _descriptor.FieldDescriptor(
  name='sint64_opt', full_name='protobuf_unittest.sint64_opt', index=15,
  number=7700863, type=18, cpp_type=2, label=1,
  has_default_value=False, default_value=0,
  message_type=None, enum_type=None, containing_type=None,
  is_extension=True, extension_scope=None,
  serialized_options=None, file=DESCRIPTOR)
FIXED32_OPT_FIELD_NUMBER = 7700307
fixed32_opt = _descriptor.FieldDescriptor(
  name='fixed32_opt', full_name='protobuf_unittest.fixed32_opt', index=16,
  number=7700307, type=7, cpp_type=3, label=1,
  has_default_value=False, default_value=0,
  message_type=None, enum_type=None, containing_type=None,
  is_extension=True, extension_scope=None,
  serialized_options=None, file=DESCRIPTOR)
FIXED64_OPT_FIELD_NUMBER = 7700194
fixed64_opt = _descriptor.FieldDescriptor(
  name='fixed64_opt', full_name='protobuf_unittest.fixed64_opt', index=17,
  number=7700194, type=6, cpp_type=4, label=1,
  has_default_value=False, default_value=0,
  message_type=None, enum_type=None, containing_type=None,
  is_extension=True, extension_scope=None,
  serialized_options=None, file=DESCRIPTOR)
SFIXED32_OPT_FIELD_NUMBER = 7698645
sfixed32_opt = _descriptor.FieldDescriptor(
  name='sfixed32_opt', full_name='protobuf_unittest.sfixed32_opt', index=18,
  number=7698645, type=15, cpp_type=1, label=1,
  has_default_value=False, default_value=0,
  message_type=None, enum_type=None, containing_type=None,
  is_extension=True, extension_scope=None,
  serialized_options=None, file=DESCRIPTOR)
SFIXED64_OPT_FIELD_NUMBER = 7685475
sfixed64_opt = _descriptor.FieldDescriptor(
  name='sfixed64_opt', full_name='protobuf_unittest.sfixed64_opt', index=19,
  number=7685475, type=16, cpp_type=2, label=1,
  has_default_value=False, default_value=0,
  message_type=None, enum_type=None, containing_type=None,
  is_extension=True, extension_scope=None,
  serialized_options=None, file=DESCRIPTOR)
FLOAT_OPT_FIELD_NUMBER = 7675390
float_opt = _descriptor.FieldDescriptor(
  name='float_opt', full_name='protobuf_unittest.float_opt', index=20,
  number=7675390, type=2, cpp_type=6, label=1,
  has_default_value=False, default_value=float(0),
  message_type=None, enum_type=None, containing_type=None,
  is_extension=True, extension_scope=None,
  serialized_options=None, file=DESCRIPTOR)
DOUBLE_OPT_FIELD_NUMBER = 7673293
double_opt = _descriptor.FieldDescriptor(
  name='double_opt', full_name='protobuf_unittest.double_opt', index=21,
  number=7673293, type=1, cpp_type=5, label=1,
  has_default_value=False, default_value=float(0),
  message_type=None, enum_type=None, containing_type=None,
  is_extension=True, extension_scope=None,
  serialized_options=None, file=DESCRIPTOR)
STRING_OPT_FIELD_NUMBER = 7673285
string_opt = _descriptor.FieldDescriptor(
  name='string_opt', full_name='protobuf_unittest.string_opt', index=22,
  number=7673285, type=9, cpp_type=9, label=1,
  has_default_value=False, default_value=_b("").decode('utf-8'),
  message_type=None, enum_type=None, containing_type=None,
  is_extension=True, extension_scope=None,
  serialized_options=None, file=DESCRIPTOR)
BYTES_OPT_FIELD_NUMBER = 7673238
bytes_opt = _descriptor.FieldDescriptor(
  name='bytes_opt', full_name='protobuf_unittest.bytes_opt', index=23,
  number=7673238, type=12, cpp_type=9, label=1,
  has_default_value=False, default_value=_b(""),
  message_type=None, enum_type=None, containing_type=None,
  is_extension=True, extension_scope=None,
  serialized_options=None, file=DESCRIPTOR)
ENUM_OPT_FIELD_NUMBER = 7673233
enum_opt = _descriptor.FieldDescriptor(
  name='enum_opt', full_name='protobuf_unittest.enum_opt', index=24,
  number=7673233, type=14, cpp_type=8, label=1,
  has_default_value=False, default_value=22,
  message_type=None, enum_type=None, containing_type=None,
  is_extension=True, extension_scope=None,
  serialized_options=None, file=DESCRIPTOR)
MESSAGE_TYPE_OPT_FIELD_NUMBER = 7665967
message_type_opt = _descriptor.FieldDescriptor(
  name='message_type_opt', full_name='protobuf_unittest.message_type_opt', index=25,
  number=7665967, type=11, cpp_type=10, label=1,
  has_default_value=False, default_value=None,
  message_type=None, enum_type=None, containing_type=None,
  is_extension=True, extension_scope=None,
  serialized_options=None, file=DESCRIPTOR)
QUUX_FIELD_NUMBER = 7663707
quux = _descriptor.FieldDescriptor(
  name='quux', full_name='protobuf_unittest.quux', index=26,
  number=7663707, type=5, cpp_type=1, label=1,
  has_default_value=False, default_value=0,
  message_type=None, enum_type=None, containing_type=None,
  is_extension=True, extension_scope=None,
  serialized_options=None, file=DESCRIPTOR)
CORGE_FIELD_NUMBER = 7663442
corge = _descriptor.FieldDescriptor(
  name='corge', full_name='protobuf_unittest.corge', index=27,
  number=7663442, type=11, cpp_type=10, label=1,
  has_default_value=False, default_value=None,
  message_type=None, enum_type=None, containing_type=None,
  is_extension=True, extension_scope=None,
  serialized_options=None, file=DESCRIPTOR)
GRAULT_FIELD_NUMBER = 7650927
grault = _descriptor.FieldDescriptor(
  name='grault', full_name='protobuf_unittest.grault', index=28,
  number=7650927, type=5, cpp_type=1, label=1,
  has_default_value=False, default_value=0,
  message_type=None, enum_type=None, containing_type=None,
  is_extension=True, extension_scope=None,
  serialized_options=None, file=DESCRIPTOR)
GARPLY_FIELD_NUMBER = 7649992
garply = _descriptor.FieldDescriptor(
  name='garply', full_name='protobuf_unittest.garply', index=29,
  number=7649992, type=11, cpp_type=10, label=1,
  has_default_value=False, default_value=None,
  message_type=None, enum_type=None, containing_type=None,
  is_extension=True, extension_scope=None,
  serialized_options=None, file=DESCRIPTOR)
COMPLEX_OPT1_FIELD_NUMBER = 7646756
complex_opt1 = _descriptor.FieldDescriptor(
  name='complex_opt1', full_name='protobuf_unittest.complex_opt1', index=30,
  number=7646756, type=11, cpp_type=10, label=1,
  has_default_value=False, default_value=None,
  message_type=None, enum_type=None, containing_type=None,
  is_extension=True, extension_scope=None,
  serialized_options=None, file=DESCRIPTOR)
COMPLEX_OPT2_FIELD_NUMBER = 7636949
complex_opt2 = _descriptor.FieldDescriptor(
  name='complex_opt2', full_name='protobuf_unittest.complex_opt2', index=31,
  number=7636949, type=11, cpp_type=10, label=1,
  has_default_value=False, default_value=None,
  message_type=None, enum_type=None, containing_type=None,
  is_extension=True, extension_scope=None,
  serialized_options=None, file=DESCRIPTOR)
COMPLEX_OPT3_FIELD_NUMBER = 7636463
complex_opt3 = _descriptor.FieldDescriptor(
  name='complex_opt3', full_name='protobuf_unittest.complex_opt3', index=32,
  number=7636463, type=11, cpp_type=10, label=1,
  has_default_value=False, default_value=None,
  message_type=None, enum_type=None, containing_type=None,
  is_extension=True, extension_scope=None,
  serialized_options=None, file=DESCRIPTOR)
COMPLEXOPT6_FIELD_NUMBER = 7595468
complexopt6 = _descriptor.FieldDescriptor(
  name='complexopt6', full_name='protobuf_unittest.complexopt6', index=33,
  number=7595468, type=10, cpp_type=10, label=1,
  has_default_value=False, default_value=None,
  message_type=None, enum_type=None, containing_type=None,
  is_extension=True, extension_scope=None,
  serialized_options=None, file=DESCRIPTOR)
FILEOPT_FIELD_NUMBER = 15478479
fileopt = _descriptor.FieldDescriptor(
  name='fileopt', full_name='protobuf_unittest.fileopt', index=34,
  number=15478479, type=11, cpp_type=10, label=1,
  has_default_value=False, default_value=None,
  message_type=None, enum_type=None, containing_type=None,
  is_extension=True, extension_scope=None,
  serialized_options=None, file=DESCRIPTOR)
MSGOPT_FIELD_NUMBER = 15480088
msgopt = _descriptor.FieldDescriptor(
  name='msgopt', full_name='protobuf_unittest.msgopt', index=35,
  number=15480088, type=11, cpp_type=10, label=1,
  has_default_value=False, default_value=None,
  message_type=None, enum_type=None, containing_type=None,
  is_extension=True, extension_scope=None,
  serialized_options=None, file=DESCRIPTOR)
FIELDOPT_FIELD_NUMBER = 15481374
fieldopt = _descriptor.FieldDescriptor(
  name='fieldopt', full_name='protobuf_unittest.fieldopt', index=36,
  number=15481374, type=11, cpp_type=10, label=1,
  has_default_value=False, default_value=None,
  message_type=None, enum_type=None, containing_type=None,
  is_extension=True, extension_scope=None,
  serialized_options=None, file=DESCRIPTOR)
ENUMOPT_FIELD_NUMBER = 15483218
enumopt = _descriptor.FieldDescriptor(
  name='enumopt', full_name='protobuf_unittest.enumopt', index=37,
  number=15483218, type=11, cpp_type=10, label=1,
  has_default_value=False, default_value=None,
  message_type=None, enum_type=None, containing_type=None,
  is_extension=True, extension_scope=None,
  serialized_options=None, file=DESCRIPTOR)
ENUMVALOPT_FIELD_NUMBER = 15486921
enumvalopt = _descriptor.FieldDescriptor(
  name='enumvalopt', full_name='protobuf_unittest.enumvalopt', index=38,
  number=15486921, type=11, cpp_type=10, label=1,
  has_default_value=False, default_value=None,
  message_type=None, enum_type=None, containing_type=None,
  is_extension=True, extension_scope=None,
  serialized_options=None, file=DESCRIPTOR)
SERVICEOPT_FIELD_NUMBER = 15497145
serviceopt = _descriptor.FieldDescriptor(
  name='serviceopt', full_name='protobuf_unittest.serviceopt', index=39,
  number=15497145, type=11, cpp_type=10, label=1,
  has_default_value=False, default_value=None,
  message_type=None, enum_type=None, containing_type=None,
  is_extension=True, extension_scope=None,
  serialized_options=None, file=DESCRIPTOR)
METHODOPT_FIELD_NUMBER = 15512713
methodopt = _descriptor.FieldDescriptor(
  name='methodopt', full_name='protobuf_unittest.methodopt', index=40,
  number=15512713, type=11, cpp_type=10, label=1,
  has_default_value=False, default_value=None,
  message_type=None, enum_type=None, containing_type=None,
  is_extension=True, extension_scope=None,
  serialized_options=None, file=DESCRIPTOR)
REQUIRED_ENUM_OPT_FIELD_NUMBER = 106161807
required_enum_opt = _descriptor.FieldDescriptor(
  name='required_enum_opt', full_name='protobuf_unittest.required_enum_opt', index=41,
  number=106161807, type=11, cpp_type=10, label=1,
  has_default_value=False, default_value=None,
  message_type=None, enum_type=None, containing_type=None,
  is_extension=True, extension_scope=None,
  serialized_options=None, file=DESCRIPTOR)

_TESTMESSAGEWITHCUSTOMOPTIONS_ANENUM = _descriptor.EnumDescriptor(
  name='AnEnum',
  full_name='protobuf_unittest.TestMessageWithCustomOptions.AnEnum',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='ANENUM_VAL1', index=0, number=1,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ANENUM_VAL2', index=1, number=2,
      serialized_options=_b('\260\206\372\005{'),
      type=None),
  ],
  containing_type=None,
  serialized_options=_b('\305\366\311\035\353\374\377\377'),
  serialized_start=190,
  serialized_end=249,
)
_sym_db.RegisterEnumDescriptor(_TESTMESSAGEWITHCUSTOMOPTIONS_ANENUM)

_DUMMYMESSAGECONTAININGENUM_TESTENUMTYPE = _descriptor.EnumDescriptor(
  name='TestEnumType',
  full_name='protobuf_unittest.DummyMessageContainingEnum.TestEnumType',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='TEST_OPTION_ENUM_TYPE1', index=0, number=22,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='TEST_OPTION_ENUM_TYPE2', index=1, number=-23,
      serialized_options=None,
      type=None),
  ],
  containing_type=None,
  serialized_options=None,
  serialized_start=443,
  serialized_end=522,
)
_sym_db.RegisterEnumDescriptor(_DUMMYMESSAGECONTAININGENUM_TESTENUMTYPE)

_NESTEDOPTIONTYPE_NESTEDENUM = _descriptor.EnumDescriptor(
  name='NestedEnum',
  full_name='protobuf_unittest.NestedOptionType.NestedEnum',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='NESTED_ENUM_VALUE', index=0, number=1,
      serialized_options=_b('\260\206\372\005\354\007'),
      type=None),
  ],
  containing_type=None,
  serialized_options=_b('\305\366\311\035\353\003\000\000'),
  serialized_start=2618,
  serialized_end=2671,
)
_sym_db.RegisterEnumDescriptor(_NESTEDOPTIONTYPE_NESTEDENUM)

_OLDOPTIONTYPE_TESTENUM = _descriptor.EnumDescriptor(
  name='TestEnum',
  full_name='protobuf_unittest.OldOptionType.TestEnum',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='OLD_VALUE', index=0, number=0,
      serialized_options=None,
      type=None),
  ],
  containing_type=None,
  serialized_options=None,
  serialized_start=2815,
  serialized_end=2840,
)
_sym_db.RegisterEnumDescriptor(_OLDOPTIONTYPE_TESTENUM)

_NEWOPTIONTYPE_TESTENUM = _descriptor.EnumDescriptor(
  name='TestEnum',
  full_name='protobuf_unittest.NewOptionType.TestEnum',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='OLD_VALUE', index=0, number=0,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='NEW_VALUE', index=1, number=1,
      serialized_options=None,
      type=None),
  ],
  containing_type=None,
  serialized_options=None,
  serialized_start=2917,
  serialized_end=2957,
)
_sym_db.RegisterEnumDescriptor(_NEWOPTIONTYPE_TESTENUM)


_TESTMESSAGEWITHCUSTOMOPTIONS = _descriptor.Descriptor(
  name='TestMessageWithCustomOptions',
  full_name='protobuf_unittest.TestMessageWithCustomOptions',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='field1', full_name='protobuf_unittest.TestMessageWithCustomOptions.field1', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=_b('\010\001\301\340\303\035-\341u\n\002\000\000\000'), file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='oneof_field', full_name='protobuf_unittest.TestMessageWithCustomOptions.oneof_field', index=1,
      number=2, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
    _TESTMESSAGEWITHCUSTOMOPTIONS_ANENUM,
  ],
  serialized_options=_b('\010\000\340\351\302\035\310\377\377\377\377\377\377\377\377\001'),
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
    _descriptor.OneofDescriptor(
      name='AnOneof', full_name='protobuf_unittest.TestMessageWithCustomOptions.AnOneof',
      index=0, containing_type=None, fields=[], serialized_options=_b('\370\254\303\035\235\377\377\377\377\377\377\377\377\001')),
  ],
  serialized_start=103,
  serialized_end=294,
)


_CUSTOMOPTIONFOOREQUEST = _descriptor.Descriptor(
  name='CustomOptionFooRequest',
  full_name='protobuf_unittest.CustomOptionFooRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=296,
  serialized_end=320,
)


_CUSTOMOPTIONFOORESPONSE = _descriptor.Descriptor(
  name='CustomOptionFooResponse',
  full_name='protobuf_unittest.CustomOptionFooResponse',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=322,
  serialized_end=347,
)


_CUSTOMOPTIONFOOCLIENTMESSAGE = _descriptor.Descriptor(
  name='CustomOptionFooClientMessage',
  full_name='protobuf_unittest.CustomOptionFooClientMessage',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=349,
  serialized_end=379,
)


_CUSTOMOPTIONFOOSERVERMESSAGE = _descriptor.Descriptor(
  name='CustomOptionFooServerMessage',
  full_name='protobuf_unittest.CustomOptionFooServerMessage',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=381,
  serialized_end=411,
)


_DUMMYMESSAGECONTAININGENUM = _descriptor.Descriptor(
  name='DummyMessageContainingEnum',
  full_name='protobuf_unittest.DummyMessageContainingEnum',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
    _DUMMYMESSAGECONTAININGENUM_TESTENUMTYPE,
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=413,
  serialized_end=522,
)


_DUMMYMESSAGEINVALIDASOPTIONTYPE = _descriptor.Descriptor(
  name='DummyMessageInvalidAsOptionType',
  full_name='protobuf_unittest.DummyMessageInvalidAsOptionType',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=524,
  serialized_end=557,
)


_CUSTOMOPTIONMININTEGERVALUES = _descriptor.Descriptor(
  name='CustomOptionMinIntegerValues',
  full_name='protobuf_unittest.CustomOptionMinIntegerValues',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=_b('\320\336\262\035\000\350\306\262\035\200\200\200\200\370\377\377\377\377\001\260\274\262\035\200\200\200\200\200\200\200\200\200\001\200\223\262\035\000\370\365\260\035\000\200\304\260\035\377\377\377\377\017\370\227\260\035\377\377\377\377\377\377\377\377\377\001\235\365\257\035\000\000\000\000\221\356\257\035\000\000\000\000\000\000\000\000\255\215\257\035\000\000\000\200\231\326\250\035\000\000\000\000\000\000\000\200'),
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=560,
  serialized_end=698,
)


_CUSTOMOPTIONMAXINTEGERVALUES = _descriptor.Descriptor(
  name='CustomOptionMaxIntegerValues',
  full_name='protobuf_unittest.CustomOptionMaxIntegerValues',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=_b('\320\336\262\035\001\350\306\262\035\377\377\377\377\007\260\274\262\035\377\377\377\377\377\377\377\377\177\200\223\262\035\377\377\377\377\017\370\365\260\035\377\377\377\377\377\377\377\377\377\001\200\304\260\035\376\377\377\377\017\370\227\260\035\376\377\377\377\377\377\377\377\377\001\235\365\257\035\377\377\377\377\221\356\257\035\377\377\377\377\377\377\377\377\255\215\257\035\377\377\377\177\231\326\250\035\377\377\377\377\377\377\377\177'),
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=701,
  serialized_end=846,
)


_CUSTOMOPTIONOTHERVALUES = _descriptor.Descriptor(
  name='CustomOptionOtherValues',
  full_name='protobuf_unittest.CustomOptionOtherValues',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=_b('\350\306\262\035\234\377\377\377\377\377\377\377\377\001\365\337\243\035\347\207EA\351\334\242\035\373Y\214B\312\300\363?\252\334\242\035\016Hello, \"World\"\262\331\242\035\013Hello\000World\210\331\242\035\351\377\377\377\377\377\377\377\377\001'),
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=848,
  serialized_end=958,
)


_SETTINGREALSFROMPOSITIVEINTS = _descriptor.Descriptor(
  name='SettingRealsFromPositiveInts',
  full_name='protobuf_unittest.SettingRealsFromPositiveInts',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=_b('\365\337\243\035\000\000@A\351\334\242\035\000\000\000\000\000@c@'),
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=960,
  serialized_end=1012,
)


_SETTINGREALSFROMNEGATIVEINTS = _descriptor.Descriptor(
  name='SettingRealsFromNegativeInts',
  full_name='protobuf_unittest.SettingRealsFromNegativeInts',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=_b('\365\337\243\035\000\000@\301\351\334\242\035\000\000\000\000\000@c\300'),
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1014,
  serialized_end=1066,
)


_COMPLEXOPTIONTYPE1 = _descriptor.Descriptor(
  name='ComplexOptionType1',
  full_name='protobuf_unittest.ComplexOptionType1',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='foo', full_name='protobuf_unittest.ComplexOptionType1.foo', index=0,
      number=1, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='foo2', full_name='protobuf_unittest.ComplexOptionType1.foo2', index=1,
      number=2, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='foo3', full_name='protobuf_unittest.ComplexOptionType1.foo3', index=2,
      number=3, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='foo4', full_name='protobuf_unittest.ComplexOptionType1.foo4', index=3,
      number=4, type=5, cpp_type=1, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=True,
  syntax='proto2',
  extension_ranges=[(100, 536870912), ],
  oneofs=[
  ],
  serialized_start=1068,
  serialized_end=1153,
)


_COMPLEXOPTIONTYPE2_COMPLEXOPTIONTYPE4 = _descriptor.Descriptor(
  name='ComplexOptionType4',
  full_name='protobuf_unittest.ComplexOptionType2.ComplexOptionType4',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='waldo', full_name='protobuf_unittest.ComplexOptionType2.ComplexOptionType4.waldo', index=0,
      number=1, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
    _descriptor.FieldDescriptor(
      name='complex_opt4', full_name='protobuf_unittest.ComplexOptionType2.ComplexOptionType4.complex_opt4', index=0,
      number=7633546, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=True, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1390,
  serialized_end=1541,
)

_COMPLEXOPTIONTYPE2 = _descriptor.Descriptor(
  name='ComplexOptionType2',
  full_name='protobuf_unittest.ComplexOptionType2',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='bar', full_name='protobuf_unittest.ComplexOptionType2.bar', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='baz', full_name='protobuf_unittest.ComplexOptionType2.baz', index=1,
      number=2, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='fred', full_name='protobuf_unittest.ComplexOptionType2.fred', index=2,
      number=3, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='barney', full_name='protobuf_unittest.ComplexOptionType2.barney', index=3,
      number=4, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[_COMPLEXOPTIONTYPE2_COMPLEXOPTIONTYPE4, ],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=True,
  syntax='proto2',
  extension_ranges=[(100, 536870912), ],
  oneofs=[
  ],
  serialized_start=1156,
  serialized_end=1551,
)


_COMPLEXOPTIONTYPE3_COMPLEXOPTIONTYPE5 = _descriptor.Descriptor(
  name='ComplexOptionType5',
  full_name='protobuf_unittest.ComplexOptionType3.ComplexOptionType5',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='plugh', full_name='protobuf_unittest.ComplexOptionType3.ComplexOptionType5.plugh', index=0,
      number=3, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1675,
  serialized_end=1710,
)

_COMPLEXOPTIONTYPE3 = _descriptor.Descriptor(
  name='ComplexOptionType3',
  full_name='protobuf_unittest.ComplexOptionType3',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='qux', full_name='protobuf_unittest.ComplexOptionType3.qux', index=0,
      number=1, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='complexoptiontype5', full_name='protobuf_unittest.ComplexOptionType3.complexoptiontype5', index=1,
      number=2, type=10, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[_COMPLEXOPTIONTYPE3_COMPLEXOPTIONTYPE5, ],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1554,
  serialized_end=1710,
)


_COMPLEXOPT6 = _descriptor.Descriptor(
  name='ComplexOpt6',
  full_name='protobuf_unittest.ComplexOpt6',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='xyzzy', full_name='protobuf_unittest.ComplexOpt6.xyzzy', index=0,
      number=7593951, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1712,
  serialized_end=1743,
)


_VARIOUSCOMPLEXOPTIONS = _descriptor.Descriptor(
  name='VariousComplexOptions',
  full_name='protobuf_unittest.VariousComplexOptions',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=_b('\242\342\225\035\002\010*\242\342\225\035\006\330\205\236\035\304\002\242\342\225\035\010\222\365\235\035\003\010\354\006\242\342\225\035\002 c\242\342\225\035\002 X\252\375\220\035\003\020\333\007\252\375\220\035\006\370\346\227\035\216\005\252\375\220\035\005\n\003\010\347\005\252\375\220\035\010\n\006\330\205\236\035\317\017\252\375\220\035\n\n\010\222\365\235\035\003\010\330\017\252\375\220\035\010\302\254\227\035\003\010\345\005\252\375\220\035\013\302\254\227\035\006\330\205\236\035\316\017\252\375\220\035\r\302\254\227\035\010\222\365\235\035\003\010\311\020\322\250\217\035\003\010\263\017\252\375\220\035\005\032\003\010\301\002\252\375\220\035\004\"\002\010e\252\375\220\035\005\"\003\010\324\001\372\336\220\035\002\010\t\372\336\220\035\004\023\030\026\024\343\334\374\034\370\375\373\034\030\344\334\374\034'),
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1746,
  serialized_end=1987,
)


_AGGREGATEMESSAGESET = _descriptor.Descriptor(
  name='AggregateMessageSet',
  full_name='protobuf_unittest.AggregateMessageSet',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=_b('\010\001'),
  is_extendable=True,
  syntax='proto2',
  extension_ranges=[(4, 2147483647), ],
  oneofs=[
  ],
  serialized_start=1989,
  serialized_end=2024,
)


_AGGREGATEMESSAGESETELEMENT = _descriptor.Descriptor(
  name='AggregateMessageSetElement',
  full_name='protobuf_unittest.AggregateMessageSetElement',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='s', full_name='protobuf_unittest.AggregateMessageSetElement.s', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
    _descriptor.FieldDescriptor(
      name='message_set_extension', full_name='protobuf_unittest.AggregateMessageSetElement.message_set_extension', index=0,
      number=15447542, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=True, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2027,
  serialized_end=2187,
)


_AGGREGATE = _descriptor.Descriptor(
  name='Aggregate',
  full_name='protobuf_unittest.Aggregate',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='i', full_name='protobuf_unittest.Aggregate.i', index=0,
      number=1, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='s', full_name='protobuf_unittest.Aggregate.s', index=1,
      number=2, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='sub', full_name='protobuf_unittest.Aggregate.sub', index=2,
      number=3, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='file', full_name='protobuf_unittest.Aggregate.file', index=3,
      number=4, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='mset', full_name='protobuf_unittest.Aggregate.mset', index=4,
      number=5, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
    _descriptor.FieldDescriptor(
      name='nested', full_name='protobuf_unittest.Aggregate.nested', index=0,
      number=15476903, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=True, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2190,
  serialized_end=2443,
)


_AGGREGATEMESSAGE = _descriptor.Descriptor(
  name='AggregateMessage',
  full_name='protobuf_unittest.AggregateMessage',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='fieldname', full_name='protobuf_unittest.AggregateMessage.fieldname', index=0,
      number=1, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=_b('\362\241\207;\021\022\017FieldAnnotation'), file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=_b('\302\321\206;\025\010e\022\021MessageAnnotation'),
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2445,
  serialized_end=2534,
)


_NESTEDOPTIONTYPE_NESTEDMESSAGE = _descriptor.Descriptor(
  name='NestedMessage',
  full_name='protobuf_unittest.NestedOptionType.NestedMessage',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='nested_field', full_name='protobuf_unittest.NestedOptionType.NestedMessage.nested_field', index=0,
      number=1, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=_b('\301\340\303\035\352\003\000\000\000\000\000\000'), file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=_b('\340\351\302\035\351\007'),
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2557,
  serialized_end=2616,
)

_NESTEDOPTIONTYPE = _descriptor.Descriptor(
  name='NestedOptionType',
  full_name='protobuf_unittest.NestedOptionType',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
  ],
  extensions=[
    _descriptor.FieldDescriptor(
      name='nested_extension', full_name='protobuf_unittest.NestedOptionType.nested_extension', index=0,
      number=7912573, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=True, extension_scope=None,
      serialized_options=_b('\310\213\312\035\355\007'), file=DESCRIPTOR),
  ],
  nested_types=[_NESTEDOPTIONTYPE_NESTEDMESSAGE, ],
  enum_types=[
    _NESTEDOPTIONTYPE_NESTEDENUM,
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2537,
  serialized_end=2738,
)


_OLDOPTIONTYPE = _descriptor.Descriptor(
  name='OldOptionType',
  full_name='protobuf_unittest.OldOptionType',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='value', full_name='protobuf_unittest.OldOptionType.value', index=0,
      number=1, type=14, cpp_type=8, label=2,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
    _OLDOPTIONTYPE_TESTENUM,
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2740,
  serialized_end=2840,
)


_NEWOPTIONTYPE = _descriptor.Descriptor(
  name='NewOptionType',
  full_name='protobuf_unittest.NewOptionType',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='value', full_name='protobuf_unittest.NewOptionType.value', index=0,
      number=1, type=14, cpp_type=8, label=2,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
    _NEWOPTIONTYPE_TESTENUM,
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2842,
  serialized_end=2957,
)


_TESTMESSAGEWITHREQUIREDENUMOPTION = _descriptor.Descriptor(
  name='TestMessageWithRequiredEnumOption',
  full_name='protobuf_unittest.TestMessageWithRequiredEnumOption',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=_b('\372\350\374\224\003\002\010\000'),
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2959,
  serialized_end=3004,
)

_TESTMESSAGEWITHCUSTOMOPTIONS_ANENUM.containing_type = _TESTMESSAGEWITHCUSTOMOPTIONS
_TESTMESSAGEWITHCUSTOMOPTIONS.oneofs_by_name['AnOneof'].fields.append(
  _TESTMESSAGEWITHCUSTOMOPTIONS.fields_by_name['oneof_field'])
_TESTMESSAGEWITHCUSTOMOPTIONS.fields_by_name['oneof_field'].containing_oneof = _TESTMESSAGEWITHCUSTOMOPTIONS.oneofs_by_name['AnOneof']
_DUMMYMESSAGECONTAININGENUM_TESTENUMTYPE.containing_type = _DUMMYMESSAGECONTAININGENUM
_COMPLEXOPTIONTYPE2_COMPLEXOPTIONTYPE4.containing_type = _COMPLEXOPTIONTYPE2
_COMPLEXOPTIONTYPE2.fields_by_name['bar'].message_type = _COMPLEXOPTIONTYPE1
_COMPLEXOPTIONTYPE2.fields_by_name['fred'].message_type = _COMPLEXOPTIONTYPE2_COMPLEXOPTIONTYPE4
_COMPLEXOPTIONTYPE2.fields_by_name['barney'].message_type = _COMPLEXOPTIONTYPE2_COMPLEXOPTIONTYPE4
_COMPLEXOPTIONTYPE3_COMPLEXOPTIONTYPE5.containing_type = _COMPLEXOPTIONTYPE3
_COMPLEXOPTIONTYPE3.fields_by_name['complexoptiontype5'].message_type = _COMPLEXOPTIONTYPE3_COMPLEXOPTIONTYPE5
_AGGREGATE.fields_by_name['sub'].message_type = _AGGREGATE
_AGGREGATE.fields_by_name['file'].message_type = google_dot_protobuf_dot_descriptor__pb2._FILEOPTIONS
_AGGREGATE.fields_by_name['mset'].message_type = _AGGREGATEMESSAGESET
_NESTEDOPTIONTYPE_NESTEDMESSAGE.containing_type = _NESTEDOPTIONTYPE
_NESTEDOPTIONTYPE_NESTEDENUM.containing_type = _NESTEDOPTIONTYPE
_OLDOPTIONTYPE.fields_by_name['value'].enum_type = _OLDOPTIONTYPE_TESTENUM
_OLDOPTIONTYPE_TESTENUM.containing_type = _OLDOPTIONTYPE
_NEWOPTIONTYPE.fields_by_name['value'].enum_type = _NEWOPTIONTYPE_TESTENUM
_NEWOPTIONTYPE_TESTENUM.containing_type = _NEWOPTIONTYPE
DESCRIPTOR.message_types_by_name['TestMessageWithCustomOptions'] = _TESTMESSAGEWITHCUSTOMOPTIONS
DESCRIPTOR.message_types_by_name['CustomOptionFooRequest'] = _CUSTOMOPTIONFOOREQUEST
DESCRIPTOR.message_types_by_name['CustomOptionFooResponse'] = _CUSTOMOPTIONFOORESPONSE
DESCRIPTOR.message_types_by_name['CustomOptionFooClientMessage'] = _CUSTOMOPTIONFOOCLIENTMESSAGE
DESCRIPTOR.message_types_by_name['CustomOptionFooServerMessage'] = _CUSTOMOPTIONFOOSERVERMESSAGE
DESCRIPTOR.message_types_by_name['DummyMessageContainingEnum'] = _DUMMYMESSAGECONTAININGENUM
DESCRIPTOR.message_types_by_name['DummyMessageInvalidAsOptionType'] = _DUMMYMESSAGEINVALIDASOPTIONTYPE
DESCRIPTOR.message_types_by_name['CustomOptionMinIntegerValues'] = _CUSTOMOPTIONMININTEGERVALUES
DESCRIPTOR.message_types_by_name['CustomOptionMaxIntegerValues'] = _CUSTOMOPTIONMAXINTEGERVALUES
DESCRIPTOR.message_types_by_name['CustomOptionOtherValues'] = _CUSTOMOPTIONOTHERVALUES
DESCRIPTOR.message_types_by_name['SettingRealsFromPositiveInts'] = _SETTINGREALSFROMPOSITIVEINTS
DESCRIPTOR.message_types_by_name['SettingRealsFromNegativeInts'] = _SETTINGREALSFROMNEGATIVEINTS
DESCRIPTOR.message_types_by_name['ComplexOptionType1'] = _COMPLEXOPTIONTYPE1
DESCRIPTOR.message_types_by_name['ComplexOptionType2'] = _COMPLEXOPTIONTYPE2
DESCRIPTOR.message_types_by_name['ComplexOptionType3'] = _COMPLEXOPTIONTYPE3
DESCRIPTOR.message_types_by_name['ComplexOpt6'] = _COMPLEXOPT6
DESCRIPTOR.message_types_by_name['VariousComplexOptions'] = _VARIOUSCOMPLEXOPTIONS
DESCRIPTOR.message_types_by_name['AggregateMessageSet'] = _AGGREGATEMESSAGESET
DESCRIPTOR.message_types_by_name['AggregateMessageSetElement'] = _AGGREGATEMESSAGESETELEMENT
DESCRIPTOR.message_types_by_name['Aggregate'] = _AGGREGATE
DESCRIPTOR.message_types_by_name['AggregateMessage'] = _AGGREGATEMESSAGE
DESCRIPTOR.message_types_by_name['NestedOptionType'] = _NESTEDOPTIONTYPE
DESCRIPTOR.message_types_by_name['OldOptionType'] = _OLDOPTIONTYPE
DESCRIPTOR.message_types_by_name['NewOptionType'] = _NEWOPTIONTYPE
DESCRIPTOR.message_types_by_name['TestMessageWithRequiredEnumOption'] = _TESTMESSAGEWITHREQUIREDENUMOPTION
DESCRIPTOR.enum_types_by_name['MethodOpt1'] = _METHODOPT1
DESCRIPTOR.enum_types_by_name['AggregateEnum'] = _AGGREGATEENUM
DESCRIPTOR.extensions_by_name['file_opt1'] = file_opt1
DESCRIPTOR.extensions_by_name['message_opt1'] = message_opt1
DESCRIPTOR.extensions_by_name['field_opt1'] = field_opt1
DESCRIPTOR.extensions_by_name['field_opt2'] = field_opt2
DESCRIPTOR.extensions_by_name['oneof_opt1'] = oneof_opt1
DESCRIPTOR.extensions_by_name['enum_opt1'] = enum_opt1
DESCRIPTOR.extensions_by_name['enum_value_opt1'] = enum_value_opt1
DESCRIPTOR.extensions_by_name['service_opt1'] = service_opt1
DESCRIPTOR.extensions_by_name['method_opt1'] = method_opt1
DESCRIPTOR.extensions_by_name['bool_opt'] = bool_opt
DESCRIPTOR.extensions_by_name['int32_opt'] = int32_opt
DESCRIPTOR.extensions_by_name['int64_opt'] = int64_opt
DESCRIPTOR.extensions_by_name['uint32_opt'] = uint32_opt
DESCRIPTOR.extensions_by_name['uint64_opt'] = uint64_opt
DESCRIPTOR.extensions_by_name['sint32_opt'] = sint32_opt
DESCRIPTOR.extensions_by_name['sint64_opt'] = sint64_opt
DESCRIPTOR.extensions_by_name['fixed32_opt'] = fixed32_opt
DESCRIPTOR.extensions_by_name['fixed64_opt'] = fixed64_opt
DESCRIPTOR.extensions_by_name['sfixed32_opt'] = sfixed32_opt
DESCRIPTOR.extensions_by_name['sfixed64_opt'] = sfixed64_opt
DESCRIPTOR.extensions_by_name['float_opt'] = float_opt
DESCRIPTOR.extensions_by_name['double_opt'] = double_opt
DESCRIPTOR.extensions_by_name['string_opt'] = string_opt
DESCRIPTOR.extensions_by_name['bytes_opt'] = bytes_opt
DESCRIPTOR.extensions_by_name['enum_opt'] = enum_opt
DESCRIPTOR.extensions_by_name['message_type_opt'] = message_type_opt
DESCRIPTOR.extensions_by_name['quux'] = quux
DESCRIPTOR.extensions_by_name['corge'] = corge
DESCRIPTOR.extensions_by_name['grault'] = grault
DESCRIPTOR.extensions_by_name['garply'] = garply
DESCRIPTOR.extensions_by_name['complex_opt1'] = complex_opt1
DESCRIPTOR.extensions_by_name['complex_opt2'] = complex_opt2
DESCRIPTOR.extensions_by_name['complex_opt3'] = complex_opt3
DESCRIPTOR.extensions_by_name['complexopt6'] = complexopt6
DESCRIPTOR.extensions_by_name['fileopt'] = fileopt
DESCRIPTOR.extensions_by_name['msgopt'] = msgopt
DESCRIPTOR.extensions_by_name['fieldopt'] = fieldopt
DESCRIPTOR.extensions_by_name['enumopt'] = enumopt
DESCRIPTOR.extensions_by_name['enumvalopt'] = enumvalopt
DESCRIPTOR.extensions_by_name['serviceopt'] = serviceopt
DESCRIPTOR.extensions_by_name['methodopt'] = methodopt
DESCRIPTOR.extensions_by_name['required_enum_opt'] = required_enum_opt
_sym_db.RegisterFileDescriptor(DESCRIPTOR)

TestMessageWithCustomOptions = _reflection.GeneratedProtocolMessageType('TestMessageWithCustomOptions', (_message.Message,), dict(
  DESCRIPTOR = _TESTMESSAGEWITHCUSTOMOPTIONS,
  __module__ = 'google.protobuf.unittest_custom_options_pb2'
  # @@protoc_insertion_point(class_scope:protobuf_unittest.TestMessageWithCustomOptions)
  ))
_sym_db.RegisterMessage(TestMessageWithCustomOptions)

CustomOptionFooRequest = _reflection.GeneratedProtocolMessageType('CustomOptionFooRequest', (_message.Message,), dict(
  DESCRIPTOR = _CUSTOMOPTIONFOOREQUEST,
  __module__ = 'google.protobuf.unittest_custom_options_pb2'
  # @@protoc_insertion_point(class_scope:protobuf_unittest.CustomOptionFooRequest)
  ))
_sym_db.RegisterMessage(CustomOptionFooRequest)

CustomOptionFooResponse = _reflection.GeneratedProtocolMessageType('CustomOptionFooResponse', (_message.Message,), dict(
  DESCRIPTOR = _CUSTOMOPTIONFOORESPONSE,
  __module__ = 'google.protobuf.unittest_custom_options_pb2'
  # @@protoc_insertion_point(class_scope:protobuf_unittest.CustomOptionFooResponse)
  ))
_sym_db.RegisterMessage(CustomOptionFooResponse)

CustomOptionFooClientMessage = _reflection.GeneratedProtocolMessageType('CustomOptionFooClientMessage', (_message.Message,), dict(
  DESCRIPTOR = _CUSTOMOPTIONFOOCLIENTMESSAGE,
  __module__ = 'google.protobuf.unittest_custom_options_pb2'
  # @@protoc_insertion_point(class_scope:protobuf_unittest.CustomOptionFooClientMessage)
  ))
_sym_db.RegisterMessage(CustomOptionFooClientMessage)

CustomOptionFooServerMessage = _reflection.GeneratedProtocolMessageType('CustomOptionFooServerMessage', (_message.Message,), dict(
  DESCRIPTOR = _CUSTOMOPTIONFOOSERVERMESSAGE,
  __module__ = 'google.protobuf.unittest_custom_options_pb2'
  # @@protoc_insertion_point(class_scope:protobuf_unittest.CustomOptionFooServerMessage)
  ))
_sym_db.RegisterMessage(CustomOptionFooServerMessage)

DummyMessageContainingEnum = _reflection.GeneratedProtocolMessageType('DummyMessageContainingEnum', (_message.Message,), dict(
  DESCRIPTOR = _DUMMYMESSAGECONTAININGENUM,
  __module__ = 'google.protobuf.unittest_custom_options_pb2'
  # @@protoc_insertion_point(class_scope:protobuf_unittest.DummyMessageContainingEnum)
  ))
_sym_db.RegisterMessage(DummyMessageContainingEnum)

DummyMessageInvalidAsOptionType = _reflection.GeneratedProtocolMessageType('DummyMessageInvalidAsOptionType', (_message.Message,), dict(
  DESCRIPTOR = _DUMMYMESSAGEINVALIDASOPTIONTYPE,
  __module__ = 'google.protobuf.unittest_custom_options_pb2'
  # @@protoc_insertion_point(class_scope:protobuf_unittest.DummyMessageInvalidAsOptionType)
  ))
_sym_db.RegisterMessage(DummyMessageInvalidAsOptionType)

CustomOptionMinIntegerValues = _reflection.GeneratedProtocolMessageType('CustomOptionMinIntegerValues', (_message.Message,), dict(
  DESCRIPTOR = _CUSTOMOPTIONMININTEGERVALUES,
  __module__ = 'google.protobuf.unittest_custom_options_pb2'
  # @@protoc_insertion_point(class_scope:protobuf_unittest.CustomOptionMinIntegerValues)
  ))
_sym_db.RegisterMessage(CustomOptionMinIntegerValues)

CustomOptionMaxIntegerValues = _reflection.GeneratedProtocolMessageType('CustomOptionMaxIntegerValues', (_message.Message,), dict(
  DESCRIPTOR = _CUSTOMOPTIONMAXINTEGERVALUES,
  __module__ = 'google.protobuf.unittest_custom_options_pb2'
  # @@protoc_insertion_point(class_scope:protobuf_unittest.CustomOptionMaxIntegerValues)
  ))
_sym_db.RegisterMessage(CustomOptionMaxIntegerValues)

CustomOptionOtherValues = _reflection.GeneratedProtocolMessageType('CustomOptionOtherValues', (_message.Message,), dict(
  DESCRIPTOR = _CUSTOMOPTIONOTHERVALUES,
  __module__ = 'google.protobuf.unittest_custom_options_pb2'
  # @@protoc_insertion_point(class_scope:protobuf_unittest.CustomOptionOtherValues)
  ))
_sym_db.RegisterMessage(CustomOptionOtherValues)

SettingRealsFromPositiveInts = _reflection.GeneratedProtocolMessageType('SettingRealsFromPositiveInts', (_message.Message,), dict(
  DESCRIPTOR = _SETTINGREALSFROMPOSITIVEINTS,
  __module__ = 'google.protobuf.unittest_custom_options_pb2'
  # @@protoc_insertion_point(class_scope:protobuf_unittest.SettingRealsFromPositiveInts)
  ))
_sym_db.RegisterMessage(SettingRealsFromPositiveInts)

SettingRealsFromNegativeInts = _reflection.GeneratedProtocolMessageType('SettingRealsFromNegativeInts', (_message.Message,), dict(
  DESCRIPTOR = _SETTINGREALSFROMNEGATIVEINTS,
  __module__ = 'google.protobuf.unittest_custom_options_pb2'
  # @@protoc_insertion_point(class_scope:protobuf_unittest.SettingRealsFromNegativeInts)
  ))
_sym_db.RegisterMessage(SettingRealsFromNegativeInts)

ComplexOptionType1 = _reflection.GeneratedProtocolMessageType('ComplexOptionType1', (_message.Message,), dict(
  DESCRIPTOR = _COMPLEXOPTIONTYPE1,
  __module__ = 'google.protobuf.unittest_custom_options_pb2'
  # @@protoc_insertion_point(class_scope:protobuf_unittest.ComplexOptionType1)
  ))
_sym_db.RegisterMessage(ComplexOptionType1)

ComplexOptionType2 = _reflection.GeneratedProtocolMessageType('ComplexOptionType2', (_message.Message,), dict(

  ComplexOptionType4 = _reflection.GeneratedProtocolMessageType('ComplexOptionType4', (_message.Message,), dict(
    DESCRIPTOR = _COMPLEXOPTIONTYPE2_COMPLEXOPTIONTYPE4,
    __module__ = 'google.protobuf.unittest_custom_options_pb2'
    # @@protoc_insertion_point(class_scope:protobuf_unittest.ComplexOptionType2.ComplexOptionType4)
    ))
  ,
  DESCRIPTOR = _COMPLEXOPTIONTYPE2,
  __module__ = 'google.protobuf.unittest_custom_options_pb2'
  # @@protoc_insertion_point(class_scope:protobuf_unittest.ComplexOptionType2)
  ))
_sym_db.RegisterMessage(ComplexOptionType2)
_sym_db.RegisterMessage(ComplexOptionType2.ComplexOptionType4)

ComplexOptionType3 = _reflection.GeneratedProtocolMessageType('ComplexOptionType3', (_message.Message,), dict(

  ComplexOptionType5 = _reflection.GeneratedProtocolMessageType('ComplexOptionType5', (_message.Message,), dict(
    DESCRIPTOR = _COMPLEXOPTIONTYPE3_COMPLEXOPTIONTYPE5,
    __module__ = 'google.protobuf.unittest_custom_options_pb2'
    # @@protoc_insertion_point(class_scope:protobuf_unittest.ComplexOptionType3.ComplexOptionType5)
    ))
  ,
  DESCRIPTOR = _COMPLEXOPTIONTYPE3,
  __module__ = 'google.protobuf.unittest_custom_options_pb2'
  # @@protoc_insertion_point(class_scope:protobuf_unittest.ComplexOptionType3)
  ))
_sym_db.RegisterMessage(ComplexOptionType3)
_sym_db.RegisterMessage(ComplexOptionType3.ComplexOptionType5)

ComplexOpt6 = _reflection.GeneratedProtocolMessageType('ComplexOpt6', (_message.Message,), dict(
  DESCRIPTOR = _COMPLEXOPT6,
  __module__ = 'google.protobuf.unittest_custom_options_pb2'
  # @@protoc_insertion_point(class_scope:protobuf_unittest.ComplexOpt6)
  ))
_sym_db.RegisterMessage(ComplexOpt6)

VariousComplexOptions = _reflection.GeneratedProtocolMessageType('VariousComplexOptions', (_message.Message,), dict(
  DESCRIPTOR = _VARIOUSCOMPLEXOPTIONS,
  __module__ = 'google.protobuf.unittest_custom_options_pb2'
  # @@protoc_insertion_point(class_scope:protobuf_unittest.VariousComplexOptions)
  ))
_sym_db.RegisterMessage(VariousComplexOptions)

AggregateMessageSet = _reflection.GeneratedProtocolMessageType('AggregateMessageSet', (_message.Message,), dict(
  DESCRIPTOR = _AGGREGATEMESSAGESET,
  __module__ = 'google.protobuf.unittest_custom_options_pb2'
  # @@protoc_insertion_point(class_scope:protobuf_unittest.AggregateMessageSet)
  ))
_sym_db.RegisterMessage(AggregateMessageSet)

AggregateMessageSetElement = _reflection.GeneratedProtocolMessageType('AggregateMessageSetElement', (_message.Message,), dict(
  DESCRIPTOR = _AGGREGATEMESSAGESETELEMENT,
  __module__ = 'google.protobuf.unittest_custom_options_pb2'
  # @@protoc_insertion_point(class_scope:protobuf_unittest.AggregateMessageSetElement)
  ))
_sym_db.RegisterMessage(AggregateMessageSetElement)

Aggregate = _reflection.GeneratedProtocolMessageType('Aggregate', (_message.Message,), dict(
  DESCRIPTOR = _AGGREGATE,
  __module__ = 'google.protobuf.unittest_custom_options_pb2'
  # @@protoc_insertion_point(class_scope:protobuf_unittest.Aggregate)
  ))
_sym_db.RegisterMessage(Aggregate)

AggregateMessage = _reflection.GeneratedProtocolMessageType('AggregateMessage', (_message.Message,), dict(
  DESCRIPTOR = _AGGREGATEMESSAGE,
  __module__ = 'google.protobuf.unittest_custom_options_pb2'
  # @@protoc_insertion_point(class_scope:protobuf_unittest.AggregateMessage)
  ))
_sym_db.RegisterMessage(AggregateMessage)

NestedOptionType = _reflection.GeneratedProtocolMessageType('NestedOptionType', (_message.Message,), dict(

  NestedMessage = _reflection.GeneratedProtocolMessageType('NestedMessage', (_message.Message,), dict(
    DESCRIPTOR = _NESTEDOPTIONTYPE_NESTEDMESSAGE,
    __module__ = 'google.protobuf.unittest_custom_options_pb2'
    # @@protoc_insertion_point(class_scope:protobuf_unittest.NestedOptionType.NestedMessage)
    ))
  ,
  DESCRIPTOR = _NESTEDOPTIONTYPE,
  __module__ = 'google.protobuf.unittest_custom_options_pb2'
  # @@protoc_insertion_point(class_scope:protobuf_unittest.NestedOptionType)
  ))
_sym_db.RegisterMessage(NestedOptionType)
_sym_db.RegisterMessage(NestedOptionType.NestedMessage)

OldOptionType = _reflection.GeneratedProtocolMessageType('OldOptionType', (_message.Message,), dict(
  DESCRIPTOR = _OLDOPTIONTYPE,
  __module__ = 'google.protobuf.unittest_custom_options_pb2'
  # @@protoc_insertion_point(class_scope:protobuf_unittest.OldOptionType)
  ))
_sym_db.RegisterMessage(OldOptionType)

NewOptionType = _reflection.GeneratedProtocolMessageType('NewOptionType', (_message.Message,), dict(
  DESCRIPTOR = _NEWOPTIONTYPE,
  __module__ = 'google.protobuf.unittest_custom_options_pb2'
  # @@protoc_insertion_point(class_scope:protobuf_unittest.NewOptionType)
  ))
_sym_db.RegisterMessage(NewOptionType)

TestMessageWithRequiredEnumOption = _reflection.GeneratedProtocolMessageType('TestMessageWithRequiredEnumOption', (_message.Message,), dict(
  DESCRIPTOR = _TESTMESSAGEWITHREQUIREDENUMOPTION,
  __module__ = 'google.protobuf.unittest_custom_options_pb2'
  # @@protoc_insertion_point(class_scope:protobuf_unittest.TestMessageWithRequiredEnumOption)
  ))
_sym_db.RegisterMessage(TestMessageWithRequiredEnumOption)

google_dot_protobuf_dot_descriptor__pb2.FileOptions.RegisterExtension(file_opt1)
google_dot_protobuf_dot_descriptor__pb2.MessageOptions.RegisterExtension(message_opt1)
google_dot_protobuf_dot_descriptor__pb2.FieldOptions.RegisterExtension(field_opt1)
google_dot_protobuf_dot_descriptor__pb2.FieldOptions.RegisterExtension(field_opt2)
google_dot_protobuf_dot_descriptor__pb2.OneofOptions.RegisterExtension(oneof_opt1)
google_dot_protobuf_dot_descriptor__pb2.EnumOptions.RegisterExtension(enum_opt1)
google_dot_protobuf_dot_descriptor__pb2.EnumValueOptions.RegisterExtension(enum_value_opt1)
google_dot_protobuf_dot_descriptor__pb2.ServiceOptions.RegisterExtension(service_opt1)
method_opt1.enum_type = _METHODOPT1
google_dot_protobuf_dot_descriptor__pb2.MethodOptions.RegisterExtension(method_opt1)
google_dot_protobuf_dot_descriptor__pb2.MessageOptions.RegisterExtension(bool_opt)
google_dot_protobuf_dot_descriptor__pb2.MessageOptions.RegisterExtension(int32_opt)
google_dot_protobuf_dot_descriptor__pb2.MessageOptions.RegisterExtension(int64_opt)
google_dot_protobuf_dot_descriptor__pb2.MessageOptions.RegisterExtension(uint32_opt)
google_dot_protobuf_dot_descriptor__pb2.MessageOptions.RegisterExtension(uint64_opt)
google_dot_protobuf_dot_descriptor__pb2.MessageOptions.RegisterExtension(sint32_opt)
google_dot_protobuf_dot_descriptor__pb2.MessageOptions.RegisterExtension(sint64_opt)
google_dot_protobuf_dot_descriptor__pb2.MessageOptions.RegisterExtension(fixed32_opt)
google_dot_protobuf_dot_descriptor__pb2.MessageOptions.RegisterExtension(fixed64_opt)
google_dot_protobuf_dot_descriptor__pb2.MessageOptions.RegisterExtension(sfixed32_opt)
google_dot_protobuf_dot_descriptor__pb2.MessageOptions.RegisterExtension(sfixed64_opt)
google_dot_protobuf_dot_descriptor__pb2.MessageOptions.RegisterExtension(float_opt)
google_dot_protobuf_dot_descriptor__pb2.MessageOptions.RegisterExtension(double_opt)
google_dot_protobuf_dot_descriptor__pb2.MessageOptions.RegisterExtension(string_opt)
google_dot_protobuf_dot_descriptor__pb2.MessageOptions.RegisterExtension(bytes_opt)
enum_opt.enum_type = _DUMMYMESSAGECONTAININGENUM_TESTENUMTYPE
google_dot_protobuf_dot_descriptor__pb2.MessageOptions.RegisterExtension(enum_opt)
message_type_opt.message_type = _DUMMYMESSAGEINVALIDASOPTIONTYPE
google_dot_protobuf_dot_descriptor__pb2.MessageOptions.RegisterExtension(message_type_opt)
ComplexOptionType1.RegisterExtension(quux)
corge.message_type = _COMPLEXOPTIONTYPE3
ComplexOptionType1.RegisterExtension(corge)
ComplexOptionType2.RegisterExtension(grault)
garply.message_type = _COMPLEXOPTIONTYPE1
ComplexOptionType2.RegisterExtension(garply)
complex_opt1.message_type = _COMPLEXOPTIONTYPE1
google_dot_protobuf_dot_descriptor__pb2.MessageOptions.RegisterExtension(complex_opt1)
complex_opt2.message_type = _COMPLEXOPTIONTYPE2
google_dot_protobuf_dot_descriptor__pb2.MessageOptions.RegisterExtension(complex_opt2)
complex_opt3.message_type = _COMPLEXOPTIONTYPE3
google_dot_protobuf_dot_descriptor__pb2.MessageOptions.RegisterExtension(complex_opt3)
complexopt6.message_type = _COMPLEXOPT6
google_dot_protobuf_dot_descriptor__pb2.MessageOptions.RegisterExtension(complexopt6)
fileopt.message_type = _AGGREGATE
google_dot_protobuf_dot_descriptor__pb2.FileOptions.RegisterExtension(fileopt)
msgopt.message_type = _AGGREGATE
google_dot_protobuf_dot_descriptor__pb2.MessageOptions.RegisterExtension(msgopt)
fieldopt.message_type = _AGGREGATE
google_dot_protobuf_dot_descriptor__pb2.FieldOptions.RegisterExtension(fieldopt)
enumopt.message_type = _AGGREGATE
google_dot_protobuf_dot_descriptor__pb2.EnumOptions.RegisterExtension(enumopt)
enumvalopt.message_type = _AGGREGATE
google_dot_protobuf_dot_descriptor__pb2.EnumValueOptions.RegisterExtension(enumvalopt)
serviceopt.message_type = _AGGREGATE
google_dot_protobuf_dot_descriptor__pb2.ServiceOptions.RegisterExtension(serviceopt)
methodopt.message_type = _AGGREGATE
google_dot_protobuf_dot_descriptor__pb2.MethodOptions.RegisterExtension(methodopt)
required_enum_opt.message_type = _OLDOPTIONTYPE
google_dot_protobuf_dot_descriptor__pb2.MessageOptions.RegisterExtension(required_enum_opt)
_COMPLEXOPTIONTYPE2_COMPLEXOPTIONTYPE4.extensions_by_name['complex_opt4'].message_type = _COMPLEXOPTIONTYPE2_COMPLEXOPTIONTYPE4
google_dot_protobuf_dot_descriptor__pb2.MessageOptions.RegisterExtension(_COMPLEXOPTIONTYPE2_COMPLEXOPTIONTYPE4.extensions_by_name['complex_opt4'])
_AGGREGATEMESSAGESETELEMENT.extensions_by_name['message_set_extension'].message_type = _AGGREGATEMESSAGESETELEMENT
AggregateMessageSet.RegisterExtension(_AGGREGATEMESSAGESETELEMENT.extensions_by_name['message_set_extension'])
_AGGREGATE.extensions_by_name['nested'].message_type = _AGGREGATE
google_dot_protobuf_dot_descriptor__pb2.FileOptions.RegisterExtension(_AGGREGATE.extensions_by_name['nested'])
google_dot_protobuf_dot_descriptor__pb2.FileOptions.RegisterExtension(_NESTEDOPTIONTYPE.extensions_by_name['nested_extension'])

DESCRIPTOR._options = None
_AGGREGATEENUM._options = None
_AGGREGATEENUM.values_by_name["VALUE"]._options = None
_TESTMESSAGEWITHCUSTOMOPTIONS.oneofs_by_name['AnOneof']._options = None
_TESTMESSAGEWITHCUSTOMOPTIONS_ANENUM._options = None
_TESTMESSAGEWITHCUSTOMOPTIONS_ANENUM.values_by_name["ANENUM_VAL2"]._options = None
_TESTMESSAGEWITHCUSTOMOPTIONS.fields_by_name['field1']._options = None
_TESTMESSAGEWITHCUSTOMOPTIONS._options = None
_CUSTOMOPTIONMININTEGERVALUES._options = None
_CUSTOMOPTIONMAXINTEGERVALUES._options = None
_CUSTOMOPTIONOTHERVALUES._options = None
_SETTINGREALSFROMPOSITIVEINTS._options = None
_SETTINGREALSFROMNEGATIVEINTS._options = None
_VARIOUSCOMPLEXOPTIONS._options = None
_AGGREGATEMESSAGESET._options = None
_AGGREGATEMESSAGE.fields_by_name['fieldname']._options = None
_AGGREGATEMESSAGE._options = None
_NESTEDOPTIONTYPE_NESTEDMESSAGE.fields_by_name['nested_field']._options = None
_NESTEDOPTIONTYPE_NESTEDMESSAGE._options = None
_NESTEDOPTIONTYPE_NESTEDENUM._options = None
_NESTEDOPTIONTYPE_NESTEDENUM.values_by_name["NESTED_ENUM_VALUE"]._options = None
_NESTEDOPTIONTYPE.extensions_by_name['nested_extension']._options = None
_TESTMESSAGEWITHREQUIREDENUMOPTION._options = None

_TESTSERVICEWITHCUSTOMOPTIONS = _descriptor.ServiceDescriptor(
  name='TestServiceWithCustomOptions',
  full_name='protobuf_unittest.TestServiceWithCustomOptions',
  file=DESCRIPTOR,
  index=0,
  serialized_options=_b('\220\262\213\036\323\333\200\313I'),
  serialized_start=3142,
  serialized_end=3284,
  methods=[
  _descriptor.MethodDescriptor(
    name='Foo',
    full_name='protobuf_unittest.TestServiceWithCustomOptions.Foo',
    index=0,
    containing_service=None,
    input_type=_CUSTOMOPTIONFOOREQUEST,
    output_type=_CUSTOMOPTIONFOORESPONSE,
    serialized_options=_b('\340\372\214\036\002'),
  ),
])
_sym_db.RegisterServiceDescriptor(_TESTSERVICEWITHCUSTOMOPTIONS)

DESCRIPTOR.services_by_name['TestServiceWithCustomOptions'] = _TESTSERVICEWITHCUSTOMOPTIONS


_AGGREGATESERVICE = _descriptor.ServiceDescriptor(
  name='AggregateService',
  full_name='protobuf_unittest.AggregateService',
  file=DESCRIPTOR,
  index=1,
  serialized_options=_b('\312\373\216;\023\022\021ServiceAnnotation'),
  serialized_start=3287,
  serialized_end=3440,
  methods=[
  _descriptor.MethodDescriptor(
    name='Method',
    full_name='protobuf_unittest.AggregateService.Method',
    index=0,
    containing_service=None,
    input_type=_AGGREGATEMESSAGE,
    output_type=_AGGREGATEMESSAGE,
    serialized_options=_b('\312\310\226;\022\022\020MethodAnnotation'),
  ),
])
_sym_db.RegisterServiceDescriptor(_AGGREGATESERVICE)

DESCRIPTOR.services_by_name['AggregateService'] = _AGGREGATESERVICE

TestServiceWithCustomOptions = service_reflection.GeneratedServiceType('TestServiceWithCustomOptions', (_service.Service,), dict(
  DESCRIPTOR = _TESTSERVICEWITHCUSTOMOPTIONS,
  __module__ = 'google.protobuf.unittest_custom_options_pb2'
  ))

TestServiceWithCustomOptions_Stub = service_reflection.GeneratedServiceStubType('TestServiceWithCustomOptions_Stub', (TestServiceWithCustomOptions,), dict(
  DESCRIPTOR = _TESTSERVICEWITHCUSTOMOPTIONS,
  __module__ = 'google.protobuf.unittest_custom_options_pb2'
  ))


AggregateService = service_reflection.GeneratedServiceType('AggregateService', (_service.Service,), dict(
  DESCRIPTOR = _AGGREGATESERVICE,
  __module__ = 'google.protobuf.unittest_custom_options_pb2'
  ))

AggregateService_Stub = service_reflection.GeneratedServiceStubType('AggregateService_Stub', (AggregateService,), dict(
  DESCRIPTOR = _AGGREGATESERVICE,
  __module__ = 'google.protobuf.unittest_custom_options_pb2'
  ))


# @@protoc_insertion_point(module_scope)
