# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: chromite/api/packages.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()


from chromite.api.gen.chromite.api import binhost_pb2 as chromite_dot_api_dot_binhost__pb2
from chromite.api.gen.chromite.api import build_api_pb2 as chromite_dot_api_dot_build__api__pb2
from chromite.api.gen.chromite.api import sysroot_pb2 as chromite_dot_api_dot_sysroot__pb2
from chromite.api.gen.chromiumos import common_pb2 as chromiumos_dot_common__pb2


DESCRIPTOR = _descriptor.FileDescriptor(
  name='chromite/api/packages.proto',
  package='chromite.api',
  syntax='proto3',
  serialized_options=_b('Z6go.chromium.org/chromiumos/infra/proto/go/chromite/api'),
  serialized_pb=_b('\n\x1b\x63hromite/api/packages.proto\x12\x0c\x63hromite.api\x1a\x1a\x63hromite/api/binhost.proto\x1a\x1c\x63hromite/api/build_api.proto\x1a\x1a\x63hromite/api/sysroot.proto\x1a\x17\x63hromiumos/common.proto\"\x93\x01\n\x13\x42uildsChromeRequest\x12\"\n\x06\x63hroot\x18\x01 \x01(\x0b\x32\x12.chromiumos.Chroot\x12-\n\x0c\x62uild_target\x18\x02 \x01(\x0b\x32\x17.chromiumos.BuildTarget\x12)\n\x08packages\x18\x03 \x03(\x0b\x32\x17.chromiumos.PackageInfo\"-\n\x14\x42uildsChromeResponse\x12\x15\n\rbuilds_chrome\x18\x01 \x01(\x08\"x\n\x15GetBestVisibleRequest\x12\x0c\n\x04\x61tom\x18\x01 \x01(\t\x12\"\n\x06\x63hroot\x18\x02 \x01(\x0b\x32\x12.chromiumos.Chroot\x12-\n\x0c\x62uild_target\x18\x03 \x01(\x0b\x32\x17.chromiumos.BuildTarget\"G\n\x16GetBestVisibleResponse\x12-\n\x0cpackage_info\x18\x01 \x01(\x0b\x32\x17.chromiumos.PackageInfo\"l\n\x17GetChromeVersionRequest\x12\"\n\x06\x63hroot\x18\x01 \x01(\x0b\x32\x12.chromiumos.Chroot\x12-\n\x0c\x62uild_target\x18\x02 \x01(\x0b\x32\x17.chromiumos.BuildTarget\"+\n\x18GetChromeVersionResponse\x12\x0f\n\x07version\x18\x01 \x01(\t\"\x98\x01\n\x18GetTargetVersionsRequest\x12\"\n\x06\x63hroot\x18\x01 \x01(\x0b\x32\x12.chromiumos.Chroot\x12-\n\x0c\x62uild_target\x18\x02 \x01(\x0b\x32\x17.chromiumos.BuildTarget\x12)\n\x08packages\x18\x03 \x03(\x0b\x32\x17.chromiumos.PackageInfo\"\xd7\x01\n\x19GetTargetVersionsResponse\x12\x17\n\x0f\x61ndroid_version\x18\x01 \x01(\t\x12\x1e\n\x16\x61ndroid_branch_version\x18\x02 \x01(\t\x12\x1e\n\x16\x61ndroid_target_version\x18\x03 \x01(\t\x12\x16\n\x0e\x63hrome_version\x18\x04 \x01(\t\x12\x14\n\x0c\x66ull_version\x18\x05 \x01(\t\x12\x19\n\x11milestone_version\x18\x06 \x01(\t\x12\x18\n\x10platform_version\x18\x07 \x01(\t\"n\n\x19GetBuilderMetadataRequest\x12\"\n\x06\x63hroot\x18\x01 \x01(\x0b\x32\x12.chromiumos.Chroot\x12-\n\x0c\x62uild_target\x18\x02 \x01(\x0b\x32\x17.chromiumos.BuildTarget\"\x8a\x05\n\x1aGetBuilderMetadataResponse\x12[\n\x15\x62uild_target_metadata\x18\x01 \x03(\x0b\x32<.chromite.api.GetBuilderMetadataResponse.BuildTargetMetadata\x12N\n\x0emodel_metadata\x18\x02 \x03(\x0b\x32\x36.chromite.api.GetBuilderMetadataResponse.ModelMetadata\x1a\xaa\x01\n\rModelMetadata\x12\x12\n\nmodel_name\x18\x01 \x01(\t\x12\x1b\n\x13\x65\x63_firmware_version\x18\x02 \x01(\t\x12\x17\n\x0f\x66irmware_key_id\x18\x03 \x01(\t\x12&\n\x1emain_readonly_firmware_version\x18\x04 \x01(\t\x12\'\n\x1fmain_readwrite_firmware_version\x18\x05 \x01(\t\x1a\x91\x02\n\x13\x42uildTargetMetadata\x12\x14\n\x0c\x62uild_target\x18\x01 \x01(\t\x12 \n\x18\x61ndroid_container_branch\x18\x02 \x01(\t\x12 \n\x18\x61ndroid_container_target\x18\x03 \x01(\t\x12!\n\x19\x61ndroid_container_version\x18\x04 \x01(\t\x12\x13\n\x0b\x61rc_use_set\x18\x05 \x01(\x08\x12\x1b\n\x13\x65\x63_firmware_version\x18\x06 \x01(\t\x12\x14\n\x0c\x66ingerprints\x18\x07 \x03(\t\x12\x16\n\x0ekernel_version\x18\x08 \x01(\t\x12\x1d\n\x15main_firmware_version\x18\t \x01(\t\"}\n\x18HasChromePrebuiltRequest\x12\"\n\x06\x63hroot\x18\x01 \x01(\x0b\x32\x12.chromiumos.Chroot\x12-\n\x0c\x62uild_target\x18\x02 \x01(\x0b\x32\x17.chromiumos.BuildTarget\x12\x0e\n\x06\x63hrome\x18\x03 \x01(\x08\"1\n\x19HasChromePrebuiltResponse\x12\x14\n\x0chas_prebuilt\x18\x01 \x01(\x08\"Y\n\x18NeedsChromeSourceRequest\x12=\n\x0finstall_request\x18\x01 \x01(\x0b\x32$.chromite.api.InstallPackagesRequest\"\xa9\x02\n\x19NeedsChromeSourceResponse\x12\x1b\n\x13needs_chrome_source\x18\x01 \x01(\x08\x12?\n\x07reasons\x18\x02 \x03(\x0e\x32..chromite.api.NeedsChromeSourceResponse.Reason\x12)\n\x08packages\x18\x03 \x03(\x0b\x32\x17.chromiumos.PackageInfo\x12\x15\n\rbuilds_chrome\x18\x04 \x01(\x08\"l\n\x06Reason\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x0f\n\x0bNO_PREBUILT\x10\x01\x12\x12\n\x0e\x43OMPILE_SOURCE\x10\x02\x12\x0f\n\x0bLOCAL_UPREV\x10\x03\x12\x1b\n\x17\x46OLLOWER_LACKS_PREBUILT\x10\x04\"\xa6\x01\n\x12HasPrebuiltRequest\x12\"\n\x06\x63hroot\x18\x01 \x01(\x0b\x32\x12.chromiumos.Chroot\x12-\n\x0c\x62uild_target\x18\x02 \x01(\x0b\x32\x17.chromiumos.BuildTarget\x12\x0e\n\x06\x63hrome\x18\x03 \x01(\x08\x12-\n\x0cpackage_info\x18\x04 \x01(\x0b\x32\x17.chromiumos.PackageInfo\"+\n\x13HasPrebuiltResponse\x12\x14\n\x0chas_prebuilt\x18\x01 \x01(\x08\"\xaf\x01\n\x14UprevPackagesRequest\x12\"\n\x06\x63hroot\x18\x01 \x01(\x0b\x32\x12.chromiumos.Chroot\x12.\n\rbuild_targets\x18\x02 \x03(\x0b\x32\x17.chromiumos.BuildTarget\x12/\n\x0coverlay_type\x18\x03 \x01(\x0e\x32\x19.chromite.api.OverlayType\x12\x12\n\noutput_dir\x18\x04 \x01(\t\"\xa3\x02\n\x1cUprevVersionedPackageRequest\x12\"\n\x06\x63hroot\x18\x01 \x01(\x0b\x32\x12.chromiumos.Chroot\x12-\n\x0cpackage_info\x18\x02 \x01(\x0b\x32\x17.chromiumos.PackageInfo\x12\x43\n\x08versions\x18\x03 \x03(\x0b\x32\x31.chromite.api.UprevVersionedPackageRequest.GitRef\x12.\n\rbuild_targets\x18\x04 \x03(\x0b\x32\x17.chromiumos.BuildTarget\x1a;\n\x06GitRef\x12\x12\n\nrepository\x18\x01 \x01(\t\x12\x0b\n\x03ref\x18\x02 \x01(\t\x12\x10\n\x08revision\x18\x03 \x01(\t\"\x86\x01\n\x15UprevPackagesResponse\x12\x44\n\x10modified_ebuilds\x18\x01 \x03(\x0b\x32*.chromite.api.UprevPackagesResponse.Ebuild\x12\x0f\n\x07version\x18\x02 \x01(\t\x1a\x16\n\x06\x45\x62uild\x12\x0c\n\x04path\x18\x01 \x01(\t\"W\n\x1dUprevVersionedPackageResponse\x12\x36\n\tresponses\x18\x01 \x03(\x0b\x32#.chromite.api.UprevPackagesResponse2\xfc\x07\n\x0ePackageService\x12U\n\x0c\x42uildsChrome\x12!.chromite.api.BuildsChromeRequest\x1a\".chromite.api.BuildsChromeResponse\x12[\n\x0eGetBestVisible\x12#.chromite.api.GetBestVisibleRequest\x1a$.chromite.api.GetBestVisibleResponse\x12\x61\n\x10GetChromeVersion\x12%.chromite.api.GetChromeVersionRequest\x1a&.chromite.api.GetChromeVersionResponse\x12\x64\n\x11GetTargetVersions\x12&.chromite.api.GetTargetVersionsRequest\x1a\'.chromite.api.GetTargetVersionsResponse\x12g\n\x12GetBuilderMetadata\x12\'.chromite.api.GetBuilderMetadataRequest\x1a(.chromite.api.GetBuilderMetadataResponse\x12\x64\n\x11HasChromePrebuilt\x12&.chromite.api.HasChromePrebuiltRequest\x1a\'.chromite.api.HasChromePrebuiltResponse\x12R\n\x0bHasPrebuilt\x12 .chromite.api.HasPrebuiltRequest\x1a!.chromite.api.HasPrebuiltResponse\x12\x64\n\x11NeedsChromeSource\x12&.chromite.api.NeedsChromeSourceRequest\x1a\'.chromite.api.NeedsChromeSourceResponse\x12X\n\x05Uprev\x12\".chromite.api.UprevPackagesRequest\x1a#.chromite.api.UprevPackagesResponse\"\x06\xc2\xed\x1a\x02\x10\x02\x12x\n\x15UprevVersionedPackage\x12*.chromite.api.UprevVersionedPackageRequest\x1a+.chromite.api.UprevVersionedPackageResponse\"\x06\xc2\xed\x1a\x02\x10\x02\x1a\x10\xc2\xed\x1a\x0c\n\x08packages\x10\x01\x42\x38Z6go.chromium.org/chromiumos/infra/proto/go/chromite/apib\x06proto3')
  ,
  dependencies=[chromite_dot_api_dot_binhost__pb2.DESCRIPTOR,chromite_dot_api_dot_build__api__pb2.DESCRIPTOR,chromite_dot_api_dot_sysroot__pb2.DESCRIPTOR,chromiumos_dot_common__pb2.DESCRIPTOR,])



