# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: doc.proto

import sys
_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1'))
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()


import recipes_cfg_pb2 as recipes__cfg__pb2


DESCRIPTOR = _descriptor.FileDescriptor(
  name='doc.proto',
  package='recipe_engine',
  syntax='proto3',
  serialized_options=None,
  serialized_pb=_b('\n\tdoc.proto\x12\rrecipe_engine\x1a\x11recipes_cfg.proto\"\x8c\x1f\n\x03\x44oc\x1a\xa6\x01\n\x05Known\x12\x0b\n\x03url\x18\x01 \x01(\t\x12\'\n\x04\x66unc\x18\x02 \x01(\x0b\x32\x17.recipe_engine.Doc.FuncH\x00\x12)\n\x05klass\x18\x03 \x01(\x0b\x32\x18.recipe_engine.Doc.ClassH\x00\x1a\x34\n\x06Object\x12\x11\n\x07generic\x18\x01 \x01(\tH\x00\x12\x0f\n\x05known\x18\x02 \x01(\tH\x00\x42\x06\n\x04kindB\x06\n\x04kind\x1a\xc8\x08\n\x06Schema\x12\x32\n\x06struct\x18\x01 \x01(\x0b\x32 .recipe_engine.Doc.Schema.StructH\x00\x12\x36\n\x08sequence\x18\x02 \x01(\x0b\x32\".recipe_engine.Doc.Schema.SequenceH\x00\x12.\n\x04list\x18\x03 \x01(\x0b\x32\x1e.recipe_engine.Doc.Schema.ListH\x00\x12,\n\x03set\x18\x04 \x01(\x0b\x32\x1d.recipe_engine.Doc.Schema.SetH\x00\x12.\n\x04\x64ict\x18\x05 \x01(\x0b\x32\x1e.recipe_engine.Doc.Schema.DictH\x00\x12\x32\n\x06single\x18\x06 \x01(\x0b\x32 .recipe_engine.Doc.Schema.SingleH\x00\x12\x32\n\x06static\x18\x07 \x01(\x0b\x32 .recipe_engine.Doc.Schema.StaticH\x00\x12.\n\x04\x65num\x18\x08 \x01(\x0b\x32\x1e.recipe_engine.Doc.Schema.EnumH\x00\x1a\x94\x01\n\x06Struct\x12?\n\x08type_map\x18\x01 \x03(\x0b\x32-.recipe_engine.Doc.Schema.Struct.TypeMapEntry\x1aI\n\x0cTypeMapEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12(\n\x05value\x18\x02 \x01(\x0b\x32\x19.recipe_engine.Doc.Schema:\x02\x38\x01\x1a\x39\n\x08Sequence\x12-\n\ninner_type\x18\x01 \x01(\x0b\x32\x19.recipe_engine.Doc.Schema\x1a@\n\x04List\x12\x38\n\ninner_type\x18\x01 \x03(\x0e\x32$.recipe_engine.Doc.Schema.SimpleType\x1a?\n\x03Set\x12\x38\n\ninner_type\x18\x01 \x03(\x0e\x32$.recipe_engine.Doc.Schema.SimpleType\x1a@\n\x04\x44ict\x12\x38\n\nvalue_type\x18\x01 \x03(\x0e\x32$.recipe_engine.Doc.Schema.SimpleType\x1aj\n\x06Single\x12\x38\n\ninner_type\x18\x01 \x03(\x0e\x32$.recipe_engine.Doc.Schema.SimpleType\x12\x10\n\x08required\x18\x02 \x01(\x08\x12\x14\n\x0c\x64\x65\x66\x61ult_json\x18\x03 \x01(\t\x1a\x1e\n\x06Static\x12\x14\n\x0c\x64\x65\x66\x61ult_json\x18\x01 \x01(\t\x1a-\n\x04\x45num\x12\x13\n\x0bvalues_json\x18\x01 \x03(\t\x12\x10\n\x08required\x18\x02 \x01(\x08\"R\n\nSimpleType\x12\n\n\x06STRING\x10\x00\x12\n\n\x06NUMBER\x10\x01\x12\x0b\n\x07\x42OOLEAN\x10\x02\x12\n\n\x06OBJECT\x10\x03\x12\t\n\x05\x41RRAY\x10\x04\x12\x08\n\x04NULL\x10\x05\x42\x06\n\x04kind\x1a\x90\x01\n\x04\x44\x65ps\x12\x0f\n\x07relpath\x18\x01 \x01(\t\x12\x0e\n\x06lineno\x18\x02 \x01(\x05\x12\x38\n\x0cmodule_links\x18\x03 \x03(\x0b\x32\".recipe_engine.Doc.Deps.ModuleLink\x1a-\n\nModuleLink\x12\x11\n\trepo_name\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x1a]\n\tParameter\x12\x11\n\tdocstring\x18\x01 \x01(\t\x12\'\n\x04kind\x18\x02 \x01(\x0b\x32\x19.recipe_engine.Doc.Schema\x12\x14\n\x0c\x64\x65\x66\x61ult_json\x18\x03 \x01(\t\x1a\xc1\x01\n\nParameters\x12\x0f\n\x07relpath\x18\x01 \x01(\t\x12\x0e\n\x06lineno\x18\x02 \x01(\x05\x12\x41\n\nparameters\x18\x03 \x03(\x0b\x32-.recipe_engine.Doc.Parameters.ParametersEntry\x1aO\n\x0fParametersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12+\n\x05value\x18\x02 \x01(\x0b\x32\x1c.recipe_engine.Doc.Parameter:\x02\x38\x01\x1aZ\n\x0cReturnSchema\x12\x0f\n\x07relpath\x18\x01 \x01(\t\x12\x0e\n\x06lineno\x18\x02 \x01(\x05\x12)\n\x06schema\x18\x03 \x01(\x0b\x32\x19.recipe_engine.Doc.Schema\x1a\xf6\x02\n\x05\x43lass\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0f\n\x07relpath\x18\x02 \x01(\t\x12\x0e\n\x06lineno\x18\x03 \x01(\x05\x12\x11\n\tdocstring\x18\x04 \x01(\t\x12.\n\x05\x62\x61ses\x18\x05 \x03(\x0b\x32\x1f.recipe_engine.Doc.Known.Object\x12\x36\n\x07\x63lasses\x18\x06 \x03(\x0b\x32%.recipe_engine.Doc.Class.ClassesEntry\x12\x32\n\x05\x66uncs\x18\x07 \x03(\x0b\x32#.recipe_engine.Doc.Class.FuncsEntry\x1aH\n\x0c\x43lassesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\'\n\x05value\x18\x02 \x01(\x0b\x32\x18.recipe_engine.Doc.Class:\x02\x38\x01\x1a\x45\n\nFuncsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12&\n\x05value\x18\x02 \x01(\x0b\x32\x17.recipe_engine.Doc.Func:\x02\x38\x01\x1a\x90\x01\n\x04\x46unc\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0f\n\x07relpath\x18\x02 \x01(\t\x12\x0e\n\x06lineno\x18\x03 \x01(\x05\x12\x11\n\tdocstring\x18\x04 \x01(\t\x12\x33\n\ndecorators\x18\x05 \x03(\x0b\x32\x1f.recipe_engine.Doc.Known.Object\x12\x11\n\tsignature\x18\x06 \x01(\t\x1a\xc0\x03\n\x06Module\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0f\n\x07relpath\x18\x02 \x01(\t\x12\x11\n\tdocstring\x18\x03 \x01(\t\x12%\n\x04\x64\x65ps\x18\x04 \x01(\x0b\x32\x17.recipe_engine.Doc.Deps\x12\x31\n\nparameters\x18\x05 \x01(\x0b\x32\x1d.recipe_engine.Doc.Parameters\x12+\n\tapi_class\x18\x06 \x01(\x0b\x32\x18.recipe_engine.Doc.Class\x12\x37\n\x07\x63lasses\x18\x07 \x03(\x0b\x32&.recipe_engine.Doc.Module.ClassesEntry\x12\x33\n\x05\x66uncs\x18\x08 \x03(\x0b\x32$.recipe_engine.Doc.Module.FuncsEntry\x1aH\n\x0c\x43lassesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\'\n\x05value\x18\x02 \x01(\x0b\x32\x18.recipe_engine.Doc.Class:\x02\x38\x01\x1a\x45\n\nFuncsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12&\n\x05value\x18\x02 \x01(\x0b\x32\x17.recipe_engine.Doc.Func:\x02\x38\x01\x1a\xde\x04\n\x06Recipe\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0f\n\x07relpath\x18\x02 \x01(\t\x12\x11\n\tdocstring\x18\x03 \x01(\t\x12%\n\x04\x64\x65ps\x18\x04 \x01(\x0b\x32\x17.recipe_engine.Doc.Deps\x12\x31\n\nparameters\x18\x05 \x01(\x0b\x32\x1d.recipe_engine.Doc.Parameters\x12\x36\n\rreturn_schema\x18\x06 \x01(\x0b\x32\x1f.recipe_engine.Doc.ReturnSchema\x12\x37\n\x07\x63lasses\x18\x07 \x03(\x0b\x32&.recipe_engine.Doc.Recipe.ClassesEntry\x12\x33\n\x05\x66uncs\x18\x08 \x03(\x0b\x32$.recipe_engine.Doc.Recipe.FuncsEntry\x12\x42\n\rknown_objects\x18\t \x03(\x0b\x32+.recipe_engine.Doc.Recipe.KnownObjectsEntry\x1aH\n\x0c\x43lassesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\'\n\x05value\x18\x02 \x01(\x0b\x32\x18.recipe_engine.Doc.Class:\x02\x38\x01\x1a\x45\n\nFuncsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12&\n\x05value\x18\x02 \x01(\x0b\x32\x17.recipe_engine.Doc.Func:\x02\x38\x01\x1aM\n\x11KnownObjectsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\'\n\x05value\x18\x02 \x01(\x0b\x32\x18.recipe_engine.Doc.Known:\x02\x38\x01\x1a\xce\x04\n\x04Repo\x12\x11\n\trepo_name\x18\x01 \x01(\t\x12\x31\n\x05specs\x18\x02 \x03(\x0b\x32\".recipe_engine.Doc.Repo.SpecsEntry\x12\x11\n\tdocstring\x18\x03 \x01(\t\x12\x42\n\x0erecipe_modules\x18\x04 \x03(\x0b\x32*.recipe_engine.Doc.Repo.RecipeModulesEntry\x12\x35\n\x07recipes\x18\x05 \x03(\x0b\x32$.recipe_engine.Doc.Repo.RecipesEntry\x12@\n\rknown_objects\x18\x06 \x03(\x0b\x32).recipe_engine.Doc.Repo.KnownObjectsEntry\x1a\x45\n\nSpecsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12&\n\x05value\x18\x02 \x01(\x0b\x32\x17.recipe_engine.RepoSpec:\x02\x38\x01\x1aO\n\x12RecipeModulesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12(\n\x05value\x18\x02 \x01(\x0b\x32\x19.recipe_engine.Doc.Module:\x02\x38\x01\x1aI\n\x0cRecipesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12(\n\x05value\x18\x02 \x01(\x0b\x32\x19.recipe_engine.Doc.Recipe:\x02\x38\x01\x1aM\n\x11KnownObjectsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\'\n\x05value\x18\x02 \x01(\x0b\x32\x18.recipe_engine.Doc.Known:\x02\x38\x01\x62\x06proto3')
  ,
  dependencies=[recipes__cfg__pb2.DESCRIPTOR,])



