Add LoadBalance (#9945)

Signed-off-by: bigsheeper <yihao.dai@zilliz.com>
pull/11113/head
bigsheeper 2021-11-06 16:54:59 +08:00 committed by GitHub
parent 37ebaabf0d
commit 38375ee1d3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
27 changed files with 1766 additions and 764 deletions

View File

@ -310,6 +310,10 @@ class GetMetricsResponseDefaultTypeInternal {
public:
::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<GetMetricsResponse> _instance;
} _GetMetricsResponse_default_instance_;
class LoadBalanceRequestDefaultTypeInternal {
public:
::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<LoadBalanceRequest> _instance;
} _LoadBalanceRequest_default_instance_;
} // namespace milvus
} // namespace proto
} // namespace milvus
@ -968,6 +972,21 @@ static void InitDefaultsscc_info_InsertRequest_milvus_2eproto() {
&scc_info_MsgBase_common_2eproto.base,
&scc_info_FieldData_schema_2eproto.base,}};
static void InitDefaultsscc_info_LoadBalanceRequest_milvus_2eproto() {
GOOGLE_PROTOBUF_VERIFY_VERSION;
{
void* ptr = &::milvus::proto::milvus::_LoadBalanceRequest_default_instance_;
new (ptr) ::milvus::proto::milvus::LoadBalanceRequest();
::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
}
::milvus::proto::milvus::LoadBalanceRequest::InitAsDefaultInstance();
}
::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<1> scc_info_LoadBalanceRequest_milvus_2eproto =
{{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 1, InitDefaultsscc_info_LoadBalanceRequest_milvus_2eproto}, {
&scc_info_MsgBase_common_2eproto.base,}};
static void InitDefaultsscc_info_LoadCollectionRequest_milvus_2eproto() {
GOOGLE_PROTOBUF_VERIFY_VERSION;
@ -1330,7 +1349,7 @@ static void InitDefaultsscc_info_VectorsArray_milvus_2eproto() {
&scc_info_VectorIDs_milvus_2eproto.base,
&scc_info_VectorField_schema_2eproto.base,}};
static ::PROTOBUF_NAMESPACE_ID::Metadata file_level_metadata_milvus_2eproto[67];
static ::PROTOBUF_NAMESPACE_ID::Metadata file_level_metadata_milvus_2eproto[68];
static const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* file_level_enum_descriptors_milvus_2eproto[2];
static constexpr ::PROTOBUF_NAMESPACE_ID::ServiceDescriptor const** file_level_service_descriptors_milvus_2eproto = nullptr;
@ -1931,6 +1950,15 @@ const ::PROTOBUF_NAMESPACE_ID::uint32 TableStruct_milvus_2eproto::offsets[] PROT
PROTOBUF_FIELD_OFFSET(::milvus::proto::milvus::GetMetricsResponse, status_),
PROTOBUF_FIELD_OFFSET(::milvus::proto::milvus::GetMetricsResponse, response_),
PROTOBUF_FIELD_OFFSET(::milvus::proto::milvus::GetMetricsResponse, component_name_),
~0u, // no _has_bits_
PROTOBUF_FIELD_OFFSET(::milvus::proto::milvus::LoadBalanceRequest, _internal_metadata_),
~0u, // no _extensions_
~0u, // no _oneof_case_
~0u, // no _weak_field_map_
PROTOBUF_FIELD_OFFSET(::milvus::proto::milvus::LoadBalanceRequest, base_),
PROTOBUF_FIELD_OFFSET(::milvus::proto::milvus::LoadBalanceRequest, src_nodeid_),
PROTOBUF_FIELD_OFFSET(::milvus::proto::milvus::LoadBalanceRequest, dst_nodeids_),
PROTOBUF_FIELD_OFFSET(::milvus::proto::milvus::LoadBalanceRequest, sealed_segmentids_),
};
static const ::PROTOBUF_NAMESPACE_ID::internal::MigrationSchema schemas[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = {
{ 0, -1, sizeof(::milvus::proto::milvus::CreateAliasRequest)},
@ -2000,6 +2028,7 @@ static const ::PROTOBUF_NAMESPACE_ID::internal::MigrationSchema schemas[] PROTOB
{ 574, -1, sizeof(::milvus::proto::milvus::RegisterLinkResponse)},
{ 581, -1, sizeof(::milvus::proto::milvus::GetMetricsRequest)},
{ 588, -1, sizeof(::milvus::proto::milvus::GetMetricsResponse)},
{ 596, -1, sizeof(::milvus::proto::milvus::LoadBalanceRequest)},
};
static ::PROTOBUF_NAMESPACE_ID::Message const * const file_default_instances[] = {
@ -2070,6 +2099,7 @@ static ::PROTOBUF_NAMESPACE_ID::Message const * const file_default_instances[] =
reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::milvus::proto::milvus::_RegisterLinkResponse_default_instance_),
reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::milvus::proto::milvus::_GetMetricsRequest_default_instance_),
reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::milvus::proto::milvus::_GetMetricsResponse_default_instance_),
reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::milvus::proto::milvus::_LoadBalanceRequest_default_instance_),
};
const char descriptor_table_protodef_milvus_2eproto[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) =
@ -2308,106 +2338,111 @@ const char descriptor_table_protodef_milvus_2eproto[] PROTOBUF_SECTION_VARIABLE(
"lvus.proto.common.MsgBase\022\017\n\007request\030\002 \001"
"(\t\"k\n\022GetMetricsResponse\022+\n\006status\030\001 \001(\013"
"2\033.milvus.proto.common.Status\022\020\n\010respons"
"e\030\002 \001(\t\022\026\n\016component_name\030\003 \001(\t*!\n\010ShowT"
"ype\022\007\n\003All\020\000\022\014\n\010InMemory\020\001*>\n\017Placeholde"
"rType\022\010\n\004None\020\000\022\020\n\014BinaryVector\020d\022\017\n\013Flo"
"atVector\020e2\325\032\n\rMilvusService\022_\n\020CreateCo"
"llection\022,.milvus.proto.milvus.CreateCol"
"lectionRequest\032\033.milvus.proto.common.Sta"
"tus\"\000\022[\n\016DropCollection\022*.milvus.proto.m"
"ilvus.DropCollectionRequest\032\033.milvus.pro"
"to.common.Status\"\000\022_\n\rHasCollection\022).mi"
"lvus.proto.milvus.HasCollectionRequest\032!"
".milvus.proto.milvus.BoolResponse\"\000\022[\n\016L"
"oadCollection\022*.milvus.proto.milvus.Load"
"CollectionRequest\032\033.milvus.proto.common."
"Status\"\000\022a\n\021ReleaseCollection\022-.milvus.p"
"roto.milvus.ReleaseCollectionRequest\032\033.m"
"ilvus.proto.common.Status\"\000\022w\n\022DescribeC"
"ollection\022..milvus.proto.milvus.Describe"
"CollectionRequest\032/.milvus.proto.milvus."
"DescribeCollectionResponse\"\000\022\206\001\n\027GetColl"
"ectionStatistics\0223.milvus.proto.milvus.G"
"etCollectionStatisticsRequest\0324.milvus.p"
"roto.milvus.GetCollectionStatisticsRespo"
"nse\"\000\022n\n\017ShowCollections\022+.milvus.proto."
"milvus.ShowCollectionsRequest\032,.milvus.p"
"roto.milvus.ShowCollectionsResponse\"\000\022]\n"
"\017CreatePartition\022+.milvus.proto.milvus.C"
"reatePartitionRequest\032\033.milvus.proto.com"
"mon.Status\"\000\022Y\n\rDropPartition\022).milvus.p"
"roto.milvus.DropPartitionRequest\032\033.milvu"
"s.proto.common.Status\"\000\022]\n\014HasPartition\022"
"(.milvus.proto.milvus.HasPartitionReques"
"t\032!.milvus.proto.milvus.BoolResponse\"\000\022["
"\n\016LoadPartitions\022*.milvus.proto.milvus.L"
"oadPartitionsRequest\032\033.milvus.proto.comm"
"on.Status\"\000\022a\n\021ReleasePartitions\022-.milvu"
"s.proto.milvus.ReleasePartitionsRequest\032"
"\033.milvus.proto.common.Status\"\000\022\203\001\n\026GetPa"
"rtitionStatistics\0222.milvus.proto.milvus."
"GetPartitionStatisticsRequest\0323.milvus.p"
"roto.milvus.GetPartitionStatisticsRespon"
"se\"\000\022k\n\016ShowPartitions\022*.milvus.proto.mi"
"lvus.ShowPartitionsRequest\032+.milvus.prot"
"o.milvus.ShowPartitionsResponse\"\000\022U\n\013Cre"
"ateAlias\022\'.milvus.proto.milvus.CreateAli"
"asRequest\032\033.milvus.proto.common.Status\"\000"
"\022Q\n\tDropAlias\022%.milvus.proto.milvus.Drop"
"AliasRequest\032\033.milvus.proto.common.Statu"
"s\"\000\022S\n\nAlterAlias\022&.milvus.proto.milvus."
"AlterAliasRequest\032\033.milvus.proto.common."
"Status\"\000\022U\n\013CreateIndex\022\'.milvus.proto.m"
"ilvus.CreateIndexRequest\032\033.milvus.proto."
"common.Status\"\000\022h\n\rDescribeIndex\022).milvu"
"s.proto.milvus.DescribeIndexRequest\032*.mi"
"lvus.proto.milvus.DescribeIndexResponse\""
"\000\022h\n\rGetIndexState\022).milvus.proto.milvus"
".GetIndexStateRequest\032*.milvus.proto.mil"
"vus.GetIndexStateResponse\"\000\022\200\001\n\025GetIndex"
"BuildProgress\0221.milvus.proto.milvus.GetI"
"ndexBuildProgressRequest\0322.milvus.proto."
"milvus.GetIndexBuildProgressResponse\"\000\022Q"
"\n\tDropIndex\022%.milvus.proto.milvus.DropIn"
"dexRequest\032\033.milvus.proto.common.Status\""
"\000\022S\n\006Insert\022\".milvus.proto.milvus.Insert"
"Request\032#.milvus.proto.milvus.MutationRe"
"sult\"\000\022S\n\006Delete\022\".milvus.proto.milvus.D"
"eleteRequest\032#.milvus.proto.milvus.Mutat"
"ionResult\"\000\022R\n\006Search\022\".milvus.proto.mil"
"vus.SearchRequest\032\".milvus.proto.milvus."
"SearchResults\"\000\022P\n\005Flush\022!.milvus.proto."
"milvus.FlushRequest\032\".milvus.proto.milvu"
"s.FlushResponse\"\000\022O\n\005Query\022!.milvus.prot"
"o.milvus.QueryRequest\032!.milvus.proto.mil"
"vus.QueryResults\"\000\022d\n\014CalcDistance\022(.mil"
"vus.proto.milvus.CalcDistanceRequest\032(.m"
"ilvus.proto.milvus.CalcDistanceResults\"\000"
"\022\211\001\n\030GetPersistentSegmentInfo\0224.milvus.p"
"roto.milvus.GetPersistentSegmentInfoRequ"
"est\0325.milvus.proto.milvus.GetPersistentS"
"egmentInfoResponse\"\000\022z\n\023GetQuerySegmentI"
"nfo\022/.milvus.proto.milvus.GetQuerySegmen"
"tInfoRequest\0320.milvus.proto.milvus.GetQu"
"erySegmentInfoResponse\"\000\022P\n\005Dummy\022!.milv"
"us.proto.milvus.DummyRequest\032\".milvus.pr"
"oto.milvus.DummyResponse\"\000\022e\n\014RegisterLi"
"nk\022(.milvus.proto.milvus.RegisterLinkReq"
"uest\032).milvus.proto.milvus.RegisterLinkR"
"esponse\"\000\022_\n\nGetMetrics\022&.milvus.proto.m"
"ilvus.GetMetricsRequest\032\'.milvus.proto.m"
"ilvus.GetMetricsResponse\"\0002u\n\014ProxyServi"
"ce\022e\n\014RegisterLink\022(.milvus.proto.milvus"
".RegisterLinkRequest\032).milvus.proto.milv"
"us.RegisterLinkResponse\"\000B5Z3github.com/"
"milvus-io/milvus/internal/proto/milvuspb"
"b\006proto3"
"e\030\002 \001(\t\022\026\n\016component_name\030\003 \001(\t\"\204\001\n\022Load"
"BalanceRequest\022*\n\004base\030\001 \001(\0132\034.milvus.pr"
"oto.common.MsgBase\022\022\n\nsrc_nodeID\030\002 \001(\003\022\023"
"\n\013dst_nodeIDs\030\003 \003(\003\022\031\n\021sealed_segmentIDs"
"\030\004 \003(\003*!\n\010ShowType\022\007\n\003All\020\000\022\014\n\010InMemory\020"
"\001*>\n\017PlaceholderType\022\010\n\004None\020\000\022\020\n\014Binary"
"Vector\020d\022\017\n\013FloatVector\020e2\254\033\n\rMilvusServ"
"ice\022_\n\020CreateCollection\022,.milvus.proto.m"
"ilvus.CreateCollectionRequest\032\033.milvus.p"
"roto.common.Status\"\000\022[\n\016DropCollection\022*"
".milvus.proto.milvus.DropCollectionReque"
"st\032\033.milvus.proto.common.Status\"\000\022_\n\rHas"
"Collection\022).milvus.proto.milvus.HasColl"
"ectionRequest\032!.milvus.proto.milvus.Bool"
"Response\"\000\022[\n\016LoadCollection\022*.milvus.pr"
"oto.milvus.LoadCollectionRequest\032\033.milvu"
"s.proto.common.Status\"\000\022a\n\021ReleaseCollec"
"tion\022-.milvus.proto.milvus.ReleaseCollec"
"tionRequest\032\033.milvus.proto.common.Status"
"\"\000\022w\n\022DescribeCollection\022..milvus.proto."
"milvus.DescribeCollectionRequest\032/.milvu"
"s.proto.milvus.DescribeCollectionRespons"
"e\"\000\022\206\001\n\027GetCollectionStatistics\0223.milvus"
".proto.milvus.GetCollectionStatisticsReq"
"uest\0324.milvus.proto.milvus.GetCollection"
"StatisticsResponse\"\000\022n\n\017ShowCollections\022"
"+.milvus.proto.milvus.ShowCollectionsReq"
"uest\032,.milvus.proto.milvus.ShowCollectio"
"nsResponse\"\000\022]\n\017CreatePartition\022+.milvus"
".proto.milvus.CreatePartitionRequest\032\033.m"
"ilvus.proto.common.Status\"\000\022Y\n\rDropParti"
"tion\022).milvus.proto.milvus.DropPartition"
"Request\032\033.milvus.proto.common.Status\"\000\022]"
"\n\014HasPartition\022(.milvus.proto.milvus.Has"
"PartitionRequest\032!.milvus.proto.milvus.B"
"oolResponse\"\000\022[\n\016LoadPartitions\022*.milvus"
".proto.milvus.LoadPartitionsRequest\032\033.mi"
"lvus.proto.common.Status\"\000\022a\n\021ReleasePar"
"titions\022-.milvus.proto.milvus.ReleasePar"
"titionsRequest\032\033.milvus.proto.common.Sta"
"tus\"\000\022\203\001\n\026GetPartitionStatistics\0222.milvu"
"s.proto.milvus.GetPartitionStatisticsReq"
"uest\0323.milvus.proto.milvus.GetPartitionS"
"tatisticsResponse\"\000\022k\n\016ShowPartitions\022*."
"milvus.proto.milvus.ShowPartitionsReques"
"t\032+.milvus.proto.milvus.ShowPartitionsRe"
"sponse\"\000\022U\n\013CreateAlias\022\'.milvus.proto.m"
"ilvus.CreateAliasRequest\032\033.milvus.proto."
"common.Status\"\000\022Q\n\tDropAlias\022%.milvus.pr"
"oto.milvus.DropAliasRequest\032\033.milvus.pro"
"to.common.Status\"\000\022S\n\nAlterAlias\022&.milvu"
"s.proto.milvus.AlterAliasRequest\032\033.milvu"
"s.proto.common.Status\"\000\022U\n\013CreateIndex\022\'"
".milvus.proto.milvus.CreateIndexRequest\032"
"\033.milvus.proto.common.Status\"\000\022h\n\rDescri"
"beIndex\022).milvus.proto.milvus.DescribeIn"
"dexRequest\032*.milvus.proto.milvus.Describ"
"eIndexResponse\"\000\022h\n\rGetIndexState\022).milv"
"us.proto.milvus.GetIndexStateRequest\032*.m"
"ilvus.proto.milvus.GetIndexStateResponse"
"\"\000\022\200\001\n\025GetIndexBuildProgress\0221.milvus.pr"
"oto.milvus.GetIndexBuildProgressRequest\032"
"2.milvus.proto.milvus.GetIndexBuildProgr"
"essResponse\"\000\022Q\n\tDropIndex\022%.milvus.prot"
"o.milvus.DropIndexRequest\032\033.milvus.proto"
".common.Status\"\000\022S\n\006Insert\022\".milvus.prot"
"o.milvus.InsertRequest\032#.milvus.proto.mi"
"lvus.MutationResult\"\000\022S\n\006Delete\022\".milvus"
".proto.milvus.DeleteRequest\032#.milvus.pro"
"to.milvus.MutationResult\"\000\022R\n\006Search\022\".m"
"ilvus.proto.milvus.SearchRequest\032\".milvu"
"s.proto.milvus.SearchResults\"\000\022P\n\005Flush\022"
"!.milvus.proto.milvus.FlushRequest\032\".mil"
"vus.proto.milvus.FlushResponse\"\000\022O\n\005Quer"
"y\022!.milvus.proto.milvus.QueryRequest\032!.m"
"ilvus.proto.milvus.QueryResults\"\000\022d\n\014Cal"
"cDistance\022(.milvus.proto.milvus.CalcDist"
"anceRequest\032(.milvus.proto.milvus.CalcDi"
"stanceResults\"\000\022\211\001\n\030GetPersistentSegment"
"Info\0224.milvus.proto.milvus.GetPersistent"
"SegmentInfoRequest\0325.milvus.proto.milvus"
".GetPersistentSegmentInfoResponse\"\000\022z\n\023G"
"etQuerySegmentInfo\022/.milvus.proto.milvus"
".GetQuerySegmentInfoRequest\0320.milvus.pro"
"to.milvus.GetQuerySegmentInfoResponse\"\000\022"
"P\n\005Dummy\022!.milvus.proto.milvus.DummyRequ"
"est\032\".milvus.proto.milvus.DummyResponse\""
"\000\022e\n\014RegisterLink\022(.milvus.proto.milvus."
"RegisterLinkRequest\032).milvus.proto.milvu"
"s.RegisterLinkResponse\"\000\022_\n\nGetMetrics\022&"
".milvus.proto.milvus.GetMetricsRequest\032\'"
".milvus.proto.milvus.GetMetricsResponse\""
"\000\022U\n\013LoadBalance\022\'.milvus.proto.milvus.L"
"oadBalanceRequest\032\033.milvus.proto.common."
"Status\"\0002u\n\014ProxyService\022e\n\014RegisterLink"
"\022(.milvus.proto.milvus.RegisterLinkReque"
"st\032).milvus.proto.milvus.RegisterLinkRes"
"ponse\"\000B5Z3github.com/milvus-io/milvus/i"
"nternal/proto/milvuspbb\006proto3"
;
static const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable*const descriptor_table_milvus_2eproto_deps[2] = {
&::descriptor_table_common_2eproto,
&::descriptor_table_schema_2eproto,
};
static ::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase*const descriptor_table_milvus_2eproto_sccs[67] = {
static ::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase*const descriptor_table_milvus_2eproto_sccs[68] = {
&scc_info_AlterAliasRequest_milvus_2eproto.base,
&scc_info_BoolResponse_milvus_2eproto.base,
&scc_info_CalcDistanceRequest_milvus_2eproto.base,
@ -2451,6 +2486,7 @@ static ::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase*const descriptor_table_mil
&scc_info_Hits_milvus_2eproto.base,
&scc_info_IndexDescription_milvus_2eproto.base,
&scc_info_InsertRequest_milvus_2eproto.base,
&scc_info_LoadBalanceRequest_milvus_2eproto.base,
&scc_info_LoadCollectionRequest_milvus_2eproto.base,
&scc_info_LoadPartitionsRequest_milvus_2eproto.base,
&scc_info_MutationResult_milvus_2eproto.base,
@ -2479,10 +2515,10 @@ static ::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase*const descriptor_table_mil
static ::PROTOBUF_NAMESPACE_ID::internal::once_flag descriptor_table_milvus_2eproto_once;
static bool descriptor_table_milvus_2eproto_initialized = false;
const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_milvus_2eproto = {
&descriptor_table_milvus_2eproto_initialized, descriptor_table_protodef_milvus_2eproto, "milvus.proto", 13128,
&descriptor_table_milvus_2eproto_once, descriptor_table_milvus_2eproto_sccs, descriptor_table_milvus_2eproto_deps, 67, 2,
&descriptor_table_milvus_2eproto_initialized, descriptor_table_protodef_milvus_2eproto, "milvus.proto", 13350,
&descriptor_table_milvus_2eproto_once, descriptor_table_milvus_2eproto_sccs, descriptor_table_milvus_2eproto_deps, 68, 2,
schemas, file_default_instances, TableStruct_milvus_2eproto::offsets,
file_level_metadata_milvus_2eproto, 67, file_level_enum_descriptors_milvus_2eproto, file_level_service_descriptors_milvus_2eproto,
file_level_metadata_milvus_2eproto, 68, file_level_enum_descriptors_milvus_2eproto, file_level_service_descriptors_milvus_2eproto,
};
// Force running AddDescriptors() at dynamic initialization time.
@ -31530,6 +31566,461 @@ void GetMetricsResponse::InternalSwap(GetMetricsResponse* other) {
}
// ===================================================================
void LoadBalanceRequest::InitAsDefaultInstance() {
::milvus::proto::milvus::_LoadBalanceRequest_default_instance_._instance.get_mutable()->base_ = const_cast< ::milvus::proto::common::MsgBase*>(
::milvus::proto::common::MsgBase::internal_default_instance());
}
class LoadBalanceRequest::_Internal {
public:
static const ::milvus::proto::common::MsgBase& base(const LoadBalanceRequest* msg);
};
const ::milvus::proto::common::MsgBase&
LoadBalanceRequest::_Internal::base(const LoadBalanceRequest* msg) {
return *msg->base_;
}
void LoadBalanceRequest::clear_base() {
if (GetArenaNoVirtual() == nullptr && base_ != nullptr) {
delete base_;
}
base_ = nullptr;
}
LoadBalanceRequest::LoadBalanceRequest()
: ::PROTOBUF_NAMESPACE_ID::Message(), _internal_metadata_(nullptr) {
SharedCtor();
// @@protoc_insertion_point(constructor:milvus.proto.milvus.LoadBalanceRequest)
}
LoadBalanceRequest::LoadBalanceRequest(const LoadBalanceRequest& from)
: ::PROTOBUF_NAMESPACE_ID::Message(),
_internal_metadata_(nullptr),
dst_nodeids_(from.dst_nodeids_),
sealed_segmentids_(from.sealed_segmentids_) {
_internal_metadata_.MergeFrom(from._internal_metadata_);
if (from.has_base()) {
base_ = new ::milvus::proto::common::MsgBase(*from.base_);
} else {
base_ = nullptr;
}
src_nodeid_ = from.src_nodeid_;
// @@protoc_insertion_point(copy_constructor:milvus.proto.milvus.LoadBalanceRequest)
}
void LoadBalanceRequest::SharedCtor() {
::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_LoadBalanceRequest_milvus_2eproto.base);
::memset(&base_, 0, static_cast<size_t>(
reinterpret_cast<char*>(&src_nodeid_) -
reinterpret_cast<char*>(&base_)) + sizeof(src_nodeid_));
}
LoadBalanceRequest::~LoadBalanceRequest() {
// @@protoc_insertion_point(destructor:milvus.proto.milvus.LoadBalanceRequest)
SharedDtor();
}
void LoadBalanceRequest::SharedDtor() {
if (this != internal_default_instance()) delete base_;
}
void LoadBalanceRequest::SetCachedSize(int size) const {
_cached_size_.Set(size);
}
const LoadBalanceRequest& LoadBalanceRequest::default_instance() {
::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_LoadBalanceRequest_milvus_2eproto.base);
return *internal_default_instance();
}
void LoadBalanceRequest::Clear() {
// @@protoc_insertion_point(message_clear_start:milvus.proto.milvus.LoadBalanceRequest)
::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
// Prevent compiler warnings about cached_has_bits being unused
(void) cached_has_bits;
dst_nodeids_.Clear();
sealed_segmentids_.Clear();
if (GetArenaNoVirtual() == nullptr && base_ != nullptr) {
delete base_;
}
base_ = nullptr;
src_nodeid_ = PROTOBUF_LONGLONG(0);
_internal_metadata_.Clear();
}
#if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
const char* LoadBalanceRequest::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
while (!ctx->Done(&ptr)) {
::PROTOBUF_NAMESPACE_ID::uint32 tag;
ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
CHK_(ptr);
switch (tag >> 3) {
// .milvus.proto.common.MsgBase base = 1;
case 1:
if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
ptr = ctx->ParseMessage(mutable_base(), ptr);
CHK_(ptr);
} else goto handle_unusual;
continue;
// int64 src_nodeID = 2;
case 2:
if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16)) {
src_nodeid_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
CHK_(ptr);
} else goto handle_unusual;
continue;
// repeated int64 dst_nodeIDs = 3;
case 3:
if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt64Parser(mutable_dst_nodeids(), ptr, ctx);
CHK_(ptr);
} else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24) {
add_dst_nodeids(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr));
CHK_(ptr);
} else goto handle_unusual;
continue;
// repeated int64 sealed_segmentIDs = 4;
case 4:
if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) {
ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt64Parser(mutable_sealed_segmentids(), ptr, ctx);
CHK_(ptr);
} else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 32) {
add_sealed_segmentids(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr));
CHK_(ptr);
} else goto handle_unusual;
continue;
default: {
handle_unusual:
if ((tag & 7) == 4 || tag == 0) {
ctx->SetLastTag(tag);
goto success;
}
ptr = UnknownFieldParse(tag, &_internal_metadata_, ptr, ctx);
CHK_(ptr != nullptr);
continue;
}
} // switch
} // while
success:
return ptr;
failure:
ptr = nullptr;
goto success;
#undef CHK_
}
#else // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
bool LoadBalanceRequest::MergePartialFromCodedStream(
::PROTOBUF_NAMESPACE_ID::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!PROTOBUF_PREDICT_TRUE(EXPRESSION)) goto failure
::PROTOBUF_NAMESPACE_ID::uint32 tag;
// @@protoc_insertion_point(parse_start:milvus.proto.milvus.LoadBalanceRequest)
for (;;) {
::std::pair<::PROTOBUF_NAMESPACE_ID::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
tag = p.first;
if (!p.second) goto handle_unusual;
switch (::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::GetTagFieldNumber(tag)) {
// .milvus.proto.common.MsgBase base = 1;
case 1: {
if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (10 & 0xFF)) {
DO_(::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadMessage(
input, mutable_base()));
} else {
goto handle_unusual;
}
break;
}
// int64 src_nodeID = 2;
case 2: {
if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (16 & 0xFF)) {
DO_((::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadPrimitive<
::PROTOBUF_NAMESPACE_ID::int64, ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_INT64>(
input, &src_nodeid_)));
} else {
goto handle_unusual;
}
break;
}
// repeated int64 dst_nodeIDs = 3;
case 3: {
if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (26 & 0xFF)) {
DO_((::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadPackedPrimitive<
::PROTOBUF_NAMESPACE_ID::int64, ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_INT64>(
input, this->mutable_dst_nodeids())));
} else if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (24 & 0xFF)) {
DO_((::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadRepeatedPrimitiveNoInline<
::PROTOBUF_NAMESPACE_ID::int64, ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_INT64>(
1, 26u, input, this->mutable_dst_nodeids())));
} else {
goto handle_unusual;
}
break;
}
// repeated int64 sealed_segmentIDs = 4;
case 4: {
if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (34 & 0xFF)) {
DO_((::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadPackedPrimitive<
::PROTOBUF_NAMESPACE_ID::int64, ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_INT64>(
input, this->mutable_sealed_segmentids())));
} else if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (32 & 0xFF)) {
DO_((::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadRepeatedPrimitiveNoInline<
::PROTOBUF_NAMESPACE_ID::int64, ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_INT64>(
1, 34u, input, this->mutable_sealed_segmentids())));
} else {
goto handle_unusual;
}
break;
}
default: {
handle_unusual:
if (tag == 0) {
goto success;
}
DO_(::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SkipField(
input, tag, _internal_metadata_.mutable_unknown_fields()));
break;
}
}
}
success:
// @@protoc_insertion_point(parse_success:milvus.proto.milvus.LoadBalanceRequest)
return true;
failure:
// @@protoc_insertion_point(parse_failure:milvus.proto.milvus.LoadBalanceRequest)
return false;
#undef DO_
}
#endif // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
void LoadBalanceRequest::SerializeWithCachedSizes(
::PROTOBUF_NAMESPACE_ID::io::CodedOutputStream* output) const {
// @@protoc_insertion_point(serialize_start:milvus.proto.milvus.LoadBalanceRequest)
::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
(void) cached_has_bits;
// .milvus.proto.common.MsgBase base = 1;
if (this->has_base()) {
::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteMessageMaybeToArray(
1, _Internal::base(this), output);
}
// int64 src_nodeID = 2;
if (this->src_nodeid() != 0) {
::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64(2, this->src_nodeid(), output);
}
// repeated int64 dst_nodeIDs = 3;
if (this->dst_nodeids_size() > 0) {
::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteTag(3, ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED, output);
output->WriteVarint32(_dst_nodeids_cached_byte_size_.load(
std::memory_order_relaxed));
}
for (int i = 0, n = this->dst_nodeids_size(); i < n; i++) {
::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64NoTag(
this->dst_nodeids(i), output);
}
// repeated int64 sealed_segmentIDs = 4;
if (this->sealed_segmentids_size() > 0) {
::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteTag(4, ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED, output);
output->WriteVarint32(_sealed_segmentids_cached_byte_size_.load(
std::memory_order_relaxed));
}
for (int i = 0, n = this->sealed_segmentids_size(); i < n; i++) {
::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64NoTag(
this->sealed_segmentids(i), output);
}
if (_internal_metadata_.have_unknown_fields()) {
::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SerializeUnknownFields(
_internal_metadata_.unknown_fields(), output);
}
// @@protoc_insertion_point(serialize_end:milvus.proto.milvus.LoadBalanceRequest)
}
::PROTOBUF_NAMESPACE_ID::uint8* LoadBalanceRequest::InternalSerializeWithCachedSizesToArray(
::PROTOBUF_NAMESPACE_ID::uint8* target) const {
// @@protoc_insertion_point(serialize_to_array_start:milvus.proto.milvus.LoadBalanceRequest)
::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
(void) cached_has_bits;
// .milvus.proto.common.MsgBase base = 1;
if (this->has_base()) {
target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
InternalWriteMessageToArray(
1, _Internal::base(this), target);
}
// int64 src_nodeID = 2;
if (this->src_nodeid() != 0) {
target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(2, this->src_nodeid(), target);
}
// repeated int64 dst_nodeIDs = 3;
if (this->dst_nodeids_size() > 0) {
target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteTagToArray(
3,
::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED,
target);
target = ::PROTOBUF_NAMESPACE_ID::io::CodedOutputStream::WriteVarint32ToArray(
_dst_nodeids_cached_byte_size_.load(std::memory_order_relaxed),
target);
target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
WriteInt64NoTagToArray(this->dst_nodeids_, target);
}
// repeated int64 sealed_segmentIDs = 4;
if (this->sealed_segmentids_size() > 0) {
target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteTagToArray(
4,
::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED,
target);
target = ::PROTOBUF_NAMESPACE_ID::io::CodedOutputStream::WriteVarint32ToArray(
_sealed_segmentids_cached_byte_size_.load(std::memory_order_relaxed),
target);
target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
WriteInt64NoTagToArray(this->sealed_segmentids_, target);
}
if (_internal_metadata_.have_unknown_fields()) {
target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SerializeUnknownFieldsToArray(
_internal_metadata_.unknown_fields(), target);
}
// @@protoc_insertion_point(serialize_to_array_end:milvus.proto.milvus.LoadBalanceRequest)
return target;
}
size_t LoadBalanceRequest::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:milvus.proto.milvus.LoadBalanceRequest)
size_t total_size = 0;
if (_internal_metadata_.have_unknown_fields()) {
total_size +=
::PROTOBUF_NAMESPACE_ID::internal::WireFormat::ComputeUnknownFieldsSize(
_internal_metadata_.unknown_fields());
}
::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
// Prevent compiler warnings about cached_has_bits being unused
(void) cached_has_bits;
// repeated int64 dst_nodeIDs = 3;
{
size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
Int64Size(this->dst_nodeids_);
if (data_size > 0) {
total_size += 1 +
::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
static_cast<::PROTOBUF_NAMESPACE_ID::int32>(data_size));
}
int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
_dst_nodeids_cached_byte_size_.store(cached_size,
std::memory_order_relaxed);
total_size += data_size;
}
// repeated int64 sealed_segmentIDs = 4;
{
size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
Int64Size(this->sealed_segmentids_);
if (data_size > 0) {
total_size += 1 +
::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
static_cast<::PROTOBUF_NAMESPACE_ID::int32>(data_size));
}
int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
_sealed_segmentids_cached_byte_size_.store(cached_size,
std::memory_order_relaxed);
total_size += data_size;
}
// .milvus.proto.common.MsgBase base = 1;
if (this->has_base()) {
total_size += 1 +
::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
*base_);
}
// int64 src_nodeID = 2;
if (this->src_nodeid() != 0) {
total_size += 1 +
::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64Size(
this->src_nodeid());
}
int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
SetCachedSize(cached_size);
return total_size;
}
void LoadBalanceRequest::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:milvus.proto.milvus.LoadBalanceRequest)
GOOGLE_DCHECK_NE(&from, this);
const LoadBalanceRequest* source =
::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<LoadBalanceRequest>(
&from);
if (source == nullptr) {
// @@protoc_insertion_point(generalized_merge_from_cast_fail:milvus.proto.milvus.LoadBalanceRequest)
::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
} else {
// @@protoc_insertion_point(generalized_merge_from_cast_success:milvus.proto.milvus.LoadBalanceRequest)
MergeFrom(*source);
}
}
void LoadBalanceRequest::MergeFrom(const LoadBalanceRequest& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:milvus.proto.milvus.LoadBalanceRequest)
GOOGLE_DCHECK_NE(&from, this);
_internal_metadata_.MergeFrom(from._internal_metadata_);
::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
(void) cached_has_bits;
dst_nodeids_.MergeFrom(from.dst_nodeids_);
sealed_segmentids_.MergeFrom(from.sealed_segmentids_);
if (from.has_base()) {
mutable_base()->::milvus::proto::common::MsgBase::MergeFrom(from.base());
}
if (from.src_nodeid() != 0) {
set_src_nodeid(from.src_nodeid());
}
}
void LoadBalanceRequest::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:milvus.proto.milvus.LoadBalanceRequest)
if (&from == this) return;
Clear();
MergeFrom(from);
}
void LoadBalanceRequest::CopyFrom(const LoadBalanceRequest& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:milvus.proto.milvus.LoadBalanceRequest)
if (&from == this) return;
Clear();
MergeFrom(from);
}
bool LoadBalanceRequest::IsInitialized() const {
return true;
}
void LoadBalanceRequest::InternalSwap(LoadBalanceRequest* other) {
using std::swap;
_internal_metadata_.Swap(&other->_internal_metadata_);
dst_nodeids_.InternalSwap(&other->dst_nodeids_);
sealed_segmentids_.InternalSwap(&other->sealed_segmentids_);
swap(base_, other->base_);
swap(src_nodeid_, other->src_nodeid_);
}
::PROTOBUF_NAMESPACE_ID::Metadata LoadBalanceRequest::GetMetadata() const {
return GetMetadataStatic();
}
// @@protoc_insertion_point(namespace_scope)
} // namespace milvus
} // namespace proto
@ -31736,6 +32227,9 @@ template<> PROTOBUF_NOINLINE ::milvus::proto::milvus::GetMetricsRequest* Arena::
template<> PROTOBUF_NOINLINE ::milvus::proto::milvus::GetMetricsResponse* Arena::CreateMaybeMessage< ::milvus::proto::milvus::GetMetricsResponse >(Arena* arena) {
return Arena::CreateInternal< ::milvus::proto::milvus::GetMetricsResponse >(arena);
}
template<> PROTOBUF_NOINLINE ::milvus::proto::milvus::LoadBalanceRequest* Arena::CreateMaybeMessage< ::milvus::proto::milvus::LoadBalanceRequest >(Arena* arena) {
return Arena::CreateInternal< ::milvus::proto::milvus::LoadBalanceRequest >(arena);
}
PROTOBUF_NAMESPACE_CLOSE
// @@protoc_insertion_point(global_scope)

View File

