Support load collection with multiple vector column (#12630)

Signed-off-by: yudong.cai <yudong.cai@zilliz.com>
This commit is contained in:
Cai Yudong 2021-12-03 11:29:33 +08:00 committed by GitHub
parent c064776a45
commit 1a806a174a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
15 changed files with 693 additions and 609 deletions

View File

@ -1766,6 +1766,7 @@ const ::PROTOBUF_NAMESPACE_ID::uint32 TableStruct_milvus_2eproto::offsets[] PROT
PROTOBUF_FIELD_OFFSET(::milvus::proto::milvus::DescribeSegmentResponse, indexid_),
PROTOBUF_FIELD_OFFSET(::milvus::proto::milvus::DescribeSegmentResponse, buildid_),
PROTOBUF_FIELD_OFFSET(::milvus::proto::milvus::DescribeSegmentResponse, enable_index_),
PROTOBUF_FIELD_OFFSET(::milvus::proto::milvus::DescribeSegmentResponse, fieldid_),
~0u, // no _has_bits_
PROTOBUF_FIELD_OFFSET(::milvus::proto::milvus::ShowSegmentsRequest, _internal_metadata_),
~0u, // no _extensions_
@ -2220,56 +2221,56 @@ static const ::PROTOBUF_NAMESPACE_ID::internal::MigrationSchema schemas[] PROTOB
{ 216, -1, sizeof(::milvus::proto::milvus::ShowPartitionsResponse)},
{ 227, -1, sizeof(::milvus::proto::milvus::DescribeSegmentRequest)},
{ 235, -1, sizeof(::milvus::proto::milvus::DescribeSegmentResponse)},
{ 244, -1, sizeof(::milvus::proto::milvus::ShowSegmentsRequest)},
{ 252, -1, sizeof(::milvus::proto::milvus::ShowSegmentsResponse)},
{ 259, -1, sizeof(::milvus::proto::milvus::CreateIndexRequest)},
{ 269, -1, sizeof(::milvus::proto::milvus::DescribeIndexRequest)},
{ 279, -1, sizeof(::milvus::proto::milvus::IndexDescription)},
{ 288, -1, sizeof(::milvus::proto::milvus::DescribeIndexResponse)},
{ 295, -1, sizeof(::milvus::proto::milvus::GetIndexBuildProgressRequest)},
{ 305, -1, sizeof(::milvus::proto::milvus::GetIndexBuildProgressResponse)},
{ 313, -1, sizeof(::milvus::proto::milvus::GetIndexStateRequest)},
{ 323, -1, sizeof(::milvus::proto::milvus::GetIndexStateResponse)},
{ 331, -1, sizeof(::milvus::proto::milvus::DropIndexRequest)},
{ 341, -1, sizeof(::milvus::proto::milvus::InsertRequest)},
{ 353, -1, sizeof(::milvus::proto::milvus::MutationResult)},
{ 367, -1, sizeof(::milvus::proto::milvus::DeleteRequest)},
{ 378, -1, sizeof(::milvus::proto::milvus::PlaceholderValue)},
{ 386, -1, sizeof(::milvus::proto::milvus::PlaceholderGroup)},
{ 392, -1, sizeof(::milvus::proto::milvus::SearchRequest)},
{ 408, -1, sizeof(::milvus::proto::milvus::Hits)},
{ 416, -1, sizeof(::milvus::proto::milvus::SearchResults)},
{ 423, -1, sizeof(::milvus::proto::milvus::FlushRequest)},
{ 431, 438, sizeof(::milvus::proto::milvus::FlushResponse_CollSegIDsEntry_DoNotUse)},
{ 440, -1, sizeof(::milvus::proto::milvus::FlushResponse)},
{ 448, -1, sizeof(::milvus::proto::milvus::QueryRequest)},
{ 461, -1, sizeof(::milvus::proto::milvus::QueryResults)},
{ 468, -1, sizeof(::milvus::proto::milvus::VectorIDs)},
{ 477, -1, sizeof(::milvus::proto::milvus::VectorsArray)},
{ 485, -1, sizeof(::milvus::proto::milvus::CalcDistanceRequest)},
{ 494, -1, sizeof(::milvus::proto::milvus::CalcDistanceResults)},
{ 503, -1, sizeof(::milvus::proto::milvus::PersistentSegmentInfo)},
{ 513, -1, sizeof(::milvus::proto::milvus::GetPersistentSegmentInfoRequest)},
{ 521, -1, sizeof(::milvus::proto::milvus::GetPersistentSegmentInfoResponse)},
{ 528, -1, sizeof(::milvus::proto::milvus::QuerySegmentInfo)},
{ 542, -1, sizeof(::milvus::proto::milvus::GetQuerySegmentInfoRequest)},
{ 550, -1, sizeof(::milvus::proto::milvus::GetQuerySegmentInfoResponse)},
{ 557, -1, sizeof(::milvus::proto::milvus::DummyRequest)},
{ 563, -1, sizeof(::milvus::proto::milvus::DummyResponse)},
{ 569, -1, sizeof(::milvus::proto::milvus::RegisterLinkRequest)},
{ 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)},
{ 605, -1, sizeof(::milvus::proto::milvus::ManualCompactionRequest)},
{ 612, -1, sizeof(::milvus::proto::milvus::ManualCompactionResponse)},
{ 619, -1, sizeof(::milvus::proto::milvus::GetCompactionStateRequest)},
{ 625, -1, sizeof(::milvus::proto::milvus::GetCompactionStateResponse)},
{ 635, -1, sizeof(::milvus::proto::milvus::GetCompactionPlansRequest)},
{ 641, -1, sizeof(::milvus::proto::milvus::GetCompactionPlansResponse)},
{ 649, -1, sizeof(::milvus::proto::milvus::CompactionMergeInfo)},
{ 656, -1, sizeof(::milvus::proto::milvus::GetFlushStateRequest)},
{ 662, -1, sizeof(::milvus::proto::milvus::GetFlushStateResponse)},
{ 245, -1, sizeof(::milvus::proto::milvus::ShowSegmentsRequest)},
{ 253, -1, sizeof(::milvus::proto::milvus::ShowSegmentsResponse)},
{ 260, -1, sizeof(::milvus::proto::milvus::CreateIndexRequest)},
{ 270, -1, sizeof(::milvus::proto::milvus::DescribeIndexRequest)},
{ 280, -1, sizeof(::milvus::proto::milvus::IndexDescription)},
{ 289, -1, sizeof(::milvus::proto::milvus::DescribeIndexResponse)},
{ 296, -1, sizeof(::milvus::proto::milvus::GetIndexBuildProgressRequest)},
{ 306, -1, sizeof(::milvus::proto::milvus::GetIndexBuildProgressResponse)},
{ 314, -1, sizeof(::milvus::proto::milvus::GetIndexStateRequest)},
{ 324, -1, sizeof(::milvus::proto::milvus::GetIndexStateResponse)},
{ 332, -1, sizeof(::milvus::proto::milvus::DropIndexRequest)},
{ 342, -1, sizeof(::milvus::proto::milvus::InsertRequest)},
{ 354, -1, sizeof(::milvus::proto::milvus::MutationResult)},
{ 368, -1, sizeof(::milvus::proto::milvus::DeleteRequest)},
{ 379, -1, sizeof(::milvus::proto::milvus::PlaceholderValue)},
{ 387, -1, sizeof(::milvus::proto::milvus::PlaceholderGroup)},
{ 393, -1, sizeof(::milvus::proto::milvus::SearchRequest)},
{ 409, -1, sizeof(::milvus::proto::milvus::Hits)},
{ 417, -1, sizeof(::milvus::proto::milvus::SearchResults)},
{ 424, -1, sizeof(::milvus::proto::milvus::FlushRequest)},
{ 432, 439, sizeof(::milvus::proto::milvus::FlushResponse_CollSegIDsEntry_DoNotUse)},
{ 441, -1, sizeof(::milvus::proto::milvus::FlushResponse)},
{ 449, -1, sizeof(::milvus::proto::milvus::QueryRequest)},
{ 462, -1, sizeof(::milvus::proto::milvus::QueryResults)},
{ 469, -1, sizeof(::milvus::proto::milvus::VectorIDs)},
{ 478, -1, sizeof(::milvus::proto::milvus::VectorsArray)},
{ 486, -1, sizeof(::milvus::proto::milvus::CalcDistanceRequest)},
{ 495, -1, sizeof(::milvus::proto::milvus::CalcDistanceResults)},
{ 504, -1, sizeof(::milvus::proto::milvus::PersistentSegmentInfo)},
{ 514, -1, sizeof(::milvus::proto::milvus::GetPersistentSegmentInfoRequest)},
{ 522, -1, sizeof(::milvus::proto::milvus::GetPersistentSegmentInfoResponse)},
{ 529, -1, sizeof(::milvus::proto::milvus::QuerySegmentInfo)},
{ 543, -1, sizeof(::milvus::proto::milvus::GetQuerySegmentInfoRequest)},
{ 551, -1, sizeof(::milvus::proto::milvus::GetQuerySegmentInfoResponse)},
{ 558, -1, sizeof(::milvus::proto::milvus::DummyRequest)},
{ 564, -1, sizeof(::milvus::proto::milvus::DummyResponse)},
{ 570, -1, sizeof(::milvus::proto::milvus::RegisterLinkRequest)},
{ 575, -1, sizeof(::milvus::proto::milvus::RegisterLinkResponse)},
{ 582, -1, sizeof(::milvus::proto::milvus::GetMetricsRequest)},
{ 589, -1, sizeof(::milvus::proto::milvus::GetMetricsResponse)},
{ 597, -1, sizeof(::milvus::proto::milvus::LoadBalanceRequest)},
{ 606, -1, sizeof(::milvus::proto::milvus::ManualCompactionRequest)},
{ 613, -1, sizeof(::milvus::proto::milvus::ManualCompactionResponse)},
{ 620, -1, sizeof(::milvus::proto::milvus::GetCompactionStateRequest)},
{ 626, -1, sizeof(::milvus::proto::milvus::GetCompactionStateResponse)},
{ 636, -1, sizeof(::milvus::proto::milvus::GetCompactionPlansRequest)},
{ 642, -1, sizeof(::milvus::proto::milvus::GetCompactionPlansResponse)},
{ 650, -1, sizeof(::milvus::proto::milvus::CompactionMergeInfo)},
{ 657, -1, sizeof(::milvus::proto::milvus::GetFlushStateRequest)},
{ 663, -1, sizeof(::milvus::proto::milvus::GetFlushStateResponse)},
};
static ::PROTOBUF_NAMESPACE_ID::Message const * const file_default_instances[] = {
@ -2448,278 +2449,279 @@ const char descriptor_table_protodef_milvus_2eproto[] PROTOBUF_SECTION_VARIABLE(
"\005 \003(\004\022\034\n\024inMemory_percentages\030\006 \003(\003\"m\n\026D"
"escribeSegmentRequest\022*\n\004base\030\001 \001(\0132\034.mi"
"lvus.proto.common.MsgBase\022\024\n\014collectionI"
"D\030\002 \001(\003\022\021\n\tsegmentID\030\003 \001(\003\"~\n\027DescribeSe"
"gmentResponse\022+\n\006status\030\001 \001(\0132\033.milvus.p"
"roto.common.Status\022\017\n\007indexID\030\002 \001(\003\022\017\n\007b"
"uildID\030\003 \001(\003\022\024\n\014enable_index\030\004 \001(\010\"l\n\023Sh"
"owSegmentsRequest\022*\n\004base\030\001 \001(\0132\034.milvus"
".proto.common.MsgBase\022\024\n\014collectionID\030\002 "
"\001(\003\022\023\n\013partitionID\030\003 \001(\003\"W\n\024ShowSegments"
"Response\022+\n\006status\030\001 \001(\0132\033.milvus.proto."
"common.Status\022\022\n\nsegmentIDs\030\002 \003(\003\"\267\001\n\022Cr"
"eateIndexRequest\022*\n\004base\030\001 \001(\0132\034.milvus."
"proto.common.MsgBase\022\017\n\007db_name\030\002 \001(\t\022\027\n"
"\017collection_name\030\003 \001(\t\022\022\n\nfield_name\030\004 \001"
"(\t\0227\n\014extra_params\030\005 \003(\0132!.milvus.proto."
"common.KeyValuePair\"\224\001\n\024DescribeIndexReq"
"uest\022*\n\004base\030\001 \001(\0132\034.milvus.proto.common"
".MsgBase\022\017\n\007db_name\030\002 \001(\t\022\027\n\017collection_"
"name\030\003 \001(\t\022\022\n\nfield_name\030\004 \001(\t\022\022\n\nindex_"
"name\030\005 \001(\t\"~\n\020IndexDescription\022\022\n\nindex_"
"name\030\001 \001(\t\022\017\n\007indexID\030\002 \001(\003\0221\n\006params\030\003 "
"\003(\0132!.milvus.proto.common.KeyValuePair\022\022"
"\n\nfield_name\030\004 \001(\t\"\207\001\n\025DescribeIndexResp"
"onse\022+\n\006status\030\001 \001(\0132\033.milvus.proto.comm"
"on.Status\022A\n\022index_descriptions\030\002 \003(\0132%."
"milvus.proto.milvus.IndexDescription\"\234\001\n"
"\034GetIndexBuildProgressRequest\022*\n\004base\030\001 "
"D\030\002 \001(\003\022\021\n\tsegmentID\030\003 \001(\003\"\217\001\n\027DescribeS"
"egmentResponse\022+\n\006status\030\001 \001(\0132\033.milvus."
"proto.common.Status\022\017\n\007indexID\030\002 \001(\003\022\017\n\007"
"buildID\030\003 \001(\003\022\024\n\014enable_index\030\004 \001(\010\022\017\n\007f"
"ieldID\030\005 \001(\003\"l\n\023ShowSegmentsRequest\022*\n\004b"
"ase\030\001 \001(\0132\034.milvus.proto.common.MsgBase\022"
"\024\n\014collectionID\030\002 \001(\003\022\023\n\013partitionID\030\003 \001"
"(\003\"W\n\024ShowSegmentsResponse\022+\n\006status\030\001 \001"
"(\0132\033.milvus.proto.common.Status\022\022\n\nsegme"
"ntIDs\030\002 \003(\003\"\267\001\n\022CreateIndexRequest\022*\n\004ba"
"se\030\001 \001(\0132\034.milvus.proto.common.MsgBase\022\017"
"\n\007db_name\030\002 \001(\t\022\027\n\017collection_name\030\003 \001(\t"
"\022\022\n\nfield_name\030\004 \001(\t\0227\n\014extra_params\030\005 \003"
"(\0132!.milvus.proto.common.KeyValuePair\"\224\001"
"\n\024DescribeIndexRequest\022*\n\004base\030\001 \001(\0132\034.m"
"ilvus.proto.common.MsgBase\022\017\n\007db_name\030\002 "
"\001(\t\022\027\n\017collection_name\030\003 \001(\t\022\022\n\nfield_na"
"me\030\004 \001(\t\022\022\n\nindex_name\030\005 \001(\t\"~\n\020IndexDes"
"cription\022\022\n\nindex_name\030\001 \001(\t\022\017\n\007indexID\030"
"\002 \001(\003\0221\n\006params\030\003 \003(\0132!.milvus.proto.com"
"mon.KeyValuePair\022\022\n\nfield_name\030\004 \001(\t\"\207\001\n"
"\025DescribeIndexResponse\022+\n\006status\030\001 \001(\0132\033"
".milvus.proto.common.Status\022A\n\022index_des"
"criptions\030\002 \003(\0132%.milvus.proto.milvus.In"
"dexDescription\"\234\001\n\034GetIndexBuildProgress"
"Request\022*\n\004base\030\001 \001(\0132\034.milvus.proto.com"
"mon.MsgBase\022\017\n\007db_name\030\002 \001(\t\022\027\n\017collecti"
"on_name\030\003 \001(\t\022\022\n\nfield_name\030\004 \001(\t\022\022\n\nind"
"ex_name\030\005 \001(\t\"v\n\035GetIndexBuildProgressRe"
"sponse\022+\n\006status\030\001 \001(\0132\033.milvus.proto.co"
"mmon.Status\022\024\n\014indexed_rows\030\002 \001(\003\022\022\n\ntot"
"al_rows\030\003 \001(\003\"\224\001\n\024GetIndexStateRequest\022*"
"\n\004base\030\001 \001(\0132\034.milvus.proto.common.MsgBa"
"se\022\017\n\007db_name\030\002 \001(\t\022\027\n\017collection_name\030\003"
" \001(\t\022\022\n\nfield_name\030\004 \001(\t\022\022\n\nindex_name\030\005"
" \001(\t\"\211\001\n\025GetIndexStateResponse\022+\n\006status"
"\030\001 \001(\0132\033.milvus.proto.common.Status\022.\n\005s"
"tate\030\002 \001(\0162\037.milvus.proto.common.IndexSt"
"ate\022\023\n\013fail_reason\030\003 \001(\t\"\220\001\n\020DropIndexRe"
"quest\022*\n\004base\030\001 \001(\0132\034.milvus.proto.commo"
"n.MsgBase\022\017\n\007db_name\030\002 \001(\t\022\027\n\017collection"
"_name\030\003 \001(\t\022\022\n\nfield_name\030\004 \001(\t\022\022\n\nindex"
"_name\030\005 \001(\t\"\327\001\n\rInsertRequest\022*\n\004base\030\001 "
"\001(\0132\034.milvus.proto.common.MsgBase\022\017\n\007db_"
"name\030\002 \001(\t\022\027\n\017collection_name\030\003 \001(\t\022\022\n\nf"
"ield_name\030\004 \001(\t\022\022\n\nindex_name\030\005 \001(\t\"v\n\035G"
"etIndexBuildProgressResponse\022+\n\006status\030\001"
" \001(\0132\033.milvus.proto.common.Status\022\024\n\014ind"
"exed_rows\030\002 \001(\003\022\022\n\ntotal_rows\030\003 \001(\003\"\224\001\n\024"
"GetIndexStateRequest\022*\n\004base\030\001 \001(\0132\034.mil"
"vus.proto.common.MsgBase\022\017\n\007db_name\030\002 \001("
"\t\022\027\n\017collection_name\030\003 \001(\t\022\022\n\nfield_name"
"\030\004 \001(\t\022\022\n\nindex_name\030\005 \001(\t\"\211\001\n\025GetIndexS"
"tateResponse\022+\n\006status\030\001 \001(\0132\033.milvus.pr"
"oto.common.Status\022.\n\005state\030\002 \001(\0162\037.milvu"
"s.proto.common.IndexState\022\023\n\013fail_reason"
"\030\003 \001(\t\"\220\001\n\020DropIndexRequest\022*\n\004base\030\001 \001("
"\0132\034.milvus.proto.common.MsgBase\022\017\n\007db_na"
"me\030\002 \001(\t\022\027\n\017collection_name\030\003 \001(\t\022\022\n\nfie"
"ld_name\030\004 \001(\t\022\022\n\nindex_name\030\005 \001(\t\"\327\001\n\rIn"
"sertRequest\022*\n\004base\030\001 \001(\0132\034.milvus.proto"
".common.MsgBase\022\017\n\007db_name\030\002 \001(\t\022\027\n\017coll"
"ection_name\030\003 \001(\t\022\026\n\016partition_name\030\004 \001("
"\t\0223\n\013fields_data\030\005 \003(\0132\036.milvus.proto.sc"
"hema.FieldData\022\021\n\thash_keys\030\006 \003(\r\022\020\n\010num"
"_rows\030\007 \001(\r\"\360\001\n\016MutationResult\022+\n\006status"
"\030\001 \001(\0132\033.milvus.proto.common.Status\022%\n\003I"
"Ds\030\002 \001(\0132\030.milvus.proto.schema.IDs\022\022\n\nsu"
"cc_index\030\003 \003(\r\022\021\n\terr_index\030\004 \003(\r\022\024\n\014ack"
"nowledged\030\005 \001(\010\022\022\n\ninsert_cnt\030\006 \001(\003\022\022\n\nd"
"elete_cnt\030\007 \001(\003\022\022\n\nupsert_cnt\030\010 \001(\003\022\021\n\tt"
"imestamp\030\t \001(\004\"\236\001\n\rDeleteRequest\022*\n\004base"
"\030\001 \001(\0132\034.milvus.proto.common.MsgBase\022\017\n\007"
"db_name\030\002 \001(\t\022\027\n\017collection_name\030\003 \001(\t\022\026"
"\n\016partition_name\030\004 \001(\t\022\014\n\004expr\030\005 \001(\t\022\021\n\t"
"hash_keys\030\006 \003(\r\"c\n\020PlaceholderValue\022\013\n\003t"
"ag\030\001 \001(\t\0222\n\004type\030\002 \001(\0162$.milvus.proto.mi"
"lvus.PlaceholderType\022\016\n\006values\030\003 \003(\014\"O\n\020"
"PlaceholderGroup\022;\n\014placeholders\030\001 \003(\0132%"
".milvus.proto.milvus.PlaceholderValue\"\336\002"
"\n\rSearchRequest\022*\n\004base\030\001 \001(\0132\034.milvus.p"
"roto.common.MsgBase\022\017\n\007db_name\030\002 \001(\t\022\027\n\017"
"collection_name\030\003 \001(\t\022\027\n\017partition_names"
"\030\004 \003(\t\022\013\n\003dsl\030\005 \001(\t\022\031\n\021placeholder_group"
"\030\006 \001(\014\022.\n\010dsl_type\030\007 \001(\0162\034.milvus.proto."
"common.DslType\022\025\n\routput_fields\030\010 \003(\t\0228\n"
"\rsearch_params\030\t \003(\0132!.milvus.proto.comm"
"on.KeyValuePair\022\030\n\020travel_timestamp\030\n \001("
"\004\022\033\n\023guarantee_timestamp\030\013 \001(\004\"5\n\004Hits\022\013"
"\n\003IDs\030\001 \003(\003\022\020\n\010row_data\030\002 \003(\014\022\016\n\006scores\030"
"\003 \003(\002\"t\n\rSearchResults\022+\n\006status\030\001 \001(\0132\033"
".milvus.proto.common.Status\0226\n\007results\030\002"
" \001(\0132%.milvus.proto.schema.SearchResultD"
"ata\"e\n\014FlushRequest\022*\n\004base\030\001 \001(\0132\034.milv"
"us.proto.common.MsgBase\022\017\n\007db_name\030\002 \001(\t"
"\022\030\n\020collection_names\030\003 \003(\t\"\351\001\n\rFlushResp"
"onse\022+\n\006status\030\001 \001(\0132\033.milvus.proto.comm"
"on.Status\022\017\n\007db_name\030\002 \001(\t\022G\n\013coll_segID"
"s\030\003 \003(\01322.milvus.proto.milvus.FlushRespo"
"nse.CollSegIDsEntry\032Q\n\017CollSegIDsEntry\022\013"
"\n\003key\030\001 \001(\t\022-\n\005value\030\002 \001(\0132\036.milvus.prot"
"o.schema.LongArray:\0028\001\"\331\001\n\014QueryRequest\022"
"name\030\002 \001(\t\022\027\n\017collection_name\030\003 \001(\t\022\026\n\016p"
"artition_name\030\004 \001(\t\0223\n\013fields_data\030\005 \003(\013"
"2\036.milvus.proto.schema.FieldData\022\021\n\thash"
"_keys\030\006 \003(\r\022\020\n\010num_rows\030\007 \001(\r\"\360\001\n\016Mutati"
"onResult\022+\n\006status\030\001 \001(\0132\033.milvus.proto."
"common.Status\022%\n\003IDs\030\002 \001(\0132\030.milvus.prot"
"o.schema.IDs\022\022\n\nsucc_index\030\003 \003(\r\022\021\n\terr_"
"index\030\004 \003(\r\022\024\n\014acknowledged\030\005 \001(\010\022\022\n\nins"
"ert_cnt\030\006 \001(\003\022\022\n\ndelete_cnt\030\007 \001(\003\022\022\n\nups"
"ert_cnt\030\010 \001(\003\022\021\n\ttimestamp\030\t \001(\004\"\236\001\n\rDel"
"eteRequest\022*\n\004base\030\001 \001(\0132\034.milvus.proto."
"common.MsgBase\022\017\n\007db_name\030\002 \001(\t\022\027\n\017colle"
"ction_name\030\003 \001(\t\022\026\n\016partition_name\030\004 \001(\t"
"\022\014\n\004expr\030\005 \001(\t\022\021\n\thash_keys\030\006 \003(\r\"c\n\020Pla"
"ceholderValue\022\013\n\003tag\030\001 \001(\t\0222\n\004type\030\002 \001(\016"
"2$.milvus.proto.milvus.PlaceholderType\022\016"
"\n\006values\030\003 \003(\014\"O\n\020PlaceholderGroup\022;\n\014pl"
"aceholders\030\001 \003(\0132%.milvus.proto.milvus.P"
"laceholderValue\"\336\002\n\rSearchRequest\022*\n\004bas"
"e\030\001 \001(\0132\034.milvus.proto.common.MsgBase\022\017\n"
"\007db_name\030\002 \001(\t\022\027\n\017collection_name\030\003 \001(\t\022"
"\027\n\017partition_names\030\004 \003(\t\022\013\n\003dsl\030\005 \001(\t\022\031\n"
"\021placeholder_group\030\006 \001(\014\022.\n\010dsl_type\030\007 \001"
"(\0162\034.milvus.proto.common.DslType\022\025\n\routp"
"ut_fields\030\010 \003(\t\0228\n\rsearch_params\030\t \003(\0132!"
".milvus.proto.common.KeyValuePair\022\030\n\020tra"
"vel_timestamp\030\n \001(\004\022\033\n\023guarantee_timesta"
"mp\030\013 \001(\004\"5\n\004Hits\022\013\n\003IDs\030\001 \003(\003\022\020\n\010row_dat"
"a\030\002 \003(\014\022\016\n\006scores\030\003 \003(\002\"t\n\rSearchResults"
"\022+\n\006status\030\001 \001(\0132\033.milvus.proto.common.S"
"tatus\0226\n\007results\030\002 \001(\0132%.milvus.proto.sc"
"hema.SearchResultData\"e\n\014FlushRequest\022*\n"
"\004base\030\001 \001(\0132\034.milvus.proto.common.MsgBas"
"e\022\017\n\007db_name\030\002 \001(\t\022\030\n\020collection_names\030\003"
" \003(\t\"\351\001\n\rFlushResponse\022+\n\006status\030\001 \001(\0132\033"
".milvus.proto.common.Status\022\017\n\007db_name\030\002"
" \001(\t\022G\n\013coll_segIDs\030\003 \003(\01322.milvus.proto"
".milvus.FlushResponse.CollSegIDsEntry\032Q\n"
"\017CollSegIDsEntry\022\013\n\003key\030\001 \001(\t\022-\n\005value\030\002"
" \001(\0132\036.milvus.proto.schema.LongArray:\0028\001"
"\"\331\001\n\014QueryRequest\022*\n\004base\030\001 \001(\0132\034.milvus"
".proto.common.MsgBase\022\017\n\007db_name\030\002 \001(\t\022\027"
"\n\017collection_name\030\003 \001(\t\022\014\n\004expr\030\004 \001(\t\022\025\n"
"\routput_fields\030\005 \003(\t\022\027\n\017partition_names\030"
"\006 \003(\t\022\030\n\020travel_timestamp\030\007 \001(\004\022\033\n\023guara"
"ntee_timestamp\030\010 \001(\004\"p\n\014QueryResults\022+\n\006"
"status\030\001 \001(\0132\033.milvus.proto.common.Statu"
"s\0223\n\013fields_data\030\002 \003(\0132\036.milvus.proto.sc"
"hema.FieldData\"}\n\tVectorIDs\022\027\n\017collectio"
"n_name\030\001 \001(\t\022\022\n\nfield_name\030\002 \001(\t\022*\n\010id_a"
"rray\030\003 \001(\0132\030.milvus.proto.schema.IDs\022\027\n\017"
"partition_names\030\004 \003(\t\"\203\001\n\014VectorsArray\0222"
"\n\010id_array\030\001 \001(\0132\036.milvus.proto.milvus.V"
"ectorIDsH\000\0226\n\ndata_array\030\002 \001(\0132 .milvus."
"proto.schema.VectorFieldH\000B\007\n\005array\"\335\001\n\023"
"CalcDistanceRequest\022*\n\004base\030\001 \001(\0132\034.milv"
"us.proto.common.MsgBase\0222\n\007op_left\030\002 \001(\013"
"2!.milvus.proto.milvus.VectorsArray\0223\n\010o"
"p_right\030\003 \001(\0132!.milvus.proto.milvus.Vect"
"orsArray\0221\n\006params\030\004 \003(\0132!.milvus.proto."
"common.KeyValuePair\"\265\001\n\023CalcDistanceResu"
"lts\022+\n\006status\030\001 \001(\0132\033.milvus.proto.commo"
"n.Status\0221\n\010int_dist\030\002 \001(\0132\035.milvus.prot"
"o.schema.IntArrayH\000\0225\n\nfloat_dist\030\003 \001(\0132"
"\037.milvus.proto.schema.FloatArrayH\000B\007\n\005ar"
"ray\"\231\001\n\025PersistentSegmentInfo\022\021\n\tsegment"
"ID\030\001 \001(\003\022\024\n\014collectionID\030\002 \001(\003\022\023\n\013partit"
"ionID\030\003 \001(\003\022\020\n\010num_rows\030\004 \001(\003\0220\n\005state\030\005"
" \001(\0162!.milvus.proto.common.SegmentState\""
"u\n\037GetPersistentSegmentInfoRequest\022*\n\004ba"
"se\030\001 \001(\0132\034.milvus.proto.common.MsgBase\022\016"
"\n\006dbName\030\002 \001(\t\022\026\n\016collectionName\030\003 \001(\t\"\212"
"\001\n GetPersistentSegmentInfoResponse\022+\n\006s"
"tatus\030\001 \001(\0132\033.milvus.proto.common.Status"
"\0229\n\005infos\030\002 \003(\0132*.milvus.proto.milvus.Pe"
"rsistentSegmentInfo\"\333\001\n\020QuerySegmentInfo"
"\022\021\n\tsegmentID\030\001 \001(\003\022\024\n\014collectionID\030\002 \001("
"\003\022\023\n\013partitionID\030\003 \001(\003\022\020\n\010mem_size\030\004 \001(\003"
"\022\020\n\010num_rows\030\005 \001(\003\022\022\n\nindex_name\030\006 \001(\t\022\017"
"\n\007indexID\030\007 \001(\003\022\016\n\006nodeID\030\010 \001(\003\0220\n\005state"
"\030\t \001(\0162!.milvus.proto.common.SegmentStat"
"e\"p\n\032GetQuerySegmentInfoRequest\022*\n\004base\030"
"\001 \001(\0132\034.milvus.proto.common.MsgBase\022\016\n\006d"
"bName\030\002 \001(\t\022\026\n\016collectionName\030\003 \001(\t\"\200\001\n\033"
"GetQuerySegmentInfoResponse\022+\n\006status\030\001 "
"\001(\0132\033.milvus.proto.common.Status\0224\n\005info"
"s\030\002 \003(\0132%.milvus.proto.milvus.QuerySegme"
"ntInfo\"$\n\014DummyRequest\022\024\n\014request_type\030\001"
" \001(\t\"!\n\rDummyResponse\022\020\n\010response\030\001 \001(\t\""
"\025\n\023RegisterLinkRequest\"r\n\024RegisterLinkRe"
"sponse\022-\n\007address\030\001 \001(\0132\034.milvus.proto.c"
"ommon.Address\022+\n\006status\030\002 \001(\0132\033.milvus.p"
"roto.common.Status\"P\n\021GetMetricsRequest\022"
"*\n\004base\030\001 \001(\0132\034.milvus.proto.common.MsgB"
"ase\022\017\n\007db_name\030\002 \001(\t\022\027\n\017collection_name\030"
"\003 \001(\t\022\014\n\004expr\030\004 \001(\t\022\025\n\routput_fields\030\005 \003"
"(\t\022\027\n\017partition_names\030\006 \003(\t\022\030\n\020travel_ti"
"mestamp\030\007 \001(\004\022\033\n\023guarantee_timestamp\030\010 \001"
"(\004\"p\n\014QueryResults\022+\n\006status\030\001 \001(\0132\033.mil"
"vus.proto.common.Status\0223\n\013fields_data\030\002"
" \003(\0132\036.milvus.proto.schema.FieldData\"}\n\t"
"VectorIDs\022\027\n\017collection_name\030\001 \001(\t\022\022\n\nfi"
"eld_name\030\002 \001(\t\022*\n\010id_array\030\003 \001(\0132\030.milvu"
"s.proto.schema.IDs\022\027\n\017partition_names\030\004 "
"\003(\t\"\203\001\n\014VectorsArray\0222\n\010id_array\030\001 \001(\0132\036"
".milvus.proto.milvus.VectorIDsH\000\0226\n\ndata"
"_array\030\002 \001(\0132 .milvus.proto.schema.Vecto"
"rFieldH\000B\007\n\005array\"\335\001\n\023CalcDistanceReques"
"t\022*\n\004base\030\001 \001(\0132\034.milvus.proto.common.Ms"
"gBase\0222\n\007op_left\030\002 \001(\0132!.milvus.proto.mi"
"lvus.VectorsArray\0223\n\010op_right\030\003 \001(\0132!.mi"
"lvus.proto.milvus.VectorsArray\0221\n\006params"
"\030\004 \003(\0132!.milvus.proto.common.KeyValuePai"
"r\"\265\001\n\023CalcDistanceResults\022+\n\006status\030\001 \001("
"\0132\033.milvus.proto.common.Status\0221\n\010int_di"
"st\030\002 \001(\0132\035.milvus.proto.schema.IntArrayH"
"\000\0225\n\nfloat_dist\030\003 \001(\0132\037.milvus.proto.sch"
"ema.FloatArrayH\000B\007\n\005array\"\231\001\n\025Persistent"
"SegmentInfo\022\021\n\tsegmentID\030\001 \001(\003\022\024\n\014collec"
"tionID\030\002 \001(\003\022\023\n\013partitionID\030\003 \001(\003\022\020\n\010num"
"_rows\030\004 \001(\003\0220\n\005state\030\005 \001(\0162!.milvus.prot"
"o.common.SegmentState\"u\n\037GetPersistentSe"
"gmentInfoRequest\022*\n\004base\030\001 \001(\0132\034.milvus."
"proto.common.MsgBase\022\016\n\006dbName\030\002 \001(\t\022\026\n\016"
"collectionName\030\003 \001(\t\"\212\001\n GetPersistentSe"
"gmentInfoResponse\022+\n\006status\030\001 \001(\0132\033.milv"
"us.proto.common.Status\0229\n\005infos\030\002 \003(\0132*."
"milvus.proto.milvus.PersistentSegmentInf"
"o\"\333\001\n\020QuerySegmentInfo\022\021\n\tsegmentID\030\001 \001("
"\003\022\024\n\014collectionID\030\002 \001(\003\022\023\n\013partitionID\030\003"
" \001(\003\022\020\n\010mem_size\030\004 \001(\003\022\020\n\010num_rows\030\005 \001(\003"
"\022\022\n\nindex_name\030\006 \001(\t\022\017\n\007indexID\030\007 \001(\003\022\016\n"
"\006nodeID\030\010 \001(\003\0220\n\005state\030\t \001(\0162!.milvus.pr"
"oto.common.SegmentState\"p\n\032GetQuerySegme"
"ntInfoRequest\022*\n\004base\030\001 \001(\0132\034.milvus.pro"
"to.common.MsgBase\022\016\n\006dbName\030\002 \001(\t\022\026\n\016col"
"lectionName\030\003 \001(\t\"\200\001\n\033GetQuerySegmentInf"
"oResponse\022+\n\006status\030\001 \001(\0132\033.milvus.proto"
".common.Status\0224\n\005infos\030\002 \003(\0132%.milvus.p"
"roto.milvus.QuerySegmentInfo\"$\n\014DummyReq"
"uest\022\024\n\014request_type\030\001 \001(\t\"!\n\rDummyRespo"
"nse\022\020\n\010response\030\001 \001(\t\"\025\n\023RegisterLinkReq"
"uest\"r\n\024RegisterLinkResponse\022-\n\007address\030"
"\001 \001(\0132\034.milvus.proto.common.Address\022+\n\006s"
"tatus\030\002 \001(\0132\033.milvus.proto.common.Status"
"\"P\n\021GetMetricsRequest\022*\n\004base\030\001 \001(\0132\034.mi"
"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\"\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\"C\n\027ManualCompactionRequest\022\024\n\014col"
"lectionID\030\001 \001(\003\022\022\n\ntimetravel\030\002 \001(\004\"]\n\030M"
"anualCompactionResponse\022+\n\006status\030\001 \001(\0132"
"\033.milvus.proto.common.Status\022\024\n\014compacti"
"onID\030\002 \001(\003\"1\n\031GetCompactionStateRequest\022"
"\024\n\014compactionID\030\001 \001(\003\"\307\001\n\032GetCompactionS"
"tateResponse\022+\n\006status\030\001 \001(\0132\033.milvus.pr"
"oto.common.Status\0223\n\005state\030\002 \001(\0162$.milvu"
"s.proto.common.CompactionState\022\027\n\017execut"
"ingPlanNo\030\003 \001(\003\022\025\n\rtimeoutPlanNo\030\004 \001(\003\022\027"
"\n\017completedPlanNo\030\005 \001(\003\"1\n\031GetCompaction"
"PlansRequest\022\024\n\014compactionID\030\001 \001(\003\"\274\001\n\032G"
"etCompactionPlansResponse\022+\n\006status\030\001 \001("
"\0132\033.milvus.proto.common.Status\0223\n\005state\030"
"\002 \001(\0162$.milvus.proto.common.CompactionSt"
"ate\022<\n\nmergeInfos\030\003 \003(\0132(.milvus.proto.m"
"ilvus.CompactionMergeInfo\"6\n\023CompactionM"
"ergeInfo\022\017\n\007sources\030\001 \003(\003\022\016\n\006target\030\002 \001("
"\003\"*\n\024GetFlushStateRequest\022\022\n\nsegmentIDs\030"
"\001 \003(\003\"U\n\025GetFlushStateResponse\022+\n\006status"
"\030\001 \001(\0132\033.milvus.proto.common.Status\022\017\n\007f"
"lushed\030\002 \001(\010*!\n\010ShowType\022\007\n\003All\020\000\022\014\n\010InM"
"emory\020\001*>\n\017PlaceholderType\022\010\n\004None\020\000\022\020\n\014"
"BinaryVector\020d\022\017\n\013FloatVector\020e2\205\037\n\rMilv"
"usService\022_\n\020CreateCollection\022,.milvus.p"
"roto.milvus.CreateCollectionRequest\032\033.mi"
"lvus.proto.common.Status\"\000\022[\n\016DropCollec"
"tion\022*.milvus.proto.milvus.DropCollectio"
"nRequest\032\033.milvus.proto.common.Status\"\000\022"
"_\n\rHasCollection\022).milvus.proto.milvus.H"
"asCollectionRequest\032!.milvus.proto.milvu"
"s.BoolResponse\"\000\022[\n\016LoadCollection\022*.mil"
"vus.proto.milvus.LoadCollectionRequest\032\033"
".milvus.proto.common.Status\"\000\022a\n\021Release"
"Collection\022-.milvus.proto.milvus.Release"
"CollectionRequest\032\033.milvus.proto.common."
"Status\"\000\022w\n\022DescribeCollection\022..milvus."
"proto.milvus.DescribeCollectionRequest\032/"
".milvus.proto.milvus.DescribeCollectionR"
"esponse\"\000\022\206\001\n\027GetCollectionStatistics\0223."
"milvus.proto.milvus.GetCollectionStatist"
"icsRequest\0324.milvus.proto.milvus.GetColl"
"ectionStatisticsResponse\"\000\022n\n\017ShowCollec"
"tions\022+.milvus.proto.milvus.ShowCollecti"
"onsRequest\032,.milvus.proto.milvus.ShowCol"
"lectionsResponse\"\000\022]\n\017CreatePartition\022+."
"milvus.proto.milvus.CreatePartitionReque"
"st\032\033.milvus.proto.common.Status\"\000\022Y\n\rDro"
"pPartition\022).milvus.proto.milvus.DropPar"
"titionRequest\032\033.milvus.proto.common.Stat"
"us\"\000\022]\n\014HasPartition\022(.milvus.proto.milv"
"us.HasPartitionRequest\032!.milvus.proto.mi"
"lvus.BoolResponse\"\000\022[\n\016LoadPartitions\022*."
"milvus.proto.milvus.LoadPartitionsReques"
"t\032\033.milvus.proto.common.Status\"\000\022a\n\021Rele"
"asePartitions\022-.milvus.proto.milvus.Rele"
"asePartitionsRequest\032\033.milvus.proto.comm"
"on.Status\"\000\022\203\001\n\026GetPartitionStatistics\0222"
".milvus.proto.milvus.GetPartitionStatist"
"icsRequest\0323.milvus.proto.milvus.GetPart"
"itionStatisticsResponse\"\000\022k\n\016ShowPartiti"
"ons\022*.milvus.proto.milvus.ShowPartitions"
"Request\032+.milvus.proto.milvus.ShowPartit"
"ionsResponse\"\000\022U\n\013CreateAlias\022\'.milvus.p"
"roto.milvus.CreateAliasRequest\032\033.milvus."
"proto.common.Status\"\000\022Q\n\tDropAlias\022%.mil"
"vus.proto.milvus.DropAliasRequest\032\033.milv"
"us.proto.common.Status\"\000\022S\n\nAlterAlias\022&"
".milvus.proto.milvus.AlterAliasRequest\032\033"
".milvus.proto.common.Status\"\000\022U\n\013CreateI"
"ndex\022\'.milvus.proto.milvus.CreateIndexRe"
"quest\032\033.milvus.proto.common.Status\"\000\022h\n\r"
"DescribeIndex\022).milvus.proto.milvus.Desc"
"ribeIndexRequest\032*.milvus.proto.milvus.D"
"escribeIndexResponse\"\000\022h\n\rGetIndexState\022"
").milvus.proto.milvus.GetIndexStateReque"
"st\032*.milvus.proto.milvus.GetIndexStateRe"
"sponse\"\000\022\200\001\n\025GetIndexBuildProgress\0221.mil"
"vus.proto.milvus.GetIndexBuildProgressRe"
"quest\0322.milvus.proto.milvus.GetIndexBuil"
"dProgressResponse\"\000\022Q\n\tDropIndex\022%.milvu"
"s.proto.milvus.DropIndexRequest\032\033.milvus"
".proto.common.Status\"\000\022S\n\006Insert\022\".milvu"
"s.proto.milvus.InsertRequest\032#.milvus.pr"
"oto.milvus.MutationResult\"\000\022S\n\006Delete\022\"."
"milvus.proto.milvus.DeleteRequest\032#.milv"
"us.proto.milvus.MutationResult\"\000\022R\n\006Sear"
"ch\022\".milvus.proto.milvus.SearchRequest\032\""
".milvus.proto.milvus.SearchResults\"\000\022P\n\005"
"Flush\022!.milvus.proto.milvus.FlushRequest"
"\032\".milvus.proto.milvus.FlushResponse\"\000\022O"
"\n\005Query\022!.milvus.proto.milvus.QueryReque"
"st\032!.milvus.proto.milvus.QueryResults\"\000\022"
"d\n\014CalcDistance\022(.milvus.proto.milvus.Ca"
"lcDistanceRequest\032(.milvus.proto.milvus."
"CalcDistanceResults\"\000\022h\n\rGetFlushState\022)"
".milvus.proto.milvus.GetFlushStateReques"
"t\032*.milvus.proto.milvus.GetFlushStateRes"
"ponse\"\000\022\211\001\n\030GetPersistentSegmentInfo\0224.m"
"ilvus.proto.milvus.GetPersistentSegmentI"
"nfoRequest\0325.milvus.proto.milvus.GetPers"
"istentSegmentInfoResponse\"\000\022z\n\023GetQueryS"
"egmentInfo\022/.milvus.proto.milvus.GetQuer"
"ySegmentInfoRequest\0320.milvus.proto.milvu"
"s.GetQuerySegmentInfoResponse\"\000\022P\n\005Dummy"
"\022!.milvus.proto.milvus.DummyRequest\032\".mi"
"lvus.proto.milvus.DummyResponse\"\000\022e\n\014Reg"
"isterLink\022(.milvus.proto.milvus.Register"
"LinkRequest\032).milvus.proto.milvus.Regist"
"erLinkResponse\"\000\022_\n\nGetMetrics\022&.milvus."
"proto.milvus.GetMetricsRequest\032\'.milvus."
"proto.milvus.GetMetricsResponse\"\000\022U\n\013Loa"
"dBalance\022\'.milvus.proto.milvus.LoadBalan"
"ceRequest\032\033.milvus.proto.common.Status\"\000"
"\022w\n\022GetCompactionState\022..milvus.proto.mi"
"lvus.GetCompactionStateRequest\032/.milvus."
"proto.milvus.GetCompactionStateResponse\""
"\000\022q\n\020ManualCompaction\022,.milvus.proto.mil"
"vus.ManualCompactionRequest\032-.milvus.pro"
"to.milvus.ManualCompactionResponse\"\000\022\200\001\n"
"\033GetCompactionStateWithPlans\022..milvus.pr"
"oto.milvus.GetCompactionPlansRequest\032/.m"
"ilvus.proto.milvus.GetCompactionPlansRes"
"ponse\"\0002u\n\014ProxyService\022e\n\014RegisterLink\022"
"(.milvus.proto.milvus.RegisterLinkReques"
"t\032).milvus.proto.milvus.RegisterLinkResp"
"onse\"\000B5Z3github.com/milvus-io/milvus/in"
"ternal/proto/milvuspbb\006proto3"
"ase\022\017\n\007request\030\002 \001(\t\"k\n\022GetMetricsRespon"
"se\022+\n\006status\030\001 \001(\0132\033.milvus.proto.common"
".Status\022\020\n\010response\030\002 \001(\t\022\026\n\016component_n"
"ame\030\003 \001(\t\"\204\001\n\022LoadBalanceRequest\022*\n\004base"
"\030\001 \001(\0132\034.milvus.proto.common.MsgBase\022\022\n\n"
"src_nodeID\030\002 \001(\003\022\023\n\013dst_nodeIDs\030\003 \003(\003\022\031\n"
"\021sealed_segmentIDs\030\004 \003(\003\"C\n\027ManualCompac"
"tionRequest\022\024\n\014collectionID\030\001 \001(\003\022\022\n\ntim"
"etravel\030\002 \001(\004\"]\n\030ManualCompactionRespons"
"e\022+\n\006status\030\001 \001(\0132\033.milvus.proto.common."
"Status\022\024\n\014compactionID\030\002 \001(\003\"1\n\031GetCompa"
"ctionStateRequest\022\024\n\014compactionID\030\001 \001(\003\""
"\307\001\n\032GetCompactionStateResponse\022+\n\006status"
"\030\001 \001(\0132\033.milvus.proto.common.Status\0223\n\005s"
"tate\030\002 \001(\0162$.milvus.proto.common.Compact"
"ionState\022\027\n\017executingPlanNo\030\003 \001(\003\022\025\n\rtim"
"eoutPlanNo\030\004 \001(\003\022\027\n\017completedPlanNo\030\005 \001("
"\003\"1\n\031GetCompactionPlansRequest\022\024\n\014compac"
"tionID\030\001 \001(\003\"\274\001\n\032GetCompactionPlansRespo"
"nse\022+\n\006status\030\001 \001(\0132\033.milvus.proto.commo"
"n.Status\0223\n\005state\030\002 \001(\0162$.milvus.proto.c"
"ommon.CompactionState\022<\n\nmergeInfos\030\003 \003("
"\0132(.milvus.proto.milvus.CompactionMergeI"
"nfo\"6\n\023CompactionMergeInfo\022\017\n\007sources\030\001 "
"\003(\003\022\016\n\006target\030\002 \001(\003\"*\n\024GetFlushStateRequ"
"est\022\022\n\nsegmentIDs\030\001 \003(\003\"U\n\025GetFlushState"
"Response\022+\n\006status\030\001 \001(\0132\033.milvus.proto."
"common.Status\022\017\n\007flushed\030\002 \001(\010*!\n\010ShowTy"
"pe\022\007\n\003All\020\000\022\014\n\010InMemory\020\001*>\n\017Placeholder"
"Type\022\010\n\004None\020\000\022\020\n\014BinaryVector\020d\022\017\n\013Floa"
"tVector\020e2\205\037\n\rMilvusService\022_\n\020CreateCol"
"lection\022,.milvus.proto.milvus.CreateColl"
"ectionRequest\032\033.milvus.proto.common.Stat"
"us\"\000\022[\n\016DropCollection\022*.milvus.proto.mi"
"lvus.DropCollectionRequest\032\033.milvus.prot"
"o.common.Status\"\000\022_\n\rHasCollection\022).mil"
"vus.proto.milvus.HasCollectionRequest\032!."
"milvus.proto.milvus.BoolResponse\"\000\022[\n\016Lo"
"adCollection\022*.milvus.proto.milvus.LoadC"
"ollectionRequest\032\033.milvus.proto.common.S"
"tatus\"\000\022a\n\021ReleaseCollection\022-.milvus.pr"
"oto.milvus.ReleaseCollectionRequest\032\033.mi"
"lvus.proto.common.Status\"\000\022w\n\022DescribeCo"
"llection\022..milvus.proto.milvus.DescribeC"
"ollectionRequest\032/.milvus.proto.milvus.D"
"escribeCollectionResponse\"\000\022\206\001\n\027GetColle"
"ctionStatistics\0223.milvus.proto.milvus.Ge"
"tCollectionStatisticsRequest\0324.milvus.pr"
"oto.milvus.GetCollectionStatisticsRespon"
"se\"\000\022n\n\017ShowCollections\022+.milvus.proto.m"
"ilvus.ShowCollectionsRequest\032,.milvus.pr"
"oto.milvus.ShowCollectionsResponse\"\000\022]\n\017"
"CreatePartition\022+.milvus.proto.milvus.Cr"
"eatePartitionRequest\032\033.milvus.proto.comm"
"on.Status\"\000\022Y\n\rDropPartition\022).milvus.pr"
"oto.milvus.DropPartitionRequest\032\033.milvus"
".proto.common.Status\"\000\022]\n\014HasPartition\022("
".milvus.proto.milvus.HasPartitionRequest"
"\032!.milvus.proto.milvus.BoolResponse\"\000\022[\n"
"\016LoadPartitions\022*.milvus.proto.milvus.Lo"
"adPartitionsRequest\032\033.milvus.proto.commo"
"n.Status\"\000\022a\n\021ReleasePartitions\022-.milvus"
".proto.milvus.ReleasePartitionsRequest\032\033"
".milvus.proto.common.Status\"\000\022\203\001\n\026GetPar"
"titionStatistics\0222.milvus.proto.milvus.G"
"etPartitionStatisticsRequest\0323.milvus.pr"
"oto.milvus.GetPartitionStatisticsRespons"
"e\"\000\022k\n\016ShowPartitions\022*.milvus.proto.mil"
"vus.ShowPartitionsRequest\032+.milvus.proto"
".milvus.ShowPartitionsResponse\"\000\022U\n\013Crea"
"teAlias\022\'.milvus.proto.milvus.CreateAlia"
"sRequest\032\033.milvus.proto.common.Status\"\000\022"
"Q\n\tDropAlias\022%.milvus.proto.milvus.DropA"
"liasRequest\032\033.milvus.proto.common.Status"
"\"\000\022S\n\nAlterAlias\022&.milvus.proto.milvus.A"
"lterAliasRequest\032\033.milvus.proto.common.S"
"tatus\"\000\022U\n\013CreateIndex\022\'.milvus.proto.mi"
"lvus.CreateIndexRequest\032\033.milvus.proto.c"
"ommon.Status\"\000\022h\n\rDescribeIndex\022).milvus"
".proto.milvus.DescribeIndexRequest\032*.mil"
"vus.proto.milvus.DescribeIndexResponse\"\000"
"\022h\n\rGetIndexState\022).milvus.proto.milvus."
"GetIndexStateRequest\032*.milvus.proto.milv"
"us.GetIndexStateResponse\"\000\022\200\001\n\025GetIndexB"
"uildProgress\0221.milvus.proto.milvus.GetIn"
"dexBuildProgressRequest\0322.milvus.proto.m"
"ilvus.GetIndexBuildProgressResponse\"\000\022Q\n"
"\tDropIndex\022%.milvus.proto.milvus.DropInd"
"exRequest\032\033.milvus.proto.common.Status\"\000"
"\022S\n\006Insert\022\".milvus.proto.milvus.InsertR"
"equest\032#.milvus.proto.milvus.MutationRes"
"ult\"\000\022S\n\006Delete\022\".milvus.proto.milvus.De"
"leteRequest\032#.milvus.proto.milvus.Mutati"
"onResult\"\000\022R\n\006Search\022\".milvus.proto.milv"
"us.SearchRequest\032\".milvus.proto.milvus.S"
"earchResults\"\000\022P\n\005Flush\022!.milvus.proto.m"
"ilvus.FlushRequest\032\".milvus.proto.milvus"
".FlushResponse\"\000\022O\n\005Query\022!.milvus.proto"
".milvus.QueryRequest\032!.milvus.proto.milv"
"us.QueryResults\"\000\022d\n\014CalcDistance\022(.milv"
"us.proto.milvus.CalcDistanceRequest\032(.mi"
"lvus.proto.milvus.CalcDistanceResults\"\000\022"
"h\n\rGetFlushState\022).milvus.proto.milvus.G"
"etFlushStateRequest\032*.milvus.proto.milvu"
"s.GetFlushStateResponse\"\000\022\211\001\n\030GetPersist"
"entSegmentInfo\0224.milvus.proto.milvus.Get"
"PersistentSegmentInfoRequest\0325.milvus.pr"
"oto.milvus.GetPersistentSegmentInfoRespo"
"nse\"\000\022z\n\023GetQuerySegmentInfo\022/.milvus.pr"
"oto.milvus.GetQuerySegmentInfoRequest\0320."
"milvus.proto.milvus.GetQuerySegmentInfoR"
"esponse\"\000\022P\n\005Dummy\022!.milvus.proto.milvus"
".DummyRequest\032\".milvus.proto.milvus.Dumm"
"yResponse\"\000\022e\n\014RegisterLink\022(.milvus.pro"
"to.milvus.RegisterLinkRequest\032).milvus.p"
"roto.milvus.RegisterLinkResponse\"\000\022_\n\nGe"
"tMetrics\022&.milvus.proto.milvus.GetMetric"
"sRequest\032\'.milvus.proto.milvus.GetMetric"
"sResponse\"\000\022U\n\013LoadBalance\022\'.milvus.prot"
"o.milvus.LoadBalanceRequest\032\033.milvus.pro"
"to.common.Status\"\000\022w\n\022GetCompactionState"
"\022..milvus.proto.milvus.GetCompactionStat"
"eRequest\032/.milvus.proto.milvus.GetCompac"
"tionStateResponse\"\000\022q\n\020ManualCompaction\022"
",.milvus.proto.milvus.ManualCompactionRe"
"quest\032-.milvus.proto.milvus.ManualCompac"
"tionResponse\"\000\022\200\001\n\033GetCompactionStateWit"
"hPlans\022..milvus.proto.milvus.GetCompacti"
"onPlansRequest\032/.milvus.proto.milvus.Get"
"CompactionPlansResponse\"\0002u\n\014ProxyServic"
"e\022e\n\014RegisterLink\022(.milvus.proto.milvus."
"RegisterLinkRequest\032).milvus.proto.milvu"
"s.RegisterLinkResponse\"\000B5Z3github.com/m"
"ilvus-io/milvus/internal/proto/milvuspbb"
"\006proto3"
;
static const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable*const descriptor_table_milvus_2eproto_deps[2] = {
&::descriptor_table_common_2eproto,
@ -2807,7 +2809,7 @@ 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", 14669,
&descriptor_table_milvus_2eproto_initialized, descriptor_table_protodef_milvus_2eproto, "milvus.proto", 14687,
&descriptor_table_milvus_2eproto_once, descriptor_table_milvus_2eproto_sccs, descriptor_table_milvus_2eproto_deps, 77, 2,
schemas, file_default_instances, TableStruct_milvus_2eproto::offsets,
file_level_metadata_milvus_2eproto, 77, file_level_enum_descriptors_milvus_2eproto, file_level_service_descriptors_milvus_2eproto,
@ -14737,6 +14739,13 @@ const char* DescribeSegmentResponse::_InternalParse(const char* ptr, ::PROTOBUF_
CHK_(ptr);
} else goto handle_unusual;
continue;
// int64 fieldID = 5;
case 5:
if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 40)) {
fieldid_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
CHK_(ptr);
} else goto handle_unusual;
continue;
default: {
handle_unusual:
if ((tag & 7) == 4 || tag == 0) {
@ -14817,6 +14826,19 @@ bool DescribeSegmentResponse::MergePartialFromCodedStream(
break;
}
// int64 fieldID = 5;
case 5: {
if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (40 & 0xFF)) {
DO_((::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadPrimitive<
::PROTOBUF_NAMESPACE_ID::int64, ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_INT64>(
input, &fieldid_)));
} else {
goto handle_unusual;
}
break;
}
default: {
handle_unusual:
if (tag == 0) {
@ -14865,6 +14887,11 @@ void DescribeSegmentResponse::SerializeWithCachedSizes(
::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBool(4, this->enable_index(), output);
}
// int64 fieldID = 5;
if (this->fieldid() != 0) {
::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64(5, this->fieldid(), output);
}
if (_internal_metadata_.have_unknown_fields()) {
::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SerializeUnknownFields(
_internal_metadata_.unknown_fields(), output);
@ -14900,6 +14927,11 @@ void DescribeSegmentResponse::SerializeWithCachedSizes(
target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(4, this->enable_index(), target);
}
// int64 fieldID = 5;
if (this->fieldid() != 0) {
target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(5, this->fieldid(), target);
}
if (_internal_metadata_.have_unknown_fields()) {
target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SerializeUnknownFieldsToArray(
_internal_metadata_.unknown_fields(), target);
@ -14942,6 +14974,13 @@ size_t DescribeSegmentResponse::ByteSizeLong() const {
this->buildid());
}
// int64 fieldID = 5;
if (this->fieldid() != 0) {
total_size += 1 +
::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64Size(
this->fieldid());
}
// bool enable_index = 4;
if (this->enable_index() != 0) {
total_size += 1 + 1;
@ -14983,6 +15022,9 @@ void DescribeSegmentResponse::MergeFrom(const DescribeSegmentResponse& from) {
if (from.buildid() != 0) {
set_buildid(from.buildid());
}
if (from.fieldid() != 0) {
set_fieldid(from.fieldid());
}
if (from.enable_index() != 0) {
set_enable_index(from.enable_index());
}
@ -15012,6 +15054,7 @@ void DescribeSegmentResponse::InternalSwap(DescribeSegmentResponse* other) {
swap(status_, other->status_);
swap(indexid_, other->indexid_);
swap(buildid_, other->buildid_);
swap(fieldid_, other->fieldid_);
swap(enable_index_, other->enable_index_);
}

View File

@ -5029,6 +5029,7 @@ class DescribeSegmentResponse :
kStatusFieldNumber = 1,
kIndexIDFieldNumber = 2,
kBuildIDFieldNumber = 3,
kFieldIDFieldNumber = 5,
kEnableIndexFieldNumber = 4,
};
// .milvus.proto.common.Status status = 1;
@ -5049,6 +5050,11 @@ class DescribeSegmentResponse :
::PROTOBUF_NAMESPACE_ID::int64 buildid() const;
void set_buildid(::PROTOBUF_NAMESPACE_ID::int64 value);
// int64 fieldID = 5;
void clear_fieldid();
::PROTOBUF_NAMESPACE_ID::int64 fieldid() const;
void set_fieldid(::PROTOBUF_NAMESPACE_ID::int64 value);
// bool enable_index = 4;
void clear_enable_index();
bool enable_index() const;
@ -5062,6 +5068,7 @@ class DescribeSegmentResponse :
::milvus::proto::common::Status* status_;
::PROTOBUF_NAMESPACE_ID::int64 indexid_;
::PROTOBUF_NAMESPACE_ID::int64 buildid_;
::PROTOBUF_NAMESPACE_ID::int64 fieldid_;
bool enable_index_;
mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
friend struct ::TableStruct_milvus_2eproto;
@ -17800,6 +17807,20 @@ inline void DescribeSegmentResponse::set_enable_index(bool value) {
// @@protoc_insertion_point(field_set:milvus.proto.milvus.DescribeSegmentResponse.enable_index)
}
// int64 fieldID = 5;
inline void DescribeSegmentResponse::clear_fieldid() {
fieldid_ = PROTOBUF_LONGLONG(0);
}
inline ::PROTOBUF_NAMESPACE_ID::int64 DescribeSegmentResponse::fieldid() const {
// @@protoc_insertion_point(field_get:milvus.proto.milvus.DescribeSegmentResponse.fieldID)
return fieldid_;
}
inline void DescribeSegmentResponse::set_fieldid(::PROTOBUF_NAMESPACE_ID::int64 value) {
fieldid_ = value;
// @@protoc_insertion_point(field_set:milvus.proto.milvus.DescribeSegmentResponse.fieldID)
}
// -------------------------------------------------------------------
// ShowSegmentsRequest

View File

@ -403,6 +403,7 @@ message DescribeSegmentResponse {
int64 indexID = 2;
int64 buildID = 3;
bool enable_index = 4;
int64 fieldID = 5;
}
message ShowSegmentsRequest {

View File

@ -1861,6 +1861,7 @@ type DescribeSegmentResponse struct {
IndexID int64 `protobuf:"varint,2,opt,name=indexID,proto3" json:"indexID,omitempty"`
BuildID int64 `protobuf:"varint,3,opt,name=buildID,proto3" json:"buildID,omitempty"`
EnableIndex bool `protobuf:"varint,4,opt,name=enable_index,json=enableIndex,proto3" json:"enable_index,omitempty"`
FieldID int64 `protobuf:"varint,5,opt,name=fieldID,proto3" json:"fieldID,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
@ -1919,6 +1920,13 @@ func (m *DescribeSegmentResponse) GetEnableIndex() bool {
return false
}
func (m *DescribeSegmentResponse) GetFieldID() int64 {
if m != nil {
return m.FieldID
}
return 0
}
type ShowSegmentsRequest struct {
Base *commonpb.MsgBase `protobuf:"bytes,1,opt,name=base,proto3" json:"base,omitempty"`
CollectionID int64 `protobuf:"varint,2,opt,name=collectionID,proto3" json:"collectionID,omitempty"`
@ -4979,229 +4987,230 @@ func init() {
func init() { proto.RegisterFile("milvus.proto", fileDescriptor_02345ba45cc0e303) }
var fileDescriptor_02345ba45cc0e303 = []byte{
// 3548 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xd4, 0x3b, 0x4d, 0x73, 0x1b, 0xc7,
0xb1, 0x5c, 0x80, 0x24, 0x80, 0x26, 0x40, 0x42, 0x43, 0x8a, 0x82, 0xa0, 0x2f, 0x6a, 0x6d, 0x59,
0x94, 0x64, 0x49, 0x16, 0xe5, 0xaf, 0x27, 0xbf, 0xf7, 0x6c, 0x49, 0x7c, 0x96, 0x58, 0x96, 0xf4,
0xe8, 0xa5, 0xed, 0x57, 0x7e, 0x2e, 0x15, 0x6a, 0x88, 0x1d, 0x82, 0x5b, 0x5a, 0xec, 0xc2, 0x3b,
0x03, 0x49, 0xf4, 0x29, 0x55, 0x8e, 0x93, 0x4a, 0xd9, 0xb1, 0x2b, 0x95, 0x54, 0x52, 0x39, 0x24,
0x87, 0x24, 0x3e, 0xe4, 0x16, 0xc7, 0xa9, 0x24, 0x95, 0x53, 0x0e, 0x3e, 0xe4, 0x90, 0xaa, 0x7c,
0x5c, 0x72, 0xc8, 0x25, 0x7f, 0xc0, 0xff, 0x20, 0x87, 0xd4, 0x7c, 0xec, 0x62, 0x77, 0x31, 0x0b,
0x82, 0x82, 0x15, 0x92, 0xb7, 0x9d, 0x9e, 0xee, 0x9e, 0x9e, 0x9e, 0x9e, 0x9e, 0x9e, 0x9e, 0x5e,
0x28, 0xb7, 0x1d, 0xf7, 0x7e, 0x97, 0x5e, 0xe8, 0x04, 0x3e, 0xf3, 0xd1, 0x6c, 0xbc, 0x75, 0x41,
0x36, 0xea, 0xe5, 0xa6, 0xdf, 0x6e, 0xfb, 0x9e, 0x04, 0xd6, 0xcb, 0xb4, 0xb9, 0x49, 0xda, 0x58,
0xb6, 0xcc, 0x1f, 0x1b, 0x80, 0xae, 0x07, 0x04, 0x33, 0x72, 0xd5, 0x75, 0x30, 0xb5, 0xc8, 0xbb,
0x5d, 0x42, 0x19, 0x7a, 0x06, 0xc6, 0xd7, 0x31, 0x25, 0x35, 0x63, 0xc1, 0x58, 0x9c, 0x5a, 0x3a,
0x7a, 0x21, 0xc1, 0x56, 0xb1, 0xbb, 0x4d, 0x5b, 0xd7, 0x30, 0x25, 0x96, 0xc0, 0x44, 0x87, 0xa0,
0x60, 0xaf, 0x37, 0x3c, 0xdc, 0x26, 0xb5, 0xdc, 0x82, 0xb1, 0x58, 0xb2, 0x26, 0xed, 0xf5, 0x3b,
0xb8, 0x4d, 0xd0, 0x69, 0x98, 0x69, 0xfa, 0xae, 0x4b, 0x9a, 0xcc, 0xf1, 0x3d, 0x89, 0x90, 0x17,
0x08, 0xd3, 0x3d, 0xb0, 0x40, 0x9c, 0x83, 0x09, 0xcc, 0x65, 0xa8, 0x8d, 0x8b, 0x6e, 0xd9, 0x30,
0x29, 0x54, 0x97, 0x03, 0xbf, 0xf3, 0xb8, 0xa4, 0x8b, 0x06, 0xcd, 0xc7, 0x07, 0xfd, 0x91, 0x01,
0x07, 0xae, 0xba, 0x8c, 0x04, 0x7b, 0x54, 0x29, 0x5f, 0x18, 0x70, 0x48, 0xae, 0xda, 0xf5, 0x08,
0x7d, 0x37, 0xa5, 0x9c, 0x87, 0x49, 0x69, 0x55, 0x42, 0xcc, 0xb2, 0xa5, 0x5a, 0xe8, 0x18, 0x00,
0xdd, 0xc4, 0x81, 0x4d, 0x1b, 0x5e, 0xb7, 0x5d, 0x9b, 0x58, 0x30, 0x16, 0x27, 0xac, 0x92, 0x84,
0xdc, 0xe9, 0xb6, 0xcd, 0x0f, 0x0d, 0x38, 0xc8, 0x17, 0x77, 0x4f, 0x4c, 0xc2, 0xfc, 0xb9, 0x01,
0x73, 0x37, 0x31, 0xdd, 0x1b, 0x1a, 0x3d, 0x06, 0xc0, 0x9c, 0x36, 0x69, 0x50, 0x86, 0xdb, 0x1d,
0xa1, 0xd5, 0x71, 0xab, 0xc4, 0x21, 0x6b, 0x1c, 0x60, 0xbe, 0x0d, 0xe5, 0x6b, 0xbe, 0xef, 0x5a,
0x84, 0x76, 0x7c, 0x8f, 0x12, 0x74, 0x19, 0x26, 0x29, 0xc3, 0xac, 0x4b, 0x95, 0x90, 0x47, 0xb4,
0x42, 0xae, 0x09, 0x14, 0x4b, 0xa1, 0x72, 0xdb, 0xba, 0x8f, 0xdd, 0xae, 0x94, 0xb1, 0x68, 0xc9,
0x86, 0xf9, 0x0e, 0x4c, 0xaf, 0xb1, 0xc0, 0xf1, 0x5a, 0x5f, 0x21, 0xf3, 0x52, 0xc8, 0xfc, 0xaf,
0x06, 0x1c, 0x5e, 0x26, 0xb4, 0x19, 0x38, 0xeb, 0x7b, 0xc4, 0x74, 0x4d, 0x28, 0xf7, 0x20, 0x2b,
0xcb, 0x42, 0xd5, 0x79, 0x2b, 0x01, 0x4b, 0x2d, 0xc6, 0x44, 0x7a, 0x31, 0xde, 0x1f, 0x87, 0xba,
0x6e, 0x52, 0xa3, 0xa8, 0xef, 0xbf, 0xa2, 0x1d, 0x95, 0x13, 0x44, 0xa7, 0x92, 0x44, 0xca, 0x87,
0xf7, 0x46, 0x5b, 0x13, 0x80, 0x68, 0xe3, 0xa5, 0x67, 0x95, 0xd7, 0xcc, 0x6a, 0x09, 0x0e, 0xde,
0x77, 0x02, 0xd6, 0xc5, 0x6e, 0xa3, 0xb9, 0x89, 0x3d, 0x8f, 0xb8, 0x42, 0x4f, 0xdc, 0xd5, 0xe4,
0x17, 0x4b, 0xd6, 0xac, 0xea, 0xbc, 0x2e, 0xfb, 0xb8, 0xb2, 0x28, 0x7a, 0x16, 0xe6, 0x3b, 0x9b,
0x5b, 0xd4, 0x69, 0xf6, 0x11, 0x4d, 0x08, 0xa2, 0xb9, 0xb0, 0x37, 0x41, 0x75, 0x0e, 0x0e, 0x34,
0x85, 0xb7, 0xb2, 0x1b, 0x5c, 0x6b, 0x52, 0x8d, 0x93, 0x42, 0x8d, 0x55, 0xd5, 0xf1, 0x46, 0x08,
0xe7, 0x62, 0x85, 0xc8, 0x5d, 0xd6, 0x8c, 0x11, 0x14, 0x04, 0xc1, 0xac, 0xea, 0x7c, 0x93, 0x35,
0x7b, 0x34, 0x49, 0x3f, 0x53, 0x4c, 0xf9, 0x19, 0x54, 0x83, 0x82, 0xf0, 0x9b, 0x84, 0xd6, 0x4a,
0x42, 0xcc, 0xb0, 0x89, 0x56, 0x60, 0x86, 0x32, 0x1c, 0xb0, 0x46, 0xc7, 0xa7, 0x0e, 0xd7, 0x0b,
0xad, 0xc1, 0x42, 0x7e, 0x71, 0x6a, 0x69, 0x41, 0xbb, 0x48, 0xaf, 0x91, 0xad, 0x65, 0xcc, 0xf0,
0x2a, 0x76, 0x02, 0x6b, 0x5a, 0x10, 0xae, 0x86, 0x74, 0xc2, 0x99, 0xdd, 0xf2, 0xb1, 0xbd, 0x37,
0x9c, 0xd9, 0xc7, 0x06, 0xd4, 0x2c, 0xe2, 0x12, 0x4c, 0xf7, 0xc6, 0x3e, 0x33, 0xbf, 0x67, 0xc0,
0xf1, 0x1b, 0x84, 0xc5, 0x2c, 0x96, 0x61, 0xe6, 0x50, 0xe6, 0x34, 0x77, 0xf3, 0x7c, 0x35, 0x3f,
0x31, 0xe0, 0x44, 0xa6, 0x58, 0xa3, 0x6c, 0xe0, 0x17, 0x60, 0x82, 0x7f, 0xd1, 0x5a, 0x4e, 0xd8,
0xd3, 0xc9, 0x2c, 0x7b, 0x7a, 0x8b, 0xfb, 0x45, 0x61, 0x50, 0x12, 0xdf, 0xfc, 0x87, 0x01, 0xf3,
0x6b, 0x9b, 0xfe, 0x83, 0x9e, 0x48, 0x8f, 0x43, 0x41, 0x49, 0x97, 0x96, 0x4f, 0xb9, 0x34, 0x74,
0x09, 0xc6, 0xd9, 0x56, 0x87, 0x08, 0x6f, 0x38, 0xbd, 0x74, 0xec, 0x82, 0x26, 0xac, 0xbc, 0xc0,
0x85, 0x7c, 0x63, 0xab, 0x43, 0x2c, 0x81, 0x8a, 0xce, 0x40, 0x35, 0xa5, 0xf2, 0xd0, 0x29, 0xcc,
0x24, 0x75, 0x4e, 0xcd, 0xdf, 0xe6, 0xe0, 0x50, 0xdf, 0x14, 0x47, 0x51, 0xb6, 0x6e, 0xec, 0x9c,
0x76, 0x6c, 0x74, 0x0a, 0x62, 0x26, 0xd0, 0x70, 0x6c, 0x1e, 0xf9, 0xe5, 0x17, 0xf3, 0x56, 0x25,
0xe6, 0x1b, 0x6d, 0x8a, 0xce, 0x03, 0xea, 0x73, 0x59, 0xd2, 0x33, 0x8e, 0x5b, 0x07, 0xd2, 0x3e,
0x4b, 0xf8, 0x45, 0xad, 0xd3, 0x92, 0x2a, 0x18, 0xb7, 0xe6, 0x34, 0x5e, 0x8b, 0xa2, 0x4b, 0x30,
0xe7, 0x78, 0xb7, 0x49, 0xdb, 0x0f, 0xb6, 0x1a, 0x1d, 0x12, 0x34, 0x89, 0xc7, 0x70, 0x8b, 0xd0,
0xda, 0xa4, 0x90, 0x68, 0x36, 0xec, 0x5b, 0xed, 0x75, 0x99, 0x9f, 0x1b, 0x30, 0x2f, 0x23, 0xbf,
0x55, 0x1c, 0x30, 0x67, 0xb7, 0x4f, 0xcf, 0x53, 0x30, 0xdd, 0x09, 0xe5, 0x90, 0x78, 0x32, 0x4e,
0xad, 0x44, 0x50, 0xb1, 0xcb, 0x3e, 0x33, 0x60, 0x8e, 0x07, 0x7a, 0xfb, 0x49, 0xe6, 0x5f, 0x18,
0x30, 0x7b, 0x13, 0xd3, 0xfd, 0x24, 0xf2, 0xaf, 0xd4, 0x11, 0x14, 0xc9, 0xbc, 0xab, 0x57, 0x97,
0xd3, 0x30, 0x93, 0x14, 0x3a, 0x8c, 0x2c, 0xa6, 0x13, 0x52, 0x53, 0xf3, 0x37, 0xbd, 0xb3, 0x6a,
0x9f, 0x49, 0xfe, 0x3b, 0x03, 0x8e, 0xdd, 0x20, 0x2c, 0x92, 0x7a, 0x4f, 0x9c, 0x69, 0xc3, 0x5a,
0xcb, 0xc7, 0xf2, 0x44, 0xd6, 0x0a, 0xbf, 0x2b, 0x27, 0xdf, 0x87, 0x39, 0x38, 0xc8, 0x8f, 0x85,
0xbd, 0x61, 0x04, 0xc3, 0x5c, 0x0c, 0x34, 0x86, 0x32, 0xa1, 0x33, 0x94, 0xe8, 0x3c, 0x9d, 0x1c,
0xfa, 0x3c, 0x35, 0x7f, 0x99, 0x93, 0x71, 0x40, 0x5c, 0x1b, 0xa3, 0x2c, 0x8b, 0x46, 0xd6, 0x9c,
0x56, 0x56, 0x13, 0xca, 0x11, 0x64, 0x65, 0x39, 0x3c, 0x1f, 0x13, 0xb0, 0x3d, 0x7b, 0x3c, 0x7e,
0x64, 0xc0, 0x7c, 0x78, 0x15, 0x5b, 0x23, 0xad, 0x36, 0xf1, 0xd8, 0xa3, 0xdb, 0x50, 0xda, 0x02,
0x72, 0x1a, 0x0b, 0x38, 0x0a, 0x25, 0x2a, 0xc7, 0x89, 0x6e, 0x59, 0x3d, 0x80, 0xf9, 0xa9, 0x01,
0x87, 0xfa, 0xc4, 0x19, 0x65, 0x11, 0x6b, 0x50, 0x70, 0x3c, 0x9b, 0x3c, 0x8c, 0xa4, 0x09, 0x9b,
0xbc, 0x67, 0xbd, 0xeb, 0xb8, 0x76, 0x24, 0x46, 0xd8, 0x44, 0x27, 0xa1, 0x4c, 0x3c, 0xbc, 0xee,
0x92, 0x86, 0xc0, 0x15, 0x86, 0x5c, 0xb4, 0xa6, 0x24, 0x6c, 0x85, 0x83, 0xcc, 0x6f, 0x1b, 0x30,
0xcb, 0x6d, 0x4d, 0xc9, 0x48, 0x1f, 0xaf, 0xce, 0x16, 0x60, 0x2a, 0x66, 0x4c, 0x4a, 0xdc, 0x38,
0xc8, 0xbc, 0x07, 0x73, 0x49, 0x71, 0x46, 0xd1, 0xd9, 0x71, 0x80, 0x68, 0x45, 0xa4, 0xcd, 0xe7,
0xad, 0x18, 0xc4, 0xfc, 0x32, 0x4a, 0x81, 0x0a, 0x65, 0xec, 0x72, 0xd6, 0x67, 0xc3, 0x21, 0xae,
0x1d, 0xf7, 0xda, 0x25, 0x01, 0x11, 0xdd, 0xcb, 0x50, 0x26, 0x0f, 0x59, 0x80, 0x1b, 0x1d, 0x1c,
0xe0, 0xb6, 0xdc, 0x3c, 0x43, 0x39, 0xd8, 0x29, 0x41, 0xb6, 0x2a, 0xa8, 0xcc, 0x3f, 0xf0, 0x60,
0x4c, 0x19, 0xe5, 0x5e, 0x9f, 0xf1, 0x31, 0x00, 0x61, 0xb4, 0xb2, 0x7b, 0x42, 0x76, 0x0b, 0x88,
0x38, 0xc2, 0x3e, 0x35, 0xa0, 0x2a, 0xa6, 0x20, 0xe7, 0xd3, 0xe1, 0x6c, 0x53, 0x34, 0x46, 0x8a,
0x66, 0xc0, 0x16, 0xfa, 0x0f, 0x98, 0x54, 0x8a, 0xcd, 0x0f, 0xab, 0x58, 0x45, 0xb0, 0xcd, 0x34,
0xcc, 0x9f, 0x18, 0x70, 0x30, 0xa5, 0xf2, 0x51, 0x2c, 0xfa, 0x0d, 0x40, 0x72, 0x86, 0x76, 0x6f,
0xda, 0xe1, 0x71, 0x7b, 0x4a, 0x7b, 0xb6, 0xa4, 0x95, 0x64, 0x1d, 0x70, 0x52, 0x10, 0x6a, 0xfe,
0xd9, 0x80, 0xa3, 0x37, 0x08, 0x13, 0xa8, 0xd7, 0xb8, 0xef, 0x58, 0x0d, 0xfc, 0x56, 0x40, 0x28,
0xdd, 0xbf, 0xf6, 0xf1, 0x7d, 0x19, 0x9f, 0xe9, 0xa6, 0x34, 0x8a, 0xfe, 0x4f, 0x42, 0x59, 0x8c,
0x41, 0xec, 0x46, 0xe0, 0x3f, 0xa0, 0xca, 0x8e, 0xa6, 0x14, 0xcc, 0xf2, 0x1f, 0x08, 0x83, 0x60,
0x3e, 0xc3, 0xae, 0x44, 0x50, 0x07, 0x83, 0x80, 0xf0, 0x6e, 0xb1, 0x07, 0x43, 0xc1, 0x38, 0x73,
0xb2, 0x7f, 0x75, 0xfc, 0x33, 0x03, 0x0e, 0xa6, 0xa6, 0x32, 0x8a, 0x6e, 0x9f, 0x93, 0xd1, 0xa3,
0x9c, 0xcc, 0xf4, 0xd2, 0x09, 0x2d, 0x4d, 0x6c, 0x30, 0x89, 0x8d, 0x4e, 0xc0, 0xd4, 0x06, 0x76,
0xdc, 0x46, 0x40, 0x30, 0xf5, 0x3d, 0x35, 0x51, 0xe0, 0x20, 0x4b, 0x40, 0xcc, 0x2f, 0x0c, 0xf9,
0x90, 0xb4, 0xcf, 0x3d, 0xde, 0x4f, 0x73, 0x50, 0x59, 0xf1, 0x28, 0x09, 0xd8, 0xde, 0xbf, 0x61,
0xa0, 0x97, 0x61, 0x4a, 0x4c, 0x8c, 0x36, 0x6c, 0xcc, 0xb0, 0x3a, 0xae, 0x8e, 0x6b, 0x33, 0xd9,
0xaf, 0x72, 0xbc, 0x65, 0xcc, 0xb0, 0x25, 0xb5, 0x43, 0xf9, 0x37, 0x3a, 0x02, 0xa5, 0x4d, 0x4c,
0x37, 0x1b, 0xf7, 0xc8, 0x96, 0x0c, 0xfb, 0x2a, 0x56, 0x91, 0x03, 0x5e, 0x23, 0x5b, 0x14, 0x1d,
0x86, 0xa2, 0xd7, 0x6d, 0xcb, 0x0d, 0x56, 0x58, 0x30, 0x16, 0x2b, 0x56, 0xc1, 0xeb, 0xb6, 0xc5,
0xf6, 0xfa, 0x63, 0x0e, 0xa6, 0x6f, 0x77, 0xf9, 0x7d, 0x46, 0xe4, 0xe1, 0xbb, 0x2e, 0x7b, 0x34,
0x63, 0x3c, 0x0b, 0x79, 0x19, 0x33, 0x70, 0x8a, 0x9a, 0x56, 0xf0, 0x95, 0x65, 0x6a, 0x71, 0x24,
0x91, 0x83, 0xee, 0x36, 0x9b, 0x2a, 0xc8, 0xca, 0x0b, 0x61, 0x4b, 0x1c, 0x22, 0x2c, 0x8e, 0x4f,
0x85, 0x04, 0x41, 0x14, 0x82, 0x89, 0xa9, 0x90, 0x20, 0x90, 0x9d, 0x26, 0x94, 0x71, 0xf3, 0x9e,
0xe7, 0x3f, 0x70, 0x89, 0xdd, 0x22, 0xb6, 0x58, 0xf6, 0xa2, 0x95, 0x80, 0x49, 0xc3, 0xe0, 0x0b,
0xdf, 0x68, 0x7a, 0x4c, 0x5c, 0x24, 0xf2, 0xdc, 0x30, 0x38, 0xe4, 0xba, 0xc7, 0x78, 0xb7, 0x4d,
0x5c, 0xc2, 0x88, 0xe8, 0x2e, 0xc8, 0x6e, 0x09, 0x51, 0xdd, 0xdd, 0x4e, 0x44, 0x5d, 0x94, 0xdd,
0x12, 0xc2, 0xbb, 0x8f, 0x42, 0xa9, 0x97, 0x68, 0x2f, 0xf5, 0xb2, 0x81, 0x02, 0x60, 0xfe, 0xdd,
0x80, 0xca, 0xb2, 0x60, 0xb5, 0x0f, 0x8c, 0x0e, 0xc1, 0x38, 0x79, 0xd8, 0x09, 0xd4, 0xd6, 0x11,
0xdf, 0x03, 0xed, 0xc8, 0xbc, 0x0f, 0xd5, 0x55, 0x17, 0x37, 0xc9, 0xa6, 0xef, 0xda, 0x24, 0x10,
0x67, 0x3b, 0xaa, 0x42, 0x9e, 0xe1, 0x96, 0x0a, 0x1e, 0xf8, 0x27, 0x7a, 0x51, 0xdd, 0xe0, 0xa4,
0x5b, 0x7a, 0x52, 0x7b, 0xca, 0xc6, 0xd8, 0xc4, 0x12, 0xa3, 0xf3, 0x30, 0x29, 0x1e, 0xbf, 0x64,
0x58, 0x51, 0xb6, 0x54, 0xcb, 0xbc, 0x9b, 0x18, 0xf7, 0x46, 0xe0, 0x77, 0x3b, 0x68, 0x05, 0xca,
0x9d, 0x1e, 0x8c, 0xdb, 0x6a, 0xf6, 0x99, 0x9e, 0x16, 0xda, 0x4a, 0x90, 0x9a, 0x5f, 0xe6, 0xa1,
0xb2, 0x46, 0x70, 0xd0, 0xdc, 0xdc, 0x0f, 0xa9, 0x14, 0xae, 0x71, 0x9b, 0xba, 0x6a, 0xd5, 0xf8,
0x27, 0x3a, 0x07, 0x07, 0x62, 0x13, 0x6a, 0xb4, 0xb8, 0x82, 0x84, 0xdd, 0x97, 0xad, 0x6a, 0x27,
0xad, 0xb8, 0x17, 0xa0, 0x68, 0x53, 0xb7, 0x21, 0x96, 0xa8, 0x20, 0x96, 0x48, 0x3f, 0xbf, 0x65,
0xea, 0x8a, 0xa5, 0x29, 0xd8, 0xf2, 0x03, 0x3d, 0x01, 0x15, 0xbf, 0xcb, 0x3a, 0x5d, 0xd6, 0x90,
0x7e, 0xa7, 0x56, 0x14, 0xe2, 0x95, 0x25, 0x50, 0xb8, 0x25, 0x8a, 0x5e, 0x85, 0x0a, 0x15, 0xaa,
0x0c, 0x23, 0xef, 0xd2, 0xb0, 0x01, 0x62, 0x59, 0xd2, 0xc9, 0xd0, 0x1b, 0x9d, 0x81, 0x2a, 0x0b,
0xf0, 0x7d, 0xe2, 0xc6, 0x9e, 0xb5, 0x40, 0xec, 0xb6, 0x19, 0x09, 0xef, 0x3d, 0x69, 0x5d, 0x84,
0xd9, 0x56, 0x17, 0x07, 0xd8, 0x63, 0x84, 0xc4, 0xb0, 0xa7, 0x04, 0x36, 0x8a, 0xba, 0x22, 0x02,
0xf3, 0x35, 0x18, 0xbf, 0xe9, 0x30, 0xa1, 0x48, 0xee, 0xb3, 0x0c, 0x71, 0xcf, 0x11, 0x9e, 0xe9,
0x30, 0x14, 0x03, 0xff, 0x81, 0xf4, 0xc1, 0x39, 0x61, 0x82, 0x85, 0xc0, 0x7f, 0x20, 0x1c, 0xac,
0x78, 0xb8, 0xf7, 0x03, 0x65, 0x9b, 0x39, 0x4b, 0xb5, 0xcc, 0x0f, 0x8c, 0x9e, 0xf1, 0x70, 0xf7,
0x49, 0x1f, 0xcd, 0x7f, 0xbe, 0x0c, 0x85, 0x40, 0xd2, 0x0f, 0x7c, 0xc6, 0x8c, 0x8f, 0x24, 0xce,
0x80, 0x90, 0xca, 0xfc, 0xba, 0x01, 0xe5, 0x57, 0xdd, 0x2e, 0x7d, 0x1c, 0x36, 0xac, 0x7b, 0x34,
0xc8, 0xeb, 0x1f, 0x2c, 0xbe, 0x93, 0x83, 0x8a, 0x12, 0x63, 0x94, 0xd8, 0x26, 0x53, 0x94, 0x35,
0x98, 0xe2, 0x43, 0x36, 0x28, 0x69, 0x85, 0x19, 0x97, 0xa9, 0xa5, 0x25, 0xed, 0xae, 0x4f, 0x88,
0x21, 0x1e, 0x80, 0xd7, 0x04, 0xd1, 0xff, 0x78, 0x2c, 0xd8, 0xb2, 0xa0, 0x19, 0x01, 0xea, 0x77,
0x61, 0x26, 0xd5, 0xcd, 0x6d, 0xe3, 0x1e, 0xd9, 0x0a, 0xdd, 0xda, 0x3d, 0xb2, 0x85, 0x9e, 0x8d,
0x3f, 0xd3, 0x67, 0x1d, 0xce, 0xb7, 0x7c, 0xaf, 0x75, 0x35, 0x08, 0xf0, 0x96, 0x7a, 0xc6, 0xbf,
0x92, 0x7b, 0xd1, 0x30, 0x7f, 0x9f, 0x83, 0xf2, 0xeb, 0x5d, 0x12, 0x6c, 0xed, 0xa6, 0x7b, 0x09,
0x9d, 0xfd, 0x78, 0xcc, 0xd9, 0xf7, 0xed, 0xe8, 0x09, 0xcd, 0x8e, 0xd6, 0xf8, 0xa5, 0x49, 0xad,
0x5f, 0xd2, 0x6d, 0xd9, 0xc2, 0x8e, 0xb6, 0x6c, 0x31, 0x73, 0xcb, 0x72, 0xeb, 0x56, 0x2a, 0x1c,
0x69, 0x93, 0x25, 0xa2, 0xac, 0xdc, 0x4e, 0xa3, 0x2c, 0xf3, 0x33, 0x03, 0x4a, 0x6f, 0x91, 0x26,
0xf3, 0x03, 0xee, 0x2d, 0x34, 0xba, 0x37, 0x86, 0x08, 0x64, 0x73, 0xe9, 0x40, 0xf6, 0x32, 0x14,
0x1d, 0xbb, 0x81, 0xb9, 0xd9, 0x88, 0xc5, 0x1b, 0x14, 0x40, 0x15, 0x1c, 0x5b, 0xd8, 0xd7, 0xf0,
0x99, 0xf7, 0x1f, 0x18, 0x50, 0x96, 0x32, 0x53, 0x49, 0xf9, 0x52, 0x6c, 0x38, 0x43, 0x67, 0xcb,
0xaa, 0x11, 0x4d, 0xf4, 0xe6, 0x58, 0x6f, 0xd8, 0xab, 0x00, 0x5c, 0x77, 0x8a, 0x5c, 0x6e, 0x85,
0x05, 0xad, 0xb4, 0x92, 0x5c, 0xe8, 0xf1, 0xe6, 0x98, 0x55, 0xe2, 0x54, 0x82, 0xc5, 0xb5, 0x02,
0x4c, 0x08, 0x6a, 0xf3, 0x9f, 0x06, 0xcc, 0x5e, 0xc7, 0x6e, 0x73, 0xd9, 0xa1, 0x0c, 0x7b, 0xcd,
0x11, 0x42, 0xa6, 0x2b, 0x50, 0xf0, 0x3b, 0x0d, 0x97, 0x6c, 0x30, 0x25, 0xd2, 0xc9, 0x01, 0x33,
0x92, 0x6a, 0xb0, 0x26, 0xfd, 0xce, 0x2d, 0xb2, 0xc1, 0xd0, 0x7f, 0x42, 0xd1, 0xef, 0x34, 0x02,
0xa7, 0xb5, 0xc9, 0x94, 0xf6, 0x87, 0x20, 0x2e, 0xf8, 0x1d, 0x8b, 0x53, 0xc4, 0x32, 0x21, 0xe3,
0x3b, 0xcc, 0x84, 0x98, 0x7f, 0xe9, 0x9b, 0xfe, 0x08, 0xa6, 0x7d, 0x05, 0x8a, 0x8e, 0xc7, 0x1a,
0xb6, 0x43, 0x43, 0x15, 0x1c, 0xd3, 0xdb, 0x90, 0xc7, 0xc4, 0x0c, 0xc4, 0x9a, 0x7a, 0x8c, 0x8f,
0x8d, 0x5e, 0x01, 0xd8, 0x70, 0x7d, 0xac, 0xa8, 0xa5, 0x0e, 0x4e, 0xe8, 0x77, 0x05, 0x47, 0x0b,
0xe9, 0x4b, 0x82, 0x88, 0x73, 0xe8, 0x2d, 0xe9, 0x9f, 0x0c, 0x38, 0xb8, 0x4a, 0x02, 0xea, 0x50,
0x46, 0x3c, 0xa6, 0xb2, 0x92, 0x2b, 0xde, 0x86, 0x9f, 0x4c, 0xff, 0x1a, 0xa9, 0xf4, 0xef, 0x57,
0x93, 0x0c, 0x4d, 0xdc, 0x73, 0xe4, 0x23, 0x44, 0x78, 0xcf, 0x09, 0x9f, 0x5a, 0xe4, 0x3d, 0x71,
0x3a, 0x63, 0x99, 0x94, 0xbc, 0xf1, 0xeb, 0xb2, 0xf9, 0x5d, 0x59, 0xf6, 0xa0, 0x9d, 0xd4, 0xa3,
0x1b, 0xec, 0x3c, 0x28, 0x07, 0x9e, 0x72, 0xe7, 0x4f, 0x41, 0xca, 0x77, 0x64, 0x14, 0x63, 0xfc,
0xd0, 0x80, 0x85, 0x6c, 0xa9, 0x46, 0x39, 0x79, 0x5f, 0x81, 0x09, 0xc7, 0xdb, 0xf0, 0xc3, 0x24,
0xd9, 0x59, 0x7d, 0x40, 0xad, 0x1d, 0x57, 0x12, 0x9a, 0xbf, 0xce, 0x41, 0x55, 0xf8, 0xea, 0x5d,
0x58, 0xfe, 0x36, 0x69, 0x37, 0xa8, 0xf3, 0x1e, 0x09, 0x97, 0xbf, 0x4d, 0xda, 0x6b, 0xce, 0x7b,
0x24, 0x61, 0x19, 0x13, 0x49, 0xcb, 0x48, 0xa6, 0x11, 0x26, 0x07, 0x24, 0x41, 0x0b, 0xc9, 0x24,
0xe8, 0x3c, 0x4c, 0x7a, 0xbe, 0x4d, 0x56, 0x96, 0xd5, 0x25, 0x51, 0xb5, 0x7a, 0xa6, 0x56, 0xda,
0xa1, 0xa9, 0x7d, 0x6c, 0x40, 0xfd, 0x06, 0x61, 0x69, 0xdd, 0xed, 0x9e, 0x95, 0x7d, 0x62, 0xc0,
0x11, 0xad, 0x40, 0xa3, 0x18, 0xd8, 0x4b, 0x49, 0x03, 0xd3, 0xdf, 0xd8, 0xfa, 0x86, 0x54, 0xb6,
0x75, 0x09, 0xca, 0xcb, 0xdd, 0x76, 0x3b, 0x8a, 0xa4, 0x4e, 0x42, 0x39, 0x90, 0x9f, 0xf2, 0x42,
0x23, 0xcf, 0xdf, 0x29, 0x05, 0xe3, 0xd7, 0x16, 0xf3, 0x1c, 0x54, 0x14, 0x89, 0x92, 0xba, 0x0e,
0xc5, 0x40, 0x7d, 0x2b, 0xfc, 0xa8, 0x6d, 0x1e, 0x84, 0x59, 0x8b, 0xb4, 0xb8, 0x69, 0x07, 0xb7,
0x1c, 0xef, 0x9e, 0x1a, 0xc6, 0x7c, 0xdf, 0x80, 0xb9, 0x24, 0x5c, 0xf1, 0x7a, 0x1e, 0x0a, 0xd8,
0xb6, 0x03, 0x42, 0xe9, 0xc0, 0x65, 0xb9, 0x2a, 0x71, 0xac, 0x10, 0x39, 0xa6, 0xb9, 0xdc, 0xd0,
0x9a, 0x33, 0x1b, 0x70, 0xe0, 0x06, 0x61, 0xb7, 0x09, 0x0b, 0x46, 0x7a, 0x36, 0xaf, 0xf1, 0xab,
0x86, 0x20, 0x56, 0x66, 0x11, 0x36, 0xcd, 0x8f, 0x0c, 0x40, 0xf1, 0x11, 0x46, 0x59, 0xe6, 0xb8,
0x96, 0x73, 0x49, 0x2d, 0xcb, 0xca, 0xa2, 0x76, 0xc7, 0xf7, 0x88, 0xc7, 0xe2, 0x31, 0x6b, 0x25,
0x82, 0x0a, 0xf3, 0xfb, 0xdc, 0x00, 0x74, 0xcb, 0xc7, 0xf6, 0x35, 0xec, 0x8e, 0x16, 0x1e, 0x1c,
0x03, 0xa0, 0x41, 0xb3, 0xa1, 0x76, 0x6b, 0x4e, 0x79, 0x9f, 0xa0, 0x79, 0x47, 0x6e, 0xd8, 0x13,
0x30, 0x65, 0x53, 0xa6, 0xba, 0xc3, 0x57, 0x5c, 0xb0, 0x29, 0x93, 0xfd, 0xa2, 0x2a, 0x93, 0x12,
0xec, 0x12, 0xbb, 0x11, 0x7b, 0x1e, 0x1b, 0x17, 0x68, 0x55, 0xd9, 0xb1, 0xd6, 0x7b, 0x24, 0xbb,
0x0b, 0x87, 0x6e, 0x63, 0xaf, 0x8b, 0xdd, 0xeb, 0x7e, 0xbb, 0x83, 0x13, 0xd5, 0x84, 0x69, 0x37,
0x67, 0x68, 0xdc, 0xdc, 0x71, 0x59, 0x6e, 0x26, 0x23, 0x66, 0x21, 0xeb, 0xb8, 0x15, 0x83, 0x98,
0x14, 0x6a, 0xfd, 0xec, 0x47, 0x59, 0x28, 0x21, 0x54, 0xc8, 0x2a, 0xee, 0x7b, 0x7b, 0x30, 0xf3,
0x65, 0x38, 0x2c, 0x4a, 0xff, 0x42, 0x50, 0x22, 0x11, 0x9f, 0x66, 0x60, 0x68, 0x18, 0x7c, 0x33,
0x27, 0x5c, 0x5b, 0x1f, 0x87, 0x51, 0x04, 0xbf, 0x92, 0xcc, 0x7f, 0x3f, 0xa9, 0xa5, 0x49, 0x8f,
0xa8, 0x92, 0xe0, 0x8b, 0x30, 0x43, 0x1e, 0x92, 0x66, 0x97, 0x39, 0x5e, 0x6b, 0xd5, 0xc5, 0xde,
0x1d, 0x5f, 0x1d, 0x28, 0x69, 0x30, 0x7a, 0x12, 0x2a, 0x5c, 0xfb, 0x7e, 0x97, 0x29, 0x3c, 0x79,
0xb2, 0x24, 0x81, 0x9c, 0x1f, 0x9f, 0xaf, 0x4b, 0x18, 0xb1, 0x15, 0x9e, 0x3c, 0x66, 0xd2, 0xe0,
0x3e, 0x55, 0x72, 0x30, 0xdd, 0x89, 0x2a, 0xff, 0x66, 0xa4, 0x54, 0xa9, 0x38, 0xec, 0x96, 0x2a,
0x6f, 0x02, 0xb4, 0x49, 0xd0, 0x22, 0x2b, 0xc2, 0xa9, 0xcb, 0x0b, 0xf9, 0xa2, 0xd6, 0xa9, 0xf7,
0x18, 0xdc, 0x0e, 0x09, 0xac, 0x18, 0xad, 0x79, 0x03, 0x66, 0x35, 0x28, 0xdc, 0x5f, 0x51, 0xbf,
0x1b, 0x34, 0x49, 0x98, 0xaa, 0x09, 0x9b, 0xfc, 0x7c, 0x63, 0x38, 0x68, 0x11, 0xa6, 0x8c, 0x56,
0xb5, 0xcc, 0xe7, 0xc5, 0x93, 0x91, 0xb8, 0xff, 0x27, 0x2c, 0x35, 0xf9, 0xbe, 0x6d, 0xf4, 0xbd,
0x6f, 0x6f, 0x88, 0xf7, 0x99, 0x38, 0xdd, 0x88, 0x15, 0x08, 0x1b, 0x9c, 0x15, 0xb1, 0xd5, 0x6f,
0x03, 0x61, 0xf3, 0xec, 0x49, 0x28, 0x86, 0x25, 0x2c, 0xa8, 0x00, 0xf9, 0xab, 0xae, 0x5b, 0x1d,
0x43, 0x65, 0x28, 0xae, 0xa8, 0x3a, 0x8d, 0xaa, 0x71, 0xf6, 0xbf, 0x61, 0x26, 0x95, 0x23, 0x45,
0x45, 0x18, 0xbf, 0xe3, 0x7b, 0xa4, 0x3a, 0x86, 0xaa, 0x50, 0xbe, 0xe6, 0x78, 0x38, 0xd8, 0x92,
0x77, 0x92, 0xaa, 0x8d, 0x66, 0x60, 0x4a, 0xc4, 0xe6, 0x0a, 0x40, 0x96, 0x3e, 0x38, 0x01, 0x95,
0xdb, 0x42, 0xc6, 0x35, 0x12, 0xdc, 0x77, 0x9a, 0x04, 0x35, 0xa0, 0x9a, 0xfe, 0x11, 0x06, 0x3d,
0xad, 0x5f, 0x27, 0xfd, 0xff, 0x32, 0xf5, 0x41, 0xb3, 0x36, 0xc7, 0xd0, 0x3b, 0x30, 0x9d, 0xfc,
0x45, 0x05, 0xe9, 0x83, 0x47, 0xed, 0x7f, 0x2c, 0xdb, 0x31, 0x6f, 0x40, 0x25, 0xf1, 0xc7, 0x09,
0x3a, 0xa3, 0xe5, 0xad, 0xfb, 0x2b, 0xa5, 0xae, 0xbf, 0xcf, 0xc5, 0xff, 0x0a, 0x91, 0xd2, 0x27,
0x6b, 0xd2, 0x33, 0xa4, 0xd7, 0x16, 0xae, 0x6f, 0x27, 0x3d, 0x86, 0x03, 0x7d, 0x25, 0xe6, 0xe8,
0xbc, 0x96, 0x7f, 0x56, 0x29, 0xfa, 0x76, 0x43, 0x3c, 0x00, 0xd4, 0xff, 0x67, 0x05, 0xba, 0xa0,
0x5f, 0x81, 0xac, 0xff, 0x4a, 0xea, 0x17, 0x87, 0xc6, 0x8f, 0x14, 0xf7, 0x0d, 0x03, 0x0e, 0x65,
0xd4, 0x85, 0xa3, 0xcb, 0x5a, 0x76, 0x83, 0x8b, 0xdb, 0xeb, 0xcf, 0xee, 0x8c, 0x28, 0x12, 0xc4,
0x83, 0x99, 0x54, 0xa9, 0x34, 0x3a, 0x97, 0x59, 0x3e, 0xd6, 0x5f, 0x33, 0x5e, 0x7f, 0x7a, 0x38,
0xe4, 0x68, 0xbc, 0xbb, 0x30, 0x93, 0xaa, 0x2f, 0xce, 0x18, 0x4f, 0x5f, 0x85, 0xbc, 0xdd, 0x82,
0xbe, 0x0d, 0x95, 0x44, 0x21, 0x70, 0x86, 0xc5, 0xeb, 0x8a, 0x85, 0xb7, 0x63, 0x7d, 0x17, 0xca,
0xf1, 0x7a, 0x5d, 0xb4, 0x98, 0xb5, 0x97, 0xfa, 0x18, 0xef, 0x64, 0x2b, 0xf5, 0xca, 0xf1, 0x06,
0x6c, 0xa5, 0xbe, 0x0a, 0xc6, 0xe1, 0xb7, 0x52, 0x8c, 0xff, 0xc0, 0xad, 0xb4, 0xe3, 0x21, 0xde,
0x37, 0x60, 0x5e, 0x5f, 0xee, 0x89, 0x96, 0xb2, 0x6c, 0x33, 0xbb, 0xb0, 0xb5, 0x7e, 0x79, 0x47,
0x34, 0x91, 0x16, 0xef, 0xc1, 0x74, 0xb2, 0xa8, 0x31, 0x43, 0x8b, 0xda, 0x3a, 0xd0, 0xfa, 0xb9,
0xa1, 0x70, 0xa3, 0xc1, 0xde, 0x84, 0xa9, 0xd8, 0xbf, 0xad, 0xe8, 0xf4, 0x00, 0x3b, 0x8e, 0xff,
0xe8, 0xb9, 0x9d, 0x26, 0x5f, 0x87, 0x52, 0xf4, 0x4b, 0x2a, 0x3a, 0x95, 0x69, 0xbf, 0x3b, 0x61,
0xb9, 0x06, 0xd0, 0xfb, 0xdf, 0x14, 0x3d, 0xa5, 0xe5, 0xd9, 0xf7, 0x43, 0xea, 0x76, 0x4c, 0xa3,
0xe9, 0xcb, 0x47, 0xe6, 0x41, 0xd3, 0x8f, 0x57, 0x45, 0x6c, 0xc7, 0x76, 0x13, 0x2a, 0x89, 0x5a,
0xa6, 0xac, 0x2d, 0xac, 0x29, 0x31, 0xab, 0x9f, 0x1d, 0x06, 0x35, 0x5a, 0xbf, 0x4d, 0xa8, 0x24,
0x2a, 0x4b, 0x32, 0x46, 0xd2, 0x15, 0xd2, 0x64, 0x8c, 0xa4, 0x2d, 0x54, 0x31, 0xc7, 0xd0, 0xd7,
0x62, 0x45, 0x2c, 0x89, 0x42, 0x21, 0x74, 0x69, 0x20, 0x1f, 0x5d, 0x9d, 0x54, 0x7d, 0x69, 0x27,
0x24, 0x91, 0x08, 0xca, 0xaa, 0xa4, 0x4a, 0xb3, 0xad, 0x6a, 0x27, 0x2b, 0xb5, 0x06, 0x93, 0xb2,
0x56, 0x04, 0x99, 0x19, 0x55, 0x61, 0xb1, 0x42, 0x92, 0xfa, 0x13, 0x5a, 0x9c, 0x64, 0x19, 0x85,
0x64, 0x2a, 0x6b, 0x01, 0x32, 0x98, 0x26, 0x0a, 0x05, 0x86, 0x65, 0x6a, 0xc1, 0xa4, 0x7c, 0x04,
0xcc, 0x60, 0x9a, 0x78, 0xc8, 0xae, 0x0f, 0xc6, 0x91, 0x2f, 0x87, 0x63, 0x68, 0x15, 0x26, 0x44,
0xd0, 0x8b, 0x4e, 0x0e, 0x7a, 0x48, 0x1b, 0xc4, 0x31, 0xf1, 0xd6, 0x66, 0x8e, 0xa1, 0xff, 0x85,
0x09, 0x91, 0xc2, 0xc9, 0xe0, 0x18, 0x7f, 0x0d, 0xab, 0x0f, 0x44, 0x09, 0x45, 0xb4, 0xa1, 0x1c,
0xcf, 0x95, 0x67, 0x1c, 0x59, 0x9a, 0xd7, 0x84, 0xfa, 0x30, 0x98, 0xe1, 0x28, 0x72, 0x1b, 0xf5,
0x2e, 0x00, 0xd9, 0xdb, 0xa8, 0xef, 0x72, 0x91, 0xbd, 0x8d, 0xfa, 0xef, 0x13, 0xe6, 0x18, 0xfa,
0x96, 0x01, 0xb5, 0xac, 0x04, 0x2e, 0xca, 0x8c, 0x80, 0x06, 0x65, 0xa1, 0xeb, 0xcf, 0xed, 0x90,
0x2a, 0x92, 0xe5, 0x3d, 0x98, 0xd5, 0x64, 0xf9, 0xd0, 0xc5, 0x2c, 0x7e, 0x19, 0x09, 0xca, 0xfa,
0x33, 0xc3, 0x13, 0x44, 0x63, 0xaf, 0xc2, 0x84, 0xc8, 0xce, 0x65, 0x18, 0x4a, 0x3c, 0xd9, 0x97,
0x61, 0x7a, 0x89, 0xe4, 0x9e, 0x39, 0x86, 0x08, 0x94, 0xe3, 0xa9, 0xba, 0x0c, 0x4b, 0xd1, 0x64,
0xf9, 0xea, 0x67, 0x86, 0xc0, 0x8c, 0x86, 0x69, 0x00, 0xf4, 0x52, 0x65, 0x19, 0xe7, 0x50, 0x5f,
0xb6, 0xae, 0x7e, 0x7a, 0x5b, 0xbc, 0xf8, 0x91, 0x1c, 0x4b, 0x7e, 0x65, 0x9c, 0x49, 0xfd, 0xe9,
0xb1, 0x21, 0xee, 0x09, 0xfd, 0x89, 0x98, 0x8c, 0x7b, 0x42, 0x66, 0xce, 0xa7, 0x7e, 0x71, 0x68,
0xfc, 0x68, 0x3e, 0xef, 0x42, 0x35, 0x9d, 0xb8, 0xca, 0xb8, 0x7f, 0x66, 0xa4, 0xcf, 0xea, 0xe7,
0x87, 0xc4, 0x8e, 0x9f, 0x55, 0x47, 0xfa, 0x65, 0xfa, 0x3f, 0x87, 0x6d, 0x8a, 0x9c, 0xc9, 0x30,
0xb3, 0x8e, 0xa7, 0x67, 0x86, 0x99, 0x75, 0x22, 0x19, 0x63, 0x8e, 0x2d, 0x75, 0xa1, 0xbc, 0x1a,
0xf8, 0x0f, 0xb7, 0xc2, 0x5b, 0xf8, 0xbf, 0xc7, 0x3a, 0xaf, 0x3d, 0xf7, 0xff, 0x97, 0x5b, 0x0e,
0xdb, 0xec, 0xae, 0xf3, 0xf5, 0xbf, 0x28, 0x71, 0xcf, 0x3b, 0xbe, 0xfa, 0xba, 0xe8, 0x78, 0x8c,
0x04, 0x1e, 0x76, 0x2f, 0x0a, 0x5e, 0x0a, 0xda, 0x59, 0x5f, 0x9f, 0x14, 0xed, 0xcb, 0xff, 0x0a,
0x00, 0x00, 0xff, 0xff, 0xbd, 0xee, 0x15, 0x9a, 0x2b, 0x45, 0x00, 0x00,
// 3560 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xd4, 0x3b, 0x4d, 0x73, 0x1b, 0x47,
0x76, 0x1c, 0x80, 0x20, 0x80, 0x47, 0x80, 0x84, 0x9a, 0x14, 0x05, 0x41, 0x5f, 0xd4, 0xd8, 0xb2,
0x28, 0xc9, 0x92, 0x2c, 0xca, 0x5f, 0x91, 0x93, 0xd8, 0x92, 0x18, 0x4b, 0x2c, 0x4b, 0x0a, 0x3d,
0xb4, 0x9d, 0x72, 0x5c, 0x2a, 0x54, 0x13, 0xd3, 0x04, 0xa7, 0x34, 0x98, 0x81, 0xa7, 0x1b, 0x92,
0xe8, 0x53, 0xaa, 0x1c, 0x27, 0x95, 0xb2, 0x63, 0x57, 0x2a, 0xa9, 0xa4, 0x72, 0x48, 0x0e, 0xc9,
0xee, 0x61, 0x6f, 0xeb, 0xf5, 0xd6, 0xee, 0xd6, 0x5e, 0x76, 0x0f, 0x3e, 0xec, 0x61, 0xab, 0xf6,
0xe3, 0xb2, 0x87, 0xbd, 0xec, 0x1f, 0xf0, 0x3f, 0xd8, 0xc3, 0x56, 0x7f, 0xcc, 0x60, 0x66, 0xd0,
0x03, 0x82, 0x82, 0xb5, 0x24, 0x6f, 0xd3, 0xaf, 0xdf, 0x7b, 0xfd, 0xfa, 0xf5, 0xeb, 0xd7, 0xaf,
0x5f, 0xbf, 0x81, 0x4a, 0xc7, 0x71, 0x1f, 0xf6, 0xe8, 0xa5, 0x6e, 0xe0, 0x33, 0x1f, 0xcd, 0xc5,
0x5b, 0x97, 0x64, 0xa3, 0x51, 0x69, 0xf9, 0x9d, 0x8e, 0xef, 0x49, 0x60, 0xa3, 0x42, 0x5b, 0x5b,
0xa4, 0x83, 0x65, 0xcb, 0xfc, 0x5f, 0x03, 0xd0, 0xcd, 0x80, 0x60, 0x46, 0xae, 0xbb, 0x0e, 0xa6,
0x16, 0xf9, 0xb0, 0x47, 0x28, 0x43, 0x2f, 0xc0, 0xe4, 0x06, 0xa6, 0xa4, 0x6e, 0x2c, 0x1a, 0x4b,
0xd3, 0xcb, 0xc7, 0x2f, 0x25, 0xd8, 0x2a, 0x76, 0x77, 0x69, 0xfb, 0x06, 0xa6, 0xc4, 0x12, 0x98,
0xe8, 0x08, 0x14, 0xed, 0x8d, 0xa6, 0x87, 0x3b, 0xa4, 0x9e, 0x5b, 0x34, 0x96, 0xca, 0xd6, 0x94,
0xbd, 0x71, 0x0f, 0x77, 0x08, 0x3a, 0x0b, 0xb3, 0x2d, 0xdf, 0x75, 0x49, 0x8b, 0x39, 0xbe, 0x27,
0x11, 0xf2, 0x02, 0x61, 0xa6, 0x0f, 0x16, 0x88, 0xf3, 0x50, 0xc0, 0x5c, 0x86, 0xfa, 0xa4, 0xe8,
0x96, 0x0d, 0x93, 0x42, 0x6d, 0x25, 0xf0, 0xbb, 0x4f, 0x4b, 0xba, 0x68, 0xd0, 0x7c, 0x7c, 0xd0,
0xff, 0x31, 0xe0, 0xd0, 0x75, 0x97, 0x91, 0x60, 0x9f, 0x2a, 0xe5, 0x6b, 0x03, 0x8e, 0xc8, 0x55,
0xbb, 0x19, 0xa1, 0xef, 0xa5, 0x94, 0x0b, 0x30, 0x25, 0xad, 0x4a, 0x88, 0x59, 0xb1, 0x54, 0x0b,
0x9d, 0x00, 0xa0, 0x5b, 0x38, 0xb0, 0x69, 0xd3, 0xeb, 0x75, 0xea, 0x85, 0x45, 0x63, 0xa9, 0x60,
0x95, 0x25, 0xe4, 0x5e, 0xaf, 0x63, 0x7e, 0x6a, 0xc0, 0x61, 0xbe, 0xb8, 0xfb, 0x62, 0x12, 0xe6,
0xf7, 0x0c, 0x98, 0xbf, 0x8d, 0xe9, 0xfe, 0xd0, 0xe8, 0x09, 0x00, 0xe6, 0x74, 0x48, 0x93, 0x32,
0xdc, 0xe9, 0x0a, 0xad, 0x4e, 0x5a, 0x65, 0x0e, 0x59, 0xe7, 0x00, 0xf3, 0x7d, 0xa8, 0xdc, 0xf0,
0x7d, 0xd7, 0x22, 0xb4, 0xeb, 0x7b, 0x94, 0xa0, 0xab, 0x30, 0x45, 0x19, 0x66, 0x3d, 0xaa, 0x84,
0x3c, 0xa6, 0x15, 0x72, 0x5d, 0xa0, 0x58, 0x0a, 0x95, 0xdb, 0xd6, 0x43, 0xec, 0xf6, 0xa4, 0x8c,
0x25, 0x4b, 0x36, 0xcc, 0x0f, 0x60, 0x66, 0x9d, 0x05, 0x8e, 0xd7, 0xfe, 0x16, 0x99, 0x97, 0x43,
0xe6, 0xbf, 0x35, 0xe0, 0xe8, 0x0a, 0xa1, 0xad, 0xc0, 0xd9, 0xd8, 0x27, 0xa6, 0x6b, 0x42, 0xa5,
0x0f, 0x59, 0x5d, 0x11, 0xaa, 0xce, 0x5b, 0x09, 0x58, 0x6a, 0x31, 0x0a, 0xe9, 0xc5, 0xf8, 0x78,
0x12, 0x1a, 0xba, 0x49, 0x8d, 0xa3, 0xbe, 0xbf, 0x8a, 0x76, 0x54, 0x4e, 0x10, 0x9d, 0x49, 0x12,
0x29, 0x1f, 0xde, 0x1f, 0x6d, 0x5d, 0x00, 0xa2, 0x8d, 0x97, 0x9e, 0x55, 0x5e, 0x33, 0xab, 0x65,
0x38, 0xfc, 0xd0, 0x09, 0x58, 0x0f, 0xbb, 0xcd, 0xd6, 0x16, 0xf6, 0x3c, 0xe2, 0x0a, 0x3d, 0x71,
0x57, 0x93, 0x5f, 0x2a, 0x5b, 0x73, 0xaa, 0xf3, 0xa6, 0xec, 0xe3, 0xca, 0xa2, 0xe8, 0x45, 0x58,
0xe8, 0x6e, 0x6d, 0x53, 0xa7, 0x35, 0x40, 0x54, 0x10, 0x44, 0xf3, 0x61, 0x6f, 0x82, 0xea, 0x02,
0x1c, 0x6a, 0x09, 0x6f, 0x65, 0x37, 0xb9, 0xd6, 0xa4, 0x1a, 0xa7, 0x84, 0x1a, 0x6b, 0xaa, 0xe3,
0x9d, 0x10, 0xce, 0xc5, 0x0a, 0x91, 0x7b, 0xac, 0x15, 0x23, 0x28, 0x0a, 0x82, 0x39, 0xd5, 0xf9,
0x2e, 0x6b, 0xf5, 0x69, 0x92, 0x7e, 0xa6, 0x94, 0xf2, 0x33, 0xa8, 0x0e, 0x45, 0xe1, 0x37, 0x09,
0xad, 0x97, 0x85, 0x98, 0x61, 0x13, 0xad, 0xc2, 0x2c, 0x65, 0x38, 0x60, 0xcd, 0xae, 0x4f, 0x1d,
0xae, 0x17, 0x5a, 0x87, 0xc5, 0xfc, 0xd2, 0xf4, 0xf2, 0xa2, 0x76, 0x91, 0xde, 0x22, 0xdb, 0x2b,
0x98, 0xe1, 0x35, 0xec, 0x04, 0xd6, 0x8c, 0x20, 0x5c, 0x0b, 0xe9, 0x84, 0x33, 0xbb, 0xe3, 0x63,
0x7b, 0x7f, 0x38, 0xb3, 0xcf, 0x0d, 0xa8, 0x5b, 0xc4, 0x25, 0x98, 0xee, 0x8f, 0x7d, 0x66, 0xfe,
0x87, 0x01, 0x27, 0x6f, 0x11, 0x16, 0xb3, 0x58, 0x86, 0x99, 0x43, 0x99, 0xd3, 0xda, 0xcb, 0xf3,
0xd5, 0xfc, 0xc2, 0x80, 0x53, 0x99, 0x62, 0x8d, 0xb3, 0x81, 0x5f, 0x81, 0x02, 0xff, 0xa2, 0xf5,
0x9c, 0xb0, 0xa7, 0xd3, 0x59, 0xf6, 0xf4, 0x1e, 0xf7, 0x8b, 0xc2, 0xa0, 0x24, 0xbe, 0xf9, 0x07,
0x03, 0x16, 0xd6, 0xb7, 0xfc, 0x47, 0x7d, 0x91, 0x9e, 0x86, 0x82, 0x92, 0x2e, 0x2d, 0x9f, 0x72,
0x69, 0xe8, 0x0a, 0x4c, 0xb2, 0xed, 0x2e, 0x11, 0xde, 0x70, 0x66, 0xf9, 0xc4, 0x25, 0x4d, 0x58,
0x79, 0x89, 0x0b, 0xf9, 0xce, 0x76, 0x97, 0x58, 0x02, 0x15, 0x9d, 0x83, 0x5a, 0x4a, 0xe5, 0xa1,
0x53, 0x98, 0x4d, 0xea, 0x9c, 0x9a, 0x3f, 0xc9, 0xc1, 0x91, 0x81, 0x29, 0x8e, 0xa3, 0x6c, 0xdd,
0xd8, 0x39, 0xed, 0xd8, 0xe8, 0x0c, 0xc4, 0x4c, 0xa0, 0xe9, 0xd8, 0x3c, 0xf2, 0xcb, 0x2f, 0xe5,
0xad, 0x6a, 0xcc, 0x37, 0xda, 0x14, 0x5d, 0x04, 0x34, 0xe0, 0xb2, 0xa4, 0x67, 0x9c, 0xb4, 0x0e,
0xa5, 0x7d, 0x96, 0xf0, 0x8b, 0x5a, 0xa7, 0x25, 0x55, 0x30, 0x69, 0xcd, 0x6b, 0xbc, 0x16, 0x45,
0x57, 0x60, 0xde, 0xf1, 0xee, 0x92, 0x8e, 0x1f, 0x6c, 0x37, 0xbb, 0x24, 0x68, 0x11, 0x8f, 0xe1,
0x36, 0xa1, 0xf5, 0x29, 0x21, 0xd1, 0x5c, 0xd8, 0xb7, 0xd6, 0xef, 0x32, 0xbf, 0x32, 0x60, 0x41,
0x46, 0x7e, 0x6b, 0x38, 0x60, 0xce, 0x5e, 0x9f, 0x9e, 0x67, 0x60, 0xa6, 0x1b, 0xca, 0x21, 0xf1,
0x64, 0x9c, 0x5a, 0x8d, 0xa0, 0x62, 0x97, 0x7d, 0x69, 0xc0, 0x3c, 0x0f, 0xf4, 0x0e, 0x92, 0xcc,
0xdf, 0x37, 0x60, 0xee, 0x36, 0xa6, 0x07, 0x49, 0xe4, 0x1f, 0xaa, 0x23, 0x28, 0x92, 0x79, 0x4f,
0xaf, 0x2e, 0x67, 0x61, 0x36, 0x29, 0x74, 0x18, 0x59, 0xcc, 0x24, 0xa4, 0xa6, 0xe6, 0x8f, 0xfb,
0x67, 0xd5, 0x01, 0x93, 0xfc, 0xa7, 0x06, 0x9c, 0xb8, 0x45, 0x58, 0x24, 0xf5, 0xbe, 0x38, 0xd3,
0x46, 0xb5, 0x96, 0xcf, 0xe5, 0x89, 0xac, 0x15, 0x7e, 0x4f, 0x4e, 0xbe, 0x4f, 0x73, 0x70, 0x98,
0x1f, 0x0b, 0xfb, 0xc3, 0x08, 0x46, 0xb9, 0x18, 0x68, 0x0c, 0xa5, 0xa0, 0x33, 0x94, 0xe8, 0x3c,
0x9d, 0x1a, 0xf9, 0x3c, 0x35, 0x7f, 0x90, 0x93, 0x71, 0x40, 0x5c, 0x1b, 0xe3, 0x2c, 0x8b, 0x46,
0xd6, 0x9c, 0x56, 0x56, 0x13, 0x2a, 0x11, 0x64, 0x75, 0x25, 0x3c, 0x1f, 0x13, 0xb0, 0x7d, 0x7b,
0x3c, 0x7e, 0x66, 0xc0, 0x42, 0x78, 0x15, 0x5b, 0x27, 0xed, 0x0e, 0xf1, 0xd8, 0x93, 0xdb, 0x50,
0xda, 0x02, 0x72, 0x1a, 0x0b, 0x38, 0x0e, 0x65, 0x2a, 0xc7, 0x89, 0x6e, 0x59, 0x7d, 0x80, 0xf9,
0x33, 0x03, 0x8e, 0x0c, 0x88, 0x33, 0xce, 0x22, 0xd6, 0xa1, 0xe8, 0x78, 0x36, 0x79, 0x1c, 0x49,
0x13, 0x36, 0x79, 0xcf, 0x46, 0xcf, 0x71, 0xed, 0x48, 0x8c, 0xb0, 0x89, 0x4e, 0x43, 0x85, 0x78,
0x78, 0xc3, 0x25, 0x4d, 0x81, 0x2b, 0x0c, 0xb9, 0x64, 0x4d, 0x4b, 0xd8, 0x2a, 0x07, 0x71, 0xe2,
0x4d, 0x87, 0x08, 0xe2, 0x82, 0x24, 0x56, 0x4d, 0xf3, 0x5f, 0x0d, 0x98, 0xe3, 0x56, 0xa8, 0xa4,
0xa7, 0x4f, 0x57, 0x9b, 0x8b, 0x30, 0x1d, 0x33, 0x33, 0x35, 0x91, 0x38, 0xc8, 0x7c, 0x00, 0xf3,
0x49, 0x71, 0xc6, 0xd1, 0xe6, 0x49, 0x80, 0x68, 0xad, 0xe4, 0x6e, 0xc8, 0x5b, 0x31, 0x88, 0xf9,
0x4d, 0x94, 0x1c, 0x15, 0x6a, 0xda, 0xe3, 0x7c, 0x90, 0x58, 0x92, 0xb8, 0x3f, 0x2f, 0x0b, 0x88,
0xe8, 0x5e, 0x81, 0x0a, 0x79, 0xcc, 0x02, 0xdc, 0xec, 0xe2, 0x00, 0x77, 0xe4, 0xb6, 0x1a, 0xc9,
0xf5, 0x4e, 0x0b, 0xb2, 0x35, 0x41, 0x65, 0xfe, 0x82, 0x87, 0x69, 0xca, 0x5c, 0xf7, 0xfb, 0x8c,
0x4f, 0x00, 0x08, 0x73, 0x96, 0xdd, 0x05, 0xd9, 0x2d, 0x20, 0xe2, 0x70, 0xfb, 0xae, 0x01, 0x35,
0x31, 0x05, 0x39, 0x9f, 0x2e, 0x67, 0x9b, 0xa2, 0x31, 0x52, 0x34, 0x43, 0x36, 0xd7, 0x5f, 0xc0,
0x94, 0x52, 0x6c, 0x7e, 0x54, 0xc5, 0x2a, 0x82, 0x1d, 0xa6, 0x61, 0xfe, 0x9f, 0x01, 0x87, 0x53,
0x2a, 0x1f, 0xc7, 0xa2, 0xdf, 0x01, 0x24, 0x67, 0x68, 0xf7, 0xa7, 0x1d, 0x1e, 0xc4, 0x67, 0xb4,
0xa7, 0x4e, 0x5a, 0x49, 0xd6, 0x21, 0x27, 0x05, 0xa1, 0xe6, 0xaf, 0x0d, 0x38, 0x7e, 0x8b, 0x30,
0x81, 0x7a, 0x83, 0x7b, 0x95, 0xb5, 0xc0, 0x6f, 0x07, 0x84, 0xd2, 0x83, 0x6b, 0x1f, 0xff, 0x29,
0x23, 0x37, 0xdd, 0x94, 0xc6, 0xd1, 0xff, 0x69, 0xa8, 0x88, 0x31, 0x88, 0xdd, 0x0c, 0xfc, 0x47,
0x54, 0xd9, 0xd1, 0xb4, 0x82, 0x59, 0xfe, 0x23, 0x61, 0x10, 0xcc, 0x67, 0xd8, 0x95, 0x08, 0xea,
0xc8, 0x10, 0x10, 0xde, 0x2d, 0xf6, 0x60, 0x28, 0x18, 0x67, 0x4e, 0x0e, 0xae, 0x8e, 0xbf, 0x63,
0xc0, 0xe1, 0xd4, 0x54, 0xc6, 0xd1, 0xed, 0x4b, 0x32, 0xae, 0x94, 0x93, 0x99, 0x59, 0x3e, 0xa5,
0xa5, 0x89, 0x0d, 0x26, 0xb1, 0xd1, 0x29, 0x98, 0xde, 0xc4, 0x8e, 0xdb, 0x0c, 0x08, 0xa6, 0xbe,
0xa7, 0x26, 0x0a, 0x1c, 0x64, 0x09, 0x88, 0xf9, 0xb5, 0x21, 0x9f, 0x98, 0x0e, 0xb8, 0xc7, 0xfb,
0xff, 0x1c, 0x54, 0x57, 0x3d, 0x4a, 0x02, 0xb6, 0xff, 0xef, 0x1e, 0xe8, 0x75, 0x98, 0x16, 0x13,
0xa3, 0x4d, 0x1b, 0x33, 0xac, 0x8e, 0xab, 0x93, 0xda, 0x1c, 0xf7, 0x9b, 0x1c, 0x6f, 0x05, 0x33,
0x6c, 0x49, 0xed, 0x50, 0xfe, 0x8d, 0x8e, 0x41, 0x79, 0x0b, 0xd3, 0xad, 0xe6, 0x03, 0xb2, 0x2d,
0x03, 0xc2, 0xaa, 0x55, 0xe2, 0x80, 0xb7, 0xc8, 0x36, 0x45, 0x47, 0xa1, 0xe4, 0xf5, 0x3a, 0x72,
0x83, 0x15, 0x17, 0x8d, 0xa5, 0xaa, 0x55, 0xf4, 0x7a, 0x1d, 0xb1, 0xbd, 0x7e, 0x99, 0x83, 0x99,
0xbb, 0x3d, 0x7e, 0xd3, 0x11, 0x19, 0xfa, 0x9e, 0xcb, 0x9e, 0xcc, 0x18, 0xcf, 0x43, 0x5e, 0xc6,
0x0c, 0x9c, 0xa2, 0xae, 0x15, 0x7c, 0x75, 0x85, 0x5a, 0x1c, 0x49, 0x64, 0xa7, 0x7b, 0xad, 0x96,
0x0a, 0xbf, 0xf2, 0x42, 0xd8, 0x32, 0x87, 0xc8, 0xe0, 0xeb, 0x18, 0x94, 0x49, 0x10, 0x44, 0xc1,
0x99, 0x98, 0x0a, 0x09, 0x02, 0xd9, 0x69, 0x42, 0x05, 0xb7, 0x1e, 0x78, 0xfe, 0x23, 0x97, 0xd8,
0x6d, 0x62, 0x8b, 0x65, 0x2f, 0x59, 0x09, 0x98, 0x34, 0x0c, 0xbe, 0xf0, 0xcd, 0x96, 0xc7, 0xc4,
0x15, 0x23, 0xcf, 0x0d, 0x83, 0x43, 0x6e, 0x7a, 0x8c, 0x77, 0xdb, 0xc4, 0x25, 0x8c, 0x88, 0xee,
0xa2, 0xec, 0x96, 0x10, 0xd5, 0xdd, 0xeb, 0x46, 0xd4, 0x25, 0xd9, 0x2d, 0x21, 0xbc, 0xfb, 0x38,
0x94, 0xfb, 0x29, 0xf8, 0x72, 0x3f, 0x4f, 0x28, 0x00, 0xe6, 0xef, 0x0d, 0xa8, 0xae, 0x08, 0x56,
0x07, 0xc0, 0xe8, 0x10, 0x4c, 0x92, 0xc7, 0xdd, 0x40, 0x6d, 0x1d, 0xf1, 0x3d, 0xd4, 0x8e, 0xcc,
0x87, 0x50, 0x5b, 0x73, 0x71, 0x8b, 0x6c, 0xf9, 0xae, 0x4d, 0x02, 0x71, 0xb6, 0xa3, 0x1a, 0xe4,
0x19, 0x6e, 0xab, 0xe0, 0x81, 0x7f, 0xa2, 0x57, 0xd5, 0xdd, 0x4e, 0xba, 0xa5, 0x67, 0xb5, 0xa7,
0x6c, 0x8c, 0x4d, 0x2c, 0x65, 0xba, 0x00, 0x53, 0xe2, 0x59, 0x4c, 0x86, 0x15, 0x15, 0x4b, 0xb5,
0xcc, 0xfb, 0x89, 0x71, 0x6f, 0x05, 0x7e, 0xaf, 0x8b, 0x56, 0xa1, 0xd2, 0xed, 0xc3, 0xb8, 0xad,
0x66, 0x9f, 0xe9, 0x69, 0xa1, 0xad, 0x04, 0xa9, 0xf9, 0x4d, 0x1e, 0xaa, 0xeb, 0x04, 0x07, 0xad,
0xad, 0x83, 0x90, 0x64, 0xe1, 0x1a, 0xb7, 0xa9, 0xab, 0x56, 0x8d, 0x7f, 0xa2, 0x0b, 0x70, 0x28,
0x36, 0xa1, 0x66, 0x9b, 0x2b, 0x48, 0xd8, 0x7d, 0xc5, 0xaa, 0x75, 0xd3, 0x8a, 0x7b, 0x05, 0x4a,
0x36, 0x75, 0x9b, 0x62, 0x89, 0x8a, 0x62, 0x89, 0xf4, 0xf3, 0x5b, 0xa1, 0xae, 0x58, 0x9a, 0xa2,
0x2d, 0x3f, 0xd0, 0x33, 0x50, 0xf5, 0x7b, 0xac, 0xdb, 0x63, 0x4d, 0xe9, 0x77, 0xea, 0x25, 0x21,
0x5e, 0x45, 0x02, 0x85, 0x5b, 0xa2, 0xe8, 0x4d, 0xa8, 0x52, 0xa1, 0xca, 0x30, 0xf2, 0x2e, 0x8f,
0x1a, 0x20, 0x56, 0x24, 0x9d, 0x0c, 0xbd, 0xd1, 0x39, 0xa8, 0xb1, 0x00, 0x3f, 0x24, 0x6e, 0xec,
0xc1, 0x0b, 0xc4, 0x6e, 0x9b, 0x95, 0xf0, 0xfe, 0x63, 0xd7, 0x65, 0x98, 0x6b, 0xf7, 0x70, 0x80,
0x3d, 0x46, 0x48, 0x0c, 0x7b, 0x5a, 0x60, 0xa3, 0xa8, 0x2b, 0x22, 0x30, 0xdf, 0x82, 0xc9, 0xdb,
0x0e, 0x13, 0x8a, 0xe4, 0x3e, 0xcb, 0x10, 0xf7, 0x1c, 0xe1, 0x99, 0x8e, 0x42, 0x29, 0xf0, 0x1f,
0x49, 0x1f, 0x9c, 0x13, 0x26, 0x58, 0x0c, 0xfc, 0x47, 0xc2, 0xc1, 0x8a, 0x27, 0x7d, 0x3f, 0x50,
0xb6, 0x99, 0xb3, 0x54, 0xcb, 0xfc, 0xc4, 0xe8, 0x1b, 0x0f, 0x77, 0x9f, 0xf4, 0xc9, 0xfc, 0xe7,
0xeb, 0x50, 0x0c, 0x24, 0xfd, 0xd0, 0x07, 0xce, 0xf8, 0x48, 0xe2, 0x0c, 0x08, 0xa9, 0xcc, 0x7f,
0x34, 0xa0, 0xf2, 0xa6, 0xdb, 0xa3, 0x4f, 0xc3, 0x86, 0x75, 0xcf, 0x09, 0x79, 0xfd, 0x53, 0xc6,
0xbf, 0xe5, 0xa0, 0xaa, 0xc4, 0x18, 0x27, 0xb6, 0xc9, 0x14, 0x65, 0x1d, 0xa6, 0xf9, 0x90, 0x4d,
0x4a, 0xda, 0x61, 0x2e, 0x66, 0x7a, 0x79, 0x59, 0xbb, 0xeb, 0x13, 0x62, 0x88, 0xa7, 0xe1, 0x75,
0x41, 0xf4, 0x37, 0x1e, 0x0b, 0xb6, 0x2d, 0x68, 0x45, 0x80, 0xc6, 0x7d, 0x98, 0x4d, 0x75, 0x73,
0xdb, 0x78, 0x40, 0xb6, 0x43, 0xb7, 0xf6, 0x80, 0x6c, 0xa3, 0x17, 0xe3, 0x0f, 0xf8, 0x59, 0x87,
0xf3, 0x1d, 0xdf, 0x6b, 0x5f, 0x0f, 0x02, 0xbc, 0xad, 0x1e, 0xf8, 0xaf, 0xe5, 0x5e, 0x35, 0xcc,
0x9f, 0xe7, 0xa0, 0xf2, 0x76, 0x8f, 0x04, 0xdb, 0x7b, 0xe9, 0x5e, 0x42, 0x67, 0x3f, 0x19, 0x73,
0xf6, 0x03, 0x3b, 0xba, 0xa0, 0xd9, 0xd1, 0x1a, 0xbf, 0x34, 0xa5, 0xf5, 0x4b, 0xba, 0x2d, 0x5b,
0xdc, 0xd5, 0x96, 0x2d, 0x65, 0x6e, 0x59, 0x6e, 0xdd, 0x4a, 0x85, 0x63, 0x6d, 0xb2, 0x44, 0x94,
0x95, 0xdb, 0x6d, 0x94, 0x65, 0x7e, 0x69, 0x40, 0xf9, 0x3d, 0xd2, 0x62, 0x7e, 0xc0, 0xbd, 0x85,
0x46, 0xf7, 0xc6, 0x08, 0x81, 0x6c, 0x2e, 0x1d, 0xc8, 0x5e, 0x85, 0x92, 0x63, 0x37, 0x31, 0x37,
0x1b, 0xb1, 0x78, 0xc3, 0x02, 0xa8, 0xa2, 0x63, 0x0b, 0xfb, 0x1a, 0x3d, 0x27, 0xff, 0x5f, 0x06,
0x54, 0xa4, 0xcc, 0x54, 0x52, 0xbe, 0x16, 0x1b, 0xce, 0xd0, 0xd9, 0xb2, 0x6a, 0x44, 0x13, 0xbd,
0x3d, 0xd1, 0x1f, 0xf6, 0x3a, 0x00, 0xd7, 0x9d, 0x22, 0x97, 0x5b, 0x61, 0x51, 0x2b, 0xad, 0x24,
0x17, 0x7a, 0xbc, 0x3d, 0x61, 0x95, 0x39, 0x95, 0x60, 0x71, 0xa3, 0x08, 0x05, 0x41, 0x6d, 0xfe,
0xd1, 0x80, 0xb9, 0x9b, 0xd8, 0x6d, 0xad, 0x38, 0x94, 0x61, 0xaf, 0x35, 0x46, 0xc8, 0x74, 0x0d,
0x8a, 0x7e, 0xb7, 0xe9, 0x92, 0x4d, 0xa6, 0x44, 0x3a, 0x3d, 0x64, 0x46, 0x52, 0x0d, 0xd6, 0x94,
0xdf, 0xbd, 0x43, 0x36, 0x19, 0xfa, 0x4b, 0x28, 0xf9, 0xdd, 0x66, 0xe0, 0xb4, 0xb7, 0x98, 0xd2,
0xfe, 0x08, 0xc4, 0x45, 0xbf, 0x6b, 0x71, 0x8a, 0x58, 0x26, 0x64, 0x72, 0x97, 0x99, 0x10, 0xf3,
0x37, 0x03, 0xd3, 0x1f, 0xc3, 0xb4, 0xaf, 0x41, 0xc9, 0xf1, 0x58, 0xd3, 0x76, 0x68, 0xa8, 0x82,
0x13, 0x7a, 0x1b, 0xf2, 0x98, 0x98, 0x81, 0x58, 0x53, 0x8f, 0xf1, 0xb1, 0xd1, 0x1b, 0x00, 0x9b,
0xae, 0x8f, 0x15, 0xb5, 0xd4, 0xc1, 0x29, 0xfd, 0xae, 0xe0, 0x68, 0x21, 0x7d, 0x59, 0x10, 0x71,
0x0e, 0xfd, 0x25, 0xfd, 0x95, 0x01, 0x87, 0xd7, 0x48, 0x40, 0x1d, 0xca, 0x88, 0xc7, 0x54, 0x56,
0x72, 0xd5, 0xdb, 0xf4, 0x93, 0x89, 0x61, 0x23, 0x95, 0x18, 0xfe, 0x76, 0x92, 0xa1, 0x89, 0x7b,
0x8e, 0x7c, 0x9e, 0x08, 0xef, 0x39, 0xe1, 0x23, 0x8c, 0xbc, 0x27, 0xce, 0x64, 0x2c, 0x93, 0x92,
0x37, 0x7e, 0x5d, 0x36, 0xff, 0x5d, 0x16, 0x44, 0x68, 0x27, 0xf5, 0xe4, 0x06, 0xbb, 0x00, 0xca,
0x81, 0xa7, 0xdc, 0xf9, 0x73, 0x90, 0xf2, 0x1d, 0x19, 0x65, 0x1a, 0xff, 0x6d, 0xc0, 0x62, 0xb6,
0x54, 0xe3, 0x9c, 0xbc, 0x6f, 0x40, 0xc1, 0xf1, 0x36, 0xfd, 0x30, 0x49, 0x76, 0x5e, 0x1f, 0x50,
0x6b, 0xc7, 0x95, 0x84, 0xe6, 0x8f, 0x72, 0x50, 0x13, 0xbe, 0x7a, 0x0f, 0x96, 0xbf, 0x43, 0x3a,
0x4d, 0xea, 0x7c, 0x44, 0xc2, 0xe5, 0xef, 0x90, 0xce, 0xba, 0xf3, 0x11, 0x49, 0x58, 0x46, 0x21,
0x69, 0x19, 0xc9, 0x34, 0xc2, 0xd4, 0x90, 0x24, 0x68, 0x31, 0x99, 0x04, 0x5d, 0x80, 0x29, 0xcf,
0xb7, 0xc9, 0xea, 0x8a, 0xba, 0x24, 0xaa, 0x56, 0xdf, 0xd4, 0xca, 0xbb, 0x34, 0xb5, 0xcf, 0x0d,
0x68, 0xdc, 0x22, 0x2c, 0xad, 0xbb, 0xbd, 0xb3, 0xb2, 0x2f, 0x0c, 0x38, 0xa6, 0x15, 0x68, 0x1c,
0x03, 0x7b, 0x2d, 0x69, 0x60, 0xfa, 0x1b, 0xdb, 0xc0, 0x90, 0xca, 0xb6, 0xae, 0x40, 0x65, 0xa5,
0xd7, 0xe9, 0x44, 0x91, 0xd4, 0x69, 0xa8, 0x04, 0xf2, 0x53, 0x5e, 0x68, 0xe4, 0xf9, 0x3b, 0xad,
0x60, 0xfc, 0xda, 0x62, 0x5e, 0x80, 0xaa, 0x22, 0x51, 0x52, 0x37, 0xa0, 0x14, 0xa8, 0x6f, 0x85,
0x1f, 0xb5, 0xcd, 0xc3, 0x30, 0x67, 0x91, 0x36, 0x37, 0xed, 0xe0, 0x8e, 0xe3, 0x3d, 0x50, 0xc3,
0x98, 0x1f, 0x1b, 0x30, 0x9f, 0x84, 0x2b, 0x5e, 0x2f, 0x43, 0x11, 0xdb, 0x76, 0x40, 0x28, 0x1d,
0xba, 0x2c, 0xd7, 0x25, 0x8e, 0x15, 0x22, 0xc7, 0x34, 0x97, 0x1b, 0x59, 0x73, 0x66, 0x13, 0x0e,
0xdd, 0x22, 0xec, 0x2e, 0x61, 0xc1, 0x58, 0x0f, 0xea, 0x75, 0x7e, 0xd5, 0x10, 0xc4, 0xca, 0x2c,
0xc2, 0xa6, 0xf9, 0x99, 0x01, 0x28, 0x3e, 0xc2, 0x38, 0xcb, 0x1c, 0xd7, 0x72, 0x2e, 0xa9, 0x65,
0x59, 0x73, 0xd4, 0xe9, 0xfa, 0x1e, 0xf1, 0x58, 0x3c, 0x66, 0xad, 0x46, 0x50, 0x61, 0x7e, 0x5f,
0x19, 0x80, 0xee, 0xf8, 0xd8, 0xbe, 0x81, 0xdd, 0xf1, 0xc2, 0x83, 0x13, 0x00, 0x34, 0x68, 0x35,
0xd5, 0x6e, 0xcd, 0x29, 0xef, 0x13, 0xb4, 0xee, 0xc9, 0x0d, 0x7b, 0x0a, 0xa6, 0x6d, 0xca, 0x54,
0x77, 0xf8, 0xbe, 0x0b, 0x36, 0x65, 0xb2, 0x5f, 0xd4, 0x6b, 0x52, 0x82, 0x5d, 0x62, 0x37, 0x63,
0xcf, 0x63, 0x93, 0x02, 0xad, 0x26, 0x3b, 0xd6, 0xfb, 0x8f, 0x64, 0xf7, 0xe1, 0xc8, 0x5d, 0xec,
0xf5, 0xb0, 0x7b, 0xd3, 0xef, 0x74, 0x71, 0xa2, 0xce, 0x30, 0xed, 0xe6, 0x0c, 0x8d, 0x9b, 0x3b,
0x29, 0x0b, 0xd1, 0x64, 0xc4, 0x2c, 0x64, 0x9d, 0xb4, 0x62, 0x10, 0x93, 0x42, 0x7d, 0x90, 0xfd,
0x38, 0x0b, 0x25, 0x84, 0x0a, 0x59, 0xc5, 0x7d, 0x6f, 0x1f, 0x66, 0xbe, 0x0e, 0x47, 0x45, 0x51,
0x60, 0x08, 0x4a, 0x24, 0xe2, 0xd3, 0x0c, 0x0c, 0x0d, 0x83, 0x7f, 0xce, 0x09, 0xd7, 0x36, 0xc0,
0x61, 0x1c, 0xc1, 0xaf, 0x25, 0xf3, 0xdf, 0xcf, 0x6a, 0x69, 0xd2, 0x23, 0xaa, 0x24, 0xf8, 0x12,
0xcc, 0x92, 0xc7, 0xa4, 0xd5, 0x63, 0x8e, 0xd7, 0x5e, 0x73, 0xb1, 0x77, 0xcf, 0x57, 0x07, 0x4a,
0x1a, 0x8c, 0x9e, 0x85, 0x2a, 0xd7, 0xbe, 0xdf, 0x63, 0x0a, 0x4f, 0x9e, 0x2c, 0x49, 0x20, 0xe7,
0xc7, 0xe7, 0xeb, 0x12, 0x46, 0x6c, 0x85, 0x27, 0x8f, 0x99, 0x34, 0x78, 0x40, 0x95, 0x1c, 0x4c,
0x77, 0xa3, 0xca, 0xdf, 0x19, 0x29, 0x55, 0x2a, 0x0e, 0x7b, 0xa5, 0xca, 0xdb, 0x00, 0x1d, 0x12,
0xb4, 0xc9, 0xaa, 0x70, 0xea, 0xf2, 0x42, 0xbe, 0xa4, 0x75, 0xea, 0x7d, 0x06, 0x77, 0x43, 0x02,
0x2b, 0x46, 0x6b, 0xde, 0x82, 0x39, 0x0d, 0x0a, 0xf7, 0x57, 0xd4, 0xef, 0x05, 0x2d, 0x12, 0xa6,
0x6a, 0xc2, 0x26, 0x3f, 0xdf, 0x18, 0x0e, 0xda, 0x84, 0x29, 0xa3, 0x55, 0x2d, 0xf3, 0x65, 0xf1,
0x64, 0x24, 0xee, 0xff, 0x09, 0x4b, 0x4d, 0xbe, 0x6f, 0x1b, 0x03, 0xef, 0xdb, 0x9b, 0xe2, 0x7d,
0x26, 0x4e, 0x37, 0x66, 0x6d, 0xc2, 0x26, 0x67, 0x45, 0x6c, 0xf5, 0x43, 0x41, 0xd8, 0x3c, 0x7f,
0x1a, 0x4a, 0x61, 0x71, 0x0b, 0x2a, 0x42, 0xfe, 0xba, 0xeb, 0xd6, 0x26, 0x50, 0x05, 0x4a, 0xab,
0xaa, 0x82, 0xa3, 0x66, 0x9c, 0xff, 0x6b, 0x98, 0x4d, 0xe5, 0x48, 0x51, 0x09, 0x26, 0xef, 0xf9,
0x1e, 0xa9, 0x4d, 0xa0, 0x1a, 0x54, 0x6e, 0x38, 0x1e, 0x0e, 0xb6, 0xe5, 0x9d, 0xa4, 0x66, 0xa3,
0x59, 0x98, 0x16, 0xb1, 0xb9, 0x02, 0x90, 0xe5, 0x4f, 0x4e, 0x41, 0xf5, 0xae, 0x90, 0x71, 0x9d,
0x04, 0x0f, 0x9d, 0x16, 0x41, 0x4d, 0xa8, 0xa5, 0x7f, 0x91, 0x41, 0xcf, 0xeb, 0xd7, 0x49, 0xff,
0x27, 0x4d, 0x63, 0xd8, 0xac, 0xcd, 0x09, 0xf4, 0x01, 0xcc, 0x24, 0x7f, 0x5e, 0x41, 0xfa, 0xe0,
0x51, 0xfb, 0x87, 0xcb, 0x4e, 0xcc, 0x9b, 0x50, 0x4d, 0xfc, 0x8b, 0x82, 0xce, 0x69, 0x79, 0xeb,
0xfe, 0x57, 0x69, 0xe8, 0xef, 0x73, 0xf1, 0xff, 0x45, 0xa4, 0xf4, 0xc9, 0x6a, 0xf5, 0x0c, 0xe9,
0xb5, 0x25, 0xed, 0x3b, 0x49, 0x8f, 0xe1, 0xd0, 0x40, 0xf1, 0x39, 0xba, 0xa8, 0xe5, 0x9f, 0x55,
0xa4, 0xbe, 0xd3, 0x10, 0x8f, 0x00, 0x0d, 0xfe, 0x73, 0x81, 0x2e, 0xe9, 0x57, 0x20, 0xeb, 0x8f,
0x93, 0xc6, 0xe5, 0x91, 0xf1, 0x23, 0xc5, 0xfd, 0x93, 0x01, 0x47, 0x32, 0x2a, 0xc6, 0xd1, 0x55,
0x2d, 0xbb, 0xe1, 0x65, 0xef, 0x8d, 0x17, 0x77, 0x47, 0x14, 0x09, 0xe2, 0xc1, 0x6c, 0xaa, 0x88,
0x1a, 0x5d, 0xc8, 0x2c, 0x2c, 0x1b, 0xac, 0x26, 0x6f, 0x3c, 0x3f, 0x1a, 0x72, 0x34, 0xde, 0x7d,
0x98, 0x4d, 0x55, 0x1e, 0x67, 0x8c, 0xa7, 0xaf, 0x4f, 0xde, 0x69, 0x41, 0xdf, 0x87, 0x6a, 0xa2,
0x44, 0x38, 0xc3, 0xe2, 0x75, 0x65, 0xc4, 0x3b, 0xb1, 0xbe, 0x0f, 0x95, 0x78, 0x25, 0x2f, 0x5a,
0xca, 0xda, 0x4b, 0x03, 0x8c, 0x77, 0xb3, 0x95, 0xfa, 0x85, 0x7a, 0x43, 0xb6, 0xd2, 0x40, 0x6d,
0xe3, 0xe8, 0x5b, 0x29, 0xc6, 0x7f, 0xe8, 0x56, 0xda, 0xf5, 0x10, 0x1f, 0x1b, 0xb0, 0xa0, 0x2f,
0x04, 0x45, 0xcb, 0x59, 0xb6, 0x99, 0x5d, 0xf2, 0xda, 0xb8, 0xba, 0x2b, 0x9a, 0x48, 0x8b, 0x0f,
0x60, 0x26, 0x59, 0xee, 0x98, 0xa1, 0x45, 0x6d, 0x85, 0x68, 0xe3, 0xc2, 0x48, 0xb8, 0xd1, 0x60,
0xef, 0xc2, 0x74, 0xec, 0xaf, 0x57, 0x74, 0x76, 0x88, 0x1d, 0xc7, 0x7f, 0x01, 0xdd, 0x49, 0x93,
0x6f, 0x43, 0x39, 0xfa, 0x59, 0x15, 0x9d, 0xc9, 0xb4, 0xdf, 0xdd, 0xb0, 0x5c, 0x07, 0xe8, 0xff,
0x89, 0x8a, 0x9e, 0xd3, 0xf2, 0x1c, 0xf8, 0x55, 0x75, 0x27, 0xa6, 0xd1, 0xf4, 0xe5, 0x23, 0xf3,
0xb0, 0xe9, 0xc7, 0xab, 0x22, 0x76, 0x62, 0xbb, 0x05, 0xd5, 0x44, 0x2d, 0x53, 0xd6, 0x16, 0xd6,
0x94, 0x98, 0x35, 0xce, 0x8f, 0x82, 0x1a, 0xad, 0xdf, 0x16, 0x54, 0x13, 0x95, 0x25, 0x19, 0x23,
0xe9, 0x0a, 0x69, 0x32, 0x46, 0xd2, 0x16, 0xaa, 0x98, 0x13, 0xe8, 0x1f, 0x62, 0x45, 0x2c, 0x89,
0x42, 0x21, 0x74, 0x65, 0x28, 0x1f, 0x5d, 0x9d, 0x54, 0x63, 0x79, 0x37, 0x24, 0x91, 0x08, 0xca,
0xaa, 0xa4, 0x4a, 0xb3, 0xad, 0x6a, 0x37, 0x2b, 0xb5, 0x0e, 0x53, 0xb2, 0x56, 0x04, 0x99, 0x19,
0x55, 0x61, 0xb1, 0x42, 0x92, 0xc6, 0x33, 0x5a, 0x9c, 0x64, 0x19, 0x85, 0x64, 0x2a, 0x6b, 0x01,
0x32, 0x98, 0x26, 0x0a, 0x05, 0x46, 0x65, 0x6a, 0xc1, 0x94, 0x7c, 0x04, 0xcc, 0x60, 0x9a, 0x78,
0xc8, 0x6e, 0x0c, 0xc7, 0x91, 0x2f, 0x87, 0x13, 0x68, 0x0d, 0x0a, 0x22, 0xe8, 0x45, 0xa7, 0x87,
0x3d, 0xa4, 0x0d, 0xe3, 0x98, 0x78, 0x6b, 0x33, 0x27, 0xd0, 0xdf, 0x42, 0x41, 0xa4, 0x70, 0x32,
0x38, 0xc6, 0x5f, 0xc3, 0x1a, 0x43, 0x51, 0x42, 0x11, 0x6d, 0xa8, 0xc4, 0x73, 0xe5, 0x19, 0x47,
0x96, 0xe6, 0x35, 0xa1, 0x31, 0x0a, 0x66, 0x38, 0x8a, 0xdc, 0x46, 0xfd, 0x0b, 0x40, 0xf6, 0x36,
0x1a, 0xb8, 0x5c, 0x64, 0x6f, 0xa3, 0xc1, 0xfb, 0x84, 0x39, 0x81, 0xfe, 0xc5, 0x80, 0x7a, 0x56,
0x02, 0x17, 0x65, 0x46, 0x40, 0xc3, 0xb2, 0xd0, 0x8d, 0x97, 0x76, 0x49, 0x15, 0xc9, 0xf2, 0x11,
0xcc, 0x69, 0xb2, 0x7c, 0xe8, 0x72, 0x16, 0xbf, 0x8c, 0x04, 0x65, 0xe3, 0x85, 0xd1, 0x09, 0xa2,
0xb1, 0xd7, 0xa0, 0x20, 0xb2, 0x73, 0x19, 0x86, 0x12, 0x4f, 0xf6, 0x65, 0x98, 0x5e, 0x22, 0xb9,
0x67, 0x4e, 0x20, 0x02, 0x95, 0x78, 0xaa, 0x2e, 0xc3, 0x52, 0x34, 0x59, 0xbe, 0xc6, 0xb9, 0x11,
0x30, 0xa3, 0x61, 0x9a, 0x00, 0xfd, 0x54, 0x59, 0xc6, 0x39, 0x34, 0x90, 0xad, 0x6b, 0x9c, 0xdd,
0x11, 0x2f, 0x7e, 0x24, 0xc7, 0x92, 0x5f, 0x19, 0x67, 0xd2, 0x60, 0x7a, 0x6c, 0x84, 0x7b, 0xc2,
0x60, 0x22, 0x26, 0xe3, 0x9e, 0x90, 0x99, 0xf3, 0x69, 0x5c, 0x1e, 0x19, 0x3f, 0x9a, 0xcf, 0x87,
0x50, 0x4b, 0x27, 0xae, 0x32, 0xee, 0x9f, 0x19, 0xe9, 0xb3, 0xc6, 0xc5, 0x11, 0xb1, 0xe3, 0x67,
0xd5, 0xb1, 0x41, 0x99, 0xfe, 0xce, 0x61, 0x5b, 0x22, 0x67, 0x32, 0xca, 0xac, 0xe3, 0xe9, 0x99,
0x51, 0x66, 0x9d, 0x48, 0xc6, 0x98, 0x13, 0xcb, 0x3d, 0xa8, 0xac, 0x05, 0xfe, 0xe3, 0xed, 0xf0,
0x16, 0xfe, 0xe7, 0xb1, 0xce, 0x1b, 0x2f, 0xfd, 0xfd, 0xd5, 0xb6, 0xc3, 0xb6, 0x7a, 0x1b, 0x7c,
0xfd, 0x2f, 0x4b, 0xdc, 0x8b, 0x8e, 0xaf, 0xbe, 0x2e, 0x3b, 0x1e, 0x23, 0x81, 0x87, 0xdd, 0xcb,
0x82, 0x97, 0x82, 0x76, 0x37, 0x36, 0xa6, 0x44, 0xfb, 0xea, 0x9f, 0x02, 0x00, 0x00, 0xff, 0xff,
0x0d, 0x1d, 0x49, 0x34, 0x45, 0x45, 0x00, 0x00,
}
// Reference imports to suppress errors if they are not otherwise used.

View File

@ -338,12 +338,11 @@ func TestImpl_GetSegmentInfo(t *testing.T) {
seg, err := node.historical.replica.getSegmentByID(defaultSegmentID)
assert.NoError(t, err)
err = seg.setIndexInfo(simpleVecField.id, &indexInfo{
seg.setIndexInfo(simpleVecField.id, &indexInfo{
indexName: "query-node-test",
indexID: UniqueID(0),
buildID: UniqueID(0),
})
assert.NoError(t, err)
req := &queryPb.GetSegmentInfoRequest{
Base: &commonpb.MsgBase{

View File

@ -15,6 +15,7 @@ type indexInfo struct {
indexName string
indexID UniqueID
buildID UniqueID
fieldID UniqueID
indexPaths []string
indexParams map[string]string
readyLoad bool
@ -39,6 +40,10 @@ func (info *indexInfo) setBuildID(id UniqueID) {
info.buildID = id
}
func (info *indexInfo) setFieldID(id UniqueID) {
info.fieldID = id
}
func (info *indexInfo) setIndexPaths(paths []string) {
info.indexPaths = paths
}
@ -63,6 +68,10 @@ func (info *indexInfo) getBuildID() UniqueID {
return info.buildID
}
func (info *indexInfo) getFieldID() UniqueID {
return info.fieldID
}
func (info *indexInfo) getIndexPaths() []string {
return info.indexPaths
}

View File

@ -168,12 +168,13 @@ func (loader *indexLoader) estimateIndexBinlogSize(segment *Segment, fieldID Fie
return indexSize, nil
}
func (loader *indexLoader) setIndexInfo(collectionID UniqueID, segment *Segment, fieldID UniqueID) error {
func (loader *indexLoader) getIndexInfo(collectionID UniqueID, segment *Segment) (*indexInfo, error) {
if loader.indexCoord == nil || loader.rootCoord == nil {
return errors.New("null index coordinator client or root coordinator client, collectionID = " +
return nil, errors.New("null indexcoord client or rootcoord client, collectionID = " +
fmt.Sprintln(collectionID))
}
// request for segment info
req := &milvuspb.DescribeSegmentRequest{
Base: &commonpb.MsgBase{
MsgType: commonpb.MsgType_DescribeSegment,
@ -181,46 +182,55 @@ func (loader *indexLoader) setIndexInfo(collectionID UniqueID, segment *Segment,
CollectionID: collectionID,
SegmentID: segment.segmentID,
}
response, err := loader.rootCoord.DescribeSegment(loader.ctx, req)
resp, err := loader.rootCoord.DescribeSegment(loader.ctx, req)
if err != nil {
return err
return nil, err
}
if response.Status.ErrorCode != commonpb.ErrorCode_Success {
return errors.New(response.Status.Reason)
if resp.Status.ErrorCode != commonpb.ErrorCode_Success {
return nil, errors.New(resp.Status.Reason)
}
if !response.EnableIndex {
return errors.New("there are no indexes on this segment")
if !resp.EnableIndex {
log.Warn("index not enabled", zap.Int64("collection id", collectionID),
zap.Int64("segment id", segment.segmentID))
return nil, errors.New("there are no indexes on this segment")
}
indexFilePathRequest := &indexpb.GetIndexFilePathsRequest{
IndexBuildIDs: []UniqueID{response.BuildID},
// request for index info
indexFilePathReq := &indexpb.GetIndexFilePathsRequest{
IndexBuildIDs: []UniqueID{resp.BuildID},
}
pathResponse, err := loader.indexCoord.GetIndexFilePaths(loader.ctx, indexFilePathRequest)
if err != nil || pathResponse.Status.ErrorCode != commonpb.ErrorCode_Success {
return err
pathResp, err := loader.indexCoord.GetIndexFilePaths(loader.ctx, indexFilePathReq)
if err != nil {
return nil, err
}
if pathResp.Status.ErrorCode != commonpb.ErrorCode_Success {
return nil, errors.New(pathResp.Status.Reason)
}
if len(pathResponse.FilePaths) <= 0 {
return errors.New("illegal index file paths")
if len(pathResp.FilePaths) <= 0 {
log.Warn("illegal index file path", zap.Int64("collection id", collectionID),
zap.Int64("segment id", segment.segmentID), zap.Int64("build id", resp.BuildID))
return nil, errors.New("illegal index file paths")
}
if len(pathResponse.FilePaths[0].IndexFilePaths) == 0 {
return errors.New("empty index paths")
if len(pathResp.FilePaths[0].IndexFilePaths) == 0 {
log.Warn("empty index path", zap.Int64("collection id", collectionID),
zap.Int64("segment id", segment.segmentID), zap.Int64("build id", resp.BuildID))
return nil, errors.New("empty index paths")
}
info := &indexInfo{
indexID: response.IndexID,
buildID: response.BuildID,
indexPaths: pathResponse.FilePaths[0].IndexFilePaths,
return &indexInfo{
indexID: resp.IndexID,
buildID: resp.BuildID,
fieldID: resp.FieldID,
indexPaths: pathResp.FilePaths[0].IndexFilePaths,
readyLoad: true,
}
segment.setEnableIndex(response.EnableIndex)
err = segment.setIndexInfo(fieldID, info)
if err != nil {
return err
}
}, nil
}
return nil
func (loader *indexLoader) setIndexInfo(segment *Segment, info *indexInfo) {
segment.setEnableIndex(true)
segment.setIndexInfo(info.fieldID, info)
}
func newIndexLoader(ctx context.Context, rootCoord types.RootCoord, indexCoord types.IndexCoord, replica ReplicaInterface) *indexLoader {

View File

@ -36,8 +36,9 @@ func TestIndexLoader_setIndexInfo(t *testing.T) {
loader.indexLoader.rootCoord = newMockRootCoord()
loader.indexLoader.indexCoord = newMockIndexCoord()
err = loader.indexLoader.setIndexInfo(defaultCollectionID, segment, rowIDFieldID)
info, err := loader.indexLoader.getIndexInfo(defaultCollectionID, segment)
assert.NoError(t, err)
loader.indexLoader.setIndexInfo(segment, info)
})
t.Run("test nil root and index", func(t *testing.T) {
@ -49,8 +50,9 @@ func TestIndexLoader_setIndexInfo(t *testing.T) {
segment, err := genSimpleSealedSegment()
assert.NoError(t, err)
err = loader.indexLoader.setIndexInfo(defaultCollectionID, segment, rowIDFieldID)
info, err := loader.indexLoader.getIndexInfo(defaultCollectionID, segment)
assert.NoError(t, err)
loader.indexLoader.setIndexInfo(segment, info)
})
}
@ -116,14 +118,15 @@ func TestIndexLoader_loadIndex(t *testing.T) {
loader.indexLoader.rootCoord = newMockRootCoord()
loader.indexLoader.indexCoord = newMockIndexCoord()
err = loader.indexLoader.setIndexInfo(defaultCollectionID, segment, simpleVecField.id)
info, err := loader.indexLoader.getIndexInfo(defaultCollectionID, segment)
assert.NoError(t, err)
loader.indexLoader.setIndexInfo(segment, info)
err = loader.indexLoader.loadIndex(segment, simpleVecField.id)
assert.NoError(t, err)
})
t.Run("test set indexinfo with empty indexFilePath", func(t *testing.T) {
t.Run("test get indexinfo with empty indexFilePath", func(t *testing.T) {
node, err := genSimpleQueryNode(ctx)
assert.NoError(t, err)
loader := node.loader
@ -138,9 +141,8 @@ func TestIndexLoader_loadIndex(t *testing.T) {
loader.indexLoader.indexCoord = ic
err = loader.indexLoader.setIndexInfo(defaultCollectionID, segment, simpleVecField.id)
_, err = loader.indexLoader.getIndexInfo(defaultCollectionID, segment)
assert.Error(t, err)
})
//t.Run("test get index failed", func(t *testing.T) {
@ -169,12 +171,15 @@ func TestIndexLoader_loadIndex(t *testing.T) {
loader.indexLoader.rootCoord = newMockRootCoord()
loader.indexLoader.indexCoord = newMockIndexCoord()
err = loader.indexLoader.setIndexInfo(defaultCollectionID, segment, rowIDFieldID)
info, err := loader.indexLoader.getIndexInfo(defaultCollectionID, segment)
assert.NoError(t, err)
segment.indexInfos[rowIDFieldID].setReadyLoad(false)
vecFieldID := UniqueID(101)
info.setFieldID(vecFieldID)
loader.indexLoader.setIndexInfo(segment, info)
err = loader.indexLoader.loadIndex(segment, rowIDFieldID)
segment.indexInfos[vecFieldID].setReadyLoad(false)
err = loader.indexLoader.loadIndex(segment, vecFieldID)
assert.Error(t, err)
})
}

View File

@ -142,6 +142,7 @@ func (m *mockRootCoord) DescribeSegment(ctx context.Context, req *milvuspb.Descr
IndexID: indexID,
BuildID: buildID,
EnableIndex: true,
FieldID: fieldID,
}, nil
}

View File

@ -84,6 +84,7 @@ const (
const (
buildID = UniqueID(0)
indexID = UniqueID(0)
fieldID = UniqueID(100)
indexName = "query-node-index-0"
)

View File

@ -531,14 +531,10 @@ func (s *Segment) matchIndexParam(fieldID int64, indexParams indexParam) bool {
return paramSize == matchCount
}
func (s *Segment) setIndexInfo(fieldID int64, info *indexInfo) error {
func (s *Segment) setIndexInfo(fieldID int64, info *indexInfo) {
s.paramMutex.Lock()
defer s.paramMutex.Unlock()
if s.indexInfos == nil {
return errors.New("indexInfos hasn't been init")
}
s.indexInfos[fieldID] = info
return nil
}
func (s *Segment) checkIndexReady(fieldID int64) bool {

View File

@ -563,13 +563,11 @@ func (loader *segmentLoader) getFieldAndIndexInfo(segment *Segment,
}
indexedFieldIDs := make([]FieldID, 0)
for _, vecFieldID := range vectorFieldIDs {
err = loader.indexLoader.setIndexInfo(collectionID, segment, vecFieldID)
if err != nil {
log.Warn(err.Error())
continue
}
indexedFieldIDs = append(indexedFieldIDs, vecFieldID)
if idxInfo, err := loader.indexLoader.getIndexInfo(collectionID, segment); err != nil {
log.Warn(err.Error())
} else {
loader.indexLoader.setIndexInfo(segment, idxInfo)
indexedFieldIDs = append(indexedFieldIDs, idxInfo.fieldID)
}
// we don't need to load raw data for indexed vector field

View File

@ -341,8 +341,7 @@ func TestSegmentLoader_estimateSegmentSize(t *testing.T) {
indexPath, err := generateIndex(defaultSegmentID)
assert.NoError(t, err)
err = seg.setIndexInfo(simpleVecField.id, &indexInfo{})
assert.NoError(t, err)
seg.setIndexInfo(simpleVecField.id, &indexInfo{})
err = seg.setIndexPaths(simpleVecField.id, indexPath)
assert.NoError(t, err)

View File

@ -895,8 +895,7 @@ func TestSegment_indexInfoTest(t *testing.T) {
fieldID := simpleVecField.id
err = seg.setIndexInfo(fieldID, &indexInfo{})
assert.NoError(t, err)
seg.setIndexInfo(fieldID, &indexInfo{})
indexName := "query-node-test-index"
err = seg.setIndexName(fieldID, indexName)
@ -983,21 +982,14 @@ func TestSegment_indexInfoTest(t *testing.T) {
id = seg.getBuildID(fieldID)
assert.Equal(t, int64(-1), id)
err = seg.setIndexInfo(fieldID, &indexInfo{
seg.setIndexInfo(fieldID, &indexInfo{
readyLoad: true,
})
assert.NoError(t, err)
ready := seg.checkIndexReady(fieldID)
assert.True(t, ready)
ready = seg.checkIndexReady(FieldID(1000))
assert.False(t, ready)
seg.indexInfos = nil
err = seg.setIndexInfo(fieldID, &indexInfo{
readyLoad: true,
})
assert.Error(t, err)
})
}
@ -1077,8 +1069,7 @@ func TestSegment_fillVectorFieldsData(t *testing.T) {
t.Run("test fillVectorFieldsData float-vector invalid vectorChunkManager", func(t *testing.T) {
fieldID := FieldID(100)
fieldName := "float-vector-field-0"
err = segment.setIndexInfo(fieldID, &indexInfo{})
assert.NoError(t, err)
segment.setIndexInfo(fieldID, &indexInfo{})
info := &VectorFieldInfo{
fieldBinlog: &datapb.FieldBinlog{
FieldID: fieldID,

View File

@ -755,6 +755,7 @@ func (t *DescribeSegmentReqTask) Execute(ctx context.Context) error {
t.Rsp.IndexID = segIdxInfo.IndexID
t.Rsp.BuildID = segIdxInfo.BuildID
t.Rsp.EnableIndex = segIdxInfo.EnableIndex
t.Rsp.FieldID = segIdxInfo.FieldID
return nil
}