_DOC_SCHEMA_SIMPLETYPE = _descriptor.EnumDescriptor(
  name='SimpleType',
  full_name='recipe_engine.Doc.Schema.SimpleType',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='STRING', index=0, number=0,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='NUMBER', index=1, number=1,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='BOOLEAN', index=2, number=2,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='OBJECT', index=3, number=3,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ARRAY', index=4, number=4,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='NULL', index=5, number=5,
      serialized_options=None,
      type=None),
  ],
  containing_type=None,
  serialized_options=None,
  serialized_start=1231,
  serialized_end=1313,
)
_sym_db.RegisterEnumDescriptor(_DOC_SCHEMA_SIMPLETYPE)


_DOC_KNOWN_OBJECT = _descriptor.Descriptor(
  name='Object',
  full_name='recipe_engine.Doc.Known.Object',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='generic', full_name='recipe_engine.Doc.Known.Object.generic', 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='known', full_name='recipe_engine.Doc.Known.Object.known', 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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
    _descriptor.OneofDescriptor(
      name='kind', full_name='recipe_engine.Doc.Known.Object.kind',
      index=0, containing_type=None, fields=[]),
  ],
  serialized_start=162,
  serialized_end=214,
)

_DOC_KNOWN = _descriptor.Descriptor(
  name='Known',
  full_name='recipe_engine.Doc.Known',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='url', full_name='recipe_engine.Doc.Known.url', 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='func', full_name='recipe_engine.Doc.Known.func', 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),
    _descriptor.FieldDescriptor(
      name='klass', full_name='recipe_engine.Doc.Known.klass', 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),
  ],
  extensions=[
  ],
  nested_types=[_DOC_KNOWN_OBJECT, ],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
    _descriptor.OneofDescriptor(
      name='kind', full_name='recipe_engine.Doc.Known.kind',
      index=0, containing_type=None, fields=[]),
  ],
  serialized_start=56,
  serialized_end=222,
)

_DOC_SCHEMA_STRUCT_TYPEMAPENTRY = _descriptor.Descriptor(
  name='TypeMapEntry',
  full_name='recipe_engine.Doc.Schema.Struct.TypeMapEntry',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='key', full_name='recipe_engine.Doc.Schema.Struct.TypeMapEntry.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='recipe_engine.Doc.Schema.Struct.TypeMapEntry.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='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=713,
  serialized_end=786,
)

_DOC_SCHEMA_STRUCT = _descriptor.Descriptor(
  name='Struct',
  full_name='recipe_engine.Doc.Schema.Struct',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='type_map', full_name='recipe_engine.Doc.Schema.Struct.type_map', 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=[_DOC_SCHEMA_STRUCT_TYPEMAPENTRY, ],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=638,
  serialized_end=786,
)

