# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: google/protobuf/map_proto2_unittest.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
# @@protoc_insertion_point(imports)

_sym_db = _symbol_database.Default()


from google.protobuf import unittest_import_pb2 as google_dot_protobuf_dot_unittest__import__pb2
try:
  google_dot_protobuf_dot_unittest__import__public__pb2 = google_dot_protobuf_dot_unittest__import__pb2.google_dot_protobuf_dot_unittest__import__public__pb2
except AttributeError:
  google_dot_protobuf_dot_unittest__import__public__pb2 = google_dot_protobuf_dot_unittest__import__pb2.google.protobuf.unittest_import_public_pb2


DESCRIPTOR = _descriptor.FileDescriptor(
  name='google/protobuf/map_proto2_unittest.proto',
  package='protobuf_unittest',
  syntax='proto2',
  serialized_options=_b('\370\001\001'),
  serialized_pb=_b('\n)google/protobuf/map_proto2_unittest.proto\x12\x11protobuf_unittest\x1a%google/protobuf/unittest_import.proto\"\xdb\x02\n\x0bTestEnumMap\x12J\n\x0fknown_map_field\x18\x65 \x03(\x0b\x32\x31.protobuf_unittest.TestEnumMap.KnownMapFieldEntry\x12N\n\x11unknown_map_field\x18\x66 \x03(\x0b\x32\x33.protobuf_unittest.TestEnumMap.UnknownMapFieldEntry\x1aV\n\x12KnownMapFieldEntry\x12\x0b\n\x03key\x18\x01 \x01(\x05\x12/\n\x05value\x18\x02 \x01(\x0e\x32 .protobuf_unittest.Proto2MapEnum:\x02\x38\x01\x1aX\n\x14UnknownMapFieldEntry\x12\x0b\n\x03key\x18\x01 \x01(\x05\x12/\n\x05value\x18\x02 \x01(\x0e\x32 .protobuf_unittest.Proto2MapEnum:\x02\x38\x01\"\x88\x03\n\x14TestEnumMapPlusExtra\x12S\n\x0fknown_map_field\x18\x65 \x03(\x0b\x32:.protobuf_unittest.TestEnumMapPlusExtra.KnownMapFieldEntry\x12W\n\x11unknown_map_field\x18\x66 \x03(\x0b\x32<.protobuf_unittest.TestEnumMapPlusExtra.UnknownMapFieldEntry\x1a_\n\x12KnownMapFieldEntry\x12\x0b\n\x03key\x18\x01 \x01(\x05\x12\x38\n\x05value\x18\x02 \x01(\x0e\x32).protobuf_unittest.Proto2MapEnumPlusExtra:\x02\x38\x01\x1a\x61\n\x14UnknownMapFieldEntry\x12\x0b\n\x03key\x18\x01 \x01(\x05\x12\x38\n\x05value\x18\x02 \x01(\x0e\x32).protobuf_unittest.Proto2MapEnumPlusExtra:\x02\x38\x01\"\xc7\x01\n\x11TestImportEnumMap\x12P\n\x0fimport_enum_amp\x18\x01 \x03(\x0b\x32\x37.protobuf_unittest.TestImportEnumMap.ImportEnumAmpEntry\x1a`\n\x12ImportEnumAmpEntry\x12\x0b\n\x03key\x18\x01 \x01(\x05\x12\x39\n\x05value\x18\x02 \x01(\x0e\x32*.protobuf_unittest_import.ImportEnumForMap:\x02\x38\x01\"m\n\rTestIntIntMap\x12\x32\n\x01m\x18\x01 \x03(\x0b\x32\'.protobuf_unittest.TestIntIntMap.MEntry\x1a(\n\x06MEntry\x12\x0b\n\x03key\x18\x01 \x01(\x05\x12\r\n\x05value\x18\x02 \x01(\x05:\x02\x38\x01\"\xb8\r\n\x08TestMaps\x12\x38\n\x07m_int32\x18\x01 \x03(\x0b\x32\'.protobuf_unittest.TestMaps.MInt32Entry\x12\x38\n\x07m_int64\x18\x02 \x03(\x0b\x32\'.protobuf_unittest.TestMaps.MInt64Entry\x12:\n\x08m_uint32\x18\x03 \x03(\x0b\x32(.protobuf_unittest.TestMaps.MUint32Entry\x12:\n\x08m_uint64\x18\x04 \x03(\x0b\x32(.protobuf_unittest.TestMaps.MUint64Entry\x12:\n\x08m_sint32\x18\x05 \x03(\x0b\x32(.protobuf_unittest.TestMaps.MSint32Entry\x12:\n\x08m_sint64\x18\x06 \x03(\x0b\x32(.protobuf_unittest.TestMaps.MSint64Entry\x12<\n\tm_fixed32\x18\x07 \x03(\x0b\x32).protobuf_unittest.TestMaps.MFixed32Entry\x12<\n\tm_fixed64\x18\x08 \x03(\x0b\x32).protobuf_unittest.TestMaps.MFixed64Entry\x12>\n\nm_sfixed32\x18\t \x03(\x0b\x32*.protobuf_unittest.TestMaps.MSfixed32Entry\x12>\n\nm_sfixed64\x18\n \x03(\x0b\x32*.protobuf_unittest.TestMaps.MSfixed64Entry\x12\x36\n\x06m_bool\x18\x0b \x03(\x0b\x32&.protobuf_unittest.TestMaps.MBoolEntry\x12:\n\x08m_string\x18\x0c \x03(\x0b\x32(.protobuf_unittest.TestMaps.MStringEntry\x1aO\n\x0bMInt32Entry\x12\x0b\n\x03key\x18\x01 \x01(\x05\x12/\n\x05value\x18\x02 \x01(\x0b\x32 .protobuf_unittest.TestIntIntMap:\x02\x38\x01\x1aO\n\x0bMInt64Entry\x12\x0b\n\x03key\x18\x01 \x01(\x03\x12/\n\x05value\x18\x02 \x01(\x0b\x32 .protobuf_unittest.TestIntIntMap:\x02\x38\x01\x1aP\n\x0cMUint32Entry\x12\x0b\n\x03key\x18\x01 \x01(\r\x12/\n\x05value\x18\x02 \x01(\x0b\x32 .protobuf_unittest.TestIntIntMap:\x02\x38\x01\x1aP\n\x0cMUint64Entry\x12\x0b\n\x03key\x18\x01 \x01(\x04\x12/\n\x05value\x18\x02 \x01(\x0b\x32 .protobuf_unittest.TestIntIntMap:\x02\x38\x01\x1aP\n\x0cMSint32Entry\x12\x0b\n\x03key\x18\x01 \x01(\x11\x12/\n\x05value\x18\x02 \x01(\x0b\x32 .protobuf_unittest.TestIntIntMap:\x02\x38\x01\x1aP\n\x0cMSint64Entry\x12\x0b\n\x03key\x18\x01 \x01(\x12\x12/\n\x05value\x18\x02 \x01(\x0b\x32 .protobuf_unittest.TestIntIntMap:\x02\x38\x01\x1aQ\n\rMFixed32Entry\x12\x0b\n\x03key\x18\x01 \x01(\x07\x12/\n\x05value\x18\x02 \x01(\x0b\x32 .protobuf_unittest.TestIntIntMap:\x02\x38\x01\x1aQ\n\rMFixed64Entry\x12\x0b\n\x03key\x18\x01 \x01(\x06\x12/\n\x05value\x18\x02 \x01(\x0b\x32 .protobuf_unittest.TestIntIntMap:\x02\x38\x01\x1aR\n\x0eMSfixed32Entry\x12\x0b\n\x03key\x18\x01 \x01(\x0f\x12/\n\x05value\x18\x02 \x01(\x0b\x32 .protobuf_unittest.TestIntIntMap:\x02\x38\x01\x1aR\n\x0eMSfixed64Entry\x12\x0b\n\x03key\x18\x01 \x01(\x10\x12/\n\x05value\x18\x02 \x01(\x0b\x32 .protobuf_unittest.TestIntIntMap:\x02\x38\x01\x1aN\n\nMBoolEntry\x12\x0b\n\x03key\x18\x01 \x01(\x08\x12/\n\x05value\x18\x02 \x01(\x0b\x32 .protobuf_unittest.TestIntIntMap:\x02\x38\x01\x1aP\n\x0cMStringEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12/\n\x05value\x18\x02 \x01(\x0b\x32 .protobuf_unittest.TestIntIntMap:\x02\x38\x01\"<\n\x12TestSubmessageMaps\x12&\n\x01m\x18\x01 \x01(\x0b\x32\x1b.protobuf_unittest.TestMaps*Z\n\rProto2MapEnum\x12\x17\n\x13PROTO2_MAP_ENUM_FOO\x10\x00\x12\x17\n\x13PROTO2_MAP_ENUM_BAR\x10\x01\x12\x17\n\x13PROTO2_MAP_ENUM_BAZ\x10\x02*\x86\x01\n\x16Proto2MapEnumPlusExtra\x12\x19\n\x15\x45_PROTO2_MAP_ENUM_FOO\x10\x00\x12\x19\n\x15\x45_PROTO2_MAP_ENUM_BAR\x10\x01\x12\x19\n\x15\x45_PROTO2_MAP_ENUM_BAZ\x10\x02\x12\x1b\n\x17\x45_PROTO2_MAP_ENUM_EXTRA\x10\x03\x42\x03\xf8\x01\x01')
  ,
  dependencies=[google_dot_protobuf_dot_unittest__import__pb2.DESCRIPTOR,])

