# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: chromiumos/common.proto

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

_sym_db = _symbol_database.Default()




DESCRIPTOR = _descriptor.FileDescriptor(
  name='chromiumos/common.proto',
  package='chromiumos',
  syntax='proto3',
  serialized_options=_b('Z4go.chromium.org/chromiumos/infra/proto/go/chromiumos'),
  serialized_pb=_b('\n\x17\x63hromiumos/common.proto\x12\nchromiumos\"\x1b\n\x0b\x42uildTarget\x12\x0c\n\x04name\x18\x01 \x01(\t\"\xca\x01\n\x06\x43hroot\x12\x0c\n\x04path\x18\x01 \x01(\t\x12\x11\n\tcache_dir\x18\x02 \x01(\t\x12)\n\x03\x65nv\x18\x03 \x01(\x0b\x32\x1c.chromiumos.Chroot.ChrootEnv\x12\x12\n\nchrome_dir\x18\x04 \x01(\t\x1aZ\n\tChrootEnv\x12&\n\tuse_flags\x18\x01 \x03(\x0b\x32\x13.chromiumos.UseFlag\x12%\n\x08\x66\x65\x61tures\x18\x02 \x03(\x0b\x32\x13.chromiumos.FeatureJ\x04\x08\x05\x10\x06\"\x1a\n\x07\x46\x65\x61ture\x12\x0f\n\x07\x66\x65\x61ture\x18\x01 \x01(\t\"\xcf\x02\n\nGomaConfig\x12\x10\n\x08goma_dir\x18\x01 \x01(\t\x12\x18\n\x10goma_client_json\x18\x02 \x01(\t\x12\x19\n\x11\x63hromeos_goma_dir\x18\x03 \x01(\t\x12:\n\rgoma_approach\x18\x04 \x01(\x0e\x32#.chromiumos.GomaConfig.GomaApproach\x12&\n\x07log_dir\x18\x05 \x01(\x0b\x32\x15.chromiumos.SyncedDir\x12\x12\n\nstats_file\x18\x06 \x01(\t\x12\x15\n\rcounterz_file\x18\x07 \x01(\t\"k\n\x0cGomaApproach\x12\x1d\n\x19GOMA_APPROACH_UNSPECIFIED\x10\x00\x12\x0b\n\x07\x44\x45\x46\x41ULT\x10\x01\x12\x0c\n\x08RBE_PROD\x10\x02\x12\x0f\n\x0bRBE_STAGING\x10\x03\x12\x10\n\x0cRBE_CHROMEOS\x10\x04\"M\n\rGomaArtifacts\x12\x12\n\nstats_file\x18\x01 \x01(\t\x12\x15\n\rcounterz_file\x18\x02 \x01(\t\x12\x11\n\tlog_files\x18\x03 \x03(\t\"F\n\x0bPackageInfo\x12\x14\n\x0cpackage_name\x18\x01 \x01(\t\x12\x10\n\x08\x63\x61tegory\x18\x02 \x01(\t\x12\x0f\n\x07version\x18\x03 \x01(\t\"\x17\n\x07Profile\x12\x0c\n\x04name\x18\x01 \x01(\t\"\xa8\x01\n\x10PackageIndexInfo\x12\x14\n\x0csnapshot_sha\x18\x01 \x01(\t\x12\x17\n\x0fsnapshot_number\x18\x02 \x01(\x05\x12-\n\x0c\x62uild_target\x18\x03 \x01(\x0b\x32\x17.chromiumos.BuildTarget\x12\x10\n\x08location\x18\x04 \x01(\t\x12$\n\x07profile\x18\x05 \x01(\x0b\x32\x13.chromiumos.Profile\"w\n\x04Path\x12\x0c\n\x04path\x18\x01 \x01(\t\x12+\n\x08location\x18\x02 \x01(\x0e\x32\x19.chromiumos.Path.Location\"4\n\x08Location\x12\x0f\n\x0bNO_LOCATION\x10\x00\x12\n\n\x06INSIDE\x10\x01\x12\x0b\n\x07OUTSIDE\x10\x02\",\n\nResultPath\x12\x1e\n\x04path\x18\x01 \x01(\x0b\x32\x10.chromiumos.Path\"\x18\n\tSyncedDir\x12\x0b\n\x03\x64ir\x18\x01 \x01(\t\"O\n\x0cGerritChange\x12\x0c\n\x04host\x18\x01 \x01(\t\x12\x0f\n\x07project\x18\x02 \x01(\t\x12\x0e\n\x06\x63hange\x18\x03 \x01(\x03\x12\x10\n\x08patchset\x18\x04 \x01(\x03\"Y\n\rGitilesCommit\x12\x0c\n\x04host\x18\x01 \x01(\t\x12\x0f\n\x07project\x18\x02 \x01(\t\x12\n\n\x02id\x18\x03 \x01(\t\x12\x0b\n\x03ref\x18\x04 \x01(\t\x12\x10\n\x08position\x18\x05 \x01(\r\"\x17\n\x07UseFlag\x12\x0c\n\x04\x66lag\x18\x01 \x01(\t\"&\n\nProtoBytes\x12\x18\n\x10serialized_proto\x18\x01 \x01(\x0c\"q\n\x1dPrepareForBuildAdditionalArgs\x12\x1c\n\x12\x63hrome_cwp_profile\x18\x01 \x01(\tH\x00\x12\x18\n\x0ekernel_version\x18\x02 \x01(\tH\x00\x42\x18\n\x16prepare_for_build_args\"A\n\x0b\x41\x66\x64oRelease\x12\x1a\n\x12\x63hrome_cwp_profile\x18\x01 \x01(\t\x12\x16\n\x0eimage_build_id\x18\x02 \x01(\x03\"\x97\x01\n\x13\x41rtifactProfileInfo\x12\x1c\n\x12\x63hrome_cwp_profile\x18\x01 \x01(\tH\x00\x12\x18\n\x0ekernel_version\x18\x02 \x01(\tH\x00\x12/\n\x0c\x61\x66\x64o_release\x18\x03 \x01(\x0b\x32\x17.chromiumos.AfdoReleaseH\x00\x42\x17\n\x15\x61rtifact_profile_info\"\x88\"\n\x12\x41rtifactsByService\x12\x35\n\x06legacy\x18\x01 \x01(\x0b\x32%.chromiumos.ArtifactsByService.Legacy\x12;\n\ttoolchain\x18\x02 \x01(\x0b\x32(.chromiumos.ArtifactsByService.Toolchain\x12\x33\n\x05image\x18\x03 \x01(\x0b\x32$.chromiumos.ArtifactsByService.Image\x12\x37\n\x07package\x18\x04 \x01(\x0b\x32&.chromiumos.ArtifactsByService.Package\x12\x37\n\x07sysroot\x18\x05 \x01(\x0b\x32&.chromiumos.ArtifactsByService.Sysroot\x12\x31\n\x04test\x18\x06 \x01(\x0b\x32#.chromiumos.ArtifactsByService.Test\x12\x35\n\x0cprofile_info\x18\x07 \x01(\x0b\x32\x1f.chromiumos.ArtifactProfileInfo\x12\x39\n\x08\x66irmware\x18\x08 \x01(\x0b\x32\'.chromiumos.ArtifactsByService.Firmware\x1a\x8b\x05\n\x06Legacy\x12K\n\x0finput_artifacts\x18\x01 \x03(\x0b\x32\x32.chromiumos.ArtifactsByService.Legacy.ArtifactInfo\x12L\n\x10output_artifacts\x18\x02 \x03(\x0b\x32\x32.chromiumos.ArtifactsByService.Legacy.ArtifactInfo\x1a\xd4\x01\n\x0c\x41rtifactInfo\x12J\n\x0e\x61rtifact_types\x18\x01 \x03(\x0e\x32\x32.chromiumos.ArtifactsByService.Legacy.ArtifactType\x12\x14\n\x0cgs_locations\x18\x02 \x03(\t\x12\x10\n\x08\x61\x63l_name\x18\x04 \x01(\t\x12J\n\x11publish_condition\x18\x05 \x01(\x0e\x32/.chromiumos.ArtifactsByService.PublishConditionJ\x04\x08\x03\x10\x04\"\x8e\x02\n\x0c\x41rtifactType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\r\n\tIMAGE_ZIP\x10\x01\x12\x17\n\x13TEST_UPDATE_PAYLOAD\x10\x02\x12\x12\n\x0e\x41UTOTEST_FILES\x10\x03\x12\x0e\n\nTAST_FILES\x10\x04\x12\x17\n\x13PINNED_GUEST_IMAGES\x10\x05\x12\x0c\n\x08\x46IRMWARE\x10\x06\x12\x0f\n\x0b\x45\x42UILD_LOGS\x10\x07\x12\x13\n\x0f\x43HROMEOS_CONFIG\x10\x08\x12\x0e\n\nCPE_REPORT\x10\t\x12\x12\n\x0eIMAGE_ARCHIVES\x10\n\x12\x13\n\x0f\x46PMCU_UNITTESTS\x10\x1b\x12\x0f\n\x0bGCE_TARBALL\x10\x1c\"\x04\x08\x0b\x10\x1a\"\x04\x08\x1d\x10\x1f\x1a\xff\x07\n\tToolchain\x12N\n\x0finput_artifacts\x18\x01 \x03(\x0b\x32\x35.chromiumos.ArtifactsByService.Toolchain.ArtifactInfo\x12O\n\x10output_artifacts\x18\x02 \x03(\x0b\x32\x35.chromiumos.ArtifactsByService.Toolchain.ArtifactInfo\x1a\xd1\x01\n\x0c\x41rtifactInfo\x12M\n\x0e\x61rtifact_types\x18\x01 \x03(\x0e\x32\x35.chromiumos.ArtifactsByService.Toolchain.ArtifactType\x12\x14\n\x0cgs_locations\x18\x02 \x03(\t\x12\x10\n\x08\x61\x63l_name\x18\x04 \x01(\t\x12J\n\x11publish_condition\x18\x05 \x01(\x0e\x32/.chromiumos.ArtifactsByService.PublishCondition\"\xfc\x04\n\x0c\x41rtifactType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12$\n UNVERIFIED_CHROME_LLVM_ORDERFILE\x10\x0b\x12\"\n\x1eVERIFIED_CHROME_LLVM_ORDERFILE\x10\x0c\x12\x1e\n\x1a\x43HROME_CLANG_WARNINGS_FILE\x10\r\x12\x1c\n\x18UNVERIFIED_LLVM_PGO_FILE\x10\x0e\x12)\n%UNVERIFIED_CHROME_BENCHMARK_AFDO_FILE\x10\x0f\x12\'\n#VERIFIED_CHROME_BENCHMARK_AFDO_FILE\x10\x10\x12!\n\x1dVERIFIED_KERNEL_CWP_AFDO_FILE\x10\x11\x12#\n\x1fUNVERIFIED_KERNEL_CWP_AFDO_FILE\x10\x12\x12#\n\x1fUNVERIFIED_CHROME_CWP_AFDO_FILE\x10\x13\x12!\n\x1dVERIFIED_CHROME_CWP_AFDO_FILE\x10\x14\x12\x1e\n\x1aVERIFIED_RELEASE_AFDO_FILE\x10\x15\x12)\n%UNVERIFIED_CHROME_BENCHMARK_PERF_FILE\x10\x16\x12\x17\n\x13\x43HROME_DEBUG_BINARY\x10\x17\x12\x1a\n\x16TOOLCHAIN_WARNING_LOGS\x10\x18\x12)\n%CHROME_AFDO_PROFILE_FOR_ANDROID_LINUX\x10\x19\x12\x19\n\x15\x43LANG_CRASH_DIAGNOSES\x10\x1a\x12\x17\n\x13\x43OMPILER_RUSAGE_LOG\x10\x1d\"\x04\x08\x01\x10\n\"\x04\x08\x1b\x10\x1c\"\x04\x08\x1e\x10\x1f\x1a\x97\x03\n\x05Image\x12J\n\x0finput_artifacts\x18\x01 \x03(\x0b\x32\x31.chromiumos.ArtifactsByService.Image.ArtifactInfo\x12K\n\x10output_artifacts\x18\x02 \x03(\x0b\x32\x31.chromiumos.ArtifactsByService.Image.ArtifactInfo\x1a\xcd\x01\n\x0c\x41rtifactInfo\x12I\n\x0e\x61rtifact_types\x18\x01 \x03(\x0e\x32\x31.chromiumos.ArtifactsByService.Image.ArtifactType\x12\x14\n\x0cgs_locations\x18\x02 \x03(\t\x12\x10\n\x08\x61\x63l_name\x18\x04 \x01(\t\x12J\n\x11publish_condition\x18\x05 \x01(\x0e\x32/.chromiumos.ArtifactsByService.PublishCondition\"%\n\x0c\x41rtifactType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\"\x04\x08\x01\x10\x1f\x1a\x9f\x03\n\x07Package\x12L\n\x0finput_artifacts\x18\x01 \x03(\x0b\x32\x33.chromiumos.ArtifactsByService.Package.ArtifactInfo\x12M\n\x10output_artifacts\x18\x02 \x03(\x0b\x32\x33.chromiumos.ArtifactsByService.Package.ArtifactInfo\x1a\xcf\x01\n\x0c\x41rtifactInfo\x12K\n\x0e\x61rtifact_types\x18\x01 \x03(\x0e\x32\x33.chromiumos.ArtifactsByService.Package.ArtifactType\x12\x14\n\x0cgs_locations\x18\x02 \x03(\t\x12\x10\n\x08\x61\x63l_name\x18\x04 \x01(\t\x12J\n\x11publish_condition\x18\x05 \x01(\x0e\x32/.chromiumos.ArtifactsByService.PublishCondition\"%\n\x0c\x41rtifactType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\"\x04\x08\x01\x10\x1f\x1a\x9f\x03\n\x07Sysroot\x12L\n\x0finput_artifacts\x18\x01 \x03(\x0b\x32\x33.chromiumos.ArtifactsByService.Sysroot.ArtifactInfo\x12M\n\x10output_artifacts\x18\x02 \x03(\x0b\x32\x33.chromiumos.ArtifactsByService.Sysroot.ArtifactInfo\x1a\xcf\x01\n\x0c\x41rtifactInfo\x12K\n\x0e\x61rtifact_types\x18\x01 \x03(\x0e\x32\x33.chromiumos.ArtifactsByService.Sysroot.ArtifactType\x12\x14\n\x0cgs_locations\x18\x02 \x03(\t\x12\x10\n\x08\x61\x63l_name\x18\x04 \x01(\t\x12J\n\x11publish_condition\x18\x05 \x01(\x0e\x32/.chromiumos.ArtifactsByService.PublishCondition\"%\n\x0c\x41rtifactType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\"\x04\x08\x01\x10\x1f\x1a\x93\x03\n\x04Test\x12I\n\x0finput_artifacts\x18\x01 \x03(\x0b\x32\x30.chromiumos.ArtifactsByService.Test.ArtifactInfo\x12J\n\x10output_artifacts\x18\x02 \x03(\x0b\x32\x30.chromiumos.ArtifactsByService.Test.ArtifactInfo\x1a\xcc\x01\n\x0c\x41rtifactInfo\x12H\n\x0e\x61rtifact_types\x18\x01 \x03(\x0e\x32\x30.chromiumos.ArtifactsByService.Test.ArtifactType\x12\x14\n\x0cgs_locations\x18\x02 \x03(\t\x12\x10\n\x08\x61\x63l_name\x18\x04 \x01(\t\x12J\n\x11publish_condition\x18\x05 \x01(\x0e\x32/.chromiumos.ArtifactsByService.PublishCondition\"%\n\x0c\x41rtifactType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\"\x04\x08\x01\x10\x1f\x1a\xd4\x03\n\x08\x46irmware\x12M\n\x0finput_artifacts\x18\x01 \x03(\x0b\x32\x34.chromiumos.ArtifactsByService.Firmware.ArtifactInfo\x12N\n\x10output_artifacts\x18\x02 \x03(\x0b\x32\x34.chromiumos.ArtifactsByService.Firmware.ArtifactInfo\x1a\xd0\x01\n\x0c\x41rtifactInfo\x12L\n\x0e\x61rtifact_types\x18\x01 \x03(\x0e\x32\x34.chromiumos.ArtifactsByService.Firmware.ArtifactType\x12\x14\n\x0cgs_locations\x18\x02 \x03(\t\x12\x10\n\x08\x61\x63l_name\x18\x04 \x01(\t\x12J\n\x11publish_condition\x18\x05 \x01(\x0e\x32/.chromiumos.ArtifactsByService.PublishCondition\"V\n\x0c\x41rtifactType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x14\n\x10\x46IRMWARE_TARBALL\x10\x1e\x12\x19\n\x15\x46IRMWARE_TARBALL_INFO\x10\x1f\"\x04\x08\x01\x10\x1d\"W\n\x10PublishCondition\x12\x17\n\x13PUBLISH_UNSPECIFIED\x10\x00\x12\x16\n\x12PUBLISH_ON_SUCCESS\x10\x01\x12\x12\n\x0ePUBLISH_ALWAYS\x10\x02\"\xd3\x0e\n\x1aUploadedArtifactsByService\x12=\n\x06legacy\x18\x01 \x01(\x0b\x32-.chromiumos.UploadedArtifactsByService.Legacy\x12\x43\n\ttoolchain\x18\x02 \x01(\x0b\x32\x30.chromiumos.UploadedArtifactsByService.Toolchain\x12;\n\x05image\x18\x03 \x01(\x0b\x32,.chromiumos.UploadedArtifactsByService.Image\x12?\n\x07package\x18\x04 \x01(\x0b\x32..chromiumos.UploadedArtifactsByService.Package\x12?\n\x07sysroot\x18\x05 \x01(\x0b\x32..chromiumos.UploadedArtifactsByService.Sysroot\x12\x39\n\x04test\x18\x06 \x01(\x0b\x32+.chromiumos.UploadedArtifactsByService.Test\x12\x41\n\x08\x66irmware\x18\x07 \x01(\x0b\x32/.chromiumos.UploadedArtifactsByService.Firmware\x1a\xc3\x01\n\x06Legacy\x12N\n\tartifacts\x18\x01 \x03(\x0b\x32;.chromiumos.UploadedArtifactsByService.Legacy.ArtifactPaths\x1ai\n\rArtifactPaths\x12I\n\rartifact_type\x18\x01 \x01(\x0e\x32\x32.chromiumos.ArtifactsByService.Legacy.ArtifactType\x12\r\n\x05paths\x18\x02 \x03(\t\x1a\xcc\x01\n\tToolchain\x12Q\n\tartifacts\x18\x01 \x03(\x0b\x32>.chromiumos.UploadedArtifactsByService.Toolchain.ArtifactPaths\x1al\n\rArtifactPaths\x12L\n\rartifact_type\x18\x01 \x01(\x0e\x32\x35.chromiumos.ArtifactsByService.Toolchain.ArtifactType\x12\r\n\x05paths\x18\x02 \x03(\t\x1a\xc0\x01\n\x05Image\x12M\n\tartifacts\x18\x01 \x03(\x0b\x32:.chromiumos.UploadedArtifactsByService.Image.ArtifactPaths\x1ah\n\rArtifactPaths\x12H\n\rartifact_type\x18\x01 \x01(\x0e\x32\x31.chromiumos.ArtifactsByService.Image.ArtifactType\x12\r\n\x05paths\x18\x02 \x03(\t\x1a\xc6\x01\n\x07Package\x12O\n\tartifacts\x18\x01 \x03(\x0b\x32<.chromiumos.UploadedArtifactsByService.Package.ArtifactPaths\x1aj\n\rArtifactPaths\x12J\n\rartifact_type\x18\x01 \x01(\x0e\x32\x33.chromiumos.ArtifactsByService.Package.ArtifactType\x12\r\n\x05paths\x18\x02 \x03(\t\x1a\xc6\x01\n\x07Sysroot\x12O\n\tartifacts\x18\x01 \x03(\x0b\x32<.chromiumos.UploadedArtifactsByService.Sysroot.ArtifactPaths\x1aj\n\rArtifactPaths\x12J\n\rartifact_type\x18\x01 \x01(\x0e\x32\x33.chromiumos.ArtifactsByService.Sysroot.ArtifactType\x12\r\n\x05paths\x18\x02 \x03(\t\x1a\xbd\x01\n\x04Test\x12L\n\tartifacts\x18\x01 \x03(\x0b\x32\x39.chromiumos.UploadedArtifactsByService.Test.ArtifactPaths\x1ag\n\rArtifactPaths\x12G\n\rartifact_type\x18\x01 \x01(\x0e\x32\x30.chromiumos.ArtifactsByService.Test.ArtifactType\x12\r\n\x05paths\x18\x02 \x03(\t\x1a\xc9\x01\n\x08\x46irmware\x12P\n\tartifacts\x18\x01 \x03(\x0b\x32=.chromiumos.UploadedArtifactsByService.Firmware.ArtifactPaths\x1ak\n\rArtifactPaths\x12K\n\rartifact_type\x18\x01 \x01(\x0e\x32\x34.chromiumos.ArtifactsByService.Firmware.ArtifactType\x12\r\n\x05paths\x18\x02 \x03(\t*\xe0\x04\n\tImageType\x12\x18\n\x14IMAGE_TYPE_UNDEFINED\x10\x00\x12\x13\n\x0fIMAGE_TYPE_BASE\x10\x01\x12\x12\n\x0eIMAGE_TYPE_DEV\x10\x02\x12\x13\n\x0fIMAGE_TYPE_TEST\x10\x03\x12\x16\n\x12IMAGE_TYPE_BASE_VM\x10\x04\x12\x16\n\x12IMAGE_TYPE_TEST_VM\x10\x05\x12\x17\n\x13IMAGE_TYPE_RECOVERY\x10\x06\x12\x16\n\x12IMAGE_TYPE_FACTORY\x10\x07\x12\x17\n\x13IMAGE_TYPE_FIRMWARE\x10\x08\x12\x1c\n\x18IMAGE_TYPE_CR50_FIRMWARE\x10\t\x12\x1c\n\x18IMAGE_TYPE_BASE_GUEST_VM\x10\n\x12\x1c\n\x18IMAGE_TYPE_TEST_GUEST_VM\x10\x0b\x12\x12\n\x0eIMAGE_TYPE_DLC\x10\x0c\x12\x1b\n\x17IMAGE_TYPE_GSC_FIRMWARE\x10\r\x12\x1e\n\x1aIMAGE_TYPE_ACCESSORY_USBPD\x10\x0e\x12\x1e\n\x1aIMAGE_TYPE_ACCESSORY_RWSIG\x10\x0f\x12\x08\n\x04\x42\x41SE\x10\x01\x12\x07\n\x03\x44\x45V\x10\x02\x12\x08\n\x04TEST\x10\x03\x12\x0b\n\x07\x42\x41SE_VM\x10\x04\x12\x0b\n\x07TEST_VM\x10\x05\x12\x0c\n\x08RECOVERY\x10\x06\x12\x0b\n\x07\x46\x41\x43TORY\x10\x07\x12\x0c\n\x08\x46IRMWARE\x10\x08\x12\x11\n\rCR50_FIRMWARE\x10\t\x12\x11\n\rBASE_GUEST_VM\x10\n\x12\x11\n\rTEST_GUEST_VM\x10\x0b\x12\x07\n\x03\x44LC\x10\x0c\x12\x10\n\x0cGSC_FIRMWARE\x10\r\x1a\x02\x10\x01*m\n\x07\x43hannel\x12\x17\n\x13\x43HANNEL_UNSPECIFIED\x10\x00\x12\x12\n\x0e\x43HANNEL_STABLE\x10\x01\x12\x10\n\x0c\x43HANNEL_BETA\x10\x02\x12\x0f\n\x0b\x43HANNEL_DEV\x10\x03\x12\x12\n\x0e\x43HANNEL_CANARY\x10\x04*c\n\tDeltaType\x12\x11\n\rDELTA_UNKNOWN\x10\x00\x12\x0c\n\x08NO_DELTA\x10\x01\x12\x07\n\x03\x46SI\x10\x02\x12\r\n\tMILESTONE\x10\x03\x12\t\n\x05OMAHA\x10\x04\x12\x12\n\x0eSTEPPING_STONE\x10\x05*f\n\x10\x41\x46\x44OArtifactType\x12\r\n\tNONE_TYPE\x10\x00\x12\r\n\tORDERFILE\x10\x01\x12\x12\n\x0e\x42\x45NCHMARK_AFDO\x10\x02\x12\x0f\n\x0bKERNEL_AFDO\x10\x03\x12\x0f\n\x0b\x43HROME_AFDO\x10\x04\x42\x36Z4go.chromium.org/chromiumos/infra/proto/go/chromiumosb\x06proto3')
)