_NEEDSCHROMESOURCERESPONSE_REASON = _descriptor.EnumDescriptor(
  name='Reason',
  full_name='chromite.api.NeedsChromeSourceResponse.Reason',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='UNSPECIFIED', index=0, number=0,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='NO_PREBUILT', index=1, number=1,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='COMPILE_SOURCE', index=2, number=2,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='LOCAL_UPREV', index=3, number=3,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='FOLLOWER_LACKS_PREBUILT', index=4, number=4,
      serialized_options=None,
      type=None),
  ],
  containing_type=None,
  serialized_options=None,
  serialized_start=2300,
  serialized_end=2408,
)
_sym_db.RegisterEnumDescriptor(_NEEDSCHROMESOURCERESPONSE_REASON)


_BUILDSCHROMEREQUEST = _descriptor.Descriptor(
  name='BuildsChromeRequest',
  full_name='chromite.api.BuildsChromeRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='chroot', full_name='chromite.api.BuildsChromeRequest.chroot', 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='build_target', full_name='chromite.api.BuildsChromeRequest.build_target', 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='packages', full_name='chromite.api.BuildsChromeRequest.packages', 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=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=157,
  serialized_end=304,
)


_BUILDSCHROMERESPONSE = _descriptor.Descriptor(
  name='BuildsChromeResponse',
  full_name='chromite.api.BuildsChromeResponse',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='builds_chrome', full_name='chromite.api.BuildsChromeResponse.builds_chrome', 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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=306,
  serialized_end=351,
)