_DOC_SCHEMA_SEQUENCE = _descriptor.Descriptor(
  name='Sequence',
  full_name='recipe_engine.Doc.Schema.Sequence',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='inner_type', full_name='recipe_engine.Doc.Schema.Sequence.inner_type', 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='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=788,
  serialized_end=845,
)

_DOC_SCHEMA_LIST = _descriptor.Descriptor(
  name='List',
  full_name='recipe_engine.Doc.Schema.List',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='inner_type', full_name='recipe_engine.Doc.Schema.List.inner_type', index=0,
      number=1, type=14, cpp_type=8, 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=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=847,
  serialized_end=911,
)

_DOC_SCHEMA_SET = _descriptor.Descriptor(
  name='Set',
  full_name='recipe_engine.Doc.Schema.Set',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='inner_type', full_name='recipe_engine.Doc.Schema.Set.inner_type', index=0,
      number=1, type=14, cpp_type=8, 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=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=913,
  serialized_end=976,
)

_DOC_SCHEMA_DICT = _descriptor.Descriptor(
  name='Dict',
  full_name='recipe_engine.Doc.Schema.Dict',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='value_type', full_name='recipe_engine.Doc.Schema.Dict.value_type', index=0,
      number=1, type=14, cpp_type=8, 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=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=978,
  serialized_end=1042,
)

_DOC_SCHEMA_SINGLE = _descriptor.Descriptor(
  name='Single',
  full_name='recipe_engine.Doc.Schema.Single',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='inner_type', full_name='recipe_engine.Doc.Schema.Single.inner_type', index=0,
      number=1, type=14, cpp_type=8, 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='required', full_name='recipe_engine.Doc.Schema.Single.required', index=1,
      number=2, 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='default_json', full_name='recipe_engine.Doc.Schema.Single.default_json', index=2,
      number=3, 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=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1044,
  serialized_end=1150,
)

_DOC_SCHEMA_STATIC = _descriptor.Descriptor(
  name='Static',
  full_name='recipe_engine.Doc.Schema.Static',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='default_json', full_name='recipe_engine.Doc.Schema.Static.default_json', 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=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1152,
  serialized_end=1182,
)

_DOC_SCHEMA_ENUM = _descriptor.Descriptor(
  name='Enum',
  full_name='recipe_engine.Doc.Schema.Enum',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='values_json', full_name='recipe_engine.Doc.Schema.Enum.values_json', index=0,
      number=1, type=9, cpp_type=9, 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='required', full_name='recipe_engine.Doc.Schema.Enum.required', index=1,
      number=2, 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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1184,
  serialized_end=1229,
)

_DOC_SCHEMA = _descriptor.Descriptor(
  name='Schema',
  full_name='recipe_engine.Doc.Schema',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='struct', full_name='recipe_engine.Doc.Schema.struct', 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='sequence', full_name='recipe_engine.Doc.Schema.sequence', 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),
    _descriptor.FieldDescriptor(
      name='list', full_name='recipe_engine.Doc.Schema.list', 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='set', full_name='recipe_engine.Doc.Schema.set', 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='dict', full_name='recipe_engine.Doc.Schema.dict', 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),
    _descriptor.FieldDescriptor(
      name='single', full_name='recipe_engine.Doc.Schema.single', index=5,
      number=6, 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='static', full_name='recipe_engine.Doc.Schema.static', index=6,
      number=7, 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='enum', full_name='recipe_engine.Doc.Schema.enum', index=7,
      number=8, 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=[_DOC_SCHEMA_STRUCT, _DOC_SCHEMA_SEQUENCE, _DOC_SCHEMA_LIST, _DOC_SCHEMA_SET, _DOC_SCHEMA_DICT, _DOC_SCHEMA_SINGLE, _DOC_SCHEMA_STATIC, _DOC_SCHEMA_ENUM, ],
  enum_types=[
    _DOC_SCHEMA_SIMPLETYPE,
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
    _descriptor.OneofDescriptor(
      name='kind', full_name='recipe_engine.Doc.Schema.kind',
      index=0, containing_type=None, fields=[]),
  ],
  serialized_start=225,
  serialized_end=1321,
)

_DOC_DEPS_MODULELINK = _descriptor.Descriptor(
  name='ModuleLink',
  full_name='recipe_engine.Doc.Deps.ModuleLink',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='repo_name', full_name='recipe_engine.Doc.Deps.ModuleLink.repo_name', 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='name', full_name='recipe_engine.Doc.Deps.ModuleLink.name', 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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1423,
  serialized_end=1468,
)

_DOC_DEPS = _descriptor.Descriptor(
  name='Deps',
  full_name='recipe_engine.Doc.Deps',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='relpath', full_name='recipe_engine.Doc.Deps.relpath', 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='lineno', full_name='recipe_engine.Doc.Deps.lineno', 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='module_links', full_name='recipe_engine.Doc.Deps.module_links', 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),
  ],
  extensions=[
  ],
  nested_types=[_DOC_DEPS_MODULELINK, ],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1324,
  serialized_end=1468,
)

_DOC_PARAMETER = _descriptor.Descriptor(
  name='Parameter',
  full_name='recipe_engine.Doc.Parameter',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='docstring', full_name='recipe_engine.Doc.Parameter.docstring', 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='kind', full_name='recipe_engine.Doc.Parameter.kind', 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),
    _descriptor.FieldDescriptor(
      name='default_json', full_name='recipe_engine.Doc.Parameter.default_json', index=2,
      number=3, 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=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1470,
  serialized_end=1563,
)

_DOC_PARAMETERS_PARAMETERSENTRY = _descriptor.Descriptor(
  name='ParametersEntry',
  full_name='recipe_engine.Doc.Parameters.ParametersEntry',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='key', full_name='recipe_engine.Doc.Parameters.ParametersEntry.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='recipe_engine.Doc.Parameters.ParametersEntry.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='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1680,
  serialized_end=1759,
)

_DOC_PARAMETERS = _descriptor.Descriptor(
  name='Parameters',
  full_name='recipe_engine.Doc.Parameters',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='relpath', full_name='recipe_engine.Doc.Parameters.relpath', 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='lineno', full_name='recipe_engine.Doc.Parameters.lineno', 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='parameters', full_name='recipe_engine.Doc.Parameters.parameters', 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),
  ],
  extensions=[
  ],
  nested_types=[_DOC_PARAMETERS_PARAMETERSENTRY, ],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1566,
  serialized_end=1759,
)

_DOC_RETURNSCHEMA = _descriptor.Descriptor(
  name='ReturnSchema',
  full_name='recipe_engine.Doc.ReturnSchema',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='relpath', full_name='recipe_engine.Doc.ReturnSchema.relpath', 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='lineno', full_name='recipe_engine.Doc.ReturnSchema.lineno', 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='schema', full_name='recipe_engine.Doc.ReturnSchema.schema', 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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1761,
  serialized_end=1851,
)