_PROTO2MAPENUM = _descriptor.EnumDescriptor(
  name='Proto2MapEnum',
  full_name='protobuf_unittest.Proto2MapEnum',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='PROTO2_MAP_ENUM_FOO', index=0, number=0,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='PROTO2_MAP_ENUM_BAR', index=1, number=1,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='PROTO2_MAP_ENUM_BAZ', index=2, number=2,
      serialized_options=None,
      type=None),
  ],
  containing_type=None,
  serialized_options=None,
  serialized_start=2946,
  serialized_end=3036,
)
_sym_db.RegisterEnumDescriptor(_PROTO2MAPENUM)

Proto2MapEnum = enum_type_wrapper.EnumTypeWrapper(_PROTO2MAPENUM)
_PROTO2MAPENUMPLUSEXTRA = _descriptor.EnumDescriptor(
  name='Proto2MapEnumPlusExtra',
  full_name='protobuf_unittest.Proto2MapEnumPlusExtra',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='E_PROTO2_MAP_ENUM_FOO', index=0, number=0,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='E_PROTO2_MAP_ENUM_BAR', index=1, number=1,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='E_PROTO2_MAP_ENUM_BAZ', index=2, number=2,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='E_PROTO2_MAP_ENUM_EXTRA', index=3, number=3,
      serialized_options=None,
      type=None),
  ],
  containing_type=None,
  serialized_options=None,
  serialized_start=3039,
  serialized_end=3173,
)
_sym_db.RegisterEnumDescriptor(_PROTO2MAPENUMPLUSEXTRA)

Proto2MapEnumPlusExtra = enum_type_wrapper.EnumTypeWrapper(_PROTO2MAPENUMPLUSEXTRA)
PROTO2_MAP_ENUM_FOO = 0
PROTO2_MAP_ENUM_BAR = 1
PROTO2_MAP_ENUM_BAZ = 2
E_PROTO2_MAP_ENUM_FOO = 0
E_PROTO2_MAP_ENUM_BAR = 1
E_PROTO2_MAP_ENUM_BAZ = 2
E_PROTO2_MAP_ENUM_EXTRA = 3