_IMAGETYPE = _descriptor.EnumDescriptor(
  name='ImageType',
  full_name='chromiumos.ImageType',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='IMAGE_TYPE_UNDEFINED', index=0, number=0,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='IMAGE_TYPE_BASE', index=1, number=1,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='IMAGE_TYPE_DEV', index=2, number=2,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='IMAGE_TYPE_TEST', index=3, number=3,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='IMAGE_TYPE_BASE_VM', index=4, number=4,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='IMAGE_TYPE_TEST_VM', index=5, number=5,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='IMAGE_TYPE_RECOVERY', index=6, number=6,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='IMAGE_TYPE_FACTORY', index=7, number=7,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='IMAGE_TYPE_FIRMWARE', index=8, number=8,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='IMAGE_TYPE_CR50_FIRMWARE', index=9, number=9,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='IMAGE_TYPE_BASE_GUEST_VM', index=10, number=10,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='IMAGE_TYPE_TEST_GUEST_VM', index=11, number=11,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='IMAGE_TYPE_DLC', index=12, number=12,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='IMAGE_TYPE_GSC_FIRMWARE', index=13, number=13,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='IMAGE_TYPE_ACCESSORY_USBPD', index=14, number=14,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='IMAGE_TYPE_ACCESSORY_RWSIG', index=15, number=15,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='BASE', index=16, number=1,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='DEV', index=17, number=2,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='TEST', index=18, number=3,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='BASE_VM', index=19, number=4,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='TEST_VM', index=20, number=5,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='RECOVERY', index=21, number=6,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='FACTORY', index=22, number=7,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='FIRMWARE', index=23, number=8,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='CR50_FIRMWARE', index=24, number=9,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='BASE_GUEST_VM', index=25, number=10,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='TEST_GUEST_VM', index=26, number=11,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='DLC', index=27, number=12,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='GSC_FIRMWARE', index=28, number=13,
      serialized_options=None,
      type=None),
  ],
  containing_type=None,
  serialized_options=_b('\020\001'),
  serialized_start=7994,
  serialized_end=8602,
)
_sym_db.RegisterEnumDescriptor(_IMAGETYPE)