_GETBESTVISIBLEREQUEST = _descriptor.Descriptor(
  name='GetBestVisibleRequest',
  full_name='chromite.api.GetBestVisibleRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='atom', full_name='chromite.api.GetBestVisibleRequest.atom', 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='chroot', full_name='chromite.api.GetBestVisibleRequest.chroot', 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='build_target', full_name='chromite.api.GetBestVisibleRequest.build_target', 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=353,
  serialized_end=473,
)


_GETBESTVISIBLERESPONSE = _descriptor.Descriptor(
  name='GetBestVisibleResponse',
  full_name='chromite.api.GetBestVisibleResponse',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='package_info', full_name='chromite.api.GetBestVisibleResponse.package_info', 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=475,
  serialized_end=546,
)


_GETCHROMEVERSIONREQUEST = _descriptor.Descriptor(
  name='GetChromeVersionRequest',
  full_name='chromite.api.GetChromeVersionRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='chroot', full_name='chromite.api.GetChromeVersionRequest.chroot', 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='build_target', full_name='chromite.api.GetChromeVersionRequest.build_target', 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=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=548,
  serialized_end=656,
)


_GETCHROMEVERSIONRESPONSE = _descriptor.Descriptor(
  name='GetChromeVersionResponse',
  full_name='chromite.api.GetChromeVersionResponse',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='version', full_name='chromite.api.GetChromeVersionResponse.version', 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=658,
  serialized_end=701,
)


_GETTARGETVERSIONSREQUEST = _descriptor.Descriptor(
  name='GetTargetVersionsRequest',
  full_name='chromite.api.GetTargetVersionsRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='chroot', full_name='chromite.api.GetTargetVersionsRequest.chroot', 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='build_target', full_name='chromite.api.GetTargetVersionsRequest.build_target', 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='packages', full_name='chromite.api.GetTargetVersionsRequest.packages', 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=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=704,
  serialized_end=856,
)


_GETTARGETVERSIONSRESPONSE = _descriptor.Descriptor(
  name='GetTargetVersionsResponse',
  full_name='chromite.api.GetTargetVersionsResponse',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='android_version', full_name='chromite.api.GetTargetVersionsResponse.android_version', 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='android_branch_version', full_name='chromite.api.GetTargetVersionsResponse.android_branch_version', 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='android_target_version', full_name='chromite.api.GetTargetVersionsResponse.android_target_version', 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='chrome_version', full_name='chromite.api.GetTargetVersionsResponse.chrome_version', 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='full_version', full_name='chromite.api.GetTargetVersionsResponse.full_version', index=4,
      number=5, 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='milestone_version', full_name='chromite.api.GetTargetVersionsResponse.milestone_version', 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),
    _descriptor.FieldDescriptor(
      name='platform_version', full_name='chromite.api.GetTargetVersionsResponse.platform_version', index=6,
      number=7, 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=859,
  serialized_end=1074,
)


_GETBUILDERMETADATAREQUEST = _descriptor.Descriptor(
  name='GetBuilderMetadataRequest',
  full_name='chromite.api.GetBuilderMetadataRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='chroot', full_name='chromite.api.GetBuilderMetadataRequest.chroot', 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='build_target', full_name='chromite.api.GetBuilderMetadataRequest.build_target', 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=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1076,
  serialized_end=1186,
)


_GETBUILDERMETADATARESPONSE_MODELMETADATA = _descriptor.Descriptor(
  name='ModelMetadata',
  full_name='chromite.api.GetBuilderMetadataResponse.ModelMetadata',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='model_name', full_name='chromite.api.GetBuilderMetadataResponse.ModelMetadata.model_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='ec_firmware_version', full_name='chromite.api.GetBuilderMetadataResponse.ModelMetadata.ec_firmware_version', 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='firmware_key_id', full_name='chromite.api.GetBuilderMetadataResponse.ModelMetadata.firmware_key_id', 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='main_readonly_firmware_version', full_name='chromite.api.GetBuilderMetadataResponse.ModelMetadata.main_readonly_firmware_version', 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='main_readwrite_firmware_version', full_name='chromite.api.GetBuilderMetadataResponse.ModelMetadata.main_readwrite_firmware_version', index=4,
      number=5, 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=1393,
  serialized_end=1563,
)