_TESTENUMMAP_KNOWNMAPFIELDENTRY = _descriptor.Descriptor(
  name='KnownMapFieldEntry',
  full_name='protobuf_unittest.TestEnumMap.KnownMapFieldEntry',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='key', full_name='protobuf_unittest.TestEnumMap.KnownMapFieldEntry.key', 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='value', full_name='protobuf_unittest.TestEnumMap.KnownMapFieldEntry.value', index=1,
      number=2, type=14, cpp_type=8, 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=_b('8\001'),
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=275,
  serialized_end=361,
)

_TESTENUMMAP_UNKNOWNMAPFIELDENTRY = _descriptor.Descriptor(
  name='UnknownMapFieldEntry',
  full_name='protobuf_unittest.TestEnumMap.UnknownMapFieldEntry',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='key', full_name='protobuf_unittest.TestEnumMap.UnknownMapFieldEntry.key', 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='value', full_name='protobuf_unittest.TestEnumMap.UnknownMapFieldEntry.value', index=1,
      number=2, type=14, cpp_type=8, 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=_b('8\001'),
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=363,
  serialized_end=451,
)

_TESTENUMMAP = _descriptor.Descriptor(
  name='TestEnumMap',
  full_name='protobuf_unittest.TestEnumMap',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='known_map_field', full_name='protobuf_unittest.TestEnumMap.known_map_field', index=0,
      number=101, 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),
    _descriptor.FieldDescriptor(
      name='unknown_map_field', full_name='protobuf_unittest.TestEnumMap.unknown_map_field', index=1,
      number=102, 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=[_TESTENUMMAP_KNOWNMAPFIELDENTRY, _TESTENUMMAP_UNKNOWNMAPFIELDENTRY, ],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=104,
  serialized_end=451,
)


_TESTENUMMAPPLUSEXTRA_KNOWNMAPFIELDENTRY = _descriptor.Descriptor(
  name='KnownMapFieldEntry',
  full_name='protobuf_unittest.TestEnumMapPlusExtra.KnownMapFieldEntry',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='key', full_name='protobuf_unittest.TestEnumMapPlusExtra.KnownMapFieldEntry.key', 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='value', full_name='protobuf_unittest.TestEnumMapPlusExtra.KnownMapFieldEntry.value', index=1,
      number=2, type=14, cpp_type=8, 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=_b('8\001'),
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=652,
  serialized_end=747,
)

_TESTENUMMAPPLUSEXTRA_UNKNOWNMAPFIELDENTRY = _descriptor.Descriptor(
  name='UnknownMapFieldEntry',
  full_name='protobuf_unittest.TestEnumMapPlusExtra.UnknownMapFieldEntry',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='key', full_name='protobuf_unittest.TestEnumMapPlusExtra.UnknownMapFieldEntry.key', 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='value', full_name='protobuf_unittest.TestEnumMapPlusExtra.UnknownMapFieldEntry.value', index=1,
      number=2, type=14, cpp_type=8, 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=_b('8\001'),
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=749,
  serialized_end=846,
)

_TESTENUMMAPPLUSEXTRA = _descriptor.Descriptor(
  name='TestEnumMapPlusExtra',
  full_name='protobuf_unittest.TestEnumMapPlusExtra',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='known_map_field', full_name='protobuf_unittest.TestEnumMapPlusExtra.known_map_field', index=0,
      number=101, 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),
    _descriptor.FieldDescriptor(
      name='unknown_map_field', full_name='protobuf_unittest.TestEnumMapPlusExtra.unknown_map_field', index=1,
      number=102, 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=[_TESTENUMMAPPLUSEXTRA_KNOWNMAPFIELDENTRY, _TESTENUMMAPPLUSEXTRA_UNKNOWNMAPFIELDENTRY, ],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=454,
  serialized_end=846,
)


_TESTIMPORTENUMMAP_IMPORTENUMAMPENTRY = _descriptor.Descriptor(
  name='ImportEnumAmpEntry',
  full_name='protobuf_unittest.TestImportEnumMap.ImportEnumAmpEntry',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='key', full_name='protobuf_unittest.TestImportEnumMap.ImportEnumAmpEntry.key', 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='value', full_name='protobuf_unittest.TestImportEnumMap.ImportEnumAmpEntry.value', index=1,
      number=2, type=14, cpp_type=8, 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=_b('8\001'),
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=952,
  serialized_end=1048,
)

_TESTIMPORTENUMMAP = _descriptor.Descriptor(
  name='TestImportEnumMap',
  full_name='protobuf_unittest.TestImportEnumMap',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='import_enum_amp', full_name='protobuf_unittest.TestImportEnumMap.import_enum_amp', index=0,
      number=1, 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=[_TESTIMPORTENUMMAP_IMPORTENUMAMPENTRY, ],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=849,
  serialized_end=1048,
)


_TESTINTINTMAP_MENTRY = _descriptor.Descriptor(
  name='MEntry',
  full_name='protobuf_unittest.TestIntIntMap.MEntry',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='key', full_name='protobuf_unittest.TestIntIntMap.MEntry.key', 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='value', full_name='protobuf_unittest.TestIntIntMap.MEntry.value', 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=[
  ],
  serialized_options=_b('8\001'),
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1119,
  serialized_end=1159,
)

_TESTINTINTMAP = _descriptor.Descriptor(
  name='TestIntIntMap',
  full_name='protobuf_unittest.TestIntIntMap',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='m', full_name='protobuf_unittest.TestIntIntMap.m', index=0,
      number=1, 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=[_TESTINTINTMAP_MENTRY, ],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1050,
  serialized_end=1159,
)