_DOC_CLASS_CLASSESENTRY = _descriptor.Descriptor(
  name='ClassesEntry',
  full_name='recipe_engine.Doc.Class.ClassesEntry',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='key', full_name='recipe_engine.Doc.Class.ClassesEntry.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='recipe_engine.Doc.Class.ClassesEntry.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='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2085,
  serialized_end=2157,
)

_DOC_CLASS_FUNCSENTRY = _descriptor.Descriptor(
  name='FuncsEntry',
  full_name='recipe_engine.Doc.Class.FuncsEntry',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='key', full_name='recipe_engine.Doc.Class.FuncsEntry.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='recipe_engine.Doc.Class.FuncsEntry.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='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2159,
  serialized_end=2228,
)

_DOC_CLASS = _descriptor.Descriptor(
  name='Class',
  full_name='recipe_engine.Doc.Class',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='name', full_name='recipe_engine.Doc.Class.name', 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='relpath', full_name='recipe_engine.Doc.Class.relpath', 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='lineno', full_name='recipe_engine.Doc.Class.lineno', 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='docstring', full_name='recipe_engine.Doc.Class.docstring', index=3,
      number=4, 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='bases', full_name='recipe_engine.Doc.Class.bases', 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='classes', full_name='recipe_engine.Doc.Class.classes', 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='funcs', full_name='recipe_engine.Doc.Class.funcs', 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),
  ],
  extensions=[
  ],
  nested_types=[_DOC_CLASS_CLASSESENTRY, _DOC_CLASS_FUNCSENTRY, ],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1854,
  serialized_end=2228,
)

_DOC_FUNC = _descriptor.Descriptor(
  name='Func',
  full_name='recipe_engine.Doc.Func',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='name', full_name='recipe_engine.Doc.Func.name', 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='relpath', full_name='recipe_engine.Doc.Func.relpath', 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='lineno', full_name='recipe_engine.Doc.Func.lineno', 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='docstring', full_name='recipe_engine.Doc.Func.docstring', index=3,
      number=4, 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='decorators', full_name='recipe_engine.Doc.Func.decorators', 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='signature', full_name='recipe_engine.Doc.Func.signature', index=5,
      number=6, 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=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2231,
  serialized_end=2375,
)

_DOC_MODULE_CLASSESENTRY = _descriptor.Descriptor(
  name='ClassesEntry',
  full_name='recipe_engine.Doc.Module.ClassesEntry',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='key', full_name='recipe_engine.Doc.Module.ClassesEntry.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='recipe_engine.Doc.Module.ClassesEntry.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='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2085,
  serialized_end=2157,
)

_DOC_MODULE_FUNCSENTRY = _descriptor.Descriptor(
  name='FuncsEntry',
  full_name='recipe_engine.Doc.Module.FuncsEntry',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='key', full_name='recipe_engine.Doc.Module.FuncsEntry.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='recipe_engine.Doc.Module.FuncsEntry.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='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2159,
  serialized_end=2228,
)

_DOC_MODULE = _descriptor.Descriptor(
  name='Module',
  full_name='recipe_engine.Doc.Module',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='name', full_name='recipe_engine.Doc.Module.name', 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='relpath', full_name='recipe_engine.Doc.Module.relpath', 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='docstring', full_name='recipe_engine.Doc.Module.docstring', index=2,
      number=3, 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='deps', full_name='recipe_engine.Doc.Module.deps', 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='parameters', full_name='recipe_engine.Doc.Module.parameters', 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),
    _descriptor.FieldDescriptor(
      name='api_class', full_name='recipe_engine.Doc.Module.api_class', index=5,
      number=6, 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='classes', full_name='recipe_engine.Doc.Module.classes', 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='funcs', full_name='recipe_engine.Doc.Module.funcs', 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),
  ],
  extensions=[
  ],
  nested_types=[_DOC_MODULE_CLASSESENTRY, _DOC_MODULE_FUNCSENTRY, ],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2378,
  serialized_end=2826,
)

_DOC_RECIPE_CLASSESENTRY = _descriptor.Descriptor(
  name='ClassesEntry',
  full_name='recipe_engine.Doc.Recipe.ClassesEntry',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='key', full_name='recipe_engine.Doc.Recipe.ClassesEntry.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='recipe_engine.Doc.Recipe.ClassesEntry.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='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2085,
  serialized_end=2157,
)

_DOC_RECIPE_FUNCSENTRY = _descriptor.Descriptor(
  name='FuncsEntry',
  full_name='recipe_engine.Doc.Recipe.FuncsEntry',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='key', full_name='recipe_engine.Doc.Recipe.FuncsEntry.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='recipe_engine.Doc.Recipe.FuncsEntry.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='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2159,
  serialized_end=2228,
)

_DOC_RECIPE_KNOWNOBJECTSENTRY = _descriptor.Descriptor(
  name='KnownObjectsEntry',
  full_name='recipe_engine.Doc.Recipe.KnownObjectsEntry',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='key', full_name='recipe_engine.Doc.Recipe.KnownObjectsEntry.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='recipe_engine.Doc.Recipe.KnownObjectsEntry.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='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3358,
  serialized_end=3435,
)

_DOC_RECIPE = _descriptor.Descriptor(
  name='Recipe',
  full_name='recipe_engine.Doc.Recipe',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='name', full_name='recipe_engine.Doc.Recipe.name', 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='relpath', full_name='recipe_engine.Doc.Recipe.relpath', 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='docstring', full_name='recipe_engine.Doc.Recipe.docstring', index=2,
      number=3, 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='deps', full_name='recipe_engine.Doc.Recipe.deps', 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='parameters', full_name='recipe_engine.Doc.Recipe.parameters', 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),
    _descriptor.FieldDescriptor(
      name='return_schema', full_name='recipe_engine.Doc.Recipe.return_schema', index=5,
      number=6, 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='classes', full_name='recipe_engine.Doc.Recipe.classes', 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='funcs', full_name='recipe_engine.Doc.Recipe.funcs', 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='known_objects', full_name='recipe_engine.Doc.Recipe.known_objects', 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),
  ],
  extensions=[
  ],
  nested_types=[_DOC_RECIPE_CLASSESENTRY, _DOC_RECIPE_FUNCSENTRY, _DOC_RECIPE_KNOWNOBJECTSENTRY, ],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2829,
  serialized_end=3435,
)

_DOC_REPO_SPECSENTRY = _descriptor.Descriptor(
  name='SpecsEntry',
  full_name='recipe_engine.Doc.Repo.SpecsEntry',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='key', full_name='recipe_engine.Doc.Repo.SpecsEntry.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='recipe_engine.Doc.Repo.SpecsEntry.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='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3724,
  serialized_end=3793,
)

_DOC_REPO_RECIPEMODULESENTRY = _descriptor.Descriptor(
  name='RecipeModulesEntry',
  full_name='recipe_engine.Doc.Repo.RecipeModulesEntry',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='key', full_name='recipe_engine.Doc.Repo.RecipeModulesEntry.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='recipe_engine.Doc.Repo.RecipeModulesEntry.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='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3795,
  serialized_end=3874,
)