ImageType = enum_type_wrapper.EnumTypeWrapper(_IMAGETYPE)
_CHANNEL = _descriptor.EnumDescriptor(
  name='Channel',
  full_name='chromiumos.Channel',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='CHANNEL_UNSPECIFIED', index=0, number=0,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='CHANNEL_STABLE', index=1, number=1,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='CHANNEL_BETA', index=2, number=2,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='CHANNEL_DEV', index=3, number=3,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='CHANNEL_CANARY', index=4, number=4,
      serialized_options=None,
      type=None),
  ],
  containing_type=None,
  serialized_options=None,
  serialized_start=8604,
  serialized_end=8713,
)
_sym_db.RegisterEnumDescriptor(_CHANNEL)

Channel = enum_type_wrapper.EnumTypeWrapper(_CHANNEL)
_DELTATYPE = _descriptor.EnumDescriptor(
  name='DeltaType',
  full_name='chromiumos.DeltaType',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='DELTA_UNKNOWN', index=0, number=0,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='NO_DELTA', index=1, number=1,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='FSI', index=2, number=2,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='MILESTONE', index=3, number=3,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='OMAHA', index=4, number=4,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='STEPPING_STONE', index=5, number=5,
      serialized_options=None,
      type=None),
  ],
  containing_type=None,
  serialized_options=None,
  serialized_start=8715,
  serialized_end=8814,
)
_sym_db.RegisterEnumDescriptor(_DELTATYPE)

DeltaType = enum_type_wrapper.EnumTypeWrapper(_DELTATYPE)
_AFDOARTIFACTTYPE = _descriptor.EnumDescriptor(
  name='AFDOArtifactType',
  full_name='chromiumos.AFDOArtifactType',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='NONE_TYPE', index=0, number=0,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ORDERFILE', index=1, number=1,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='BENCHMARK_AFDO', index=2, number=2,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='KERNEL_AFDO', index=3, number=3,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='CHROME_AFDO', index=4, number=4,
      serialized_options=None,
      type=None),
  ],
  containing_type=None,
  serialized_options=None,
  serialized_start=8816,
  serialized_end=8918,
)
_sym_db.RegisterEnumDescriptor(_AFDOARTIFACTTYPE)

AFDOArtifactType = enum_type_wrapper.EnumTypeWrapper(_AFDOARTIFACTTYPE)
IMAGE_TYPE_UNDEFINED = 0
IMAGE_TYPE_BASE = 1
IMAGE_TYPE_DEV = 2
IMAGE_TYPE_TEST = 3
IMAGE_TYPE_BASE_VM = 4
IMAGE_TYPE_TEST_VM = 5
IMAGE_TYPE_RECOVERY = 6
IMAGE_TYPE_FACTORY = 7
IMAGE_TYPE_FIRMWARE = 8
IMAGE_TYPE_CR50_FIRMWARE = 9
IMAGE_TYPE_BASE_GUEST_VM = 10
IMAGE_TYPE_TEST_GUEST_VM = 11
IMAGE_TYPE_DLC = 12
IMAGE_TYPE_GSC_FIRMWARE = 13
IMAGE_TYPE_ACCESSORY_USBPD = 14
IMAGE_TYPE_ACCESSORY_RWSIG = 15
BASE = 1
DEV = 2
TEST = 3
BASE_VM = 4
TEST_VM = 5
RECOVERY = 6
FACTORY = 7
FIRMWARE = 8
CR50_FIRMWARE = 9
BASE_GUEST_VM = 10
TEST_GUEST_VM = 11
DLC = 12
GSC_FIRMWARE = 13
CHANNEL_UNSPECIFIED = 0
CHANNEL_STABLE = 1
CHANNEL_BETA = 2
CHANNEL_DEV = 3
CHANNEL_CANARY = 4
DELTA_UNKNOWN = 0
NO_DELTA = 1
FSI = 2
MILESTONE = 3
OMAHA = 4
STEPPING_STONE = 5
NONE_TYPE = 0
ORDERFILE = 1
BENCHMARK_AFDO = 2
KERNEL_AFDO = 3
CHROME_AFDO = 4


_GOMACONFIG_GOMAAPPROACH = _descriptor.EnumDescriptor(
  name='GomaApproach',
  full_name='chromiumos.GomaConfig.GomaApproach',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='GOMA_APPROACH_UNSPECIFIED', index=0, number=0,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='DEFAULT', index=1, number=1,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='RBE_PROD', index=2, number=2,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='RBE_STAGING', index=3, number=3,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='RBE_CHROMEOS', index=4, number=4,
      serialized_options=None,
      type=None),
  ],
  containing_type=None,
  serialized_options=None,
  serialized_start=530,
  serialized_end=637,
)
_sym_db.RegisterEnumDescriptor(_GOMACONFIG_GOMAAPPROACH)

_PATH_LOCATION = _descriptor.EnumDescriptor(
  name='Location',
  full_name='chromiumos.Path.Location',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='NO_LOCATION', index=0, number=0,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='INSIDE', index=1, number=1,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='OUTSIDE', index=2, number=2,
      serialized_options=None,
      type=None),
  ],
  containing_type=None,
  serialized_options=None,
  serialized_start=1053,
  serialized_end=1105,
)
_sym_db.RegisterEnumDescriptor(_PATH_LOCATION)

_ARTIFACTSBYSERVICE_LEGACY_ARTIFACTTYPE = _descriptor.EnumDescriptor(
  name='ArtifactType',
  full_name='chromiumos.ArtifactsByService.Legacy.ArtifactType',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='UNSPECIFIED', index=0, number=0,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='IMAGE_ZIP', index=1, number=1,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='TEST_UPDATE_PAYLOAD', index=2, number=2,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='AUTOTEST_FILES', index=3, number=3,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='TAST_FILES', index=4, number=4,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='PINNED_GUEST_IMAGES', index=5, number=5,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='FIRMWARE', index=6, number=6,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='EBUILD_LOGS', index=7, number=7,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='CHROMEOS_CONFIG', index=8, number=8,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='CPE_REPORT', index=9, number=9,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='IMAGE_ARCHIVES', index=10, number=10,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='FPMCU_UNITTESTS', index=11, number=27,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='GCE_TARBALL', index=12, number=28,
      serialized_options=None,
      type=None),
  ],
  containing_type=None,
  serialized_options=None,
  serialized_start=2605,
  serialized_end=2875,
)
_sym_db.RegisterEnumDescriptor(_ARTIFACTSBYSERVICE_LEGACY_ARTIFACTTYPE)

_ARTIFACTSBYSERVICE_TOOLCHAIN_ARTIFACTTYPE = _descriptor.EnumDescriptor(
  name='ArtifactType',
  full_name='chromiumos.ArtifactsByService.Toolchain.ArtifactType',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='UNSPECIFIED', index=0, number=0,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='UNVERIFIED_CHROME_LLVM_ORDERFILE', index=1, number=11,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='VERIFIED_CHROME_LLVM_ORDERFILE', index=2, number=12,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='CHROME_CLANG_WARNINGS_FILE', index=3, number=13,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='UNVERIFIED_LLVM_PGO_FILE', index=4, number=14,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='UNVERIFIED_CHROME_BENCHMARK_AFDO_FILE', index=5, number=15,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='VERIFIED_CHROME_BENCHMARK_AFDO_FILE', index=6, number=16,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='VERIFIED_KERNEL_CWP_AFDO_FILE', index=7, number=17,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='UNVERIFIED_KERNEL_CWP_AFDO_FILE', index=8, number=18,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='UNVERIFIED_CHROME_CWP_AFDO_FILE', index=9, number=19,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='VERIFIED_CHROME_CWP_AFDO_FILE', index=10, number=20,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='VERIFIED_RELEASE_AFDO_FILE', index=11, number=21,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='UNVERIFIED_CHROME_BENCHMARK_PERF_FILE', index=12, number=22,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='CHROME_DEBUG_BINARY', index=13, number=23,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='TOOLCHAIN_WARNING_LOGS', index=14, number=24,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='CHROME_AFDO_PROFILE_FOR_ANDROID_LINUX', index=15, number=25,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='CLANG_CRASH_DIAGNOSES', index=16, number=26,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='COMPILER_RUSAGE_LOG', index=17, number=29,
      serialized_options=None,
      type=None),
  ],
  containing_type=None,
  serialized_options=None,
  serialized_start=3265,
  serialized_end=3901,
)
_sym_db.RegisterEnumDescriptor(_ARTIFACTSBYSERVICE_TOOLCHAIN_ARTIFACTTYPE)

_ARTIFACTSBYSERVICE_IMAGE_ARTIFACTTYPE = _descriptor.EnumDescriptor(
  name='ArtifactType',
  full_name='chromiumos.ArtifactsByService.Image.ArtifactType',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='UNSPECIFIED', index=0, number=0,
      serialized_options=None,
      type=None),
  ],
  containing_type=None,
  serialized_options=None,
  serialized_start=4274,
  serialized_end=4311,
)
_sym_db.RegisterEnumDescriptor(_ARTIFACTSBYSERVICE_IMAGE_ARTIFACTTYPE)

_ARTIFACTSBYSERVICE_PACKAGE_ARTIFACTTYPE = _descriptor.EnumDescriptor(
  name='ArtifactType',
  full_name='chromiumos.ArtifactsByService.Package.ArtifactType',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='UNSPECIFIED', index=0, number=0,
      serialized_options=None,
      type=None),
  ],
  containing_type=None,
  serialized_options=None,
  serialized_start=4274,
  serialized_end=4311,
)
_sym_db.RegisterEnumDescriptor(_ARTIFACTSBYSERVICE_PACKAGE_ARTIFACTTYPE)

_ARTIFACTSBYSERVICE_SYSROOT_ARTIFACTTYPE = _descriptor.EnumDescriptor(
  name='ArtifactType',
  full_name='chromiumos.ArtifactsByService.Sysroot.ArtifactType',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='UNSPECIFIED', index=0, number=0,
      serialized_options=None,
      type=None),
  ],
  containing_type=None,
  serialized_options=None,
  serialized_start=4274,
  serialized_end=4311,
)
_sym_db.RegisterEnumDescriptor(_ARTIFACTSBYSERVICE_SYSROOT_ARTIFACTTYPE)

_ARTIFACTSBYSERVICE_TEST_ARTIFACTTYPE = _descriptor.EnumDescriptor(
  name='ArtifactType',
  full_name='chromiumos.ArtifactsByService.Test.ArtifactType',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='UNSPECIFIED', index=0, number=0,
      serialized_options=None,
      type=None),
  ],
  containing_type=None,
  serialized_options=None,
  serialized_start=4274,
  serialized_end=4311,
)
_sym_db.RegisterEnumDescriptor(_ARTIFACTSBYSERVICE_TEST_ARTIFACTTYPE)

_ARTIFACTSBYSERVICE_FIRMWARE_ARTIFACTTYPE = _descriptor.EnumDescriptor(
  name='ArtifactType',
  full_name='chromiumos.ArtifactsByService.Firmware.ArtifactType',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='UNSPECIFIED', index=0, number=0,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='FIRMWARE_TARBALL', index=1, number=30,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='FIRMWARE_TARBALL_INFO', index=2, number=31,
      serialized_options=None,
      type=None),
  ],
  containing_type=None,
  serialized_options=None,
  serialized_start=5938,
  serialized_end=6024,
)
_sym_db.RegisterEnumDescriptor(_ARTIFACTSBYSERVICE_FIRMWARE_ARTIFACTTYPE)

_ARTIFACTSBYSERVICE_PUBLISHCONDITION = _descriptor.EnumDescriptor(
  name='PublishCondition',
  full_name='chromiumos.ArtifactsByService.PublishCondition',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='PUBLISH_UNSPECIFIED', index=0, number=0,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='PUBLISH_ON_SUCCESS', index=1, number=1,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='PUBLISH_ALWAYS', index=2, number=2,
      serialized_options=None,
      type=None),
  ],
  containing_type=None,
  serialized_options=None,
  serialized_start=6026,
  serialized_end=6113,
)
_sym_db.RegisterEnumDescriptor(_ARTIFACTSBYSERVICE_PUBLISHCONDITION)


_BUILDTARGET = _descriptor.Descriptor(
  name='BuildTarget',
  full_name='chromiumos.BuildTarget',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='name', full_name='chromiumos.BuildTarget.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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=39,
  serialized_end=66,
)


_CHROOT_CHROOTENV = _descriptor.Descriptor(
  name='ChrootEnv',
  full_name='chromiumos.Chroot.ChrootEnv',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='use_flags', full_name='chromiumos.Chroot.ChrootEnv.use_flags', 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='features', full_name='chromiumos.Chroot.ChrootEnv.features', 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=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=175,
  serialized_end=265,
)