_TESTMAPS_MINT32ENTRY = _descriptor.Descriptor(
  name='MInt32Entry',
  full_name='protobuf_unittest.TestMaps.MInt32Entry',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='key', full_name='protobuf_unittest.TestMaps.MInt32Entry.key', 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='value', full_name='protobuf_unittest.TestMaps.MInt32Entry.value', index=1,
      number=2, 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=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=_b('8\001'),
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1898,
  serialized_end=1977,
)

_TESTMAPS_MINT64ENTRY = _descriptor.Descriptor(
  name='MInt64Entry',
  full_name='protobuf_unittest.TestMaps.MInt64Entry',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='key', full_name='protobuf_unittest.TestMaps.MInt64Entry.key', index=0,
      number=1, 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=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='value', full_name='protobuf_unittest.TestMaps.MInt64Entry.value', index=1,
      number=2, 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=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=_b('8\001'),
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1979,
  serialized_end=2058,
)

_TESTMAPS_MUINT32ENTRY = _descriptor.Descriptor(
  name='MUint32Entry',
  full_name='protobuf_unittest.TestMaps.MUint32Entry',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='key', full_name='protobuf_unittest.TestMaps.MUint32Entry.key', index=0,
      number=1, 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=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='value', full_name='protobuf_unittest.TestMaps.MUint32Entry.value', index=1,
      number=2, 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=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=_b('8\001'),
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2060,
  serialized_end=2140,
)

_TESTMAPS_MUINT64ENTRY = _descriptor.Descriptor(
  name='MUint64Entry',
  full_name='protobuf_unittest.TestMaps.MUint64Entry',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='key', full_name='protobuf_unittest.TestMaps.MUint64Entry.key', index=0,
      number=1, 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=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='value', full_name='protobuf_unittest.TestMaps.MUint64Entry.value', index=1,
      number=2, 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=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=_b('8\001'),
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2142,
  serialized_end=2222,
)

_TESTMAPS_MSINT32ENTRY = _descriptor.Descriptor(
  name='MSint32Entry',
  full_name='protobuf_unittest.TestMaps.MSint32Entry',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='key', full_name='protobuf_unittest.TestMaps.MSint32Entry.key', index=0,
      number=1, 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=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='value', full_name='protobuf_unittest.TestMaps.MSint32Entry.value', index=1,
      number=2, 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=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=_b('8\001'),
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2224,
  serialized_end=2304,
)

_TESTMAPS_MSINT64ENTRY = _descriptor.Descriptor(
  name='MSint64Entry',
  full_name='protobuf_unittest.TestMaps.MSint64Entry',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='key', full_name='protobuf_unittest.TestMaps.MSint64Entry.key', index=0,
      number=1, 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=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='value', full_name='protobuf_unittest.TestMaps.MSint64Entry.value', index=1,
      number=2, 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=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=_b('8\001'),
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2306,
  serialized_end=2386,
)

_TESTMAPS_MFIXED32ENTRY = _descriptor.Descriptor(
  name='MFixed32Entry',
  full_name='protobuf_unittest.TestMaps.MFixed32Entry',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='key', full_name='protobuf_unittest.TestMaps.MFixed32Entry.key', index=0,
      number=1, 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=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='value', full_name='protobuf_unittest.TestMaps.MFixed32Entry.value', index=1,
      number=2, 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=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=_b('8\001'),
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2388,
  serialized_end=2469,
)

_TESTMAPS_MFIXED64ENTRY = _descriptor.Descriptor(
  name='MFixed64Entry',
  full_name='protobuf_unittest.TestMaps.MFixed64Entry',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='key', full_name='protobuf_unittest.TestMaps.MFixed64Entry.key', index=0,
      number=1, 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=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='value', full_name='protobuf_unittest.TestMaps.MFixed64Entry.value', index=1,
      number=2, 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=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=_b('8\001'),
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2471,
  serialized_end=2552,
)

_TESTMAPS_MSFIXED32ENTRY = _descriptor.Descriptor(
  name='MSfixed32Entry',
  full_name='protobuf_unittest.TestMaps.MSfixed32Entry',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='key', full_name='protobuf_unittest.TestMaps.MSfixed32Entry.key', index=0,
      number=1, 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=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='value', full_name='protobuf_unittest.TestMaps.MSfixed32Entry.value', index=1,
      number=2, 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=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=_b('8\001'),
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2554,
  serialized_end=2636,
)

_TESTMAPS_MSFIXED64ENTRY = _descriptor.Descriptor(
  name='MSfixed64Entry',
  full_name='protobuf_unittest.TestMaps.MSfixed64Entry',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='key', full_name='protobuf_unittest.TestMaps.MSfixed64Entry.key', index=0,
      number=1, 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=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='value', full_name='protobuf_unittest.TestMaps.MSfixed64Entry.value', index=1,
      number=2, 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=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=_b('8\001'),
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2638,
  serialized_end=2720,
)

_TESTMAPS_MBOOLENTRY = _descriptor.Descriptor(
  name='MBoolEntry',
  full_name='protobuf_unittest.TestMaps.MBoolEntry',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='key', full_name='protobuf_unittest.TestMaps.MBoolEntry.key', index=0,
      number=1, 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=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='value', full_name='protobuf_unittest.TestMaps.MBoolEntry.value', index=1,
      number=2, 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=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=_b('8\001'),
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2722,
  serialized_end=2800,
)

_TESTMAPS_MSTRINGENTRY = _descriptor.Descriptor(
  name='MStringEntry',
  full_name='protobuf_unittest.TestMaps.MStringEntry',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='key', full_name='protobuf_unittest.TestMaps.MStringEntry.key', 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),
    _descriptor.FieldDescriptor(
      name='value', full_name='protobuf_unittest.TestMaps.MStringEntry.value', index=1,
      number=2, 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=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=_b('8\001'),
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2802,
  serialized_end=2882,
)