@ -53,7 +53,7 @@ struct TableStruct_milvus_2eproto {
PROTOBUF_SECTION_VARIABLE(protodesc_cold);
static const ::PROTOBUF_NAMESPACE_ID::internal::AuxillaryParseTableField aux[]
PROTOBUF_SECTION_VARIABLE(protodesc_cold);
static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTable schema[67]
static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTable schema[68]
PROTOBUF_SECTION_VARIABLE(protodesc_cold);
static const ::PROTOBUF_NAMESPACE_ID::internal::FieldMetadata field_metadata[];
static const ::PROTOBUF_NAMESPACE_ID::internal::SerializationTable serialization_table[];
@ -192,6 +192,9 @@ extern IndexDescriptionDefaultTypeInternal _IndexDescription_default_instance_;
class InsertRequest;
class InsertRequestDefaultTypeInternal;
extern InsertRequestDefaultTypeInternal _InsertRequest_default_instance_;
class LoadBalanceRequest;
class LoadBalanceRequestDefaultTypeInternal;
extern LoadBalanceRequestDefaultTypeInternal _LoadBalanceRequest_default_instance_;
class LoadCollectionRequest;
class LoadCollectionRequestDefaultTypeInternal;
extern LoadCollectionRequestDefaultTypeInternal _LoadCollectionRequest_default_instance_;
@ -311,6 +314,7 @@ template<> ::milvus::proto::milvus::HasPartitionRequest* Arena::CreateMaybeMessa
template<> ::milvus::proto::milvus::Hits* Arena::CreateMaybeMessage<::milvus::proto::milvus::Hits>(Arena*);
template<> ::milvus::proto::milvus::IndexDescription* Arena::CreateMaybeMessage<::milvus::proto::milvus::IndexDescription>(Arena*);
template<> ::milvus::proto::milvus::InsertRequest* Arena::CreateMaybeMessage<::milvus::proto::milvus::InsertRequest>(Arena*);
template<> ::milvus::proto::milvus::LoadBalanceRequest* Arena::CreateMaybeMessage<::milvus::proto::milvus::LoadBalanceRequest>(Arena*);
template<> ::milvus::proto::milvus::LoadCollectionRequest* Arena::CreateMaybeMessage<::milvus::proto::milvus::LoadCollectionRequest>(Arena*);
template<> ::milvus::proto::milvus::LoadPartitionsRequest* Arena::CreateMaybeMessage<::milvus::proto::milvus::LoadPartitionsRequest>(Arena*);
template<> ::milvus::proto::milvus::MutationResult* Arena::CreateMaybeMessage<::milvus::proto::milvus::MutationResult>(Arena*);
@ -11584,6 +11588,175 @@ class GetMetricsResponse :
mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
friend struct ::TableStruct_milvus_2eproto;
};
// -------------------------------------------------------------------
class LoadBalanceRequest :
public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:milvus.proto.milvus.LoadBalanceRequest) */ {
public:
LoadBalanceRequest();
virtual ~LoadBalanceRequest();
LoadBalanceRequest(const LoadBalanceRequest& from);
LoadBalanceRequest(LoadBalanceRequest&& from) noexcept
: LoadBalanceRequest() {
*this = ::std::move(from);
}
inline LoadBalanceRequest& operator=(const LoadBalanceRequest& from) {
CopyFrom(from);
return *this;
}
inline LoadBalanceRequest& operator=(LoadBalanceRequest&& from) noexcept {
if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
if (this != &from) InternalSwap(&from);
} else {
CopyFrom(from);
}
return *this;
}
static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
return GetDescriptor();
}
static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
return GetMetadataStatic().descriptor;
}
static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
return GetMetadataStatic().reflection;
}
static const LoadBalanceRequest& default_instance();
static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
static inline const LoadBalanceRequest* internal_default_instance() {
return reinterpret_cast<const LoadBalanceRequest*>(
&_LoadBalanceRequest_default_instance_);
}
static constexpr int kIndexInFileMessages =
67;
friend void swap(LoadBalanceRequest& a, LoadBalanceRequest& b) {
a.Swap(&b);
}
inline void Swap(LoadBalanceRequest* other) {
if (other == this) return;
InternalSwap(other);
}
// implements Message ----------------------------------------------
inline LoadBalanceRequest* New() const final {
return CreateMaybeMessage<LoadBalanceRequest>(nullptr);
}
LoadBalanceRequest* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
return CreateMaybeMessage<LoadBalanceRequest>(arena);
}
void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
void CopyFrom(const LoadBalanceRequest& from);
void MergeFrom(const LoadBalanceRequest& from);
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
bool IsInitialized() const final;
size_t ByteSizeLong() const final;
#if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
#else
bool MergePartialFromCodedStream(
::PROTOBUF_NAMESPACE_ID::io::CodedInputStream* input) final;
#endif // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
void SerializeWithCachedSizes(
::PROTOBUF_NAMESPACE_ID::io::CodedOutputStream* output) const final;
::PROTOBUF_NAMESPACE_ID::uint8* InternalSerializeWithCachedSizesToArray(
::PROTOBUF_NAMESPACE_ID::uint8* target) const final;
int GetCachedSize() const final { return _cached_size_.Get(); }
private:
inline void SharedCtor();
inline void SharedDtor();
void SetCachedSize(int size) const final;
void InternalSwap(LoadBalanceRequest* other);
friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
return "milvus.proto.milvus.LoadBalanceRequest";
}
private:
inline ::PROTOBUF_NAMESPACE_ID::Arena* GetArenaNoVirtual() const {
return nullptr;
}
inline void* MaybeArenaPtr() const {
return nullptr;
}
public:
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
private:
static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_milvus_2eproto);
return ::descriptor_table_milvus_2eproto.file_level_metadata[kIndexInFileMessages];
}
public:
// nested types ----------------------------------------------------
// accessors -------------------------------------------------------
enum : int {
kDstNodeIDsFieldNumber = 3,
kSealedSegmentIDsFieldNumber = 4,
kBaseFieldNumber = 1,
kSrcNodeIDFieldNumber = 2,
};
// repeated int64 dst_nodeIDs = 3;
int dst_nodeids_size() const;
void clear_dst_nodeids();
::PROTOBUF_NAMESPACE_ID::int64 dst_nodeids(int index) const;
void set_dst_nodeids(int index, ::PROTOBUF_NAMESPACE_ID::int64 value);
void add_dst_nodeids(::PROTOBUF_NAMESPACE_ID::int64 value);
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
dst_nodeids() const;
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
mutable_dst_nodeids();
// repeated int64 sealed_segmentIDs = 4;
int sealed_segmentids_size() const;
void clear_sealed_segmentids();
::PROTOBUF_NAMESPACE_ID::int64 sealed_segmentids(int index) const;
void set_sealed_segmentids(int index, ::PROTOBUF_NAMESPACE_ID::int64 value);
void add_sealed_segmentids(::PROTOBUF_NAMESPACE_ID::int64 value);
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
sealed_segmentids() const;
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
mutable_sealed_segmentids();
// .milvus.proto.common.MsgBase base = 1;
bool has_base() const;
void clear_base();
const ::milvus::proto::common::MsgBase& base() const;
::milvus::proto::common::MsgBase* release_base();
::milvus::proto::common::MsgBase* mutable_base();
void set_allocated_base(::milvus::proto::common::MsgBase* base);
// int64 src_nodeID = 2;
void clear_src_nodeid();
::PROTOBUF_NAMESPACE_ID::int64 src_nodeid() const;
void set_src_nodeid(::PROTOBUF_NAMESPACE_ID::int64 value);
// @@protoc_insertion_point(class_scope:milvus.proto.milvus.LoadBalanceRequest)
private:
class _Internal;
::PROTOBUF_NAMESPACE_ID::internal::InternalMetadataWithArena _internal_metadata_;
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > dst_nodeids_;
mutable std::atomic<int> _dst_nodeids_cached_byte_size_;
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > sealed_segmentids_;
mutable std::atomic<int> _sealed_segmentids_cached_byte_size_;
::milvus::proto::common::MsgBase* base_;
::PROTOBUF_NAMESPACE_ID::int64 src_nodeid_;
mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
friend struct ::TableStruct_milvus_2eproto;
};
// ===================================================================
@ -22236,6 +22409,129 @@ inline void GetMetricsResponse::set_allocated_component_name(std::string* compon
// @@protoc_insertion_point(field_set_allocated:milvus.proto.milvus.GetMetricsResponse.component_name)
}
// -------------------------------------------------------------------
// LoadBalanceRequest
// .milvus.proto.common.MsgBase base = 1;
inline bool LoadBalanceRequest::has_base() const {
return this != internal_default_instance() && base_ != nullptr;
}
inline const ::milvus::proto::common::MsgBase& LoadBalanceRequest::base() const {
const ::milvus::proto::common::MsgBase* p = base_;
// @@protoc_insertion_point(field_get:milvus.proto.milvus.LoadBalanceRequest.base)
return p != nullptr ? *p : *reinterpret_cast<const ::milvus::proto::common::MsgBase*>(
&::milvus::proto::common::_MsgBase_default_instance_);
}
inline ::milvus::proto::common::MsgBase* LoadBalanceRequest::release_base() {
// @@protoc_insertion_point(field_release:milvus.proto.milvus.LoadBalanceRequest.base)
::milvus::proto::common::MsgBase* temp = base_;
base_ = nullptr;
return temp;
}
inline ::milvus::proto::common::MsgBase* LoadBalanceRequest::mutable_base() {
if (base_ == nullptr) {
auto* p = CreateMaybeMessage<::milvus::proto::common::MsgBase>(GetArenaNoVirtual());
base_ = p;
}
// @@protoc_insertion_point(field_mutable:milvus.proto.milvus.LoadBalanceRequest.base)
return base_;
}
inline void LoadBalanceRequest::set_allocated_base(::milvus::proto::common::MsgBase* base) {
::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaNoVirtual();
if (message_arena == nullptr) {
delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(base_);
}
if (base) {
::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = nullptr;
if (message_arena != submessage_arena) {
base = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
message_arena, base, submessage_arena);
}
} else {
}
base_ = base;
// @@protoc_insertion_point(field_set_allocated:milvus.proto.milvus.LoadBalanceRequest.base)
}
// int64 src_nodeID = 2;
inline void LoadBalanceRequest::clear_src_nodeid() {
src_nodeid_ = PROTOBUF_LONGLONG(0);
}
inline ::PROTOBUF_NAMESPACE_ID::int64 LoadBalanceRequest::src_nodeid() const {
// @@protoc_insertion_point(field_get:milvus.proto.milvus.LoadBalanceRequest.src_nodeID)
return src_nodeid_;
}
inline void LoadBalanceRequest::set_src_nodeid(::PROTOBUF_NAMESPACE_ID::int64 value) {
src_nodeid_ = value;
// @@protoc_insertion_point(field_set:milvus.proto.milvus.LoadBalanceRequest.src_nodeID)
}
// repeated int64 dst_nodeIDs = 3;
inline int LoadBalanceRequest::dst_nodeids_size() const {
return dst_nodeids_.size();
}
inline void LoadBalanceRequest::clear_dst_nodeids() {
dst_nodeids_.Clear();
}
inline ::PROTOBUF_NAMESPACE_ID::int64 LoadBalanceRequest::dst_nodeids(int index) const {
// @@protoc_insertion_point(field_get:milvus.proto.milvus.LoadBalanceRequest.dst_nodeIDs)
return dst_nodeids_.Get(index);
}
inline void LoadBalanceRequest::set_dst_nodeids(int index, ::PROTOBUF_NAMESPACE_ID::int64 value) {
dst_nodeids_.Set(index, value);
// @@protoc_insertion_point(field_set:milvus.proto.milvus.LoadBalanceRequest.dst_nodeIDs)
}
inline void LoadBalanceRequest::add_dst_nodeids(::PROTOBUF_NAMESPACE_ID::int64 value) {
dst_nodeids_.Add(value);
// @@protoc_insertion_point(field_add:milvus.proto.milvus.LoadBalanceRequest.dst_nodeIDs)
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
LoadBalanceRequest::dst_nodeids() const {
// @@protoc_insertion_point(field_list:milvus.proto.milvus.LoadBalanceRequest.dst_nodeIDs)
return dst_nodeids_;
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
LoadBalanceRequest::mutable_dst_nodeids() {
// @@protoc_insertion_point(field_mutable_list:milvus.proto.milvus.LoadBalanceRequest.dst_nodeIDs)
return &dst_nodeids_;
}
// repeated int64 sealed_segmentIDs = 4;
inline int LoadBalanceRequest::sealed_segmentids_size() const {
return sealed_segmentids_.size();
}
inline void LoadBalanceRequest::clear_sealed_segmentids() {
sealed_segmentids_.Clear();
}
inline ::PROTOBUF_NAMESPACE_ID::int64 LoadBalanceRequest::sealed_segmentids(int index) const {
// @@protoc_insertion_point(field_get:milvus.proto.milvus.LoadBalanceRequest.sealed_segmentIDs)
return sealed_segmentids_.Get(index);
}
inline void LoadBalanceRequest::set_sealed_segmentids(int index, ::PROTOBUF_NAMESPACE_ID::int64 value) {
sealed_segmentids_.Set(index, value);
// @@protoc_insertion_point(field_set:milvus.proto.milvus.LoadBalanceRequest.sealed_segmentIDs)
}
inline void LoadBalanceRequest::add_sealed_segmentids(::PROTOBUF_NAMESPACE_ID::int64 value) {
sealed_segmentids_.Add(value);
// @@protoc_insertion_point(field_add:milvus.proto.milvus.LoadBalanceRequest.sealed_segmentIDs)
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
LoadBalanceRequest::sealed_segmentids() const {
// @@protoc_insertion_point(field_list:milvus.proto.milvus.LoadBalanceRequest.sealed_segmentIDs)
return sealed_segmentids_;
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
LoadBalanceRequest::mutable_sealed_segmentids() {
// @@protoc_insertion_point(field_mutable_list:milvus.proto.milvus.LoadBalanceRequest.sealed_segmentIDs)
return &sealed_segmentids_;
}
#ifdef __GNUC__
#pragma GCC diagnostic pop
#endif // __GNUC__
@ -22371,6 +22667,8 @@ inline void GetMetricsResponse::set_allocated_component_name(std::string* compon
// -------------------------------------------------------------------
// -------------------------------------------------------------------
// @@protoc_insertion_point(namespace_scope)

View File

@ -434,6 +434,10 @@ func (s *Server) GetMetrics(ctx context.Context, request *milvuspb.GetMetricsReq
return s.proxy.GetMetrics(ctx, request)
}
func (s *Server) LoadBalance(ctx context.Context, request *milvuspb.LoadBalanceRequest) (*commonpb.Status, error) {
return s.proxy.LoadBalance(ctx, request)
}
func (s *Server) CreateAlias(ctx context.Context, request *milvuspb.CreateAliasRequest) (*commonpb.Status, error) {
return s.proxy.CreateAlias(ctx, request)
}

View File

@ -297,6 +297,10 @@ func (m *MockQueryCoord) GetSegmentInfo(ctx context.Context, req *querypb.GetSeg
return nil, nil
}
func (m *MockQueryCoord) LoadBalance(ctx context.Context, req *querypb.LoadBalanceRequest) (*commonpb.Status, error) {
return nil, nil
}
func (m *MockQueryCoord) GetMetrics(ctx context.Context, req *milvuspb.GetMetricsRequest) (*milvuspb.GetMetricsResponse, error) {
return nil, nil
}
@ -549,6 +553,10 @@ func (m *MockProxy) GetMetrics(ctx context.Context, request *milvuspb.GetMetrics
return nil, nil
}
func (m *MockProxy) LoadBalance(ctx context.Context, request *milvuspb.LoadBalanceRequest) (*commonpb.Status, error) {
return nil, nil
}
func (m *MockProxy) CreateAlias(ctx context.Context, request *milvuspb.CreateAliasRequest) (*commonpb.Status, error) {
return nil, nil
}
@ -779,6 +787,11 @@ func Test_NewServer(t *testing.T) {
assert.Nil(t, err)
})
t.Run("LoadBalance", func(t *testing.T) {
_, err := server.LoadBalance(ctx, nil)
assert.Nil(t, err)
})
t.Run("CreateAlias", func(t *testing.T) {
_, err := server.CreateAlias(ctx, nil)
assert.Nil(t, err)

View File

@ -410,6 +410,21 @@ func (c *Client) GetSegmentInfo(ctx context.Context, req *querypb.GetSegmentInfo
return ret.(*querypb.GetSegmentInfoResponse), err
}
func (c *Client) LoadBalance(ctx context.Context, req *querypb.LoadBalanceRequest) (*commonpb.Status, error) {
ret, err := c.recall(func() (interface{}, error) {
client, err := c.getGrpcClient()
if err != nil {
return nil, err
}
return client.LoadBalance(ctx, req)
})
if err != nil || ret == nil {
return nil, err
}
return ret.(*commonpb.Status), err
}
func (c *Client) GetMetrics(ctx context.Context, req *milvuspb.GetMetricsRequest) (*milvuspb.GetMetricsResponse, error) {
ret, err := c.recall(func() (interface{}, error) {
client, err := c.getGrpcClient()

View File

@ -82,6 +82,10 @@ func (m *MockQueryCoordClient) GetSegmentInfo(ctx context.Context, in *querypb.G
return &querypb.GetSegmentInfoResponse{}, m.err
}
func (m *MockQueryCoordClient) LoadBalance(ctx context.Context, in *querypb.LoadBalanceRequest, opts ...grpc.CallOption) (*commonpb.Status, error) {
return &commonpb.Status{}, m.err
}
func (m *MockQueryCoordClient) GetMetrics(ctx context.Context, in *milvuspb.GetMetricsRequest, opts ...grpc.CallOption) (*milvuspb.GetMetricsResponse, error) {
return &milvuspb.GetMetricsResponse{}, m.err
}
@ -158,6 +162,9 @@ func Test_NewClient(t *testing.T) {
r15, err := client.GetMetrics(ctx, nil)
retCheck(retNotNil, r15, err)
r16, err := client.LoadBalance(ctx, nil)
retCheck(retNotNil, r16, err)
}
client.getGrpcClient = func() (querypb.QueryCoordClient, error) {

View File

@ -310,6 +310,10 @@ func (s *Server) GetSegmentInfo(ctx context.Context, req *querypb.GetSegmentInfo
return s.queryCoord.GetSegmentInfo(ctx, req)
}
func (s *Server) LoadBalance(ctx context.Context, req *querypb.LoadBalanceRequest) (*commonpb.Status, error) {
return s.queryCoord.LoadBalance(ctx, req)
}
// GetMetrics gets the metrics information of QueryCoord.
func (s *Server) GetMetrics(ctx context.Context, req *milvuspb.GetMetricsRequest) (*milvuspb.GetMetricsResponse, error) {
return s.queryCoord.GetMetrics(ctx, req)

View File

@ -126,6 +126,10 @@ func (m *MockQueryCoord) GetSegmentInfo(ctx context.Context, req *querypb.GetSeg
return m.infoResp, m.err
}
func (m *MockQueryCoord) LoadBalance(ctx context.Context, req *querypb.LoadBalanceRequest) (*commonpb.Status, error) {
return m.status, m.err
}
func (m *MockQueryCoord) GetMetrics(ctx context.Context, req *milvuspb.GetMetricsRequest) (*milvuspb.GetMetricsResponse, error) {
return m.metricResp, m.err
}
@ -317,6 +321,13 @@ func Test_NewServer(t *testing.T) {
assert.Equal(t, commonpb.ErrorCode_Success, resp.Status.ErrorCode)
})
t.Run("LoadBalance", func(t *testing.T) {
req := &querypb.LoadBalanceRequest{}
resp, err := server.LoadBalance(ctx, req)
assert.Nil(t, err)
assert.Equal(t, commonpb.ErrorCode_Success, resp.ErrorCode)
})
t.Run("GetMetrics", func(t *testing.T) {
req := &milvuspb.GetMetricsRequest{
Request: "",

View File

@ -943,61 +943,6 @@ func (lim *LoadIndexMsg) Unmarshal(input MarshalType) (TsMsg, error) {
}
*/
/////////////////////////////////////////LoadBalanceSegments//////////////////////////////////////////
// LoadBalanceSegmentsMsg is a message pack that contains load balance segments request
type LoadBalanceSegmentsMsg struct {
BaseMsg
internalpb.LoadBalanceSegmentsRequest
}
// interface implementation validation
var _ TsMsg = &LoadBalanceSegmentsMsg{}
// ID returns the ID of this message pack
func (l *LoadBalanceSegmentsMsg) ID() UniqueID {
return l.Base.MsgID
}
// Type returns the type of this message pack
func (l *LoadBalanceSegmentsMsg) Type() MsgType {
return l.Base.MsgType
}
// SourceID indicated which component generated this message
func (l *LoadBalanceSegmentsMsg) SourceID() int64 {
return l.Base.SourceID
}
// Marshal is used to serializing a message pack to byte array
func (l *LoadBalanceSegmentsMsg) Marshal(input TsMsg) (MarshalType, error) {
load := input.(*LoadBalanceSegmentsMsg)
loadReq := &load.LoadBalanceSegmentsRequest
mb, err := proto.Marshal(loadReq)
if err != nil {
return nil, err
}
return mb, nil
}
// Unmarshal is used to deserializing a message pack from byte array
func (l *LoadBalanceSegmentsMsg) Unmarshal(input MarshalType) (TsMsg, error) {
loadReq := internalpb.LoadBalanceSegmentsRequest{}
in, err := convertToByteArray(input)
if err != nil {
return nil, err
}
err = proto.Unmarshal(in, &loadReq)
if err != nil {
return nil, err
}
loadMsg := &LoadBalanceSegmentsMsg{LoadBalanceSegmentsRequest: loadReq}
loadMsg.BeginTimestamp = loadReq.Base.Timestamp
loadMsg.EndTimestamp = loadReq.Base.Timestamp
return loadMsg, nil
}
/////////////////////////////////////////SealedSegmentsChangeInfoMsg//////////////////////////////////////////
// SealedSegmentsChangeInfoMsg is a message pack that contains sealed segments change info

View File

@ -747,50 +747,6 @@ func TestDropPartitionMsg_Unmarshal_IllegalParameter(t *testing.T) {
assert.Nil(t, tsMsg)
}
func TestLoadBalanceSegmentsMsg(t *testing.T) {
loadBalanceSegmentsMsg := &LoadBalanceSegmentsMsg{
BaseMsg: generateBaseMsg(),
LoadBalanceSegmentsRequest: internalpb.LoadBalanceSegmentsRequest{
Base: &commonpb.MsgBase{
MsgType: commonpb.MsgType_LoadBalanceSegments,
MsgID: 1,
Timestamp: 2,
SourceID: 3,
},
SegmentIDs: []int64{},
},
}
assert.NotNil(t, loadBalanceSegmentsMsg.TraceCtx())
ctx := context.Background()
loadBalanceSegmentsMsg.SetTraceCtx(ctx)
assert.Equal(t, ctx, loadBalanceSegmentsMsg.TraceCtx())
assert.Equal(t, int64(1), loadBalanceSegmentsMsg.ID())
assert.Equal(t, commonpb.MsgType_LoadBalanceSegments, loadBalanceSegmentsMsg.Type())
assert.Equal(t, int64(3), loadBalanceSegmentsMsg.SourceID())
bytes, err := loadBalanceSegmentsMsg.Marshal(loadBalanceSegmentsMsg)
assert.Nil(t, err)
tsMsg, err := loadBalanceSegmentsMsg.Unmarshal(bytes)
assert.Nil(t, err)
loadBalanceSegmentsMsg2, ok := tsMsg.(*LoadBalanceSegmentsMsg)
assert.True(t, ok)
assert.Equal(t, int64(1), loadBalanceSegmentsMsg2.ID())
assert.Equal(t, commonpb.MsgType_LoadBalanceSegments, loadBalanceSegmentsMsg2.Type())
assert.Equal(t, int64(3), loadBalanceSegmentsMsg2.SourceID())
}
func TestLoadBalanceSegmentsMsg_Unmarshal_IllegalParameter(t *testing.T) {
loadBalanceSegmentsMsg := &LoadBalanceSegmentsMsg{}
tsMsg, err := loadBalanceSegmentsMsg.Unmarshal(10)
assert.NotNil(t, err)
assert.Nil(t, tsMsg)
}
func TestDataNodeTtMsg(t *testing.T) {
dataNodeTtMsg := &DataNodeTtMsg{
BaseMsg: generateBaseMsg(),

View File

@ -67,7 +67,6 @@ func (pudf *ProtoUDFactory) NewUnmarshalDispatcher() *ProtoUnmarshalDispatcher {
dropPartitionMsg := DropPartitionMsg{}
queryNodeSegStatsMsg := QueryNodeStatsMsg{}
segmentStatisticsMsg := SegmentStatisticsMsg{}
loadBalanceSegmentsMsg := LoadBalanceSegmentsMsg{}
dataNodeTtMsg := DataNodeTtMsg{}
sealedSegmentsChangeInfoMsg := SealedSegmentsChangeInfoMsg{}
@ -86,7 +85,6 @@ func (pudf *ProtoUDFactory) NewUnmarshalDispatcher() *ProtoUnmarshalDispatcher {
p.TempMap[commonpb.MsgType_CreatePartition] = createPartitionMsg.Unmarshal
p.TempMap[commonpb.MsgType_DropPartition] = dropPartitionMsg.Unmarshal
p.TempMap[commonpb.MsgType_SegmentStatistics] = segmentStatisticsMsg.Unmarshal
p.TempMap[commonpb.MsgType_LoadBalanceSegments] = loadBalanceSegmentsMsg.Unmarshal
p.TempMap[commonpb.MsgType_DataNodeTt] = dataNodeTtMsg.Unmarshal
p.TempMap[commonpb.MsgType_SealedSegmentsChangeInfo] = sealedSegmentsChangeInfoMsg.Unmarshal

View File

@ -211,11 +211,6 @@ message DeleteRequest {
repeated uint64 timestamps = 10;
}
message LoadBalanceSegmentsRequest {
common.MsgBase base = 1;
repeated int64 segmentIDs = 2;
}
message LoadIndex {
common.MsgBase base = 1;
int64 segmentID = 2;

View File

@ -1797,53 +1797,6 @@ func (m *DeleteRequest) GetTimestamps() []uint64 {
return nil
}
type LoadBalanceSegmentsRequest struct {
Base *commonpb.MsgBase `protobuf:"bytes,1,opt,name=base,proto3" json:"base,omitempty"`
SegmentIDs []int64 `protobuf:"varint,2,rep,packed,name=segmentIDs,proto3" json:"segmentIDs,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *LoadBalanceSegmentsRequest) Reset() { *m = LoadBalanceSegmentsRequest{} }
func (m *LoadBalanceSegmentsRequest) String() string { return proto.CompactTextString(m) }
func (*LoadBalanceSegmentsRequest) ProtoMessage() {}
func (*LoadBalanceSegmentsRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_41f4a519b878ee3b, []int{24}
}
func (m *LoadBalanceSegmentsRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_LoadBalanceSegmentsRequest.Unmarshal(m, b)
}
func (m *LoadBalanceSegmentsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_LoadBalanceSegmentsRequest.Marshal(b, m, deterministic)
}
func (m *LoadBalanceSegmentsRequest) XXX_Merge(src proto.Message) {
xxx_messageInfo_LoadBalanceSegmentsRequest.Merge(m, src)
}
func (m *LoadBalanceSegmentsRequest) XXX_Size() int {
return xxx_messageInfo_LoadBalanceSegmentsRequest.Size(m)
}
func (m *LoadBalanceSegmentsRequest) XXX_DiscardUnknown() {
xxx_messageInfo_LoadBalanceSegmentsRequest.DiscardUnknown(m)
}
var xxx_messageInfo_LoadBalanceSegmentsRequest proto.InternalMessageInfo
func (m *LoadBalanceSegmentsRequest) GetBase() *commonpb.MsgBase {
if m != nil {
return m.Base
}
return nil
}
func (m *LoadBalanceSegmentsRequest) GetSegmentIDs() []int64 {
if m != nil {
return m.SegmentIDs
}
return nil
}
type LoadIndex struct {
Base *commonpb.MsgBase `protobuf:"bytes,1,opt,name=base,proto3" json:"base,omitempty"`
SegmentID int64 `protobuf:"varint,2,opt,name=segmentID,proto3" json:"segmentID,omitempty"`
@ -1860,7 +1813,7 @@ func (m *LoadIndex) Reset() { *m = LoadIndex{} }
func (m *LoadIndex) String() string { return proto.CompactTextString(m) }
func (*LoadIndex) ProtoMessage() {}
func (*LoadIndex) Descriptor() ([]byte, []int) {
return fileDescriptor_41f4a519b878ee3b, []int{25}
return fileDescriptor_41f4a519b878ee3b, []int{24}
}
func (m *LoadIndex) XXX_Unmarshal(b []byte) error {
@ -1940,7 +1893,7 @@ func (m *SegmentStatisticsUpdates) Reset() { *m = SegmentStatisticsUpdat
func (m *SegmentStatisticsUpdates) String() string { return proto.CompactTextString(m) }
func (*SegmentStatisticsUpdates) ProtoMessage() {}
func (*SegmentStatisticsUpdates) Descriptor() ([]byte, []int) {
return fileDescriptor_41f4a519b878ee3b, []int{26}
return fileDescriptor_41f4a519b878ee3b, []int{25}
}
func (m *SegmentStatisticsUpdates) XXX_Unmarshal(b []byte) error {
@ -2022,7 +1975,7 @@ func (m *SegmentStatistics) Reset() { *m = SegmentStatistics{} }
func (m *SegmentStatistics) String() string { return proto.CompactTextString(m) }
func (*SegmentStatistics) ProtoMessage() {}
func (*SegmentStatistics) Descriptor() ([]byte, []int) {
return fileDescriptor_41f4a519b878ee3b, []int{27}
return fileDescriptor_41f4a519b878ee3b, []int{26}
}
func (m *SegmentStatistics) XXX_Unmarshal(b []byte) error {
@ -2069,7 +2022,7 @@ func (m *IndexStats) Reset() { *m = IndexStats{} }
func (m *IndexStats) String() string { return proto.CompactTextString(m) }
func (*IndexStats) ProtoMessage() {}
func (*IndexStats) Descriptor() ([]byte, []int) {
return fileDescriptor_41f4a519b878ee3b, []int{28}
return fileDescriptor_41f4a519b878ee3b, []int{27}
}
func (m *IndexStats) XXX_Unmarshal(b []byte) error {
@ -2117,7 +2070,7 @@ func (m *FieldStats) Reset() { *m = FieldStats{} }
func (m *FieldStats) String() string { return proto.CompactTextString(m) }
func (*FieldStats) ProtoMessage() {}
func (*FieldStats) Descriptor() ([]byte, []int) {
return fileDescriptor_41f4a519b878ee3b, []int{29}
return fileDescriptor_41f4a519b878ee3b, []int{28}
}
func (m *FieldStats) XXX_Unmarshal(b []byte) error {
@ -2173,7 +2126,7 @@ func (m *SegmentStats) Reset() { *m = SegmentStats{} }
func (m *SegmentStats) String() string { return proto.CompactTextString(m) }
func (*SegmentStats) ProtoMessage() {}
func (*SegmentStats) Descriptor() ([]byte, []int) {
return fileDescriptor_41f4a519b878ee3b, []int{30}
return fileDescriptor_41f4a519b878ee3b, []int{29}
}
func (m *SegmentStats) XXX_Unmarshal(b []byte) error {
@ -2235,7 +2188,7 @@ func (m *QueryNodeStats) Reset() { *m = QueryNodeStats{} }
func (m *QueryNodeStats) String() string { return proto.CompactTextString(m) }
func (*QueryNodeStats) ProtoMessage() {}
func (*QueryNodeStats) Descriptor() ([]byte, []int) {
return fileDescriptor_41f4a519b878ee3b, []int{31}
return fileDescriptor_41f4a519b878ee3b, []int{30}
}
func (m *QueryNodeStats) XXX_Unmarshal(b []byte) error {
@ -2291,7 +2244,7 @@ func (m *MsgPosition) Reset() { *m = MsgPosition{} }
func (m *MsgPosition) String() string { return proto.CompactTextString(m) }
func (*MsgPosition) ProtoMessage() {}
func (*MsgPosition) Descriptor() ([]byte, []int) {
return fileDescriptor_41f4a519b878ee3b, []int{32}
return fileDescriptor_41f4a519b878ee3b, []int{31}
}
func (m *MsgPosition) XXX_Unmarshal(b []byte) error {
@ -2354,7 +2307,7 @@ func (m *ChannelTimeTickMsg) Reset() { *m = ChannelTimeTickMsg{} }
func (m *ChannelTimeTickMsg) String() string { return proto.CompactTextString(m) }
func (*ChannelTimeTickMsg) ProtoMessage() {}
func (*ChannelTimeTickMsg) Descriptor() ([]byte, []int) {
return fileDescriptor_41f4a519b878ee3b, []int{33}
return fileDescriptor_41f4a519b878ee3b, []int{32}
}
func (m *ChannelTimeTickMsg) XXX_Unmarshal(b []byte) error {
@ -2429,7 +2382,6 @@ func init() {
proto.RegisterType((*RetrieveRequest)(nil), "milvus.proto.internal.RetrieveRequest")
proto.RegisterType((*RetrieveResults)(nil), "milvus.proto.internal.RetrieveResults")
proto.RegisterType((*DeleteRequest)(nil), "milvus.proto.internal.DeleteRequest")
proto.RegisterType((*LoadBalanceSegmentsRequest)(nil), "milvus.proto.internal.LoadBalanceSegmentsRequest")
proto.RegisterType((*LoadIndex)(nil), "milvus.proto.internal.LoadIndex")
proto.RegisterType((*SegmentStatisticsUpdates)(nil), "milvus.proto.internal.SegmentStatisticsUpdates")
proto.RegisterType((*SegmentStatistics)(nil), "milvus.proto.internal.SegmentStatistics")
@ -2444,132 +2396,130 @@ func init() {
func init() { proto.RegisterFile("internal.proto", fileDescriptor_41f4a519b878ee3b) }
var fileDescriptor_41f4a519b878ee3b = []byte{
// 2024 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x59, 0xdd, 0x6e, 0x1c, 0x49,
0xf5, 0xff, 0xf7, 0xf4, 0x8c, 0x67, 0xe6, 0xcc, 0xd8, 0x1e, 0x97, 0x9d, 0x6c, 0xdb, 0xc9, 0x26,
0xde, 0xde, 0xfd, 0x83, 0xd9, 0x88, 0x38, 0x78, 0x81, 0x5d, 0x21, 0x44, 0x36, 0xf6, 0x2c, 0x61,
0x94, 0xb5, 0x31, 0xed, 0xec, 0x4a, 0x70, 0xd3, 0xaa, 0x99, 0x2e, 0x8f, 0x9b, 0xf4, 0xd7, 0x76,
0x55, 0x3b, 0x99, 0xbd, 0x42, 0x88, 0x2b, 0x10, 0x48, 0x20, 0x71, 0x09, 0x8f, 0xc0, 0x2d, 0x57,
0x7c, 0x88, 0x2b, 0x5e, 0x81, 0x07, 0xe0, 0x1d, 0x10, 0x57, 0xa8, 0x4e, 0x55, 0x7f, 0xcc, 0x78,
0xec, 0x38, 0x8e, 0x96, 0x0d, 0xd2, 0xde, 0x4d, 0x9d, 0x73, 0xea, 0xe3, 0xfc, 0xce, 0xef, 0x9c,
0x3a, 0x5d, 0x03, 0x4b, 0x7e, 0x24, 0x58, 0x1a, 0xd1, 0xe0, 0x6e, 0x92, 0xc6, 0x22, 0x26, 0xd7,
0x42, 0x3f, 0x38, 0xcd, 0xb8, 0x1a, 0xdd, 0xcd, 0x95, 0x1b, 0xdd, 0x51, 0x1c, 0x86, 0x71, 0xa4,
0xc4, 0x1b, 0x5d, 0x3e, 0x3a, 0x61, 0x21, 0x55, 0x23, 0xfb, 0xcf, 0x06, 0x2c, 0xee, 0xc5, 0x61,
0x12, 0x47, 0x2c, 0x12, 0x83, 0xe8, 0x38, 0x26, 0xd7, 0x61, 0x21, 0x8a, 0x3d, 0x36, 0xe8, 0x5b,
0xc6, 0xa6, 0xb1, 0x65, 0x3a, 0x7a, 0x44, 0x08, 0xd4, 0xd3, 0x38, 0x60, 0x56, 0x6d, 0xd3, 0xd8,
0x6a, 0x3b, 0xf8, 0x9b, 0xdc, 0x07, 0xe0, 0x82, 0x0a, 0xe6, 0x8e, 0x62, 0x8f, 0x59, 0xe6, 0xa6,
0xb1, 0xb5, 0xb4, 0xb3, 0x79, 0x77, 0xee, 0x29, 0xee, 0x1e, 0x49, 0xc3, 0xbd, 0xd8, 0x63, 0x4e,
0x9b, 0xe7, 0x3f, 0xc9, 0xfb, 0x00, 0xec, 0x99, 0x48, 0xa9, 0xeb, 0x47, 0xc7, 0xb1, 0x55, 0xdf,
0x34, 0xb7, 0x3a, 0x3b, 0x6f, 0x4c, 0x2f, 0xa0, 0x0f, 0xff, 0x88, 0x4d, 0x3e, 0xa6, 0x41, 0xc6,
0x0e, 0xa9, 0x9f, 0x3a, 0x6d, 0x9c, 0x24, 0x8f, 0x6b, 0xff, 0xc3, 0x80, 0xe5, 0xc2, 0x01, 0xdc,
0x83, 0x93, 0x6f, 0x41, 0x03, 0xb7, 0x40, 0x0f, 0x3a, 0x3b, 0x6f, 0x9d, 0x73, 0xa2, 0x29, 0xbf,
0x1d, 0x35, 0x85, 0x7c, 0x04, 0xab, 0x3c, 0x1b, 0x8e, 0x72, 0x95, 0x8b, 0x52, 0x6e, 0xd5, 0xf0,
0x68, 0x97, 0x5b, 0x89, 0x54, 0x17, 0xd0, 0x47, 0x7a, 0x07, 0x16, 0xe4, 0x4a, 0x19, 0x47, 0x94,
0x3a, 0x3b, 0x37, 0xe6, 0x3a, 0x79, 0x84, 0x26, 0x8e, 0x36, 0xb5, 0x6f, 0xc0, 0xfa, 0x43, 0x26,
0x66, 0xbc, 0x73, 0xd8, 0x27, 0x19, 0xe3, 0x42, 0x2b, 0x1f, 0xfb, 0x21, 0x7b, 0xec, 0x8f, 0x9e,
0xec, 0x9d, 0xd0, 0x28, 0x62, 0x41, 0xae, 0x7c, 0x1d, 0x6e, 0x3c, 0x64, 0x38, 0xc1, 0xe7, 0xc2,
0x1f, 0xf1, 0x19, 0xf5, 0x35, 0x58, 0x7d, 0xc8, 0x44, 0xdf, 0x9b, 0x11, 0x7f, 0x0c, 0xad, 0x03,
0x19, 0x6c, 0x49, 0x83, 0x6f, 0x42, 0x93, 0x7a, 0x5e, 0xca, 0x38, 0xd7, 0x28, 0xde, 0x9c, 0x7b,
0xe2, 0x07, 0xca, 0xc6, 0xc9, 0x8d, 0xe7, 0xd1, 0xc4, 0xfe, 0x31, 0xc0, 0x20, 0xf2, 0xc5, 0x21,
0x4d, 0x69, 0xc8, 0xcf, 0x25, 0x58, 0x1f, 0xba, 0x5c, 0xd0, 0x54, 0xb8, 0x09, 0xda, 0x69, 0xc8,
0x2f, 0xc1, 0x86, 0x0e, 0x4e, 0x53, 0xab, 0xdb, 0x3f, 0x04, 0x38, 0x12, 0xa9, 0x1f, 0x8d, 0x3f,
0xf4, 0xb9, 0x90, 0x7b, 0x9d, 0x4a, 0x3b, 0xe9, 0x84, 0xb9, 0xd5, 0x76, 0xf4, 0xa8, 0x12, 0x8e,
0xda, 0xe5, 0xc3, 0x71, 0x1f, 0x3a, 0x39, 0xdc, 0xfb, 0x7c, 0x4c, 0xee, 0x41, 0x7d, 0x48, 0x39,
0xbb, 0x10, 0x9e, 0x7d, 0x3e, 0xde, 0xa5, 0x9c, 0x39, 0x68, 0x69, 0xff, 0xdc, 0x84, 0xd7, 0xf6,
0x52, 0x86, 0xe4, 0x0f, 0x02, 0x36, 0x12, 0x7e, 0x1c, 0x69, 0xec, 0x5f, 0x7c, 0x35, 0xf2, 0x1a,
0x34, 0xbd, 0xa1, 0x1b, 0xd1, 0x30, 0x07, 0x7b, 0xc1, 0x1b, 0x1e, 0xd0, 0x90, 0x91, 0x2f, 0xc1,
0xd2, 0xa8, 0x58, 0x5f, 0x4a, 0x90, 0x73, 0x6d, 0x67, 0x46, 0x4a, 0xde, 0x82, 0xc5, 0x84, 0xa6,
0xc2, 0x2f, 0xcc, 0xea, 0x68, 0x36, 0x2d, 0x94, 0x01, 0xf5, 0x86, 0x83, 0xbe, 0xd5, 0xc0, 0x60,
0xe1, 0x6f, 0x62, 0x43, 0xb7, 0x5c, 0x6b, 0xd0, 0xb7, 0x16, 0x50, 0x37, 0x25, 0x23, 0x9b, 0xd0,
0x29, 0x16, 0x1a, 0xf4, 0xad, 0x26, 0x9a, 0x54, 0x45, 0x32, 0x38, 0xaa, 0x16, 0x59, 0xad, 0x4d,
0x63, 0xab, 0xeb, 0xe8, 0x11, 0xb9, 0x07, 0xab, 0xa7, 0x7e, 0x2a, 0x32, 0x1a, 0x68, 0x7e, 0xca,
0x73, 0x70, 0xab, 0x8d, 0x11, 0x9c, 0xa7, 0x22, 0x3b, 0xb0, 0x96, 0x9c, 0x4c, 0xb8, 0x3f, 0x9a,
0x99, 0x02, 0x38, 0x65, 0xae, 0xce, 0xfe, 0x9b, 0x01, 0xd7, 0xfa, 0x69, 0x9c, 0xbc, 0x12, 0xa1,
0xc8, 0x41, 0xae, 0x5f, 0x00, 0x72, 0xe3, 0x2c, 0xc8, 0xf6, 0x2f, 0x6b, 0x70, 0x5d, 0x31, 0xea,
0x30, 0x07, 0xf6, 0x33, 0xf0, 0xe2, 0xcb, 0xb0, 0x5c, 0xee, 0xaa, 0x0c, 0xe6, 0xbb, 0xf1, 0xff,
0xb0, 0x54, 0x04, 0x58, 0xd9, 0xfd, 0x77, 0x29, 0x65, 0xff, 0xa2, 0x06, 0x6b, 0x32, 0xa8, 0x5f,
0xa0, 0x21, 0xd1, 0xf8, 0xbd, 0x01, 0x44, 0xb1, 0xe3, 0x41, 0xe0, 0x53, 0xfe, 0x79, 0x62, 0xb1,
0x06, 0x0d, 0x2a, 0xcf, 0xa0, 0x21, 0x50, 0x03, 0x9b, 0x43, 0x4f, 0x46, 0xeb, 0xb3, 0x3a, 0x5d,
0xb1, 0xa9, 0x59, 0xdd, 0xf4, 0x77, 0x06, 0xac, 0x3c, 0x08, 0x04, 0x4b, 0x5f, 0x51, 0x50, 0xfe,
0x52, 0xcb, 0xa3, 0x36, 0x88, 0x3c, 0xf6, 0xec, 0xf3, 0x3c, 0xe0, 0xeb, 0x00, 0xc7, 0x3e, 0x0b,
0xbc, 0x2a, 0x7b, 0xdb, 0x28, 0x79, 0x29, 0xe6, 0x5a, 0xd0, 0xc4, 0x45, 0x0a, 0xd6, 0xe6, 0x43,
0xd9, 0x03, 0xa8, 0x7e, 0x50, 0xf7, 0x00, 0xad, 0x4b, 0xf7, 0x00, 0x38, 0x4d, 0xf7, 0x00, 0x7f,
0x30, 0x61, 0x71, 0x10, 0x71, 0x96, 0x8a, 0xab, 0x83, 0x77, 0x13, 0xda, 0xfc, 0x84, 0xa6, 0xe8,
0xa8, 0x86, 0xaf, 0x14, 0x54, 0xa1, 0x35, 0x9f, 0x07, 0x6d, 0xfd, 0x92, 0xc5, 0xa1, 0x71, 0x51,
0x71, 0x58, 0xb8, 0x00, 0xe2, 0xe6, 0xf3, 0x8b, 0x43, 0xeb, 0xec, 0xed, 0x2b, 0x1d, 0x64, 0xe3,
0x50, 0x36, 0xad, 0x7d, 0xab, 0x8d, 0xfa, 0x52, 0x40, 0x6e, 0x01, 0x08, 0x3f, 0x64, 0x5c, 0xd0,
0x30, 0x51, 0xf7, 0x68, 0xdd, 0xa9, 0x48, 0xe4, 0xdd, 0x9d, 0xc6, 0x4f, 0x07, 0x7d, 0x6e, 0x75,
0x36, 0x4d, 0xd9, 0xc4, 0xa9, 0x11, 0xf9, 0x3a, 0xb4, 0xd2, 0xf8, 0xa9, 0xeb, 0x51, 0x41, 0xad,
0x2e, 0x06, 0x6f, 0x7d, 0x2e, 0xd8, 0xbb, 0x41, 0x3c, 0x74, 0x9a, 0x69, 0xfc, 0xb4, 0x4f, 0x05,
0xb5, 0xff, 0x65, 0xc2, 0xe2, 0x11, 0xa3, 0xe9, 0xe8, 0xe4, 0xea, 0x01, 0xfb, 0x0a, 0xf4, 0x52,
0xc6, 0xb3, 0x40, 0xb8, 0x23, 0x75, 0xcd, 0x0f, 0xfa, 0x3a, 0x6e, 0xcb, 0x4a, 0xbe, 0x97, 0x8b,
0x0b, 0x50, 0xcd, 0x0b, 0x40, 0xad, 0xcf, 0x01, 0xd5, 0x86, 0x6e, 0x05, 0x41, 0x6e, 0x35, 0xd0,
0xf5, 0x29, 0x19, 0xe9, 0x81, 0xe9, 0xf1, 0x00, 0xe3, 0xd5, 0x76, 0xe4, 0x4f, 0x72, 0x07, 0x56,
0x92, 0x80, 0x8e, 0xd8, 0x49, 0x1c, 0x78, 0x2c, 0x75, 0xc7, 0x69, 0x9c, 0x25, 0x18, 0xb3, 0xae,
0xd3, 0xab, 0x28, 0x1e, 0x4a, 0x39, 0x79, 0x17, 0x5a, 0x1e, 0x0f, 0x5c, 0x31, 0x49, 0x18, 0x06,
0x6d, 0xe9, 0x1c, 0xdf, 0xfb, 0x3c, 0x78, 0x3c, 0x49, 0x98, 0xd3, 0xf4, 0xd4, 0x0f, 0x72, 0x0f,
0xd6, 0x38, 0x4b, 0x7d, 0x1a, 0xf8, 0x9f, 0x32, 0xcf, 0x65, 0xcf, 0x92, 0xd4, 0x4d, 0x02, 0x1a,
0x61, 0x64, 0xbb, 0x0e, 0x29, 0x75, 0x1f, 0x3c, 0x4b, 0xd2, 0xc3, 0x80, 0x46, 0x64, 0x0b, 0x7a,
0x71, 0x26, 0x92, 0x4c, 0xb8, 0x98, 0x7d, 0xdc, 0xf5, 0x3d, 0x0c, 0xb4, 0xe9, 0x2c, 0x29, 0xf9,
0x77, 0x51, 0x3c, 0xf0, 0x24, 0xb4, 0x22, 0xa5, 0xa7, 0x2c, 0x70, 0x0b, 0x06, 0x58, 0x9d, 0x4d,
0x63, 0xab, 0xee, 0x2c, 0x2b, 0xf9, 0xe3, 0x5c, 0x4c, 0xb6, 0x61, 0x75, 0x9c, 0xd1, 0x94, 0x46,
0x82, 0xb1, 0x8a, 0x75, 0x17, 0xad, 0x49, 0xa1, 0x2a, 0x26, 0xd8, 0xbf, 0xae, 0x97, 0xa1, 0x97,
0x51, 0xe2, 0x57, 0x08, 0xfd, 0x55, 0xba, 0xf9, 0xb9, 0x7c, 0x31, 0xe7, 0xf3, 0xe5, 0x36, 0x74,
0x42, 0x26, 0x52, 0x7f, 0xa4, 0xe2, 0xa2, 0x12, 0x1a, 0x94, 0x08, 0xc1, 0xbf, 0x0d, 0x9d, 0x28,
0x0b, 0xdd, 0x4f, 0x32, 0x96, 0xfa, 0x8c, 0xeb, 0x7a, 0x08, 0x51, 0x16, 0xfe, 0x40, 0x49, 0xc8,
0x2a, 0x34, 0x44, 0x9c, 0xb8, 0x4f, 0xf2, 0x3c, 0x16, 0x71, 0xf2, 0x88, 0x7c, 0x1b, 0x36, 0x38,
0xa3, 0x01, 0xf3, 0xdc, 0x22, 0xef, 0xb8, 0xcb, 0x11, 0x0b, 0xe6, 0x59, 0x4d, 0x0c, 0x85, 0xa5,
0x2c, 0x8e, 0x0a, 0x83, 0x23, 0xad, 0x97, 0x48, 0x17, 0x07, 0xaf, 0x4c, 0x6b, 0x61, 0xcb, 0x4b,
0x4a, 0x55, 0x31, 0xe1, 0x3d, 0xb0, 0xc6, 0x41, 0x3c, 0xa4, 0x81, 0x7b, 0x66, 0x57, 0xec, 0xad,
0x4d, 0xe7, 0xba, 0xd2, 0x1f, 0xcd, 0x6c, 0x29, 0xdd, 0xe3, 0x81, 0x3f, 0x62, 0x9e, 0x3b, 0x0c,
0xe2, 0xa1, 0x05, 0x48, 0x29, 0x50, 0x22, 0x99, 0xc8, 0x92, 0x4a, 0xda, 0x40, 0xc2, 0x30, 0x8a,
0xb3, 0x48, 0x20, 0x41, 0x4c, 0x67, 0x49, 0xc9, 0x0f, 0xb2, 0x70, 0x4f, 0x4a, 0xc9, 0x9b, 0xb0,
0xa8, 0x2d, 0xe3, 0xe3, 0x63, 0xce, 0x04, 0x32, 0xc3, 0x74, 0xba, 0x4a, 0xf8, 0x7d, 0x94, 0xd9,
0x3f, 0x35, 0x61, 0xd9, 0x91, 0xe8, 0xb2, 0x53, 0xf6, 0x3f, 0x5f, 0x10, 0xce, 0x4b, 0xcc, 0x85,
0x17, 0x4a, 0xcc, 0xe6, 0xa5, 0x13, 0xb3, 0xf5, 0x42, 0x89, 0xd9, 0x3e, 0x37, 0x31, 0xff, 0x34,
0x15, 0x84, 0x57, 0x35, 0x35, 0xdf, 0x06, 0xd3, 0xf7, 0x54, 0x03, 0xd5, 0xd9, 0xb1, 0xa6, 0x17,
0xd7, 0x0f, 0x5d, 0x83, 0x3e, 0x77, 0xa4, 0x11, 0xb9, 0x0f, 0x1d, 0x0d, 0x28, 0x5e, 0x4f, 0x0d,
0xbc, 0x9e, 0x6e, 0xcd, 0x9d, 0x83, 0x08, 0xcb, 0xab, 0xc9, 0x51, 0x0d, 0x10, 0x97, 0xbf, 0xc9,
0x77, 0xe0, 0xc6, 0xd9, 0x84, 0x4d, 0x35, 0x46, 0x9e, 0xb5, 0x80, 0x31, 0x5a, 0x9f, 0xcd, 0xd8,
0x1c, 0x44, 0x8f, 0x7c, 0x0d, 0xd6, 0x2a, 0x29, 0x5b, 0x4e, 0x6c, 0xaa, 0x2f, 0xdb, 0x52, 0x57,
0x4e, 0xb9, 0x28, 0x69, 0x5b, 0x17, 0x25, 0xad, 0xfd, 0xcf, 0x1a, 0x2c, 0xf6, 0x59, 0xc0, 0x04,
0xfb, 0xa2, 0x09, 0x3a, 0xb7, 0x09, 0x7a, 0x03, 0xba, 0x49, 0xea, 0x87, 0x34, 0x9d, 0xb8, 0x4f,
0xd8, 0x24, 0xaf, 0x83, 0x1d, 0x2d, 0x7b, 0xc4, 0x26, 0xfc, 0x79, 0x9d, 0x90, 0x1d, 0xc1, 0xc6,
0x87, 0x31, 0xf5, 0x76, 0x69, 0x40, 0xa3, 0x11, 0xd3, 0x01, 0x78, 0x89, 0xcf, 0x8a, 0x5b, 0x00,
0x95, 0x18, 0xd7, 0xf0, 0x40, 0x15, 0x89, 0xfd, 0x6f, 0x03, 0xda, 0x72, 0x43, 0xfc, 0x38, 0xb8,
0x62, 0x4c, 0x8b, 0xbe, 0xaf, 0x36, 0xdb, 0xf7, 0xdd, 0x84, 0xb2, 0xbf, 0xd7, 0x51, 0xad, 0x34,
0xfc, 0x95, 0xc6, 0xbd, 0x3e, 0xdd, 0xb8, 0xdf, 0x86, 0x8e, 0x2f, 0x0f, 0xe4, 0x26, 0x54, 0x9c,
0xa8, 0x42, 0xd8, 0x76, 0x00, 0x45, 0x87, 0x52, 0x22, 0x3b, 0xfb, 0xdc, 0x00, 0x3b, 0xfb, 0x85,
0x4b, 0x77, 0xf6, 0x7a, 0x11, 0xec, 0xec, 0xff, 0x5a, 0x03, 0x4b, 0x43, 0x5c, 0x3e, 0x6e, 0x7e,
0x94, 0x78, 0xf8, 0xc6, 0x7a, 0x13, 0xda, 0x05, 0xff, 0xf5, 0xdb, 0x62, 0x29, 0x90, 0xb8, 0xee,
0xb3, 0x30, 0x4e, 0x27, 0x47, 0xfe, 0xa7, 0x4c, 0x3b, 0x5e, 0x91, 0x48, 0xdf, 0x0e, 0xb2, 0xd0,
0x89, 0x9f, 0x72, 0x7d, 0x0d, 0xe4, 0x43, 0xe9, 0xdb, 0x08, 0xbf, 0xc7, 0xb0, 0x6e, 0xa2, 0xe7,
0x75, 0x07, 0x94, 0x48, 0xd6, 0x4b, 0xb2, 0x0e, 0x2d, 0x16, 0x79, 0x4a, 0xdb, 0x40, 0x6d, 0x93,
0x45, 0x1e, 0xaa, 0x06, 0xb0, 0xa4, 0x1f, 0x35, 0x63, 0x8e, 0xa4, 0x43, 0x12, 0x77, 0x76, 0xec,
0x73, 0x5e, 0x92, 0xf7, 0xf9, 0xf8, 0x50, 0x5b, 0x3a, 0x8b, 0xea, 0x5d, 0x53, 0x0f, 0xc9, 0x07,
0xd0, 0x95, 0xbb, 0x14, 0x0b, 0x35, 0x2f, 0xbd, 0x50, 0x87, 0x45, 0x5e, 0x3e, 0xb0, 0x7f, 0x63,
0xc0, 0xca, 0x19, 0x08, 0xaf, 0xc0, 0xa3, 0x47, 0xd0, 0x3a, 0x62, 0x63, 0xb9, 0x44, 0xfe, 0x54,
0xbb, 0x7d, 0xde, 0xcb, 0xff, 0x39, 0x01, 0x73, 0x8a, 0x05, 0xec, 0x9f, 0x19, 0x00, 0x48, 0x68,
0x1c, 0x9e, 0x21, 0x8b, 0x71, 0x15, 0xb2, 0xc8, 0x9b, 0x57, 0xb6, 0x23, 0x29, 0x0b, 0xa8, 0x28,
0x2b, 0x27, 0xd7, 0xb1, 0x27, 0x51, 0x16, 0x3a, 0x4a, 0x95, 0x27, 0xad, 0xfd, 0x2b, 0x03, 0x00,
0x4b, 0xbf, 0x3a, 0xc6, 0x6c, 0x8d, 0x31, 0x2e, 0xfe, 0x96, 0xad, 0x4d, 0xa7, 0xc4, 0x6e, 0x9e,
0x12, 0x1c, 0x31, 0x32, 0xe7, 0xf9, 0x50, 0x60, 0x54, 0x3a, 0xaf, 0xb3, 0x46, 0xe1, 0xf2, 0x5b,
0x03, 0xba, 0x15, 0xf8, 0xf8, 0x74, 0xf6, 0x1a, 0xb3, 0xd9, 0x8b, 0x8d, 0xaa, 0x64, 0xb4, 0xcb,
0x2b, 0x24, 0x0f, 0x4b, 0x92, 0xaf, 0x43, 0x0b, 0x21, 0xa9, 0xb0, 0x3c, 0xd2, 0x2c, 0xbf, 0x03,
0x2b, 0x29, 0x1b, 0xb1, 0x48, 0x04, 0x13, 0x37, 0x8c, 0x3d, 0xff, 0xd8, 0x67, 0x1e, 0x72, 0xbd,
0xe5, 0xf4, 0x72, 0xc5, 0xbe, 0x96, 0xdb, 0x7f, 0x37, 0x60, 0x49, 0xf6, 0xb6, 0x93, 0x83, 0xd8,
0x63, 0xea, 0x64, 0x2f, 0xce, 0xa0, 0xf7, 0xd1, 0x17, 0x0d, 0x8f, 0xa2, 0xd0, 0x9b, 0xcf, 0xa7,
0x10, 0x77, 0x5a, 0x5c, 0xd3, 0x46, 0x42, 0xac, 0xde, 0x27, 0x2e, 0x03, 0x71, 0x19, 0x58, 0x7d,
0xa9, 0x2b, 0x88, 0x7f, 0x62, 0x40, 0xa7, 0x92, 0x2c, 0xf2, 0x4a, 0xd0, 0x17, 0xb1, 0xba, 0x91,
0x0c, 0x2c, 0x82, 0x9d, 0x51, 0xf9, 0x76, 0x4c, 0xd6, 0xa0, 0x11, 0xf2, 0xb1, 0x8e, 0x78, 0xd7,
0x51, 0x03, 0xb2, 0x01, 0xad, 0x90, 0x8f, 0xf1, 0x33, 0x4e, 0x57, 0xce, 0x62, 0x2c, 0xc3, 0x56,
0xf6, 0x5c, 0xaa, 0x80, 0x94, 0x02, 0xfb, 0x8f, 0x06, 0x10, 0xdd, 0xd2, 0xbc, 0xd4, 0x1f, 0x0c,
0x48, 0xd8, 0xea, 0xfb, 0x77, 0x0d, 0xcb, 0xf0, 0x94, 0x6c, 0xe6, 0x3e, 0x33, 0xcf, 0x7c, 0xd9,
0xdf, 0x81, 0x15, 0x8f, 0x1d, 0x53, 0xd9, 0x7d, 0xcd, 0x1e, 0xb9, 0xa7, 0x15, 0x45, 0x93, 0xf8,
0xf6, 0x7b, 0xd0, 0x2e, 0xfe, 0xd7, 0x23, 0x3d, 0xe8, 0x0e, 0x22, 0x5f, 0x60, 0x3b, 0xeb, 0x47,
0xe3, 0xde, 0xff, 0x91, 0x0e, 0x34, 0xbf, 0xc7, 0x68, 0x20, 0x4e, 0x26, 0x3d, 0x83, 0x74, 0xa1,
0xf5, 0x60, 0x18, 0xc5, 0x69, 0x48, 0x83, 0x5e, 0x6d, 0xf7, 0xdd, 0x1f, 0x7d, 0x63, 0xec, 0x8b,
0x93, 0x6c, 0x28, 0x3d, 0xd9, 0x56, 0xae, 0x7d, 0xd5, 0x8f, 0xf5, 0xaf, 0xed, 0x3c, 0x6a, 0xdb,
0xe8, 0x6d, 0x31, 0x4c, 0x86, 0xc3, 0x05, 0x94, 0xbc, 0xf3, 0x9f, 0x00, 0x00, 0x00, 0xff, 0xff,
0x9a, 0xbd, 0xeb, 0x66, 0xfd, 0x1c, 0x00, 0x00,
// 1998 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x59, 0xdd, 0x72, 0x1c, 0x47,
0xf5, 0xff, 0xcf, 0xce, 0xae, 0x76, 0xf7, 0xcc, 0x4a, 0x5e, 0xb5, 0x64, 0x67, 0x64, 0x3b, 0xb1,
0x32, 0xc9, 0x1f, 0x44, 0x5c, 0x58, 0x46, 0x01, 0x92, 0xa2, 0x28, 0x1c, 0x5b, 0x1b, 0xcc, 0x96,
0x23, 0x21, 0x46, 0x4e, 0xaa, 0xe0, 0x66, 0xaa, 0x77, 0xa7, 0xb5, 0x1a, 0x3c, 0x5f, 0x99, 0xee,
0x91, 0xbd, 0xb9, 0xa2, 0x28, 0xae, 0xa0, 0xa0, 0x0a, 0xaa, 0xb8, 0x84, 0x47, 0xe0, 0x96, 0x2b,
0x3e, 0x8a, 0x2b, 0x5e, 0x81, 0x07, 0xe0, 0x1d, 0x28, 0xae, 0xa8, 0x3e, 0xdd, 0xf3, 0xb1, 0xab,
0x95, 0x2c, 0x2b, 0x15, 0x62, 0xaa, 0x72, 0x37, 0x7d, 0xce, 0xe9, 0x8f, 0xf3, 0x3b, 0xbf, 0x73,
0xfa, 0x6c, 0x2f, 0xac, 0x04, 0xb1, 0x60, 0x59, 0x4c, 0xc3, 0x3b, 0x69, 0x96, 0x88, 0x84, 0x5c,
0x8d, 0x82, 0xf0, 0x24, 0xe7, 0x6a, 0x74, 0xa7, 0x50, 0x5e, 0xef, 0x8d, 0x93, 0x28, 0x4a, 0x62,
0x25, 0xbe, 0xde, 0xe3, 0xe3, 0x63, 0x16, 0x51, 0x35, 0x72, 0xfe, 0x6c, 0xc0, 0xf2, 0x6e, 0x12,
0xa5, 0x49, 0xcc, 0x62, 0x31, 0x8c, 0x8f, 0x12, 0x72, 0x0d, 0x96, 0xe2, 0xc4, 0x67, 0xc3, 0x81,
0x6d, 0x6c, 0x1a, 0x5b, 0xa6, 0xab, 0x47, 0x84, 0x40, 0x33, 0x4b, 0x42, 0x66, 0x37, 0x36, 0x8d,
0xad, 0xae, 0x8b, 0xdf, 0xe4, 0x1e, 0x00, 0x17, 0x54, 0x30, 0x6f, 0x9c, 0xf8, 0xcc, 0x36, 0x37,
0x8d, 0xad, 0x95, 0x9d, 0xcd, 0x3b, 0x0b, 0x4f, 0x71, 0xe7, 0x50, 0x1a, 0xee, 0x26, 0x3e, 0x73,
0xbb, 0xbc, 0xf8, 0x24, 0xef, 0x01, 0xb0, 0x67, 0x22, 0xa3, 0x5e, 0x10, 0x1f, 0x25, 0x76, 0x73,
0xd3, 0xdc, 0xb2, 0x76, 0x5e, 0x9f, 0x5d, 0x40, 0x1f, 0xfe, 0x11, 0x9b, 0x7e, 0x44, 0xc3, 0x9c,
0x1d, 0xd0, 0x20, 0x73, 0xbb, 0x38, 0x49, 0x1e, 0xd7, 0xf9, 0x87, 0x01, 0x57, 0x4a, 0x07, 0x70,
0x0f, 0x4e, 0xbe, 0x05, 0x2d, 0xdc, 0x02, 0x3d, 0xb0, 0x76, 0xde, 0x3c, 0xe3, 0x44, 0x33, 0x7e,
0xbb, 0x6a, 0x0a, 0xf9, 0x10, 0xd6, 0x78, 0x3e, 0x1a, 0x17, 0x2a, 0x0f, 0xa5, 0xdc, 0x6e, 0xe0,
0xd1, 0x2e, 0xb6, 0x12, 0xa9, 0x2f, 0xa0, 0x8f, 0xf4, 0x36, 0x2c, 0xc9, 0x95, 0x72, 0x8e, 0x28,
0x59, 0x3b, 0x37, 0x16, 0x3a, 0x79, 0x88, 0x26, 0xae, 0x36, 0x75, 0x6e, 0xc0, 0xc6, 0x43, 0x26,
0xe6, 0xbc, 0x73, 0xd9, 0xc7, 0x39, 0xe3, 0x42, 0x2b, 0x1f, 0x07, 0x11, 0x7b, 0x1c, 0x8c, 0x9f,
0xec, 0x1e, 0xd3, 0x38, 0x66, 0x61, 0xa1, 0x7c, 0x15, 0x6e, 0x3c, 0x64, 0x38, 0x21, 0xe0, 0x22,
0x18, 0xf3, 0x39, 0xf5, 0x55, 0x58, 0x7b, 0xc8, 0xc4, 0xc0, 0x9f, 0x13, 0x7f, 0x04, 0x9d, 0x7d,
0x19, 0x6c, 0x49, 0x83, 0x6f, 0x42, 0x9b, 0xfa, 0x7e, 0xc6, 0x38, 0xd7, 0x28, 0xde, 0x5c, 0x78,
0xe2, 0xfb, 0xca, 0xc6, 0x2d, 0x8c, 0x17, 0xd1, 0xc4, 0xf9, 0x31, 0xc0, 0x30, 0x0e, 0xc4, 0x01,
0xcd, 0x68, 0xc4, 0xcf, 0x24, 0xd8, 0x00, 0x7a, 0x5c, 0xd0, 0x4c, 0x78, 0x29, 0xda, 0x69, 0xc8,
0x2f, 0xc0, 0x06, 0x0b, 0xa7, 0xa9, 0xd5, 0x9d, 0x1f, 0x02, 0x1c, 0x8a, 0x2c, 0x88, 0x27, 0x1f,
0x04, 0x5c, 0xc8, 0xbd, 0x4e, 0xa4, 0x9d, 0x74, 0xc2, 0xdc, 0xea, 0xba, 0x7a, 0x54, 0x0b, 0x47,
0xe3, 0xe2, 0xe1, 0xb8, 0x07, 0x56, 0x01, 0xf7, 0x1e, 0x9f, 0x90, 0xbb, 0xd0, 0x1c, 0x51, 0xce,
0xce, 0x85, 0x67, 0x8f, 0x4f, 0x1e, 0x50, 0xce, 0x5c, 0xb4, 0x74, 0x7e, 0x6e, 0xc2, 0x2b, 0xbb,
0x19, 0x43, 0xf2, 0x87, 0x21, 0x1b, 0x8b, 0x20, 0x89, 0x35, 0xf6, 0x2f, 0xbe, 0x1a, 0x79, 0x05,
0xda, 0xfe, 0xc8, 0x8b, 0x69, 0x54, 0x80, 0xbd, 0xe4, 0x8f, 0xf6, 0x69, 0xc4, 0xc8, 0x97, 0x60,
0x65, 0x5c, 0xae, 0x2f, 0x25, 0xc8, 0xb9, 0xae, 0x3b, 0x27, 0x25, 0x6f, 0xc2, 0x72, 0x4a, 0x33,
0x11, 0x94, 0x66, 0x4d, 0x34, 0x9b, 0x15, 0xca, 0x80, 0xfa, 0xa3, 0xe1, 0xc0, 0x6e, 0x61, 0xb0,
0xf0, 0x9b, 0x38, 0xd0, 0xab, 0xd6, 0x1a, 0x0e, 0xec, 0x25, 0xd4, 0xcd, 0xc8, 0xc8, 0x26, 0x58,
0xe5, 0x42, 0xc3, 0x81, 0xdd, 0x46, 0x93, 0xba, 0x48, 0x06, 0x47, 0xd5, 0x22, 0xbb, 0xb3, 0x69,
0x6c, 0xf5, 0x5c, 0x3d, 0x22, 0x77, 0x61, 0xed, 0x24, 0xc8, 0x44, 0x4e, 0x43, 0xcd, 0x4f, 0x79,
0x0e, 0x6e, 0x77, 0x31, 0x82, 0x8b, 0x54, 0x64, 0x07, 0xd6, 0xd3, 0xe3, 0x29, 0x0f, 0xc6, 0x73,
0x53, 0x00, 0xa7, 0x2c, 0xd4, 0x39, 0x7f, 0x33, 0xe0, 0xea, 0x20, 0x4b, 0xd2, 0x97, 0x22, 0x14,
0x05, 0xc8, 0xcd, 0x73, 0x40, 0x6e, 0x9d, 0x06, 0xd9, 0xf9, 0x65, 0x03, 0xae, 0x29, 0x46, 0x1d,
0x14, 0xc0, 0x7e, 0x06, 0x5e, 0x7c, 0x19, 0xae, 0x54, 0xbb, 0x2a, 0x83, 0xc5, 0x6e, 0xfc, 0x3f,
0xac, 0x94, 0x01, 0x56, 0x76, 0xff, 0x5d, 0x4a, 0x39, 0xbf, 0x68, 0xc0, 0xba, 0x0c, 0xea, 0x17,
0x68, 0x48, 0x34, 0x7e, 0x6f, 0x00, 0x51, 0xec, 0xb8, 0x1f, 0x06, 0x94, 0x7f, 0x9e, 0x58, 0xac,
0x43, 0x8b, 0xca, 0x33, 0x68, 0x08, 0xd4, 0xc0, 0xe1, 0xd0, 0x97, 0xd1, 0xfa, 0xac, 0x4e, 0x57,
0x6e, 0x6a, 0xd6, 0x37, 0xfd, 0x9d, 0x01, 0xab, 0xf7, 0x43, 0xc1, 0xb2, 0x97, 0x14, 0x94, 0xbf,
0x34, 0x8a, 0xa8, 0x0d, 0x63, 0x9f, 0x3d, 0xfb, 0x3c, 0x0f, 0xf8, 0x2a, 0xc0, 0x51, 0xc0, 0x42,
0xbf, 0xce, 0xde, 0x2e, 0x4a, 0x3e, 0x15, 0x73, 0x6d, 0x68, 0xe3, 0x22, 0x25, 0x6b, 0x8b, 0xa1,
0xec, 0x01, 0x54, 0x3f, 0xa8, 0x7b, 0x80, 0xce, 0x85, 0x7b, 0x00, 0x9c, 0xa6, 0x7b, 0x80, 0x3f,
0x98, 0xb0, 0x3c, 0x8c, 0x39, 0xcb, 0xc4, 0xe5, 0xc1, 0xbb, 0x09, 0x5d, 0x7e, 0x4c, 0x33, 0x74,
0x54, 0xc3, 0x57, 0x09, 0xea, 0xd0, 0x9a, 0xcf, 0x83, 0xb6, 0x79, 0xc1, 0xe2, 0xd0, 0x3a, 0xaf,
0x38, 0x2c, 0x9d, 0x03, 0x71, 0xfb, 0xf9, 0xc5, 0xa1, 0x73, 0xfa, 0xf6, 0x95, 0x0e, 0xb2, 0x49,
0x24, 0x9b, 0xd6, 0x81, 0xdd, 0x45, 0x7d, 0x25, 0x20, 0xaf, 0x01, 0x88, 0x20, 0x62, 0x5c, 0xd0,
0x28, 0x55, 0xf7, 0x68, 0xd3, 0xad, 0x49, 0xe4, 0xdd, 0x9d, 0x25, 0x4f, 0x87, 0x03, 0x6e, 0x5b,
0x9b, 0xa6, 0x6c, 0xe2, 0xd4, 0x88, 0x7c, 0x1d, 0x3a, 0x59, 0xf2, 0xd4, 0xf3, 0xa9, 0xa0, 0x76,
0x0f, 0x83, 0xb7, 0xb1, 0x10, 0xec, 0x07, 0x61, 0x32, 0x72, 0xdb, 0x59, 0xf2, 0x74, 0x40, 0x05,
0x75, 0xfe, 0x65, 0xc2, 0xf2, 0x21, 0xa3, 0xd9, 0xf8, 0xf8, 0xf2, 0x01, 0xfb, 0x0a, 0xf4, 0x33,
0xc6, 0xf3, 0x50, 0x78, 0x63, 0x75, 0xcd, 0x0f, 0x07, 0x3a, 0x6e, 0x57, 0x94, 0x7c, 0xb7, 0x10,
0x97, 0xa0, 0x9a, 0xe7, 0x80, 0xda, 0x5c, 0x00, 0xaa, 0x03, 0xbd, 0x1a, 0x82, 0xdc, 0x6e, 0xa1,
0xeb, 0x33, 0x32, 0xd2, 0x07, 0xd3, 0xe7, 0x21, 0xc6, 0xab, 0xeb, 0xca, 0x4f, 0x72, 0x1b, 0x56,
0xd3, 0x90, 0x8e, 0xd9, 0x71, 0x12, 0xfa, 0x2c, 0xf3, 0x26, 0x59, 0x92, 0xa7, 0x18, 0xb3, 0x9e,
0xdb, 0xaf, 0x29, 0x1e, 0x4a, 0x39, 0x79, 0x07, 0x3a, 0x3e, 0x0f, 0x3d, 0x31, 0x4d, 0x19, 0x06,
0x6d, 0xe5, 0x0c, 0xdf, 0x07, 0x3c, 0x7c, 0x3c, 0x4d, 0x99, 0xdb, 0xf6, 0xd5, 0x07, 0xb9, 0x0b,
0xeb, 0x9c, 0x65, 0x01, 0x0d, 0x83, 0x4f, 0x98, 0xef, 0xb1, 0x67, 0x69, 0xe6, 0xa5, 0x21, 0x8d,
0x31, 0xb2, 0x3d, 0x97, 0x54, 0xba, 0xf7, 0x9f, 0xa5, 0xd9, 0x41, 0x48, 0x63, 0xb2, 0x05, 0xfd,
0x24, 0x17, 0x69, 0x2e, 0x3c, 0xcc, 0x3e, 0xee, 0x05, 0x3e, 0x06, 0xda, 0x74, 0x57, 0x94, 0xfc,
0xbb, 0x28, 0x1e, 0xfa, 0x12, 0x5a, 0x91, 0xd1, 0x13, 0x16, 0x7a, 0x25, 0x03, 0x6c, 0x6b, 0xd3,
0xd8, 0x6a, 0xba, 0x57, 0x94, 0xfc, 0x71, 0x21, 0x26, 0xdb, 0xb0, 0x36, 0xc9, 0x69, 0x46, 0x63,
0xc1, 0x58, 0xcd, 0xba, 0x87, 0xd6, 0xa4, 0x54, 0x95, 0x13, 0x9c, 0x5f, 0x37, 0xab, 0xd0, 0xcb,
0x28, 0xf1, 0x4b, 0x84, 0xfe, 0x32, 0xdd, 0xfc, 0x42, 0xbe, 0x98, 0x8b, 0xf9, 0x72, 0x0b, 0xac,
0x88, 0x89, 0x2c, 0x18, 0xab, 0xb8, 0xa8, 0x84, 0x06, 0x25, 0x42, 0xf0, 0x6f, 0x81, 0x15, 0xe7,
0x91, 0xf7, 0x71, 0xce, 0xb2, 0x80, 0x71, 0x5d, 0x0f, 0x21, 0xce, 0xa3, 0x1f, 0x28, 0x09, 0x59,
0x83, 0x96, 0x48, 0x52, 0xef, 0x49, 0x91, 0xc7, 0x22, 0x49, 0x1f, 0x91, 0x6f, 0xc3, 0x75, 0xce,
0x68, 0xc8, 0x7c, 0xaf, 0xcc, 0x3b, 0xee, 0x71, 0xc4, 0x82, 0xf9, 0x76, 0x1b, 0x43, 0x61, 0x2b,
0x8b, 0xc3, 0xd2, 0xe0, 0x50, 0xeb, 0x25, 0xd2, 0xe5, 0xc1, 0x6b, 0xd3, 0x3a, 0xd8, 0xf2, 0x92,
0x4a, 0x55, 0x4e, 0x78, 0x17, 0xec, 0x49, 0x98, 0x8c, 0x68, 0xe8, 0x9d, 0xda, 0x15, 0x7b, 0x6b,
0xd3, 0xbd, 0xa6, 0xf4, 0x87, 0x73, 0x5b, 0x4a, 0xf7, 0x78, 0x18, 0x8c, 0x99, 0xef, 0x8d, 0xc2,
0x64, 0x64, 0x03, 0x52, 0x0a, 0x94, 0x48, 0x26, 0xb2, 0xa4, 0x92, 0x36, 0x90, 0x30, 0x8c, 0x93,
0x3c, 0x16, 0x48, 0x10, 0xd3, 0x5d, 0x51, 0xf2, 0xfd, 0x3c, 0xda, 0x95, 0x52, 0xf2, 0x06, 0x2c,
0x6b, 0xcb, 0xe4, 0xe8, 0x88, 0x33, 0x81, 0xcc, 0x30, 0xdd, 0x9e, 0x12, 0x7e, 0x1f, 0x65, 0xce,
0x4f, 0x4d, 0xb8, 0xe2, 0x4a, 0x74, 0xd9, 0x09, 0xfb, 0x9f, 0x2f, 0x08, 0x67, 0x25, 0xe6, 0xd2,
0x0b, 0x25, 0x66, 0xfb, 0xc2, 0x89, 0xd9, 0x79, 0xa1, 0xc4, 0xec, 0x9e, 0x99, 0x98, 0x7f, 0x9a,
0x09, 0xc2, 0xcb, 0x9a, 0x9a, 0x6f, 0x81, 0x19, 0xf8, 0xaa, 0x81, 0xb2, 0x76, 0xec, 0xd9, 0xc5,
0xf5, 0x43, 0xd7, 0x70, 0xc0, 0x5d, 0x69, 0x44, 0xee, 0x81, 0xa5, 0x01, 0xc5, 0xeb, 0xa9, 0x85,
0xd7, 0xd3, 0x6b, 0x0b, 0xe7, 0x20, 0xc2, 0xf2, 0x6a, 0x72, 0x55, 0x03, 0xc4, 0xe5, 0x37, 0xf9,
0x0e, 0xdc, 0x38, 0x9d, 0xb0, 0x99, 0xc6, 0xc8, 0xb7, 0x97, 0x30, 0x46, 0x1b, 0xf3, 0x19, 0x5b,
0x80, 0xe8, 0x93, 0xaf, 0xc1, 0x7a, 0x2d, 0x65, 0xab, 0x89, 0x6d, 0xf5, 0xcb, 0xb6, 0xd2, 0x55,
0x53, 0xce, 0x4b, 0xda, 0xce, 0x79, 0x49, 0xeb, 0xfc, 0xb3, 0x01, 0xcb, 0x03, 0x16, 0x32, 0xc1,
0xbe, 0x68, 0x82, 0xce, 0x6c, 0x82, 0x5e, 0x87, 0x5e, 0x9a, 0x05, 0x11, 0xcd, 0xa6, 0xde, 0x13,
0x36, 0x2d, 0xea, 0xa0, 0xa5, 0x65, 0x8f, 0xd8, 0x94, 0x3f, 0xaf, 0x13, 0x72, 0xfe, 0x6d, 0x40,
0xf7, 0x83, 0x84, 0xfa, 0xd8, 0xac, 0x5f, 0x12, 0xe3, 0xb2, 0x0f, 0x6b, 0xcc, 0xf7, 0x61, 0x37,
0xa1, 0xea, 0xb7, 0x35, 0xca, 0xb5, 0x06, 0xbc, 0xd6, 0x48, 0x37, 0x67, 0x1b, 0xe9, 0x5b, 0x60,
0x05, 0xf2, 0x40, 0x5e, 0x4a, 0xc5, 0xb1, 0x2a, 0x4c, 0x5d, 0x17, 0x50, 0x74, 0x20, 0x25, 0xb2,
0xd3, 0x2e, 0x0c, 0xb0, 0xd3, 0x5e, 0xba, 0x70, 0xa7, 0xad, 0x17, 0xc1, 0x4e, 0xfb, 0xaf, 0x0d,
0xb0, 0x35, 0xe7, 0xaa, 0xc7, 0xc6, 0x0f, 0x53, 0x1f, 0xdf, 0x3c, 0x6f, 0x42, 0xb7, 0xe4, 0xa3,
0x7e, 0xeb, 0xab, 0x04, 0x12, 0xd7, 0x3d, 0x16, 0x25, 0xd9, 0xf4, 0x30, 0xf8, 0x84, 0x69, 0xc7,
0x6b, 0x12, 0xe9, 0xdb, 0x7e, 0x1e, 0xb9, 0xc9, 0x53, 0xae, 0xcb, 0x72, 0x31, 0x94, 0xbe, 0x8d,
0xf1, 0xf7, 0x11, 0xd6, 0x31, 0xf4, 0xbc, 0xe9, 0x82, 0x12, 0xc9, 0xfa, 0x45, 0x36, 0xa0, 0xc3,
0x62, 0x5f, 0x69, 0x5b, 0xa8, 0x6d, 0xb3, 0xd8, 0x47, 0xd5, 0x10, 0x56, 0xf4, 0x23, 0x63, 0xc2,
0x91, 0x04, 0x48, 0x2a, 0x6b, 0xc7, 0x39, 0xe3, 0x65, 0x77, 0x8f, 0x4f, 0x0e, 0xb4, 0xa5, 0xbb,
0xac, 0xde, 0x19, 0xf5, 0x90, 0xbc, 0x0f, 0x3d, 0xb9, 0x4b, 0xb9, 0x50, 0xfb, 0xc2, 0x0b, 0x59,
0x2c, 0xf6, 0x8b, 0x81, 0xf3, 0x1b, 0x03, 0x56, 0x4f, 0x41, 0x78, 0x09, 0x1e, 0x3d, 0x82, 0xce,
0x21, 0x9b, 0xc8, 0x25, 0x8a, 0xa7, 0xd3, 0xed, 0xb3, 0x5e, 0xe2, 0xcf, 0x08, 0x98, 0x5b, 0x2e,
0xe0, 0xfc, 0xcc, 0x00, 0x40, 0x42, 0xe3, 0xf0, 0x14, 0x59, 0x8c, 0xcb, 0x90, 0x45, 0xde, 0x84,
0xb2, 0x3d, 0xc8, 0x58, 0x48, 0x45, 0x55, 0xc9, 0xb8, 0x8e, 0x3d, 0x89, 0xf3, 0xc8, 0x55, 0x2a,
0x7d, 0x40, 0xee, 0xfc, 0xca, 0x00, 0xc0, 0x52, 0xac, 0x8e, 0x31, 0x9f, 0xf3, 0xc6, 0xf9, 0xbf,
0x2d, 0x1b, 0xb3, 0x29, 0xf1, 0xa0, 0x48, 0x09, 0x8e, 0x18, 0x99, 0x8b, 0x7c, 0x28, 0x31, 0xaa,
0x9c, 0xd7, 0x59, 0xa3, 0x70, 0xf9, 0xad, 0x01, 0xbd, 0x1a, 0x7c, 0x7c, 0x36, 0x7b, 0x8d, 0xf9,
0xec, 0xc5, 0xc6, 0x51, 0x32, 0xda, 0xe3, 0x35, 0x92, 0x47, 0x15, 0xc9, 0x37, 0xa0, 0x83, 0x90,
0xd4, 0x58, 0x1e, 0x6b, 0x96, 0xdf, 0x86, 0xd5, 0x8c, 0x8d, 0x59, 0x2c, 0xc2, 0xa9, 0x17, 0x25,
0x7e, 0x70, 0x14, 0x30, 0x1f, 0xb9, 0xde, 0x71, 0xfb, 0x85, 0x62, 0x4f, 0xcb, 0x9d, 0xbf, 0x1b,
0xb0, 0x22, 0x7b, 0xcd, 0xe9, 0x7e, 0xe2, 0x33, 0x75, 0xb2, 0x17, 0x67, 0xd0, 0x7b, 0xe8, 0x8b,
0x86, 0x47, 0x51, 0xe8, 0x8d, 0xe7, 0x53, 0x88, 0xbb, 0x1d, 0xae, 0x69, 0x23, 0x21, 0x56, 0xef,
0x05, 0x17, 0x81, 0xb8, 0x0a, 0xac, 0xbe, 0x64, 0x15, 0xc4, 0x3f, 0x31, 0xc0, 0xaa, 0x25, 0x8b,
0x2c, 0xd1, 0xfa, 0x62, 0x54, 0x37, 0x84, 0x81, 0x45, 0xd0, 0x1a, 0x57, 0x6f, 0xb9, 0x64, 0x1d,
0x5a, 0x11, 0x9f, 0xe8, 0x88, 0xf7, 0x5c, 0x35, 0x20, 0xd7, 0xa1, 0x13, 0xf1, 0x09, 0xfe, 0xac,
0xd2, 0x95, 0xb3, 0x1c, 0xcb, 0xb0, 0x55, 0x3d, 0x90, 0x2a, 0x20, 0x95, 0xc0, 0xf9, 0xa3, 0x01,
0x44, 0xb7, 0x18, 0x9f, 0xea, 0xc1, 0x1f, 0x09, 0x5b, 0x7f, 0x8f, 0x6e, 0x60, 0x19, 0x9e, 0x91,
0xcd, 0xdd, 0x2f, 0xe6, 0xa9, 0x5f, 0xda, 0xb7, 0x61, 0xd5, 0x67, 0x47, 0x54, 0x76, 0x43, 0xf3,
0x47, 0xee, 0x6b, 0x45, 0xd9, 0xb4, 0xbd, 0xf5, 0x2e, 0x74, 0xcb, 0xff, 0xd9, 0x48, 0x1f, 0x7a,
0xc3, 0x38, 0x10, 0xd8, 0x5e, 0x06, 0xf1, 0xa4, 0xff, 0x7f, 0xc4, 0x82, 0xf6, 0xf7, 0x18, 0x0d,
0xc5, 0xf1, 0xb4, 0x6f, 0x90, 0x1e, 0x74, 0xee, 0x8f, 0xe2, 0x24, 0x8b, 0x68, 0xd8, 0x6f, 0x3c,
0x78, 0xe7, 0x47, 0xdf, 0x98, 0x04, 0xe2, 0x38, 0x1f, 0x49, 0x4f, 0xb6, 0x95, 0x6b, 0x5f, 0x0d,
0x12, 0xfd, 0xb5, 0x5d, 0x44, 0x6d, 0x1b, 0xbd, 0x2d, 0x87, 0xe9, 0x68, 0xb4, 0x84, 0x92, 0xb7,
0xff, 0x13, 0x00, 0x00, 0xff, 0xff, 0x62, 0xb9, 0xd2, 0xdf, 0x8d, 0x1c, 0x00, 0x00,
}

View File

@ -51,6 +51,7 @@ service MilvusService {
// https://wiki.lfaidata.foundation/display/MIL/MEP+8+--+Add+metrics+for+proxy
rpc GetMetrics(GetMetricsRequest) returns (GetMetricsResponse) {}
rpc LoadBalance(LoadBalanceRequest) returns (common.Status) {}
}
message CreateAliasRequest {
@ -705,6 +706,16 @@ message GetMetricsResponse {
string component_name = 3; // metrics from which component
}
/*
* Do load balancing operation from src_nodeID to dst_nodeID.
*/
message LoadBalanceRequest {
common.MsgBase base = 1;
int64 src_nodeID = 2;
repeated int64 dst_nodeIDs = 3;
repeated int64 sealed_segmentIDs = 4;
}
service ProxyService {
rpc RegisterLink(RegisterLinkRequest) returns (RegisterLinkResponse) {}
}

View File

@ -4391,6 +4391,71 @@ func (m *GetMetricsResponse) GetComponentName() string {
return ""
}
//
// Do load balancing operation from src_nodeID to dst_nodeID.
type LoadBalanceRequest struct {
Base *commonpb.MsgBase `protobuf:"bytes,1,opt,name=base,proto3" json:"base,omitempty"`
SrcNodeID int64 `protobuf:"varint,2,opt,name=src_nodeID,json=srcNodeID,proto3" json:"src_nodeID,omitempty"`
DstNodeIDs []int64 `protobuf:"varint,3,rep,packed,name=dst_nodeIDs,json=dstNodeIDs,proto3" json:"dst_nodeIDs,omitempty"`
SealedSegmentIDs []int64 `protobuf:"varint,4,rep,packed,name=sealed_segmentIDs,json=sealedSegmentIDs,proto3" json:"sealed_segmentIDs,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *LoadBalanceRequest) Reset() { *m = LoadBalanceRequest{} }
func (m *LoadBalanceRequest) String() string { return proto.CompactTextString(m) }
func (*LoadBalanceRequest) ProtoMessage() {}
func (*LoadBalanceRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_02345ba45cc0e303, []int{66}
}
func (m *LoadBalanceRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_LoadBalanceRequest.Unmarshal(m, b)
}
func (m *LoadBalanceRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_LoadBalanceRequest.Marshal(b, m, deterministic)
}
func (m *LoadBalanceRequest) XXX_Merge(src proto.Message) {
xxx_messageInfo_LoadBalanceRequest.Merge(m, src)
}
func (m *LoadBalanceRequest) XXX_Size() int {
return xxx_messageInfo_LoadBalanceRequest.Size(m)
}
func (m *LoadBalanceRequest) XXX_DiscardUnknown() {
xxx_messageInfo_LoadBalanceRequest.DiscardUnknown(m)
}
var xxx_messageInfo_LoadBalanceRequest proto.InternalMessageInfo
func (m *LoadBalanceRequest) GetBase() *commonpb.MsgBase {
if m != nil {
return m.Base
}
return nil
}
func (m *LoadBalanceRequest) GetSrcNodeID() int64 {
if m != nil {
return m.SrcNodeID
}
return 0
}
func (m *LoadBalanceRequest) GetDstNodeIDs() []int64 {
if m != nil {
return m.DstNodeIDs
}
return nil
}
func (m *LoadBalanceRequest) GetSealedSegmentIDs() []int64 {
if m != nil {
return m.SealedSegmentIDs
}
return nil
}
func init() {
proto.RegisterEnum("milvus.proto.milvus.ShowType", ShowType_name, ShowType_value)
proto.RegisterEnum("milvus.proto.milvus.PlaceholderType", PlaceholderType_name, PlaceholderType_value)
@ -4461,211 +4526,216 @@ func init() {
proto.RegisterType((*RegisterLinkResponse)(nil), "milvus.proto.milvus.RegisterLinkResponse")
proto.RegisterType((*GetMetricsRequest)(nil), "milvus.proto.milvus.GetMetricsRequest")
proto.RegisterType((*GetMetricsResponse)(nil), "milvus.proto.milvus.GetMetricsResponse")
proto.RegisterType((*LoadBalanceRequest)(nil), "milvus.proto.milvus.LoadBalanceRequest")
}
func init() { proto.RegisterFile("milvus.proto", fileDescriptor_02345ba45cc0e303) }
var fileDescriptor_02345ba45cc0e303 = []byte{
// 3170 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xd4, 0x5b, 0xdd, 0x6f, 0x1b, 0xc7,
0xb5, 0xd7, 0x92, 0xe2, 0xd7, 0x21, 0x29, 0x51, 0xa3, 0x0f, 0x33, 0x8c, 0x1d, 0x4b, 0x9b, 0xeb,
0x58, 0xb6, 0x13, 0x3b, 0x96, 0x93, 0x9b, 0xdc, 0xe4, 0xde, 0x9b, 0xd8, 0x56, 0x63, 0x0b, 0xb1,
0x53, 0x65, 0x95, 0x04, 0x48, 0x83, 0x60, 0xb1, 0xe2, 0x8e, 0xa8, 0x85, 0x96, 0xbb, 0xec, 0xce,
0xd0, 0x32, 0xf3, 0x54, 0x20, 0x6d, 0x81, 0x22, 0x69, 0x82, 0xa2, 0x45, 0x8b, 0x3e, 0xb4, 0x0f,
0x6d, 0xf3, 0xd0, 0xb7, 0xa6, 0x2d, 0xda, 0xa2, 0x4f, 0x7d, 0xc8, 0x43, 0x1f, 0x0a, 0xf4, 0x03,
0xe8, 0x53, 0x5f, 0xfa, 0x0f, 0xe4, 0x3f, 0xe8, 0x43, 0x31, 0x1f, 0xbb, 0xdc, 0x25, 0x67, 0x29,
0xca, 0x8c, 0x2b, 0xe9, 0x8d, 0x7b, 0xe6, 0x9c, 0x99, 0x33, 0x67, 0x7e, 0x73, 0xe6, 0xcc, 0x99,
0x43, 0xa8, 0xb4, 0x1d, 0xf7, 0x5e, 0x97, 0x5c, 0xee, 0x04, 0x3e, 0xf5, 0xd1, 0x7c, 0xfc, 0xeb,
0xb2, 0xf8, 0x68, 0x54, 0x9a, 0x7e, 0xbb, 0xed, 0x7b, 0x82, 0xd8, 0xa8, 0x90, 0xe6, 0x2e, 0x6e,
0x5b, 0xe2, 0x4b, 0xff, 0xb1, 0x06, 0xe8, 0x66, 0x80, 0x2d, 0x8a, 0xaf, 0xbb, 0x8e, 0x45, 0x0c,
0xfc, 0xd5, 0x2e, 0x26, 0x14, 0x3d, 0x0d, 0xd3, 0xdb, 0x16, 0xc1, 0x75, 0x6d, 0x59, 0x5b, 0x2d,
0xaf, 0x9d, 0xbe, 0x9c, 0xe8, 0x56, 0x76, 0x77, 0x97, 0xb4, 0x6e, 0x58, 0x04, 0x1b, 0x9c, 0x13,
0x9d, 0x82, 0x82, 0xbd, 0x6d, 0x7a, 0x56, 0x1b, 0xd7, 0x33, 0xcb, 0xda, 0x6a, 0xc9, 0xc8, 0xdb,
0xdb, 0xaf, 0x59, 0x6d, 0x8c, 0xce, 0xc3, 0x6c, 0xd3, 0x77, 0x5d, 0xdc, 0xa4, 0x8e, 0xef, 0x09,
0x86, 0x2c, 0x67, 0x98, 0xe9, 0x93, 0x39, 0xe3, 0x02, 0xe4, 0x2c, 0xa6, 0x43, 0x7d, 0x9a, 0x37,
0x8b, 0x0f, 0x9d, 0x40, 0x6d, 0x3d, 0xf0, 0x3b, 0x0f, 0x4b, 0xbb, 0x68, 0xd0, 0x6c, 0x7c, 0xd0,
0x1f, 0x69, 0x30, 0x77, 0xdd, 0xa5, 0x38, 0x38, 0xa6, 0x46, 0xf9, 0x4c, 0x83, 0x53, 0x62, 0xd5,
0x6e, 0x46, 0xec, 0x47, 0xa9, 0xe5, 0x12, 0xe4, 0x05, 0xaa, 0xb8, 0x9a, 0x15, 0x43, 0x7e, 0xa1,
0x33, 0x00, 0x64, 0xd7, 0x0a, 0x6c, 0x62, 0x7a, 0xdd, 0x76, 0x3d, 0xb7, 0xac, 0xad, 0xe6, 0x8c,
0x92, 0xa0, 0xbc, 0xd6, 0x6d, 0xeb, 0x1f, 0x68, 0xb0, 0xc8, 0x16, 0xf7, 0x58, 0x4c, 0x42, 0xff,
0xb9, 0x06, 0x0b, 0xb7, 0x2d, 0x72, 0x3c, 0x2c, 0x7a, 0x06, 0x80, 0x3a, 0x6d, 0x6c, 0x12, 0x6a,
0xb5, 0x3b, 0xdc, 0xaa, 0xd3, 0x46, 0x89, 0x51, 0xb6, 0x18, 0x41, 0x7f, 0x1b, 0x2a, 0x37, 0x7c,
0xdf, 0x35, 0x30, 0xe9, 0xf8, 0x1e, 0xc1, 0xe8, 0x1a, 0xe4, 0x09, 0xb5, 0x68, 0x97, 0x48, 0x25,
0x1f, 0x55, 0x2a, 0xb9, 0xc5, 0x59, 0x0c, 0xc9, 0xca, 0xb0, 0x75, 0xcf, 0x72, 0xbb, 0x42, 0xc7,
0xa2, 0x21, 0x3e, 0xf4, 0x77, 0x60, 0x66, 0x8b, 0x06, 0x8e, 0xd7, 0xfa, 0x02, 0x3b, 0x2f, 0x85,
0x9d, 0xff, 0x4d, 0x83, 0x47, 0xd6, 0x31, 0x69, 0x06, 0xce, 0xf6, 0x31, 0x81, 0xae, 0x0e, 0x95,
0x3e, 0x65, 0x63, 0x9d, 0x9b, 0x3a, 0x6b, 0x24, 0x68, 0x03, 0x8b, 0x91, 0x1b, 0x5c, 0x8c, 0xf7,
0xa7, 0xa1, 0xa1, 0x9a, 0xd4, 0x24, 0xe6, 0xfb, 0xbf, 0x68, 0x47, 0x65, 0xb8, 0xd0, 0xb9, 0xa4,
0x90, 0xf4, 0xe1, 0xfd, 0xd1, 0xb6, 0x38, 0x21, 0xda, 0x78, 0x83, 0xb3, 0xca, 0x2a, 0x66, 0xb5,
0x06, 0x8b, 0xf7, 0x9c, 0x80, 0x76, 0x2d, 0xd7, 0x6c, 0xee, 0x5a, 0x9e, 0x87, 0x5d, 0x6e, 0x27,
0xe6, 0x6a, 0xb2, 0xab, 0x25, 0x63, 0x5e, 0x36, 0xde, 0x14, 0x6d, 0xcc, 0x58, 0x04, 0x3d, 0x03,
0x4b, 0x9d, 0xdd, 0x1e, 0x71, 0x9a, 0x43, 0x42, 0x39, 0x2e, 0xb4, 0x10, 0xb6, 0x26, 0xa4, 0x2e,
0xc1, 0x5c, 0x93, 0x7b, 0x2b, 0xdb, 0x64, 0x56, 0x13, 0x66, 0xcc, 0x73, 0x33, 0xd6, 0x64, 0xc3,
0x1b, 0x21, 0x9d, 0xa9, 0x15, 0x32, 0x77, 0x69, 0x33, 0x26, 0x50, 0xe0, 0x02, 0xf3, 0xb2, 0xf1,
0x4d, 0xda, 0xec, 0xcb, 0x24, 0xfd, 0x4c, 0x71, 0xc0, 0xcf, 0xa0, 0x3a, 0x14, 0xb8, 0xdf, 0xc4,
0xa4, 0x5e, 0xe2, 0x6a, 0x86, 0x9f, 0x68, 0x03, 0x66, 0x09, 0xb5, 0x02, 0x6a, 0x76, 0x7c, 0xe2,
0x30, 0xbb, 0x90, 0x3a, 0x2c, 0x67, 0x57, 0xcb, 0x6b, 0xcb, 0xca, 0x45, 0x7a, 0x15, 0xf7, 0xd6,
0x2d, 0x6a, 0x6d, 0x5a, 0x4e, 0x60, 0xcc, 0x70, 0xc1, 0xcd, 0x50, 0x8e, 0x3b, 0xb3, 0x3b, 0xbe,
0x65, 0x1f, 0x0f, 0x67, 0xf6, 0x91, 0x06, 0x75, 0x03, 0xbb, 0xd8, 0x22, 0xc7, 0x63, 0x9f, 0xe9,
0xdf, 0xd3, 0xe0, 0xb1, 0x5b, 0x98, 0xc6, 0x10, 0x4b, 0x2d, 0xea, 0x10, 0xea, 0x34, 0x8f, 0xf2,
0x7c, 0xd5, 0x3f, 0xd6, 0xe0, 0x6c, 0xaa, 0x5a, 0x93, 0x6c, 0xe0, 0xe7, 0x20, 0xc7, 0x7e, 0x91,
0x7a, 0x86, 0xe3, 0x69, 0x25, 0x0d, 0x4f, 0x6f, 0x31, 0xbf, 0xc8, 0x01, 0x25, 0xf8, 0xf5, 0x7f,
0x6a, 0xb0, 0xb4, 0xb5, 0xeb, 0xef, 0xf7, 0x55, 0x7a, 0x18, 0x06, 0x4a, 0xba, 0xb4, 0xec, 0x80,
0x4b, 0x43, 0x57, 0x61, 0x9a, 0xf6, 0x3a, 0x98, 0x7b, 0xc3, 0x99, 0xb5, 0x33, 0x97, 0x15, 0x61,
0xe5, 0x65, 0xa6, 0xe4, 0x1b, 0xbd, 0x0e, 0x36, 0x38, 0x2b, 0xba, 0x00, 0xb5, 0x01, 0x93, 0x87,
0x4e, 0x61, 0x36, 0x69, 0x73, 0xa2, 0xff, 0x2e, 0x03, 0xa7, 0x86, 0xa6, 0x38, 0x89, 0xb1, 0x55,
0x63, 0x67, 0x94, 0x63, 0xa3, 0x73, 0x10, 0x83, 0x80, 0xe9, 0xd8, 0x2c, 0xf2, 0xcb, 0xae, 0x66,
0x8d, 0x6a, 0xcc, 0x37, 0xda, 0x04, 0x3d, 0x05, 0x68, 0xc8, 0x65, 0x09, 0xcf, 0x38, 0x6d, 0xcc,
0x0d, 0xfa, 0x2c, 0xee, 0x17, 0x95, 0x4e, 0x4b, 0x98, 0x60, 0xda, 0x58, 0x50, 0x78, 0x2d, 0x82,
0xae, 0xc2, 0x82, 0xe3, 0xdd, 0xc5, 0x6d, 0x3f, 0xe8, 0x99, 0x1d, 0x1c, 0x34, 0xb1, 0x47, 0xad,
0x16, 0x26, 0xf5, 0x3c, 0xd7, 0x68, 0x3e, 0x6c, 0xdb, 0xec, 0x37, 0xe9, 0xbf, 0xd2, 0x60, 0x49,
0x44, 0x7e, 0x9b, 0x56, 0x40, 0x9d, 0xa3, 0x3e, 0x3d, 0xcf, 0xc1, 0x4c, 0x27, 0xd4, 0x43, 0xf0,
0x89, 0x38, 0xb5, 0x1a, 0x51, 0xf9, 0x2e, 0xfb, 0x54, 0x83, 0x05, 0x16, 0xe8, 0x9d, 0x24, 0x9d,
0x7f, 0xa1, 0xc1, 0xfc, 0x6d, 0x8b, 0x9c, 0x24, 0x95, 0x7f, 0x2d, 0x8f, 0xa0, 0x48, 0xe7, 0x23,
0xbd, 0xba, 0x9c, 0x87, 0xd9, 0xa4, 0xd2, 0x61, 0x64, 0x31, 0x93, 0xd0, 0x9a, 0xe8, 0xbf, 0xed,
0x9f, 0x55, 0x27, 0x4c, 0xf3, 0xdf, 0x6b, 0x70, 0xe6, 0x16, 0xa6, 0x91, 0xd6, 0xc7, 0xe2, 0x4c,
0x1b, 0x17, 0x2d, 0x1f, 0x89, 0x13, 0x59, 0xa9, 0xfc, 0x91, 0x9c, 0x7c, 0x1f, 0x64, 0x60, 0x91,
0x1d, 0x0b, 0xc7, 0x03, 0x04, 0xe3, 0x5c, 0x0c, 0x14, 0x40, 0xc9, 0xa9, 0x80, 0x12, 0x9d, 0xa7,
0xf9, 0xb1, 0xcf, 0x53, 0xfd, 0x97, 0x19, 0x11, 0x07, 0xc4, 0xad, 0x31, 0xc9, 0xb2, 0x28, 0x74,
0xcd, 0x28, 0x75, 0xd5, 0xa1, 0x12, 0x51, 0x36, 0xd6, 0xc3, 0xf3, 0x31, 0x41, 0x3b, 0xb6, 0xc7,
0xe3, 0x87, 0x1a, 0x2c, 0x85, 0x57, 0xb1, 0x2d, 0xdc, 0x6a, 0x63, 0x8f, 0x3e, 0x38, 0x86, 0x06,
0x11, 0x90, 0x51, 0x20, 0xe0, 0x34, 0x94, 0x88, 0x18, 0x27, 0xba, 0x65, 0xf5, 0x09, 0xfa, 0x27,
0x1a, 0x9c, 0x1a, 0x52, 0x67, 0x92, 0x45, 0xac, 0x43, 0xc1, 0xf1, 0x6c, 0x7c, 0x3f, 0xd2, 0x26,
0xfc, 0x64, 0x2d, 0xdb, 0x5d, 0xc7, 0xb5, 0x23, 0x35, 0xc2, 0x4f, 0xb4, 0x02, 0x15, 0xec, 0x59,
0xdb, 0x2e, 0x36, 0x39, 0x2f, 0x07, 0x72, 0xd1, 0x28, 0x0b, 0xda, 0x06, 0x23, 0xe9, 0xdf, 0xd6,
0x60, 0x9e, 0x61, 0x4d, 0xea, 0x48, 0x1e, 0xae, 0xcd, 0x96, 0xa1, 0x1c, 0x03, 0x93, 0x54, 0x37,
0x4e, 0xd2, 0xf7, 0x60, 0x21, 0xa9, 0xce, 0x24, 0x36, 0x7b, 0x0c, 0x20, 0x5a, 0x11, 0x81, 0xf9,
0xac, 0x11, 0xa3, 0xe8, 0x9f, 0x47, 0x29, 0x50, 0x6e, 0x8c, 0x23, 0xce, 0xfa, 0xec, 0x38, 0xd8,
0xb5, 0xe3, 0x5e, 0xbb, 0xc4, 0x29, 0xbc, 0x79, 0x1d, 0x2a, 0xf8, 0x3e, 0x0d, 0x2c, 0xb3, 0x63,
0x05, 0x56, 0x5b, 0x6c, 0x9e, 0xb1, 0x1c, 0x6c, 0x99, 0x8b, 0x6d, 0x72, 0x29, 0xfd, 0x8f, 0x2c,
0x18, 0x93, 0xa0, 0x3c, 0xee, 0x33, 0x3e, 0x03, 0xc0, 0x41, 0x2b, 0x9a, 0x73, 0xa2, 0x99, 0x53,
0xf8, 0x11, 0xf6, 0x89, 0x06, 0x35, 0x3e, 0x05, 0x31, 0x9f, 0x0e, 0xeb, 0x76, 0x40, 0x46, 0x1b,
0x90, 0x19, 0xb1, 0x85, 0xfe, 0x07, 0xf2, 0xd2, 0xb0, 0xd9, 0x71, 0x0d, 0x2b, 0x05, 0x0e, 0x98,
0x86, 0xfe, 0x13, 0x0d, 0x16, 0x07, 0x4c, 0x3e, 0x09, 0xa2, 0xdf, 0x00, 0x24, 0x66, 0x68, 0xf7,
0xa7, 0x1d, 0x1e, 0xb7, 0xe7, 0x94, 0x67, 0xcb, 0xa0, 0x91, 0x8c, 0x39, 0x67, 0x80, 0x42, 0xf4,
0xbf, 0x68, 0x70, 0xfa, 0x16, 0xa6, 0x9c, 0xf5, 0x06, 0xf3, 0x1d, 0x9b, 0x81, 0xdf, 0x0a, 0x30,
0x21, 0x27, 0x17, 0x1f, 0xdf, 0x17, 0xf1, 0x99, 0x6a, 0x4a, 0x93, 0xd8, 0x7f, 0x05, 0x2a, 0x7c,
0x0c, 0x6c, 0x9b, 0x81, 0xbf, 0x4f, 0x24, 0x8e, 0xca, 0x92, 0x66, 0xf8, 0xfb, 0x1c, 0x10, 0xd4,
0xa7, 0x96, 0x2b, 0x18, 0xe4, 0xc1, 0xc0, 0x29, 0xac, 0x99, 0xef, 0xc1, 0x50, 0x31, 0xd6, 0x39,
0x3e, 0xb9, 0x36, 0xfe, 0x99, 0x06, 0x8b, 0x03, 0x53, 0x99, 0xc4, 0xb6, 0xcf, 0x8a, 0xe8, 0x51,
0x4c, 0x66, 0x66, 0xed, 0xac, 0x52, 0x26, 0x36, 0x98, 0xe0, 0x46, 0x67, 0xa1, 0xbc, 0x63, 0x39,
0xae, 0x19, 0x60, 0x8b, 0xf8, 0x9e, 0x9c, 0x28, 0x30, 0x92, 0xc1, 0x29, 0xfa, 0x67, 0x9a, 0x78,
0x48, 0x3a, 0xe1, 0x1e, 0xef, 0xa7, 0x19, 0xa8, 0x6e, 0x78, 0x04, 0x07, 0xf4, 0xf8, 0xdf, 0x30,
0xd0, 0x4b, 0x50, 0xe6, 0x13, 0x23, 0xa6, 0x6d, 0x51, 0x4b, 0x1e, 0x57, 0x8f, 0x29, 0x33, 0xd9,
0xaf, 0x30, 0xbe, 0x75, 0x8b, 0x5a, 0x86, 0xb0, 0x0e, 0x61, 0xbf, 0xd1, 0xa3, 0x50, 0xda, 0xb5,
0xc8, 0xae, 0xb9, 0x87, 0x7b, 0x22, 0xec, 0xab, 0x1a, 0x45, 0x46, 0x78, 0x15, 0xf7, 0x08, 0x7a,
0x04, 0x8a, 0x5e, 0xb7, 0x2d, 0x36, 0x58, 0x61, 0x59, 0x5b, 0xad, 0x1a, 0x05, 0xaf, 0xdb, 0xe6,
0xdb, 0xeb, 0x4f, 0x19, 0x98, 0xb9, 0xdb, 0x65, 0xf7, 0x19, 0x9e, 0x87, 0xef, 0xba, 0xf4, 0xc1,
0xc0, 0x78, 0x11, 0xb2, 0x22, 0x66, 0x60, 0x12, 0x75, 0xa5, 0xe2, 0x1b, 0xeb, 0xc4, 0x60, 0x4c,
0x3c, 0x07, 0xdd, 0x6d, 0x36, 0x65, 0x90, 0x95, 0xe5, 0xca, 0x96, 0x18, 0x85, 0x23, 0x8e, 0x4d,
0x05, 0x07, 0x41, 0x14, 0x82, 0xf1, 0xa9, 0xe0, 0x20, 0x10, 0x8d, 0x3a, 0x54, 0xac, 0xe6, 0x9e,
0xe7, 0xef, 0xbb, 0xd8, 0x6e, 0x61, 0x9b, 0x2f, 0x7b, 0xd1, 0x48, 0xd0, 0x04, 0x30, 0xd8, 0xc2,
0x9b, 0x4d, 0x8f, 0xf2, 0x8b, 0x44, 0x96, 0x01, 0x83, 0x51, 0x6e, 0x7a, 0x94, 0x35, 0xdb, 0xd8,
0xc5, 0x14, 0xf3, 0xe6, 0x82, 0x68, 0x16, 0x14, 0xd9, 0xdc, 0xed, 0x44, 0xd2, 0x45, 0xd1, 0x2c,
0x28, 0xac, 0xf9, 0x34, 0x94, 0xfa, 0x89, 0xf6, 0x52, 0x3f, 0x1b, 0xc8, 0x09, 0xfa, 0x3f, 0x34,
0xa8, 0xae, 0xf3, 0xae, 0x4e, 0x00, 0xe8, 0x10, 0x4c, 0xe3, 0xfb, 0x9d, 0x40, 0x6e, 0x1d, 0xfe,
0x7b, 0x24, 0x8e, 0xf4, 0x7b, 0x50, 0xdb, 0x74, 0xad, 0x26, 0xde, 0xf5, 0x5d, 0x1b, 0x07, 0xfc,
0x6c, 0x47, 0x35, 0xc8, 0x52, 0xab, 0x25, 0x83, 0x07, 0xf6, 0x13, 0x3d, 0x2f, 0x6f, 0x70, 0xc2,
0x2d, 0xfd, 0x97, 0xf2, 0x94, 0x8d, 0x75, 0x13, 0x4b, 0x8c, 0x2e, 0x41, 0x9e, 0x3f, 0x7e, 0x89,
0xb0, 0xa2, 0x62, 0xc8, 0x2f, 0xfd, 0xdd, 0xc4, 0xb8, 0xb7, 0x02, 0xbf, 0xdb, 0x41, 0x1b, 0x50,
0xe9, 0xf4, 0x69, 0x0c, 0xab, 0xe9, 0x67, 0xfa, 0xa0, 0xd2, 0x46, 0x42, 0x54, 0xff, 0x3c, 0x0b,
0xd5, 0x2d, 0x6c, 0x05, 0xcd, 0xdd, 0x93, 0x90, 0x4a, 0x61, 0x16, 0xb7, 0x89, 0x2b, 0x57, 0x8d,
0xfd, 0x44, 0x97, 0x60, 0x2e, 0x36, 0x21, 0xb3, 0xc5, 0x0c, 0xc4, 0x71, 0x5f, 0x31, 0x6a, 0x9d,
0x41, 0xc3, 0x3d, 0x07, 0x45, 0x9b, 0xb8, 0x26, 0x5f, 0xa2, 0x02, 0x5f, 0x22, 0xf5, 0xfc, 0xd6,
0x89, 0xcb, 0x97, 0xa6, 0x60, 0x8b, 0x1f, 0xe8, 0x71, 0xa8, 0xfa, 0x5d, 0xda, 0xe9, 0x52, 0x53,
0xf8, 0x9d, 0x7a, 0x91, 0xab, 0x57, 0x11, 0x44, 0xee, 0x96, 0x08, 0x7a, 0x05, 0xaa, 0x84, 0x9b,
0x32, 0x8c, 0xbc, 0x4b, 0xe3, 0x06, 0x88, 0x15, 0x21, 0x27, 0x42, 0x6f, 0x74, 0x01, 0x6a, 0x34,
0xb0, 0xee, 0x61, 0x37, 0xf6, 0xac, 0x05, 0x7c, 0xb7, 0xcd, 0x0a, 0x7a, 0xff, 0x49, 0xeb, 0x0a,
0xcc, 0xb7, 0xba, 0x56, 0x60, 0x79, 0x14, 0xe3, 0x18, 0x77, 0x99, 0x73, 0xa3, 0xa8, 0x29, 0x12,
0xd0, 0x5f, 0x85, 0xe9, 0xdb, 0x0e, 0xe5, 0x86, 0x64, 0x3e, 0x4b, 0xe3, 0xf7, 0x1c, 0xee, 0x99,
0x1e, 0x81, 0x62, 0xe0, 0xef, 0x0b, 0x1f, 0x9c, 0xe1, 0x10, 0x2c, 0x04, 0xfe, 0x3e, 0x77, 0xb0,
0xfc, 0xe1, 0xde, 0x0f, 0x24, 0x36, 0x33, 0x86, 0xfc, 0xd2, 0xbf, 0xa1, 0xf5, 0xc1, 0xc3, 0xdc,
0x27, 0x79, 0x30, 0xff, 0xf9, 0x12, 0x14, 0x02, 0x21, 0x3f, 0xf2, 0x19, 0x33, 0x3e, 0x12, 0x3f,
0x03, 0x42, 0x29, 0xfd, 0xeb, 0x1a, 0x54, 0x5e, 0x71, 0xbb, 0xe4, 0x61, 0x60, 0x58, 0xf5, 0x68,
0x90, 0x55, 0x3f, 0x58, 0x7c, 0x27, 0x03, 0x55, 0xa9, 0xc6, 0x24, 0xb1, 0x4d, 0xaa, 0x2a, 0x5b,
0x50, 0x66, 0x43, 0x9a, 0x04, 0xb7, 0xc2, 0x8c, 0x4b, 0x79, 0x6d, 0x4d, 0xb9, 0xeb, 0x13, 0x6a,
0xf0, 0x07, 0xe0, 0x2d, 0x2e, 0xf4, 0x25, 0x8f, 0x06, 0x3d, 0x03, 0x9a, 0x11, 0xa1, 0xf1, 0x2e,
0xcc, 0x0e, 0x34, 0x33, 0x6c, 0xec, 0xe1, 0x5e, 0xe8, 0xd6, 0xf6, 0x70, 0x0f, 0x3d, 0x13, 0x7f,
0xa6, 0x4f, 0x3b, 0x9c, 0xef, 0xf8, 0x5e, 0xeb, 0x7a, 0x10, 0x58, 0x3d, 0xf9, 0x8c, 0xff, 0x42,
0xe6, 0x79, 0x4d, 0xff, 0x43, 0x06, 0x2a, 0xaf, 0x77, 0x71, 0xd0, 0x3b, 0x4a, 0xf7, 0x12, 0x3a,
0xfb, 0xe9, 0x98, 0xb3, 0x1f, 0xda, 0xd1, 0x39, 0xc5, 0x8e, 0x56, 0xf8, 0xa5, 0xbc, 0xd2, 0x2f,
0xa9, 0xb6, 0x6c, 0xe1, 0x50, 0x5b, 0xb6, 0x98, 0xba, 0x65, 0x19, 0xba, 0xa5, 0x09, 0x27, 0xda,
0x64, 0x89, 0x28, 0x2b, 0x73, 0xd8, 0x28, 0x4b, 0xff, 0x54, 0x83, 0xd2, 0x5b, 0xb8, 0x49, 0xfd,
0x80, 0x79, 0x0b, 0x85, 0xed, 0xb5, 0x31, 0x02, 0xd9, 0xcc, 0x60, 0x20, 0x7b, 0x0d, 0x8a, 0x8e,
0x6d, 0x5a, 0x0c, 0x36, 0x7c, 0xf1, 0x46, 0x05, 0x50, 0x05, 0xc7, 0xe6, 0xf8, 0x1a, 0x3f, 0xf3,
0xfe, 0x03, 0x0d, 0x2a, 0x42, 0x67, 0x22, 0x24, 0x5f, 0x8c, 0x0d, 0xa7, 0xa9, 0xb0, 0x2c, 0x3f,
0xa2, 0x89, 0xde, 0x9e, 0xea, 0x0f, 0x7b, 0x1d, 0x80, 0xd9, 0x4e, 0x8a, 0x8b, 0xad, 0xb0, 0xac,
0xd4, 0x56, 0x88, 0x73, 0x3b, 0xde, 0x9e, 0x32, 0x4a, 0x4c, 0x8a, 0x77, 0x71, 0xa3, 0x00, 0x39,
0x2e, 0xad, 0xff, 0x4b, 0x83, 0xf9, 0x9b, 0x96, 0xdb, 0x5c, 0x77, 0x08, 0xb5, 0xbc, 0xe6, 0x04,
0x21, 0xd3, 0x0b, 0x50, 0xf0, 0x3b, 0xa6, 0x8b, 0x77, 0xa8, 0x54, 0x69, 0x65, 0xc4, 0x8c, 0x84,
0x19, 0x8c, 0xbc, 0xdf, 0xb9, 0x83, 0x77, 0x28, 0xfa, 0x5f, 0x28, 0xfa, 0x1d, 0x33, 0x70, 0x5a,
0xbb, 0x54, 0x5a, 0x7f, 0x0c, 0xe1, 0x82, 0xdf, 0x31, 0x98, 0x44, 0x2c, 0x13, 0x32, 0x7d, 0xc8,
0x4c, 0x88, 0xfe, 0xd7, 0xa1, 0xe9, 0x4f, 0x00, 0xed, 0x17, 0xa0, 0xe8, 0x78, 0xd4, 0xb4, 0x1d,
0x12, 0x9a, 0xe0, 0x8c, 0x1a, 0x43, 0x1e, 0xe5, 0x33, 0xe0, 0x6b, 0xea, 0x51, 0x36, 0x36, 0x7a,
0x19, 0x60, 0xc7, 0xf5, 0x2d, 0x29, 0x2d, 0x6c, 0x70, 0x56, 0xbd, 0x2b, 0x18, 0x5b, 0x28, 0x5f,
0xe2, 0x42, 0xac, 0x87, 0xfe, 0x92, 0xfe, 0x59, 0x83, 0xc5, 0x4d, 0x1c, 0x10, 0x87, 0x50, 0xec,
0x51, 0x99, 0x95, 0xdc, 0xf0, 0x76, 0xfc, 0x64, 0xfa, 0x57, 0x1b, 0x48, 0xff, 0x7e, 0x31, 0xc9,
0xd0, 0xc4, 0x3d, 0x47, 0x3c, 0x42, 0x84, 0xf7, 0x9c, 0xf0, 0xa9, 0x45, 0xdc, 0x13, 0x67, 0x52,
0x96, 0x49, 0xea, 0x1b, 0xbf, 0x2e, 0xeb, 0xdf, 0x15, 0x65, 0x0f, 0xca, 0x49, 0x3d, 0x38, 0x60,
0x97, 0x40, 0x3a, 0xf0, 0x01, 0x77, 0xfe, 0x04, 0x0c, 0xf8, 0x8e, 0x94, 0x62, 0x8c, 0x1f, 0x6a,
0xb0, 0x9c, 0xae, 0xd5, 0x24, 0x27, 0xef, 0xcb, 0x90, 0x73, 0xbc, 0x1d, 0x3f, 0x4c, 0x92, 0x5d,
0x54, 0x07, 0xd4, 0xca, 0x71, 0x85, 0xa0, 0xfe, 0x9b, 0x0c, 0xd4, 0xb8, 0xaf, 0x3e, 0x82, 0xe5,
0x6f, 0xe3, 0xb6, 0x49, 0x9c, 0xf7, 0x70, 0xb8, 0xfc, 0x6d, 0xdc, 0xde, 0x72, 0xde, 0xc3, 0x09,
0x64, 0xe4, 0x92, 0xc8, 0x48, 0xa6, 0x11, 0xf2, 0x23, 0x92, 0xa0, 0x85, 0x64, 0x12, 0x74, 0x09,
0xf2, 0x9e, 0x6f, 0xe3, 0x8d, 0x75, 0x79, 0x49, 0x94, 0x5f, 0x7d, 0xa8, 0x95, 0x0e, 0x09, 0xb5,
0x8f, 0x34, 0x68, 0xdc, 0xc2, 0x74, 0xd0, 0x76, 0x47, 0x87, 0xb2, 0x8f, 0x35, 0x78, 0x54, 0xa9,
0xd0, 0x24, 0x00, 0x7b, 0x31, 0x09, 0x30, 0xf5, 0x8d, 0x6d, 0x68, 0x48, 0x89, 0xad, 0xab, 0x50,
0x59, 0xef, 0xb6, 0xdb, 0x51, 0x24, 0xb5, 0x02, 0x95, 0x40, 0xfc, 0x14, 0x17, 0x1a, 0x71, 0xfe,
0x96, 0x25, 0x8d, 0x5d, 0x5b, 0xf4, 0x4b, 0x50, 0x95, 0x22, 0x52, 0xeb, 0x06, 0x14, 0x03, 0xf9,
0x5b, 0xf2, 0x47, 0xdf, 0xfa, 0x22, 0xcc, 0x1b, 0xb8, 0xc5, 0xa0, 0x1d, 0xdc, 0x71, 0xbc, 0x3d,
0x39, 0x8c, 0xfe, 0xbe, 0x06, 0x0b, 0x49, 0xba, 0xec, 0xeb, 0xbf, 0xa1, 0x60, 0xd9, 0x76, 0x80,
0x09, 0x19, 0xb9, 0x2c, 0xd7, 0x05, 0x8f, 0x11, 0x32, 0xc7, 0x2c, 0x97, 0x19, 0xdb, 0x72, 0xba,
0x09, 0x73, 0xb7, 0x30, 0xbd, 0x8b, 0x69, 0x30, 0xd1, 0xb3, 0x79, 0x9d, 0x5d, 0x35, 0xb8, 0xb0,
0x84, 0x45, 0xf8, 0xa9, 0x7f, 0xa8, 0x01, 0x8a, 0x8f, 0x30, 0xc9, 0x32, 0xc7, 0xad, 0x9c, 0x49,
0x5a, 0x59, 0x54, 0x16, 0xb5, 0x3b, 0xbe, 0x87, 0x3d, 0x1a, 0x8f, 0x59, 0xab, 0x11, 0x95, 0xc1,
0xef, 0xe2, 0x0a, 0x14, 0xc3, 0x97, 0x5e, 0x54, 0x80, 0xec, 0x75, 0xd7, 0xad, 0x4d, 0xa1, 0x0a,
0x14, 0x37, 0xe4, 0x73, 0x66, 0x4d, 0xbb, 0xf8, 0xff, 0x30, 0x3b, 0x90, 0x4a, 0x40, 0x45, 0x98,
0x7e, 0xcd, 0xf7, 0x70, 0x6d, 0x0a, 0xd5, 0xa0, 0x72, 0xc3, 0xf1, 0xac, 0xa0, 0x27, 0x8e, 0xee,
0x9a, 0x8d, 0x66, 0xa1, 0xcc, 0x8f, 0x30, 0x49, 0xc0, 0x6b, 0x7f, 0x6f, 0x40, 0xf5, 0x2e, 0x9f,
0xcc, 0x16, 0x0e, 0xee, 0x39, 0x4d, 0x8c, 0x4c, 0xa8, 0x0d, 0xd6, 0x8b, 0xa3, 0x27, 0x95, 0x18,
0x4d, 0x29, 0x2b, 0x6f, 0x8c, 0x32, 0x8f, 0x3e, 0x85, 0xde, 0x81, 0x99, 0x64, 0x25, 0x37, 0x52,
0xfb, 0x58, 0x65, 0xb9, 0xf7, 0x41, 0x9d, 0x9b, 0x50, 0x4d, 0x14, 0x66, 0xa3, 0x0b, 0xca, 0xbe,
0x55, 0xc5, 0xdb, 0x0d, 0x75, 0xd8, 0x13, 0x2f, 0x9e, 0x16, 0xda, 0x27, 0x4b, 0x37, 0x53, 0xb4,
0x57, 0xd6, 0x77, 0x1e, 0xa4, 0xbd, 0x05, 0x73, 0x43, 0x95, 0x98, 0xe8, 0x29, 0x65, 0xff, 0x69,
0x15, 0x9b, 0x07, 0x0d, 0xb1, 0x0f, 0x68, 0xb8, 0x00, 0x19, 0x5d, 0x56, 0xaf, 0x40, 0x5a, 0xf9,
0x75, 0xe3, 0xca, 0xd8, 0xfc, 0x91, 0xe1, 0xbe, 0xa9, 0xc1, 0xa9, 0x94, 0xf2, 0x49, 0x74, 0x4d,
0xd9, 0xdd, 0xe8, 0x1a, 0xd0, 0xc6, 0x33, 0x87, 0x13, 0x8a, 0x14, 0xf1, 0x60, 0x76, 0xa0, 0xa2,
0x10, 0x5d, 0x4a, 0xad, 0xb2, 0x18, 0x2e, 0xad, 0x6c, 0x3c, 0x39, 0x1e, 0x73, 0x34, 0x1e, 0xbb,
0x5c, 0x27, 0xcb, 0xf0, 0x52, 0xc6, 0x53, 0x17, 0xeb, 0x1d, 0xb4, 0xa0, 0x6f, 0x43, 0x35, 0x51,
0x2f, 0x97, 0x82, 0x78, 0x55, 0x4d, 0xdd, 0x41, 0x5d, 0xbf, 0x0b, 0x95, 0x78, 0x59, 0x1b, 0x5a,
0x4d, 0xdb, 0x4b, 0x43, 0x1d, 0x1f, 0x66, 0x2b, 0xf5, 0xab, 0x56, 0x46, 0x6c, 0xa5, 0xa1, 0x42,
0x9f, 0xf1, 0xb7, 0x52, 0xac, 0xff, 0x91, 0x5b, 0xe9, 0xd0, 0x43, 0xbc, 0xaf, 0xc1, 0x92, 0xba,
0x2a, 0x0a, 0xad, 0xa5, 0x61, 0x33, 0xbd, 0xfe, 0xab, 0x71, 0xed, 0x50, 0x32, 0x91, 0x15, 0xf7,
0x60, 0x26, 0x59, 0xfb, 0x93, 0x62, 0x45, 0x65, 0xb9, 0x54, 0xe3, 0xd2, 0x58, 0xbc, 0xd1, 0x60,
0x6f, 0x42, 0x39, 0xf6, 0x17, 0x30, 0x74, 0x7e, 0x04, 0x8e, 0xe3, 0xff, 0x87, 0x3a, 0xc8, 0x92,
0xaf, 0x43, 0x29, 0xfa, 0xe7, 0x16, 0x3a, 0x97, 0x8a, 0xdf, 0xc3, 0x74, 0xb9, 0x05, 0xd0, 0xff,
0x5b, 0x16, 0x7a, 0x42, 0xd9, 0xe7, 0xd0, 0xff, 0xb6, 0x0e, 0xea, 0x34, 0x9a, 0xbe, 0x78, 0x8b,
0x19, 0x35, 0xfd, 0xf8, 0xe3, 0xe1, 0x41, 0xdd, 0xee, 0x42, 0x35, 0xf1, 0xe4, 0x9f, 0xb6, 0x85,
0x15, 0x95, 0x18, 0x8d, 0x8b, 0xe3, 0xb0, 0x46, 0xeb, 0xb7, 0x0b, 0xd5, 0xc4, 0x03, 0x6c, 0xca,
0x48, 0xaa, 0xf7, 0xe6, 0x94, 0x91, 0x94, 0xef, 0xb9, 0xfa, 0x14, 0xfa, 0x5a, 0xec, 0xad, 0x37,
0xf1, 0x9e, 0x8e, 0xae, 0x8e, 0xec, 0x47, 0x55, 0x4e, 0xd0, 0x58, 0x3b, 0x8c, 0x48, 0xa4, 0x82,
0x44, 0x95, 0x30, 0x69, 0x3a, 0xaa, 0x0e, 0xb3, 0x52, 0x5b, 0x90, 0x17, 0x4f, 0xaa, 0x48, 0x4f,
0x29, 0x9e, 0x88, 0xbd, 0xb7, 0x36, 0x1e, 0x57, 0xf2, 0x24, 0x5f, 0x1b, 0x45, 0xa7, 0xe2, 0xc9,
0x2c, 0xa5, 0xd3, 0xc4, 0x7b, 0xda, 0xb8, 0x9d, 0x1a, 0x90, 0x17, 0xb9, 0xf2, 0x94, 0x4e, 0x13,
0xef, 0x3d, 0x8d, 0xd1, 0x3c, 0x22, 0xc1, 0x3e, 0x85, 0x36, 0x21, 0xc7, 0x73, 0xca, 0x68, 0x65,
0x54, 0xbe, 0x79, 0x54, 0x8f, 0x89, 0x94, 0xb4, 0x3e, 0x85, 0xbe, 0x0c, 0x39, 0x7e, 0xd3, 0x49,
0xe9, 0x31, 0x9e, 0x34, 0x6e, 0x8c, 0x64, 0x09, 0x55, 0xb4, 0xa1, 0x12, 0x4f, 0x29, 0xa5, 0x1c,
0x59, 0x8a, 0xa4, 0x5b, 0x63, 0x1c, 0xce, 0x70, 0x94, 0x6f, 0x69, 0x50, 0x4f, 0xcb, 0x3e, 0xa0,
0xd4, 0xb8, 0x64, 0x54, 0x0a, 0xa5, 0xf1, 0xec, 0x21, 0xa5, 0x22, 0x13, 0xbe, 0x07, 0xf3, 0x8a,
0x2b, 0x2a, 0xba, 0x92, 0xd6, 0x5f, 0xca, 0xed, 0xba, 0xf1, 0xf4, 0xf8, 0x02, 0xd1, 0xd8, 0x9b,
0x90, 0xe3, 0x57, 0xcb, 0x94, 0xe5, 0x8b, 0xdf, 0x54, 0x53, 0x00, 0x91, 0xb8, 0x99, 0xea, 0x53,
0x08, 0x43, 0x25, 0x7e, 0xcf, 0x4c, 0x59, 0x3f, 0xc5, 0x15, 0xb5, 0x71, 0x61, 0x0c, 0xce, 0x68,
0x18, 0x13, 0xa0, 0x7f, 0xcf, 0x4b, 0x39, 0x1d, 0x86, 0xae, 0x9a, 0x8d, 0xf3, 0x07, 0xf2, 0x85,
0x03, 0xac, 0x75, 0xa1, 0xb2, 0x19, 0xf8, 0xf7, 0x7b, 0xe1, 0xad, 0xea, 0x3f, 0x33, 0xaf, 0x1b,
0xcf, 0x7e, 0xe5, 0x5a, 0xcb, 0xa1, 0xbb, 0xdd, 0x6d, 0xe6, 0xb9, 0xae, 0x08, 0xde, 0xa7, 0x1c,
0x5f, 0xfe, 0xba, 0xe2, 0x78, 0x14, 0x07, 0x9e, 0xe5, 0x5e, 0xe1, 0x7d, 0x49, 0x6a, 0x67, 0x7b,
0x3b, 0xcf, 0xbf, 0xaf, 0xfd, 0x3b, 0x00, 0x00, 0xff, 0xff, 0xed, 0x71, 0xc6, 0x05, 0x22, 0x3e,
0x00, 0x00,
// 3241 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xd4, 0x5b, 0xcf, 0x6f, 0x1b, 0xc7,
0xf5, 0xd7, 0x92, 0xe2, 0xaf, 0x47, 0x52, 0xa2, 0x47, 0xb2, 0xcc, 0xd0, 0x76, 0x2c, 0x6f, 0xbe,
0x8e, 0x65, 0x3b, 0xb1, 0x63, 0x39, 0xf9, 0x26, 0xdf, 0xe4, 0xdb, 0x26, 0xb6, 0xd5, 0xd8, 0x42,
0x6c, 0x57, 0x59, 0x25, 0x01, 0xd2, 0xc0, 0x58, 0x8c, 0xb8, 0x63, 0x69, 0xe1, 0xe5, 0x2e, 0xbb,
0x33, 0xb4, 0xad, 0x9c, 0x0a, 0xa4, 0x2d, 0x50, 0x24, 0x4d, 0x50, 0xb4, 0x68, 0xd1, 0x43, 0x7b,
0x68, 0x9b, 0x43, 0x81, 0x1e, 0x9a, 0xa6, 0x68, 0x8b, 0x9e, 0x7a, 0xc8, 0xa1, 0x87, 0x02, 0xfd,
0x71, 0xed, 0xa5, 0xff, 0x40, 0xfe, 0x83, 0x1e, 0x8a, 0xf9, 0xb1, 0xcb, 0x5d, 0x72, 0x96, 0xa2,
0xcc, 0xb8, 0x92, 0x6e, 0xdc, 0x37, 0xef, 0xcd, 0xbc, 0x79, 0xf3, 0x99, 0x37, 0x6f, 0xde, 0x3c,
0x42, 0xad, 0xe3, 0x7a, 0xf7, 0x7a, 0xf4, 0x7c, 0x37, 0x0c, 0x58, 0x80, 0xe6, 0x92, 0x5f, 0xe7,
0xe5, 0x47, 0xab, 0xd6, 0x0e, 0x3a, 0x9d, 0xc0, 0x97, 0xc4, 0x56, 0x8d, 0xb6, 0xb7, 0x48, 0x07,
0xcb, 0x2f, 0xf3, 0xa7, 0x06, 0xa0, 0xab, 0x21, 0xc1, 0x8c, 0x5c, 0xf6, 0x5c, 0x4c, 0x2d, 0xf2,
0xf5, 0x1e, 0xa1, 0x0c, 0x3d, 0x03, 0xd3, 0x1b, 0x98, 0x92, 0xa6, 0xb1, 0x68, 0x2c, 0x55, 0x97,
0x8f, 0x9d, 0x4f, 0x75, 0xab, 0xba, 0xbb, 0x49, 0x37, 0xaf, 0x60, 0x4a, 0x2c, 0xc1, 0x89, 0x8e,
0x40, 0xc9, 0xd9, 0xb0, 0x7d, 0xdc, 0x21, 0xcd, 0xdc, 0xa2, 0xb1, 0x54, 0xb1, 0x8a, 0xce, 0xc6,
0x2d, 0xdc, 0x21, 0xe8, 0x34, 0xcc, 0xb6, 0x03, 0xcf, 0x23, 0x6d, 0xe6, 0x06, 0xbe, 0x64, 0xc8,
0x0b, 0x86, 0x99, 0x3e, 0x59, 0x30, 0xce, 0x43, 0x01, 0x73, 0x1d, 0x9a, 0xd3, 0xa2, 0x59, 0x7e,
0x98, 0x14, 0x1a, 0x2b, 0x61, 0xd0, 0x7d, 0x54, 0xda, 0xc5, 0x83, 0xe6, 0x93, 0x83, 0xfe, 0xc4,
0x80, 0x43, 0x97, 0x3d, 0x46, 0xc2, 0x7d, 0x6a, 0x94, 0xcf, 0x0c, 0x38, 0x22, 0x57, 0xed, 0x6a,
0xcc, 0xbe, 0x97, 0x5a, 0x2e, 0x40, 0x51, 0xa2, 0x4a, 0xa8, 0x59, 0xb3, 0xd4, 0x17, 0x3a, 0x0e,
0x40, 0xb7, 0x70, 0xe8, 0x50, 0xdb, 0xef, 0x75, 0x9a, 0x85, 0x45, 0x63, 0xa9, 0x60, 0x55, 0x24,
0xe5, 0x56, 0xaf, 0x63, 0xbe, 0x6f, 0xc0, 0x61, 0xbe, 0xb8, 0xfb, 0x62, 0x12, 0xe6, 0x2f, 0x0d,
0x98, 0xbf, 0x8e, 0xe9, 0xfe, 0xb0, 0xe8, 0x71, 0x00, 0xe6, 0x76, 0x88, 0x4d, 0x19, 0xee, 0x74,
0x85, 0x55, 0xa7, 0xad, 0x0a, 0xa7, 0xac, 0x73, 0x82, 0xf9, 0x36, 0xd4, 0xae, 0x04, 0x81, 0x67,
0x11, 0xda, 0x0d, 0x7c, 0x4a, 0xd0, 0x25, 0x28, 0x52, 0x86, 0x59, 0x8f, 0x2a, 0x25, 0x8f, 0x6a,
0x95, 0x5c, 0x17, 0x2c, 0x96, 0x62, 0xe5, 0xd8, 0xba, 0x87, 0xbd, 0x9e, 0xd4, 0xb1, 0x6c, 0xc9,
0x0f, 0xf3, 0x1d, 0x98, 0x59, 0x67, 0xa1, 0xeb, 0x6f, 0x7e, 0x81, 0x9d, 0x57, 0xa2, 0xce, 0xff,
0x61, 0xc0, 0x63, 0x2b, 0x84, 0xb6, 0x43, 0x77, 0x63, 0x9f, 0x40, 0xd7, 0x84, 0x5a, 0x9f, 0xb2,
0xba, 0x22, 0x4c, 0x9d, 0xb7, 0x52, 0xb4, 0x81, 0xc5, 0x28, 0x0c, 0x2e, 0xc6, 0x7b, 0xd3, 0xd0,
0xd2, 0x4d, 0x6a, 0x12, 0xf3, 0x7d, 0x29, 0xde, 0x51, 0x39, 0x21, 0x74, 0x2a, 0x2d, 0xa4, 0x7c,
0x78, 0x7f, 0xb4, 0x75, 0x41, 0x88, 0x37, 0xde, 0xe0, 0xac, 0xf2, 0x9a, 0x59, 0x2d, 0xc3, 0xe1,
0x7b, 0x6e, 0xc8, 0x7a, 0xd8, 0xb3, 0xdb, 0x5b, 0xd8, 0xf7, 0x89, 0x27, 0xec, 0xc4, 0x5d, 0x4d,
0x7e, 0xa9, 0x62, 0xcd, 0xa9, 0xc6, 0xab, 0xb2, 0x8d, 0x1b, 0x8b, 0xa2, 0x67, 0x61, 0xa1, 0xbb,
0xb5, 0x4d, 0xdd, 0xf6, 0x90, 0x50, 0x41, 0x08, 0xcd, 0x47, 0xad, 0x29, 0xa9, 0x73, 0x70, 0xa8,
0x2d, 0xbc, 0x95, 0x63, 0x73, 0xab, 0x49, 0x33, 0x16, 0x85, 0x19, 0x1b, 0xaa, 0xe1, 0x8d, 0x88,
0xce, 0xd5, 0x8a, 0x98, 0x7b, 0xac, 0x9d, 0x10, 0x28, 0x09, 0x81, 0x39, 0xd5, 0xf8, 0x26, 0x6b,
0xf7, 0x65, 0xd2, 0x7e, 0xa6, 0x3c, 0xe0, 0x67, 0x50, 0x13, 0x4a, 0xc2, 0x6f, 0x12, 0xda, 0xac,
0x08, 0x35, 0xa3, 0x4f, 0xb4, 0x0a, 0xb3, 0x94, 0xe1, 0x90, 0xd9, 0xdd, 0x80, 0xba, 0xdc, 0x2e,
0xb4, 0x09, 0x8b, 0xf9, 0xa5, 0xea, 0xf2, 0xa2, 0x76, 0x91, 0x5e, 0x23, 0xdb, 0x2b, 0x98, 0xe1,
0x35, 0xec, 0x86, 0xd6, 0x8c, 0x10, 0x5c, 0x8b, 0xe4, 0x84, 0x33, 0xbb, 0x11, 0x60, 0x67, 0x7f,
0x38, 0xb3, 0x0f, 0x0d, 0x68, 0x5a, 0xc4, 0x23, 0x98, 0xee, 0x8f, 0x7d, 0x66, 0xfe, 0xc0, 0x80,
0xc7, 0xaf, 0x11, 0x96, 0x40, 0x2c, 0xc3, 0xcc, 0xa5, 0xcc, 0x6d, 0xef, 0xe5, 0xf9, 0x6a, 0x7e,
0x64, 0xc0, 0x89, 0x4c, 0xb5, 0x26, 0xd9, 0xc0, 0xcf, 0x43, 0x81, 0xff, 0xa2, 0xcd, 0x9c, 0xc0,
0xd3, 0xc9, 0x2c, 0x3c, 0xbd, 0xc5, 0xfd, 0xa2, 0x00, 0x94, 0xe4, 0x37, 0xff, 0x65, 0xc0, 0xc2,
0xfa, 0x56, 0x70, 0xbf, 0xaf, 0xd2, 0xa3, 0x30, 0x50, 0xda, 0xa5, 0xe5, 0x07, 0x5c, 0x1a, 0xba,
0x08, 0xd3, 0x6c, 0xbb, 0x4b, 0x84, 0x37, 0x9c, 0x59, 0x3e, 0x7e, 0x5e, 0x13, 0x56, 0x9e, 0xe7,
0x4a, 0xbe, 0xb1, 0xdd, 0x25, 0x96, 0x60, 0x45, 0x67, 0xa0, 0x31, 0x60, 0xf2, 0xc8, 0x29, 0xcc,
0xa6, 0x6d, 0x4e, 0xcd, 0x3f, 0xe4, 0xe0, 0xc8, 0xd0, 0x14, 0x27, 0x31, 0xb6, 0x6e, 0xec, 0x9c,
0x76, 0x6c, 0x74, 0x0a, 0x12, 0x10, 0xb0, 0x5d, 0x87, 0x47, 0x7e, 0xf9, 0xa5, 0xbc, 0x55, 0x4f,
0xf8, 0x46, 0x87, 0xa2, 0xa7, 0x01, 0x0d, 0xb9, 0x2c, 0xe9, 0x19, 0xa7, 0xad, 0x43, 0x83, 0x3e,
0x4b, 0xf8, 0x45, 0xad, 0xd3, 0x92, 0x26, 0x98, 0xb6, 0xe6, 0x35, 0x5e, 0x8b, 0xa2, 0x8b, 0x30,
0xef, 0xfa, 0x37, 0x49, 0x27, 0x08, 0xb7, 0xed, 0x2e, 0x09, 0xdb, 0xc4, 0x67, 0x78, 0x93, 0xd0,
0x66, 0x51, 0x68, 0x34, 0x17, 0xb5, 0xad, 0xf5, 0x9b, 0xcc, 0x4f, 0x0d, 0x58, 0x90, 0x91, 0xdf,
0x1a, 0x0e, 0x99, 0xbb, 0xd7, 0xa7, 0xe7, 0x29, 0x98, 0xe9, 0x46, 0x7a, 0x48, 0x3e, 0x19, 0xa7,
0xd6, 0x63, 0xaa, 0xd8, 0x65, 0x9f, 0x18, 0x30, 0xcf, 0x03, 0xbd, 0x83, 0xa4, 0xf3, 0xaf, 0x0d,
0x98, 0xbb, 0x8e, 0xe9, 0x41, 0x52, 0xf9, 0xb7, 0xea, 0x08, 0x8a, 0x75, 0xde, 0xd3, 0xab, 0xcb,
0x69, 0x98, 0x4d, 0x2b, 0x1d, 0x45, 0x16, 0x33, 0x29, 0xad, 0xa9, 0xf9, 0xfb, 0xfe, 0x59, 0x75,
0xc0, 0x34, 0xff, 0xa3, 0x01, 0xc7, 0xaf, 0x11, 0x16, 0x6b, 0xbd, 0x2f, 0xce, 0xb4, 0x71, 0xd1,
0xf2, 0xa1, 0x3c, 0x91, 0xb5, 0xca, 0xef, 0xc9, 0xc9, 0xf7, 0x7e, 0x0e, 0x0e, 0xf3, 0x63, 0x61,
0x7f, 0x80, 0x60, 0x9c, 0x8b, 0x81, 0x06, 0x28, 0x05, 0x1d, 0x50, 0xe2, 0xf3, 0xb4, 0x38, 0xf6,
0x79, 0x6a, 0xfe, 0x26, 0x27, 0xe3, 0x80, 0xa4, 0x35, 0x26, 0x59, 0x16, 0x8d, 0xae, 0x39, 0xad,
0xae, 0x26, 0xd4, 0x62, 0xca, 0xea, 0x4a, 0x74, 0x3e, 0xa6, 0x68, 0xfb, 0xf6, 0x78, 0xfc, 0xc0,
0x80, 0x85, 0xe8, 0x2a, 0xb6, 0x4e, 0x36, 0x3b, 0xc4, 0x67, 0x0f, 0x8f, 0xa1, 0x41, 0x04, 0xe4,
0x34, 0x08, 0x38, 0x06, 0x15, 0x2a, 0xc7, 0x89, 0x6f, 0x59, 0x7d, 0x82, 0xf9, 0xb1, 0x01, 0x47,
0x86, 0xd4, 0x99, 0x64, 0x11, 0x9b, 0x50, 0x72, 0x7d, 0x87, 0x3c, 0x88, 0xb5, 0x89, 0x3e, 0x79,
0xcb, 0x46, 0xcf, 0xf5, 0x9c, 0x58, 0x8d, 0xe8, 0x13, 0x9d, 0x84, 0x1a, 0xf1, 0xf1, 0x86, 0x47,
0x6c, 0xc1, 0x2b, 0x80, 0x5c, 0xb6, 0xaa, 0x92, 0xb6, 0xca, 0x49, 0xe6, 0x77, 0x0d, 0x98, 0xe3,
0x58, 0x53, 0x3a, 0xd2, 0x47, 0x6b, 0xb3, 0x45, 0xa8, 0x26, 0xc0, 0xa4, 0xd4, 0x4d, 0x92, 0xcc,
0xbb, 0x30, 0x9f, 0x56, 0x67, 0x12, 0x9b, 0x3d, 0x0e, 0x10, 0xaf, 0x88, 0xc4, 0x7c, 0xde, 0x4a,
0x50, 0xcc, 0xcf, 0xe3, 0x14, 0xa8, 0x30, 0xc6, 0x1e, 0x67, 0x7d, 0xee, 0xb8, 0xc4, 0x73, 0x92,
0x5e, 0xbb, 0x22, 0x28, 0xa2, 0x79, 0x05, 0x6a, 0xe4, 0x01, 0x0b, 0xb1, 0xdd, 0xc5, 0x21, 0xee,
0xc8, 0xcd, 0x33, 0x96, 0x83, 0xad, 0x0a, 0xb1, 0x35, 0x21, 0x65, 0xfe, 0x99, 0x07, 0x63, 0x0a,
0x94, 0xfb, 0x7d, 0xc6, 0xc7, 0x01, 0x04, 0x68, 0x65, 0x73, 0x41, 0x36, 0x0b, 0x8a, 0x38, 0xc2,
0x3e, 0x36, 0xa0, 0x21, 0xa6, 0x20, 0xe7, 0xd3, 0xe5, 0xdd, 0x0e, 0xc8, 0x18, 0x03, 0x32, 0x23,
0xb6, 0xd0, 0xff, 0x41, 0x51, 0x19, 0x36, 0x3f, 0xae, 0x61, 0x95, 0xc0, 0x0e, 0xd3, 0x30, 0x7f,
0x66, 0xc0, 0xe1, 0x01, 0x93, 0x4f, 0x82, 0xe8, 0x37, 0x00, 0xc9, 0x19, 0x3a, 0xfd, 0x69, 0x47,
0xc7, 0xed, 0x29, 0xed, 0xd9, 0x32, 0x68, 0x24, 0xeb, 0x90, 0x3b, 0x40, 0xa1, 0xe6, 0xdf, 0x0c,
0x38, 0x76, 0x8d, 0x30, 0xc1, 0x7a, 0x85, 0xfb, 0x8e, 0xb5, 0x30, 0xd8, 0x0c, 0x09, 0xa5, 0x07,
0x17, 0x1f, 0x3f, 0x94, 0xf1, 0x99, 0x6e, 0x4a, 0x93, 0xd8, 0xff, 0x24, 0xd4, 0xc4, 0x18, 0xc4,
0xb1, 0xc3, 0xe0, 0x3e, 0x55, 0x38, 0xaa, 0x2a, 0x9a, 0x15, 0xdc, 0x17, 0x80, 0x60, 0x01, 0xc3,
0x9e, 0x64, 0x50, 0x07, 0x83, 0xa0, 0xf0, 0x66, 0xb1, 0x07, 0x23, 0xc5, 0x78, 0xe7, 0xe4, 0xe0,
0xda, 0xf8, 0x17, 0x06, 0x1c, 0x1e, 0x98, 0xca, 0x24, 0xb6, 0x7d, 0x4e, 0x46, 0x8f, 0x72, 0x32,
0x33, 0xcb, 0x27, 0xb4, 0x32, 0x89, 0xc1, 0x24, 0x37, 0x3a, 0x01, 0xd5, 0x3b, 0xd8, 0xf5, 0xec,
0x90, 0x60, 0x1a, 0xf8, 0x6a, 0xa2, 0xc0, 0x49, 0x96, 0xa0, 0x98, 0x9f, 0x19, 0xf2, 0x21, 0xe9,
0x80, 0x7b, 0xbc, 0x9f, 0xe7, 0xa0, 0xbe, 0xea, 0x53, 0x12, 0xb2, 0xfd, 0x7f, 0xc3, 0x40, 0x2f,
0x43, 0x55, 0x4c, 0x8c, 0xda, 0x0e, 0x66, 0x58, 0x1d, 0x57, 0x8f, 0x6b, 0x33, 0xd9, 0xaf, 0x72,
0xbe, 0x15, 0xcc, 0xb0, 0x25, 0xad, 0x43, 0xf9, 0x6f, 0x74, 0x14, 0x2a, 0x5b, 0x98, 0x6e, 0xd9,
0x77, 0xc9, 0xb6, 0x0c, 0xfb, 0xea, 0x56, 0x99, 0x13, 0x5e, 0x23, 0xdb, 0x14, 0x3d, 0x06, 0x65,
0xbf, 0xd7, 0x91, 0x1b, 0xac, 0xb4, 0x68, 0x2c, 0xd5, 0xad, 0x92, 0xdf, 0xeb, 0x88, 0xed, 0xf5,
0x97, 0x1c, 0xcc, 0xdc, 0xec, 0xf1, 0xfb, 0x8c, 0xc8, 0xc3, 0xf7, 0x3c, 0xf6, 0x70, 0x60, 0x3c,
0x0b, 0x79, 0x19, 0x33, 0x70, 0x89, 0xa6, 0x56, 0xf1, 0xd5, 0x15, 0x6a, 0x71, 0x26, 0x91, 0x83,
0xee, 0xb5, 0xdb, 0x2a, 0xc8, 0xca, 0x0b, 0x65, 0x2b, 0x9c, 0x22, 0x10, 0xc7, 0xa7, 0x42, 0xc2,
0x30, 0x0e, 0xc1, 0xc4, 0x54, 0x48, 0x18, 0xca, 0x46, 0x13, 0x6a, 0xb8, 0x7d, 0xd7, 0x0f, 0xee,
0x7b, 0xc4, 0xd9, 0x24, 0x8e, 0x58, 0xf6, 0xb2, 0x95, 0xa2, 0x49, 0x60, 0xf0, 0x85, 0xb7, 0xdb,
0x3e, 0x13, 0x17, 0x89, 0x3c, 0x07, 0x06, 0xa7, 0x5c, 0xf5, 0x19, 0x6f, 0x76, 0x88, 0x47, 0x18,
0x11, 0xcd, 0x25, 0xd9, 0x2c, 0x29, 0xaa, 0xb9, 0xd7, 0x8d, 0xa5, 0xcb, 0xb2, 0x59, 0x52, 0x78,
0xf3, 0x31, 0xa8, 0xf4, 0x13, 0xed, 0x95, 0x7e, 0x36, 0x50, 0x10, 0xcc, 0x7f, 0x1a, 0x50, 0x5f,
0x11, 0x5d, 0x1d, 0x00, 0xd0, 0x21, 0x98, 0x26, 0x0f, 0xba, 0xa1, 0xda, 0x3a, 0xe2, 0xf7, 0x48,
0x1c, 0x99, 0xf7, 0xa0, 0xb1, 0xe6, 0xe1, 0x36, 0xd9, 0x0a, 0x3c, 0x87, 0x84, 0xe2, 0x6c, 0x47,
0x0d, 0xc8, 0x33, 0xbc, 0xa9, 0x82, 0x07, 0xfe, 0x13, 0xbd, 0xa0, 0x6e, 0x70, 0xd2, 0x2d, 0xfd,
0x8f, 0xf6, 0x94, 0x4d, 0x74, 0x93, 0x48, 0x8c, 0x2e, 0x40, 0x51, 0x3c, 0x7e, 0xc9, 0xb0, 0xa2,
0x66, 0xa9, 0x2f, 0xf3, 0x76, 0x6a, 0xdc, 0x6b, 0x61, 0xd0, 0xeb, 0xa2, 0x55, 0xa8, 0x75, 0xfb,
0x34, 0x8e, 0xd5, 0xec, 0x33, 0x7d, 0x50, 0x69, 0x2b, 0x25, 0x6a, 0x7e, 0x9e, 0x87, 0xfa, 0x3a,
0xc1, 0x61, 0x7b, 0xeb, 0x20, 0xa4, 0x52, 0xb8, 0xc5, 0x1d, 0xea, 0xa9, 0x55, 0xe3, 0x3f, 0xd1,
0x39, 0x38, 0x94, 0x98, 0x90, 0xbd, 0xc9, 0x0d, 0x24, 0x70, 0x5f, 0xb3, 0x1a, 0xdd, 0x41, 0xc3,
0x3d, 0x0f, 0x65, 0x87, 0x7a, 0xb6, 0x58, 0xa2, 0x92, 0x58, 0x22, 0xfd, 0xfc, 0x56, 0xa8, 0x27,
0x96, 0xa6, 0xe4, 0xc8, 0x1f, 0xe8, 0x09, 0xa8, 0x07, 0x3d, 0xd6, 0xed, 0x31, 0x5b, 0xfa, 0x9d,
0x66, 0x59, 0xa8, 0x57, 0x93, 0x44, 0xe1, 0x96, 0x28, 0x7a, 0x15, 0xea, 0x54, 0x98, 0x32, 0x8a,
0xbc, 0x2b, 0xe3, 0x06, 0x88, 0x35, 0x29, 0x27, 0x43, 0x6f, 0x74, 0x06, 0x1a, 0x2c, 0xc4, 0xf7,
0x88, 0x97, 0x78, 0xd6, 0x02, 0xb1, 0xdb, 0x66, 0x25, 0xbd, 0xff, 0xa4, 0x75, 0x01, 0xe6, 0x36,
0x7b, 0x38, 0xc4, 0x3e, 0x23, 0x24, 0xc1, 0x5d, 0x15, 0xdc, 0x28, 0x6e, 0x8a, 0x05, 0xcc, 0xd7,
0x60, 0xfa, 0xba, 0xcb, 0x84, 0x21, 0xb9, 0xcf, 0x32, 0xc4, 0x3d, 0x47, 0x78, 0xa6, 0xc7, 0xa0,
0x1c, 0x06, 0xf7, 0xa5, 0x0f, 0xce, 0x09, 0x08, 0x96, 0xc2, 0xe0, 0xbe, 0x70, 0xb0, 0xe2, 0xe1,
0x3e, 0x08, 0x15, 0x36, 0x73, 0x96, 0xfa, 0x32, 0xbf, 0x65, 0xf4, 0xc1, 0xc3, 0xdd, 0x27, 0x7d,
0x38, 0xff, 0xf9, 0x32, 0x94, 0x42, 0x29, 0x3f, 0xf2, 0x19, 0x33, 0x39, 0x92, 0x38, 0x03, 0x22,
0x29, 0xf3, 0x9b, 0x06, 0xd4, 0x5e, 0xf5, 0x7a, 0xf4, 0x51, 0x60, 0x58, 0xf7, 0x68, 0x90, 0xd7,
0x3f, 0x58, 0x7c, 0x2f, 0x07, 0x75, 0xa5, 0xc6, 0x24, 0xb1, 0x4d, 0xa6, 0x2a, 0xeb, 0x50, 0xe5,
0x43, 0xda, 0x94, 0x6c, 0x46, 0x19, 0x97, 0xea, 0xf2, 0xb2, 0x76, 0xd7, 0xa7, 0xd4, 0x10, 0x0f,
0xc0, 0xeb, 0x42, 0xe8, 0x2b, 0x3e, 0x0b, 0xb7, 0x2d, 0x68, 0xc7, 0x84, 0xd6, 0x6d, 0x98, 0x1d,
0x68, 0xe6, 0xd8, 0xb8, 0x4b, 0xb6, 0x23, 0xb7, 0x76, 0x97, 0x6c, 0xa3, 0x67, 0x93, 0xcf, 0xf4,
0x59, 0x87, 0xf3, 0x8d, 0xc0, 0xdf, 0xbc, 0x1c, 0x86, 0x78, 0x5b, 0x3d, 0xe3, 0xbf, 0x98, 0x7b,
0xc1, 0x30, 0xff, 0x94, 0x83, 0xda, 0xeb, 0x3d, 0x12, 0x6e, 0xef, 0xa5, 0x7b, 0x89, 0x9c, 0xfd,
0x74, 0xc2, 0xd9, 0x0f, 0xed, 0xe8, 0x82, 0x66, 0x47, 0x6b, 0xfc, 0x52, 0x51, 0xeb, 0x97, 0x74,
0x5b, 0xb6, 0xb4, 0xab, 0x2d, 0x5b, 0xce, 0xdc, 0xb2, 0x1c, 0xdd, 0xca, 0x84, 0x13, 0x6d, 0xb2,
0x54, 0x94, 0x95, 0xdb, 0x6d, 0x94, 0x65, 0x7e, 0x62, 0x40, 0xe5, 0x2d, 0xd2, 0x66, 0x41, 0xc8,
0xbd, 0x85, 0xc6, 0xf6, 0xc6, 0x18, 0x81, 0x6c, 0x6e, 0x30, 0x90, 0xbd, 0x04, 0x65, 0xd7, 0xb1,
0x31, 0x87, 0x8d, 0x58, 0xbc, 0x51, 0x01, 0x54, 0xc9, 0x75, 0x04, 0xbe, 0xc6, 0xcf, 0xbc, 0xff,
0xc8, 0x80, 0x9a, 0xd4, 0x99, 0x4a, 0xc9, 0x97, 0x12, 0xc3, 0x19, 0x3a, 0x2c, 0xab, 0x8f, 0x78,
0xa2, 0xd7, 0xa7, 0xfa, 0xc3, 0x5e, 0x06, 0xe0, 0xb6, 0x53, 0xe2, 0x72, 0x2b, 0x2c, 0x6a, 0xb5,
0x95, 0xe2, 0xc2, 0x8e, 0xd7, 0xa7, 0xac, 0x0a, 0x97, 0x12, 0x5d, 0x5c, 0x29, 0x41, 0x41, 0x48,
0x9b, 0xff, 0x36, 0x60, 0xee, 0x2a, 0xf6, 0xda, 0x2b, 0x2e, 0x65, 0xd8, 0x6f, 0x4f, 0x10, 0x32,
0xbd, 0x08, 0xa5, 0xa0, 0x6b, 0x7b, 0xe4, 0x0e, 0x53, 0x2a, 0x9d, 0x1c, 0x31, 0x23, 0x69, 0x06,
0xab, 0x18, 0x74, 0x6f, 0x90, 0x3b, 0x0c, 0xfd, 0x3f, 0x94, 0x83, 0xae, 0x1d, 0xba, 0x9b, 0x5b,
0x4c, 0x59, 0x7f, 0x0c, 0xe1, 0x52, 0xd0, 0xb5, 0xb8, 0x44, 0x22, 0x13, 0x32, 0xbd, 0xcb, 0x4c,
0x88, 0xf9, 0xf7, 0xa1, 0xe9, 0x4f, 0x00, 0xed, 0x17, 0xa1, 0xec, 0xfa, 0xcc, 0x76, 0x5c, 0x1a,
0x99, 0xe0, 0xb8, 0x1e, 0x43, 0x3e, 0x13, 0x33, 0x10, 0x6b, 0xea, 0x33, 0x3e, 0x36, 0x7a, 0x05,
0xe0, 0x8e, 0x17, 0x60, 0x25, 0x2d, 0x6d, 0x70, 0x42, 0xbf, 0x2b, 0x38, 0x5b, 0x24, 0x5f, 0x11,
0x42, 0xbc, 0x87, 0xfe, 0x92, 0xfe, 0xd5, 0x80, 0xc3, 0x6b, 0x24, 0xa4, 0x2e, 0x65, 0xc4, 0x67,
0x2a, 0x2b, 0xb9, 0xea, 0xdf, 0x09, 0xd2, 0xe9, 0x5f, 0x63, 0x20, 0xfd, 0xfb, 0xc5, 0x24, 0x43,
0x53, 0xf7, 0x1c, 0xf9, 0x08, 0x11, 0xdd, 0x73, 0xa2, 0xa7, 0x16, 0x79, 0x4f, 0x9c, 0xc9, 0x58,
0x26, 0xa5, 0x6f, 0xf2, 0xba, 0x6c, 0x7e, 0x5f, 0x96, 0x3d, 0x68, 0x27, 0xf5, 0xf0, 0x80, 0x5d,
0x00, 0xe5, 0xc0, 0x07, 0xdc, 0xf9, 0x93, 0x30, 0xe0, 0x3b, 0x32, 0x8a, 0x31, 0x7e, 0x6c, 0xc0,
0x62, 0xb6, 0x56, 0x93, 0x9c, 0xbc, 0xaf, 0x40, 0xc1, 0xf5, 0xef, 0x04, 0x51, 0x92, 0xec, 0xac,
0x3e, 0xa0, 0xd6, 0x8e, 0x2b, 0x05, 0xcd, 0xdf, 0xe5, 0xa0, 0x21, 0x7c, 0xf5, 0x1e, 0x2c, 0x7f,
0x87, 0x74, 0x6c, 0xea, 0xbe, 0x4b, 0xa2, 0xe5, 0xef, 0x90, 0xce, 0xba, 0xfb, 0x2e, 0x49, 0x21,
0xa3, 0x90, 0x46, 0x46, 0x3a, 0x8d, 0x50, 0x1c, 0x91, 0x04, 0x2d, 0xa5, 0x93, 0xa0, 0x0b, 0x50,
0xf4, 0x03, 0x87, 0xac, 0xae, 0xa8, 0x4b, 0xa2, 0xfa, 0xea, 0x43, 0xad, 0xb2, 0x4b, 0xa8, 0x7d,
0x68, 0x40, 0xeb, 0x1a, 0x61, 0x83, 0xb6, 0xdb, 0x3b, 0x94, 0x7d, 0x64, 0xc0, 0x51, 0xad, 0x42,
0x93, 0x00, 0xec, 0xa5, 0x34, 0xc0, 0xf4, 0x37, 0xb6, 0xa1, 0x21, 0x15, 0xb6, 0x2e, 0x42, 0x6d,
0xa5, 0xd7, 0xe9, 0xc4, 0x91, 0xd4, 0x49, 0xa8, 0x85, 0xf2, 0xa7, 0xbc, 0xd0, 0xc8, 0xf3, 0xb7,
0xaa, 0x68, 0xfc, 0xda, 0x62, 0x9e, 0x83, 0xba, 0x12, 0x51, 0x5a, 0xb7, 0xa0, 0x1c, 0xaa, 0xdf,
0x8a, 0x3f, 0xfe, 0x36, 0x0f, 0xc3, 0x9c, 0x45, 0x36, 0x39, 0xb4, 0xc3, 0x1b, 0xae, 0x7f, 0x57,
0x0d, 0x63, 0xbe, 0x67, 0xc0, 0x7c, 0x9a, 0xae, 0xfa, 0xfa, 0x5f, 0x28, 0x61, 0xc7, 0x09, 0x09,
0xa5, 0x23, 0x97, 0xe5, 0xb2, 0xe4, 0xb1, 0x22, 0xe6, 0x84, 0xe5, 0x72, 0x63, 0x5b, 0xce, 0xb4,
0xe1, 0xd0, 0x35, 0xc2, 0x6e, 0x12, 0x16, 0x4e, 0xf4, 0x6c, 0xde, 0xe4, 0x57, 0x0d, 0x21, 0xac,
0x60, 0x11, 0x7d, 0x9a, 0x1f, 0x18, 0x80, 0x92, 0x23, 0x4c, 0xb2, 0xcc, 0x49, 0x2b, 0xe7, 0xd2,
0x56, 0x96, 0x95, 0x45, 0x9d, 0x6e, 0xe0, 0x13, 0x9f, 0x25, 0x63, 0xd6, 0x7a, 0x4c, 0x15, 0xf0,
0xfb, 0xd4, 0x00, 0x74, 0x23, 0xc0, 0xce, 0x15, 0xec, 0x4d, 0x16, 0x1e, 0x1c, 0x07, 0xa0, 0x61,
0xdb, 0x56, 0xbb, 0x35, 0xa7, 0xbc, 0x4f, 0xd8, 0xbe, 0x25, 0x37, 0xec, 0x09, 0xa8, 0x3a, 0x94,
0xa9, 0xe6, 0xe8, 0x15, 0x17, 0x1c, 0xca, 0x64, 0xbb, 0xa8, 0xca, 0xa4, 0x04, 0x7b, 0xc4, 0xb1,
0x13, 0xcf, 0x63, 0xd3, 0x82, 0xad, 0x21, 0x1b, 0xd6, 0x63, 0xfa, 0xd9, 0x93, 0x50, 0x8e, 0xde,
0xa7, 0x51, 0x09, 0xf2, 0x97, 0x3d, 0xaf, 0x31, 0x85, 0x6a, 0x50, 0x5e, 0x55, 0x8f, 0xb0, 0x0d,
0xe3, 0xec, 0x97, 0x61, 0x76, 0x20, 0x01, 0x82, 0xca, 0x30, 0x7d, 0x2b, 0xf0, 0x49, 0x63, 0x0a,
0x35, 0xa0, 0x76, 0xc5, 0xf5, 0x71, 0xb8, 0x2d, 0x03, 0x8e, 0x86, 0x83, 0x66, 0xa1, 0x2a, 0x0e,
0x5e, 0x45, 0x20, 0xcb, 0xbf, 0x3a, 0x0a, 0xf5, 0x9b, 0x62, 0xd6, 0xeb, 0x24, 0xbc, 0xe7, 0xb6,
0x09, 0xb2, 0xa1, 0x31, 0x58, 0xe5, 0x8e, 0x9e, 0xd2, 0xee, 0xac, 0x8c, 0x62, 0xf8, 0xd6, 0xa8,
0x45, 0x35, 0xa7, 0xd0, 0x3b, 0x30, 0x93, 0xae, 0x3f, 0x47, 0xfa, 0x93, 0x41, 0x5b, 0xa4, 0xbe,
0x53, 0xe7, 0x36, 0xd4, 0x53, 0xe5, 0xe4, 0xe8, 0x8c, 0xb6, 0x6f, 0x5d, 0xc9, 0x79, 0x4b, 0x1f,
0xac, 0x25, 0x4b, 0xbe, 0xa5, 0xf6, 0xe9, 0x82, 0xd3, 0x0c, 0xed, 0xb5, 0x55, 0xa9, 0x3b, 0x69,
0x8f, 0xe1, 0xd0, 0x50, 0xfd, 0x28, 0x7a, 0x5a, 0xdb, 0x7f, 0x56, 0x9d, 0xe9, 0x4e, 0x43, 0xdc,
0x07, 0x34, 0x5c, 0x36, 0x8d, 0xce, 0xeb, 0x57, 0x20, 0xab, 0x68, 0xbc, 0x75, 0x61, 0x6c, 0xfe,
0xd8, 0x70, 0xdf, 0x36, 0xe0, 0x48, 0x46, 0xd1, 0x27, 0xba, 0xa4, 0xed, 0x6e, 0x74, 0xe5, 0x6a,
0xeb, 0xd9, 0xdd, 0x09, 0xc5, 0x8a, 0xf8, 0x30, 0x3b, 0x50, 0x07, 0x89, 0xce, 0x65, 0xd6, 0x86,
0x0c, 0x17, 0x84, 0xb6, 0x9e, 0x1a, 0x8f, 0x39, 0x1e, 0xef, 0x36, 0xcc, 0x0e, 0x14, 0x0f, 0x66,
0x8c, 0xa7, 0x2f, 0x31, 0xdc, 0x69, 0x41, 0xdf, 0x86, 0x7a, 0xaa, 0xca, 0x2f, 0x03, 0xf1, 0xba,
0x4a, 0xc0, 0x9d, 0xba, 0xbe, 0x0d, 0xb5, 0x64, 0x31, 0x1e, 0x5a, 0xca, 0xda, 0x4b, 0x43, 0x1d,
0xef, 0x66, 0x2b, 0xf5, 0x6b, 0x6d, 0x46, 0x6c, 0xa5, 0xa1, 0xf2, 0xa4, 0xf1, 0xb7, 0x52, 0xa2,
0xff, 0x91, 0x5b, 0x69, 0xd7, 0x43, 0xbc, 0x67, 0xc0, 0x82, 0xbe, 0x96, 0x0b, 0x2d, 0x67, 0x61,
0x33, 0xbb, 0x6a, 0xad, 0x75, 0x69, 0x57, 0x32, 0xb1, 0x15, 0xef, 0xc2, 0x4c, 0xba, 0x62, 0x29,
0xc3, 0x8a, 0xda, 0x22, 0xaf, 0xd6, 0xb9, 0xb1, 0x78, 0xe3, 0xc1, 0xde, 0x84, 0x6a, 0xe2, 0x8f,
0x6b, 0xe8, 0xf4, 0x08, 0x1c, 0x27, 0xff, 0xc5, 0xb5, 0x93, 0x25, 0x5f, 0x87, 0x4a, 0xfc, 0x7f,
0x33, 0x74, 0x2a, 0x13, 0xbf, 0xbb, 0xe9, 0x72, 0x1d, 0xa0, 0xff, 0x67, 0x32, 0xf4, 0xa4, 0xb6,
0xcf, 0xa1, 0x7f, 0x9b, 0xed, 0xd4, 0x69, 0x3c, 0x7d, 0xf9, 0x82, 0x34, 0x6a, 0xfa, 0xc9, 0x27,
0xcf, 0x9d, 0xba, 0xdd, 0x82, 0x7a, 0xaa, 0x50, 0x21, 0x6b, 0x0b, 0x6b, 0xea, 0x47, 0x5a, 0x67,
0xc7, 0x61, 0x8d, 0xd7, 0x6f, 0x0b, 0xea, 0xa9, 0x67, 0xe3, 0x8c, 0x91, 0x74, 0xaf, 0xe4, 0x19,
0x23, 0x69, 0x5f, 0xa1, 0xcd, 0x29, 0xf4, 0x8d, 0xc4, 0x0b, 0x75, 0xaa, 0x0a, 0x00, 0x5d, 0x1c,
0xd9, 0x8f, 0xae, 0x08, 0xa2, 0xb5, 0xbc, 0x1b, 0x91, 0x58, 0x05, 0x85, 0x2a, 0x69, 0xd2, 0x6c,
0x54, 0xed, 0x66, 0xa5, 0xd6, 0xa1, 0x28, 0x1f, 0x82, 0x91, 0x99, 0x51, 0xf2, 0x91, 0x78, 0x25,
0x6e, 0x3d, 0xa1, 0xe5, 0x49, 0xbf, 0x91, 0xca, 0x4e, 0xe5, 0x43, 0x5f, 0x46, 0xa7, 0xa9, 0x57,
0xc0, 0x71, 0x3b, 0xb5, 0xa0, 0x28, 0x33, 0xfc, 0x19, 0x9d, 0xa6, 0x5e, 0xa9, 0x5a, 0xa3, 0x79,
0xe4, 0xb3, 0xc0, 0x14, 0x5a, 0x83, 0x82, 0xc8, 0x84, 0xa3, 0x93, 0xa3, 0xb2, 0xe4, 0xa3, 0x7a,
0x4c, 0x25, 0xd2, 0xcd, 0x29, 0xf4, 0x55, 0x28, 0x88, 0xfb, 0x59, 0x46, 0x8f, 0xc9, 0x54, 0x77,
0x6b, 0x24, 0x4b, 0xa4, 0xa2, 0x03, 0xb5, 0x64, 0x22, 0x2c, 0xe3, 0xc8, 0xd2, 0xa4, 0x0a, 0x5b,
0xe3, 0x70, 0x46, 0xa3, 0x7c, 0xc7, 0x80, 0x66, 0x56, 0xce, 0x04, 0x65, 0xc6, 0x25, 0xa3, 0x12,
0x3f, 0xad, 0xe7, 0x76, 0x29, 0x15, 0x9b, 0xf0, 0x5d, 0x98, 0xd3, 0x5c, 0xac, 0xd1, 0x85, 0xac,
0xfe, 0x32, 0x72, 0x02, 0xad, 0x67, 0xc6, 0x17, 0x88, 0xc7, 0x5e, 0x83, 0x82, 0xb8, 0x10, 0x67,
0x2c, 0x5f, 0xf2, 0x7e, 0x9d, 0x01, 0x88, 0xd4, 0x7d, 0xda, 0x9c, 0x42, 0x04, 0x6a, 0xc9, 0xdb,
0x71, 0xc6, 0xfa, 0x69, 0x2e, 0xd6, 0xad, 0x33, 0x63, 0x70, 0xc6, 0xc3, 0xd8, 0x00, 0xfd, 0xdb,
0x69, 0xc6, 0xe9, 0x30, 0x74, 0x41, 0x6e, 0x9d, 0xde, 0x91, 0x2f, 0x79, 0x50, 0x26, 0xee, 0x9b,
0x19, 0x27, 0xc5, 0xf0, 0x8d, 0x74, 0x07, 0xff, 0xb3, 0xdc, 0x83, 0xda, 0x5a, 0x18, 0x3c, 0xd8,
0x8e, 0x2e, 0x6b, 0xff, 0x1d, 0x73, 0x5d, 0x79, 0xee, 0x6b, 0x97, 0x36, 0x5d, 0xb6, 0xd5, 0xdb,
0xe0, 0x0a, 0x5d, 0x90, 0xbc, 0x4f, 0xbb, 0x81, 0xfa, 0x75, 0xc1, 0xf5, 0x19, 0x09, 0x7d, 0xec,
0x5d, 0x10, 0x7d, 0x29, 0x6a, 0x77, 0x63, 0xa3, 0x28, 0xbe, 0x2f, 0xfd, 0x27, 0x00, 0x00, 0xff,
0xff, 0x54, 0x59, 0x31, 0x8a, 0x2f, 0x3f, 0x00, 0x00,
}
// Reference imports to suppress errors if they are not otherwise used.
@ -4716,6 +4786,7 @@ type MilvusServiceClient interface {
RegisterLink(ctx context.Context, in *RegisterLinkRequest, opts ...grpc.CallOption) (*RegisterLinkResponse, error)
// https://wiki.lfaidata.foundation/display/MIL/MEP+8+--+Add+metrics+for+proxy
GetMetrics(ctx context.Context, in *GetMetricsRequest, opts ...grpc.CallOption) (*GetMetricsResponse, error)
LoadBalance(ctx context.Context, in *LoadBalanceRequest, opts ...grpc.CallOption) (*commonpb.Status, error)
}
type milvusServiceClient struct {
@ -5032,6 +5103,15 @@ func (c *milvusServiceClient) GetMetrics(ctx context.Context, in *GetMetricsRequ
return out, nil
}
func (c *milvusServiceClient) LoadBalance(ctx context.Context, in *LoadBalanceRequest, opts ...grpc.CallOption) (*commonpb.Status, error) {
out := new(commonpb.Status)
err := c.cc.Invoke(ctx, "/milvus.proto.milvus.MilvusService/LoadBalance", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
// MilvusServiceServer is the server API for MilvusService service.
type MilvusServiceServer interface {
CreateCollection(context.Context, *CreateCollectionRequest) (*commonpb.Status, error)
@ -5070,6 +5150,7 @@ type MilvusServiceServer interface {
RegisterLink(context.Context, *RegisterLinkRequest) (*RegisterLinkResponse, error)
// https://wiki.lfaidata.foundation/display/MIL/MEP+8+--+Add+metrics+for+proxy
GetMetrics(context.Context, *GetMetricsRequest) (*GetMetricsResponse, error)
LoadBalance(context.Context, *LoadBalanceRequest) (*commonpb.Status, error)
}
// UnimplementedMilvusServiceServer can be embedded to have forward compatible implementations.
@ -5178,6 +5259,9 @@ func (*UnimplementedMilvusServiceServer) RegisterLink(ctx context.Context, req *
func (*UnimplementedMilvusServiceServer) GetMetrics(ctx context.Context, req *GetMetricsRequest) (*GetMetricsResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method GetMetrics not implemented")
}
func (*UnimplementedMilvusServiceServer) LoadBalance(ctx context.Context, req *LoadBalanceRequest) (*commonpb.Status, error) {
return nil, status.Errorf(codes.Unimplemented, "method LoadBalance not implemented")
}
func RegisterMilvusServiceServer(s *grpc.Server, srv MilvusServiceServer) {
s.RegisterService(&_MilvusService_serviceDesc, srv)
@ -5795,6 +5879,24 @@ func _MilvusService_GetMetrics_Handler(srv interface{}, ctx context.Context, dec
return interceptor(ctx, in, info, handler)
}
func _MilvusService_LoadBalance_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(LoadBalanceRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(MilvusServiceServer).LoadBalance(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/milvus.proto.milvus.MilvusService/LoadBalance",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(MilvusServiceServer).LoadBalance(ctx, req.(*LoadBalanceRequest))
}
return interceptor(ctx, in, info, handler)
}
var _MilvusService_serviceDesc = grpc.ServiceDesc{
ServiceName: "milvus.proto.milvus.MilvusService",
HandlerType: (*MilvusServiceServer)(nil),
@ -5935,6 +6037,10 @@ var _MilvusService_serviceDesc = grpc.ServiceDesc{
MethodName: "GetMetrics",
Handler: _MilvusService_GetMetrics_Handler,
},
{
MethodName: "LoadBalance",
Handler: _MilvusService_LoadBalance_Handler,
},
},
Streams: []grpc.StreamDesc{},
Metadata: "milvus.proto",

View File

@ -26,6 +26,7 @@ service QueryCoord {
rpc CreateQueryChannel(CreateQueryChannelRequest) returns (CreateQueryChannelResponse) {}
rpc GetPartitionStates(GetPartitionStatesRequest) returns (GetPartitionStatesResponse) {}
rpc GetSegmentInfo(GetSegmentInfoRequest) returns (GetSegmentInfoResponse) {}
rpc LoadBalance(LoadBalanceRequest) returns (common.Status) {}
// https://wiki.lfaidata.foundation/display/MIL/MEP+8+--+Add+metrics+for+proxy
rpc GetMetrics(milvus.GetMetricsRequest) returns (milvus.GetMetricsResponse) {}

View File

@ -2328,153 +2328,154 @@ func init() {
func init() { proto.RegisterFile("query_coord.proto", fileDescriptor_aab7cc9a69ed26e8) }
var fileDescriptor_aab7cc9a69ed26e8 = []byte{
// 2321 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x19, 0xcb, 0x6e, 0x1c, 0xc7,
0x91, 0xb3, 0x0f, 0x72, 0xb7, 0xf6, 0x35, 0x6a, 0x89, 0xf4, 0x8a, 0xb1, 0x6c, 0x7a, 0x64, 0x3d,
0x4c, 0xc7, 0x94, 0x4c, 0x39, 0x0f, 0x23, 0xf1, 0xc1, 0xe2, 0x5a, 0xf4, 0x3a, 0x12, 0xc5, 0x0c,
0x65, 0x07, 0x11, 0x04, 0x4c, 0x86, 0x3b, 0xcd, 0xe5, 0x40, 0x33, 0xd3, 0xab, 0xe9, 0x59, 0x49,
0xd4, 0x39, 0x07, 0xe7, 0x10, 0xe4, 0x03, 0x12, 0x04, 0x08, 0x90, 0x20, 0xf0, 0x21, 0xc7, 0xe4,
0xac, 0x4f, 0xc8, 0x17, 0x04, 0x08, 0x92, 0x7b, 0x72, 0x49, 0xce, 0x41, 0x3f, 0x66, 0x76, 0x1e,
0xbd, 0xe4, 0x92, 0x8c, 0x22, 0xc1, 0xc8, 0x6d, 0xa6, 0xba, 0xba, 0xaa, 0xba, 0x9e, 0x5d, 0xd5,
0x70, 0xe6, 0xd1, 0x18, 0x87, 0x07, 0xd6, 0x80, 0x90, 0xd0, 0x59, 0x1b, 0x85, 0x24, 0x22, 0x08,
0xf9, 0xae, 0xf7, 0x78, 0x4c, 0xc5, 0xdf, 0x1a, 0x5f, 0x5f, 0x6e, 0x0e, 0x88, 0xef, 0x93, 0x40,
0xc0, 0x96, 0x9b, 0x69, 0x8c, 0xe5, 0xb6, 0x1b, 0x44, 0x38, 0x0c, 0x6c, 0x2f, 0x5e, 0xa5, 0x83,
0x7d, 0xec, 0xdb, 0xf2, 0x4f, 0x77, 0xec, 0xc8, 0x4e, 0xd3, 0x37, 0x7e, 0xaa, 0xc1, 0xd2, 0xce,
0x3e, 0x79, 0xb2, 0x41, 0x3c, 0x0f, 0x0f, 0x22, 0x97, 0x04, 0xd4, 0xc4, 0x8f, 0xc6, 0x98, 0x46,
0xe8, 0x3a, 0x54, 0x76, 0x6d, 0x8a, 0xbb, 0xda, 0x8a, 0x76, 0xb5, 0xb1, 0xfe, 0xfa, 0x5a, 0x46,
0x12, 0x29, 0xc2, 0x1d, 0x3a, 0xbc, 0x69, 0x53, 0x6c, 0x72, 0x4c, 0x84, 0xa0, 0xe2, 0xec, 0xf6,
0x7b, 0xdd, 0xd2, 0x8a, 0x76, 0xb5, 0x6c, 0xf2, 0x6f, 0xf4, 0x36, 0xb4, 0x06, 0x09, 0xed, 0x7e,
0x8f, 0x76, 0xcb, 0x2b, 0xe5, 0xab, 0x65, 0x33, 0x0b, 0x34, 0x7e, 0xaf, 0xc1, 0x6b, 0x05, 0x31,
0xe8, 0x88, 0x04, 0x14, 0xa3, 0x1b, 0x30, 0x4f, 0x23, 0x3b, 0x1a, 0x53, 0x29, 0xc9, 0x37, 0x94,
0x92, 0xec, 0x70, 0x14, 0x53, 0xa2, 0x16, 0xd9, 0x96, 0x14, 0x6c, 0xd1, 0xfb, 0x70, 0xce, 0x0d,
0xee, 0x60, 0x9f, 0x84, 0x07, 0xd6, 0x08, 0x87, 0x03, 0x1c, 0x44, 0xf6, 0x10, 0xc7, 0x32, 0x9e,
0x8d, 0xd7, 0xb6, 0x27, 0x4b, 0xc6, 0xef, 0x34, 0x58, 0x64, 0x92, 0x6e, 0xdb, 0x61, 0xe4, 0xbe,
0x00, 0x7d, 0x19, 0xd0, 0x4c, 0xcb, 0xd8, 0x2d, 0xf3, 0xb5, 0x0c, 0x8c, 0xe1, 0x8c, 0x62, 0xf6,
0xec, 0x6c, 0x15, 0x2e, 0x6e, 0x06, 0x66, 0xfc, 0x56, 0x1a, 0x36, 0x2d, 0xe7, 0x69, 0x14, 0x9a,
0xe7, 0x59, 0x2a, 0xf2, 0x3c, 0x89, 0x3a, 0x9f, 0x6b, 0xb0, 0x78, 0x9b, 0xd8, 0xce, 0xc4, 0xf0,
0xff, 0x7b, 0x75, 0x7e, 0x04, 0xf3, 0x22, 0x4a, 0xba, 0x15, 0xce, 0xeb, 0x52, 0x96, 0x97, 0x8c,
0xa0, 0x89, 0x84, 0x3b, 0x1c, 0x60, 0xca, 0x4d, 0xc6, 0xaf, 0x34, 0xe8, 0x9a, 0xd8, 0xc3, 0x36,
0xc5, 0x2f, 0xf3, 0x14, 0x4b, 0x30, 0x1f, 0x10, 0x07, 0xf7, 0x7b, 0xfc, 0x14, 0x65, 0x53, 0xfe,
0x19, 0x7f, 0x97, 0x1a, 0x7e, 0xc5, 0x1d, 0x36, 0x65, 0x85, 0xea, 0x49, 0xac, 0xf0, 0x7c, 0x62,
0x85, 0x57, 0xfd, 0xa4, 0x13, 0x4b, 0x55, 0x33, 0x96, 0xfa, 0x31, 0x9c, 0xdf, 0x08, 0xb1, 0x1d,
0xe1, 0x1f, 0xb2, 0x34, 0xbf, 0xb1, 0x6f, 0x07, 0x01, 0xf6, 0xe2, 0x23, 0xe4, 0x99, 0x6b, 0x0a,
0xe6, 0x5d, 0x58, 0x18, 0x85, 0xe4, 0xe9, 0x41, 0x22, 0x77, 0xfc, 0x6b, 0xfc, 0x46, 0x83, 0x65,
0x15, 0xed, 0xd3, 0x64, 0x84, 0x2b, 0xd0, 0x09, 0x85, 0x70, 0xd6, 0x40, 0xd0, 0xe3, 0x5c, 0xeb,
0x66, 0x5b, 0x82, 0x25, 0x17, 0x74, 0x09, 0xda, 0x21, 0xa6, 0x63, 0x6f, 0x82, 0x57, 0xe6, 0x78,
0x2d, 0x01, 0x95, 0x68, 0xc6, 0x57, 0x1a, 0x9c, 0xdf, 0xc4, 0x51, 0x62, 0x3d, 0xc6, 0x0e, 0xbf,
0xa2, 0xd9, 0xf5, 0xd7, 0x1a, 0x74, 0x72, 0x82, 0xa2, 0x15, 0x68, 0xa4, 0x70, 0xa4, 0x81, 0xd2,
0x20, 0xf4, 0x5d, 0xa8, 0x32, 0xdd, 0x61, 0x2e, 0x52, 0x7b, 0xdd, 0x58, 0x2b, 0x16, 0xf7, 0xb5,
0x2c, 0x55, 0x53, 0x6c, 0x40, 0xd7, 0xe0, 0xac, 0x22, 0xb3, 0x4a, 0xf1, 0x51, 0x31, 0xb1, 0x1a,
0x7f, 0xd0, 0x60, 0x59, 0xa5, 0xcc, 0xd3, 0x18, 0xfc, 0x3e, 0x2c, 0x25, 0xa7, 0xb1, 0x1c, 0x4c,
0x07, 0xa1, 0x3b, 0xe2, 0x61, 0xc6, 0x8b, 0x41, 0x63, 0xfd, 0xe2, 0xd1, 0xe7, 0xa1, 0xe6, 0x62,
0x42, 0xa2, 0x97, 0xa2, 0x60, 0xfc, 0x5c, 0x83, 0xc5, 0x4d, 0x1c, 0xed, 0xe0, 0xa1, 0x8f, 0x83,
0xa8, 0x1f, 0xec, 0x91, 0x93, 0x1b, 0xfe, 0x0d, 0x00, 0x2a, 0xe9, 0x24, 0x85, 0x2a, 0x05, 0x99,
0xc5, 0x09, 0x8c, 0x7f, 0x96, 0xa1, 0x91, 0x12, 0x06, 0xbd, 0x0e, 0xf5, 0x84, 0x82, 0x34, 0xed,
0x04, 0x50, 0xa0, 0x58, 0x52, 0xb8, 0x55, 0xce, 0x3d, 0xca, 0x45, 0xf7, 0x98, 0x92, 0xc1, 0xd1,
0x79, 0xa8, 0xf9, 0xd8, 0xb7, 0xa8, 0xfb, 0x0c, 0xcb, 0x8c, 0xb1, 0xe0, 0x63, 0x7f, 0xc7, 0x7d,
0x86, 0xd9, 0x52, 0x30, 0xf6, 0xad, 0x90, 0x3c, 0xa1, 0xdd, 0x79, 0xb1, 0x14, 0x8c, 0x7d, 0x93,
0x3c, 0xa1, 0xe8, 0x02, 0x80, 0x1b, 0x38, 0xf8, 0xa9, 0x15, 0xd8, 0x3e, 0xee, 0x2e, 0xf0, 0x88,
0xab, 0x73, 0xc8, 0x96, 0xed, 0x63, 0x96, 0x2b, 0xf8, 0x4f, 0xbf, 0xd7, 0xad, 0x89, 0x8d, 0xf2,
0x97, 0x1d, 0x55, 0xc6, 0x69, 0xbf, 0xd7, 0xad, 0x8b, 0x7d, 0x09, 0x00, 0x7d, 0x02, 0x2d, 0x79,
0x6e, 0x4b, 0xf8, 0x32, 0x70, 0x5f, 0x5e, 0x51, 0xd9, 0x5e, 0x2a, 0x50, 0x78, 0x72, 0x93, 0xa6,
0xfe, 0xd0, 0x65, 0x68, 0x0f, 0x88, 0x3f, 0xb2, 0xb9, 0x76, 0x6e, 0x85, 0xc4, 0xef, 0x36, 0xb8,
0x9d, 0x72, 0x50, 0x74, 0x1d, 0xce, 0x0e, 0x78, 0xde, 0x72, 0x6e, 0x1e, 0x6c, 0x24, 0x4b, 0xdd,
0xe6, 0x8a, 0x76, 0xb5, 0x66, 0xaa, 0x96, 0xd0, 0x77, 0xe2, 0x20, 0x6b, 0x71, 0xc1, 0xde, 0x52,
0x7b, 0x76, 0x5a, 0x32, 0x81, 0xcf, 0xaf, 0xc2, 0x79, 0x17, 0x3c, 0x4d, 0xb8, 0x7c, 0x0b, 0xaa,
0x6e, 0xb0, 0x47, 0xe2, 0xe8, 0x78, 0xf3, 0x10, 0x0d, 0x71, 0x66, 0x02, 0xdb, 0xf8, 0x53, 0x19,
0x96, 0x3e, 0x76, 0x1c, 0x55, 0x0d, 0x38, 0x7e, 0x28, 0x4c, 0x5c, 0xaa, 0x94, 0x71, 0xa9, 0x59,
0xf2, 0xe0, 0xbb, 0x70, 0x26, 0x97, 0xdf, 0xa5, 0x67, 0xd6, 0x4d, 0x3d, 0x9b, 0xe1, 0xfb, 0x3d,
0xf4, 0x0e, 0xe8, 0xd9, 0x1c, 0x2f, 0xab, 0x5b, 0xdd, 0xec, 0x64, 0xb2, 0x7c, 0xbf, 0x87, 0xbe,
0x0d, 0xaf, 0x0d, 0x3d, 0xb2, 0x6b, 0x7b, 0x16, 0xc5, 0xb6, 0x87, 0x1d, 0x6b, 0x12, 0x58, 0xf3,
0xdc, 0x07, 0x16, 0xc5, 0xf2, 0x0e, 0x5f, 0xdd, 0x49, 0x82, 0x6c, 0x93, 0x79, 0x1e, 0x7e, 0x68,
0x8d, 0x08, 0xe5, 0x11, 0xc3, 0x7d, 0xba, 0x91, 0xcf, 0xa2, 0x49, 0xff, 0x73, 0x87, 0x0e, 0xb7,
0x25, 0x26, 0xf3, 0x3d, 0xfc, 0x30, 0xfe, 0x43, 0x9f, 0xc3, 0x92, 0x52, 0x00, 0xda, 0xad, 0xcd,
0x66, 0xa9, 0x73, 0x0a, 0x01, 0xa9, 0xf1, 0x57, 0x0d, 0xce, 0x9b, 0xd8, 0x27, 0x8f, 0xf1, 0xd7,
0xd6, 0x76, 0xc6, 0xdf, 0x4a, 0xb0, 0xf4, 0x23, 0x3b, 0x1a, 0xec, 0xf7, 0x7c, 0x09, 0xa4, 0x2f,
0xe7, 0x80, 0xb9, 0x6c, 0x5a, 0x29, 0x66, 0xd3, 0x24, 0xfc, 0xaa, 0x2a, 0xa3, 0xb2, 0x46, 0x78,
0xed, 0x8b, 0xf8, 0xbc, 0x93, 0xf0, 0x4b, 0x5d, 0x43, 0xe7, 0x4f, 0x70, 0x0d, 0x45, 0x1b, 0xd0,
0xc2, 0x4f, 0x07, 0xde, 0xd8, 0xc1, 0x96, 0xe0, 0xbe, 0xc0, 0xb9, 0xbf, 0xa1, 0xe0, 0x9e, 0xf6,
0xa8, 0xa6, 0xdc, 0xd4, 0xe7, 0x29, 0xe0, 0xb9, 0x06, 0xe7, 0x85, 0x96, 0xb1, 0x17, 0xd9, 0x2f,
0x57, 0xd1, 0x89, 0x1a, 0x2b, 0xc7, 0x51, 0xa3, 0xf1, 0x65, 0x19, 0x3a, 0xf2, 0x80, 0xac, 0xf9,
0x98, 0xa1, 0x86, 0xe6, 0x2c, 0x5a, 0x2a, 0x5a, 0x74, 0x16, 0x71, 0xe3, 0x4b, 0x5f, 0x25, 0x75,
0xe9, 0xbb, 0x00, 0xb0, 0xe7, 0x8d, 0xe9, 0xbe, 0x15, 0xb9, 0x7e, 0x5c, 0x41, 0xeb, 0x1c, 0x72,
0xcf, 0xf5, 0x31, 0xfa, 0x18, 0x9a, 0xbb, 0x6e, 0xe0, 0x91, 0xa1, 0x35, 0xb2, 0xa3, 0x7d, 0xca,
0x93, 0x90, 0xda, 0x62, 0xb7, 0x5c, 0xec, 0x39, 0x37, 0x39, 0xae, 0xd9, 0x10, 0x7b, 0xb6, 0xd9,
0x16, 0xf4, 0x06, 0x34, 0x58, 0x19, 0x26, 0x7b, 0xa2, 0x12, 0x2f, 0x08, 0x16, 0xc1, 0xd8, 0xbf,
0xbb, 0xc7, 0x6b, 0xf1, 0xf7, 0xa1, 0xce, 0x8a, 0x02, 0xf5, 0xc8, 0x30, 0x4e, 0x32, 0x47, 0xd1,
0x9f, 0x6c, 0x40, 0x1f, 0x41, 0xdd, 0x61, 0x8e, 0xc0, 0x77, 0xd7, 0xa7, 0x9a, 0x81, 0x3b, 0xcb,
0x6d, 0x32, 0xe4, 0x66, 0x98, 0xec, 0x30, 0xfe, 0x5d, 0x82, 0xb3, 0xcc, 0x06, 0x71, 0xa2, 0x3a,
0xb9, 0x1f, 0x5d, 0x00, 0x70, 0x68, 0x64, 0x65, 0x7c, 0xa9, 0xee, 0xd0, 0x68, 0x4b, 0xb8, 0xd3,
0x87, 0xb1, 0xab, 0x94, 0xa7, 0x5f, 0x07, 0x73, 0x3e, 0x51, 0x8c, 0xba, 0x93, 0xb4, 0xe0, 0xe8,
0x07, 0xd0, 0xf6, 0x88, 0xed, 0x58, 0x03, 0x12, 0x38, 0xa2, 0x36, 0x54, 0x79, 0xf1, 0x7f, 0x5b,
0x25, 0xc2, 0xbd, 0xd0, 0x1d, 0x0e, 0x71, 0xb8, 0x11, 0xe3, 0x9a, 0x2d, 0x8f, 0x0f, 0x20, 0xe4,
0x2f, 0xba, 0x08, 0x2d, 0x4a, 0xc6, 0xe1, 0x00, 0xc7, 0x07, 0x15, 0x17, 0xab, 0xa6, 0x00, 0x6e,
0xa9, 0x43, 0x67, 0x41, 0x71, 0x87, 0xfc, 0x8b, 0x06, 0x4b, 0xb2, 0x25, 0x3d, 0xbd, 0xee, 0xa7,
0xc5, 0x70, 0xec, 0xf0, 0xe5, 0x43, 0xba, 0x9c, 0xca, 0x0c, 0x5d, 0x4e, 0x55, 0xd1, 0xa8, 0x66,
0x2f, 0xd2, 0xf3, 0xf9, 0x8b, 0xb4, 0x71, 0x0f, 0x5a, 0x49, 0x1d, 0xe0, 0x11, 0x7e, 0x11, 0x5a,
0x42, 0x2c, 0x8b, 0xa9, 0x14, 0x3b, 0x71, 0x97, 0x2a, 0x80, 0xb7, 0x39, 0x8c, 0x51, 0x4d, 0xea,
0x8c, 0xb8, 0x1c, 0xd5, 0xcd, 0x14, 0xc4, 0xf8, 0x63, 0x09, 0xf4, 0x74, 0x05, 0xe5, 0x94, 0x67,
0x69, 0x7f, 0xaf, 0x40, 0x47, 0x0e, 0x50, 0x93, 0x32, 0x26, 0x1b, 0xd2, 0x47, 0x69, 0x72, 0x3d,
0xf4, 0x01, 0x2c, 0x09, 0xc4, 0x42, 0xd9, 0x13, 0x8d, 0xe9, 0x39, 0xbe, 0x6a, 0xe6, 0xee, 0x2d,
0xd3, 0xaf, 0x0d, 0x95, 0x53, 0x5c, 0x1b, 0x8a, 0xd7, 0x9a, 0xea, 0xc9, 0xae, 0x35, 0xc6, 0x9f,
0xcb, 0xd0, 0x9e, 0x44, 0xc8, 0xcc, 0x5a, 0x9b, 0x65, 0xb0, 0xb7, 0x05, 0xfa, 0xa4, 0xf3, 0xe3,
0xb7, 0xe5, 0x43, 0x83, 0x3c, 0xdf, 0xf3, 0x75, 0x46, 0xb9, 0x56, 0xf9, 0x16, 0xb4, 0xa4, 0xce,
0xad, 0x74, 0x71, 0x79, 0x4b, 0x45, 0x2c, 0xe3, 0x61, 0x66, 0x33, 0x55, 0x6b, 0x28, 0xfa, 0x10,
0xea, 0x3c, 0xee, 0xa3, 0x83, 0x11, 0x96, 0x21, 0xff, 0xba, 0x8a, 0x06, 0xf3, 0xbc, 0x7b, 0x07,
0x23, 0x6c, 0xd6, 0x3c, 0xf9, 0x75, 0xda, 0x3a, 0x7f, 0x03, 0x16, 0x43, 0x11, 0xda, 0x8e, 0x95,
0x51, 0xdf, 0x02, 0x57, 0xdf, 0xb9, 0x78, 0x71, 0x3b, 0xad, 0xc6, 0x29, 0x5d, 0x7c, 0x6d, 0x6a,
0x17, 0xff, 0xcb, 0x12, 0x2c, 0x31, 0xd9, 0x6f, 0xda, 0x9e, 0x1d, 0x0c, 0xf0, 0xec, 0x0d, 0xe9,
0x7f, 0xa7, 0x98, 0x16, 0x32, 0x61, 0x45, 0x91, 0x09, 0xb3, 0x45, 0xa1, 0x9a, 0x2f, 0x0a, 0x6f,
0x42, 0x43, 0xd2, 0x70, 0x48, 0x80, 0xb9, 0xb2, 0x6b, 0x26, 0x08, 0x50, 0x8f, 0x04, 0xbc, 0x85,
0x65, 0xfb, 0xf9, 0xea, 0x02, 0x5f, 0x5d, 0x70, 0x68, 0xc4, 0x97, 0x2e, 0x00, 0x3c, 0xb6, 0x3d,
0xd7, 0xe1, 0x4e, 0xc2, 0xd5, 0x54, 0x33, 0xeb, 0x1c, 0xc2, 0x54, 0x60, 0xfc, 0x42, 0x83, 0xa5,
0x4f, 0xed, 0xc0, 0x21, 0x7b, 0x7b, 0xa7, 0xcf, 0xaf, 0x1b, 0x10, 0x37, 0xa8, 0xfd, 0xe3, 0x34,
0x6d, 0x99, 0x4d, 0xc6, 0x97, 0x25, 0x40, 0x29, 0x7b, 0x9d, 0x5c, 0x9a, 0x4b, 0xd0, 0xce, 0x68,
0x3e, 0x79, 0xbf, 0x48, 0xab, 0x9e, 0xb2, 0xba, 0xb7, 0x2b, 0x58, 0x59, 0x21, 0xb6, 0x29, 0x09,
0xb8, 0x19, 0x67, 0xae, 0x7b, 0xbb, 0xb1, 0x98, 0x6c, 0x2b, 0xb3, 0xd4, 0xc4, 0x90, 0xf1, 0xd8,
0x0b, 0x12, 0x4b, 0x52, 0xd6, 0x54, 0xe4, 0x3b, 0xb6, 0xb8, 0x6e, 0xe8, 0x34, 0xdb, 0xac, 0x51,
0xe3, 0x5f, 0x1a, 0x9c, 0x91, 0xbf, 0x2c, 0x7e, 0x87, 0x38, 0x2e, 0x10, 0x24, 0xf0, 0xdc, 0x20,
0xf1, 0x28, 0x99, 0x91, 0x04, 0x50, 0xba, 0xcc, 0xa7, 0xd0, 0x91, 0x48, 0x49, 0x86, 0x9d, 0xd1,
0x1a, 0x6d, 0xb1, 0x2f, 0xc9, 0xad, 0x97, 0xa0, 0x4d, 0xf6, 0xf6, 0xd2, 0xfc, 0x84, 0x9b, 0xb7,
0x24, 0x54, 0x32, 0xfc, 0x0c, 0xf4, 0x18, 0xed, 0xb8, 0x39, 0xbd, 0x23, 0x37, 0x26, 0x5d, 0xe0,
0xcf, 0x34, 0xe8, 0x66, 0x33, 0x7c, 0xea, 0xf8, 0xc7, 0x77, 0x84, 0xef, 0x65, 0x87, 0x08, 0x97,
0x0e, 0x91, 0x67, 0xc2, 0x47, 0xde, 0xaa, 0x56, 0x9f, 0x41, 0x3b, 0x9b, 0x8a, 0x51, 0x13, 0x6a,
0x5b, 0x24, 0xfa, 0xe4, 0xa9, 0x4b, 0x23, 0x7d, 0x0e, 0xb5, 0x01, 0xb6, 0x48, 0xb4, 0x1d, 0x62,
0x8a, 0x83, 0x48, 0xd7, 0x10, 0xc0, 0xfc, 0xdd, 0xa0, 0xe7, 0xd2, 0x87, 0x7a, 0x09, 0x9d, 0x95,
0x03, 0x4e, 0xdb, 0xeb, 0xcb, 0xbc, 0xa4, 0x97, 0xd9, 0xf6, 0xe4, 0xaf, 0x82, 0x74, 0x68, 0x26,
0x28, 0x9b, 0xdb, 0x9f, 0xeb, 0x55, 0x54, 0x87, 0xaa, 0xf8, 0x9c, 0x5f, 0xbd, 0x0b, 0x7a, 0xde,
0xe1, 0x50, 0x03, 0x16, 0xf6, 0x45, 0xbc, 0xea, 0x73, 0xa8, 0x03, 0x0d, 0x6f, 0x12, 0x2a, 0xba,
0xc6, 0x00, 0xc3, 0x70, 0x34, 0x90, 0x41, 0xa3, 0x97, 0x18, 0x37, 0x66, 0xb5, 0x1e, 0x79, 0x12,
0xe8, 0xe5, 0xd5, 0xcf, 0xa0, 0x99, 0x9e, 0xda, 0xa0, 0x1a, 0x54, 0xb6, 0x48, 0x80, 0xf5, 0x39,
0x46, 0x76, 0x33, 0x24, 0x4f, 0xdc, 0x60, 0x28, 0xce, 0x70, 0x2b, 0x24, 0xcf, 0x70, 0xa0, 0x97,
0xd8, 0x02, 0xf3, 0x4b, 0xb6, 0x50, 0x66, 0x0b, 0xc2, 0x49, 0xf5, 0xca, 0xea, 0xfb, 0x50, 0x8b,
0x4b, 0x02, 0x3a, 0x03, 0xad, 0xcc, 0xf3, 0x88, 0x3e, 0x87, 0x90, 0xb8, 0x4e, 0x4e, 0x92, 0xbf,
0xae, 0xad, 0xff, 0x03, 0x00, 0xc4, 0xad, 0x84, 0x90, 0xd0, 0x41, 0x23, 0x40, 0x9b, 0x38, 0xda,
0x20, 0xfe, 0x88, 0x04, 0xb1, 0x48, 0x14, 0x5d, 0x9f, 0x52, 0xb4, 0x8b, 0xa8, 0xf2, 0x94, 0xcb,
0x97, 0xa7, 0xec, 0xc8, 0xa1, 0x1b, 0x73, 0xc8, 0xe7, 0x1c, 0x59, 0xc7, 0x72, 0xcf, 0x1d, 0x3c,
0x8c, 0x67, 0xeb, 0x87, 0x70, 0xcc, 0xa1, 0xc6, 0x1c, 0x73, 0x15, 0x5b, 0xfe, 0xec, 0x44, 0xa1,
0x1b, 0x0c, 0xe3, 0x81, 0x97, 0x31, 0x87, 0x1e, 0xc1, 0xb9, 0x4d, 0xcc, 0xb9, 0xbb, 0x34, 0x72,
0x07, 0x34, 0x66, 0xb8, 0x3e, 0x9d, 0x61, 0x01, 0xf9, 0x98, 0x2c, 0x3d, 0xe8, 0xe4, 0xde, 0x80,
0xd1, 0xaa, 0xd2, 0xdf, 0x95, 0xef, 0xd5, 0xcb, 0xef, 0xce, 0x84, 0x9b, 0x70, 0x73, 0xa1, 0x9d,
0x7d, 0x1f, 0x45, 0xef, 0x4c, 0x23, 0x50, 0x78, 0x50, 0x5a, 0x5e, 0x9d, 0x05, 0x35, 0x61, 0x75,
0x1f, 0xda, 0xd9, 0x17, 0x38, 0x35, 0x2b, 0xe5, 0x2b, 0xdd, 0xf2, 0x61, 0xb3, 0x46, 0x63, 0x0e,
0xfd, 0x04, 0xce, 0x14, 0x9e, 0xbd, 0xd0, 0x37, 0x55, 0xe4, 0xa7, 0xbd, 0x8e, 0x1d, 0xc5, 0x41,
0x4a, 0x3f, 0xd1, 0xe2, 0x74, 0xe9, 0x0b, 0xef, 0x9f, 0xb3, 0x4b, 0x9f, 0x22, 0x7f, 0x98, 0xf4,
0xc7, 0xe6, 0x30, 0x06, 0x54, 0x7c, 0xf8, 0x42, 0xef, 0xa9, 0x58, 0x4c, 0x7d, 0x7c, 0x5b, 0x5e,
0x9b, 0x15, 0x3d, 0x31, 0xf9, 0x98, 0x47, 0x6b, 0xfe, 0x89, 0x48, 0xc9, 0x76, 0xea, 0x9b, 0x97,
0x9a, 0xed, 0xf4, 0x57, 0x1d, 0xe1, 0xd4, 0xd9, 0x11, 0xb6, 0xda, 0x56, 0xca, 0x97, 0x16, 0xb5,
0x53, 0xab, 0x27, 0xe2, 0xc6, 0x1c, 0xb2, 0x00, 0x36, 0x71, 0x74, 0x07, 0x47, 0xa1, 0x3b, 0xa0,
0xe8, 0xb2, 0x32, 0xc4, 0x27, 0x08, 0x31, 0x8f, 0x2b, 0x47, 0xe2, 0xc5, 0x0c, 0xd6, 0xbf, 0x02,
0xa8, 0x73, 0xed, 0xb2, 0x2a, 0xfd, 0xff, 0x84, 0xfb, 0x02, 0x12, 0xee, 0x03, 0xe8, 0xe4, 0x5e,
0x1a, 0xd4, 0x09, 0x57, 0xfd, 0x1c, 0x71, 0x54, 0xe4, 0xed, 0x02, 0x2a, 0x8e, 0xc3, 0xd5, 0x21,
0x30, 0x75, 0x6c, 0x7e, 0x14, 0x8f, 0x07, 0xd0, 0xc9, 0x8d, 0xa3, 0xd5, 0x27, 0x50, 0xcf, 0xac,
0x67, 0x38, 0x41, 0x71, 0x0c, 0xab, 0x3e, 0xc1, 0xd4, 0x71, 0xed, 0x51, 0x3c, 0xbe, 0x80, 0x66,
0x7a, 0x38, 0x87, 0xae, 0x4c, 0xcb, 0xad, 0xb9, 0x16, 0xe7, 0xe5, 0x67, 0xd6, 0x17, 0x5f, 0x79,
0x1e, 0x40, 0x27, 0x37, 0x3f, 0x53, 0x5b, 0x57, 0x3d, 0x64, 0x3b, 0x8a, 0xfa, 0xd7, 0x28, 0x57,
0xde, 0xfc, 0xe0, 0xfe, 0xfa, 0xd0, 0x8d, 0xf6, 0xc7, 0xbb, 0xec, 0x94, 0xd7, 0x04, 0xe6, 0x7b,
0x2e, 0x91, 0x5f, 0xd7, 0xe2, 0xa4, 0x71, 0x8d, 0x53, 0xba, 0xc6, 0xa5, 0x1d, 0xed, 0xee, 0xce,
0xf3, 0xdf, 0x1b, 0xff, 0x09, 0x00, 0x00, 0xff, 0xff, 0xa6, 0x2a, 0xbe, 0x5a, 0x78, 0x28, 0x00,
0x00,
// 2340 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x19, 0x4d, 0x6f, 0xdc, 0xc6,
0x55, 0xdc, 0x5d, 0x49, 0xbb, 0x6f, 0xbf, 0xe8, 0xb1, 0xa5, 0xac, 0x55, 0xdb, 0x51, 0xe8, 0xf8,
0x23, 0x4a, 0x23, 0x3b, 0x72, 0xfa, 0x11, 0xb4, 0x39, 0xc4, 0xda, 0x58, 0xd9, 0xd4, 0x96, 0x55,
0x4a, 0x49, 0x51, 0xc3, 0x00, 0x4b, 0x2d, 0x47, 0x2b, 0xc2, 0x24, 0x67, 0xcd, 0xe1, 0xda, 0x96,
0xcf, 0x3d, 0xa4, 0x87, 0xa2, 0x3f, 0xa0, 0x45, 0x81, 0x02, 0x2d, 0x8a, 0x1c, 0x7a, 0x6c, 0xcf,
0xbe, 0xf4, 0xde, 0x5f, 0x50, 0xa0, 0x68, 0x7f, 0x40, 0x2f, 0xed, 0xb9, 0x98, 0x0f, 0x72, 0xf9,
0x31, 0x2b, 0xad, 0xa4, 0x3a, 0x36, 0x8a, 0xde, 0xc8, 0x37, 0x6f, 0xde, 0x7b, 0xf3, 0xbe, 0xdf,
0x0c, 0x9c, 0x79, 0x3c, 0xc2, 0xe1, 0x81, 0xd5, 0x27, 0x24, 0x74, 0x56, 0x87, 0x21, 0x89, 0x08,
0x42, 0xbe, 0xeb, 0x3d, 0x19, 0x51, 0xf1, 0xb7, 0xca, 0xd7, 0x97, 0x1a, 0x7d, 0xe2, 0xfb, 0x24,
0x10, 0xb0, 0xa5, 0x46, 0x1a, 0x63, 0xa9, 0xe5, 0x06, 0x11, 0x0e, 0x03, 0xdb, 0x8b, 0x57, 0x69,
0x7f, 0x1f, 0xfb, 0xb6, 0xfc, 0xd3, 0x1d, 0x3b, 0xb2, 0xd3, 0xf4, 0x8d, 0x9f, 0x6a, 0xb0, 0xb8,
0xbd, 0x4f, 0x9e, 0xae, 0x13, 0xcf, 0xc3, 0xfd, 0xc8, 0x25, 0x01, 0x35, 0xf1, 0xe3, 0x11, 0xa6,
0x11, 0xba, 0x09, 0x95, 0x5d, 0x9b, 0xe2, 0x8e, 0xb6, 0xac, 0x5d, 0xaf, 0xaf, 0x5d, 0x58, 0xcd,
0x48, 0x22, 0x45, 0xb8, 0x47, 0x07, 0xb7, 0x6d, 0x8a, 0x4d, 0x8e, 0x89, 0x10, 0x54, 0x9c, 0xdd,
0x5e, 0xb7, 0x53, 0x5a, 0xd6, 0xae, 0x97, 0x4d, 0xfe, 0x8d, 0xde, 0x86, 0x66, 0x3f, 0xa1, 0xdd,
0xeb, 0xd2, 0x4e, 0x79, 0xb9, 0x7c, 0xbd, 0x6c, 0x66, 0x81, 0xc6, 0xef, 0x35, 0x78, 0xa3, 0x20,
0x06, 0x1d, 0x92, 0x80, 0x62, 0x74, 0x0b, 0xe6, 0x68, 0x64, 0x47, 0x23, 0x2a, 0x25, 0xf9, 0x86,
0x52, 0x92, 0x6d, 0x8e, 0x62, 0x4a, 0xd4, 0x22, 0xdb, 0x92, 0x82, 0x2d, 0x7a, 0x1f, 0xce, 0xb9,
0xc1, 0x3d, 0xec, 0x93, 0xf0, 0xc0, 0x1a, 0xe2, 0xb0, 0x8f, 0x83, 0xc8, 0x1e, 0xe0, 0x58, 0xc6,
0xb3, 0xf1, 0xda, 0xd6, 0x78, 0xc9, 0xf8, 0x9d, 0x06, 0x0b, 0x4c, 0xd2, 0x2d, 0x3b, 0x8c, 0xdc,
0x97, 0xa0, 0x2f, 0x03, 0x1a, 0x69, 0x19, 0x3b, 0x65, 0xbe, 0x96, 0x81, 0x31, 0x9c, 0x61, 0xcc,
0x9e, 0x9d, 0xad, 0xc2, 0xc5, 0xcd, 0xc0, 0x8c, 0xdf, 0x4a, 0xc3, 0xa6, 0xe5, 0x3c, 0x8d, 0x42,
0xf3, 0x3c, 0x4b, 0x45, 0x9e, 0x27, 0x51, 0xe7, 0x0b, 0x0d, 0x16, 0xee, 0x12, 0xdb, 0x19, 0x1b,
0xfe, 0xeb, 0x57, 0xe7, 0x47, 0x30, 0x27, 0xa2, 0xa4, 0x53, 0xe1, 0xbc, 0xae, 0x64, 0x79, 0xc9,
0x08, 0x1a, 0x4b, 0xb8, 0xcd, 0x01, 0xa6, 0xdc, 0x64, 0xfc, 0x4a, 0x83, 0x8e, 0x89, 0x3d, 0x6c,
0x53, 0xfc, 0x2a, 0x4f, 0xb1, 0x08, 0x73, 0x01, 0x71, 0x70, 0xaf, 0xcb, 0x4f, 0x51, 0x36, 0xe5,
0x9f, 0xf1, 0x0f, 0xa9, 0xe1, 0xd7, 0xdc, 0x61, 0x53, 0x56, 0x98, 0x3d, 0x89, 0x15, 0x5e, 0x8c,
0xad, 0xf0, 0xba, 0x9f, 0x74, 0x6c, 0xa9, 0xd9, 0x8c, 0xa5, 0x7e, 0x0c, 0xe7, 0xd7, 0x43, 0x6c,
0x47, 0xf8, 0x87, 0x2c, 0xcd, 0xaf, 0xef, 0xdb, 0x41, 0x80, 0xbd, 0xf8, 0x08, 0x79, 0xe6, 0x9a,
0x82, 0x79, 0x07, 0xe6, 0x87, 0x21, 0x79, 0x76, 0x90, 0xc8, 0x1d, 0xff, 0x1a, 0xbf, 0xd1, 0x60,
0x49, 0x45, 0xfb, 0x34, 0x19, 0xe1, 0x1a, 0xb4, 0x43, 0x21, 0x9c, 0xd5, 0x17, 0xf4, 0x38, 0xd7,
0x9a, 0xd9, 0x92, 0x60, 0xc9, 0x05, 0x5d, 0x81, 0x56, 0x88, 0xe9, 0xc8, 0x1b, 0xe3, 0x95, 0x39,
0x5e, 0x53, 0x40, 0x25, 0x9a, 0xf1, 0x95, 0x06, 0xe7, 0x37, 0x70, 0x94, 0x58, 0x8f, 0xb1, 0xc3,
0xaf, 0x69, 0x76, 0xfd, 0xb5, 0x06, 0xed, 0x9c, 0xa0, 0x68, 0x19, 0xea, 0x29, 0x1c, 0x69, 0xa0,
0x34, 0x08, 0x7d, 0x17, 0x66, 0x99, 0xee, 0x30, 0x17, 0xa9, 0xb5, 0x66, 0xac, 0x16, 0x8b, 0xfb,
0x6a, 0x96, 0xaa, 0x29, 0x36, 0xa0, 0x1b, 0x70, 0x56, 0x91, 0x59, 0xa5, 0xf8, 0xa8, 0x98, 0x58,
0x8d, 0x3f, 0x68, 0xb0, 0xa4, 0x52, 0xe6, 0x69, 0x0c, 0xfe, 0x00, 0x16, 0x93, 0xd3, 0x58, 0x0e,
0xa6, 0xfd, 0xd0, 0x1d, 0xf2, 0x30, 0xe3, 0xc5, 0xa0, 0xbe, 0x76, 0xf9, 0xe8, 0xf3, 0x50, 0x73,
0x21, 0x21, 0xd1, 0x4d, 0x51, 0x30, 0x7e, 0xae, 0xc1, 0xc2, 0x06, 0x8e, 0xb6, 0xf1, 0xc0, 0xc7,
0x41, 0xd4, 0x0b, 0xf6, 0xc8, 0xc9, 0x0d, 0x7f, 0x09, 0x80, 0x4a, 0x3a, 0x49, 0xa1, 0x4a, 0x41,
0xa6, 0x71, 0x02, 0xe3, 0x9f, 0x65, 0xa8, 0xa7, 0x84, 0x41, 0x17, 0xa0, 0x96, 0x50, 0x90, 0xa6,
0x1d, 0x03, 0x0a, 0x14, 0x4b, 0x0a, 0xb7, 0xca, 0xb9, 0x47, 0xb9, 0xe8, 0x1e, 0x13, 0x32, 0x38,
0x3a, 0x0f, 0x55, 0x1f, 0xfb, 0x16, 0x75, 0x9f, 0x63, 0x99, 0x31, 0xe6, 0x7d, 0xec, 0x6f, 0xbb,
0xcf, 0x31, 0x5b, 0x0a, 0x46, 0xbe, 0x15, 0x92, 0xa7, 0xb4, 0x33, 0x27, 0x96, 0x82, 0x91, 0x6f,
0x92, 0xa7, 0x14, 0x5d, 0x04, 0x70, 0x03, 0x07, 0x3f, 0xb3, 0x02, 0xdb, 0xc7, 0x9d, 0x79, 0x1e,
0x71, 0x35, 0x0e, 0xd9, 0xb4, 0x7d, 0xcc, 0x72, 0x05, 0xff, 0xe9, 0x75, 0x3b, 0x55, 0xb1, 0x51,
0xfe, 0xb2, 0xa3, 0xca, 0x38, 0xed, 0x75, 0x3b, 0x35, 0xb1, 0x2f, 0x01, 0xa0, 0x4f, 0xa0, 0x29,
0xcf, 0x6d, 0x09, 0x5f, 0x06, 0xee, 0xcb, 0xcb, 0x2a, 0xdb, 0x4b, 0x05, 0x0a, 0x4f, 0x6e, 0xd0,
0xd4, 0x1f, 0xba, 0x0a, 0xad, 0x3e, 0xf1, 0x87, 0x36, 0xd7, 0xce, 0x9d, 0x90, 0xf8, 0x9d, 0x3a,
0xb7, 0x53, 0x0e, 0x8a, 0x6e, 0xc2, 0xd9, 0x3e, 0xcf, 0x5b, 0xce, 0xed, 0x83, 0xf5, 0x64, 0xa9,
0xd3, 0x58, 0xd6, 0xae, 0x57, 0x4d, 0xd5, 0x12, 0xfa, 0x4e, 0x1c, 0x64, 0x4d, 0x2e, 0xd8, 0x5b,
0x6a, 0xcf, 0x4e, 0x4b, 0x26, 0xf0, 0x79, 0x2b, 0x9c, 0x77, 0xc1, 0xd3, 0x84, 0xcb, 0xb7, 0x60,
0xd6, 0x0d, 0xf6, 0x48, 0x1c, 0x1d, 0x6f, 0x1e, 0xa2, 0x21, 0xce, 0x4c, 0x60, 0x1b, 0x7f, 0x2a,
0xc3, 0xe2, 0xc7, 0x8e, 0xa3, 0xaa, 0x01, 0xc7, 0x0f, 0x85, 0xb1, 0x4b, 0x95, 0x32, 0x2e, 0x35,
0x4d, 0x1e, 0x7c, 0x17, 0xce, 0xe4, 0xf2, 0xbb, 0xf4, 0xcc, 0x9a, 0xa9, 0x67, 0x33, 0x7c, 0xaf,
0x8b, 0xde, 0x01, 0x3d, 0x9b, 0xe3, 0x65, 0x75, 0xab, 0x99, 0xed, 0x4c, 0x96, 0xef, 0x75, 0xd1,
0xb7, 0xe1, 0x8d, 0x81, 0x47, 0x76, 0x6d, 0xcf, 0xa2, 0xd8, 0xf6, 0xb0, 0x63, 0x8d, 0x03, 0x6b,
0x8e, 0xfb, 0xc0, 0x82, 0x58, 0xde, 0xe6, 0xab, 0xdb, 0x49, 0x90, 0x6d, 0x30, 0xcf, 0xc3, 0x8f,
0xac, 0x21, 0xa1, 0x3c, 0x62, 0xb8, 0x4f, 0xd7, 0xf3, 0x59, 0x34, 0x99, 0x7f, 0xee, 0xd1, 0xc1,
0x96, 0xc4, 0x64, 0xbe, 0x87, 0x1f, 0xc5, 0x7f, 0xe8, 0x73, 0x58, 0x54, 0x0a, 0x40, 0x3b, 0xd5,
0xe9, 0x2c, 0x75, 0x4e, 0x21, 0x20, 0x35, 0xfe, 0xa6, 0xc1, 0x79, 0x13, 0xfb, 0xe4, 0x09, 0xfe,
0x9f, 0xb5, 0x9d, 0xf1, 0xf7, 0x12, 0x2c, 0xfe, 0xc8, 0x8e, 0xfa, 0xfb, 0x5d, 0x5f, 0x02, 0xe9,
0xab, 0x39, 0x60, 0x2e, 0x9b, 0x56, 0x8a, 0xd9, 0x34, 0x09, 0xbf, 0x59, 0x95, 0x51, 0xd9, 0x20,
0xbc, 0xfa, 0x45, 0x7c, 0xde, 0x71, 0xf8, 0xa5, 0xda, 0xd0, 0xb9, 0x13, 0xb4, 0xa1, 0x68, 0x1d,
0x9a, 0xf8, 0x59, 0xdf, 0x1b, 0x39, 0xd8, 0x12, 0xdc, 0xe7, 0x39, 0xf7, 0x4b, 0x0a, 0xee, 0x69,
0x8f, 0x6a, 0xc8, 0x4d, 0x3d, 0x9e, 0x02, 0x5e, 0x68, 0x70, 0x5e, 0x68, 0x19, 0x7b, 0x91, 0xfd,
0x6a, 0x15, 0x9d, 0xa8, 0xb1, 0x72, 0x1c, 0x35, 0x1a, 0x5f, 0x96, 0xa1, 0x2d, 0x0f, 0xc8, 0x86,
0x8f, 0x29, 0x6a, 0x68, 0xce, 0xa2, 0xa5, 0xa2, 0x45, 0xa7, 0x11, 0x37, 0x6e, 0xfa, 0x2a, 0xa9,
0xa6, 0xef, 0x22, 0xc0, 0x9e, 0x37, 0xa2, 0xfb, 0x56, 0xe4, 0xfa, 0x71, 0x05, 0xad, 0x71, 0xc8,
0x8e, 0xeb, 0x63, 0xf4, 0x31, 0x34, 0x76, 0xdd, 0xc0, 0x23, 0x03, 0x6b, 0x68, 0x47, 0xfb, 0x94,
0x27, 0x21, 0xb5, 0xc5, 0xee, 0xb8, 0xd8, 0x73, 0x6e, 0x73, 0x5c, 0xb3, 0x2e, 0xf6, 0x6c, 0xb1,
0x2d, 0xe8, 0x12, 0xd4, 0x59, 0x19, 0x26, 0x7b, 0xa2, 0x12, 0xcf, 0x0b, 0x16, 0xc1, 0xc8, 0xbf,
0xbf, 0xc7, 0x6b, 0xf1, 0xf7, 0xa1, 0xc6, 0x8a, 0x02, 0xf5, 0xc8, 0x20, 0x4e, 0x32, 0x47, 0xd1,
0x1f, 0x6f, 0x40, 0x1f, 0x41, 0xcd, 0x61, 0x8e, 0xc0, 0x77, 0xd7, 0x26, 0x9a, 0x81, 0x3b, 0xcb,
0x5d, 0x32, 0xe0, 0x66, 0x18, 0xef, 0x30, 0xfe, 0x5d, 0x82, 0xb3, 0xcc, 0x06, 0x71, 0xa2, 0x3a,
0xb9, 0x1f, 0x5d, 0x04, 0x70, 0x68, 0x64, 0x65, 0x7c, 0xa9, 0xe6, 0xd0, 0x68, 0x53, 0xb8, 0xd3,
0x87, 0xb1, 0xab, 0x94, 0x27, 0xb7, 0x83, 0x39, 0x9f, 0x28, 0x46, 0xdd, 0x49, 0x46, 0x70, 0xf4,
0x03, 0x68, 0x79, 0xc4, 0x76, 0xac, 0x3e, 0x09, 0x1c, 0x51, 0x1b, 0x66, 0x79, 0xf1, 0x7f, 0x5b,
0x25, 0xc2, 0x4e, 0xe8, 0x0e, 0x06, 0x38, 0x5c, 0x8f, 0x71, 0xcd, 0xa6, 0xc7, 0x2f, 0x20, 0xe4,
0x2f, 0xba, 0x0c, 0x4d, 0x4a, 0x46, 0x61, 0x1f, 0xc7, 0x07, 0x15, 0x8d, 0x55, 0x43, 0x00, 0x37,
0xd5, 0xa1, 0x33, 0xaf, 0xe8, 0x21, 0xff, 0xaa, 0xc1, 0xa2, 0x1c, 0x49, 0x4f, 0xaf, 0xfb, 0x49,
0x31, 0x1c, 0x3b, 0x7c, 0xf9, 0x90, 0x29, 0xa7, 0x32, 0xc5, 0x94, 0x33, 0xab, 0x18, 0x54, 0xb3,
0x8d, 0xf4, 0x5c, 0xbe, 0x91, 0x36, 0x76, 0xa0, 0x99, 0xd4, 0x01, 0x1e, 0xe1, 0x97, 0xa1, 0x29,
0xc4, 0xb2, 0x98, 0x4a, 0xb1, 0x13, 0x4f, 0xa9, 0x02, 0x78, 0x97, 0xc3, 0x18, 0xd5, 0xa4, 0xce,
0x88, 0xe6, 0xa8, 0x66, 0xa6, 0x20, 0xc6, 0x1f, 0x4b, 0xa0, 0xa7, 0x2b, 0x28, 0xa7, 0x3c, 0xcd,
0xf8, 0x7b, 0x0d, 0xda, 0xf2, 0x02, 0x35, 0x29, 0x63, 0x72, 0x20, 0x7d, 0x9c, 0x26, 0xd7, 0x45,
0x1f, 0xc0, 0xa2, 0x40, 0x2c, 0x94, 0x3d, 0x31, 0x98, 0x9e, 0xe3, 0xab, 0x66, 0xae, 0x6f, 0x99,
0xdc, 0x36, 0x54, 0x4e, 0xd1, 0x36, 0x14, 0xdb, 0x9a, 0xd9, 0x93, 0xb5, 0x35, 0xc6, 0x5f, 0xca,
0xd0, 0x1a, 0x47, 0xc8, 0xd4, 0x5a, 0x9b, 0xe6, 0x62, 0x6f, 0x13, 0xf4, 0xf1, 0xe4, 0xc7, 0xbb,
0xe5, 0x43, 0x83, 0x3c, 0x3f, 0xf3, 0xb5, 0x87, 0xb9, 0x51, 0xf9, 0x0e, 0x34, 0xa5, 0xce, 0xad,
0x74, 0x71, 0x79, 0x4b, 0x45, 0x2c, 0xe3, 0x61, 0x66, 0x23, 0x55, 0x6b, 0x28, 0xfa, 0x10, 0x6a,
0x3c, 0xee, 0xa3, 0x83, 0x21, 0x96, 0x21, 0x7f, 0x41, 0x45, 0x83, 0x79, 0xde, 0xce, 0xc1, 0x10,
0x9b, 0x55, 0x4f, 0x7e, 0x9d, 0xb6, 0xce, 0xdf, 0x82, 0x85, 0x50, 0x84, 0xb6, 0x63, 0x65, 0xd4,
0x37, 0xcf, 0xd5, 0x77, 0x2e, 0x5e, 0xdc, 0x4a, 0xab, 0x71, 0xc2, 0x14, 0x5f, 0x9d, 0x38, 0xc5,
0xff, 0xb2, 0x04, 0x8b, 0x4c, 0xf6, 0xdb, 0xb6, 0x67, 0x07, 0x7d, 0x3c, 0xfd, 0x40, 0xfa, 0xdf,
0x29, 0xa6, 0x85, 0x4c, 0x58, 0x51, 0x64, 0xc2, 0x6c, 0x51, 0x98, 0xcd, 0x17, 0x85, 0x37, 0xa1,
0x2e, 0x69, 0x38, 0x24, 0xc0, 0x5c, 0xd9, 0x55, 0x13, 0x04, 0xa8, 0x4b, 0x02, 0x3e, 0xc2, 0xb2,
0xfd, 0x7c, 0x75, 0x9e, 0xaf, 0xce, 0x3b, 0x34, 0xe2, 0x4b, 0x17, 0x01, 0x9e, 0xd8, 0x9e, 0xeb,
0x70, 0x27, 0xe1, 0x6a, 0xaa, 0x9a, 0x35, 0x0e, 0x61, 0x2a, 0x30, 0x7e, 0xa1, 0xc1, 0xe2, 0xa7,
0x76, 0xe0, 0x90, 0xbd, 0xbd, 0xd3, 0xe7, 0xd7, 0x75, 0x88, 0x07, 0xd4, 0xde, 0x71, 0x86, 0xb6,
0xcc, 0x26, 0xe3, 0xcb, 0x12, 0xa0, 0x94, 0xbd, 0x4e, 0x2e, 0xcd, 0x15, 0x68, 0x65, 0x34, 0x9f,
0xbc, 0x5f, 0xa4, 0x55, 0x4f, 0x59, 0xdd, 0xdb, 0x15, 0xac, 0xac, 0x10, 0xdb, 0x94, 0x04, 0xdc,
0x8c, 0x53, 0xd7, 0xbd, 0xdd, 0x58, 0x4c, 0xb6, 0x95, 0x59, 0x6a, 0x6c, 0xc8, 0xf8, 0xda, 0x0b,
0x12, 0x4b, 0x52, 0x36, 0x54, 0xe4, 0x27, 0xb6, 0xb8, 0x6e, 0xe8, 0x34, 0x3b, 0xac, 0x51, 0xe3,
0x5f, 0x1a, 0x9c, 0x91, 0xbf, 0x2c, 0x7e, 0x07, 0x38, 0x2e, 0x10, 0x24, 0xf0, 0xdc, 0x20, 0xf1,
0x28, 0x99, 0x91, 0x04, 0x50, 0xba, 0xcc, 0xa7, 0xd0, 0x96, 0x48, 0x49, 0x86, 0x9d, 0xd2, 0x1a,
0x2d, 0xb1, 0x2f, 0xc9, 0xad, 0x57, 0xa0, 0x45, 0xf6, 0xf6, 0xd2, 0xfc, 0x84, 0x9b, 0x37, 0x25,
0x54, 0x32, 0xfc, 0x0c, 0xf4, 0x18, 0xed, 0xb8, 0x39, 0xbd, 0x2d, 0x37, 0x26, 0x53, 0xe0, 0xcf,
0x34, 0xe8, 0x64, 0x33, 0x7c, 0xea, 0xf8, 0xc7, 0x77, 0x84, 0xef, 0x65, 0x2f, 0x11, 0xae, 0x1c,
0x22, 0xcf, 0x98, 0x8f, 0xec, 0xaa, 0x56, 0x9e, 0x43, 0x2b, 0x9b, 0x8a, 0x51, 0x03, 0xaa, 0x9b,
0x24, 0xfa, 0xe4, 0x99, 0x4b, 0x23, 0x7d, 0x06, 0xb5, 0x00, 0x36, 0x49, 0xb4, 0x15, 0x62, 0x8a,
0x83, 0x48, 0xd7, 0x10, 0xc0, 0xdc, 0xfd, 0xa0, 0xeb, 0xd2, 0x47, 0x7a, 0x09, 0x9d, 0x95, 0x17,
0x9c, 0xb6, 0xd7, 0x93, 0x79, 0x49, 0x2f, 0xb3, 0xed, 0xc9, 0x5f, 0x05, 0xe9, 0xd0, 0x48, 0x50,
0x36, 0xb6, 0x3e, 0xd7, 0x67, 0x51, 0x0d, 0x66, 0xc5, 0xe7, 0xdc, 0xca, 0x7d, 0xd0, 0xf3, 0x0e,
0x87, 0xea, 0x30, 0xbf, 0x2f, 0xe2, 0x55, 0x9f, 0x41, 0x6d, 0xa8, 0x7b, 0xe3, 0x50, 0xd1, 0x35,
0x06, 0x18, 0x84, 0xc3, 0xbe, 0x0c, 0x1a, 0xbd, 0xc4, 0xb8, 0x31, 0xab, 0x75, 0xc9, 0xd3, 0x40,
0x2f, 0xaf, 0x7c, 0x06, 0x8d, 0xf4, 0xad, 0x0d, 0xaa, 0x42, 0x65, 0x93, 0x04, 0x58, 0x9f, 0x61,
0x64, 0x37, 0x42, 0xf2, 0xd4, 0x0d, 0x06, 0xe2, 0x0c, 0x77, 0x42, 0xf2, 0x1c, 0x07, 0x7a, 0x89,
0x2d, 0x30, 0xbf, 0x64, 0x0b, 0x65, 0xb6, 0x20, 0x9c, 0x54, 0xaf, 0xac, 0xbc, 0x0f, 0xd5, 0xb8,
0x24, 0xa0, 0x33, 0xd0, 0xcc, 0x3c, 0x8f, 0xe8, 0x33, 0x08, 0x89, 0x76, 0x72, 0x9c, 0xfc, 0x75,
0x6d, 0xed, 0xcf, 0x75, 0x00, 0xd1, 0x95, 0x10, 0x12, 0x3a, 0x68, 0x08, 0x68, 0x03, 0x47, 0xeb,
0xc4, 0x1f, 0x92, 0x20, 0x16, 0x89, 0xa2, 0x9b, 0x13, 0x8a, 0x76, 0x11, 0x55, 0x9e, 0x72, 0xe9,
0xea, 0x84, 0x1d, 0x39, 0x74, 0x63, 0x06, 0xf9, 0x9c, 0x23, 0x9b, 0x58, 0x76, 0xdc, 0xfe, 0xa3,
0xf8, 0x6e, 0xfd, 0x10, 0x8e, 0x39, 0xd4, 0x98, 0x63, 0xae, 0x62, 0xcb, 0x9f, 0xed, 0x28, 0x74,
0x83, 0x41, 0x7c, 0xe1, 0x65, 0xcc, 0xa0, 0xc7, 0x70, 0x6e, 0x03, 0x73, 0xee, 0x2e, 0x8d, 0xdc,
0x3e, 0x8d, 0x19, 0xae, 0x4d, 0x66, 0x58, 0x40, 0x3e, 0x26, 0x4b, 0x0f, 0xda, 0xb9, 0x37, 0x60,
0xb4, 0xa2, 0xf4, 0x77, 0xe5, 0x7b, 0xf5, 0xd2, 0xbb, 0x53, 0xe1, 0x26, 0xdc, 0x5c, 0x68, 0x65,
0xdf, 0x47, 0xd1, 0x3b, 0x93, 0x08, 0x14, 0x1e, 0x94, 0x96, 0x56, 0xa6, 0x41, 0x4d, 0x58, 0x3d,
0x80, 0x56, 0xf6, 0x05, 0x4e, 0xcd, 0x4a, 0xf9, 0x4a, 0xb7, 0x74, 0xd8, 0x5d, 0xa3, 0x31, 0x83,
0x7e, 0x02, 0x67, 0x0a, 0xcf, 0x5e, 0xe8, 0x9b, 0x2a, 0xf2, 0x93, 0x5e, 0xc7, 0x8e, 0xe2, 0x20,
0xa5, 0x1f, 0x6b, 0x71, 0xb2, 0xf4, 0x85, 0xf7, 0xcf, 0xe9, 0xa5, 0x4f, 0x91, 0x3f, 0x4c, 0xfa,
0x63, 0x73, 0x18, 0x01, 0x2a, 0x3e, 0x7c, 0xa1, 0xf7, 0x54, 0x2c, 0x26, 0x3e, 0xbe, 0x2d, 0xad,
0x4e, 0x8b, 0x9e, 0x98, 0x7c, 0xc4, 0xa3, 0x35, 0xff, 0x44, 0xa4, 0x64, 0x3b, 0xf1, 0xcd, 0x4b,
0xcd, 0x76, 0xf2, 0xab, 0x8e, 0x70, 0xea, 0xec, 0x15, 0xb6, 0xda, 0x56, 0xca, 0x97, 0x16, 0xb5,
0x53, 0xab, 0x6f, 0xc4, 0x8d, 0x19, 0xb4, 0x03, 0xf5, 0x54, 0xab, 0x83, 0xae, 0x4e, 0xf2, 0x89,
0x6c, 0x2f, 0x74, 0x94, 0xb9, 0x2c, 0x80, 0x0d, 0x1c, 0xdd, 0xc3, 0x51, 0xe8, 0xf6, 0x69, 0x9e,
0xa8, 0xfc, 0x19, 0x23, 0xc4, 0x44, 0xaf, 0x1d, 0x89, 0x17, 0x8b, 0xbd, 0xf6, 0x15, 0x40, 0x8d,
0xdb, 0x8c, 0xd5, 0xfe, 0xff, 0xa7, 0xf1, 0x97, 0x90, 0xc6, 0x1f, 0x42, 0x3b, 0xf7, 0x7e, 0xa1,
0x4e, 0xe3, 0xea, 0x47, 0x8e, 0xa3, 0x1c, 0x64, 0x17, 0x50, 0xf1, 0x92, 0x5d, 0x1d, 0x58, 0x13,
0x2f, 0xe3, 0x8f, 0xe2, 0xf1, 0x10, 0xda, 0xb9, 0x4b, 0x6e, 0xf5, 0x09, 0xd4, 0x37, 0xe1, 0x53,
0x9c, 0xa0, 0x78, 0xb9, 0xab, 0x3e, 0xc1, 0xc4, 0x4b, 0xe0, 0xa3, 0x78, 0x7c, 0x01, 0x8d, 0xf4,
0x95, 0x1f, 0xba, 0x36, 0x29, 0x3a, 0x73, 0x83, 0xd3, 0xab, 0xcf, 0xd7, 0x2f, 0xbf, 0x9e, 0x3d,
0x84, 0x76, 0xee, 0x56, 0x4e, 0x6d, 0x5d, 0xf5, 0xd5, 0xdd, 0x51, 0xd4, 0xbf, 0xc6, 0x0c, 0xfc,
0xb2, 0x73, 0xe5, 0xed, 0x0f, 0x1e, 0xac, 0x0d, 0xdc, 0x68, 0x7f, 0xb4, 0xcb, 0x4e, 0x79, 0x43,
0x60, 0xbe, 0xe7, 0x12, 0xf9, 0x75, 0x23, 0x4e, 0x1a, 0x37, 0x38, 0xa5, 0x1b, 0x5c, 0xda, 0xe1,
0xee, 0xee, 0x1c, 0xff, 0xbd, 0xf5, 0x9f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x24, 0xc8, 0x47, 0x73,
0xce, 0x28, 0x00, 0x00,
}
// Reference imports to suppress errors if they are not otherwise used.
@ -2501,6 +2502,7 @@ type QueryCoordClient interface {
CreateQueryChannel(ctx context.Context, in *CreateQueryChannelRequest, opts ...grpc.CallOption) (*CreateQueryChannelResponse, error)
GetPartitionStates(ctx context.Context, in *GetPartitionStatesRequest, opts ...grpc.CallOption) (*GetPartitionStatesResponse, error)
GetSegmentInfo(ctx context.Context, in *GetSegmentInfoRequest, opts ...grpc.CallOption) (*GetSegmentInfoResponse, error)
LoadBalance(ctx context.Context, in *LoadBalanceRequest, opts ...grpc.CallOption) (*commonpb.Status, error)
// https://wiki.lfaidata.foundation/display/MIL/MEP+8+--+Add+metrics+for+proxy
GetMetrics(ctx context.Context, in *milvuspb.GetMetricsRequest, opts ...grpc.CallOption) (*milvuspb.GetMetricsResponse, error)
}
@ -2621,6 +2623,15 @@ func (c *queryCoordClient) GetSegmentInfo(ctx context.Context, in *GetSegmentInf
return out, nil
}
func (c *queryCoordClient) LoadBalance(ctx context.Context, in *LoadBalanceRequest, opts ...grpc.CallOption) (*commonpb.Status, error) {
out := new(commonpb.Status)
err := c.cc.Invoke(ctx, "/milvus.proto.query.QueryCoord/LoadBalance", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *queryCoordClient) GetMetrics(ctx context.Context, in *milvuspb.GetMetricsRequest, opts ...grpc.CallOption) (*milvuspb.GetMetricsResponse, error) {
out := new(milvuspb.GetMetricsResponse)
err := c.cc.Invoke(ctx, "/milvus.proto.query.QueryCoord/GetMetrics", in, out, opts...)
@ -2644,6 +2655,7 @@ type QueryCoordServer interface {
CreateQueryChannel(context.Context, *CreateQueryChannelRequest) (*CreateQueryChannelResponse, error)
GetPartitionStates(context.Context, *GetPartitionStatesRequest) (*GetPartitionStatesResponse, error)
GetSegmentInfo(context.Context, *GetSegmentInfoRequest) (*GetSegmentInfoResponse, error)
LoadBalance(context.Context, *LoadBalanceRequest) (*commonpb.Status, error)
// https://wiki.lfaidata.foundation/display/MIL/MEP+8+--+Add+metrics+for+proxy
GetMetrics(context.Context, *milvuspb.GetMetricsRequest) (*milvuspb.GetMetricsResponse, error)
}
@ -2688,6 +2700,9 @@ func (*UnimplementedQueryCoordServer) GetPartitionStates(ctx context.Context, re
func (*UnimplementedQueryCoordServer) GetSegmentInfo(ctx context.Context, req *GetSegmentInfoRequest) (*GetSegmentInfoResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method GetSegmentInfo not implemented")
}
func (*UnimplementedQueryCoordServer) LoadBalance(ctx context.Context, req *LoadBalanceRequest) (*commonpb.Status, error) {
return nil, status.Errorf(codes.Unimplemented, "method LoadBalance not implemented")
}
func (*UnimplementedQueryCoordServer) GetMetrics(ctx context.Context, req *milvuspb.GetMetricsRequest) (*milvuspb.GetMetricsResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method GetMetrics not implemented")
}
@ -2912,6 +2927,24 @@ func _QueryCoord_GetSegmentInfo_Handler(srv interface{}, ctx context.Context, de
return interceptor(ctx, in, info, handler)
}
func _QueryCoord_LoadBalance_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(LoadBalanceRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(QueryCoordServer).LoadBalance(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/milvus.proto.query.QueryCoord/LoadBalance",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(QueryCoordServer).LoadBalance(ctx, req.(*LoadBalanceRequest))
}
return interceptor(ctx, in, info, handler)
}
func _QueryCoord_GetMetrics_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(milvuspb.GetMetricsRequest)
if err := dec(in); err != nil {
@ -2982,6 +3015,10 @@ var _QueryCoord_serviceDesc = grpc.ServiceDesc{
MethodName: "GetSegmentInfo",
Handler: _QueryCoord_GetSegmentInfo_Handler,
},
{
MethodName: "LoadBalance",
Handler: _QueryCoord_LoadBalance_Handler,
},
{
MethodName: "GetMetrics",
Handler: _QueryCoord_GetMetrics_Handler,

View File

@ -2417,6 +2417,47 @@ func (node *Proxy) GetMetrics(ctx context.Context, req *milvuspb.GetMetricsReque
}, nil
}
// LoadBalance would do a load balancing operation between query nodes
func (node *Proxy) LoadBalance(ctx context.Context, req *milvuspb.LoadBalanceRequest) (*commonpb.Status, error) {
log.Debug("Proxy.LoadBalance",
zap.Int64("proxy_id", Params.ProxyID),
zap.Any("req", req))
if !node.checkHealthy() {
return unhealthyStatus(), nil
}
status := &commonpb.Status{
ErrorCode: commonpb.ErrorCode_UnexpectedError,
}
infoResp, err := node.queryCoord.LoadBalance(ctx, &querypb.LoadBalanceRequest{
Base: &commonpb.MsgBase{
MsgType: commonpb.MsgType_LoadBalanceSegments,
MsgID: 0,
Timestamp: 0,
SourceID: Params.ProxyID,
},
SourceNodeIDs: []int64{req.SrcNodeID},
DstNodeIDs: req.DstNodeIDs,
BalanceReason: querypb.TriggerCondition_grpcRequest,
SealedSegmentIDs: req.SealedSegmentIDs,
})
if err != nil {
log.Error("Failed to LoadBalance from Query Coordinator",
zap.Any("req", req), zap.Error(err))
status.Reason = err.Error()
return status, nil
}
if infoResp.ErrorCode != commonpb.ErrorCode_Success {
log.Error("Failed to LoadBalance from Query Coordinator", zap.String("errMsg", infoResp.Reason))
status.Reason = infoResp.Reason
return status, nil
}
log.Debug("LoadBalance Done", zap.Any("req", req), zap.Any("status", infoResp))
status.ErrorCode = commonpb.ErrorCode_Success
return status, nil
}
// checkHealthy checks proxy state is Healthy
func (node *Proxy) checkHealthy() bool {
code := node.stateCode.Load().(internalpb.StateCode)

View File

@ -1333,6 +1333,16 @@ func TestProxy(t *testing.T) {
assert.Equal(t, commonpb.ErrorCode_Success, resp.Status.ErrorCode)
})
wg.Add(1)
t.Run("loadBalance", func(t *testing.T) {
defer wg.Done()
resp, err := proxy.LoadBalance(ctx, &milvuspb.LoadBalanceRequest{
Base: nil,
})
assert.NoError(t, err)
assert.Equal(t, commonpb.ErrorCode_Success, resp.ErrorCode)
})
// TODO(dragondriver): dummy
wg.Add(1)
@ -1942,6 +1952,14 @@ func TestProxy(t *testing.T) {
assert.NotEqual(t, commonpb.ErrorCode_Success, resp.Status.ErrorCode)
})
wg.Add(1)
t.Run("LoadBalance fail, unhealthy", func(t *testing.T) {
defer wg.Done()
resp, err := proxy.LoadBalance(ctx, &milvuspb.LoadBalanceRequest{})
assert.NoError(t, err)
assert.NotEqual(t, commonpb.ErrorCode_Success, resp.ErrorCode)
})
wg.Add(1)
t.Run("RegisterLink fail, unhealthy", func(t *testing.T) {
defer wg.Done()

View File

@ -281,6 +281,17 @@ func (coord *QueryCoordMock) GetSegmentInfo(ctx context.Context, req *querypb.Ge
panic("implement me")
}
func (coord *QueryCoordMock) LoadBalance(ctx context.Context, req *querypb.LoadBalanceRequest) (*commonpb.Status, error) {
if !coord.healthy() {
return &commonpb.Status{
ErrorCode: commonpb.ErrorCode_UnexpectedError,
Reason: "unhealthy",
}, nil
}
panic("implement me")
}
func (coord *QueryCoordMock) GetMetrics(ctx context.Context, req *milvuspb.GetMetricsRequest) (*milvuspb.GetMetricsResponse, error) {
if !coord.healthy() {
return &milvuspb.GetMetricsResponse{

View File

@ -544,6 +544,54 @@ func (qc *QueryCoord) GetSegmentInfo(ctx context.Context, req *querypb.GetSegmen
}, nil
}
// LoadBalance would do a load balancing operation between query nodes
func (qc *QueryCoord) LoadBalance(ctx context.Context, req *querypb.LoadBalanceRequest) (*commonpb.Status, error) {
log.Debug("LoadBalanceRequest received",
zap.String("role", Params.RoleName),
zap.Int64("msgID", req.Base.MsgID),
zap.Any("req", req),
)
status := &commonpb.Status{
ErrorCode: commonpb.ErrorCode_Success,
}
if qc.stateCode.Load() != internalpb.StateCode_Healthy {
status.ErrorCode = commonpb.ErrorCode_UnexpectedError
err := errors.New("query coordinator is not healthy")
status.Reason = err.Error()
log.Debug("LoadBalance failed", zap.Error(err))
return status, nil
}
baseTask := newBaseTask(qc.loopCtx, querypb.TriggerCondition_grpcRequest)
loadBalanceTask := &loadBalanceTask{
baseTask: baseTask,
LoadBalanceRequest: req,
rootCoord: qc.rootCoordClient,
dataCoord: qc.dataCoordClient,
cluster: qc.cluster,
meta: qc.meta,
}
err := qc.scheduler.Enqueue(loadBalanceTask)
if err != nil {
status.ErrorCode = commonpb.ErrorCode_UnexpectedError
status.Reason = err.Error()
return status, nil
}
err = loadBalanceTask.waitToFinish()
if err != nil {
status.ErrorCode = commonpb.ErrorCode_UnexpectedError
status.Reason = err.Error()
return status, nil
}
log.Debug("LoadBalanceRequest completed",
zap.String("role", Params.RoleName),
zap.Int64("msgID", req.Base.MsgID),
zap.Any("req", req),
)
return status, nil
}
func (qc *QueryCoord) isHealthy() bool {
code := qc.stateCode.Load().(internalpb.StateCode)
return code == internalpb.StateCode_Healthy

View File

@ -189,6 +189,16 @@ func TestGrpcTask(t *testing.T) {
assert.Nil(t, err)
})
t.Run("Test LoadBalance", func(t *testing.T) {
res, err := queryCoord.LoadBalance(ctx, &querypb.LoadBalanceRequest{
Base: &commonpb.MsgBase{
MsgType: commonpb.MsgType_SegmentInfo,
},
})
assert.NoError(t, err)
assert.Equal(t, commonpb.ErrorCode_Success, res.ErrorCode)
})
t.Run("Test ReleaseParOfNotLoadedCol", func(t *testing.T) {
status, err := queryCoord.ReleasePartitions(ctx, &querypb.ReleasePartitionsRequest{
Base: &commonpb.MsgBase{
@ -283,6 +293,17 @@ func TestGrpcTask(t *testing.T) {
assert.Nil(t, err)
})
t.Run("Test LoadBalance", func(t *testing.T) {
res, err := queryCoord.LoadBalance(ctx, &querypb.LoadBalanceRequest{
Base: &commonpb.MsgBase{
MsgType: commonpb.MsgType_LoadBalanceSegments,
},
})
assert.NoError(t, err)
assert.Equal(t, commonpb.ErrorCode_Success, res.ErrorCode)
assert.Nil(t, err)
})
t.Run("Test GetMetrics", func(t *testing.T) {
metricReq := make(map[string]string)
metricReq[metricsinfo.MetricTypeKey] = "system_info"
@ -407,6 +428,16 @@ func TestGrpcTaskEnqueueFail(t *testing.T) {
assert.NotNil(t, err)
})
t.Run("Test LoadBalance", func(t *testing.T) {
status, err := queryCoord.LoadBalance(ctx, &querypb.LoadBalanceRequest{
Base: &commonpb.MsgBase{
MsgType: commonpb.MsgType_ReleaseCollection,
},
})
assert.NoError(t, err)
assert.Equal(t, commonpb.ErrorCode_UnexpectedError, status.ErrorCode)
})
queryCoord.Stop()
err = removeAllSession()
assert.Nil(t, err)
@ -581,6 +612,16 @@ func TestGrpcTaskBeforeHealthy(t *testing.T) {
assert.NotNil(t, err)
})
t.Run("Test LoadBalance", func(t *testing.T) {
res, err := unHealthyCoord.LoadBalance(ctx, &querypb.LoadBalanceRequest{
Base: &commonpb.MsgBase{
MsgType: commonpb.MsgType_LoadBalanceSegments,
},
})
assert.NoError(t, err)
assert.Equal(t, commonpb.ErrorCode_UnexpectedError, res.ErrorCode)
})
t.Run("Test ReleasePartition", func(t *testing.T) {
status, err := unHealthyCoord.ReleasePartitions(ctx, &querypb.ReleasePartitionsRequest{
Base: &commonpb.MsgBase{

View File

@ -12,10 +12,11 @@
package querynode
import (
"errors"
"fmt"
"sync"
"go.uber.org/zap"
"github.com/milvus-io/milvus/internal/log"
"github.com/milvus-io/milvus/internal/proto/querypb"
)
@ -36,9 +37,11 @@ func (g *globalSealedSegmentManager) addGlobalSegmentInfo(segmentInfo *querypb.S
g.mu.Lock()
defer g.mu.Unlock()
if segmentInfo.CollectionID != g.collectionID {
return errors.New(fmt.Sprintln("mismatch collectionID when addGlobalSegmentInfo, ",
"manager collectionID = ", g.collectionID, ", ",
"segmentInfo collectionID = ", segmentInfo.CollectionID))
log.Debug("mismatch collectionID when addGlobalSegmentInfo",
zap.Any("manager collectionID", g.collectionID),
zap.Any("segmentInfo collectionID", segmentInfo.CollectionID),
)
return nil
}
g.globalSealedSegments[segmentInfo.SegmentID] = segmentInfo
return nil

View File

@ -34,7 +34,7 @@ func TestGlobalSealedSegmentManager(t *testing.T) {
segmentInfo.CollectionID = 1000
err = manager.addGlobalSegmentInfo(segmentInfo)
assert.Error(t, err)
assert.NoError(t, err)
ids := manager.getGlobalSegmentIDs()
assert.Len(t, ids, 1)

View File

@ -172,7 +172,7 @@ func TestImpl_AddQueryChannel(t *testing.T) {
assert.Equal(t, commonpb.ErrorCode_Success, status.ErrorCode)
})
t.Run("test init global sealed segments failed", func(t *testing.T) {
t.Run("test not init global sealed segments", func(t *testing.T) {
node, err := genSimpleQueryNode(ctx)
assert.NoError(t, err)
@ -190,8 +190,8 @@ func TestImpl_AddQueryChannel(t *testing.T) {
}
status, err := node.AddQueryChannel(ctx, req)
assert.Error(t, err)
assert.Equal(t, commonpb.ErrorCode_UnexpectedError, status.ErrorCode)
assert.NoError(t, err)
assert.Equal(t, commonpb.ErrorCode_Success, status.ErrorCode)
})
t.Run("test seek error", func(t *testing.T) {

View File

@ -288,22 +288,6 @@ func TestQueryCollection_consumeQuery(t *testing.T) {
runConsumeQuery(msg)
})
t.Run("consume load balance", func(t *testing.T) {
msg := &msgstream.LoadBalanceSegmentsMsg{
BaseMsg: msgstream.BaseMsg{
HashValues: []uint32{0},
},
LoadBalanceSegmentsRequest: internalpb.LoadBalanceSegmentsRequest{
Base: &commonpb.MsgBase{
MsgType: commonpb.MsgType_LoadBalanceSegments,
MsgID: rand.Int63(), // TODO: random msgID?
},
SegmentIDs: []UniqueID{defaultSegmentID},
},
}
runConsumeQuery(msg)
})
t.Run("consume SimpleSealedSegmentsChangeInfoMsg", func(t *testing.T) {
// test is success if it doesn't block
msg := genSimpleSealedSegmentsChangeInfoMsg()
@ -695,7 +679,7 @@ func TestQueryCollection_adjustByChangeInfo(t *testing.T) {
simpleInfo.CollectionID = 1000
segmentChangeInfos.Infos[0].OnlineSegments = append(segmentChangeInfos.Infos[0].OnlineSegments, simpleInfo)
err = qc.adjustByChangeInfo(segmentChangeInfos)
assert.Error(t, err)
assert.NoError(t, err)
})
t.Run("test no segment when adjustByChangeInfo", func(t *testing.T) {

View File

@ -911,6 +911,16 @@ type ProxyComponent interface {
// GetMetrics gets the metrics of the proxy.
GetMetrics(ctx context.Context, request *milvuspb.GetMetricsRequest) (*milvuspb.GetMetricsResponse, error)
// LoadBalance would do a load balancing operation between query nodes.
//
// ctx is the context to control request deadline and cancellation
// req contains the request params, including source query node ids and sealed segment ids to balance
//
// The `ErrorCode` of `Status` is `Success` if load balance successfully;
// otherwise, the `ErrorCode` of `Status` will be `Error`, and the `Reason` of `Status` will record the fail cause.
// error is always nil
LoadBalance(ctx context.Context, request *milvuspb.LoadBalanceRequest) (*commonpb.Status, error)
// CreateAlias notifies Proxy to create alias for a collection
//
// ctx is the context to control request deadline and cancellation
@ -1018,6 +1028,7 @@ type QueryCoord interface {
CreateQueryChannel(ctx context.Context, req *querypb.CreateQueryChannelRequest) (*querypb.CreateQueryChannelResponse, error)
GetPartitionStates(ctx context.Context, req *querypb.GetPartitionStatesRequest) (*querypb.GetPartitionStatesResponse, error)
GetSegmentInfo(ctx context.Context, req *querypb.GetSegmentInfoRequest) (*querypb.GetSegmentInfoResponse, error)
LoadBalance(ctx context.Context, req *querypb.LoadBalanceRequest) (*commonpb.Status, error)
GetMetrics(ctx context.Context, req *milvuspb.GetMetricsRequest) (*milvuspb.GetMetricsResponse, error)
}