_GETBUILDERMETADATARESPONSE_BUILDTARGETMETADATA = _descriptor.Descriptor(
  name='BuildTargetMetadata',
  full_name='chromite.api.GetBuilderMetadataResponse.BuildTargetMetadata',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='build_target', full_name='chromite.api.GetBuilderMetadataResponse.BuildTargetMetadata.build_target', 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='android_container_branch', full_name='chromite.api.GetBuilderMetadataResponse.BuildTargetMetadata.android_container_branch', 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='android_container_target', full_name='chromite.api.GetBuilderMetadataResponse.BuildTargetMetadata.android_container_target', 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='android_container_version', full_name='chromite.api.GetBuilderMetadataResponse.BuildTargetMetadata.android_container_version', 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='arc_use_set', full_name='chromite.api.GetBuilderMetadataResponse.BuildTargetMetadata.arc_use_set', index=4,
      number=5, 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='ec_firmware_version', full_name='chromite.api.GetBuilderMetadataResponse.BuildTargetMetadata.ec_firmware_version', 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),
    _descriptor.FieldDescriptor(
      name='fingerprints', full_name='chromite.api.GetBuilderMetadataResponse.BuildTargetMetadata.fingerprints', index=6,
      number=7, 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='kernel_version', full_name='chromite.api.GetBuilderMetadataResponse.BuildTargetMetadata.kernel_version', index=7,
      number=8, 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='main_firmware_version', full_name='chromite.api.GetBuilderMetadataResponse.BuildTargetMetadata.main_firmware_version', index=8,
      number=9, 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=1566,
  serialized_end=1839,
)

_GETBUILDERMETADATARESPONSE = _descriptor.Descriptor(
  name='GetBuilderMetadataResponse',
  full_name='chromite.api.GetBuilderMetadataResponse',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='build_target_metadata', full_name='chromite.api.GetBuilderMetadataResponse.build_target_metadata', 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='model_metadata', full_name='chromite.api.GetBuilderMetadataResponse.model_metadata', 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),
  ],
  extensions=[
  ],
  nested_types=[_GETBUILDERMETADATARESPONSE_MODELMETADATA, _GETBUILDERMETADATARESPONSE_BUILDTARGETMETADATA, ],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1189,
  serialized_end=1839,
)


_HASCHROMEPREBUILTREQUEST = _descriptor.Descriptor(
  name='HasChromePrebuiltRequest',
  full_name='chromite.api.HasChromePrebuiltRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='chroot', full_name='chromite.api.HasChromePrebuiltRequest.chroot', 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='build_target', full_name='chromite.api.HasChromePrebuiltRequest.build_target', 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='chrome', full_name='chromite.api.HasChromePrebuiltRequest.chrome', index=2,
      number=3, 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=1841,
  serialized_end=1966,
)


_HASCHROMEPREBUILTRESPONSE = _descriptor.Descriptor(
  name='HasChromePrebuiltResponse',
  full_name='chromite.api.HasChromePrebuiltResponse',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='has_prebuilt', full_name='chromite.api.HasChromePrebuiltResponse.has_prebuilt', 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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1968,
  serialized_end=2017,
)


_NEEDSCHROMESOURCEREQUEST = _descriptor.Descriptor(
  name='NeedsChromeSourceRequest',
  full_name='chromite.api.NeedsChromeSourceRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='install_request', full_name='chromite.api.NeedsChromeSourceRequest.install_request', 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=2019,
  serialized_end=2108,
)