_CHROOT = _descriptor.Descriptor(
  name='Chroot',
  full_name='chromiumos.Chroot',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='path', full_name='chromiumos.Chroot.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),
    _descriptor.FieldDescriptor(
      name='cache_dir', full_name='chromiumos.Chroot.cache_dir', 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='env', full_name='chromiumos.Chroot.env', 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='chrome_dir', full_name='chromiumos.Chroot.chrome_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=[_CHROOT_CHROOTENV, ],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=69,
  serialized_end=271,
)


_FEATURE = _descriptor.Descriptor(
  name='Feature',
  full_name='chromiumos.Feature',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='feature', full_name='chromiumos.Feature.feature', 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=273,
  serialized_end=299,
)


_GOMACONFIG = _descriptor.Descriptor(
  name='GomaConfig',
  full_name='chromiumos.GomaConfig',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='goma_dir', full_name='chromiumos.GomaConfig.goma_dir', 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='goma_client_json', full_name='chromiumos.GomaConfig.goma_client_json', 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='chromeos_goma_dir', full_name='chromiumos.GomaConfig.chromeos_goma_dir', 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='goma_approach', full_name='chromiumos.GomaConfig.goma_approach', index=3,
      number=4, 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='log_dir', full_name='chromiumos.GomaConfig.log_dir', 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='stats_file', full_name='chromiumos.GomaConfig.stats_file', 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='counterz_file', full_name='chromiumos.GomaConfig.counterz_file', 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=[
    _GOMACONFIG_GOMAAPPROACH,
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=302,
  serialized_end=637,
)


_GOMAARTIFACTS = _descriptor.Descriptor(
  name='GomaArtifacts',
  full_name='chromiumos.GomaArtifacts',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='stats_file', full_name='chromiumos.GomaArtifacts.stats_file', 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='counterz_file', full_name='chromiumos.GomaArtifacts.counterz_file', 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='log_files', full_name='chromiumos.GomaArtifacts.log_files', index=2,
      number=3, 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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=639,
  serialized_end=716,
)


_PACKAGEINFO = _descriptor.Descriptor(
  name='PackageInfo',
  full_name='chromiumos.PackageInfo',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='package_name', full_name='chromiumos.PackageInfo.package_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='category', full_name='chromiumos.PackageInfo.category', 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='version', full_name='chromiumos.PackageInfo.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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=718,
  serialized_end=788,
)


_PROFILE = _descriptor.Descriptor(
  name='Profile',
  full_name='chromiumos.Profile',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='name', full_name='chromiumos.Profile.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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=790,
  serialized_end=813,
)


_PACKAGEINDEXINFO = _descriptor.Descriptor(
  name='PackageIndexInfo',
  full_name='chromiumos.PackageIndexInfo',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='snapshot_sha', full_name='chromiumos.PackageIndexInfo.snapshot_sha', 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='snapshot_number', full_name='chromiumos.PackageIndexInfo.snapshot_number', 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='build_target', full_name='chromiumos.PackageIndexInfo.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),
    _descriptor.FieldDescriptor(
      name='location', full_name='chromiumos.PackageIndexInfo.location', 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='profile', full_name='chromiumos.PackageIndexInfo.profile', index=4,
      number=5, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=816,
  serialized_end=984,
)


_PATH = _descriptor.Descriptor(
  name='Path',
  full_name='chromiumos.Path',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='path', full_name='chromiumos.Path.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),
    _descriptor.FieldDescriptor(
      name='location', full_name='chromiumos.Path.location', index=1,
      number=2, type=14, cpp_type=8, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
    _PATH_LOCATION,
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=986,
  serialized_end=1105,
)


_RESULTPATH = _descriptor.Descriptor(
  name='ResultPath',
  full_name='chromiumos.ResultPath',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='path', full_name='chromiumos.ResultPath.path', 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=1107,
  serialized_end=1151,
)


_SYNCEDDIR = _descriptor.Descriptor(
  name='SyncedDir',
  full_name='chromiumos.SyncedDir',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='dir', full_name='chromiumos.SyncedDir.dir', 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=1153,
  serialized_end=1177,
)


_GERRITCHANGE = _descriptor.Descriptor(
  name='GerritChange',
  full_name='chromiumos.GerritChange',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='host', full_name='chromiumos.GerritChange.host', 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='project', full_name='chromiumos.GerritChange.project', 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='change', full_name='chromiumos.GerritChange.change', index=2,
      number=3, type=3, cpp_type=2, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='patchset', full_name='chromiumos.GerritChange.patchset', index=3,
      number=4, type=3, cpp_type=2, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1179,
  serialized_end=1258,
)


_GITILESCOMMIT = _descriptor.Descriptor(
  name='GitilesCommit',
  full_name='chromiumos.GitilesCommit',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='host', full_name='chromiumos.GitilesCommit.host', 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='project', full_name='chromiumos.GitilesCommit.project', 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='id', full_name='chromiumos.GitilesCommit.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='ref', full_name='chromiumos.GitilesCommit.ref', 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='position', full_name='chromiumos.GitilesCommit.position', index=4,
      number=5, type=13, cpp_type=3, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1260,
  serialized_end=1349,
)


_USEFLAG = _descriptor.Descriptor(
  name='UseFlag',
  full_name='chromiumos.UseFlag',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='flag', full_name='chromiumos.UseFlag.flag', 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=1351,
  serialized_end=1374,
)


_PROTOBYTES = _descriptor.Descriptor(
  name='ProtoBytes',
  full_name='chromiumos.ProtoBytes',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='serialized_proto', full_name='chromiumos.ProtoBytes.serialized_proto', index=0,
      number=1, type=12, cpp_type=9, label=1,
      has_default_value=False, default_value=_b(""),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=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=1376,
  serialized_end=1414,
)


_PREPAREFORBUILDADDITIONALARGS = _descriptor.Descriptor(
  name='PrepareForBuildAdditionalArgs',
  full_name='chromiumos.PrepareForBuildAdditionalArgs',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='chrome_cwp_profile', full_name='chromiumos.PrepareForBuildAdditionalArgs.chrome_cwp_profile', 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='kernel_version', full_name='chromiumos.PrepareForBuildAdditionalArgs.kernel_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=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
    _descriptor.OneofDescriptor(
      name='prepare_for_build_args', full_name='chromiumos.PrepareForBuildAdditionalArgs.prepare_for_build_args',
      index=0, containing_type=None, fields=[]),
  ],
  serialized_start=1416,
  serialized_end=1529,
)


_AFDORELEASE = _descriptor.Descriptor(
  name='AfdoRelease',
  full_name='chromiumos.AfdoRelease',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='chrome_cwp_profile', full_name='chromiumos.AfdoRelease.chrome_cwp_profile', 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='image_build_id', full_name='chromiumos.AfdoRelease.image_build_id', index=1,
      number=2, type=3, cpp_type=2, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1531,
  serialized_end=1596,
)


_ARTIFACTPROFILEINFO = _descriptor.Descriptor(
  name='ArtifactProfileInfo',
  full_name='chromiumos.ArtifactProfileInfo',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='chrome_cwp_profile', full_name='chromiumos.ArtifactProfileInfo.chrome_cwp_profile', 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='kernel_version', full_name='chromiumos.ArtifactProfileInfo.kernel_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='afdo_release', full_name='chromiumos.ArtifactProfileInfo.afdo_release', 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=[
    _descriptor.OneofDescriptor(
      name='artifact_profile_info', full_name='chromiumos.ArtifactProfileInfo.artifact_profile_info',
      index=0, containing_type=None, fields=[]),
  ],
  serialized_start=1599,
  serialized_end=1750,
)


_ARTIFACTSBYSERVICE_LEGACY_ARTIFACTINFO = _descriptor.Descriptor(
  name='ArtifactInfo',
  full_name='chromiumos.ArtifactsByService.Legacy.ArtifactInfo',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='artifact_types', full_name='chromiumos.ArtifactsByService.Legacy.ArtifactInfo.artifact_types', 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='gs_locations', full_name='chromiumos.ArtifactsByService.Legacy.ArtifactInfo.gs_locations', index=1,
      number=2, 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='acl_name', full_name='chromiumos.ArtifactsByService.Legacy.ArtifactInfo.acl_name', index=2,
      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='publish_condition', full_name='chromiumos.ArtifactsByService.Legacy.ArtifactInfo.publish_condition', index=3,
      number=5, type=14, cpp_type=8, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2390,
  serialized_end=2602,
)

_ARTIFACTSBYSERVICE_LEGACY = _descriptor.Descriptor(
  name='Legacy',
  full_name='chromiumos.ArtifactsByService.Legacy',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='input_artifacts', full_name='chromiumos.ArtifactsByService.Legacy.input_artifacts', 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='output_artifacts', full_name='chromiumos.ArtifactsByService.Legacy.output_artifacts', 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=[_ARTIFACTSBYSERVICE_LEGACY_ARTIFACTINFO, ],
  enum_types=[
    _ARTIFACTSBYSERVICE_LEGACY_ARTIFACTTYPE,
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2224,
  serialized_end=2875,
)

_ARTIFACTSBYSERVICE_TOOLCHAIN_ARTIFACTINFO = _descriptor.Descriptor(
  name='ArtifactInfo',
  full_name='chromiumos.ArtifactsByService.Toolchain.ArtifactInfo',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='artifact_types', full_name='chromiumos.ArtifactsByService.Toolchain.ArtifactInfo.artifact_types', 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='gs_locations', full_name='chromiumos.ArtifactsByService.Toolchain.ArtifactInfo.gs_locations', index=1,
      number=2, 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='acl_name', full_name='chromiumos.ArtifactsByService.Toolchain.ArtifactInfo.acl_name', index=2,
      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='publish_condition', full_name='chromiumos.ArtifactsByService.Toolchain.ArtifactInfo.publish_condition', index=3,
      number=5, type=14, cpp_type=8, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3053,
  serialized_end=3262,
)

_ARTIFACTSBYSERVICE_TOOLCHAIN = _descriptor.Descriptor(
  name='Toolchain',
  full_name='chromiumos.ArtifactsByService.Toolchain',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='input_artifacts', full_name='chromiumos.ArtifactsByService.Toolchain.input_artifacts', 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='output_artifacts', full_name='chromiumos.ArtifactsByService.Toolchain.output_artifacts', 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=[_ARTIFACTSBYSERVICE_TOOLCHAIN_ARTIFACTINFO, ],
  enum_types=[
    _ARTIFACTSBYSERVICE_TOOLCHAIN_ARTIFACTTYPE,
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2878,
  serialized_end=3901,
)

_ARTIFACTSBYSERVICE_IMAGE_ARTIFACTINFO = _descriptor.Descriptor(
  name='ArtifactInfo',
  full_name='chromiumos.ArtifactsByService.Image.ArtifactInfo',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='artifact_types', full_name='chromiumos.ArtifactsByService.Image.ArtifactInfo.artifact_types', 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='gs_locations', full_name='chromiumos.ArtifactsByService.Image.ArtifactInfo.gs_locations', index=1,
      number=2, 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='acl_name', full_name='chromiumos.ArtifactsByService.Image.ArtifactInfo.acl_name', index=2,
      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='publish_condition', full_name='chromiumos.ArtifactsByService.Image.ArtifactInfo.publish_condition', index=3,
      number=5, type=14, cpp_type=8, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=4067,
  serialized_end=4272,
)

_ARTIFACTSBYSERVICE_IMAGE = _descriptor.Descriptor(
  name='Image',
  full_name='chromiumos.ArtifactsByService.Image',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='input_artifacts', full_name='chromiumos.ArtifactsByService.Image.input_artifacts', 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='output_artifacts', full_name='chromiumos.ArtifactsByService.Image.output_artifacts', 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=[_ARTIFACTSBYSERVICE_IMAGE_ARTIFACTINFO, ],
  enum_types=[
    _ARTIFACTSBYSERVICE_IMAGE_ARTIFACTTYPE,
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3904,
  serialized_end=4311,
)

_ARTIFACTSBYSERVICE_PACKAGE_ARTIFACTINFO = _descriptor.Descriptor(
  name='ArtifactInfo',
  full_name='chromiumos.ArtifactsByService.Package.ArtifactInfo',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='artifact_types', full_name='chromiumos.ArtifactsByService.Package.ArtifactInfo.artifact_types', 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='gs_locations', full_name='chromiumos.ArtifactsByService.Package.ArtifactInfo.gs_locations', index=1,
      number=2, 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='acl_name', full_name='chromiumos.ArtifactsByService.Package.ArtifactInfo.acl_name', index=2,
      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='publish_condition', full_name='chromiumos.ArtifactsByService.Package.ArtifactInfo.publish_condition', index=3,
      number=5, type=14, cpp_type=8, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=4483,
  serialized_end=4690,
)

_ARTIFACTSBYSERVICE_PACKAGE = _descriptor.Descriptor(
  name='Package',
  full_name='chromiumos.ArtifactsByService.Package',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='input_artifacts', full_name='chromiumos.ArtifactsByService.Package.input_artifacts', 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='output_artifacts', full_name='chromiumos.ArtifactsByService.Package.output_artifacts', 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=[_ARTIFACTSBYSERVICE_PACKAGE_ARTIFACTINFO, ],
  enum_types=[
    _ARTIFACTSBYSERVICE_PACKAGE_ARTIFACTTYPE,
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=4314,
  serialized_end=4729,
)

_ARTIFACTSBYSERVICE_SYSROOT_ARTIFACTINFO = _descriptor.Descriptor(
  name='ArtifactInfo',
  full_name='chromiumos.ArtifactsByService.Sysroot.ArtifactInfo',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='artifact_types', full_name='chromiumos.ArtifactsByService.Sysroot.ArtifactInfo.artifact_types', 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='gs_locations', full_name='chromiumos.ArtifactsByService.Sysroot.ArtifactInfo.gs_locations', index=1,
      number=2, 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='acl_name', full_name='chromiumos.ArtifactsByService.Sysroot.ArtifactInfo.acl_name', index=2,
      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='publish_condition', full_name='chromiumos.ArtifactsByService.Sysroot.ArtifactInfo.publish_condition', index=3,
      number=5, type=14, cpp_type=8, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=4901,
  serialized_end=5108,
)

_ARTIFACTSBYSERVICE_SYSROOT = _descriptor.Descriptor(
  name='Sysroot',
  full_name='chromiumos.ArtifactsByService.Sysroot',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='input_artifacts', full_name='chromiumos.ArtifactsByService.Sysroot.input_artifacts', 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='output_artifacts', full_name='chromiumos.ArtifactsByService.Sysroot.output_artifacts', 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=[_ARTIFACTSBYSERVICE_SYSROOT_ARTIFACTINFO, ],
  enum_types=[
    _ARTIFACTSBYSERVICE_SYSROOT_ARTIFACTTYPE,
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=4732,
  serialized_end=5147,
)

_ARTIFACTSBYSERVICE_TEST_ARTIFACTINFO = _descriptor.Descriptor(
  name='ArtifactInfo',
  full_name='chromiumos.ArtifactsByService.Test.ArtifactInfo',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='artifact_types', full_name='chromiumos.ArtifactsByService.Test.ArtifactInfo.artifact_types', 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='gs_locations', full_name='chromiumos.ArtifactsByService.Test.ArtifactInfo.gs_locations', index=1,
      number=2, 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='acl_name', full_name='chromiumos.ArtifactsByService.Test.ArtifactInfo.acl_name', index=2,
      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='publish_condition', full_name='chromiumos.ArtifactsByService.Test.ArtifactInfo.publish_condition', index=3,
      number=5, type=14, cpp_type=8, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=5310,
  serialized_end=5514,
)

_ARTIFACTSBYSERVICE_TEST = _descriptor.Descriptor(
  name='Test',
  full_name='chromiumos.ArtifactsByService.Test',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='input_artifacts', full_name='chromiumos.ArtifactsByService.Test.input_artifacts', 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='output_artifacts', full_name='chromiumos.ArtifactsByService.Test.output_artifacts', 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=[_ARTIFACTSBYSERVICE_TEST_ARTIFACTINFO, ],
  enum_types=[
    _ARTIFACTSBYSERVICE_TEST_ARTIFACTTYPE,
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=5150,
  serialized_end=5553,
)

_ARTIFACTSBYSERVICE_FIRMWARE_ARTIFACTINFO = _descriptor.Descriptor(
  name='ArtifactInfo',
  full_name='chromiumos.ArtifactsByService.Firmware.ArtifactInfo',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='artifact_types', full_name='chromiumos.ArtifactsByService.Firmware.ArtifactInfo.artifact_types', 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='gs_locations', full_name='chromiumos.ArtifactsByService.Firmware.ArtifactInfo.gs_locations', index=1,
      number=2, 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='acl_name', full_name='chromiumos.ArtifactsByService.Firmware.ArtifactInfo.acl_name', index=2,
      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='publish_condition', full_name='chromiumos.ArtifactsByService.Firmware.ArtifactInfo.publish_condition', index=3,
      number=5, type=14, cpp_type=8, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=5728,
  serialized_end=5936,
)

_ARTIFACTSBYSERVICE_FIRMWARE = _descriptor.Descriptor(
  name='Firmware',
  full_name='chromiumos.ArtifactsByService.Firmware',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='input_artifacts', full_name='chromiumos.ArtifactsByService.Firmware.input_artifacts', 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='output_artifacts', full_name='chromiumos.ArtifactsByService.Firmware.output_artifacts', 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=[_ARTIFACTSBYSERVICE_FIRMWARE_ARTIFACTINFO, ],
  enum_types=[
    _ARTIFACTSBYSERVICE_FIRMWARE_ARTIFACTTYPE,
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=5556,
  serialized_end=6024,
)

_ARTIFACTSBYSERVICE = _descriptor.Descriptor(
  name='ArtifactsByService',
  full_name='chromiumos.ArtifactsByService',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='legacy', full_name='chromiumos.ArtifactsByService.legacy', 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='toolchain', full_name='chromiumos.ArtifactsByService.toolchain', 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='image', full_name='chromiumos.ArtifactsByService.image', 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='package', full_name='chromiumos.ArtifactsByService.package', 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='sysroot', full_name='chromiumos.ArtifactsByService.sysroot', 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='test', full_name='chromiumos.ArtifactsByService.test', 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='profile_info', full_name='chromiumos.ArtifactsByService.profile_info', 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='firmware', full_name='chromiumos.ArtifactsByService.firmware', 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=[_ARTIFACTSBYSERVICE_LEGACY, _ARTIFACTSBYSERVICE_TOOLCHAIN, _ARTIFACTSBYSERVICE_IMAGE, _ARTIFACTSBYSERVICE_PACKAGE, _ARTIFACTSBYSERVICE_SYSROOT, _ARTIFACTSBYSERVICE_TEST, _ARTIFACTSBYSERVICE_FIRMWARE, ],
  enum_types=[
    _ARTIFACTSBYSERVICE_PUBLISHCONDITION,
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1753,
  serialized_end=6113,
)


_UPLOADEDARTIFACTSBYSERVICE_LEGACY_ARTIFACTPATHS = _descriptor.Descriptor(
  name='ArtifactPaths',
  full_name='chromiumos.UploadedArtifactsByService.Legacy.ArtifactPaths',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='artifact_type', full_name='chromiumos.UploadedArtifactsByService.Legacy.ArtifactPaths.artifact_type', index=0,
      number=1, 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='paths', full_name='chromiumos.UploadedArtifactsByService.Legacy.ArtifactPaths.paths', index=1,
      number=2, 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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=6686,
  serialized_end=6791,
)

_UPLOADEDARTIFACTSBYSERVICE_LEGACY = _descriptor.Descriptor(
  name='Legacy',
  full_name='chromiumos.UploadedArtifactsByService.Legacy',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='artifacts', full_name='chromiumos.UploadedArtifactsByService.Legacy.artifacts', 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=[_UPLOADEDARTIFACTSBYSERVICE_LEGACY_ARTIFACTPATHS, ],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=6596,
  serialized_end=6791,
)

_UPLOADEDARTIFACTSBYSERVICE_TOOLCHAIN_ARTIFACTPATHS = _descriptor.Descriptor(
  name='ArtifactPaths',
  full_name='chromiumos.UploadedArtifactsByService.Toolchain.ArtifactPaths',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='artifact_type', full_name='chromiumos.UploadedArtifactsByService.Toolchain.ArtifactPaths.artifact_type', index=0,
      number=1, 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='paths', full_name='chromiumos.UploadedArtifactsByService.Toolchain.ArtifactPaths.paths', index=1,
      number=2, 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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=6890,
  serialized_end=6998,
)

_UPLOADEDARTIFACTSBYSERVICE_TOOLCHAIN = _descriptor.Descriptor(
  name='Toolchain',
  full_name='chromiumos.UploadedArtifactsByService.Toolchain',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='artifacts', full_name='chromiumos.UploadedArtifactsByService.Toolchain.artifacts', 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=[_UPLOADEDARTIFACTSBYSERVICE_TOOLCHAIN_ARTIFACTPATHS, ],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=6794,
  serialized_end=6998,
)

_UPLOADEDARTIFACTSBYSERVICE_IMAGE_ARTIFACTPATHS = _descriptor.Descriptor(
  name='ArtifactPaths',
  full_name='chromiumos.UploadedArtifactsByService.Image.ArtifactPaths',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='artifact_type', full_name='chromiumos.UploadedArtifactsByService.Image.ArtifactPaths.artifact_type', index=0,
      number=1, 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='paths', full_name='chromiumos.UploadedArtifactsByService.Image.ArtifactPaths.paths', index=1,
      number=2, 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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=7089,
  serialized_end=7193,
)

_UPLOADEDARTIFACTSBYSERVICE_IMAGE = _descriptor.Descriptor(
  name='Image',
  full_name='chromiumos.UploadedArtifactsByService.Image',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='artifacts', full_name='chromiumos.UploadedArtifactsByService.Image.artifacts', 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=[_UPLOADEDARTIFACTSBYSERVICE_IMAGE_ARTIFACTPATHS, ],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=7001,
  serialized_end=7193,
)

_UPLOADEDARTIFACTSBYSERVICE_PACKAGE_ARTIFACTPATHS = _descriptor.Descriptor(
  name='ArtifactPaths',
  full_name='chromiumos.UploadedArtifactsByService.Package.ArtifactPaths',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='artifact_type', full_name='chromiumos.UploadedArtifactsByService.Package.ArtifactPaths.artifact_type', index=0,
      number=1, 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='paths', full_name='chromiumos.UploadedArtifactsByService.Package.ArtifactPaths.paths', index=1,
      number=2, 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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=7288,
  serialized_end=7394,
)

_UPLOADEDARTIFACTSBYSERVICE_PACKAGE = _descriptor.Descriptor(
  name='Package',
  full_name='chromiumos.UploadedArtifactsByService.Package',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='artifacts', full_name='chromiumos.UploadedArtifactsByService.Package.artifacts', 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=[_UPLOADEDARTIFACTSBYSERVICE_PACKAGE_ARTIFACTPATHS, ],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=7196,
  serialized_end=7394,
)

_UPLOADEDARTIFACTSBYSERVICE_SYSROOT_ARTIFACTPATHS = _descriptor.Descriptor(
  name='ArtifactPaths',
  full_name='chromiumos.UploadedArtifactsByService.Sysroot.ArtifactPaths',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='artifact_type', full_name='chromiumos.UploadedArtifactsByService.Sysroot.ArtifactPaths.artifact_type', index=0,
      number=1, 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='paths', full_name='chromiumos.UploadedArtifactsByService.Sysroot.ArtifactPaths.paths', index=1,
      number=2, 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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=7489,
  serialized_end=7595,
)

_UPLOADEDARTIFACTSBYSERVICE_SYSROOT = _descriptor.Descriptor(
  name='Sysroot',
  full_name='chromiumos.UploadedArtifactsByService.Sysroot',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='artifacts', full_name='chromiumos.UploadedArtifactsByService.Sysroot.artifacts', 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=[_UPLOADEDARTIFACTSBYSERVICE_SYSROOT_ARTIFACTPATHS, ],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=7397,
  serialized_end=7595,
)

_UPLOADEDARTIFACTSBYSERVICE_TEST_ARTIFACTPATHS = _descriptor.Descriptor(
  name='ArtifactPaths',
  full_name='chromiumos.UploadedArtifactsByService.Test.ArtifactPaths',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='artifact_type', full_name='chromiumos.UploadedArtifactsByService.Test.ArtifactPaths.artifact_type', index=0,
      number=1, 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='paths', full_name='chromiumos.UploadedArtifactsByService.Test.ArtifactPaths.paths', index=1,
      number=2, 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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=7684,
  serialized_end=7787,
)

_UPLOADEDARTIFACTSBYSERVICE_TEST = _descriptor.Descriptor(
  name='Test',
  full_name='chromiumos.UploadedArtifactsByService.Test',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='artifacts', full_name='chromiumos.UploadedArtifactsByService.Test.artifacts', 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=[_UPLOADEDARTIFACTSBYSERVICE_TEST_ARTIFACTPATHS, ],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=7598,
  serialized_end=7787,
)

_UPLOADEDARTIFACTSBYSERVICE_FIRMWARE_ARTIFACTPATHS = _descriptor.Descriptor(
  name='ArtifactPaths',
  full_name='chromiumos.UploadedArtifactsByService.Firmware.ArtifactPaths',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='artifact_type', full_name='chromiumos.UploadedArtifactsByService.Firmware.ArtifactPaths.artifact_type', index=0,
      number=1, 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='paths', full_name='chromiumos.UploadedArtifactsByService.Firmware.ArtifactPaths.paths', index=1,
      number=2, 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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=7884,
  serialized_end=7991,
)

_UPLOADEDARTIFACTSBYSERVICE_FIRMWARE = _descriptor.Descriptor(
  name='Firmware',
  full_name='chromiumos.UploadedArtifactsByService.Firmware',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='artifacts', full_name='chromiumos.UploadedArtifactsByService.Firmware.artifacts', 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=[_UPLOADEDARTIFACTSBYSERVICE_FIRMWARE_ARTIFACTPATHS, ],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=7790,
  serialized_end=7991,
)

_UPLOADEDARTIFACTSBYSERVICE = _descriptor.Descriptor(
  name='UploadedArtifactsByService',
  full_name='chromiumos.UploadedArtifactsByService',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='legacy', full_name='chromiumos.UploadedArtifactsByService.legacy', 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='toolchain', full_name='chromiumos.UploadedArtifactsByService.toolchain', 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='image', full_name='chromiumos.UploadedArtifactsByService.image', 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='package', full_name='chromiumos.UploadedArtifactsByService.package', 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='sysroot', full_name='chromiumos.UploadedArtifactsByService.sysroot', 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='test', full_name='chromiumos.UploadedArtifactsByService.test', 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='firmware', full_name='chromiumos.UploadedArtifactsByService.firmware', 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),
  ],
  extensions=[
  ],
  nested_types=[_UPLOADEDARTIFACTSBYSERVICE_LEGACY, _UPLOADEDARTIFACTSBYSERVICE_TOOLCHAIN, _UPLOADEDARTIFACTSBYSERVICE_IMAGE, _UPLOADEDARTIFACTSBYSERVICE_PACKAGE, _UPLOADEDARTIFACTSBYSERVICE_SYSROOT, _UPLOADEDARTIFACTSBYSERVICE_TEST, _UPLOADEDARTIFACTSBYSERVICE_FIRMWARE, ],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=6116,
  serialized_end=7991,
)

_CHROOT_CHROOTENV.fields_by_name['use_flags'].message_type = _USEFLAG
_CHROOT_CHROOTENV.fields_by_name['features'].message_type = _FEATURE
_CHROOT_CHROOTENV.containing_type = _CHROOT
_CHROOT.fields_by_name['env'].message_type = _CHROOT_CHROOTENV
_GOMACONFIG.fields_by_name['goma_approach'].enum_type = _GOMACONFIG_GOMAAPPROACH
_GOMACONFIG.fields_by_name['log_dir'].message_type = _SYNCEDDIR
_GOMACONFIG_GOMAAPPROACH.containing_type = _GOMACONFIG
_PACKAGEINDEXINFO.fields_by_name['build_target'].message_type = _BUILDTARGET
_PACKAGEINDEXINFO.fields_by_name['profile'].message_type = _PROFILE
_PATH.fields_by_name['location'].enum_type = _PATH_LOCATION
_PATH_LOCATION.containing_type = _PATH
_RESULTPATH.fields_by_name['path'].message_type = _PATH
_PREPAREFORBUILDADDITIONALARGS.oneofs_by_name['prepare_for_build_args'].fields.append(
  _PREPAREFORBUILDADDITIONALARGS.fields_by_name['chrome_cwp_profile'])
_PREPAREFORBUILDADDITIONALARGS.fields_by_name['chrome_cwp_profile'].containing_oneof = _PREPAREFORBUILDADDITIONALARGS.oneofs_by_name['prepare_for_build_args']
_PREPAREFORBUILDADDITIONALARGS.oneofs_by_name['prepare_for_build_args'].fields.append(
  _PREPAREFORBUILDADDITIONALARGS.fields_by_name['kernel_version'])
_PREPAREFORBUILDADDITIONALARGS.fields_by_name['kernel_version'].containing_oneof = _PREPAREFORBUILDADDITIONALARGS.oneofs_by_name['prepare_for_build_args']
_ARTIFACTPROFILEINFO.fields_by_name['afdo_release'].message_type = _AFDORELEASE
_ARTIFACTPROFILEINFO.oneofs_by_name['artifact_profile_info'].fields.append(
  _ARTIFACTPROFILEINFO.fields_by_name['chrome_cwp_profile'])
_ARTIFACTPROFILEINFO.fields_by_name['chrome_cwp_profile'].containing_oneof = _ARTIFACTPROFILEINFO.oneofs_by_name['artifact_profile_info']
_ARTIFACTPROFILEINFO.oneofs_by_name['artifact_profile_info'].fields.append(
  _ARTIFACTPROFILEINFO.fields_by_name['kernel_version'])
_ARTIFACTPROFILEINFO.fields_by_name['kernel_version'].containing_oneof = _ARTIFACTPROFILEINFO.oneofs_by_name['artifact_profile_info']
_ARTIFACTPROFILEINFO.oneofs_by_name['artifact_profile_info'].fields.append(
  _ARTIFACTPROFILEINFO.fields_by_name['afdo_release'])
_ARTIFACTPROFILEINFO.fields_by_name['afdo_release'].containing_oneof = _ARTIFACTPROFILEINFO.oneofs_by_name['artifact_profile_info']
_ARTIFACTSBYSERVICE_LEGACY_ARTIFACTINFO.fields_by_name['artifact_types'].enum_type = _ARTIFACTSBYSERVICE_LEGACY_ARTIFACTTYPE
_ARTIFACTSBYSERVICE_LEGACY_ARTIFACTINFO.fields_by_name['publish_condition'].enum_type = _ARTIFACTSBYSERVICE_PUBLISHCONDITION
_ARTIFACTSBYSERVICE_LEGACY_ARTIFACTINFO.containing_type = _ARTIFACTSBYSERVICE_LEGACY
_ARTIFACTSBYSERVICE_LEGACY.fields_by_name['input_artifacts'].message_type = _ARTIFACTSBYSERVICE_LEGACY_ARTIFACTINFO
_ARTIFACTSBYSERVICE_LEGACY.fields_by_name['output_artifacts'].message_type = _ARTIFACTSBYSERVICE_LEGACY_ARTIFACTINFO
_ARTIFACTSBYSERVICE_LEGACY.containing_type = _ARTIFACTSBYSERVICE
_ARTIFACTSBYSERVICE_LEGACY_ARTIFACTTYPE.containing_type = _ARTIFACTSBYSERVICE_LEGACY
_ARTIFACTSBYSERVICE_TOOLCHAIN_ARTIFACTINFO.fields_by_name['artifact_types'].enum_type = _ARTIFACTSBYSERVICE_TOOLCHAIN_ARTIFACTTYPE
_ARTIFACTSBYSERVICE_TOOLCHAIN_ARTIFACTINFO.fields_by_name['publish_condition'].enum_type = _ARTIFACTSBYSERVICE_PUBLISHCONDITION
_ARTIFACTSBYSERVICE_TOOLCHAIN_ARTIFACTINFO.containing_type = _ARTIFACTSBYSERVICE_TOOLCHAIN
_ARTIFACTSBYSERVICE_TOOLCHAIN.fields_by_name['input_artifacts'].message_type = _ARTIFACTSBYSERVICE_TOOLCHAIN_ARTIFACTINFO
_ARTIFACTSBYSERVICE_TOOLCHAIN.fields_by_name['output_artifacts'].message_type = _ARTIFACTSBYSERVICE_TOOLCHAIN_ARTIFACTINFO
_ARTIFACTSBYSERVICE_TOOLCHAIN.containing_type = _ARTIFACTSBYSERVICE
_ARTIFACTSBYSERVICE_TOOLCHAIN_ARTIFACTTYPE.containing_type = _ARTIFACTSBYSERVICE_TOOLCHAIN
_ARTIFACTSBYSERVICE_IMAGE_ARTIFACTINFO.fields_by_name['artifact_types'].enum_type = _ARTIFACTSBYSERVICE_IMAGE_ARTIFACTTYPE
_ARTIFACTSBYSERVICE_IMAGE_ARTIFACTINFO.fields_by_name['publish_condition'].enum_type = _ARTIFACTSBYSERVICE_PUBLISHCONDITION
_ARTIFACTSBYSERVICE_IMAGE_ARTIFACTINFO.containing_type = _ARTIFACTSBYSERVICE_IMAGE
_ARTIFACTSBYSERVICE_IMAGE.fields_by_name['input_artifacts'].message_type = _ARTIFACTSBYSERVICE_IMAGE_ARTIFACTINFO
_ARTIFACTSBYSERVICE_IMAGE.fields_by_name['output_artifacts'].message_type = _ARTIFACTSBYSERVICE_IMAGE_ARTIFACTINFO
_ARTIFACTSBYSERVICE_IMAGE.containing_type = _ARTIFACTSBYSERVICE
_ARTIFACTSBYSERVICE_IMAGE_ARTIFACTTYPE.containing_type = _ARTIFACTSBYSERVICE_IMAGE
_ARTIFACTSBYSERVICE_PACKAGE_ARTIFACTINFO.fields_by_name['artifact_types'].enum_type = _ARTIFACTSBYSERVICE_PACKAGE_ARTIFACTTYPE
_ARTIFACTSBYSERVICE_PACKAGE_ARTIFACTINFO.fields_by_name['publish_condition'].enum_type = _ARTIFACTSBYSERVICE_PUBLISHCONDITION
_ARTIFACTSBYSERVICE_PACKAGE_ARTIFACTINFO.containing_type = _ARTIFACTSBYSERVICE_PACKAGE
_ARTIFACTSBYSERVICE_PACKAGE.fields_by_name['input_artifacts'].message_type = _ARTIFACTSBYSERVICE_PACKAGE_ARTIFACTINFO
_ARTIFACTSBYSERVICE_PACKAGE.fields_by_name['output_artifacts'].message_type = _ARTIFACTSBYSERVICE_PACKAGE_ARTIFACTINFO
_ARTIFACTSBYSERVICE_PACKAGE.containing_type = _ARTIFACTSBYSERVICE
_ARTIFACTSBYSERVICE_PACKAGE_ARTIFACTTYPE.containing_type = _ARTIFACTSBYSERVICE_PACKAGE
_ARTIFACTSBYSERVICE_SYSROOT_ARTIFACTINFO.fields_by_name['artifact_types'].enum_type = _ARTIFACTSBYSERVICE_SYSROOT_ARTIFACTTYPE
_ARTIFACTSBYSERVICE_SYSROOT_ARTIFACTINFO.fields_by_name['publish_condition'].enum_type = _ARTIFACTSBYSERVICE_PUBLISHCONDITION
_ARTIFACTSBYSERVICE_SYSROOT_ARTIFACTINFO.containing_type = _ARTIFACTSBYSERVICE_SYSROOT
_ARTIFACTSBYSERVICE_SYSROOT.fields_by_name['input_artifacts'].message_type = _ARTIFACTSBYSERVICE_SYSROOT_ARTIFACTINFO
_ARTIFACTSBYSERVICE_SYSROOT.fields_by_name['output_artifacts'].message_type = _ARTIFACTSBYSERVICE_SYSROOT_ARTIFACTINFO
_ARTIFACTSBYSERVICE_SYSROOT.containing_type = _ARTIFACTSBYSERVICE
_ARTIFACTSBYSERVICE_SYSROOT_ARTIFACTTYPE.containing_type = _ARTIFACTSBYSERVICE_SYSROOT
_ARTIFACTSBYSERVICE_TEST_ARTIFACTINFO.fields_by_name['artifact_types'].enum_type = _ARTIFACTSBYSERVICE_TEST_ARTIFACTTYPE
_ARTIFACTSBYSERVICE_TEST_ARTIFACTINFO.fields_by_name['publish_condition'].enum_type = _ARTIFACTSBYSERVICE_PUBLISHCONDITION
_ARTIFACTSBYSERVICE_TEST_ARTIFACTINFO.containing_type = _ARTIFACTSBYSERVICE_TEST
_ARTIFACTSBYSERVICE_TEST.fields_by_name['input_artifacts'].message_type = _ARTIFACTSBYSERVICE_TEST_ARTIFACTINFO
_ARTIFACTSBYSERVICE_TEST.fields_by_name['output_artifacts'].message_type = _ARTIFACTSBYSERVICE_TEST_ARTIFACTINFO
_ARTIFACTSBYSERVICE_TEST.containing_type = _ARTIFACTSBYSERVICE
_ARTIFACTSBYSERVICE_TEST_ARTIFACTTYPE.containing_type = _ARTIFACTSBYSERVICE_TEST
_ARTIFACTSBYSERVICE_FIRMWARE_ARTIFACTINFO.fields_by_name['artifact_types'].enum_type = _ARTIFACTSBYSERVICE_FIRMWARE_ARTIFACTTYPE
_ARTIFACTSBYSERVICE_FIRMWARE_ARTIFACTINFO.fields_by_name['publish_condition'].enum_type = _ARTIFACTSBYSERVICE_PUBLISHCONDITION
_ARTIFACTSBYSERVICE_FIRMWARE_ARTIFACTINFO.containing_type = _ARTIFACTSBYSERVICE_FIRMWARE
_ARTIFACTSBYSERVICE_FIRMWARE.fields_by_name['input_artifacts'].message_type = _ARTIFACTSBYSERVICE_FIRMWARE_ARTIFACTINFO
_ARTIFACTSBYSERVICE_FIRMWARE.fields_by_name['output_artifacts'].message_type = _ARTIFACTSBYSERVICE_FIRMWARE_ARTIFACTINFO
_ARTIFACTSBYSERVICE_FIRMWARE.containing_type = _ARTIFACTSBYSERVICE
_ARTIFACTSBYSERVICE_FIRMWARE_ARTIFACTTYPE.containing_type = _ARTIFACTSBYSERVICE_FIRMWARE
_ARTIFACTSBYSERVICE.fields_by_name['legacy'].message_type = _ARTIFACTSBYSERVICE_LEGACY
_ARTIFACTSBYSERVICE.fields_by_name['toolchain'].message_type = _ARTIFACTSBYSERVICE_TOOLCHAIN
_ARTIFACTSBYSERVICE.fields_by_name['image'].message_type = _ARTIFACTSBYSERVICE_IMAGE
_ARTIFACTSBYSERVICE.fields_by_name['package'].message_type = _ARTIFACTSBYSERVICE_PACKAGE
_ARTIFACTSBYSERVICE.fields_by_name['sysroot'].message_type = _ARTIFACTSBYSERVICE_SYSROOT
_ARTIFACTSBYSERVICE.fields_by_name['test'].message_type = _ARTIFACTSBYSERVICE_TEST
_ARTIFACTSBYSERVICE.fields_by_name['profile_info'].message_type = _ARTIFACTPROFILEINFO
_ARTIFACTSBYSERVICE.fields_by_name['firmware'].message_type = _ARTIFACTSBYSERVICE_FIRMWARE
_ARTIFACTSBYSERVICE_PUBLISHCONDITION.containing_type = _ARTIFACTSBYSERVICE
_UPLOADEDARTIFACTSBYSERVICE_LEGACY_ARTIFACTPATHS.fields_by_name['artifact_type'].enum_type = _ARTIFACTSBYSERVICE_LEGACY_ARTIFACTTYPE
_UPLOADEDARTIFACTSBYSERVICE_LEGACY_ARTIFACTPATHS.containing_type = _UPLOADEDARTIFACTSBYSERVICE_LEGACY
_UPLOADEDARTIFACTSBYSERVICE_LEGACY.fields_by_name['artifacts'].message_type = _UPLOADEDARTIFACTSBYSERVICE_LEGACY_ARTIFACTPATHS
_UPLOADEDARTIFACTSBYSERVICE_LEGACY.containing_type = _UPLOADEDARTIFACTSBYSERVICE
_UPLOADEDARTIFACTSBYSERVICE_TOOLCHAIN_ARTIFACTPATHS.fields_by_name['artifact_type'].enum_type = _ARTIFACTSBYSERVICE_TOOLCHAIN_ARTIFACTTYPE
_UPLOADEDARTIFACTSBYSERVICE_TOOLCHAIN_ARTIFACTPATHS.containing_type = _UPLOADEDARTIFACTSBYSERVICE_TOOLCHAIN
_UPLOADEDARTIFACTSBYSERVICE_TOOLCHAIN.fields_by_name['artifacts'].message_type = _UPLOADEDARTIFACTSBYSERVICE_TOOLCHAIN_ARTIFACTPATHS
_UPLOADEDARTIFACTSBYSERVICE_TOOLCHAIN.containing_type = _UPLOADEDARTIFACTSBYSERVICE
_UPLOADEDARTIFACTSBYSERVICE_IMAGE_ARTIFACTPATHS.fields_by_name['artifact_type'].enum_type = _ARTIFACTSBYSERVICE_IMAGE_ARTIFACTTYPE
_UPLOADEDARTIFACTSBYSERVICE_IMAGE_ARTIFACTPATHS.containing_type = _UPLOADEDARTIFACTSBYSERVICE_IMAGE
_UPLOADEDARTIFACTSBYSERVICE_IMAGE.fields_by_name['artifacts'].message_type = _UPLOADEDARTIFACTSBYSERVICE_IMAGE_ARTIFACTPATHS
_UPLOADEDARTIFACTSBYSERVICE_IMAGE.containing_type = _UPLOADEDARTIFACTSBYSERVICE
_UPLOADEDARTIFACTSBYSERVICE_PACKAGE_ARTIFACTPATHS.fields_by_name['artifact_type'].enum_type = _ARTIFACTSBYSERVICE_PACKAGE_ARTIFACTTYPE
_UPLOADEDARTIFACTSBYSERVICE_PACKAGE_ARTIFACTPATHS.containing_type = _UPLOADEDARTIFACTSBYSERVICE_PACKAGE
_UPLOADEDARTIFACTSBYSERVICE_PACKAGE.fields_by_name['artifacts'].message_type = _UPLOADEDARTIFACTSBYSERVICE_PACKAGE_ARTIFACTPATHS
_UPLOADEDARTIFACTSBYSERVICE_PACKAGE.containing_type = _UPLOADEDARTIFACTSBYSERVICE
_UPLOADEDARTIFACTSBYSERVICE_SYSROOT_ARTIFACTPATHS.fields_by_name['artifact_type'].enum_type = _ARTIFACTSBYSERVICE_SYSROOT_ARTIFACTTYPE
_UPLOADEDARTIFACTSBYSERVICE_SYSROOT_ARTIFACTPATHS.containing_type = _UPLOADEDARTIFACTSBYSERVICE_SYSROOT
_UPLOADEDARTIFACTSBYSERVICE_SYSROOT.fields_by_name['artifacts'].message_type = _UPLOADEDARTIFACTSBYSERVICE_SYSROOT_ARTIFACTPATHS
_UPLOADEDARTIFACTSBYSERVICE_SYSROOT.containing_type = _UPLOADEDARTIFACTSBYSERVICE
_UPLOADEDARTIFACTSBYSERVICE_TEST_ARTIFACTPATHS.fields_by_name['artifact_type'].enum_type = _ARTIFACTSBYSERVICE_TEST_ARTIFACTTYPE
_UPLOADEDARTIFACTSBYSERVICE_TEST_ARTIFACTPATHS.containing_type = _UPLOADEDARTIFACTSBYSERVICE_TEST
_UPLOADEDARTIFACTSBYSERVICE_TEST.fields_by_name['artifacts'].message_type = _UPLOADEDARTIFACTSBYSERVICE_TEST_ARTIFACTPATHS
_UPLOADEDARTIFACTSBYSERVICE_TEST.containing_type = _UPLOADEDARTIFACTSBYSERVICE
_UPLOADEDARTIFACTSBYSERVICE_FIRMWARE_ARTIFACTPATHS.fields_by_name['artifact_type'].enum_type = _ARTIFACTSBYSERVICE_FIRMWARE_ARTIFACTTYPE
_UPLOADEDARTIFACTSBYSERVICE_FIRMWARE_ARTIFACTPATHS.containing_type = _UPLOADEDARTIFACTSBYSERVICE_FIRMWARE
_UPLOADEDARTIFACTSBYSERVICE_FIRMWARE.fields_by_name['artifacts'].message_type = _UPLOADEDARTIFACTSBYSERVICE_FIRMWARE_ARTIFACTPATHS
_UPLOADEDARTIFACTSBYSERVICE_FIRMWARE.containing_type = _UPLOADEDARTIFACTSBYSERVICE
_UPLOADEDARTIFACTSBYSERVICE.fields_by_name['legacy'].message_type = _UPLOADEDARTIFACTSBYSERVICE_LEGACY
_UPLOADEDARTIFACTSBYSERVICE.fields_by_name['toolchain'].message_type = _UPLOADEDARTIFACTSBYSERVICE_TOOLCHAIN
_UPLOADEDARTIFACTSBYSERVICE.fields_by_name['image'].message_type = _UPLOADEDARTIFACTSBYSERVICE_IMAGE
_UPLOADEDARTIFACTSBYSERVICE.fields_by_name['package'].message_type = _UPLOADEDARTIFACTSBYSERVICE_PACKAGE
_UPLOADEDARTIFACTSBYSERVICE.fields_by_name['sysroot'].message_type = _UPLOADEDARTIFACTSBYSERVICE_SYSROOT
_UPLOADEDARTIFACTSBYSERVICE.fields_by_name['test'].message_type = _UPLOADEDARTIFACTSBYSERVICE_TEST
_UPLOADEDARTIFACTSBYSERVICE.fields_by_name['firmware'].message_type = _UPLOADEDARTIFACTSBYSERVICE_FIRMWARE
DESCRIPTOR.message_types_by_name['BuildTarget'] = _BUILDTARGET
DESCRIPTOR.message_types_by_name['Chroot'] = _CHROOT
DESCRIPTOR.message_types_by_name['Feature'] = _FEATURE
DESCRIPTOR.message_types_by_name['GomaConfig'] = _GOMACONFIG
DESCRIPTOR.message_types_by_name['GomaArtifacts'] = _GOMAARTIFACTS
DESCRIPTOR.message_types_by_name['PackageInfo'] = _PACKAGEINFO
DESCRIPTOR.message_types_by_name['Profile'] = _PROFILE
DESCRIPTOR.message_types_by_name['PackageIndexInfo'] = _PACKAGEINDEXINFO
DESCRIPTOR.message_types_by_name['Path'] = _PATH
DESCRIPTOR.message_types_by_name['ResultPath'] = _RESULTPATH
DESCRIPTOR.message_types_by_name['SyncedDir'] = _SYNCEDDIR
DESCRIPTOR.message_types_by_name['GerritChange'] = _GERRITCHANGE
DESCRIPTOR.message_types_by_name['GitilesCommit'] = _GITILESCOMMIT
DESCRIPTOR.message_types_by_name['UseFlag'] = _USEFLAG
DESCRIPTOR.message_types_by_name['ProtoBytes'] = _PROTOBYTES
DESCRIPTOR.message_types_by_name['PrepareForBuildAdditionalArgs'] = _PREPAREFORBUILDADDITIONALARGS
DESCRIPTOR.message_types_by_name['AfdoRelease'] = _AFDORELEASE
DESCRIPTOR.message_types_by_name['ArtifactProfileInfo'] = _ARTIFACTPROFILEINFO
DESCRIPTOR.message_types_by_name['ArtifactsByService'] = _ARTIFACTSBYSERVICE
DESCRIPTOR.message_types_by_name['UploadedArtifactsByService'] = _UPLOADEDARTIFACTSBYSERVICE
DESCRIPTOR.enum_types_by_name['ImageType'] = _IMAGETYPE
DESCRIPTOR.enum_types_by_name['Channel'] = _CHANNEL
DESCRIPTOR.enum_types_by_name['DeltaType'] = _DELTATYPE
DESCRIPTOR.enum_types_by_name['AFDOArtifactType'] = _AFDOARTIFACTTYPE
_sym_db.RegisterFileDescriptor(DESCRIPTOR)

BuildTarget = _reflection.GeneratedProtocolMessageType('BuildTarget', (_message.Message,), dict(
  DESCRIPTOR = _BUILDTARGET,
  __module__ = 'chromiumos.common_pb2'
  # @@protoc_insertion_point(class_scope:chromiumos.BuildTarget)
  ))
_sym_db.RegisterMessage(BuildTarget)

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

  ChrootEnv = _reflection.GeneratedProtocolMessageType('ChrootEnv', (_message.Message,), dict(
    DESCRIPTOR = _CHROOT_CHROOTENV,
    __module__ = 'chromiumos.common_pb2'
    # @@protoc_insertion_point(class_scope:chromiumos.Chroot.ChrootEnv)
    ))
  ,
  DESCRIPTOR = _CHROOT,
  __module__ = 'chromiumos.common_pb2'
  # @@protoc_insertion_point(class_scope:chromiumos.Chroot)
  ))
_sym_db.RegisterMessage(Chroot)
_sym_db.RegisterMessage(Chroot.ChrootEnv)

Feature = _reflection.GeneratedProtocolMessageType('Feature', (_message.Message,), dict(
  DESCRIPTOR = _FEATURE,
  __module__ = 'chromiumos.common_pb2'
  # @@protoc_insertion_point(class_scope:chromiumos.Feature)
  ))
_sym_db.RegisterMessage(Feature)

GomaConfig = _reflection.GeneratedProtocolMessageType('GomaConfig', (_message.Message,), dict(
  DESCRIPTOR = _GOMACONFIG,
  __module__ = 'chromiumos.common_pb2'
  # @@protoc_insertion_point(class_scope:chromiumos.GomaConfig)
  ))
_sym_db.RegisterMessage(GomaConfig)

GomaArtifacts = _reflection.GeneratedProtocolMessageType('GomaArtifacts', (_message.Message,), dict(
  DESCRIPTOR = _GOMAARTIFACTS,
  __module__ = 'chromiumos.common_pb2'
  # @@protoc_insertion_point(class_scope:chromiumos.GomaArtifacts)
  ))
_sym_db.RegisterMessage(GomaArtifacts)

PackageInfo = _reflection.GeneratedProtocolMessageType('PackageInfo', (_message.Message,), dict(
  DESCRIPTOR = _PACKAGEINFO,
  __module__ = 'chromiumos.common_pb2'
  # @@protoc_insertion_point(class_scope:chromiumos.PackageInfo)
  ))
_sym_db.RegisterMessage(PackageInfo)

Profile = _reflection.GeneratedProtocolMessageType('Profile', (_message.Message,), dict(
  DESCRIPTOR = _PROFILE,
  __module__ = 'chromiumos.common_pb2'
  # @@protoc_insertion_point(class_scope:chromiumos.Profile)
  ))
_sym_db.RegisterMessage(Profile)

PackageIndexInfo = _reflection.GeneratedProtocolMessageType('PackageIndexInfo', (_message.Message,), dict(
  DESCRIPTOR = _PACKAGEINDEXINFO,
  __module__ = 'chromiumos.common_pb2'
  # @@protoc_insertion_point(class_scope:chromiumos.PackageIndexInfo)
  ))
_sym_db.RegisterMessage(PackageIndexInfo)

Path = _reflection.GeneratedProtocolMessageType('Path', (_message.Message,), dict(
  DESCRIPTOR = _PATH,
  __module__ = 'chromiumos.common_pb2'
  # @@protoc_insertion_point(class_scope:chromiumos.Path)
  ))
_sym_db.RegisterMessage(Path)

ResultPath = _reflection.GeneratedProtocolMessageType('ResultPath', (_message.Message,), dict(
  DESCRIPTOR = _RESULTPATH,
  __module__ = 'chromiumos.common_pb2'
  # @@protoc_insertion_point(class_scope:chromiumos.ResultPath)
  ))
_sym_db.RegisterMessage(ResultPath)

SyncedDir = _reflection.GeneratedProtocolMessageType('SyncedDir', (_message.Message,), dict(
  DESCRIPTOR = _SYNCEDDIR,
  __module__ = 'chromiumos.common_pb2'
  # @@protoc_insertion_point(class_scope:chromiumos.SyncedDir)
  ))
_sym_db.RegisterMessage(SyncedDir)

GerritChange = _reflection.GeneratedProtocolMessageType('GerritChange', (_message.Message,), dict(
  DESCRIPTOR = _GERRITCHANGE,
  __module__ = 'chromiumos.common_pb2'
  # @@protoc_insertion_point(class_scope:chromiumos.GerritChange)
  ))
_sym_db.RegisterMessage(GerritChange)

GitilesCommit = _reflection.GeneratedProtocolMessageType('GitilesCommit', (_message.Message,), dict(
  DESCRIPTOR = _GITILESCOMMIT,
  __module__ = 'chromiumos.common_pb2'
  # @@protoc_insertion_point(class_scope:chromiumos.GitilesCommit)
  ))
_sym_db.RegisterMessage(GitilesCommit)

UseFlag = _reflection.GeneratedProtocolMessageType('UseFlag', (_message.Message,), dict(
  DESCRIPTOR = _USEFLAG,
  __module__ = 'chromiumos.common_pb2'
  # @@protoc_insertion_point(class_scope:chromiumos.UseFlag)
  ))
_sym_db.RegisterMessage(UseFlag)

ProtoBytes = _reflection.GeneratedProtocolMessageType('ProtoBytes', (_message.Message,), dict(
  DESCRIPTOR = _PROTOBYTES,
  __module__ = 'chromiumos.common_pb2'
  # @@protoc_insertion_point(class_scope:chromiumos.ProtoBytes)
  ))
_sym_db.RegisterMessage(ProtoBytes)

PrepareForBuildAdditionalArgs = _reflection.GeneratedProtocolMessageType('PrepareForBuildAdditionalArgs', (_message.Message,), dict(
  DESCRIPTOR = _PREPAREFORBUILDADDITIONALARGS,
  __module__ = 'chromiumos.common_pb2'
  # @@protoc_insertion_point(class_scope:chromiumos.PrepareForBuildAdditionalArgs)
  ))
_sym_db.RegisterMessage(PrepareForBuildAdditionalArgs)

AfdoRelease = _reflection.GeneratedProtocolMessageType('AfdoRelease', (_message.Message,), dict(
  DESCRIPTOR = _AFDORELEASE,
  __module__ = 'chromiumos.common_pb2'
  # @@protoc_insertion_point(class_scope:chromiumos.AfdoRelease)
  ))
_sym_db.RegisterMessage(AfdoRelease)

ArtifactProfileInfo = _reflection.GeneratedProtocolMessageType('ArtifactProfileInfo', (_message.Message,), dict(
  DESCRIPTOR = _ARTIFACTPROFILEINFO,
  __module__ = 'chromiumos.common_pb2'
  # @@protoc_insertion_point(class_scope:chromiumos.ArtifactProfileInfo)
  ))
_sym_db.RegisterMessage(ArtifactProfileInfo)

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

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

    ArtifactInfo = _reflection.GeneratedProtocolMessageType('ArtifactInfo', (_message.Message,), dict(
      DESCRIPTOR = _ARTIFACTSBYSERVICE_LEGACY_ARTIFACTINFO,
      __module__ = 'chromiumos.common_pb2'
      # @@protoc_insertion_point(class_scope:chromiumos.ArtifactsByService.Legacy.ArtifactInfo)
      ))
    ,
    DESCRIPTOR = _ARTIFACTSBYSERVICE_LEGACY,
    __module__ = 'chromiumos.common_pb2'
    # @@protoc_insertion_point(class_scope:chromiumos.ArtifactsByService.Legacy)
    ))
  ,

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

    ArtifactInfo = _reflection.GeneratedProtocolMessageType('ArtifactInfo', (_message.Message,), dict(
      DESCRIPTOR = _ARTIFACTSBYSERVICE_TOOLCHAIN_ARTIFACTINFO,
      __module__ = 'chromiumos.common_pb2'
      # @@protoc_insertion_point(class_scope:chromiumos.ArtifactsByService.Toolchain.ArtifactInfo)
      ))
    ,
    DESCRIPTOR = _ARTIFACTSBYSERVICE_TOOLCHAIN,
    __module__ = 'chromiumos.common_pb2'
    # @@protoc_insertion_point(class_scope:chromiumos.ArtifactsByService.Toolchain)
    ))
  ,

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

    ArtifactInfo = _reflection.GeneratedProtocolMessageType('ArtifactInfo', (_message.Message,), dict(
      DESCRIPTOR = _ARTIFACTSBYSERVICE_IMAGE_ARTIFACTINFO,
      __module__ = 'chromiumos.common_pb2'
      # @@protoc_insertion_point(class_scope:chromiumos.ArtifactsByService.Image.ArtifactInfo)
      ))
    ,
    DESCRIPTOR = _ARTIFACTSBYSERVICE_IMAGE,
    __module__ = 'chromiumos.common_pb2'
    # @@protoc_insertion_point(class_scope:chromiumos.ArtifactsByService.Image)
    ))
  ,

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

    ArtifactInfo = _reflection.GeneratedProtocolMessageType('ArtifactInfo', (_message.Message,), dict(
      DESCRIPTOR = _ARTIFACTSBYSERVICE_PACKAGE_ARTIFACTINFO,
      __module__ = 'chromiumos.common_pb2'
      # @@protoc_insertion_point(class_scope:chromiumos.ArtifactsByService.Package.ArtifactInfo)
      ))
    ,
    DESCRIPTOR = _ARTIFACTSBYSERVICE_PACKAGE,
    __module__ = 'chromiumos.common_pb2'
    # @@protoc_insertion_point(class_scope:chromiumos.ArtifactsByService.Package)
    ))
  ,

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

    ArtifactInfo = _reflection.GeneratedProtocolMessageType('ArtifactInfo', (_message.Message,), dict(
      DESCRIPTOR = _ARTIFACTSBYSERVICE_SYSROOT_ARTIFACTINFO,
      __module__ = 'chromiumos.common_pb2'
      # @@protoc_insertion_point(class_scope:chromiumos.ArtifactsByService.Sysroot.ArtifactInfo)
      ))
    ,
    DESCRIPTOR = _ARTIFACTSBYSERVICE_SYSROOT,
    __module__ = 'chromiumos.common_pb2'
    # @@protoc_insertion_point(class_scope:chromiumos.ArtifactsByService.Sysroot)
    ))
  ,

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

    ArtifactInfo = _reflection.GeneratedProtocolMessageType('ArtifactInfo', (_message.Message,), dict(
      DESCRIPTOR = _ARTIFACTSBYSERVICE_TEST_ARTIFACTINFO,
      __module__ = 'chromiumos.common_pb2'
      # @@protoc_insertion_point(class_scope:chromiumos.ArtifactsByService.Test.ArtifactInfo)
      ))
    ,
    DESCRIPTOR = _ARTIFACTSBYSERVICE_TEST,
    __module__ = 'chromiumos.common_pb2'
    # @@protoc_insertion_point(class_scope:chromiumos.ArtifactsByService.Test)
    ))
  ,

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

    ArtifactInfo = _reflection.GeneratedProtocolMessageType('ArtifactInfo', (_message.Message,), dict(
      DESCRIPTOR = _ARTIFACTSBYSERVICE_FIRMWARE_ARTIFACTINFO,
      __module__ = 'chromiumos.common_pb2'
      # @@protoc_insertion_point(class_scope:chromiumos.ArtifactsByService.Firmware.ArtifactInfo)
      ))
    ,
    DESCRIPTOR = _ARTIFACTSBYSERVICE_FIRMWARE,
    __module__ = 'chromiumos.common_pb2'
    # @@protoc_insertion_point(class_scope:chromiumos.ArtifactsByService.Firmware)
    ))
  ,
  DESCRIPTOR = _ARTIFACTSBYSERVICE,
  __module__ = 'chromiumos.common_pb2'
  # @@protoc_insertion_point(class_scope:chromiumos.ArtifactsByService)
  ))