_TESTMAPS = _descriptor.Descriptor(
  name='TestMaps',
  full_name='protobuf_unittest.TestMaps',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='m_int32', full_name='protobuf_unittest.TestMaps.m_int32', index=0,
      number=1, 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),
    _descriptor.FieldDescriptor(
      name='m_int64', full_name='protobuf_unittest.TestMaps.m_int64', index=1,
      number=2, 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),
    _descriptor.FieldDescriptor(
      name='m_uint32', full_name='protobuf_unittest.TestMaps.m_uint32', index=2,
      number=3, 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),
    _descriptor.FieldDescriptor(
      name='m_uint64', full_name='protobuf_unittest.TestMaps.m_uint64', 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),
    _descriptor.FieldDescriptor(
      name='m_sint32', full_name='protobuf_unittest.TestMaps.m_sint32', index=4,
      number=5, 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),
    _descriptor.FieldDescriptor(
      name='m_sint64', full_name='protobuf_unittest.TestMaps.m_sint64', index=5,
      number=6, 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),
    _descriptor.FieldDescriptor(
      name='m_fixed32', full_name='protobuf_unittest.TestMaps.m_fixed32', index=6,
      number=7, 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),
    _descriptor.FieldDescriptor(
      name='m_fixed64', full_name='protobuf_unittest.TestMaps.m_fixed64', index=7,
      number=8, 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),
    _descriptor.FieldDescriptor(
      name='m_sfixed32', full_name='protobuf_unittest.TestMaps.m_sfixed32', index=8,
      number=9, 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),
    _descriptor.FieldDescriptor(
      name='m_sfixed64', full_name='protobuf_unittest.TestMaps.m_sfixed64', index=9,
      number=10, 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),
    _descriptor.FieldDescriptor(
      name='m_bool', full_name='protobuf_unittest.TestMaps.m_bool', index=10,
      number=11, 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),
    _descriptor.FieldDescriptor(
      name='m_string', full_name='protobuf_unittest.TestMaps.m_string', index=11,
      number=12, 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=[_TESTMAPS_MINT32ENTRY, _TESTMAPS_MINT64ENTRY, _TESTMAPS_MUINT32ENTRY, _TESTMAPS_MUINT64ENTRY, _TESTMAPS_MSINT32ENTRY, _TESTMAPS_MSINT64ENTRY, _TESTMAPS_MFIXED32ENTRY, _TESTMAPS_MFIXED64ENTRY, _TESTMAPS_MSFIXED32ENTRY, _TESTMAPS_MSFIXED64ENTRY, _TESTMAPS_MBOOLENTRY, _TESTMAPS_MSTRINGENTRY, ],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1162,
  serialized_end=2882,
)


_TESTSUBMESSAGEMAPS = _descriptor.Descriptor(
  name='TestSubmessageMaps',
  full_name='protobuf_unittest.TestSubmessageMaps',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='m', full_name='protobuf_unittest.TestSubmessageMaps.m', 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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2884,
  serialized_end=2944,
)