_NEEDSCHROMESOURCERESPONSE = _descriptor.Descriptor(
  name='NeedsChromeSourceResponse',
  full_name='chromite.api.NeedsChromeSourceResponse',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='needs_chrome_source', full_name='chromite.api.NeedsChromeSourceResponse.needs_chrome_source', 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='reasons', full_name='chromite.api.NeedsChromeSourceResponse.reasons', index=1,
      number=2, 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='packages', full_name='chromite.api.NeedsChromeSourceResponse.packages', 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='builds_chrome', full_name='chromite.api.NeedsChromeSourceResponse.builds_chrome', index=3,
      number=4, 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=[
    _NEEDSCHROMESOURCERESPONSE_REASON,
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2111,
  serialized_end=2408,
)


_HASPREBUILTREQUEST = _descriptor.Descriptor(
  name='HasPrebuiltRequest',
  full_name='chromite.api.HasPrebuiltRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='chroot', full_name='chromite.api.HasPrebuiltRequest.chroot', 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='build_target', full_name='chromite.api.HasPrebuiltRequest.build_target', 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='chrome', full_name='chromite.api.HasPrebuiltRequest.chrome', index=2,
      number=3, 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='package_info', full_name='chromite.api.HasPrebuiltRequest.package_info', 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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2411,
  serialized_end=2577,
)


_HASPREBUILTRESPONSE = _descriptor.Descriptor(
  name='HasPrebuiltResponse',
  full_name='chromite.api.HasPrebuiltResponse',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='has_prebuilt', full_name='chromite.api.HasPrebuiltResponse.has_prebuilt', 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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2579,
  serialized_end=2622,
)


_UPREVPACKAGESREQUEST = _descriptor.Descriptor(
  name='UprevPackagesRequest',
  full_name='chromite.api.UprevPackagesRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='chroot', full_name='chromite.api.UprevPackagesRequest.chroot', 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='build_targets', full_name='chromite.api.UprevPackagesRequest.build_targets', 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='overlay_type', full_name='chromite.api.UprevPackagesRequest.overlay_type', index=2,
      number=3, 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),
    _descriptor.FieldDescriptor(
      name='output_dir', full_name='chromite.api.UprevPackagesRequest.output_dir', 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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2625,
  serialized_end=2800,
)


_UPREVVERSIONEDPACKAGEREQUEST_GITREF = _descriptor.Descriptor(
  name='GitRef',
  full_name='chromite.api.UprevVersionedPackageRequest.GitRef',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='repository', full_name='chromite.api.UprevVersionedPackageRequest.GitRef.repository', 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='ref', full_name='chromite.api.UprevVersionedPackageRequest.GitRef.ref', 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='revision', full_name='chromite.api.UprevVersionedPackageRequest.GitRef.revision', 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=3035,
  serialized_end=3094,
)

_UPREVVERSIONEDPACKAGEREQUEST = _descriptor.Descriptor(
  name='UprevVersionedPackageRequest',
  full_name='chromite.api.UprevVersionedPackageRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='chroot', full_name='chromite.api.UprevVersionedPackageRequest.chroot', 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='package_info', full_name='chromite.api.UprevVersionedPackageRequest.package_info', 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='versions', full_name='chromite.api.UprevVersionedPackageRequest.versions', 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='build_targets', full_name='chromite.api.UprevVersionedPackageRequest.build_targets', index=3,
      number=4, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[_UPREVVERSIONEDPACKAGEREQUEST_GITREF, ],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2803,
  serialized_end=3094,
)


_UPREVPACKAGESRESPONSE_EBUILD = _descriptor.Descriptor(
  name='Ebuild',
  full_name='chromite.api.UprevPackagesResponse.Ebuild',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='path', full_name='chromite.api.UprevPackagesResponse.Ebuild.path', 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=3209,
  serialized_end=3231,
)

_UPREVPACKAGESRESPONSE = _descriptor.Descriptor(
  name='UprevPackagesResponse',
  full_name='chromite.api.UprevPackagesResponse',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='modified_ebuilds', full_name='chromite.api.UprevPackagesResponse.modified_ebuilds', 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='version', full_name='chromite.api.UprevPackagesResponse.version', 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=[_UPREVPACKAGESRESPONSE_EBUILD, ],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3097,
  serialized_end=3231,
)


_UPREVVERSIONEDPACKAGERESPONSE = _descriptor.Descriptor(
  name='UprevVersionedPackageResponse',
  full_name='chromite.api.UprevVersionedPackageResponse',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='responses', full_name='chromite.api.UprevVersionedPackageResponse.responses', 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=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3233,
  serialized_end=3320,
)

_BUILDSCHROMEREQUEST.fields_by_name['chroot'].message_type = chromiumos_dot_common__pb2._CHROOT
_BUILDSCHROMEREQUEST.fields_by_name['build_target'].message_type = chromiumos_dot_common__pb2._BUILDTARGET
_BUILDSCHROMEREQUEST.fields_by_name['packages'].message_type = chromiumos_dot_common__pb2._PACKAGEINFO
_GETBESTVISIBLEREQUEST.fields_by_name['chroot'].message_type = chromiumos_dot_common__pb2._CHROOT
_GETBESTVISIBLEREQUEST.fields_by_name['build_target'].message_type = chromiumos_dot_common__pb2._BUILDTARGET
_GETBESTVISIBLERESPONSE.fields_by_name['package_info'].message_type = chromiumos_dot_common__pb2._PACKAGEINFO
_GETCHROMEVERSIONREQUEST.fields_by_name['chroot'].message_type = chromiumos_dot_common__pb2._CHROOT
_GETCHROMEVERSIONREQUEST.fields_by_name['build_target'].message_type = chromiumos_dot_common__pb2._BUILDTARGET
_GETTARGETVERSIONSREQUEST.fields_by_name['chroot'].message_type = chromiumos_dot_common__pb2._CHROOT
_GETTARGETVERSIONSREQUEST.fields_by_name['build_target'].message_type = chromiumos_dot_common__pb2._BUILDTARGET
_GETTARGETVERSIONSREQUEST.fields_by_name['packages'].message_type = chromiumos_dot_common__pb2._PACKAGEINFO
_GETBUILDERMETADATAREQUEST.fields_by_name['chroot'].message_type = chromiumos_dot_common__pb2._CHROOT
_GETBUILDERMETADATAREQUEST.fields_by_name['build_target'].message_type = chromiumos_dot_common__pb2._BUILDTARGET
_GETBUILDERMETADATARESPONSE_MODELMETADATA.containing_type = _GETBUILDERMETADATARESPONSE
_GETBUILDERMETADATARESPONSE_BUILDTARGETMETADATA.containing_type = _GETBUILDERMETADATARESPONSE
_GETBUILDERMETADATARESPONSE.fields_by_name['build_target_metadata'].message_type = _GETBUILDERMETADATARESPONSE_BUILDTARGETMETADATA
_GETBUILDERMETADATARESPONSE.fields_by_name['model_metadata'].message_type = _GETBUILDERMETADATARESPONSE_MODELMETADATA
_HASCHROMEPREBUILTREQUEST.fields_by_name['chroot'].message_type = chromiumos_dot_common__pb2._CHROOT
_HASCHROMEPREBUILTREQUEST.fields_by_name['build_target'].message_type = chromiumos_dot_common__pb2._BUILDTARGET
_NEEDSCHROMESOURCEREQUEST.fields_by_name['install_request'].message_type = chromite_dot_api_dot_sysroot__pb2._INSTALLPACKAGESREQUEST
_NEEDSCHROMESOURCERESPONSE.fields_by_name['reasons'].enum_type = _NEEDSCHROMESOURCERESPONSE_REASON
_NEEDSCHROMESOURCERESPONSE.fields_by_name['packages'].message_type = chromiumos_dot_common__pb2._PACKAGEINFO
_NEEDSCHROMESOURCERESPONSE_REASON.containing_type = _NEEDSCHROMESOURCERESPONSE
_HASPREBUILTREQUEST.fields_by_name['chroot'].message_type = chromiumos_dot_common__pb2._CHROOT
_HASPREBUILTREQUEST.fields_by_name['build_target'].message_type = chromiumos_dot_common__pb2._BUILDTARGET
_HASPREBUILTREQUEST.fields_by_name['package_info'].message_type = chromiumos_dot_common__pb2._PACKAGEINFO
_UPREVPACKAGESREQUEST.fields_by_name['chroot'].message_type = chromiumos_dot_common__pb2._CHROOT
_UPREVPACKAGESREQUEST.fields_by_name['build_targets'].message_type = chromiumos_dot_common__pb2._BUILDTARGET
_UPREVPACKAGESREQUEST.fields_by_name['overlay_type'].enum_type = chromite_dot_api_dot_binhost__pb2._OVERLAYTYPE
_UPREVVERSIONEDPACKAGEREQUEST_GITREF.containing_type = _UPREVVERSIONEDPACKAGEREQUEST
_UPREVVERSIONEDPACKAGEREQUEST.fields_by_name['chroot'].message_type = chromiumos_dot_common__pb2._CHROOT
_UPREVVERSIONEDPACKAGEREQUEST.fields_by_name['package_info'].message_type = chromiumos_dot_common__pb2._PACKAGEINFO
_UPREVVERSIONEDPACKAGEREQUEST.fields_by_name['versions'].message_type = _UPREVVERSIONEDPACKAGEREQUEST_GITREF
_UPREVVERSIONEDPACKAGEREQUEST.fields_by_name['build_targets'].message_type = chromiumos_dot_common__pb2._BUILDTARGET
_UPREVPACKAGESRESPONSE_EBUILD.containing_type = _UPREVPACKAGESRESPONSE
_UPREVPACKAGESRESPONSE.fields_by_name['modified_ebuilds'].message_type = _UPREVPACKAGESRESPONSE_EBUILD
_UPREVVERSIONEDPACKAGERESPONSE.fields_by_name['responses'].message_type = _UPREVPACKAGESRESPONSE
DESCRIPTOR.message_types_by_name['BuildsChromeRequest'] = _BUILDSCHROMEREQUEST
DESCRIPTOR.message_types_by_name['BuildsChromeResponse'] = _BUILDSCHROMERESPONSE
DESCRIPTOR.message_types_by_name['GetBestVisibleRequest'] = _GETBESTVISIBLEREQUEST
DESCRIPTOR.message_types_by_name['GetBestVisibleResponse'] = _GETBESTVISIBLERESPONSE
DESCRIPTOR.message_types_by_name['GetChromeVersionRequest'] = _GETCHROMEVERSIONREQUEST
DESCRIPTOR.message_types_by_name['GetChromeVersionResponse'] = _GETCHROMEVERSIONRESPONSE
DESCRIPTOR.message_types_by_name['GetTargetVersionsRequest'] = _GETTARGETVERSIONSREQUEST
DESCRIPTOR.message_types_by_name['GetTargetVersionsResponse'] = _GETTARGETVERSIONSRESPONSE
DESCRIPTOR.message_types_by_name['GetBuilderMetadataRequest'] = _GETBUILDERMETADATAREQUEST
DESCRIPTOR.message_types_by_name['GetBuilderMetadataResponse'] = _GETBUILDERMETADATARESPONSE
DESCRIPTOR.message_types_by_name['HasChromePrebuiltRequest'] = _HASCHROMEPREBUILTREQUEST
DESCRIPTOR.message_types_by_name['HasChromePrebuiltResponse'] = _HASCHROMEPREBUILTRESPONSE
DESCRIPTOR.message_types_by_name['NeedsChromeSourceRequest'] = _NEEDSCHROMESOURCEREQUEST
DESCRIPTOR.message_types_by_name['NeedsChromeSourceResponse'] = _NEEDSCHROMESOURCERESPONSE
DESCRIPTOR.message_types_by_name['HasPrebuiltRequest'] = _HASPREBUILTREQUEST
DESCRIPTOR.message_types_by_name['HasPrebuiltResponse'] = _HASPREBUILTRESPONSE
DESCRIPTOR.message_types_by_name['UprevPackagesRequest'] = _UPREVPACKAGESREQUEST
DESCRIPTOR.message_types_by_name['UprevVersionedPackageRequest'] = _UPREVVERSIONEDPACKAGEREQUEST
DESCRIPTOR.message_types_by_name['UprevPackagesResponse'] = _UPREVPACKAGESRESPONSE
DESCRIPTOR.message_types_by_name['UprevVersionedPackageResponse'] = _UPREVVERSIONEDPACKAGERESPONSE
_sym_db.RegisterFileDescriptor(DESCRIPTOR)

BuildsChromeRequest = _reflection.GeneratedProtocolMessageType('BuildsChromeRequest', (_message.Message,), dict(
  DESCRIPTOR = _BUILDSCHROMEREQUEST,
  __module__ = 'chromite.api.packages_pb2'
  # @@protoc_insertion_point(class_scope:chromite.api.BuildsChromeRequest)
  ))
_sym_db.RegisterMessage(BuildsChromeRequest)

BuildsChromeResponse = _reflection.GeneratedProtocolMessageType('BuildsChromeResponse', (_message.Message,), dict(
  DESCRIPTOR = _BUILDSCHROMERESPONSE,
  __module__ = 'chromite.api.packages_pb2'
  # @@protoc_insertion_point(class_scope:chromite.api.BuildsChromeResponse)
  ))
_sym_db.RegisterMessage(BuildsChromeResponse)

GetBestVisibleRequest = _reflection.GeneratedProtocolMessageType('GetBestVisibleRequest', (_message.Message,), dict(
  DESCRIPTOR = _GETBESTVISIBLEREQUEST,
  __module__ = 'chromite.api.packages_pb2'
  # @@protoc_insertion_point(class_scope:chromite.api.GetBestVisibleRequest)
  ))
_sym_db.RegisterMessage(GetBestVisibleRequest)

GetBestVisibleResponse = _reflection.GeneratedProtocolMessageType('GetBestVisibleResponse', (_message.Message,), dict(
  DESCRIPTOR = _GETBESTVISIBLERESPONSE,
  __module__ = 'chromite.api.packages_pb2'
  # @@protoc_insertion_point(class_scope:chromite.api.GetBestVisibleResponse)
  ))
_sym_db.RegisterMessage(GetBestVisibleResponse)

GetChromeVersionRequest = _reflection.GeneratedProtocolMessageType('GetChromeVersionRequest', (_message.Message,), dict(
  DESCRIPTOR = _GETCHROMEVERSIONREQUEST,
  __module__ = 'chromite.api.packages_pb2'
  # @@protoc_insertion_point(class_scope:chromite.api.GetChromeVersionRequest)
  ))
_sym_db.RegisterMessage(GetChromeVersionRequest)

GetChromeVersionResponse = _reflection.GeneratedProtocolMessageType('GetChromeVersionResponse', (_message.Message,), dict(
  DESCRIPTOR = _GETCHROMEVERSIONRESPONSE,
  __module__ = 'chromite.api.packages_pb2'
  # @@protoc_insertion_point(class_scope:chromite.api.GetChromeVersionResponse)
  ))
_sym_db.RegisterMessage(GetChromeVersionResponse)

GetTargetVersionsRequest = _reflection.GeneratedProtocolMessageType('GetTargetVersionsRequest', (_message.Message,), dict(
  DESCRIPTOR = _GETTARGETVERSIONSREQUEST,
  __module__ = 'chromite.api.packages_pb2'
  # @@protoc_insertion_point(class_scope:chromite.api.GetTargetVersionsRequest)
  ))
_sym_db.RegisterMessage(GetTargetVersionsRequest)

GetTargetVersionsResponse = _reflection.GeneratedProtocolMessageType('GetTargetVersionsResponse', (_message.Message,), dict(
  DESCRIPTOR = _GETTARGETVERSIONSRESPONSE,
  __module__ = 'chromite.api.packages_pb2'
  # @@protoc_insertion_point(class_scope:chromite.api.GetTargetVersionsResponse)
  ))
_sym_db.RegisterMessage(GetTargetVersionsResponse)

GetBuilderMetadataRequest = _reflection.GeneratedProtocolMessageType('GetBuilderMetadataRequest', (_message.Message,), dict(
  DESCRIPTOR = _GETBUILDERMETADATAREQUEST,
  __module__ = 'chromite.api.packages_pb2'
  # @@protoc_insertion_point(class_scope:chromite.api.GetBuilderMetadataRequest)
  ))
_sym_db.RegisterMessage(GetBuilderMetadataRequest)

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

  ModelMetadata = _reflection.GeneratedProtocolMessageType('ModelMetadata', (_message.Message,), dict(
    DESCRIPTOR = _GETBUILDERMETADATARESPONSE_MODELMETADATA,
    __module__ = 'chromite.api.packages_pb2'
    # @@protoc_insertion_point(class_scope:chromite.api.GetBuilderMetadataResponse.ModelMetadata)
    ))
  ,

  BuildTargetMetadata = _reflection.GeneratedProtocolMessageType('BuildTargetMetadata', (_message.Message,), dict(
    DESCRIPTOR = _GETBUILDERMETADATARESPONSE_BUILDTARGETMETADATA,
    __module__ = 'chromite.api.packages_pb2'
    # @@protoc_insertion_point(class_scope:chromite.api.GetBuilderMetadataResponse.BuildTargetMetadata)
    ))
  ,
  DESCRIPTOR = _GETBUILDERMETADATARESPONSE,
  __module__ = 'chromite.api.packages_pb2'
  # @@protoc_insertion_point(class_scope:chromite.api.GetBuilderMetadataResponse)
  ))