_sym_db.RegisterMessage(ArtifactsByService)
_sym_db.RegisterMessage(ArtifactsByService.Legacy)
_sym_db.RegisterMessage(ArtifactsByService.Legacy.ArtifactInfo)
_sym_db.RegisterMessage(ArtifactsByService.Toolchain)
_sym_db.RegisterMessage(ArtifactsByService.Toolchain.ArtifactInfo)
_sym_db.RegisterMessage(ArtifactsByService.Image)
_sym_db.RegisterMessage(ArtifactsByService.Image.ArtifactInfo)
_sym_db.RegisterMessage(ArtifactsByService.Package)
_sym_db.RegisterMessage(ArtifactsByService.Package.ArtifactInfo)
_sym_db.RegisterMessage(ArtifactsByService.Sysroot)
_sym_db.RegisterMessage(ArtifactsByService.Sysroot.ArtifactInfo)
_sym_db.RegisterMessage(ArtifactsByService.Test)
_sym_db.RegisterMessage(ArtifactsByService.Test.ArtifactInfo)
_sym_db.RegisterMessage(ArtifactsByService.Firmware)
_sym_db.RegisterMessage(ArtifactsByService.Firmware.ArtifactInfo)

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

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

    ArtifactPaths = _reflection.GeneratedProtocolMessageType('ArtifactPaths', (_message.Message,), dict(
      DESCRIPTOR = _UPLOADEDARTIFACTSBYSERVICE_LEGACY_ARTIFACTPATHS,
      __module__ = 'chromiumos.common_pb2'
      # @@protoc_insertion_point(class_scope:chromiumos.UploadedArtifactsByService.Legacy.ArtifactPaths)
      ))
    ,
    DESCRIPTOR = _UPLOADEDARTIFACTSBYSERVICE_LEGACY,
    __module__ = 'chromiumos.common_pb2'
    # @@protoc_insertion_point(class_scope:chromiumos.UploadedArtifactsByService.Legacy)
    ))
  ,

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

    ArtifactPaths = _reflection.GeneratedProtocolMessageType('ArtifactPaths', (_message.Message,), dict(
      DESCRIPTOR = _UPLOADEDARTIFACTSBYSERVICE_TOOLCHAIN_ARTIFACTPATHS,
      __module__ = 'chromiumos.common_pb2'
      # @@protoc_insertion_point(class_scope:chromiumos.UploadedArtifactsByService.Toolchain.ArtifactPaths)
      ))
    ,
    DESCRIPTOR = _UPLOADEDARTIFACTSBYSERVICE_TOOLCHAIN,
    __module__ = 'chromiumos.common_pb2'
    # @@protoc_insertion_point(class_scope:chromiumos.UploadedArtifactsByService.Toolchain)
    ))
  ,

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

    ArtifactPaths = _reflection.GeneratedProtocolMessageType('ArtifactPaths', (_message.Message,), dict(
      DESCRIPTOR = _UPLOADEDARTIFACTSBYSERVICE_IMAGE_ARTIFACTPATHS,
      __module__ = 'chromiumos.common_pb2'
      # @@protoc_insertion_point(class_scope:chromiumos.UploadedArtifactsByService.Image.ArtifactPaths)
      ))
    ,
    DESCRIPTOR = _UPLOADEDARTIFACTSBYSERVICE_IMAGE,
    __module__ = 'chromiumos.common_pb2'
    # @@protoc_insertion_point(class_scope:chromiumos.UploadedArtifactsByService.Image)
    ))
  ,

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

    ArtifactPaths = _reflection.GeneratedProtocolMessageType('ArtifactPaths', (_message.Message,), dict(
      DESCRIPTOR = _UPLOADEDARTIFACTSBYSERVICE_PACKAGE_ARTIFACTPATHS,
      __module__ = 'chromiumos.common_pb2'
      # @@protoc_insertion_point(class_scope:chromiumos.UploadedArtifactsByService.Package.ArtifactPaths)
      ))
    ,
    DESCRIPTOR = _UPLOADEDARTIFACTSBYSERVICE_PACKAGE,
    __module__ = 'chromiumos.common_pb2'
    # @@protoc_insertion_point(class_scope:chromiumos.UploadedArtifactsByService.Package)
    ))
  ,

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

    ArtifactPaths = _reflection.GeneratedProtocolMessageType('ArtifactPaths', (_message.Message,), dict(
      DESCRIPTOR = _UPLOADEDARTIFACTSBYSERVICE_SYSROOT_ARTIFACTPATHS,
      __module__ = 'chromiumos.common_pb2'
      # @@protoc_insertion_point(class_scope:chromiumos.UploadedArtifactsByService.Sysroot.ArtifactPaths)
      ))
    ,
    DESCRIPTOR = _UPLOADEDARTIFACTSBYSERVICE_SYSROOT,
    __module__ = 'chromiumos.common_pb2'
    # @@protoc_insertion_point(class_scope:chromiumos.UploadedArtifactsByService.Sysroot)
    ))
  ,

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

    ArtifactPaths = _reflection.GeneratedProtocolMessageType('ArtifactPaths', (_message.Message,), dict(
      DESCRIPTOR = _UPLOADEDARTIFACTSBYSERVICE_TEST_ARTIFACTPATHS,
      __module__ = 'chromiumos.common_pb2'
      # @@protoc_insertion_point(class_scope:chromiumos.UploadedArtifactsByService.Test.ArtifactPaths)
      ))
    ,
    DESCRIPTOR = _UPLOADEDARTIFACTSBYSERVICE_TEST,
    __module__ = 'chromiumos.common_pb2'
    # @@protoc_insertion_point(class_scope:chromiumos.UploadedArtifactsByService.Test)
    ))
  ,

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

    ArtifactPaths = _reflection.GeneratedProtocolMessageType('ArtifactPaths', (_message.Message,), dict(
      DESCRIPTOR = _UPLOADEDARTIFACTSBYSERVICE_FIRMWARE_ARTIFACTPATHS,
      __module__ = 'chromiumos.common_pb2'
      # @@protoc_insertion_point(class_scope:chromiumos.UploadedArtifactsByService.Firmware.ArtifactPaths)
      ))
    ,
    DESCRIPTOR = _UPLOADEDARTIFACTSBYSERVICE_FIRMWARE,
    __module__ = 'chromiumos.common_pb2'
    # @@protoc_insertion_point(class_scope:chromiumos.UploadedArtifactsByService.Firmware)
    ))
  ,
  DESCRIPTOR = _UPLOADEDARTIFACTSBYSERVICE,
  __module__ = 'chromiumos.common_pb2'
  # @@protoc_insertion_point(class_scope:chromiumos.UploadedArtifactsByService)
  ))