_TESTENUMMAP_KNOWNMAPFIELDENTRY.fields_by_name['value'].enum_type = _PROTO2MAPENUM
_TESTENUMMAP_KNOWNMAPFIELDENTRY.containing_type = _TESTENUMMAP
_TESTENUMMAP_UNKNOWNMAPFIELDENTRY.fields_by_name['value'].enum_type = _PROTO2MAPENUM
_TESTENUMMAP_UNKNOWNMAPFIELDENTRY.containing_type = _TESTENUMMAP
_TESTENUMMAP.fields_by_name['known_map_field'].message_type = _TESTENUMMAP_KNOWNMAPFIELDENTRY
_TESTENUMMAP.fields_by_name['unknown_map_field'].message_type = _TESTENUMMAP_UNKNOWNMAPFIELDENTRY
_TESTENUMMAPPLUSEXTRA_KNOWNMAPFIELDENTRY.fields_by_name['value'].enum_type = _PROTO2MAPENUMPLUSEXTRA
_TESTENUMMAPPLUSEXTRA_KNOWNMAPFIELDENTRY.containing_type = _TESTENUMMAPPLUSEXTRA
_TESTENUMMAPPLUSEXTRA_UNKNOWNMAPFIELDENTRY.fields_by_name['value'].enum_type = _PROTO2MAPENUMPLUSEXTRA
_TESTENUMMAPPLUSEXTRA_UNKNOWNMAPFIELDENTRY.containing_type = _TESTENUMMAPPLUSEXTRA
_TESTENUMMAPPLUSEXTRA.fields_by_name['known_map_field'].message_type = _TESTENUMMAPPLUSEXTRA_KNOWNMAPFIELDENTRY
_TESTENUMMAPPLUSEXTRA.fields_by_name['unknown_map_field'].message_type = _TESTENUMMAPPLUSEXTRA_UNKNOWNMAPFIELDENTRY
_TESTIMPORTENUMMAP_IMPORTENUMAMPENTRY.fields_by_name['value'].enum_type = google_dot_protobuf_dot_unittest__import__pb2._IMPORTENUMFORMAP
_TESTIMPORTENUMMAP_IMPORTENUMAMPENTRY.containing_type = _TESTIMPORTENUMMAP
_TESTIMPORTENUMMAP.fields_by_name['import_enum_amp'].message_type = _TESTIMPORTENUMMAP_IMPORTENUMAMPENTRY
_TESTINTINTMAP_MENTRY.containing_type = _TESTINTINTMAP
_TESTINTINTMAP.fields_by_name['m'].message_type = _TESTINTINTMAP_MENTRY
_TESTMAPS_MINT32ENTRY.fields_by_name['value'].message_type = _TESTINTINTMAP
_TESTMAPS_MINT32ENTRY.containing_type = _TESTMAPS
_TESTMAPS_MINT64ENTRY.fields_by_name['value'].message_type = _TESTINTINTMAP
_TESTMAPS_MINT64ENTRY.containing_type = _TESTMAPS
_TESTMAPS_MUINT32ENTRY.fields_by_name['value'].message_type = _TESTINTINTMAP
_TESTMAPS_MUINT32ENTRY.containing_type = _TESTMAPS
_TESTMAPS_MUINT64ENTRY.fields_by_name['value'].message_type = _TESTINTINTMAP
_TESTMAPS_MUINT64ENTRY.containing_type = _TESTMAPS
_TESTMAPS_MSINT32ENTRY.fields_by_name['value'].message_type = _TESTINTINTMAP
_TESTMAPS_MSINT32ENTRY.containing_type = _TESTMAPS
_TESTMAPS_MSINT64ENTRY.fields_by_name['value'].message_type = _TESTINTINTMAP
_TESTMAPS_MSINT64ENTRY.containing_type = _TESTMAPS
_TESTMAPS_MFIXED32ENTRY.fields_by_name['value'].message_type = _TESTINTINTMAP
_TESTMAPS_MFIXED32ENTRY.containing_type = _TESTMAPS
_TESTMAPS_MFIXED64ENTRY.fields_by_name['value'].message_type = _TESTINTINTMAP
_TESTMAPS_MFIXED64ENTRY.containing_type = _TESTMAPS
_TESTMAPS_MSFIXED32ENTRY.fields_by_name['value'].message_type = _TESTINTINTMAP
_TESTMAPS_MSFIXED32ENTRY.containing_type = _TESTMAPS
_TESTMAPS_MSFIXED64ENTRY.fields_by_name['value'].message_type = _TESTINTINTMAP
_TESTMAPS_MSFIXED64ENTRY.containing_type = _TESTMAPS
_TESTMAPS_MBOOLENTRY.fields_by_name['value'].message_type = _TESTINTINTMAP
_TESTMAPS_MBOOLENTRY.containing_type = _TESTMAPS
_TESTMAPS_MSTRINGENTRY.fields_by_name['value'].message_type = _TESTINTINTMAP
_TESTMAPS_MSTRINGENTRY.containing_type = _TESTMAPS
_TESTMAPS.fields_by_name['m_int32'].message_type = _TESTMAPS_MINT32ENTRY
_TESTMAPS.fields_by_name['m_int64'].message_type = _TESTMAPS_MINT64ENTRY
_TESTMAPS.fields_by_name['m_uint32'].message_type = _TESTMAPS_MUINT32ENTRY
_TESTMAPS.fields_by_name['m_uint64'].message_type = _TESTMAPS_MUINT64ENTRY
_TESTMAPS.fields_by_name['m_sint32'].message_type = _TESTMAPS_MSINT32ENTRY
_TESTMAPS.fields_by_name['m_sint64'].message_type = _TESTMAPS_MSINT64ENTRY
_TESTMAPS.fields_by_name['m_fixed32'].message_type = _TESTMAPS_MFIXED32ENTRY
_TESTMAPS.fields_by_name['m_fixed64'].message_type = _TESTMAPS_MFIXED64ENTRY
_TESTMAPS.fields_by_name['m_sfixed32'].message_type = _TESTMAPS_MSFIXED32ENTRY
_TESTMAPS.fields_by_name['m_sfixed64'].message_type = _TESTMAPS_MSFIXED64ENTRY
_TESTMAPS.fields_by_name['m_bool'].message_type = _TESTMAPS_MBOOLENTRY
_TESTMAPS.fields_by_name['m_string'].message_type = _TESTMAPS_MSTRINGENTRY
_TESTSUBMESSAGEMAPS.fields_by_name['m'].message_type = _TESTMAPS
DESCRIPTOR.message_types_by_name['TestEnumMap'] = _TESTENUMMAP
DESCRIPTOR.message_types_by_name['TestEnumMapPlusExtra'] = _TESTENUMMAPPLUSEXTRA
DESCRIPTOR.message_types_by_name['TestImportEnumMap'] = _TESTIMPORTENUMMAP
DESCRIPTOR.message_types_by_name['TestIntIntMap'] = _TESTINTINTMAP
DESCRIPTOR.message_types_by_name['TestMaps'] = _TESTMAPS
DESCRIPTOR.message_types_by_name['TestSubmessageMaps'] = _TESTSUBMESSAGEMAPS
DESCRIPTOR.enum_types_by_name['Proto2MapEnum'] = _PROTO2MAPENUM
DESCRIPTOR.enum_types_by_name['Proto2MapEnumPlusExtra'] = _PROTO2MAPENUMPLUSEXTRA
_sym_db.RegisterFileDescriptor(DESCRIPTOR)

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

  KnownMapFieldEntry = _reflection.GeneratedProtocolMessageType('KnownMapFieldEntry', (_message.Message,), dict(
    DESCRIPTOR = _TESTENUMMAP_KNOWNMAPFIELDENTRY,
    __module__ = 'google.protobuf.map_proto2_unittest_pb2'
    # @@protoc_insertion_point(class_scope:protobuf_unittest.TestEnumMap.KnownMapFieldEntry)
    ))
  ,

  UnknownMapFieldEntry = _reflection.GeneratedProtocolMessageType('UnknownMapFieldEntry', (_message.Message,), dict(
    DESCRIPTOR = _TESTENUMMAP_UNKNOWNMAPFIELDENTRY,
    __module__ = 'google.protobuf.map_proto2_unittest_pb2'
    # @@protoc_insertion_point(class_scope:protobuf_unittest.TestEnumMap.UnknownMapFieldEntry)
    ))
  ,
  DESCRIPTOR = _TESTENUMMAP,
  __module__ = 'google.protobuf.map_proto2_unittest_pb2'
  # @@protoc_insertion_point(class_scope:protobuf_unittest.TestEnumMap)
  ))