_DOC_REPO_RECIPESENTRY = _descriptor.Descriptor(
  name='RecipesEntry',
  full_name='recipe_engine.Doc.Repo.RecipesEntry',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='key', full_name='recipe_engine.Doc.Repo.RecipesEntry.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='recipe_engine.Doc.Repo.RecipesEntry.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='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3876,
  serialized_end=3949,
)

_DOC_REPO_KNOWNOBJECTSENTRY = _descriptor.Descriptor(
  name='KnownObjectsEntry',
  full_name='recipe_engine.Doc.Repo.KnownObjectsEntry',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='key', full_name='recipe_engine.Doc.Repo.KnownObjectsEntry.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='recipe_engine.Doc.Repo.KnownObjectsEntry.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='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3358,
  serialized_end=3435,
)

_DOC_REPO = _descriptor.Descriptor(
  name='Repo',
  full_name='recipe_engine.Doc.Repo',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='repo_name', full_name='recipe_engine.Doc.Repo.repo_name', 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='specs', full_name='recipe_engine.Doc.Repo.specs', 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='docstring', full_name='recipe_engine.Doc.Repo.docstring', index=2,
      number=3, 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='recipe_modules', full_name='recipe_engine.Doc.Repo.recipe_modules', 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='recipes', full_name='recipe_engine.Doc.Repo.recipes', 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='known_objects', full_name='recipe_engine.Doc.Repo.known_objects', 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),
  ],
  extensions=[
  ],
  nested_types=[_DOC_REPO_SPECSENTRY, _DOC_REPO_RECIPEMODULESENTRY, _DOC_REPO_RECIPESENTRY, _DOC_REPO_KNOWNOBJECTSENTRY, ],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3438,
  serialized_end=4028,
)

_DOC = _descriptor.Descriptor(
  name='Doc',
  full_name='recipe_engine.Doc',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
  ],
  extensions=[
  ],
  nested_types=[_DOC_KNOWN, _DOC_SCHEMA, _DOC_DEPS, _DOC_PARAMETER, _DOC_PARAMETERS, _DOC_RETURNSCHEMA, _DOC_CLASS, _DOC_FUNC, _DOC_MODULE, _DOC_RECIPE, _DOC_REPO, ],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=48,
  serialized_end=4028,
)

_DOC_KNOWN_OBJECT.containing_type = _DOC_KNOWN
_DOC_KNOWN_OBJECT.oneofs_by_name['kind'].fields.append(
  _DOC_KNOWN_OBJECT.fields_by_name['generic'])
_DOC_KNOWN_OBJECT.fields_by_name['generic'].containing_oneof = _DOC_KNOWN_OBJECT.oneofs_by_name['kind']
_DOC_KNOWN_OBJECT.oneofs_by_name['kind'].fields.append(
  _DOC_KNOWN_OBJECT.fields_by_name['known'])
_DOC_KNOWN_OBJECT.fields_by_name['known'].containing_oneof = _DOC_KNOWN_OBJECT.oneofs_by_name['kind']
_DOC_KNOWN.fields_by_name['func'].message_type = _DOC_FUNC
_DOC_KNOWN.fields_by_name['klass'].message_type = _DOC_CLASS
_DOC_KNOWN.containing_type = _DOC
_DOC_KNOWN.oneofs_by_name['kind'].fields.append(
  _DOC_KNOWN.fields_by_name['func'])
_DOC_KNOWN.fields_by_name['func'].containing_oneof = _DOC_KNOWN.oneofs_by_name['kind']
_DOC_KNOWN.oneofs_by_name['kind'].fields.append(
  _DOC_KNOWN.fields_by_name['klass'])
_DOC_KNOWN.fields_by_name['klass'].containing_oneof = _DOC_KNOWN.oneofs_by_name['kind']
_DOC_SCHEMA_STRUCT_TYPEMAPENTRY.fields_by_name['value'].message_type = _DOC_SCHEMA
_DOC_SCHEMA_STRUCT_TYPEMAPENTRY.containing_type = _DOC_SCHEMA_STRUCT
_DOC_SCHEMA_STRUCT.fields_by_name['type_map'].message_type = _DOC_SCHEMA_STRUCT_TYPEMAPENTRY
_DOC_SCHEMA_STRUCT.containing_type = _DOC_SCHEMA
_DOC_SCHEMA_SEQUENCE.fields_by_name['inner_type'].message_type = _DOC_SCHEMA
_DOC_SCHEMA_SEQUENCE.containing_type = _DOC_SCHEMA
_DOC_SCHEMA_LIST.fields_by_name['inner_type'].enum_type = _DOC_SCHEMA_SIMPLETYPE
_DOC_SCHEMA_LIST.containing_type = _DOC_SCHEMA
_DOC_SCHEMA_SET.fields_by_name['inner_type'].enum_type = _DOC_SCHEMA_SIMPLETYPE
_DOC_SCHEMA_SET.containing_type = _DOC_SCHEMA
_DOC_SCHEMA_DICT.fields_by_name['value_type'].enum_type = _DOC_SCHEMA_SIMPLETYPE
_DOC_SCHEMA_DICT.containing_type = _DOC_SCHEMA
_DOC_SCHEMA_SINGLE.fields_by_name['inner_type'].enum_type = _DOC_SCHEMA_SIMPLETYPE
_DOC_SCHEMA_SINGLE.containing_type = _DOC_SCHEMA
_DOC_SCHEMA_STATIC.containing_type = _DOC_SCHEMA
_DOC_SCHEMA_ENUM.containing_type = _DOC_SCHEMA
_DOC_SCHEMA.fields_by_name['struct'].message_type = _DOC_SCHEMA_STRUCT
_DOC_SCHEMA.fields_by_name['sequence'].message_type = _DOC_SCHEMA_SEQUENCE
_DOC_SCHEMA.fields_by_name['list'].message_type = _DOC_SCHEMA_LIST
_DOC_SCHEMA.fields_by_name['set'].message_type = _DOC_SCHEMA_SET
_DOC_SCHEMA.fields_by_name['dict'].message_type = _DOC_SCHEMA_DICT
_DOC_SCHEMA.fields_by_name['single'].message_type = _DOC_SCHEMA_SINGLE
_DOC_SCHEMA.fields_by_name['static'].message_type = _DOC_SCHEMA_STATIC
_DOC_SCHEMA.fields_by_name['enum'].message_type = _DOC_SCHEMA_ENUM
_DOC_SCHEMA.containing_type = _DOC
_DOC_SCHEMA_SIMPLETYPE.containing_type = _DOC_SCHEMA
_DOC_SCHEMA.oneofs_by_name['kind'].fields.append(
  _DOC_SCHEMA.fields_by_name['struct'])
_DOC_SCHEMA.fields_by_name['struct'].containing_oneof = _DOC_SCHEMA.oneofs_by_name['kind']
_DOC_SCHEMA.oneofs_by_name['kind'].fields.append(
  _DOC_SCHEMA.fields_by_name['sequence'])
_DOC_SCHEMA.fields_by_name['sequence'].containing_oneof = _DOC_SCHEMA.oneofs_by_name['kind']
_DOC_SCHEMA.oneofs_by_name['kind'].fields.append(
  _DOC_SCHEMA.fields_by_name['list'])