_sym_db.RegisterMessage(GetBuilderMetadataResponse)
_sym_db.RegisterMessage(GetBuilderMetadataResponse.ModelMetadata)
_sym_db.RegisterMessage(GetBuilderMetadataResponse.BuildTargetMetadata)

HasChromePrebuiltRequest = _reflection.GeneratedProtocolMessageType('HasChromePrebuiltRequest', (_message.Message,), dict(
  DESCRIPTOR = _HASCHROMEPREBUILTREQUEST,
  __module__ = 'chromite.api.packages_pb2'
  # @@protoc_insertion_point(class_scope:chromite.api.HasChromePrebuiltRequest)
  ))
_sym_db.RegisterMessage(HasChromePrebuiltRequest)

HasChromePrebuiltResponse = _reflection.GeneratedProtocolMessageType('HasChromePrebuiltResponse', (_message.Message,), dict(
  DESCRIPTOR = _HASCHROMEPREBUILTRESPONSE,
  __module__ = 'chromite.api.packages_pb2'
  # @@protoc_insertion_point(class_scope:chromite.api.HasChromePrebuiltResponse)
  ))
_sym_db.RegisterMessage(HasChromePrebuiltResponse)

NeedsChromeSourceRequest = _reflection.GeneratedProtocolMessageType('NeedsChromeSourceRequest', (_message.Message,), dict(
  DESCRIPTOR = _NEEDSCHROMESOURCEREQUEST,
  __module__ = 'chromite.api.packages_pb2'
  # @@protoc_insertion_point(class_scope:chromite.api.NeedsChromeSourceRequest)
  ))