_sym_db.RegisterMessage(TestEnumMap)
_sym_db.RegisterMessage(TestEnumMap.KnownMapFieldEntry)
_sym_db.RegisterMessage(TestEnumMap.UnknownMapFieldEntry)

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

  KnownMapFieldEntry = _reflection.GeneratedProtocolMessageType('KnownMapFieldEntry', (_message.Message,), dict(
    DESCRIPTOR = _TESTENUMMAPPLUSEXTRA_KNOWNMAPFIELDENTRY,
    __module__ = 'google.protobuf.map_proto2_unittest_pb2'
    # @@protoc_insertion_point(class_scope:protobuf_unittest.TestEnumMapPlusExtra.KnownMapFieldEntry)
    ))
  ,

  UnknownMapFieldEntry = _reflection.GeneratedProtocolMessageType('UnknownMapFieldEntry', (_message.Message,), dict(
    DESCRIPTOR = _TESTENUMMAPPLUSEXTRA_UNKNOWNMAPFIELDENTRY,
    __module__ = 'google.protobuf.map_proto2_unittest_pb2'
    # @@protoc_insertion_point(class_scope:protobuf_unittest.TestEnumMapPlusExtra.UnknownMapFieldEntry)
    ))
  ,
  DESCRIPTOR = _TESTENUMMAPPLUSEXTRA,
  __module__ = 'google.protobuf.map_proto2_unittest_pb2'
  # @@protoc_insertion_point(class_scope:protobuf_unittest.TestEnumMapPlusExtra)
  ))
_sym_db.RegisterMessage(TestEnumMapPlusExtra)
_sym_db.RegisterMessage(TestEnumMapPlusExtra.KnownMapFieldEntry)
_sym_db.RegisterMessage(TestEnumMapPlusExtra.UnknownMapFieldEntry)

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

  ImportEnumAmpEntry = _reflection.GeneratedProtocolMessageType('ImportEnumAmpEntry', (_message.Message,), dict(
    DESCRIPTOR = _TESTIMPORTENUMMAP_IMPORTENUMAMPENTRY,
    __module__ = 'google.protobuf.map_proto2_unittest_pb2'
    # @@protoc_insertion_point(class_scope:protobuf_unittest.TestImportEnumMap.ImportEnumAmpEntry)
    ))
  ,
  DESCRIPTOR = _TESTIMPORTENUMMAP,
  __module__ = 'google.protobuf.map_proto2_unittest_pb2'
  # @@protoc_insertion_point(class_scope:protobuf_unittest.TestImportEnumMap)
  ))
_sym_db.RegisterMessage(TestImportEnumMap)
_sym_db.RegisterMessage(TestImportEnumMap.ImportEnumAmpEntry)

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

  MEntry = _reflection.GeneratedProtocolMessageType('MEntry', (_message.Message,), dict(
    DESCRIPTOR = _TESTINTINTMAP_MENTRY,
    __module__ = 'google.protobuf.map_proto2_unittest_pb2'
    # @@protoc_insertion_point(class_scope:protobuf_unittest.TestIntIntMap.MEntry)
    ))
  ,
  DESCRIPTOR = _TESTINTINTMAP,
  __module__ = 'google.protobuf.map_proto2_unittest_pb2'
  # @@protoc_insertion_point(class_scope:protobuf_unittest.TestIntIntMap)
  ))