_sym_db.RegisterMessage(UploadedArtifactsByService)
_sym_db.RegisterMessage(UploadedArtifactsByService.Legacy)
_sym_db.RegisterMessage(UploadedArtifactsByService.Legacy.ArtifactPaths)
_sym_db.RegisterMessage(UploadedArtifactsByService.Toolchain)
_sym_db.RegisterMessage(UploadedArtifactsByService.Toolchain.ArtifactPaths)
_sym_db.RegisterMessage(UploadedArtifactsByService.Image)
_sym_db.RegisterMessage(UploadedArtifactsByService.Image.ArtifactPaths)
_sym_db.RegisterMessage(UploadedArtifactsByService.Package)
_sym_db.RegisterMessage(UploadedArtifactsByService.Package.ArtifactPaths)
_sym_db.RegisterMessage(UploadedArtifactsByService.Sysroot)
_sym_db.RegisterMessage(UploadedArtifactsByService.Sysroot.ArtifactPaths)
_sym_db.RegisterMessage(UploadedArtifactsByService.Test)
_sym_db.RegisterMessage(UploadedArtifactsByService.Test.ArtifactPaths)
_sym_db.RegisterMessage(UploadedArtifactsByService.Firmware)
_sym_db.RegisterMessage(UploadedArtifactsByService.Firmware.ArtifactPaths)


DESCRIPTOR._options = None
_IMAGETYPE._options = None
# @@protoc_insertion_point(module_scope)