_sym_db.RegisterMessage(NeedsChromeSourceRequest)

NeedsChromeSourceResponse = _reflection.GeneratedProtocolMessageType('NeedsChromeSourceResponse', (_message.Message,), dict(
  DESCRIPTOR = _NEEDSCHROMESOURCERESPONSE,
  __module__ = 'chromite.api.packages_pb2'
  # @@protoc_insertion_point(class_scope:chromite.api.NeedsChromeSourceResponse)
  ))
_sym_db.RegisterMessage(NeedsChromeSourceResponse)

HasPrebuiltRequest = _reflection.GeneratedProtocolMessageType('HasPrebuiltRequest', (_message.Message,), dict(
  DESCRIPTOR = _HASPREBUILTREQUEST,
  __module__ = 'chromite.api.packages_pb2'
  # @@protoc_insertion_point(class_scope:chromite.api.HasPrebuiltRequest)
  ))
_sym_db.RegisterMessage(HasPrebuiltRequest)

HasPrebuiltResponse = _reflection.GeneratedProtocolMessageType('HasPrebuiltResponse', (_message.Message,), dict(
  DESCRIPTOR = _HASPREBUILTRESPONSE,
  __module__ = 'chromite.api.packages_pb2'
  # @@protoc_insertion_point(class_scope:chromite.api.HasPrebuiltResponse)
  ))
_sym_db.RegisterMessage(HasPrebuiltResponse)

UprevPackagesRequest = _reflection.GeneratedProtocolMessageType('UprevPackagesRequest', (_message.Message,), dict(
  DESCRIPTOR = _UPREVPACKAGESREQUEST,
  __module__ = 'chromite.api.packages_pb2'
  # @@protoc_insertion_point(class_scope:chromite.api.UprevPackagesRequest)
  ))