_sym_db.RegisterMessage(TestIntIntMap)
_sym_db.RegisterMessage(TestIntIntMap.MEntry)

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

  MInt32Entry = _reflection.GeneratedProtocolMessageType('MInt32Entry', (_message.Message,), dict(
    DESCRIPTOR = _TESTMAPS_MINT32ENTRY,
    __module__ = 'google.protobuf.map_proto2_unittest_pb2'
    # @@protoc_insertion_point(class_scope:protobuf_unittest.TestMaps.MInt32Entry)
    ))
  ,

  MInt64Entry = _reflection.GeneratedProtocolMessageType('MInt64Entry', (_message.Message,), dict(
    DESCRIPTOR = _TESTMAPS_MINT64ENTRY,
    __module__ = 'google.protobuf.map_proto2_unittest_pb2'
    # @@protoc_insertion_point(class_scope:protobuf_unittest.TestMaps.MInt64Entry)
    ))
  ,

  MUint32Entry = _reflection.GeneratedProtocolMessageType('MUint32Entry', (_message.Message,), dict(
    DESCRIPTOR = _TESTMAPS_MUINT32ENTRY,
    __module__ = 'google.protobuf.map_proto2_unittest_pb2'
    # @@protoc_insertion_point(class_scope:protobuf_unittest.TestMaps.MUint32Entry)
    ))
  ,

  MUint64Entry = _reflection.GeneratedProtocolMessageType('MUint64Entry', (_message.Message,), dict(
    DESCRIPTOR = _TESTMAPS_MUINT64ENTRY,
    __module__ = 'google.protobuf.map_proto2_unittest_pb2'
    # @@protoc_insertion_point(class_scope:protobuf_unittest.TestMaps.MUint64Entry)
    ))
  ,

  MSint32Entry = _reflection.GeneratedProtocolMessageType('MSint32Entry', (_message.Message,), dict(
    DESCRIPTOR = _TESTMAPS_MSINT32ENTRY,
    __module__ = 'google.protobuf.map_proto2_unittest_pb2'
    # @@protoc_insertion_point(class_scope:protobuf_unittest.TestMaps.MSint32Entry)
    ))
  ,

  MSint64Entry = _reflection.GeneratedProtocolMessageType('MSint64Entry', (_message.Message,), dict(
    DESCRIPTOR = _TESTMAPS_MSINT64ENTRY,
    __module__ = 'google.protobuf.map_proto2_unittest_pb2'
    # @@protoc_insertion_point(class_scope:protobuf_unittest.TestMaps.MSint64Entry)
    ))
  ,

  MFixed32Entry = _reflection.GeneratedProtocolMessageType('MFixed32Entry', (_message.Message,), dict(
    DESCRIPTOR = _TESTMAPS_MFIXED32ENTRY,
    __module__ = 'google.protobuf.map_proto2_unittest_pb2'
    # @@protoc_insertion_point(class_scope:protobuf_unittest.TestMaps.MFixed32Entry)
    ))
  ,

  MFixed64Entry = _reflection.GeneratedProtocolMessageType('MFixed64Entry', (_message.Message,), dict(
    DESCRIPTOR = _TESTMAPS_MFIXED64ENTRY,
    __module__ = 'google.protobuf.map_proto2_unittest_pb2'
    # @@protoc_insertion_point(class_scope:protobuf_unittest.TestMaps.MFixed64Entry)
    ))
  ,

  MSfixed32Entry = _reflection.GeneratedProtocolMessageType('MSfixed32Entry', (_message.Message,), dict(
    DESCRIPTOR = _TESTMAPS_MSFIXED32ENTRY,
    __module__ = 'google.protobuf.map_proto2_unittest_pb2'
    # @@protoc_insertion_point(class_scope:protobuf_unittest.TestMaps.MSfixed32Entry)
    ))
  ,

  MSfixed64Entry = _reflection.GeneratedProtocolMessageType('MSfixed64Entry', (_message.Message,), dict(
    DESCRIPTOR = _TESTMAPS_MSFIXED64ENTRY,
    __module__ = 'google.protobuf.map_proto2_unittest_pb2'
    # @@protoc_insertion_point(class_scope:protobuf_unittest.TestMaps.MSfixed64Entry)
    ))
  ,

  MBoolEntry = _reflection.GeneratedProtocolMessageType('MBoolEntry', (_message.Message,), dict(
    DESCRIPTOR = _TESTMAPS_MBOOLENTRY,
    __module__ = 'google.protobuf.map_proto2_unittest_pb2'
    # @@protoc_insertion_point(class_scope:protobuf_unittest.TestMaps.MBoolEntry)
    ))
  ,

  MStringEntry = _reflection.GeneratedProtocolMessageType('MStringEntry', (_message.Message,), dict(
    DESCRIPTOR = _TESTMAPS_MSTRINGENTRY,
    __module__ = 'google.protobuf.map_proto2_unittest_pb2'
    # @@protoc_insertion_point(class_scope:protobuf_unittest.TestMaps.MStringEntry)
    ))
  ,
  DESCRIPTOR = _TESTMAPS,
  __module__ = 'google.protobuf.map_proto2_unittest_pb2'
  # @@protoc_insertion_point(class_scope:protobuf_unittest.TestMaps)
  ))
_sym_db.RegisterMessage(TestMaps)
_sym_db.RegisterMessage(TestMaps.MInt32Entry)
_sym_db.RegisterMessage(TestMaps.MInt64Entry)
_sym_db.RegisterMessage(TestMaps.MUint32Entry)
_sym_db.RegisterMessage(TestMaps.MUint64Entry)
_sym_db.RegisterMessage(TestMaps.MSint32Entry)
_sym_db.RegisterMessage(TestMaps.MSint64Entry)
_sym_db.RegisterMessage(TestMaps.MFixed32Entry)
_sym_db.RegisterMessage(TestMaps.MFixed64Entry)
_sym_db.RegisterMessage(TestMaps.MSfixed32Entry)
_sym_db.RegisterMessage(TestMaps.MSfixed64Entry)
_sym_db.RegisterMessage(TestMaps.MBoolEntry)
_sym_db.RegisterMessage(TestMaps.MStringEntry)

TestSubmessageMaps = _reflection.GeneratedProtocolMessageType('TestSubmessageMaps', (_message.Message,), dict(
  DESCRIPTOR = _TESTSUBMESSAGEMAPS,
  __module__ = 'google.protobuf.map_proto2_unittest_pb2'
  # @@protoc_insertion_point(class_scope:protobuf_unittest.TestSubmessageMaps)
  ))
_sym_db.RegisterMessage(TestSubmessageMaps)


DESCRIPTOR._options = None
_TESTENUMMAP_KNOWNMAPFIELDENTRY._options = None
_TESTENUMMAP_UNKNOWNMAPFIELDENTRY._options = None
_TESTENUMMAPPLUSEXTRA_KNOWNMAPFIELDENTRY._options = None
_TESTENUMMAPPLUSEXTRA_UNKNOWNMAPFIELDENTRY._options = None
_TESTIMPORTENUMMAP_IMPORTENUMAMPENTRY._options = None
_TESTINTINTMAP_MENTRY._options = None
_TESTMAPS_MINT32ENTRY._options = None
_TESTMAPS_MINT64ENTRY._options = None
_TESTMAPS_MUINT32ENTRY._options = None
_TESTMAPS_MUINT64ENTRY._options = None
_TESTMAPS_MSINT32ENTRY._options = None
_TESTMAPS_MSINT64ENTRY._options = None
_TESTMAPS_MFIXED32ENTRY._options = None
_TESTMAPS_MFIXED64ENTRY._options = None
_TESTMAPS_MSFIXED32ENTRY._options = None
_TESTMAPS_MSFIXED64ENTRY._options = None
_TESTMAPS_MBOOLENTRY._options = None
_TESTMAPS_MSTRINGENTRY._options = None
# @@protoc_insertion_point(module_scope)