_DOC_SCHEMA.fields_by_name['list'].containing_oneof = _DOC_SCHEMA.oneofs_by_name['kind']
_DOC_SCHEMA.oneofs_by_name['kind'].fields.append(
  _DOC_SCHEMA.fields_by_name['set'])
_DOC_SCHEMA.fields_by_name['set'].containing_oneof = _DOC_SCHEMA.oneofs_by_name['kind']
_DOC_SCHEMA.oneofs_by_name['kind'].fields.append(
  _DOC_SCHEMA.fields_by_name['dict'])
_DOC_SCHEMA.fields_by_name['dict'].containing_oneof = _DOC_SCHEMA.oneofs_by_name['kind']
_DOC_SCHEMA.oneofs_by_name['kind'].fields.append(
  _DOC_SCHEMA.fields_by_name['single'])
_DOC_SCHEMA.fields_by_name['single'].containing_oneof = _DOC_SCHEMA.oneofs_by_name['kind']
_DOC_SCHEMA.oneofs_by_name['kind'].fields.append(
  _DOC_SCHEMA.fields_by_name['static'])
_DOC_SCHEMA.fields_by_name['static'].containing_oneof = _DOC_SCHEMA.oneofs_by_name['kind']
_DOC_SCHEMA.oneofs_by_name['kind'].fields.append(
  _DOC_SCHEMA.fields_by_name['enum'])