_sym_db.RegisterMessage(UprevPackagesRequest)

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

  GitRef = _reflection.GeneratedProtocolMessageType('GitRef', (_message.Message,), dict(
    DESCRIPTOR = _UPREVVERSIONEDPACKAGEREQUEST_GITREF,
    __module__ = 'chromite.api.packages_pb2'
    # @@protoc_insertion_point(class_scope:chromite.api.UprevVersionedPackageRequest.GitRef)
    ))
  ,
  DESCRIPTOR = _UPREVVERSIONEDPACKAGEREQUEST,
  __module__ = 'chromite.api.packages_pb2'
  # @@protoc_insertion_point(class_scope:chromite.api.UprevVersionedPackageRequest)
  ))
_sym_db.RegisterMessage(UprevVersionedPackageRequest)
_sym_db.RegisterMessage(UprevVersionedPackageRequest.GitRef)

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

  Ebuild = _reflection.GeneratedProtocolMessageType('Ebuild', (_message.Message,), dict(
    DESCRIPTOR = _UPREVPACKAGESRESPONSE_EBUILD,
    __module__ = 'chromite.api.packages_pb2'
    # @@protoc_insertion_point(class_scope:chromite.api.UprevPackagesResponse.Ebuild)
    ))
  ,
  DESCRIPTOR = _UPREVPACKAGESRESPONSE,
  __module__ = 'chromite.api.packages_pb2'
  # @@protoc_insertion_point(class_scope:chromite.api.UprevPackagesResponse)
  ))
_sym_db.RegisterMessage(UprevPackagesResponse)
_sym_db.RegisterMessage(UprevPackagesResponse.Ebuild)

UprevVersionedPackageResponse = _reflection.GeneratedProtocolMessageType('UprevVersionedPackageResponse', (_message.Message,), dict(
  DESCRIPTOR = _UPREVVERSIONEDPACKAGERESPONSE,
  __module__ = 'chromite.api.packages_pb2'
  # @@protoc_insertion_point(class_scope:chromite.api.UprevVersionedPackageResponse)
  ))
_sym_db.RegisterMessage(UprevVersionedPackageResponse)


DESCRIPTOR._options = None

_PACKAGESERVICE = _descriptor.ServiceDescriptor(
  name='PackageService',
  full_name='chromite.api.PackageService',
  file=DESCRIPTOR,
  index=0,
  serialized_options=_b('\302\355\032\014\n\010packages\020\001'),
  serialized_start=3323,
  serialized_end=4343,
  methods=[
  _descriptor.MethodDescriptor(
    name='BuildsChrome',
    full_name='chromite.api.PackageService.BuildsChrome',
    index=0,
    containing_service=None,
    input_type=_BUILDSCHROMEREQUEST,
    output_type=_BUILDSCHROMERESPONSE,
    serialized_options=None,
  ),
  _descriptor.MethodDescriptor(
    name='GetBestVisible',
    full_name='chromite.api.PackageService.GetBestVisible',
    index=1,
    containing_service=None,
    input_type=_GETBESTVISIBLEREQUEST,
    output_type=_GETBESTVISIBLERESPONSE,
    serialized_options=None,
  ),
  _descriptor.MethodDescriptor(
    name='GetChromeVersion',
    full_name='chromite.api.PackageService.GetChromeVersion',
    index=2,
    containing_service=None,
    input_type=_GETCHROMEVERSIONREQUEST,
    output_type=_GETCHROMEVERSIONRESPONSE,
    serialized_options=None,
  ),
  _descriptor.MethodDescriptor(
    name='GetTargetVersions',
    full_name='chromite.api.PackageService.GetTargetVersions',
    index=3,
    containing_service=None,
    input_type=_GETTARGETVERSIONSREQUEST,
    output_type=_GETTARGETVERSIONSRESPONSE,
    serialized_options=None,
  ),
  _descriptor.MethodDescriptor(
    name='GetBuilderMetadata',
    full_name='chromite.api.PackageService.GetBuilderMetadata',
    index=4,
    containing_service=None,
    input_type=_GETBUILDERMETADATAREQUEST,
    output_type=_GETBUILDERMETADATARESPONSE,
    serialized_options=None,
  ),
  _descriptor.MethodDescriptor(
    name='HasChromePrebuilt',
    full_name='chromite.api.PackageService.HasChromePrebuilt',
    index=5,
    containing_service=None,
    input_type=_HASCHROMEPREBUILTREQUEST,
    output_type=_HASCHROMEPREBUILTRESPONSE,
    serialized_options=None,
  ),
  _descriptor.MethodDescriptor(
    name='HasPrebuilt',
    full_name='chromite.api.PackageService.HasPrebuilt',
    index=6,
    containing_service=None,
    input_type=_HASPREBUILTREQUEST,
    output_type=_HASPREBUILTRESPONSE,
    serialized_options=None,
  ),
  _descriptor.MethodDescriptor(
    name='NeedsChromeSource',
    full_name='chromite.api.PackageService.NeedsChromeSource',
    index=7,
    containing_service=None,
    input_type=_NEEDSCHROMESOURCEREQUEST,
    output_type=_NEEDSCHROMESOURCERESPONSE,
    serialized_options=None,
  ),
  _descriptor.MethodDescriptor(
    name='Uprev',
    full_name='chromite.api.PackageService.Uprev',
    index=8,
    containing_service=None,
    input_type=_UPREVPACKAGESREQUEST,
    output_type=_UPREVPACKAGESRESPONSE,
    serialized_options=_b('\302\355\032\002\020\002'),
  ),
  _descriptor.MethodDescriptor(
    name='UprevVersionedPackage',
    full_name='chromite.api.PackageService.UprevVersionedPackage',
    index=9,
    containing_service=None,
    input_type=_UPREVVERSIONEDPACKAGEREQUEST,
    output_type=_UPREVVERSIONEDPACKAGERESPONSE,
    serialized_options=_b('\302\355\032\002\020\002'),
  ),
])
_sym_db.RegisterServiceDescriptor(_PACKAGESERVICE)

DESCRIPTOR.services_by_name['PackageService'] = _PACKAGESERVICE

# @@protoc_insertion_point(module_scope)