_DOC_SCHEMA.fields_by_name['enum'].containing_oneof = _DOC_SCHEMA.oneofs_by_name['kind']
_DOC_DEPS_MODULELINK.containing_type = _DOC_DEPS
_DOC_DEPS.fields_by_name['module_links'].message_type = _DOC_DEPS_MODULELINK
_DOC_DEPS.containing_type = _DOC
_DOC_PARAMETER.fields_by_name['kind'].message_type = _DOC_SCHEMA
_DOC_PARAMETER.containing_type = _DOC
_DOC_PARAMETERS_PARAMETERSENTRY.fields_by_name['value'].message_type = _DOC_PARAMETER
_DOC_PARAMETERS_PARAMETERSENTRY.containing_type = _DOC_PARAMETERS
_DOC_PARAMETERS.fields_by_name['parameters'].message_type = _DOC_PARAMETERS_PARAMETERSENTRY
_DOC_PARAMETERS.containing_type = _DOC
_DOC_RETURNSCHEMA.fields_by_name['schema'].message_type = _DOC_SCHEMA
_DOC_RETURNSCHEMA.containing_type = _DOC
_DOC_CLASS_CLASSESENTRY.fields_by_name['value'].message_type = _DOC_CLASS
_DOC_CLASS_CLASSESENTRY.containing_type = _DOC_CLASS
_DOC_CLASS_FUNCSENTRY.fields_by_name['value'].message_type = _DOC_FUNC
_DOC_CLASS_FUNCSENTRY.containing_type = _DOC_CLASS
_DOC_CLASS.fields_by_name['bases'].message_type = _DOC_KNOWN_OBJECT
_DOC_CLASS.fields_by_name['classes'].message_type = _DOC_CLASS_CLASSESENTRY
_DOC_CLASS.fields_by_name['funcs'].message_type = _DOC_CLASS_FUNCSENTRY
_DOC_CLASS.containing_type = _DOC
_DOC_FUNC.fields_by_name['decorators'].message_type = _DOC_KNOWN_OBJECT
_DOC_FUNC.containing_type = _DOC
_DOC_MODULE_CLASSESENTRY.fields_by_name['value'].message_type = _DOC_CLASS
_DOC_MODULE_CLASSESENTRY.containing_type = _DOC_MODULE
_DOC_MODULE_FUNCSENTRY.fields_by_name['value'].message_type = _DOC_FUNC
_DOC_MODULE_FUNCSENTRY.containing_type = _DOC_MODULE
_DOC_MODULE.fields_by_name['deps'].message_type = _DOC_DEPS
_DOC_MODULE.fields_by_name['parameters'].message_type = _DOC_PARAMETERS
_DOC_MODULE.fields_by_name['api_class'].message_type = _DOC_CLASS
_DOC_MODULE.fields_by_name['classes'].message_type = _DOC_MODULE_CLASSESENTRY
_DOC_MODULE.fields_by_name['funcs'].message_type = _DOC_MODULE_FUNCSENTRY
_DOC_MODULE.containing_type = _DOC
_DOC_RECIPE_CLASSESENTRY.fields_by_name['value'].message_type = _DOC_CLASS
_DOC_RECIPE_CLASSESENTRY.containing_type = _DOC_RECIPE
_DOC_RECIPE_FUNCSENTRY.fields_by_name['value'].message_type = _DOC_FUNC
_DOC_RECIPE_FUNCSENTRY.containing_type = _DOC_RECIPE
_DOC_RECIPE_KNOWNOBJECTSENTRY.fields_by_name['value'].message_type = _DOC_KNOWN
_DOC_RECIPE_KNOWNOBJECTSENTRY.containing_type = _DOC_RECIPE
_DOC_RECIPE.fields_by_name['deps'].message_type = _DOC_DEPS
_DOC_RECIPE.fields_by_name['parameters'].message_type = _DOC_PARAMETERS
_DOC_RECIPE.fields_by_name['return_schema'].message_type = _DOC_RETURNSCHEMA
_DOC_RECIPE.fields_by_name['classes'].message_type = _DOC_RECIPE_CLASSESENTRY
_DOC_RECIPE.fields_by_name['funcs'].message_type = _DOC_RECIPE_FUNCSENTRY
_DOC_RECIPE.fields_by_name['known_objects'].message_type = _DOC_RECIPE_KNOWNOBJECTSENTRY
_DOC_RECIPE.containing_type = _DOC
_DOC_REPO_SPECSENTRY.fields_by_name['value'].message_type = recipes__cfg__pb2._REPOSPEC
_DOC_REPO_SPECSENTRY.containing_type = _DOC_REPO
_DOC_REPO_RECIPEMODULESENTRY.fields_by_name['value'].message_type = _DOC_MODULE
_DOC_REPO_RECIPEMODULESENTRY.containing_type = _DOC_REPO
_DOC_REPO_RECIPESENTRY.fields_by_name['value'].message_type = _DOC_RECIPE
_DOC_REPO_RECIPESENTRY.containing_type = _DOC_REPO
_DOC_REPO_KNOWNOBJECTSENTRY.fields_by_name['value'].message_type = _DOC_KNOWN
_DOC_REPO_KNOWNOBJECTSENTRY.containing_type = _DOC_REPO
_DOC_REPO.fields_by_name['specs'].message_type = _DOC_REPO_SPECSENTRY
_DOC_REPO.fields_by_name['recipe_modules'].message_type = _DOC_REPO_RECIPEMODULESENTRY
_DOC_REPO.fields_by_name['recipes'].message_type = _DOC_REPO_RECIPESENTRY
_DOC_REPO.fields_by_name['known_objects'].message_type = _DOC_REPO_KNOWNOBJECTSENTRY
_DOC_REPO.containing_type = _DOC
DESCRIPTOR.message_types_by_name['Doc'] = _DOC
_sym_db.RegisterFileDescriptor(DESCRIPTOR)

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

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

    Object = _reflection.GeneratedProtocolMessageType('Object', (_message.Message,), dict(
      DESCRIPTOR = _DOC_KNOWN_OBJECT,
      __module__ = 'doc_pb2'
      # @@protoc_insertion_point(class_scope:recipe_engine.Doc.Known.Object)
      ))
    ,
    DESCRIPTOR = _DOC_KNOWN,
    __module__ = 'doc_pb2'
    # @@protoc_insertion_point(class_scope:recipe_engine.Doc.Known)
    ))
  ,

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

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

      TypeMapEntry = _reflection.GeneratedProtocolMessageType('TypeMapEntry', (_message.Message,), dict(
        DESCRIPTOR = _DOC_SCHEMA_STRUCT_TYPEMAPENTRY,
        __module__ = 'doc_pb2'
        # @@protoc_insertion_point(class_scope:recipe_engine.Doc.Schema.Struct.TypeMapEntry)
        ))
      ,
      DESCRIPTOR = _DOC_SCHEMA_STRUCT,
      __module__ = 'doc_pb2'
      # @@protoc_insertion_point(class_scope:recipe_engine.Doc.Schema.Struct)
      ))
    ,

    Sequence = _reflection.GeneratedProtocolMessageType('Sequence', (_message.Message,), dict(
      DESCRIPTOR = _DOC_SCHEMA_SEQUENCE,
      __module__ = 'doc_pb2'
      # @@protoc_insertion_point(class_scope:recipe_engine.Doc.Schema.Sequence)
      ))
    ,

    List = _reflection.GeneratedProtocolMessageType('List', (_message.Message,), dict(
      DESCRIPTOR = _DOC_SCHEMA_LIST,
      __module__ = 'doc_pb2'
      # @@protoc_insertion_point(class_scope:recipe_engine.Doc.Schema.List)
      ))
    ,

    Set = _reflection.GeneratedProtocolMessageType('Set', (_message.Message,), dict(
      DESCRIPTOR = _DOC_SCHEMA_SET,
      __module__ = 'doc_pb2'
      # @@protoc_insertion_point(class_scope:recipe_engine.Doc.Schema.Set)
      ))
    ,

    Dict = _reflection.GeneratedProtocolMessageType('Dict', (_message.Message,), dict(
      DESCRIPTOR = _DOC_SCHEMA_DICT,
      __module__ = 'doc_pb2'
      # @@protoc_insertion_point(class_scope:recipe_engine.Doc.Schema.Dict)
      ))
    ,

    Single = _reflection.GeneratedProtocolMessageType('Single', (_message.Message,), dict(
      DESCRIPTOR = _DOC_SCHEMA_SINGLE,
      __module__ = 'doc_pb2'
      # @@protoc_insertion_point(class_scope:recipe_engine.Doc.Schema.Single)
      ))
    ,

    Static = _reflection.GeneratedProtocolMessageType('Static', (_message.Message,), dict(
      DESCRIPTOR = _DOC_SCHEMA_STATIC,
      __module__ = 'doc_pb2'
      # @@protoc_insertion_point(class_scope:recipe_engine.Doc.Schema.Static)
      ))
    ,

    Enum = _reflection.GeneratedProtocolMessageType('Enum', (_message.Message,), dict(
      DESCRIPTOR = _DOC_SCHEMA_ENUM,
      __module__ = 'doc_pb2'
      # @@protoc_insertion_point(class_scope:recipe_engine.Doc.Schema.Enum)
      ))
    ,
    DESCRIPTOR = _DOC_SCHEMA,
    __module__ = 'doc_pb2'
    # @@protoc_insertion_point(class_scope:recipe_engine.Doc.Schema)
    ))
  ,

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

    ModuleLink = _reflection.GeneratedProtocolMessageType('ModuleLink', (_message.Message,), dict(
      DESCRIPTOR = _DOC_DEPS_MODULELINK,
      __module__ = 'doc_pb2'
      # @@protoc_insertion_point(class_scope:recipe_engine.Doc.Deps.ModuleLink)
      ))
    ,
    DESCRIPTOR = _DOC_DEPS,
    __module__ = 'doc_pb2'
    # @@protoc_insertion_point(class_scope:recipe_engine.Doc.Deps)
    ))
  ,

  Parameter = _reflection.GeneratedProtocolMessageType('Parameter', (_message.Message,), dict(
    DESCRIPTOR = _DOC_PARAMETER,
    __module__ = 'doc_pb2'
    # @@protoc_insertion_point(class_scope:recipe_engine.Doc.Parameter)
    ))
  ,

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

    ParametersEntry = _reflection.GeneratedProtocolMessageType('ParametersEntry', (_message.Message,), dict(
      DESCRIPTOR = _DOC_PARAMETERS_PARAMETERSENTRY,
      __module__ = 'doc_pb2'
      # @@protoc_insertion_point(class_scope:recipe_engine.Doc.Parameters.ParametersEntry)
      ))
    ,
    DESCRIPTOR = _DOC_PARAMETERS,
    __module__ = 'doc_pb2'
    # @@protoc_insertion_point(class_scope:recipe_engine.Doc.Parameters)
    ))
  ,

  ReturnSchema = _reflection.GeneratedProtocolMessageType('ReturnSchema', (_message.Message,), dict(
    DESCRIPTOR = _DOC_RETURNSCHEMA,
    __module__ = 'doc_pb2'
    # @@protoc_insertion_point(class_scope:recipe_engine.Doc.ReturnSchema)
    ))
  ,

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

    ClassesEntry = _reflection.GeneratedProtocolMessageType('ClassesEntry', (_message.Message,), dict(
      DESCRIPTOR = _DOC_CLASS_CLASSESENTRY,
      __module__ = 'doc_pb2'
      # @@protoc_insertion_point(class_scope:recipe_engine.Doc.Class.ClassesEntry)
      ))
    ,

    FuncsEntry = _reflection.GeneratedProtocolMessageType('FuncsEntry', (_message.Message,), dict(
      DESCRIPTOR = _DOC_CLASS_FUNCSENTRY,
      __module__ = 'doc_pb2'
      # @@protoc_insertion_point(class_scope:recipe_engine.Doc.Class.FuncsEntry)
      ))
    ,
    DESCRIPTOR = _DOC_CLASS,
    __module__ = 'doc_pb2'
    # @@protoc_insertion_point(class_scope:recipe_engine.Doc.Class)
    ))
  ,

  Func = _reflection.GeneratedProtocolMessageType('Func', (_message.Message,), dict(
    DESCRIPTOR = _DOC_FUNC,
    __module__ = 'doc_pb2'
    # @@protoc_insertion_point(class_scope:recipe_engine.Doc.Func)
    ))
  ,

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

    ClassesEntry = _reflection.GeneratedProtocolMessageType('ClassesEntry', (_message.Message,), dict(
      DESCRIPTOR = _DOC_MODULE_CLASSESENTRY,
      __module__ = 'doc_pb2'
      # @@protoc_insertion_point(class_scope:recipe_engine.Doc.Module.ClassesEntry)
      ))
    ,

    FuncsEntry = _reflection.GeneratedProtocolMessageType('FuncsEntry', (_message.Message,), dict(
      DESCRIPTOR = _DOC_MODULE_FUNCSENTRY,
      __module__ = 'doc_pb2'
      # @@protoc_insertion_point(class_scope:recipe_engine.Doc.Module.FuncsEntry)
      ))
    ,
    DESCRIPTOR = _DOC_MODULE,
    __module__ = 'doc_pb2'
    # @@protoc_insertion_point(class_scope:recipe_engine.Doc.Module)
    ))
  ,

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

    ClassesEntry = _reflection.GeneratedProtocolMessageType('ClassesEntry', (_message.Message,), dict(
      DESCRIPTOR = _DOC_RECIPE_CLASSESENTRY,
      __module__ = 'doc_pb2'
      # @@protoc_insertion_point(class_scope:recipe_engine.Doc.Recipe.ClassesEntry)
      ))
    ,

    FuncsEntry = _reflection.GeneratedProtocolMessageType('FuncsEntry', (_message.Message,), dict(
      DESCRIPTOR = _DOC_RECIPE_FUNCSENTRY,
      __module__ = 'doc_pb2'
      # @@protoc_insertion_point(class_scope:recipe_engine.Doc.Recipe.FuncsEntry)
      ))
    ,

    KnownObjectsEntry = _reflection.GeneratedProtocolMessageType('KnownObjectsEntry', (_message.Message,), dict(
      DESCRIPTOR = _DOC_RECIPE_KNOWNOBJECTSENTRY,
      __module__ = 'doc_pb2'
      # @@protoc_insertion_point(class_scope:recipe_engine.Doc.Recipe.KnownObjectsEntry)
      ))
    ,
    DESCRIPTOR = _DOC_RECIPE,
    __module__ = 'doc_pb2'
    # @@protoc_insertion_point(class_scope:recipe_engine.Doc.Recipe)
    ))
  ,

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

    SpecsEntry = _reflection.GeneratedProtocolMessageType('SpecsEntry', (_message.Message,), dict(
      DESCRIPTOR = _DOC_REPO_SPECSENTRY,
      __module__ = 'doc_pb2'
      # @@protoc_insertion_point(class_scope:recipe_engine.Doc.Repo.SpecsEntry)
      ))
    ,

    RecipeModulesEntry = _reflection.GeneratedProtocolMessageType('RecipeModulesEntry', (_message.Message,), dict(
      DESCRIPTOR = _DOC_REPO_RECIPEMODULESENTRY,
      __module__ = 'doc_pb2'
      # @@protoc_insertion_point(class_scope:recipe_engine.Doc.Repo.RecipeModulesEntry)
      ))
    ,

    RecipesEntry = _reflection.GeneratedProtocolMessageType('RecipesEntry', (_message.Message,), dict(
      DESCRIPTOR = _DOC_REPO_RECIPESENTRY,
      __module__ = 'doc_pb2'
      # @@protoc_insertion_point(class_scope:recipe_engine.Doc.Repo.RecipesEntry)
      ))
    ,

    KnownObjectsEntry = _reflection.GeneratedProtocolMessageType('KnownObjectsEntry', (_message.Message,), dict(
      DESCRIPTOR = _DOC_REPO_KNOWNOBJECTSENTRY,
      __module__ = 'doc_pb2'
      # @@protoc_insertion_point(class_scope:recipe_engine.Doc.Repo.KnownObjectsEntry)
      ))
    ,
    DESCRIPTOR = _DOC_REPO,
    __module__ = 'doc_pb2'
    # @@protoc_insertion_point(class_scope:recipe_engine.Doc.Repo)
    ))
  ,
  DESCRIPTOR = _DOC,
  __module__ = 'doc_pb2'
  # @@protoc_insertion_point(class_scope:recipe_engine.Doc)
  ))
_sym_db.RegisterMessage(Doc)
_sym_db.RegisterMessage(Doc.Known)
_sym_db.RegisterMessage(Doc.Known.Object)
_sym_db.RegisterMessage(Doc.Schema)
_sym_db.RegisterMessage(Doc.Schema.Struct)
_sym_db.RegisterMessage(Doc.Schema.Struct.TypeMapEntry)
_sym_db.RegisterMessage(Doc.Schema.Sequence)
_sym_db.RegisterMessage(Doc.Schema.List)
_sym_db.RegisterMessage(Doc.Schema.Set)
_sym_db.RegisterMessage(Doc.Schema.Dict)
_sym_db.RegisterMessage(Doc.Schema.Single)
_sym_db.RegisterMessage(Doc.Schema.Static)
_sym_db.RegisterMessage(Doc.Schema.Enum)
_sym_db.RegisterMessage(Doc.Deps)
_sym_db.RegisterMessage(Doc.Deps.ModuleLink)
_sym_db.RegisterMessage(Doc.Parameter)
_sym_db.RegisterMessage(Doc.Parameters)
_sym_db.RegisterMessage(Doc.Parameters.ParametersEntry)
_sym_db.RegisterMessage(Doc.ReturnSchema)
_sym_db.RegisterMessage(Doc.Class)
_sym_db.RegisterMessage(Doc.Class.ClassesEntry)
_sym_db.RegisterMessage(Doc.Class.FuncsEntry)
_sym_db.RegisterMessage(Doc.Func)
_sym_db.RegisterMessage(Doc.Module)
_sym_db.RegisterMessage(Doc.Module.ClassesEntry)
_sym_db.RegisterMessage(Doc.Module.FuncsEntry)
_sym_db.RegisterMessage(Doc.Recipe)
_sym_db.RegisterMessage(Doc.Recipe.ClassesEntry)
_sym_db.RegisterMessage(Doc.Recipe.FuncsEntry)
_sym_db.RegisterMessage(Doc.Recipe.KnownObjectsEntry)
_sym_db.RegisterMessage(Doc.Repo)
_sym_db.RegisterMessage(Doc.Repo.SpecsEntry)
_sym_db.RegisterMessage(Doc.Repo.RecipeModulesEntry)
_sym_db.RegisterMessage(Doc.Repo.RecipesEntry)
_sym_db.RegisterMessage(Doc.Repo.KnownObjectsEntry)


_DOC_SCHEMA_STRUCT_TYPEMAPENTRY._options = None
_DOC_PARAMETERS_PARAMETERSENTRY._options = None
_DOC_CLASS_CLASSESENTRY._options = None
_DOC_CLASS_FUNCSENTRY._options = None
_DOC_MODULE_CLASSESENTRY._options = None
_DOC_MODULE_FUNCSENTRY._options = None
_DOC_RECIPE_CLASSESENTRY._options = None
_DOC_RECIPE_FUNCSENTRY._options = None
_DOC_RECIPE_KNOWNOBJECTSENTRY._options = None
_DOC_REPO_SPECSENTRY._options = None
_DOC_REPO_RECIPEMODULESENTRY._options = None
_DOC_REPO_RECIPESENTRY._options = None
_DOC_REPO_KNOWNOBJECTSENTRY._options = None
# @@protoc_insertion_point(module_scope)
