From 21b5973253f45cbcb090ba5788bf897c94c8fde7 Mon Sep 17 00:00:00 2001 From: groot Date: Thu, 28 Apr 2022 17:21:47 +0800 Subject: [PATCH] Refine list import task api (#16690) Signed-off-by: groot --- internal/core/src/pb/milvus.pb.cc | 470 +++++++++-------- internal/core/src/pb/milvus.pb.h | 74 ++- internal/proto/milvus.proto | 3 +- internal/proto/milvuspb/milvus.pb.go | 561 +++++++++++---------- internal/proxy/rootcoord_mock_test.go | 4 +- internal/rootcoord/import_manager.go | 42 +- internal/rootcoord/import_manager_test.go | 67 +++ internal/util/importutil/import_wrapper.go | 54 +- internal/util/importutil/json_handler.go | 21 +- 9 files changed, 749 insertions(+), 547 deletions(-) diff --git a/internal/core/src/pb/milvus.pb.cc b/internal/core/src/pb/milvus.pb.cc index 0a35919774..32869c2ade 100644 --- a/internal/core/src/pb/milvus.pb.cc +++ b/internal/core/src/pb/milvus.pb.cc @@ -22,6 +22,7 @@ extern PROTOBUF_INTERNAL_EXPORT_common_2eproto ::PROTOBUF_NAMESPACE_ID::internal extern PROTOBUF_INTERNAL_EXPORT_common_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_Status_common_2eproto; extern PROTOBUF_INTERNAL_EXPORT_milvus_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_CompactionMergeInfo_milvus_2eproto; extern PROTOBUF_INTERNAL_EXPORT_milvus_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<1> scc_info_FlushResponse_CollSegIDsEntry_DoNotUse_milvus_2eproto; +extern PROTOBUF_INTERNAL_EXPORT_milvus_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<2> scc_info_GetImportStateResponse_milvus_2eproto; extern PROTOBUF_INTERNAL_EXPORT_milvus_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<1> scc_info_IndexDescription_milvus_2eproto; extern PROTOBUF_INTERNAL_EXPORT_milvus_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_PersistentSegmentInfo_milvus_2eproto; extern PROTOBUF_INTERNAL_EXPORT_milvus_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_PlaceholderValue_milvus_2eproto; @@ -1349,9 +1350,10 @@ static void InitDefaultsscc_info_ListImportTasksResponse_milvus_2eproto() { ::milvus::proto::milvus::ListImportTasksResponse::InitAsDefaultInstance(); } -::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<1> scc_info_ListImportTasksResponse_milvus_2eproto = - {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 1, InitDefaultsscc_info_ListImportTasksResponse_milvus_2eproto}, { - &scc_info_Status_common_2eproto.base,}}; +::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<2> scc_info_ListImportTasksResponse_milvus_2eproto = + {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 2, InitDefaultsscc_info_ListImportTasksResponse_milvus_2eproto}, { + &scc_info_Status_common_2eproto.base, + &scc_info_GetImportStateResponse_milvus_2eproto.base,}}; static void InitDefaultsscc_info_LoadBalanceRequest_milvus_2eproto() { GOOGLE_PROTOBUF_VERIFY_VERSION; @@ -2521,6 +2523,7 @@ const ::PROTOBUF_NAMESPACE_ID::uint32 TableStruct_milvus_2eproto::offsets[] PROT PROTOBUF_FIELD_OFFSET(::milvus::proto::milvus::GetImportStateResponse, row_count_), PROTOBUF_FIELD_OFFSET(::milvus::proto::milvus::GetImportStateResponse, id_list_), PROTOBUF_FIELD_OFFSET(::milvus::proto::milvus::GetImportStateResponse, infos_), + PROTOBUF_FIELD_OFFSET(::milvus::proto::milvus::GetImportStateResponse, id_), ~0u, // no _has_bits_ PROTOBUF_FIELD_OFFSET(::milvus::proto::milvus::ListImportTasksRequest, _internal_metadata_), ~0u, // no _extensions_ @@ -2691,17 +2694,17 @@ static const ::PROTOBUF_NAMESPACE_ID::internal::MigrationSchema schemas[] PROTOB { 690, -1, sizeof(::milvus::proto::milvus::ImportResponse)}, { 697, -1, sizeof(::milvus::proto::milvus::GetImportStateRequest)}, { 703, -1, sizeof(::milvus::proto::milvus::GetImportStateResponse)}, - { 713, -1, sizeof(::milvus::proto::milvus::ListImportTasksRequest)}, - { 718, -1, sizeof(::milvus::proto::milvus::ListImportTasksResponse)}, - { 725, -1, sizeof(::milvus::proto::milvus::GetReplicasRequest)}, - { 733, -1, sizeof(::milvus::proto::milvus::GetReplicasResponse)}, - { 740, -1, sizeof(::milvus::proto::milvus::ReplicaInfo)}, - { 750, -1, sizeof(::milvus::proto::milvus::ShardReplica)}, - { 759, -1, sizeof(::milvus::proto::milvus::CreateCredentialRequest)}, - { 769, -1, sizeof(::milvus::proto::milvus::UpdateCredentialRequest)}, - { 780, -1, sizeof(::milvus::proto::milvus::DeleteCredentialRequest)}, - { 787, -1, sizeof(::milvus::proto::milvus::ListCredUsersResponse)}, - { 794, -1, sizeof(::milvus::proto::milvus::ListCredUsersRequest)}, + { 714, -1, sizeof(::milvus::proto::milvus::ListImportTasksRequest)}, + { 719, -1, sizeof(::milvus::proto::milvus::ListImportTasksResponse)}, + { 726, -1, sizeof(::milvus::proto::milvus::GetReplicasRequest)}, + { 734, -1, sizeof(::milvus::proto::milvus::GetReplicasResponse)}, + { 741, -1, sizeof(::milvus::proto::milvus::ReplicaInfo)}, + { 751, -1, sizeof(::milvus::proto::milvus::ShardReplica)}, + { 760, -1, sizeof(::milvus::proto::milvus::CreateCredentialRequest)}, + { 770, -1, sizeof(::milvus::proto::milvus::UpdateCredentialRequest)}, + { 781, -1, sizeof(::milvus::proto::milvus::DeleteCredentialRequest)}, + { 788, -1, sizeof(::milvus::proto::milvus::ListCredUsersResponse)}, + { 795, -1, sizeof(::milvus::proto::milvus::ListCredUsersRequest)}, }; static ::PROTOBUF_NAMESPACE_ID::Message const * const file_default_instances[] = { @@ -3075,170 +3078,172 @@ const char descriptor_table_protodef_milvus_2eproto[] PROTOBUF_SECTION_VARIABLE( "us.proto.common.KeyValuePair\"L\n\016ImportRe" "sponse\022+\n\006status\030\001 \001(\0132\033.milvus.proto.co" "mmon.Status\022\r\n\005tasks\030\002 \003(\003\"%\n\025GetImportS" - "tateRequest\022\014\n\004task\030\001 \001(\003\"\314\001\n\026GetImportS" + "tateRequest\022\014\n\004task\030\001 \001(\003\"\330\001\n\026GetImportS" "tateResponse\022+\n\006status\030\001 \001(\0132\033.milvus.pr" "oto.common.Status\022/\n\005state\030\002 \001(\0162 .milvu" "s.proto.common.ImportState\022\021\n\trow_count\030" "\003 \001(\003\022\017\n\007id_list\030\004 \003(\003\0220\n\005infos\030\005 \003(\0132!." - "milvus.proto.common.KeyValuePair\"\030\n\026List" - "ImportTasksRequest\"U\n\027ListImportTasksRes" - "ponse\022+\n\006status\030\001 \001(\0132\033.milvus.proto.com" - "mon.Status\022\r\n\005tasks\030\002 \003(\003\"p\n\022GetReplicas" - "Request\022*\n\004base\030\001 \001(\0132\034.milvus.proto.com" - "mon.MsgBase\022\024\n\014collectionID\030\002 \001(\003\022\030\n\020wit" - "h_shard_nodes\030\003 \001(\010\"v\n\023GetReplicasRespon" - "se\022+\n\006status\030\001 \001(\0132\033.milvus.proto.common" - ".Status\0222\n\010replicas\030\002 \003(\0132 .milvus.proto" - ".milvus.ReplicaInfo\"\232\001\n\013ReplicaInfo\022\021\n\tr" - "eplicaID\030\001 \001(\003\022\024\n\014collectionID\030\002 \001(\003\022\025\n\r" - "partition_ids\030\003 \003(\003\0229\n\016shard_replicas\030\004 " - "\003(\0132!.milvus.proto.milvus.ShardReplica\022\020" - "\n\010node_ids\030\005 \003(\003\"`\n\014ShardReplica\022\020\n\010lead" - "erID\030\001 \001(\003\022\023\n\013leader_addr\030\002 \001(\t\022\027\n\017dm_ch" - "annel_name\030\003 \001(\t\022\020\n\010node_ids\030\004 \003(\003\"\252\001\n\027C" - "reateCredentialRequest\022*\n\004base\030\001 \001(\0132\034.m" - "ilvus.proto.common.MsgBase\022\020\n\010username\030\002" - " \001(\t\022\020\n\010password\030\003 \001(\t\022\036\n\026created_utc_ti" - "mestamps\030\004 \001(\004\022\037\n\027modified_utc_timestamp" - "s\030\005 \001(\004\"\302\001\n\027UpdateCredentialRequest\022*\n\004b" - "ase\030\001 \001(\0132\034.milvus.proto.common.MsgBase\022" - "\020\n\010username\030\002 \001(\t\022\023\n\013oldPassword\030\003 \001(\t\022\023" - "\n\013newPassword\030\004 \001(\t\022\036\n\026created_utc_times" - "tamps\030\005 \001(\004\022\037\n\027modified_utc_timestamps\030\006" - " \001(\004\"W\n\027DeleteCredentialRequest\022*\n\004base\030" - "\001 \001(\0132\034.milvus.proto.common.MsgBase\022\020\n\010u" - "sername\030\002 \001(\t\"W\n\025ListCredUsersResponse\022+" - "\n\006status\030\001 \001(\0132\033.milvus.proto.common.Sta" - "tus\022\021\n\tusernames\030\002 \003(\t\"B\n\024ListCredUsersR" - "equest\022*\n\004base\030\001 \001(\0132\034.milvus.proto.comm" - "on.MsgBase*!\n\010ShowType\022\007\n\003All\020\000\022\014\n\010InMem" - "ory\020\001*>\n\017PlaceholderType\022\010\n\004None\020\000\022\020\n\014Bi" - "naryVector\020d\022\017\n\013FloatVector\020e2\250%\n\rMilvus" - "Service\022_\n\020CreateCollection\022,.milvus.pro" - "to.milvus.CreateCollectionRequest\032\033.milv" - "us.proto.common.Status\"\000\022[\n\016DropCollecti" - "on\022*.milvus.proto.milvus.DropCollectionR" - "equest\032\033.milvus.proto.common.Status\"\000\022_\n" - "\rHasCollection\022).milvus.proto.milvus.Has" - "CollectionRequest\032!.milvus.proto.milvus." - "BoolResponse\"\000\022[\n\016LoadCollection\022*.milvu" - "s.proto.milvus.LoadCollectionRequest\032\033.m" - "ilvus.proto.common.Status\"\000\022a\n\021ReleaseCo" - "llection\022-.milvus.proto.milvus.ReleaseCo" - "llectionRequest\032\033.milvus.proto.common.St" - "atus\"\000\022w\n\022DescribeCollection\022..milvus.pr" - "oto.milvus.DescribeCollectionRequest\032/.m" - "ilvus.proto.milvus.DescribeCollectionRes" - "ponse\"\000\022\206\001\n\027GetCollectionStatistics\0223.mi" - "lvus.proto.milvus.GetCollectionStatistic" - "sRequest\0324.milvus.proto.milvus.GetCollec" - "tionStatisticsResponse\"\000\022n\n\017ShowCollecti" - "ons\022+.milvus.proto.milvus.ShowCollection" - "sRequest\032,.milvus.proto.milvus.ShowColle" - "ctionsResponse\"\000\022]\n\017CreatePartition\022+.mi" - "lvus.proto.milvus.CreatePartitionRequest" - "\032\033.milvus.proto.common.Status\"\000\022Y\n\rDropP" - "artition\022).milvus.proto.milvus.DropParti" + "milvus.proto.common.KeyValuePair\022\n\n\002id\030\006" + " \001(\003\"\030\n\026ListImportTasksRequest\"\202\001\n\027ListI" + "mportTasksResponse\022+\n\006status\030\001 \001(\0132\033.mil" + "vus.proto.common.Status\022:\n\005tasks\030\002 \003(\0132+" + ".milvus.proto.milvus.GetImportStateRespo" + "nse\"p\n\022GetReplicasRequest\022*\n\004base\030\001 \001(\0132" + "\034.milvus.proto.common.MsgBase\022\024\n\014collect" + "ionID\030\002 \001(\003\022\030\n\020with_shard_nodes\030\003 \001(\010\"v\n" + "\023GetReplicasResponse\022+\n\006status\030\001 \001(\0132\033.m" + "ilvus.proto.common.Status\0222\n\010replicas\030\002 " + "\003(\0132 .milvus.proto.milvus.ReplicaInfo\"\232\001" + "\n\013ReplicaInfo\022\021\n\treplicaID\030\001 \001(\003\022\024\n\014coll" + "ectionID\030\002 \001(\003\022\025\n\rpartition_ids\030\003 \003(\003\0229\n" + "\016shard_replicas\030\004 \003(\0132!.milvus.proto.mil" + "vus.ShardReplica\022\020\n\010node_ids\030\005 \003(\003\"`\n\014Sh" + "ardReplica\022\020\n\010leaderID\030\001 \001(\003\022\023\n\013leader_a" + "ddr\030\002 \001(\t\022\027\n\017dm_channel_name\030\003 \001(\t\022\020\n\010no" + "de_ids\030\004 \003(\003\"\252\001\n\027CreateCredentialRequest" + "\022*\n\004base\030\001 \001(\0132\034.milvus.proto.common.Msg" + "Base\022\020\n\010username\030\002 \001(\t\022\020\n\010password\030\003 \001(\t" + "\022\036\n\026created_utc_timestamps\030\004 \001(\004\022\037\n\027modi" + "fied_utc_timestamps\030\005 \001(\004\"\302\001\n\027UpdateCred" + "entialRequest\022*\n\004base\030\001 \001(\0132\034.milvus.pro" + "to.common.MsgBase\022\020\n\010username\030\002 \001(\t\022\023\n\013o" + "ldPassword\030\003 \001(\t\022\023\n\013newPassword\030\004 \001(\t\022\036\n" + "\026created_utc_timestamps\030\005 \001(\004\022\037\n\027modifie" + "d_utc_timestamps\030\006 \001(\004\"W\n\027DeleteCredenti" + "alRequest\022*\n\004base\030\001 \001(\0132\034.milvus.proto.c" + "ommon.MsgBase\022\020\n\010username\030\002 \001(\t\"W\n\025ListC" + "redUsersResponse\022+\n\006status\030\001 \001(\0132\033.milvu" + "s.proto.common.Status\022\021\n\tusernames\030\002 \003(\t" + "\"B\n\024ListCredUsersRequest\022*\n\004base\030\001 \001(\0132\034" + ".milvus.proto.common.MsgBase*!\n\010ShowType" + "\022\007\n\003All\020\000\022\014\n\010InMemory\020\001*>\n\017PlaceholderTy" + "pe\022\010\n\004None\020\000\022\020\n\014BinaryVector\020d\022\017\n\013FloatV" + "ector\020e2\250%\n\rMilvusService\022_\n\020CreateColle" + "ction\022,.milvus.proto.milvus.CreateCollec" "tionRequest\032\033.milvus.proto.common.Status" - "\"\000\022]\n\014HasPartition\022(.milvus.proto.milvus" - ".HasPartitionRequest\032!.milvus.proto.milv" - "us.BoolResponse\"\000\022[\n\016LoadPartitions\022*.mi" - "lvus.proto.milvus.LoadPartitionsRequest\032" - "\033.milvus.proto.common.Status\"\000\022a\n\021Releas" - "ePartitions\022-.milvus.proto.milvus.Releas" - "ePartitionsRequest\032\033.milvus.proto.common" - ".Status\"\000\022\203\001\n\026GetPartitionStatistics\0222.m" - "ilvus.proto.milvus.GetPartitionStatistic" - "sRequest\0323.milvus.proto.milvus.GetPartit" - "ionStatisticsResponse\"\000\022k\n\016ShowPartition" - "s\022*.milvus.proto.milvus.ShowPartitionsRe" - "quest\032+.milvus.proto.milvus.ShowPartitio" - "nsResponse\"\000\022U\n\013CreateAlias\022\'.milvus.pro" - "to.milvus.CreateAliasRequest\032\033.milvus.pr" - "oto.common.Status\"\000\022Q\n\tDropAlias\022%.milvu" - "s.proto.milvus.DropAliasRequest\032\033.milvus" - ".proto.common.Status\"\000\022S\n\nAlterAlias\022&.m" - "ilvus.proto.milvus.AlterAliasRequest\032\033.m" - "ilvus.proto.common.Status\"\000\022U\n\013CreateInd" - "ex\022\'.milvus.proto.milvus.CreateIndexRequ" - "est\032\033.milvus.proto.common.Status\"\000\022h\n\rDe" - "scribeIndex\022).milvus.proto.milvus.Descri" - "beIndexRequest\032*.milvus.proto.milvus.Des" - "cribeIndexResponse\"\000\022h\n\rGetIndexState\022)." - "milvus.proto.milvus.GetIndexStateRequest" - "\032*.milvus.proto.milvus.GetIndexStateResp" - "onse\"\000\022\200\001\n\025GetIndexBuildProgress\0221.milvu" - "s.proto.milvus.GetIndexBuildProgressRequ" - "est\0322.milvus.proto.milvus.GetIndexBuildP" - "rogressResponse\"\000\022Q\n\tDropIndex\022%.milvus." - "proto.milvus.DropIndexRequest\032\033.milvus.p" - "roto.common.Status\"\000\022S\n\006Insert\022\".milvus." - "proto.milvus.InsertRequest\032#.milvus.prot" - "o.milvus.MutationResult\"\000\022S\n\006Delete\022\".mi" - "lvus.proto.milvus.DeleteRequest\032#.milvus" - ".proto.milvus.MutationResult\"\000\022R\n\006Search" - "\022\".milvus.proto.milvus.SearchRequest\032\".m" - "ilvus.proto.milvus.SearchResults\"\000\022P\n\005Fl" - "ush\022!.milvus.proto.milvus.FlushRequest\032\"" - ".milvus.proto.milvus.FlushResponse\"\000\022O\n\005" - "Query\022!.milvus.proto.milvus.QueryRequest" - "\032!.milvus.proto.milvus.QueryResults\"\000\022d\n" - "\014CalcDistance\022(.milvus.proto.milvus.Calc" - "DistanceRequest\032(.milvus.proto.milvus.Ca" - "lcDistanceResults\"\000\022h\n\rGetFlushState\022).m" - "ilvus.proto.milvus.GetFlushStateRequest\032" - "*.milvus.proto.milvus.GetFlushStateRespo" - "nse\"\000\022\211\001\n\030GetPersistentSegmentInfo\0224.mil" - "vus.proto.milvus.GetPersistentSegmentInf" - "oRequest\0325.milvus.proto.milvus.GetPersis" - "tentSegmentInfoResponse\"\000\022z\n\023GetQuerySeg" - "mentInfo\022/.milvus.proto.milvus.GetQueryS" - "egmentInfoRequest\0320.milvus.proto.milvus." - "GetQuerySegmentInfoResponse\"\000\022b\n\013GetRepl" - "icas\022\'.milvus.proto.milvus.GetReplicasRe" - "quest\032(.milvus.proto.milvus.GetReplicasR" - "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\"\000\022S\n\006Import\022\".mi" - "lvus.proto.milvus.ImportRequest\032#.milvus" - ".proto.milvus.ImportResponse\"\000\022k\n\016GetImp" - "ortState\022*.milvus.proto.milvus.GetImport" - "StateRequest\032+.milvus.proto.milvus.GetIm" - "portStateResponse\"\000\022n\n\017ListImportTasks\022+" - ".milvus.proto.milvus.ListImportTasksRequ" - "est\032,.milvus.proto.milvus.ListImportTask" - "sResponse\"\000\022_\n\020CreateCredential\022,.milvus" - ".proto.milvus.CreateCredentialRequest\032\033." - "milvus.proto.common.Status\"\000\022_\n\020UpdateCr" - "edential\022,.milvus.proto.milvus.UpdateCre" - "dentialRequest\032\033.milvus.proto.common.Sta" - "tus\"\000\022_\n\020DeleteCredential\022,.milvus.proto" - ".milvus.DeleteCredentialRequest\032\033.milvus" - ".proto.common.Status\"\000\022h\n\rListCredUsers\022" - ").milvus.proto.milvus.ListCredUsersReque" - "st\032*.milvus.proto.milvus.ListCredUsersRe" - "sponse\"\0002u\n\014ProxyService\022e\n\014RegisterLink" - "\022(.milvus.proto.milvus.RegisterLinkReque" - "st\032).milvus.proto.milvus.RegisterLinkRes" - "ponse\"\000BW\n\016io.milvus.grpcB\013MilvusProtoP\001" - "Z3github.com/milvus-io/milvus/internal/p" - "roto/milvuspb\240\001\001b\006proto3" + "\"\000\022[\n\016DropCollection\022*.milvus.proto.milv" + "us.DropCollectionRequest\032\033.milvus.proto." + "common.Status\"\000\022_\n\rHasCollection\022).milvu" + "s.proto.milvus.HasCollectionRequest\032!.mi" + "lvus.proto.milvus.BoolResponse\"\000\022[\n\016Load" + "Collection\022*.milvus.proto.milvus.LoadCol" + "lectionRequest\032\033.milvus.proto.common.Sta" + "tus\"\000\022a\n\021ReleaseCollection\022-.milvus.prot" + "o.milvus.ReleaseCollectionRequest\032\033.milv" + "us.proto.common.Status\"\000\022w\n\022DescribeColl" + "ection\022..milvus.proto.milvus.DescribeCol" + "lectionRequest\032/.milvus.proto.milvus.Des" + "cribeCollectionResponse\"\000\022\206\001\n\027GetCollect" + "ionStatistics\0223.milvus.proto.milvus.GetC" + "ollectionStatisticsRequest\0324.milvus.prot" + "o.milvus.GetCollectionStatisticsResponse" + "\"\000\022n\n\017ShowCollections\022+.milvus.proto.mil" + "vus.ShowCollectionsRequest\032,.milvus.prot" + "o.milvus.ShowCollectionsResponse\"\000\022]\n\017Cr" + "eatePartition\022+.milvus.proto.milvus.Crea" + "tePartitionRequest\032\033.milvus.proto.common" + ".Status\"\000\022Y\n\rDropPartition\022).milvus.prot" + "o.milvus.DropPartitionRequest\032\033.milvus.p" + "roto.common.Status\"\000\022]\n\014HasPartition\022(.m" + "ilvus.proto.milvus.HasPartitionRequest\032!" + ".milvus.proto.milvus.BoolResponse\"\000\022[\n\016L" + "oadPartitions\022*.milvus.proto.milvus.Load" + "PartitionsRequest\032\033.milvus.proto.common." + "Status\"\000\022a\n\021ReleasePartitions\022-.milvus.p" + "roto.milvus.ReleasePartitionsRequest\032\033.m" + "ilvus.proto.common.Status\"\000\022\203\001\n\026GetParti" + "tionStatistics\0222.milvus.proto.milvus.Get" + "PartitionStatisticsRequest\0323.milvus.prot" + "o.milvus.GetPartitionStatisticsResponse\"" + "\000\022k\n\016ShowPartitions\022*.milvus.proto.milvu" + "s.ShowPartitionsRequest\032+.milvus.proto.m" + "ilvus.ShowPartitionsResponse\"\000\022U\n\013Create" + "Alias\022\'.milvus.proto.milvus.CreateAliasR" + "equest\032\033.milvus.proto.common.Status\"\000\022Q\n" + "\tDropAlias\022%.milvus.proto.milvus.DropAli" + "asRequest\032\033.milvus.proto.common.Status\"\000" + "\022S\n\nAlterAlias\022&.milvus.proto.milvus.Alt" + "erAliasRequest\032\033.milvus.proto.common.Sta" + "tus\"\000\022U\n\013CreateIndex\022\'.milvus.proto.milv" + "us.CreateIndexRequest\032\033.milvus.proto.com" + "mon.Status\"\000\022h\n\rDescribeIndex\022).milvus.p" + "roto.milvus.DescribeIndexRequest\032*.milvu" + "s.proto.milvus.DescribeIndexResponse\"\000\022h" + "\n\rGetIndexState\022).milvus.proto.milvus.Ge" + "tIndexStateRequest\032*.milvus.proto.milvus" + ".GetIndexStateResponse\"\000\022\200\001\n\025GetIndexBui" + "ldProgress\0221.milvus.proto.milvus.GetInde" + "xBuildProgressRequest\0322.milvus.proto.mil" + "vus.GetIndexBuildProgressResponse\"\000\022Q\n\tD" + "ropIndex\022%.milvus.proto.milvus.DropIndex" + "Request\032\033.milvus.proto.common.Status\"\000\022S" + "\n\006Insert\022\".milvus.proto.milvus.InsertReq" + "uest\032#.milvus.proto.milvus.MutationResul" + "t\"\000\022S\n\006Delete\022\".milvus.proto.milvus.Dele" + "teRequest\032#.milvus.proto.milvus.Mutation" + "Result\"\000\022R\n\006Search\022\".milvus.proto.milvus" + ".SearchRequest\032\".milvus.proto.milvus.Sea" + "rchResults\"\000\022P\n\005Flush\022!.milvus.proto.mil" + "vus.FlushRequest\032\".milvus.proto.milvus.F" + "lushResponse\"\000\022O\n\005Query\022!.milvus.proto.m" + "ilvus.QueryRequest\032!.milvus.proto.milvus" + ".QueryResults\"\000\022d\n\014CalcDistance\022(.milvus" + ".proto.milvus.CalcDistanceRequest\032(.milv" + "us.proto.milvus.CalcDistanceResults\"\000\022h\n" + "\rGetFlushState\022).milvus.proto.milvus.Get" + "FlushStateRequest\032*.milvus.proto.milvus." + "GetFlushStateResponse\"\000\022\211\001\n\030GetPersisten" + "tSegmentInfo\0224.milvus.proto.milvus.GetPe" + "rsistentSegmentInfoRequest\0325.milvus.prot" + "o.milvus.GetPersistentSegmentInfoRespons" + "e\"\000\022z\n\023GetQuerySegmentInfo\022/.milvus.prot" + "o.milvus.GetQuerySegmentInfoRequest\0320.mi" + "lvus.proto.milvus.GetQuerySegmentInfoRes" + "ponse\"\000\022b\n\013GetReplicas\022\'.milvus.proto.mi" + "lvus.GetReplicasRequest\032(.milvus.proto.m" + "ilvus.GetReplicasResponse\"\000\022P\n\005Dummy\022!.m" + "ilvus.proto.milvus.DummyRequest\032\".milvus" + ".proto.milvus.DummyResponse\"\000\022e\n\014Registe" + "rLink\022(.milvus.proto.milvus.RegisterLink" + "Request\032).milvus.proto.milvus.RegisterLi" + "nkResponse\"\000\022_\n\nGetMetrics\022&.milvus.prot" + "o.milvus.GetMetricsRequest\032\'.milvus.prot" + "o.milvus.GetMetricsResponse\"\000\022U\n\013LoadBal" + "ance\022\'.milvus.proto.milvus.LoadBalanceRe" + "quest\032\033.milvus.proto.common.Status\"\000\022w\n\022" + "GetCompactionState\022..milvus.proto.milvus" + ".GetCompactionStateRequest\032/.milvus.prot" + "o.milvus.GetCompactionStateResponse\"\000\022q\n" + "\020ManualCompaction\022,.milvus.proto.milvus." + "ManualCompactionRequest\032-.milvus.proto.m" + "ilvus.ManualCompactionResponse\"\000\022\200\001\n\033Get" + "CompactionStateWithPlans\022..milvus.proto." + "milvus.GetCompactionPlansRequest\032/.milvu" + "s.proto.milvus.GetCompactionPlansRespons" + "e\"\000\022S\n\006Import\022\".milvus.proto.milvus.Impo" + "rtRequest\032#.milvus.proto.milvus.ImportRe" + "sponse\"\000\022k\n\016GetImportState\022*.milvus.prot" + "o.milvus.GetImportStateRequest\032+.milvus." + "proto.milvus.GetImportStateResponse\"\000\022n\n" + "\017ListImportTasks\022+.milvus.proto.milvus.L" + "istImportTasksRequest\032,.milvus.proto.mil" + "vus.ListImportTasksResponse\"\000\022_\n\020CreateC" + "redential\022,.milvus.proto.milvus.CreateCr" + "edentialRequest\032\033.milvus.proto.common.St" + "atus\"\000\022_\n\020UpdateCredential\022,.milvus.prot" + "o.milvus.UpdateCredentialRequest\032\033.milvu" + "s.proto.common.Status\"\000\022_\n\020DeleteCredent" + "ial\022,.milvus.proto.milvus.DeleteCredenti" + "alRequest\032\033.milvus.proto.common.Status\"\000" + "\022h\n\rListCredUsers\022).milvus.proto.milvus." + "ListCredUsersRequest\032*.milvus.proto.milv" + "us.ListCredUsersResponse\"\0002u\n\014ProxyServi" + "ce\022e\n\014RegisterLink\022(.milvus.proto.milvus" + ".RegisterLinkRequest\032).milvus.proto.milv" + "us.RegisterLinkResponse\"\000BW\n\016io.milvus.g" + "rpcB\013MilvusProtoP\001Z3github.com/milvus-io" + "/milvus/internal/proto/milvuspb\240\001\001b\006prot" + "o3" ; static const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable*const descriptor_table_milvus_2eproto_deps[2] = { &::descriptor_table_common_2eproto, @@ -3341,7 +3346,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", 17544, + &descriptor_table_milvus_2eproto_initialized, descriptor_table_protodef_milvus_2eproto, "milvus.proto", 17602, &descriptor_table_milvus_2eproto_once, descriptor_table_milvus_2eproto_sccs, descriptor_table_milvus_2eproto_deps, 92, 2, schemas, file_default_instances, TableStruct_milvus_2eproto::offsets, file_level_metadata_milvus_2eproto, 92, file_level_enum_descriptors_milvus_2eproto, file_level_service_descriptors_milvus_2eproto, @@ -37508,6 +37513,13 @@ const char* GetImportStateResponse::_InternalParse(const char* ptr, ::PROTOBUF_N } while (::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<::PROTOBUF_NAMESPACE_ID::uint8>(ptr) == 42); } else goto handle_unusual; continue; + // int64 id = 6; + case 6: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 48)) { + id_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr); + CHK_(ptr); + } else goto handle_unusual; + continue; default: { handle_unusual: if ((tag & 7) == 4 || tag == 0) { @@ -37603,6 +37615,19 @@ bool GetImportStateResponse::MergePartialFromCodedStream( break; } + // int64 id = 6; + case 6: { + if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (48 & 0xFF)) { + + DO_((::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadPrimitive< + ::PROTOBUF_NAMESPACE_ID::int64, ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_INT64>( + input, &id_))); + } else { + goto handle_unusual; + } + break; + } + default: { handle_unusual: if (tag == 0) { @@ -37667,6 +37692,11 @@ void GetImportStateResponse::SerializeWithCachedSizes( output); } + // int64 id = 6; + if (this->id() != 0) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64(6, this->id(), output); + } + if (_internal_metadata_.have_unknown_fields()) { ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SerializeUnknownFields( _internal_metadata_.unknown_fields(), output); @@ -37719,6 +37749,11 @@ void GetImportStateResponse::SerializeWithCachedSizes( 5, this->infos(static_cast(i)), target); } + // int64 id = 6; + if (this->id() != 0) { + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(6, this->id(), target); + } + if (_internal_metadata_.have_unknown_fields()) { target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SerializeUnknownFieldsToArray( _internal_metadata_.unknown_fields(), target); @@ -37780,6 +37815,13 @@ size_t GetImportStateResponse::ByteSizeLong() const { this->row_count()); } + // int64 id = 6; + if (this->id() != 0) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64Size( + this->id()); + } + // .milvus.proto.common.ImportState state = 2; if (this->state() != 0) { total_size += 1 + @@ -37821,6 +37863,9 @@ void GetImportStateResponse::MergeFrom(const GetImportStateResponse& from) { if (from.row_count() != 0) { set_row_count(from.row_count()); } + if (from.id() != 0) { + set_id(from.id()); + } if (from.state() != 0) { set_state(from.state()); } @@ -37851,6 +37896,7 @@ void GetImportStateResponse::InternalSwap(GetImportStateResponse* other) { CastToBase(&infos_)->InternalSwap(CastToBase(&other->infos_)); swap(status_, other->status_); swap(row_count_, other->row_count_); + swap(id_, other->id_); swap(state_, other->state_); } @@ -38149,14 +38195,16 @@ const char* ListImportTasksResponse::_InternalParse(const char* ptr, ::PROTOBUF_ CHK_(ptr); } else goto handle_unusual; continue; - // repeated int64 tasks = 2; + // repeated .milvus.proto.milvus.GetImportStateResponse tasks = 2; case 2: if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) { - ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt64Parser(mutable_tasks(), ptr, ctx); - CHK_(ptr); - } else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16) { - add_tasks(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr)); - CHK_(ptr); + ptr -= 1; + do { + ptr += 1; + ptr = ctx->ParseMessage(add_tasks(), ptr); + CHK_(ptr); + if (!ctx->DataAvailable(ptr)) break; + } while (::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<::PROTOBUF_NAMESPACE_ID::uint8>(ptr) == 18); } else goto handle_unusual; continue; default: { @@ -38200,16 +38248,11 @@ bool ListImportTasksResponse::MergePartialFromCodedStream( break; } - // repeated int64 tasks = 2; + // repeated .milvus.proto.milvus.GetImportStateResponse tasks = 2; case 2: { if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (18 & 0xFF)) { - DO_((::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadPackedPrimitive< - ::PROTOBUF_NAMESPACE_ID::int64, ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_INT64>( - input, this->mutable_tasks()))); - } else if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (16 & 0xFF)) { - DO_((::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadRepeatedPrimitiveNoInline< - ::PROTOBUF_NAMESPACE_ID::int64, ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_INT64>( - 1, 18u, input, this->mutable_tasks()))); + DO_(::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadMessage( + input, add_tasks())); } else { goto handle_unusual; } @@ -38249,15 +38292,13 @@ void ListImportTasksResponse::SerializeWithCachedSizes( 1, _Internal::status(this), output); } - // repeated int64 tasks = 2; - if (this->tasks_size() > 0) { - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteTag(2, ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED, output); - output->WriteVarint32(_tasks_cached_byte_size_.load( - std::memory_order_relaxed)); - } - for (int i = 0, n = this->tasks_size(); i < n; i++) { - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64NoTag( - this->tasks(i), output); + // repeated .milvus.proto.milvus.GetImportStateResponse tasks = 2; + for (unsigned int i = 0, + n = static_cast(this->tasks_size()); i < n; i++) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteMessageMaybeToArray( + 2, + this->tasks(static_cast(i)), + output); } if (_internal_metadata_.have_unknown_fields()) { @@ -38280,17 +38321,12 @@ void ListImportTasksResponse::SerializeWithCachedSizes( 1, _Internal::status(this), target); } - // repeated int64 tasks = 2; - if (this->tasks_size() > 0) { - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteTagToArray( - 2, - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED, - target); - target = ::PROTOBUF_NAMESPACE_ID::io::CodedOutputStream::WriteVarint32ToArray( - _tasks_cached_byte_size_.load(std::memory_order_relaxed), - target); + // repeated .milvus.proto.milvus.GetImportStateResponse tasks = 2; + for (unsigned int i = 0, + n = static_cast(this->tasks_size()); i < n; i++) { target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: - WriteInt64NoTagToArray(this->tasks_, target); + InternalWriteMessageToArray( + 2, this->tasks(static_cast(i)), target); } if (_internal_metadata_.have_unknown_fields()) { @@ -38314,19 +38350,15 @@ size_t ListImportTasksResponse::ByteSizeLong() const { // Prevent compiler warnings about cached_has_bits being unused (void) cached_has_bits; - // repeated int64 tasks = 2; + // repeated .milvus.proto.milvus.GetImportStateResponse tasks = 2; { - size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: - Int64Size(this->tasks_); - if (data_size > 0) { - total_size += 1 + - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size( - static_cast<::PROTOBUF_NAMESPACE_ID::int32>(data_size)); + unsigned int count = static_cast(this->tasks_size()); + total_size += 1UL * count; + for (unsigned int i = 0; i < count; i++) { + total_size += + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + this->tasks(static_cast(i))); } - int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size); - _tasks_cached_byte_size_.store(cached_size, - std::memory_order_relaxed); - total_size += data_size; } // .milvus.proto.common.Status status = 1; @@ -38390,7 +38422,7 @@ bool ListImportTasksResponse::IsInitialized() const { void ListImportTasksResponse::InternalSwap(ListImportTasksResponse* other) { using std::swap; _internal_metadata_.Swap(&other->_internal_metadata_); - tasks_.InternalSwap(&other->tasks_); + CastToBase(&tasks_)->InternalSwap(CastToBase(&other->tasks_)); swap(status_, other->status_); } diff --git a/internal/core/src/pb/milvus.pb.h b/internal/core/src/pb/milvus.pb.h index 28d40c4d99..edf73f1c6a 100644 --- a/internal/core/src/pb/milvus.pb.h +++ b/internal/core/src/pb/milvus.pb.h @@ -13840,6 +13840,7 @@ class GetImportStateResponse : kInfosFieldNumber = 5, kStatusFieldNumber = 1, kRowCountFieldNumber = 3, + kIdFieldNumber = 6, kStateFieldNumber = 2, }; // repeated int64 id_list = 4; @@ -13877,6 +13878,11 @@ class GetImportStateResponse : ::PROTOBUF_NAMESPACE_ID::int64 row_count() const; void set_row_count(::PROTOBUF_NAMESPACE_ID::int64 value); + // int64 id = 6; + void clear_id(); + ::PROTOBUF_NAMESPACE_ID::int64 id() const; + void set_id(::PROTOBUF_NAMESPACE_ID::int64 value); + // .milvus.proto.common.ImportState state = 2; void clear_state(); ::milvus::proto::common::ImportState state() const; @@ -13892,6 +13898,7 @@ class GetImportStateResponse : ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::milvus::proto::common::KeyValuePair > infos_; ::milvus::proto::common::Status* status_; ::PROTOBUF_NAMESPACE_ID::int64 row_count_; + ::PROTOBUF_NAMESPACE_ID::int64 id_; int state_; mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; friend struct ::TableStruct_milvus_2eproto; @@ -14136,16 +14143,16 @@ class ListImportTasksResponse : kTasksFieldNumber = 2, kStatusFieldNumber = 1, }; - // repeated int64 tasks = 2; + // repeated .milvus.proto.milvus.GetImportStateResponse tasks = 2; int tasks_size() const; void clear_tasks(); - ::PROTOBUF_NAMESPACE_ID::int64 tasks(int index) const; - void set_tasks(int index, ::PROTOBUF_NAMESPACE_ID::int64 value); - void add_tasks(::PROTOBUF_NAMESPACE_ID::int64 value); - const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >& - tasks() const; - ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >* + ::milvus::proto::milvus::GetImportStateResponse* mutable_tasks(int index); + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::milvus::proto::milvus::GetImportStateResponse >* mutable_tasks(); + const ::milvus::proto::milvus::GetImportStateResponse& tasks(int index) const; + ::milvus::proto::milvus::GetImportStateResponse* add_tasks(); + const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::milvus::proto::milvus::GetImportStateResponse >& + tasks() const; // .milvus.proto.common.Status status = 1; bool has_status() const; @@ -14160,8 +14167,7 @@ class ListImportTasksResponse : class _Internal; ::PROTOBUF_NAMESPACE_ID::internal::InternalMetadataWithArena _internal_metadata_; - ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > tasks_; - mutable std::atomic _tasks_cached_byte_size_; + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::milvus::proto::milvus::GetImportStateResponse > tasks_; ::milvus::proto::common::Status* status_; mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; friend struct ::TableStruct_milvus_2eproto; @@ -27688,6 +27694,20 @@ GetImportStateResponse::infos() const { return infos_; } +// int64 id = 6; +inline void GetImportStateResponse::clear_id() { + id_ = PROTOBUF_LONGLONG(0); +} +inline ::PROTOBUF_NAMESPACE_ID::int64 GetImportStateResponse::id() const { + // @@protoc_insertion_point(field_get:milvus.proto.milvus.GetImportStateResponse.id) + return id_; +} +inline void GetImportStateResponse::set_id(::PROTOBUF_NAMESPACE_ID::int64 value) { + + id_ = value; + // @@protoc_insertion_point(field_set:milvus.proto.milvus.GetImportStateResponse.id) +} + // ------------------------------------------------------------------- // ListImportTasksRequest @@ -27741,35 +27761,35 @@ inline void ListImportTasksResponse::set_allocated_status(::milvus::proto::commo // @@protoc_insertion_point(field_set_allocated:milvus.proto.milvus.ListImportTasksResponse.status) } -// repeated int64 tasks = 2; +// repeated .milvus.proto.milvus.GetImportStateResponse tasks = 2; inline int ListImportTasksResponse::tasks_size() const { return tasks_.size(); } inline void ListImportTasksResponse::clear_tasks() { tasks_.Clear(); } -inline ::PROTOBUF_NAMESPACE_ID::int64 ListImportTasksResponse::tasks(int index) const { - // @@protoc_insertion_point(field_get:milvus.proto.milvus.ListImportTasksResponse.tasks) - return tasks_.Get(index); +inline ::milvus::proto::milvus::GetImportStateResponse* ListImportTasksResponse::mutable_tasks(int index) { + // @@protoc_insertion_point(field_mutable:milvus.proto.milvus.ListImportTasksResponse.tasks) + return tasks_.Mutable(index); } -inline void ListImportTasksResponse::set_tasks(int index, ::PROTOBUF_NAMESPACE_ID::int64 value) { - tasks_.Set(index, value); - // @@protoc_insertion_point(field_set:milvus.proto.milvus.ListImportTasksResponse.tasks) -} -inline void ListImportTasksResponse::add_tasks(::PROTOBUF_NAMESPACE_ID::int64 value) { - tasks_.Add(value); - // @@protoc_insertion_point(field_add:milvus.proto.milvus.ListImportTasksResponse.tasks) -} -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >& -ListImportTasksResponse::tasks() const { - // @@protoc_insertion_point(field_list:milvus.proto.milvus.ListImportTasksResponse.tasks) - return tasks_; -} -inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >* +inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::milvus::proto::milvus::GetImportStateResponse >* ListImportTasksResponse::mutable_tasks() { // @@protoc_insertion_point(field_mutable_list:milvus.proto.milvus.ListImportTasksResponse.tasks) return &tasks_; } +inline const ::milvus::proto::milvus::GetImportStateResponse& ListImportTasksResponse::tasks(int index) const { + // @@protoc_insertion_point(field_get:milvus.proto.milvus.ListImportTasksResponse.tasks) + return tasks_.Get(index); +} +inline ::milvus::proto::milvus::GetImportStateResponse* ListImportTasksResponse::add_tasks() { + // @@protoc_insertion_point(field_add:milvus.proto.milvus.ListImportTasksResponse.tasks) + return tasks_.Add(); +} +inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::milvus::proto::milvus::GetImportStateResponse >& +ListImportTasksResponse::tasks() const { + // @@protoc_insertion_point(field_list:milvus.proto.milvus.ListImportTasksResponse.tasks) + return tasks_; +} // ------------------------------------------------------------------- diff --git a/internal/proto/milvus.proto b/internal/proto/milvus.proto index 03e84abef4..63cc4b576d 100644 --- a/internal/proto/milvus.proto +++ b/internal/proto/milvus.proto @@ -831,6 +831,7 @@ message GetImportStateResponse { int64 row_count = 3; // if the task is finished, this value is how many rows are imported. if the task is not finished, this value is how many rows are parsed. return 0 if failed. repeated int64 id_list = 4; // auto generated ids if the primary key is autoid repeated common.KeyValuePair infos = 5; // more informations about the task, progress percent, file path, failed reason, etc. + int64 id = 6; // id of an import task } message ListImportTasksRequest { @@ -838,7 +839,7 @@ message ListImportTasksRequest { message ListImportTasksResponse { common.Status status = 1; - repeated int64 tasks = 2; // id list of all import tasks + repeated GetImportStateResponse tasks = 2; // list of all import tasks } message GetReplicasRequest { diff --git a/internal/proto/milvuspb/milvus.pb.go b/internal/proto/milvuspb/milvus.pb.go index 1057ee3769..512d76746a 100644 --- a/internal/proto/milvuspb/milvus.pb.go +++ b/internal/proto/milvuspb/milvus.pb.go @@ -5151,6 +5151,7 @@ type GetImportStateResponse struct { RowCount int64 `protobuf:"varint,3,opt,name=row_count,json=rowCount,proto3" json:"row_count,omitempty"` IdList []int64 `protobuf:"varint,4,rep,packed,name=id_list,json=idList,proto3" json:"id_list,omitempty"` Infos []*commonpb.KeyValuePair `protobuf:"bytes,5,rep,name=infos,proto3" json:"infos,omitempty"` + Id int64 `protobuf:"varint,6,opt,name=id,proto3" json:"id,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -5216,6 +5217,13 @@ func (m *GetImportStateResponse) GetInfos() []*commonpb.KeyValuePair { return nil } +func (m *GetImportStateResponse) GetId() int64 { + if m != nil { + return m.Id + } + return 0 +} + type ListImportTasksRequest struct { XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` @@ -5248,11 +5256,11 @@ func (m *ListImportTasksRequest) XXX_DiscardUnknown() { var xxx_messageInfo_ListImportTasksRequest proto.InternalMessageInfo type ListImportTasksResponse struct { - Status *commonpb.Status `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"` - Tasks []int64 `protobuf:"varint,2,rep,packed,name=tasks,proto3" json:"tasks,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + Status *commonpb.Status `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"` + Tasks []*GetImportStateResponse `protobuf:"bytes,2,rep,name=tasks,proto3" json:"tasks,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *ListImportTasksResponse) Reset() { *m = ListImportTasksResponse{} } @@ -5287,7 +5295,7 @@ func (m *ListImportTasksResponse) GetStatus() *commonpb.Status { return nil } -func (m *ListImportTasksResponse) GetTasks() []int64 { +func (m *ListImportTasksResponse) GetTasks() []*GetImportStateResponse { if m != nil { return m.Tasks } @@ -5931,276 +5939,277 @@ func init() { func init() { proto.RegisterFile("milvus.proto", fileDescriptor_02345ba45cc0e303) } var fileDescriptor_02345ba45cc0e303 = []byte{ - // 4292 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xd4, 0x3c, 0x4d, 0x8f, 0x1b, 0x47, - 0x76, 0xd3, 0xe4, 0xf0, 0xeb, 0x91, 0x9c, 0xa1, 0x6a, 0xbe, 0x68, 0x4a, 0xb2, 0x46, 0x6d, 0xcb, - 0x1e, 0x4b, 0x6b, 0x69, 0x3d, 0xf2, 0xda, 0x1b, 0x7b, 0x13, 0xaf, 0xa4, 0x89, 0xa5, 0x81, 0x25, - 0x65, 0xb6, 0xc7, 0xde, 0xc5, 0xc6, 0x10, 0x88, 0x9a, 0xee, 0x1a, 0x4e, 0x47, 0xcd, 0x6e, 0x6e, - 0x57, 0x51, 0xa3, 0xf1, 0x69, 0x81, 0x0d, 0xf2, 0x81, 0x75, 0xbc, 0x08, 0xb2, 0x48, 0xb2, 0x87, - 0x04, 0x41, 0x3e, 0x80, 0xe4, 0x90, 0x20, 0xbb, 0x01, 0x92, 0x20, 0x97, 0xe4, 0x90, 0x43, 0x0e, - 0x01, 0xf2, 0x71, 0x09, 0x82, 0xbd, 0xe4, 0x0f, 0xe4, 0x10, 0x20, 0xc7, 0x1c, 0x82, 0xfa, 0xe8, - 0x66, 0x77, 0xb3, 0x9a, 0xc3, 0x11, 0x2d, 0x6b, 0x74, 0x63, 0xbf, 0x7a, 0xaf, 0xea, 0xd5, 0xab, - 0x57, 0xaf, 0x5e, 0xbd, 0xf7, 0x8a, 0xd0, 0xe8, 0xbb, 0xde, 0xa3, 0x21, 0xbd, 0x3a, 0x08, 0x03, - 0x16, 0xa0, 0xa5, 0xe4, 0xd7, 0x55, 0xf9, 0xd1, 0x69, 0xd8, 0x41, 0xbf, 0x1f, 0xf8, 0x12, 0xd8, - 0x69, 0x50, 0xfb, 0x80, 0xf4, 0xb1, 0xfc, 0x32, 0x7f, 0xdf, 0x00, 0x74, 0x2b, 0x24, 0x98, 0x91, - 0x1b, 0x9e, 0x8b, 0xa9, 0x45, 0xbe, 0x33, 0x24, 0x94, 0xa1, 0x2f, 0xc3, 0xfc, 0x1e, 0xa6, 0xa4, - 0x6d, 0xac, 0x1b, 0x1b, 0xf5, 0xcd, 0x73, 0x57, 0x53, 0xdd, 0xaa, 0xee, 0xee, 0xd1, 0xde, 0x4d, - 0x4c, 0x89, 0x25, 0x30, 0xd1, 0x1a, 0x54, 0x9c, 0xbd, 0xae, 0x8f, 0xfb, 0xa4, 0x5d, 0x58, 0x37, - 0x36, 0x6a, 0x56, 0xd9, 0xd9, 0xbb, 0x8f, 0xfb, 0x04, 0xbd, 0x0a, 0x8b, 0x76, 0xe0, 0x79, 0xc4, - 0x66, 0x6e, 0xe0, 0x4b, 0x84, 0xa2, 0x40, 0x58, 0x18, 0x81, 0x05, 0xe2, 0x32, 0x94, 0x30, 0xe7, - 0xa1, 0x3d, 0x2f, 0x9a, 0xe5, 0x87, 0x49, 0xa1, 0xb5, 0x15, 0x06, 0x83, 0xa7, 0xc5, 0x5d, 0x3c, - 0x68, 0x31, 0x39, 0xe8, 0xef, 0x19, 0x70, 0xe6, 0x86, 0xc7, 0x48, 0x78, 0x4a, 0x85, 0xf2, 0xbb, - 0x05, 0x58, 0x93, 0xab, 0x76, 0x2b, 0x46, 0x7f, 0x96, 0x5c, 0xae, 0x42, 0x59, 0x6a, 0x95, 0x60, - 0xb3, 0x61, 0xa9, 0x2f, 0x74, 0x1e, 0x80, 0x1e, 0xe0, 0xd0, 0xa1, 0x5d, 0x7f, 0xd8, 0x6f, 0x97, - 0xd6, 0x8d, 0x8d, 0x92, 0x55, 0x93, 0x90, 0xfb, 0xc3, 0x3e, 0xb2, 0xe0, 0x8c, 0x1d, 0xf8, 0xd4, - 0xa5, 0x8c, 0xf8, 0xf6, 0x51, 0xd7, 0x23, 0x8f, 0x88, 0xd7, 0x2e, 0xaf, 0x1b, 0x1b, 0x0b, 0x9b, - 0x97, 0xb4, 0x7c, 0xdf, 0x1a, 0x61, 0xdf, 0xe5, 0xc8, 0x56, 0xcb, 0xce, 0x40, 0xcc, 0xef, 0x1b, - 0xb0, 0xc2, 0x15, 0xe6, 0x54, 0x08, 0xc6, 0xfc, 0x33, 0x03, 0x96, 0xef, 0x60, 0x7a, 0x3a, 0x56, - 0xe9, 0x3c, 0x00, 0x73, 0xfb, 0xa4, 0x4b, 0x19, 0xee, 0x0f, 0xc4, 0x4a, 0xcd, 0x5b, 0x35, 0x0e, - 0xd9, 0xe5, 0x00, 0xf3, 0xdb, 0xd0, 0xb8, 0x19, 0x04, 0x9e, 0x45, 0xe8, 0x20, 0xf0, 0x29, 0x41, - 0xd7, 0xa1, 0x4c, 0x19, 0x66, 0x43, 0xaa, 0x98, 0x3c, 0xab, 0x65, 0x72, 0x57, 0xa0, 0x58, 0x0a, - 0x95, 0xeb, 0xeb, 0x23, 0xec, 0x0d, 0x25, 0x8f, 0x55, 0x4b, 0x7e, 0x98, 0x1f, 0xc3, 0xc2, 0x2e, - 0x0b, 0x5d, 0xbf, 0xf7, 0x39, 0x76, 0x5e, 0x8b, 0x3a, 0xff, 0x77, 0x03, 0x5e, 0xd8, 0x22, 0xd4, - 0x0e, 0xdd, 0xbd, 0x53, 0xb2, 0x1d, 0x4c, 0x68, 0x8c, 0x20, 0xdb, 0x5b, 0x42, 0xd4, 0x45, 0x2b, - 0x05, 0xcb, 0x2c, 0x46, 0x29, 0xbb, 0x18, 0xdf, 0x2d, 0x41, 0x47, 0x37, 0xa9, 0x59, 0xc4, 0xf7, - 0xb3, 0xf1, 0x2e, 0x2d, 0x08, 0xa2, 0xcc, 0x1e, 0x53, 0xe7, 0xc2, 0x68, 0xb4, 0x5d, 0x01, 0x88, - 0x37, 0x73, 0x76, 0x56, 0x45, 0xcd, 0xac, 0x36, 0x61, 0xe5, 0x91, 0x1b, 0xb2, 0x21, 0xf6, 0xba, - 0xf6, 0x01, 0xf6, 0x7d, 0xe2, 0x09, 0x39, 0x71, 0xf3, 0x55, 0xdc, 0xa8, 0x59, 0x4b, 0xaa, 0xf1, - 0x96, 0x6c, 0xe3, 0xc2, 0xa2, 0xe8, 0x4d, 0x58, 0x1d, 0x1c, 0x1c, 0x51, 0xd7, 0x1e, 0x23, 0x2a, - 0x09, 0xa2, 0xe5, 0xa8, 0x35, 0x45, 0x75, 0x05, 0xce, 0xd8, 0xc2, 0x02, 0x3a, 0x5d, 0x2e, 0x35, - 0x29, 0xc6, 0xb2, 0x10, 0x63, 0x4b, 0x35, 0x7c, 0x18, 0xc1, 0x39, 0x5b, 0x11, 0xf2, 0x90, 0xd9, - 0x09, 0x82, 0x8a, 0x20, 0x58, 0x52, 0x8d, 0x1f, 0x31, 0x7b, 0x44, 0x93, 0xb6, 0x5d, 0xd5, 0xac, - 0xed, 0x6a, 0x43, 0x45, 0xd8, 0x62, 0x42, 0xdb, 0x35, 0xc1, 0x66, 0xf4, 0x89, 0xb6, 0x61, 0x91, - 0x32, 0x1c, 0xb2, 0xee, 0x20, 0xa0, 0x2e, 0x97, 0x0b, 0x6d, 0xc3, 0x7a, 0x71, 0xa3, 0xbe, 0xb9, - 0xae, 0x5d, 0xa4, 0x0f, 0xc8, 0xd1, 0x16, 0x66, 0x78, 0x07, 0xbb, 0xa1, 0xb5, 0x20, 0x08, 0x77, - 0x22, 0x3a, 0xbd, 0x81, 0xac, 0xcf, 0x64, 0x20, 0x75, 0x5a, 0xdc, 0xd0, 0xda, 0xae, 0x9f, 0x18, - 0xb0, 0x72, 0x37, 0xc0, 0xce, 0xe9, 0xd8, 0x53, 0x97, 0x60, 0x21, 0x24, 0x03, 0xcf, 0xb5, 0x31, - 0x5f, 0x8f, 0x3d, 0x12, 0x8a, 0x5d, 0x55, 0xb2, 0x9a, 0x0a, 0x7a, 0x5f, 0x00, 0xcd, 0xcf, 0x0c, - 0x68, 0x5b, 0xc4, 0x23, 0x98, 0x9e, 0x0e, 0x5b, 0x60, 0xfe, 0xd0, 0x80, 0x17, 0x6f, 0x13, 0x96, - 0xd8, 0x55, 0x0c, 0x33, 0x97, 0x32, 0xd7, 0x7e, 0x96, 0x7e, 0x85, 0xf9, 0x03, 0x03, 0x2e, 0xe4, - 0xb2, 0x35, 0x8b, 0x91, 0x79, 0x1b, 0x4a, 0xfc, 0x17, 0x6d, 0x17, 0x84, 0xce, 0x5f, 0xcc, 0xd3, - 0xf9, 0x6f, 0x72, 0xdb, 0x2d, 0x94, 0x5e, 0xe2, 0x9b, 0xff, 0x65, 0xc0, 0xea, 0xee, 0x41, 0x70, - 0x38, 0x62, 0xe9, 0x69, 0x08, 0x28, 0x6d, 0x76, 0x8b, 0x19, 0xb3, 0x8b, 0xde, 0x80, 0x79, 0x76, - 0x34, 0x20, 0x42, 0xb7, 0x16, 0x36, 0xcf, 0x5f, 0xd5, 0xb8, 0xd3, 0x57, 0x39, 0x93, 0x1f, 0x1e, - 0x0d, 0x88, 0x25, 0x50, 0xd1, 0x6b, 0xd0, 0xca, 0x88, 0x3c, 0x32, 0x5c, 0x8b, 0x69, 0x99, 0x53, - 0xf3, 0x6f, 0x0b, 0xb0, 0x36, 0x36, 0xc5, 0x59, 0x84, 0xad, 0x1b, 0xbb, 0xa0, 0x1d, 0x9b, 0xef, - 0x9f, 0x04, 0xaa, 0xeb, 0x70, 0x8f, 0xb7, 0xb8, 0x51, 0xb4, 0x9a, 0x09, 0xfb, 0xed, 0x50, 0xf4, - 0x3a, 0xa0, 0x31, 0xb3, 0x2a, 0xad, 0xf7, 0xbc, 0x75, 0x26, 0x6b, 0x57, 0x85, 0xed, 0xd6, 0x1a, - 0x56, 0x29, 0x82, 0x79, 0x6b, 0x59, 0x63, 0x59, 0x29, 0x7a, 0x03, 0x96, 0x5d, 0xff, 0x1e, 0xe9, - 0x07, 0xe1, 0x51, 0x77, 0x40, 0x42, 0x9b, 0xf8, 0x0c, 0xf7, 0x08, 0x6d, 0x97, 0x05, 0x47, 0x4b, - 0x51, 0xdb, 0xce, 0xa8, 0xc9, 0xfc, 0x2b, 0x03, 0x56, 0xa5, 0xc7, 0xbb, 0x83, 0x43, 0xe6, 0x9e, - 0x02, 0x6b, 0x34, 0x88, 0xf8, 0x90, 0x78, 0xd2, 0x3f, 0x6f, 0xc6, 0x50, 0xb1, 0xcb, 0x7e, 0x6c, - 0xc0, 0x32, 0x77, 0x46, 0x9f, 0x27, 0x9e, 0xff, 0xd2, 0x80, 0xa5, 0x3b, 0x98, 0x3e, 0x4f, 0x2c, - 0xff, 0x54, 0x9d, 0x54, 0x31, 0xcf, 0xcf, 0xf4, 0xca, 0xf6, 0x2a, 0x2c, 0xa6, 0x99, 0x8e, 0xbc, - 0x9f, 0x85, 0x14, 0xd7, 0x54, 0x73, 0xa4, 0x95, 0x74, 0x47, 0xda, 0xdf, 0x8c, 0x8e, 0xb4, 0xe7, - 0x6b, 0x82, 0xe6, 0xdf, 0x19, 0x70, 0xfe, 0x36, 0x61, 0x31, 0xd7, 0xa7, 0xe2, 0xe8, 0x9b, 0x56, - 0xa9, 0x3e, 0x93, 0x07, 0xb7, 0x96, 0xf9, 0x67, 0x72, 0x40, 0x7e, 0xbf, 0x00, 0x2b, 0xfc, 0xf4, - 0x38, 0x1d, 0x4a, 0x30, 0xcd, 0x1d, 0x47, 0xa3, 0x28, 0x25, 0xed, 0x4e, 0x88, 0x8e, 0xdd, 0xf2, - 0xd4, 0xc7, 0xae, 0xf9, 0x93, 0x82, 0x74, 0x17, 0x92, 0xd2, 0x98, 0x65, 0x59, 0x34, 0xbc, 0x16, - 0xb4, 0xbc, 0x9a, 0xd0, 0x88, 0x21, 0xdb, 0x5b, 0xd1, 0x31, 0x9a, 0x82, 0x9d, 0xda, 0x53, 0xf4, - 0x53, 0x03, 0x56, 0xa3, 0x5b, 0xe5, 0x2e, 0xe9, 0xf5, 0x89, 0xcf, 0x9e, 0x5c, 0x87, 0xb2, 0x1a, - 0x50, 0xd0, 0x68, 0xc0, 0x39, 0xa8, 0x51, 0x39, 0x4e, 0x7c, 0x61, 0x1c, 0x01, 0xcc, 0xbf, 0x37, - 0x60, 0x6d, 0x8c, 0x9d, 0x59, 0x16, 0xb1, 0x0d, 0x15, 0xd7, 0x77, 0xc8, 0xe3, 0x98, 0x9b, 0xe8, - 0x93, 0xb7, 0xec, 0x0d, 0x5d, 0xcf, 0x89, 0xd9, 0x88, 0x3e, 0xd1, 0x45, 0x68, 0x10, 0x1f, 0xef, - 0x79, 0xa4, 0x2b, 0x70, 0x85, 0x22, 0x57, 0xad, 0xba, 0x84, 0x6d, 0x73, 0x10, 0x27, 0xde, 0x77, - 0x89, 0x20, 0x2e, 0x49, 0x62, 0xf5, 0x69, 0xfe, 0x86, 0x01, 0x4b, 0x5c, 0x0b, 0x15, 0xf7, 0xf4, - 0xe9, 0x4a, 0x73, 0x1d, 0xea, 0x09, 0x35, 0x53, 0x13, 0x49, 0x82, 0xcc, 0x87, 0xb0, 0x9c, 0x66, - 0x67, 0x16, 0x69, 0xbe, 0x08, 0x10, 0xaf, 0x95, 0xdc, 0x0d, 0x45, 0x2b, 0x01, 0x31, 0x3f, 0x2d, - 0x44, 0xb1, 0x63, 0x21, 0xa6, 0x67, 0x1c, 0xda, 0x12, 0x4b, 0x92, 0xb4, 0xe7, 0x35, 0x01, 0x11, - 0xcd, 0x5b, 0xd0, 0x20, 0x8f, 0x59, 0x88, 0xbb, 0x03, 0x1c, 0xe2, 0xbe, 0xdc, 0x56, 0x53, 0x99, - 0xde, 0xba, 0x20, 0xdb, 0x11, 0x54, 0x7c, 0x10, 0xa1, 0x22, 0x72, 0x90, 0xb2, 0x1c, 0x44, 0x40, - 0xc4, 0x81, 0xf1, 0x4f, 0xdc, 0xd9, 0x53, 0xda, 0x7c, 0xda, 0x05, 0x92, 0x9e, 0x4a, 0x29, 0x3b, - 0x95, 0x3f, 0x31, 0xa0, 0x25, 0xa6, 0x20, 0xe7, 0x33, 0xe0, 0xdd, 0x66, 0x68, 0x8c, 0x0c, 0xcd, - 0x84, 0xbd, 0xf7, 0x33, 0x50, 0x56, 0x72, 0x2f, 0x4e, 0x2b, 0x77, 0x45, 0x70, 0xcc, 0x34, 0xcc, - 0x3f, 0x34, 0x60, 0x25, 0x23, 0xf2, 0x59, 0x14, 0xfe, 0x43, 0x40, 0x72, 0x86, 0xce, 0x68, 0xda, - 0xd1, 0x39, 0x7d, 0x49, 0x7b, 0x28, 0x65, 0x85, 0x64, 0x9d, 0x71, 0x33, 0x10, 0x6a, 0xfe, 0xab, - 0x01, 0xe7, 0x6e, 0x13, 0x26, 0x50, 0x6f, 0x72, 0xa3, 0xb3, 0x13, 0x06, 0xbd, 0x90, 0x50, 0xfa, - 0xfc, 0xea, 0xc7, 0x6f, 0x4b, 0xc7, 0x4e, 0x37, 0xa5, 0x59, 0xe4, 0x7f, 0x11, 0x1a, 0x62, 0x0c, - 0xe2, 0x74, 0xc3, 0xe0, 0x90, 0x2a, 0x3d, 0xaa, 0x2b, 0x98, 0x15, 0x1c, 0x0a, 0x85, 0x60, 0x01, - 0xc3, 0x9e, 0x44, 0x50, 0x27, 0x8a, 0x80, 0xf0, 0x66, 0xb1, 0x07, 0x23, 0xc6, 0x78, 0xe7, 0xe4, - 0xf9, 0x95, 0xf1, 0x1f, 0x1b, 0xb0, 0x92, 0x99, 0xca, 0x2c, 0xb2, 0xfd, 0x8a, 0x74, 0x3b, 0xe5, - 0x64, 0x16, 0x36, 0x2f, 0x68, 0x69, 0x12, 0x83, 0x49, 0x6c, 0x74, 0x01, 0xea, 0xfb, 0xd8, 0xf5, - 0xba, 0x21, 0xc1, 0x34, 0xf0, 0xd5, 0x44, 0x81, 0x83, 0x2c, 0x01, 0x31, 0xff, 0xd1, 0x90, 0x09, - 0xba, 0xe7, 0xdc, 0xe2, 0xfd, 0x51, 0x01, 0x9a, 0xdb, 0x3e, 0x25, 0x21, 0x3b, 0xfd, 0x57, 0x13, - 0xf4, 0x1e, 0xd4, 0xc5, 0xc4, 0x68, 0xd7, 0xc1, 0x0c, 0xab, 0xd3, 0xec, 0x45, 0x6d, 0x34, 0xff, - 0x7d, 0x8e, 0xb7, 0x85, 0x19, 0xb6, 0xa4, 0x74, 0x28, 0xff, 0x8d, 0xce, 0x42, 0xed, 0x00, 0xd3, - 0x83, 0xee, 0x43, 0x72, 0x24, 0xfd, 0xc5, 0xa6, 0x55, 0xe5, 0x80, 0x0f, 0xc8, 0x11, 0x45, 0x2f, - 0x40, 0xd5, 0x1f, 0xf6, 0xe5, 0x06, 0xab, 0xac, 0x1b, 0x1b, 0x4d, 0xab, 0xe2, 0x0f, 0xfb, 0x62, - 0x7b, 0xfd, 0x73, 0x01, 0x16, 0xee, 0x0d, 0xf9, 0x45, 0x48, 0xe4, 0x22, 0x86, 0x1e, 0x7b, 0x32, - 0x65, 0xbc, 0x0c, 0x45, 0xe9, 0x52, 0x70, 0x8a, 0xb6, 0x96, 0xf1, 0xed, 0x2d, 0x6a, 0x71, 0x24, - 0x11, 0x87, 0x1f, 0xda, 0xb6, 0xf2, 0xce, 0x8a, 0x82, 0xd9, 0x1a, 0x87, 0x48, 0xdf, 0xec, 0x2c, - 0xd4, 0x48, 0x18, 0xc6, 0xbe, 0x9b, 0x98, 0x0a, 0x09, 0x43, 0xd9, 0x68, 0x42, 0x03, 0xdb, 0x0f, - 0xfd, 0xe0, 0xd0, 0x23, 0x4e, 0x8f, 0x38, 0x62, 0xd9, 0xab, 0x56, 0x0a, 0x26, 0x15, 0x83, 0x2f, - 0x7c, 0xd7, 0xf6, 0x99, 0x38, 0xd5, 0x8b, 0x5c, 0x31, 0x38, 0xe4, 0x96, 0xcf, 0x78, 0xb3, 0x43, - 0x3c, 0xc2, 0x88, 0x68, 0xae, 0xc8, 0x66, 0x09, 0x51, 0xcd, 0xc3, 0x41, 0x4c, 0x5d, 0x95, 0xcd, - 0x12, 0xc2, 0x9b, 0xcf, 0x41, 0x6d, 0x94, 0x6c, 0xa8, 0x8d, 0xa2, 0x8d, 0x02, 0x60, 0xfe, 0xd4, - 0x80, 0xe6, 0x96, 0xe8, 0xea, 0x39, 0x50, 0x3a, 0x04, 0xf3, 0xe4, 0xf1, 0x20, 0x54, 0x5b, 0x47, - 0xfc, 0x9e, 0xa8, 0x47, 0xe6, 0x23, 0x68, 0xed, 0x78, 0xd8, 0x26, 0x07, 0x81, 0xe7, 0x90, 0x50, - 0x9c, 0xed, 0xa8, 0x05, 0x45, 0x86, 0x7b, 0xca, 0x79, 0xe0, 0x3f, 0xd1, 0x57, 0xd5, 0xd5, 0x4f, - 0x9a, 0xa5, 0x97, 0xb5, 0xa7, 0x6c, 0xa2, 0x9b, 0x44, 0xe0, 0x75, 0x15, 0xca, 0x22, 0x01, 0x28, - 0xdd, 0x8a, 0x86, 0xa5, 0xbe, 0xcc, 0x07, 0xa9, 0x71, 0x6f, 0x87, 0xc1, 0x70, 0x80, 0xb6, 0xa1, - 0x31, 0x18, 0xc1, 0xb8, 0xae, 0xe6, 0x9f, 0xe9, 0x59, 0xa6, 0xad, 0x14, 0xa9, 0xf9, 0xdf, 0x45, - 0x68, 0xee, 0x12, 0x1c, 0xda, 0x07, 0xcf, 0x45, 0x90, 0xa9, 0x05, 0x45, 0x87, 0x7a, 0x6a, 0xd5, - 0xf8, 0x4f, 0x74, 0x05, 0xce, 0x24, 0x26, 0xd4, 0xed, 0x71, 0x01, 0x09, 0xbd, 0x6f, 0x58, 0xad, - 0x41, 0x56, 0x70, 0x6f, 0x43, 0xd5, 0xa1, 0x5e, 0x57, 0x2c, 0x51, 0x45, 0x2c, 0x91, 0x7e, 0x7e, - 0x5b, 0xd4, 0x13, 0x4b, 0x53, 0x71, 0xe4, 0x0f, 0xf4, 0x12, 0x34, 0x83, 0x21, 0x1b, 0x0c, 0x59, - 0x57, 0xda, 0x9d, 0x76, 0x55, 0xb0, 0xd7, 0x90, 0x40, 0x61, 0x96, 0x28, 0x7a, 0x1f, 0x9a, 0x54, - 0x88, 0x32, 0x72, 0xcc, 0x6b, 0xd3, 0x3a, 0x88, 0x0d, 0x49, 0xa7, 0x3c, 0xf3, 0xd7, 0xa0, 0xc5, - 0x42, 0xfc, 0x88, 0x78, 0x89, 0xd4, 0x1e, 0x88, 0xdd, 0xb6, 0x28, 0xe1, 0xa3, 0xb4, 0xde, 0x35, - 0x58, 0xea, 0x0d, 0x71, 0x88, 0x7d, 0x46, 0x48, 0x02, 0xbb, 0x2e, 0xb0, 0x51, 0xdc, 0x14, 0x13, - 0x98, 0x1f, 0xc0, 0xfc, 0x1d, 0x97, 0x09, 0x41, 0x72, 0x9b, 0x65, 0x88, 0x6b, 0x90, 0xb0, 0x4c, - 0x2f, 0x40, 0x35, 0x0c, 0x0e, 0xa5, 0x0d, 0x2e, 0x08, 0x15, 0xac, 0x84, 0xc1, 0xa1, 0x30, 0xb0, - 0xa2, 0x20, 0x22, 0x08, 0x95, 0x6e, 0x16, 0x2c, 0xf5, 0x65, 0xfe, 0x85, 0x31, 0x52, 0x1e, 0x6e, - 0x3e, 0xe9, 0x93, 0xd9, 0xcf, 0xf7, 0xa0, 0x12, 0x4a, 0xfa, 0x89, 0xa9, 0xdc, 0xe4, 0x48, 0xe2, - 0x0c, 0x88, 0xa8, 0xa6, 0xcf, 0x13, 0xfd, 0xb2, 0x01, 0x8d, 0xf7, 0xbd, 0x21, 0x7d, 0x1a, 0xca, - 0xae, 0xcb, 0x5e, 0x14, 0xf5, 0x99, 0x93, 0xdf, 0x2c, 0x40, 0x53, 0xb1, 0x31, 0x8b, 0x13, 0x94, - 0xcb, 0xca, 0x2e, 0xd4, 0xf9, 0x90, 0x5d, 0x4a, 0x7a, 0x51, 0x4c, 0xa7, 0xbe, 0xb9, 0xa9, 0x35, - 0x0f, 0x29, 0x36, 0x44, 0xb6, 0x7c, 0x57, 0x10, 0xfd, 0xbc, 0xcf, 0xc2, 0x23, 0x0b, 0xec, 0x18, - 0xd0, 0x79, 0x00, 0x8b, 0x99, 0x66, 0xae, 0x44, 0x0f, 0xc9, 0x51, 0x64, 0xff, 0x1e, 0x92, 0x23, - 0xf4, 0x66, 0xb2, 0xa6, 0x21, 0xef, 0x14, 0xbf, 0x1b, 0xf8, 0xbd, 0x1b, 0x61, 0x88, 0x8f, 0x54, - 0xcd, 0xc3, 0x3b, 0x85, 0xaf, 0x1a, 0xe6, 0x3f, 0x14, 0xa0, 0xf1, 0x8d, 0x21, 0x09, 0x8f, 0x9e, - 0xa5, 0x1d, 0x8a, 0x4e, 0x85, 0xf9, 0xc4, 0xa9, 0x30, 0xb6, 0xf5, 0x4b, 0x9a, 0xad, 0xaf, 0x31, - 0x60, 0x65, 0xad, 0x01, 0xd3, 0xed, 0xed, 0xca, 0x89, 0xf6, 0x76, 0x35, 0x77, 0x6f, 0xff, 0xb9, - 0x11, 0x8b, 0x70, 0xa6, 0xdd, 0x98, 0x72, 0xc7, 0x0a, 0x27, 0x76, 0xc7, 0xa6, 0xde, 0x8d, 0x3f, - 0x36, 0xa0, 0xf6, 0x4d, 0x62, 0xb3, 0x20, 0xe4, 0xf6, 0x47, 0x43, 0x66, 0x4c, 0xe1, 0x1a, 0x17, - 0xb2, 0xae, 0xf1, 0x75, 0xa8, 0xba, 0x4e, 0x17, 0x73, 0xfd, 0x12, 0xe3, 0x4e, 0x72, 0xc9, 0x2a, - 0xae, 0x23, 0x14, 0x71, 0xfa, 0x24, 0xc0, 0xef, 0x18, 0xd0, 0x90, 0x3c, 0x53, 0x49, 0xf9, 0x6e, - 0x62, 0x38, 0x43, 0xa7, 0xf4, 0xea, 0x23, 0x9e, 0xe8, 0x9d, 0xb9, 0xd1, 0xb0, 0x37, 0x00, 0xb8, - 0x90, 0x15, 0xb9, 0xdc, 0x33, 0xeb, 0x5a, 0x6e, 0x25, 0xb9, 0x10, 0xf8, 0x9d, 0x39, 0xab, 0xc6, - 0xa9, 0x44, 0x17, 0x37, 0x2b, 0x50, 0x12, 0xd4, 0xe6, 0xff, 0x19, 0xb0, 0x74, 0x0b, 0x7b, 0xf6, - 0x96, 0x4b, 0x19, 0xf6, 0xed, 0x19, 0x9c, 0xb0, 0x77, 0xa0, 0x12, 0x0c, 0xba, 0x1e, 0xd9, 0x67, - 0x8a, 0xa5, 0x8b, 0x13, 0x66, 0x24, 0xc5, 0x60, 0x95, 0x83, 0xc1, 0x5d, 0xb2, 0xcf, 0xd0, 0xd7, - 0xa0, 0x1a, 0x0c, 0xba, 0xa1, 0xdb, 0x3b, 0x60, 0x4a, 0xfa, 0x53, 0x10, 0x57, 0x82, 0x81, 0xc5, - 0x29, 0x12, 0xb1, 0x95, 0xf9, 0x13, 0xc6, 0x56, 0xcc, 0x7f, 0x1b, 0x9b, 0xfe, 0x0c, 0x7b, 0xe0, - 0x1d, 0xa8, 0xba, 0x3e, 0xeb, 0x3a, 0x2e, 0x8d, 0x44, 0x70, 0x5e, 0xaf, 0x43, 0x3e, 0x13, 0x33, - 0x10, 0x6b, 0xea, 0x33, 0x3e, 0x36, 0xfa, 0x3a, 0xc0, 0xbe, 0x17, 0x60, 0x45, 0x2d, 0x65, 0x70, - 0x41, 0xbf, 0x7d, 0x38, 0x5a, 0x44, 0x5f, 0x13, 0x44, 0xbc, 0x87, 0xd1, 0x92, 0xfe, 0x8b, 0x01, - 0x2b, 0x3b, 0x24, 0x94, 0x15, 0x2f, 0x4c, 0x85, 0x41, 0xb7, 0xfd, 0xfd, 0x20, 0x1d, 0x89, 0x36, - 0x32, 0x91, 0xe8, 0xcf, 0x27, 0xfa, 0x9a, 0xba, 0x39, 0xc9, 0x7c, 0x48, 0x74, 0x73, 0x8a, 0xb2, - 0x3e, 0xf2, 0xe6, 0xb9, 0x90, 0xb3, 0x4c, 0x8a, 0xdf, 0xe4, 0x05, 0xdc, 0xfc, 0x2d, 0x59, 0xa8, - 0xa1, 0x9d, 0xd4, 0x93, 0x2b, 0xec, 0x2a, 0x28, 0x4b, 0x9f, 0xb1, 0xfb, 0xaf, 0x40, 0xc6, 0x76, - 0xe4, 0x18, 0xa2, 0x1f, 0x19, 0xb0, 0x9e, 0xcf, 0xd5, 0x2c, 0x47, 0xf4, 0xd7, 0xa1, 0xe4, 0xfa, - 0xfb, 0x41, 0x14, 0x76, 0xbb, 0xac, 0x77, 0xd1, 0xb5, 0xe3, 0x4a, 0x42, 0xf3, 0xaf, 0x0b, 0xd0, - 0x12, 0x46, 0xfd, 0x19, 0x2c, 0x7f, 0x9f, 0xf4, 0xbb, 0xd4, 0xfd, 0x84, 0x44, 0xcb, 0xdf, 0x27, - 0xfd, 0x5d, 0xf7, 0x13, 0x92, 0xd2, 0x8c, 0x52, 0x5a, 0x33, 0x26, 0x47, 0x95, 0x93, 0x61, 0xd5, - 0x4a, 0x3a, 0xac, 0xba, 0x0a, 0x65, 0x3f, 0x70, 0xc8, 0xf6, 0x96, 0xba, 0x76, 0xaa, 0xaf, 0x91, - 0xaa, 0xd5, 0x4e, 0xa8, 0x6a, 0x9f, 0x19, 0xd0, 0xb9, 0x4d, 0x58, 0x56, 0x76, 0xcf, 0x4e, 0xcb, - 0x7e, 0x60, 0xc0, 0x59, 0x2d, 0x43, 0xb3, 0x28, 0xd8, 0xbb, 0x69, 0x05, 0xd3, 0xdf, 0x01, 0xc7, - 0x86, 0x54, 0xba, 0xf5, 0x06, 0x34, 0xb6, 0x86, 0xfd, 0x7e, 0xec, 0x72, 0x5d, 0x84, 0x46, 0x28, - 0x7f, 0xca, 0x2b, 0x92, 0x3c, 0x7f, 0xeb, 0x0a, 0xc6, 0x2f, 0x42, 0xe6, 0x15, 0x68, 0x2a, 0x12, - 0xc5, 0x75, 0x07, 0xaa, 0xa1, 0xfa, 0xad, 0xf0, 0xe3, 0x6f, 0x73, 0x05, 0x96, 0x2c, 0xd2, 0xe3, - 0xaa, 0x1d, 0xde, 0x75, 0xfd, 0x87, 0x6a, 0x18, 0xf3, 0x7b, 0x06, 0x2c, 0xa7, 0xe1, 0xaa, 0xaf, - 0xb7, 0xa0, 0x82, 0x1d, 0x27, 0x24, 0x94, 0x4e, 0x5c, 0x96, 0x1b, 0x12, 0xc7, 0x8a, 0x90, 0x13, - 0x92, 0x2b, 0x4c, 0x2d, 0x39, 0xb3, 0x0b, 0x67, 0x6e, 0x13, 0x76, 0x8f, 0xb0, 0x70, 0xa6, 0x0c, - 0x7e, 0x9b, 0x5f, 0x5e, 0x04, 0xb1, 0x52, 0x8b, 0xe8, 0xd3, 0xfc, 0xd4, 0x00, 0x94, 0x1c, 0x61, - 0x96, 0x65, 0x4e, 0x4a, 0xb9, 0x90, 0x96, 0xb2, 0xac, 0x85, 0xea, 0x0f, 0x02, 0x9f, 0xf8, 0x2c, - 0xe9, 0x6e, 0x35, 0x63, 0x68, 0x54, 0x56, 0x82, 0xee, 0x06, 0xd8, 0xb9, 0x89, 0xbd, 0xd9, 0xdc, - 0x83, 0xf3, 0x00, 0x34, 0xb4, 0xbb, 0x6a, 0xb7, 0x16, 0x94, 0xf5, 0x09, 0xed, 0xfb, 0x72, 0xc3, - 0x5e, 0x80, 0xba, 0x43, 0x99, 0x6a, 0x8e, 0x12, 0xca, 0xe0, 0x50, 0x26, 0xdb, 0x45, 0xad, 0x2b, - 0x25, 0xd8, 0x23, 0x4e, 0x37, 0x91, 0x8f, 0x9b, 0x17, 0x68, 0x2d, 0xd9, 0xb0, 0x1b, 0xc3, 0x35, - 0x9b, 0xab, 0xa4, 0xdd, 0x5c, 0x0f, 0x60, 0xed, 0x1e, 0xf6, 0x87, 0xd8, 0xbb, 0x15, 0xf4, 0x07, - 0x38, 0x55, 0x27, 0x99, 0x35, 0x87, 0x86, 0xc6, 0x1c, 0xbe, 0x28, 0x0b, 0xe9, 0xa4, 0x0b, 0x2e, - 0xe6, 0x34, 0x6f, 0x25, 0x20, 0x26, 0x85, 0xf6, 0x78, 0xf7, 0xb3, 0x2c, 0xa8, 0x60, 0x2a, 0xea, - 0x2a, 0x69, 0xa3, 0x47, 0x30, 0xf3, 0x3d, 0x78, 0x41, 0x14, 0x35, 0x46, 0xa0, 0x54, 0x0a, 0x20, - 0xdb, 0x81, 0xa1, 0xe9, 0xe0, 0x57, 0x0b, 0xc2, 0x04, 0x8e, 0xf5, 0x30, 0x0b, 0xe3, 0xef, 0xa4, - 0x23, 0xef, 0x2f, 0xe7, 0x14, 0xee, 0xa6, 0x47, 0x54, 0xe1, 0xf7, 0x0d, 0x58, 0x24, 0x8f, 0x89, - 0x3d, 0x64, 0xae, 0xdf, 0xdb, 0xf1, 0xb0, 0x7f, 0x3f, 0x50, 0x07, 0x4f, 0x16, 0x8c, 0x5e, 0x86, - 0x26, 0x97, 0x7e, 0x30, 0x64, 0x0a, 0x4f, 0x9e, 0x40, 0x69, 0x20, 0xef, 0x8f, 0xcf, 0xd7, 0x23, - 0x8c, 0x38, 0x0a, 0x4f, 0x1e, 0x47, 0x59, 0xf0, 0x98, 0x28, 0x39, 0x98, 0x9e, 0x44, 0x94, 0xff, - 0x61, 0x64, 0x44, 0xa9, 0x7a, 0x78, 0x56, 0xa2, 0xbc, 0x03, 0xd0, 0x27, 0x61, 0x8f, 0x6c, 0x0b, - 0xe3, 0x2f, 0x6f, 0xf8, 0x1b, 0x5a, 0xe3, 0x3f, 0xea, 0xe0, 0x5e, 0x44, 0x60, 0x25, 0x68, 0xcd, - 0xdb, 0xb0, 0xa4, 0x41, 0xe1, 0x76, 0x8d, 0x06, 0xc3, 0xd0, 0x26, 0x51, 0x90, 0x28, 0xfa, 0xe4, - 0xe7, 0x20, 0xc3, 0x61, 0x8f, 0x30, 0xa5, 0xb4, 0xea, 0xcb, 0x7c, 0x4b, 0x24, 0xab, 0x44, 0x40, - 0x21, 0xa5, 0xa9, 0xe9, 0xc4, 0xbb, 0x31, 0x96, 0x78, 0xdf, 0x17, 0x99, 0xa1, 0x24, 0xdd, 0x8c, - 0x45, 0x13, 0xfb, 0xbc, 0x2b, 0xe2, 0xa8, 0x47, 0x1b, 0xd1, 0xa7, 0xf9, 0xbf, 0x06, 0x34, 0xb7, - 0xfb, 0x83, 0x60, 0x94, 0x14, 0x99, 0xfa, 0xca, 0x39, 0x1e, 0x54, 0x2e, 0xe8, 0x82, 0xca, 0x2f, - 0x41, 0x33, 0x5d, 0xf2, 0x2f, 0xe3, 0x3f, 0x0d, 0x3b, 0x59, 0xea, 0x7f, 0x16, 0x6a, 0x61, 0x70, - 0xd8, 0xe5, 0xa6, 0xd4, 0x51, 0xe5, 0x19, 0xd5, 0x30, 0x38, 0xe4, 0x06, 0xd6, 0x41, 0xcb, 0x50, - 0xda, 0x77, 0xbd, 0xb8, 0xb2, 0x48, 0x7e, 0xa0, 0x77, 0xf9, 0x85, 0x4c, 0xa6, 0x6f, 0xcb, 0xd3, - 0xde, 0x8b, 0x22, 0x0a, 0xf3, 0x63, 0x58, 0x88, 0x66, 0x3d, 0xe3, 0x6b, 0x15, 0x86, 0xe9, 0xc3, - 0xa8, 0x72, 0x42, 0x7e, 0x98, 0x57, 0x64, 0x56, 0x4f, 0xf4, 0x9f, 0x5a, 0x74, 0x04, 0xf3, 0x1c, - 0x43, 0xed, 0x25, 0xf1, 0x9b, 0x2f, 0xc0, 0x6a, 0x16, 0x7b, 0x16, 0x96, 0xde, 0x4a, 0xef, 0x1f, - 0xfd, 0x83, 0x84, 0xe4, 0x68, 0x6a, 0xef, 0xa8, 0x15, 0xb0, 0x83, 0xa1, 0xcf, 0x94, 0x01, 0xe2, - 0x2b, 0x70, 0x8b, 0x7f, 0xa3, 0x35, 0xa8, 0xb8, 0x4e, 0xd7, 0xe3, 0x77, 0x37, 0x79, 0x26, 0x95, - 0x5d, 0xe7, 0x2e, 0xbf, 0xd7, 0xbd, 0x1d, 0x79, 0x5a, 0x53, 0x97, 0x5b, 0x28, 0x2f, 0xab, 0x0d, - 0xab, 0xbc, 0x03, 0xc9, 0xc8, 0x87, 0x5c, 0x6c, 0x91, 0x23, 0xe4, 0xc0, 0xda, 0x58, 0xcb, 0xe7, - 0xbf, 0x46, 0x3f, 0x94, 0x7e, 0x88, 0x25, 0xcb, 0x30, 0x9f, 0x72, 0x51, 0xcf, 0x06, 0xb4, 0x0e, - 0x5d, 0x76, 0xd0, 0x15, 0x4f, 0x4b, 0x84, 0x13, 0x20, 0xf3, 0xda, 0x55, 0x6b, 0x81, 0xc3, 0x77, - 0x39, 0x98, 0x3b, 0x02, 0xd4, 0xfc, 0x35, 0x03, 0x96, 0x52, 0x6c, 0xcd, 0x32, 0xf3, 0xaf, 0x71, - 0xff, 0x48, 0x76, 0xa4, 0x3c, 0xe1, 0x75, 0xad, 0x31, 0x54, 0xa3, 0x09, 0x23, 0x18, 0x53, 0x98, - 0xff, 0x69, 0x40, 0x3d, 0xd1, 0xc2, 0xaf, 0x57, 0xaa, 0x6d, 0x74, 0xbd, 0x8a, 0x01, 0x53, 0x89, - 0xe1, 0x25, 0x18, 0x99, 0x86, 0x44, 0x79, 0x7a, 0xa2, 0xae, 0xce, 0xa1, 0xe8, 0x0e, 0x2c, 0x48, - 0x31, 0xc5, 0xac, 0x6b, 0xa3, 0x1e, 0x71, 0xc5, 0x20, 0x0e, 0x1d, 0xc5, 0xa5, 0xd5, 0xa4, 0x89, - 0x2f, 0x99, 0xe4, 0x0c, 0x1c, 0x22, 0x46, 0x2a, 0x49, 0x6b, 0x2d, 0xfc, 0x2f, 0x87, 0xf2, 0x6b, - 0x50, 0x23, 0x49, 0xca, 0x5d, 0x49, 0x8f, 0x60, 0x87, 0x84, 0xf1, 0xdc, 0xe2, 0x6f, 0xee, 0xbb, - 0xc9, 0xdf, 0x5d, 0xee, 0x5a, 0x2b, 0x23, 0x07, 0x12, 0xc4, 0xbd, 0x6e, 0xf4, 0x0a, 0x2c, 0x3a, - 0xfd, 0xd4, 0xbb, 0xa6, 0xc8, 0xd9, 0x74, 0xfa, 0x89, 0x07, 0x4d, 0x29, 0x86, 0xe6, 0xd3, 0x0c, - 0xfd, 0x8f, 0x11, 0xbf, 0xf6, 0x0c, 0x89, 0x43, 0x7c, 0xe6, 0x62, 0xef, 0xc9, 0x75, 0xb2, 0x03, - 0xd5, 0x21, 0x25, 0x61, 0xc2, 0x26, 0xc7, 0xdf, 0xbc, 0x6d, 0x80, 0x29, 0x3d, 0x0c, 0x42, 0x47, - 0x71, 0x19, 0x7f, 0x4f, 0x28, 0x52, 0x94, 0x2f, 0x09, 0xf5, 0x45, 0x8a, 0x6f, 0xc1, 0x5a, 0x3f, - 0x70, 0xdc, 0x7d, 0x57, 0x57, 0xdb, 0xc8, 0xc9, 0x56, 0xa2, 0xe6, 0x14, 0x9d, 0xf9, 0xa3, 0x02, - 0xac, 0x7d, 0x34, 0x70, 0xbe, 0x80, 0x39, 0xaf, 0x43, 0x3d, 0xf0, 0x9c, 0x9d, 0xf4, 0xb4, 0x93, - 0x20, 0x8e, 0xe1, 0x93, 0xc3, 0x18, 0x43, 0x86, 0xba, 0x93, 0xa0, 0x89, 0x05, 0x9c, 0x4f, 0x24, - 0x9b, 0xf2, 0x24, 0xd9, 0xf4, 0x60, 0x4d, 0x66, 0x8d, 0x9f, 0xb2, 0x68, 0xcc, 0x5f, 0x82, 0x15, - 0x6e, 0x6d, 0xf9, 0x30, 0x1f, 0x51, 0x12, 0xce, 0x68, 0x71, 0xce, 0x41, 0x2d, 0xea, 0x39, 0xaa, - 0xad, 0x1d, 0x01, 0xcc, 0x3b, 0xb0, 0x9c, 0x19, 0xeb, 0x09, 0x67, 0x74, 0xf9, 0x22, 0x54, 0xa3, - 0x5a, 0x61, 0x54, 0x81, 0xe2, 0x0d, 0xcf, 0x6b, 0xcd, 0xa1, 0x06, 0x54, 0xb7, 0x55, 0x41, 0x6c, - 0xcb, 0xb8, 0xfc, 0x73, 0xb0, 0x98, 0xc9, 0x29, 0xa3, 0x2a, 0xcc, 0xdf, 0x0f, 0x7c, 0xd2, 0x9a, - 0x43, 0x2d, 0x68, 0xdc, 0x74, 0x7d, 0x1c, 0x1e, 0xc9, 0x88, 0x6b, 0xcb, 0x41, 0x8b, 0x50, 0x17, - 0x91, 0x47, 0x05, 0x20, 0x9b, 0x7f, 0x7a, 0x09, 0x9a, 0xf7, 0x04, 0x23, 0xbb, 0x24, 0x7c, 0xe4, - 0xda, 0x04, 0x75, 0xa1, 0x95, 0x7d, 0x90, 0x8d, 0xbe, 0xa4, 0xf7, 0x2e, 0xf5, 0xef, 0xb6, 0x3b, - 0x93, 0x64, 0x68, 0xce, 0xa1, 0x8f, 0x61, 0x21, 0xfd, 0xac, 0x19, 0xe9, 0x43, 0x63, 0xda, 0xb7, - 0xcf, 0xc7, 0x75, 0xde, 0x85, 0x66, 0xea, 0x95, 0x32, 0x7a, 0x4d, 0xdb, 0xb7, 0xee, 0x25, 0x73, - 0x47, 0x6f, 0x7b, 0x93, 0x2f, 0x89, 0x25, 0xf7, 0xe9, 0xa7, 0x84, 0x39, 0xdc, 0x6b, 0xdf, 0x1b, - 0x1e, 0xc7, 0x3d, 0x86, 0x33, 0x63, 0x4f, 0xfe, 0xd0, 0xeb, 0x39, 0xa7, 0x99, 0xfe, 0x69, 0xe0, - 0x71, 0x43, 0x1c, 0x02, 0x1a, 0x7f, 0x8d, 0x8b, 0xae, 0xea, 0x57, 0x20, 0xef, 0x2d, 0x72, 0xe7, - 0xda, 0xd4, 0xf8, 0xb1, 0xe0, 0x7e, 0xc5, 0x80, 0xb5, 0x9c, 0x77, 0x7a, 0xe8, 0xba, 0xb6, 0xbb, - 0xc9, 0x8f, 0x0d, 0x3b, 0x6f, 0x9e, 0x8c, 0x28, 0x66, 0xc4, 0x87, 0xc5, 0xcc, 0xd3, 0x35, 0x74, - 0x25, 0xb7, 0x4e, 0x7f, 0xfc, 0x0d, 0x5f, 0xe7, 0x4b, 0xd3, 0x21, 0xc7, 0xe3, 0x3d, 0x80, 0xc5, - 0xcc, 0x7b, 0xaf, 0x9c, 0xf1, 0xf4, 0xaf, 0xc2, 0x8e, 0x5b, 0xd0, 0x6f, 0x43, 0x33, 0xf5, 0x30, - 0x2b, 0x47, 0xe3, 0x75, 0x8f, 0xb7, 0x8e, 0xeb, 0xfa, 0x01, 0x34, 0x92, 0xef, 0xa7, 0xd0, 0x46, - 0xde, 0x5e, 0x1a, 0xeb, 0xf8, 0x24, 0x5b, 0x69, 0xf4, 0xee, 0x61, 0xc2, 0x56, 0x1a, 0x7b, 0x2a, - 0x32, 0xfd, 0x56, 0x4a, 0xf4, 0x3f, 0x71, 0x2b, 0x9d, 0x78, 0x88, 0xef, 0xc9, 0x3b, 0x8d, 0xe6, - 0x5d, 0x0d, 0xda, 0xcc, 0xd3, 0xcd, 0xfc, 0x17, 0x44, 0x9d, 0xeb, 0x27, 0xa2, 0x89, 0xa5, 0xf8, - 0x10, 0x16, 0xd2, 0xaf, 0x47, 0x72, 0xa4, 0xa8, 0x7d, 0x70, 0xd3, 0xb9, 0x32, 0x15, 0x6e, 0x3c, - 0xd8, 0x47, 0x50, 0x4f, 0xfc, 0xc7, 0x0a, 0x7a, 0x75, 0x82, 0x1e, 0x27, 0xff, 0x70, 0xe4, 0x38, - 0x49, 0x7e, 0x03, 0x6a, 0xf1, 0x5f, 0xa3, 0xa0, 0x4b, 0xb9, 0xfa, 0x7b, 0x92, 0x2e, 0x77, 0x01, - 0x46, 0xff, 0x7b, 0x82, 0x5e, 0xd1, 0xf6, 0x39, 0xf6, 0xc7, 0x28, 0xc7, 0x75, 0x1a, 0x4f, 0x5f, - 0x16, 0xe5, 0x4d, 0x9a, 0x7e, 0xb2, 0x8a, 0xf4, 0xb8, 0x6e, 0x0f, 0xa0, 0x99, 0xaa, 0xfd, 0xce, - 0xdb, 0xc2, 0x9a, 0x92, 0xfc, 0xce, 0xe5, 0x69, 0x50, 0xe3, 0xf5, 0x3b, 0x80, 0x66, 0xaa, 0x12, - 0x37, 0x67, 0x24, 0x5d, 0xe1, 0x71, 0xce, 0x48, 0xda, 0xc2, 0x5e, 0x73, 0x0e, 0x7d, 0x37, 0x51, - 0xf4, 0x9b, 0x2a, 0xac, 0x46, 0x6f, 0x4c, 0xec, 0x47, 0x57, 0x57, 0xde, 0xd9, 0x3c, 0x09, 0x49, - 0xcc, 0x82, 0xd2, 0x2a, 0x29, 0xd2, 0x7c, 0xad, 0x3a, 0xc9, 0x4a, 0xed, 0x42, 0x59, 0xd6, 0xd6, - 0x22, 0x33, 0xa7, 0x8a, 0x3e, 0x51, 0x78, 0xdb, 0x79, 0x49, 0x8b, 0x93, 0x2e, 0x3b, 0x95, 0x9d, - 0x4a, 0x2f, 0x38, 0xa7, 0xd3, 0x54, 0x61, 0xe5, 0xb4, 0x9d, 0x5a, 0x50, 0x96, 0x45, 0x53, 0x39, - 0x9d, 0xa6, 0x0a, 0xff, 0x3a, 0x93, 0x71, 0x44, 0x36, 0xdd, 0x9c, 0x43, 0x3b, 0x50, 0x12, 0xa1, - 0x3a, 0x74, 0x71, 0x52, 0x3d, 0xd1, 0xa4, 0x1e, 0x53, 0x25, 0x47, 0xe6, 0x1c, 0xfa, 0x05, 0x28, - 0x89, 0x04, 0x55, 0x4e, 0x8f, 0xc9, 0xa2, 0xa0, 0xce, 0x44, 0x94, 0x88, 0x45, 0x07, 0x1a, 0xc9, - 0x4a, 0x80, 0x9c, 0x23, 0x4b, 0x53, 0x2b, 0xd1, 0x99, 0x06, 0x33, 0x1a, 0x45, 0x6e, 0xa3, 0x51, - 0xd8, 0x32, 0x7f, 0x1b, 0x8d, 0x85, 0x44, 0xf3, 0xb7, 0xd1, 0x78, 0x14, 0xd4, 0x9c, 0x43, 0xbf, - 0x6e, 0x40, 0x3b, 0x2f, 0x3d, 0x8d, 0x72, 0x3d, 0xa0, 0x49, 0x39, 0xf6, 0xce, 0x57, 0x4e, 0x48, - 0x15, 0xf3, 0xf2, 0x89, 0x08, 0xda, 0x8c, 0x25, 0xa4, 0xaf, 0xe5, 0xf5, 0x97, 0x93, 0x7e, 0xed, - 0x7c, 0x79, 0x7a, 0x82, 0x78, 0xec, 0x3d, 0xa8, 0x27, 0x02, 0x46, 0x39, 0x96, 0x77, 0x3c, 0xd2, - 0x95, 0xb3, 0xaa, 0x9a, 0xd8, 0x93, 0x54, 0x6f, 0x91, 0xdf, 0xcc, 0x51, 0xc6, 0x64, 0xba, 0x34, - 0x47, 0xbd, 0x53, 0xe9, 0x51, 0x73, 0x0e, 0x11, 0x68, 0x24, 0x93, 0x9d, 0x39, 0xda, 0xa8, 0xc9, - 0x93, 0x76, 0x5e, 0x9b, 0x02, 0x33, 0x1e, 0xa6, 0x0b, 0x30, 0x4a, 0x36, 0xe6, 0x9c, 0x75, 0x63, - 0xf9, 0xce, 0xce, 0xab, 0xc7, 0xe2, 0x25, 0x8f, 0xfd, 0x44, 0xfa, 0x30, 0x47, 0xfa, 0xe3, 0x09, - 0xc6, 0x29, 0xee, 0x22, 0xe3, 0x29, 0xaa, 0x9c, 0xbb, 0x48, 0x6e, 0x36, 0xac, 0x73, 0x6d, 0x6a, - 0xfc, 0x78, 0x3e, 0xdf, 0x81, 0x56, 0x36, 0xa5, 0x97, 0x73, 0xc7, 0xcd, 0x49, 0x2c, 0x76, 0x5e, - 0x9f, 0x12, 0x3b, 0x79, 0x1e, 0x9e, 0x1d, 0xe7, 0xe9, 0x5b, 0x2e, 0x3b, 0x10, 0xd9, 0xa4, 0x69, - 0x66, 0x9d, 0x4c, 0x5c, 0x4d, 0x33, 0xeb, 0x54, 0x9a, 0x4a, 0x1d, 0x5e, 0x22, 0xdc, 0x9c, 0x77, - 0x78, 0x25, 0x13, 0x24, 0x39, 0xe7, 0x4c, 0x3a, 0x9d, 0x20, 0xdd, 0xcf, 0x74, 0x5c, 0x1f, 0xe5, - 0xfb, 0x09, 0x63, 0xa9, 0x82, 0x1c, 0xf7, 0x53, 0x9f, 0x28, 0x90, 0x57, 0xb7, 0x4c, 0xd0, 0x3c, - 0xe7, 0x2a, 0xa5, 0x0f, 0xba, 0xe7, 0x5c, 0xdd, 0x72, 0xe2, 0xf0, 0x62, 0x63, 0xb5, 0xb2, 0xe1, - 0xca, 0xc9, 0xb1, 0x90, 0x6c, 0x18, 0xeb, 0xf8, 0x70, 0x45, 0x2b, 0x1b, 0x1b, 0xcc, 0x19, 0x20, - 0x27, 0x84, 0x38, 0xc5, 0x00, 0xd9, 0x08, 0x5b, 0xce, 0x00, 0x39, 0x81, 0xb8, 0x29, 0x7c, 0xd7, - 0x54, 0xb4, 0x2b, 0xe7, 0x28, 0xd4, 0x45, 0xc4, 0x72, 0x8e, 0x42, 0x6d, 0xa0, 0xce, 0x9c, 0xdb, - 0x1c, 0x42, 0x63, 0x27, 0x0c, 0x1e, 0x1f, 0x45, 0x81, 0xaa, 0x2f, 0xc6, 0xb8, 0xde, 0xfc, 0x16, - 0x2c, 0xb8, 0x31, 0x4e, 0x2f, 0x1c, 0xd8, 0x37, 0xeb, 0x32, 0x60, 0xb6, 0xc3, 0x89, 0x77, 0x8c, - 0x5f, 0xbc, 0xde, 0x73, 0xd9, 0xc1, 0x70, 0x8f, 0x4b, 0xe6, 0x9a, 0x44, 0x7b, 0xdd, 0x0d, 0xd4, - 0xaf, 0x6b, 0xae, 0xcf, 0x48, 0xe8, 0x63, 0xef, 0x9a, 0x18, 0x4a, 0x41, 0x07, 0x7b, 0x7f, 0x60, - 0x18, 0x7b, 0x65, 0x01, 0xba, 0xfe, 0xff, 0x01, 0x00, 0x00, 0xff, 0xff, 0x03, 0xad, 0x2f, 0x91, - 0xf8, 0x52, 0x00, 0x00, + // 4316 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xd4, 0x3c, 0x4d, 0x8f, 0x1c, 0xc7, + 0x75, 0xdb, 0x33, 0x3b, 0x5f, 0x6f, 0x3e, 0x76, 0x58, 0xfb, 0x35, 0x1a, 0x92, 0xe2, 0xb2, 0x25, + 0x4a, 0x2b, 0xd2, 0x22, 0xad, 0xa5, 0x2c, 0x39, 0x92, 0x13, 0x99, 0xe4, 0x46, 0xe4, 0x42, 0x24, + 0xb3, 0xee, 0x95, 0x6c, 0x38, 0x02, 0xd1, 0xe8, 0xed, 0xae, 0x9d, 0xed, 0xb0, 0xa7, 0x7b, 0xdc, + 0x55, 0xc3, 0xe5, 0xea, 0x64, 0xc0, 0x46, 0x3e, 0x60, 0x45, 0x86, 0x11, 0x23, 0x89, 0x0f, 0x09, + 0x82, 0x7c, 0x00, 0xc9, 0x21, 0x41, 0xec, 0x00, 0x49, 0x90, 0x4b, 0x72, 0xc8, 0x21, 0x87, 0x00, + 0xf9, 0xb8, 0x04, 0x81, 0x2f, 0xf9, 0x03, 0x39, 0x04, 0xc8, 0x31, 0x87, 0xa0, 0x3e, 0xba, 0xa7, + 0xbb, 0xa7, 0x7a, 0x76, 0x96, 0x63, 0x6a, 0x77, 0x6f, 0xd3, 0xaf, 0xde, 0xab, 0x7a, 0xf5, 0xea, + 0xd5, 0xab, 0x57, 0xef, 0xbd, 0x1a, 0x68, 0xf4, 0x5d, 0xef, 0xc9, 0x90, 0x5c, 0x1f, 0x84, 0x01, + 0x0d, 0xd0, 0x62, 0xf2, 0xeb, 0xba, 0xf8, 0xe8, 0x36, 0xec, 0xa0, 0xdf, 0x0f, 0x7c, 0x01, 0xec, + 0x36, 0x88, 0xbd, 0x8f, 0xfb, 0x96, 0xf8, 0xd2, 0x7f, 0x5f, 0x03, 0x74, 0x27, 0xc4, 0x16, 0xc5, + 0xb7, 0x3c, 0xd7, 0x22, 0x06, 0xfe, 0xd6, 0x10, 0x13, 0x8a, 0xbe, 0x08, 0xf3, 0xbb, 0x16, 0xc1, + 0x1d, 0x6d, 0x4d, 0x5b, 0xaf, 0x6f, 0x5c, 0xb8, 0x9e, 0xea, 0x56, 0x76, 0xf7, 0x80, 0xf4, 0x6e, + 0x5b, 0x04, 0x1b, 0x1c, 0x13, 0xad, 0x42, 0xc5, 0xd9, 0x35, 0x7d, 0xab, 0x8f, 0x3b, 0x85, 0x35, + 0x6d, 0xbd, 0x66, 0x94, 0x9d, 0xdd, 0x87, 0x56, 0x1f, 0xa3, 0x57, 0x61, 0xc1, 0x0e, 0x3c, 0x0f, + 0xdb, 0xd4, 0x0d, 0x7c, 0x81, 0x50, 0xe4, 0x08, 0xad, 0x11, 0x98, 0x23, 0x2e, 0x41, 0xc9, 0x62, + 0x3c, 0x74, 0xe6, 0x79, 0xb3, 0xf8, 0xd0, 0x09, 0xb4, 0x37, 0xc3, 0x60, 0xf0, 0xbc, 0xb8, 0x8b, + 0x07, 0x2d, 0x26, 0x07, 0xfd, 0x3d, 0x0d, 0xce, 0xdd, 0xf2, 0x28, 0x0e, 0x4f, 0xa9, 0x50, 0x7e, + 0xb7, 0x00, 0xab, 0x62, 0xd5, 0xee, 0xc4, 0xe8, 0x27, 0xc9, 0xe5, 0x0a, 0x94, 0x85, 0x56, 0x71, + 0x36, 0x1b, 0x86, 0xfc, 0x42, 0x17, 0x01, 0xc8, 0xbe, 0x15, 0x3a, 0xc4, 0xf4, 0x87, 0xfd, 0x4e, + 0x69, 0x4d, 0x5b, 0x2f, 0x19, 0x35, 0x01, 0x79, 0x38, 0xec, 0x23, 0x03, 0xce, 0xd9, 0x81, 0x4f, + 0x5c, 0x42, 0xb1, 0x6f, 0x1f, 0x9a, 0x1e, 0x7e, 0x82, 0xbd, 0x4e, 0x79, 0x4d, 0x5b, 0x6f, 0x6d, + 0x5c, 0x51, 0xf2, 0x7d, 0x67, 0x84, 0x7d, 0x9f, 0x21, 0x1b, 0x6d, 0x3b, 0x03, 0xd1, 0xbf, 0xa7, + 0xc1, 0x32, 0x53, 0x98, 0x53, 0x21, 0x18, 0xfd, 0xcf, 0x34, 0x58, 0xba, 0x67, 0x91, 0xd3, 0xb1, + 0x4a, 0x17, 0x01, 0xa8, 0xdb, 0xc7, 0x26, 0xa1, 0x56, 0x7f, 0xc0, 0x57, 0x6a, 0xde, 0xa8, 0x31, + 0xc8, 0x0e, 0x03, 0xe8, 0xdf, 0x84, 0xc6, 0xed, 0x20, 0xf0, 0x0c, 0x4c, 0x06, 0x81, 0x4f, 0x30, + 0xba, 0x09, 0x65, 0x42, 0x2d, 0x3a, 0x24, 0x92, 0xc9, 0xf3, 0x4a, 0x26, 0x77, 0x38, 0x8a, 0x21, + 0x51, 0x99, 0xbe, 0x3e, 0xb1, 0xbc, 0xa1, 0xe0, 0xb1, 0x6a, 0x88, 0x0f, 0xfd, 0x63, 0x68, 0xed, + 0xd0, 0xd0, 0xf5, 0x7b, 0x3f, 0xc3, 0xce, 0x6b, 0x51, 0xe7, 0xff, 0xae, 0xc1, 0x0b, 0x9b, 0x98, + 0xd8, 0xa1, 0xbb, 0x7b, 0x4a, 0xb6, 0x83, 0x0e, 0x8d, 0x11, 0x64, 0x6b, 0x93, 0x8b, 0xba, 0x68, + 0xa4, 0x60, 0x99, 0xc5, 0x28, 0x65, 0x17, 0xe3, 0xdb, 0x25, 0xe8, 0xaa, 0x26, 0x35, 0x8b, 0xf8, + 0x7e, 0x3e, 0xde, 0xa5, 0x05, 0x4e, 0x94, 0xd9, 0x63, 0xf2, 0x5c, 0x18, 0x8d, 0xb6, 0xc3, 0x01, + 0xf1, 0x66, 0xce, 0xce, 0xaa, 0xa8, 0x98, 0xd5, 0x06, 0x2c, 0x3f, 0x71, 0x43, 0x3a, 0xb4, 0x3c, + 0xd3, 0xde, 0xb7, 0x7c, 0x1f, 0x7b, 0x5c, 0x4e, 0xcc, 0x7c, 0x15, 0xd7, 0x6b, 0xc6, 0xa2, 0x6c, + 0xbc, 0x23, 0xda, 0x98, 0xb0, 0x08, 0x7a, 0x13, 0x56, 0x06, 0xfb, 0x87, 0xc4, 0xb5, 0xc7, 0x88, + 0x4a, 0x9c, 0x68, 0x29, 0x6a, 0x4d, 0x51, 0x5d, 0x83, 0x73, 0x36, 0xb7, 0x80, 0x8e, 0xc9, 0xa4, + 0x26, 0xc4, 0x58, 0xe6, 0x62, 0x6c, 0xcb, 0x86, 0x0f, 0x23, 0x38, 0x63, 0x2b, 0x42, 0x1e, 0x52, + 0x3b, 0x41, 0x50, 0xe1, 0x04, 0x8b, 0xb2, 0xf1, 0x23, 0x6a, 0x8f, 0x68, 0xd2, 0xb6, 0xab, 0x9a, + 0xb5, 0x5d, 0x1d, 0xa8, 0x70, 0x5b, 0x8c, 0x49, 0xa7, 0xc6, 0xd9, 0x8c, 0x3e, 0xd1, 0x16, 0x2c, + 0x10, 0x6a, 0x85, 0xd4, 0x1c, 0x04, 0xc4, 0x65, 0x72, 0x21, 0x1d, 0x58, 0x2b, 0xae, 0xd7, 0x37, + 0xd6, 0x94, 0x8b, 0xf4, 0x01, 0x3e, 0xdc, 0xb4, 0xa8, 0xb5, 0x6d, 0xb9, 0xa1, 0xd1, 0xe2, 0x84, + 0xdb, 0x11, 0x9d, 0xda, 0x40, 0xd6, 0x67, 0x32, 0x90, 0x2a, 0x2d, 0x6e, 0x28, 0x6d, 0xd7, 0x4f, + 0x34, 0x58, 0xbe, 0x1f, 0x58, 0xce, 0xe9, 0xd8, 0x53, 0x57, 0xa0, 0x15, 0xe2, 0x81, 0xe7, 0xda, + 0x16, 0x5b, 0x8f, 0x5d, 0x1c, 0xf2, 0x5d, 0x55, 0x32, 0x9a, 0x12, 0xfa, 0x90, 0x03, 0xf5, 0xcf, + 0x34, 0xe8, 0x18, 0xd8, 0xc3, 0x16, 0x39, 0x1d, 0xb6, 0x40, 0xff, 0xa1, 0x06, 0x2f, 0xde, 0xc5, + 0x34, 0xb1, 0xab, 0xa8, 0x45, 0x5d, 0x42, 0x5d, 0xfb, 0x24, 0xfd, 0x0a, 0xfd, 0xfb, 0x1a, 0x5c, + 0xca, 0x65, 0x6b, 0x16, 0x23, 0xf3, 0x36, 0x94, 0xd8, 0x2f, 0xd2, 0x29, 0x70, 0x9d, 0xbf, 0x9c, + 0xa7, 0xf3, 0x5f, 0x67, 0xb6, 0x9b, 0x2b, 0xbd, 0xc0, 0xd7, 0xff, 0x4b, 0x83, 0x95, 0x9d, 0xfd, + 0xe0, 0x60, 0xc4, 0xd2, 0xf3, 0x10, 0x50, 0xda, 0xec, 0x16, 0x33, 0x66, 0x17, 0xbd, 0x01, 0xf3, + 0xf4, 0x70, 0x80, 0xb9, 0x6e, 0xb5, 0x36, 0x2e, 0x5e, 0x57, 0xb8, 0xd3, 0xd7, 0x19, 0x93, 0x1f, + 0x1e, 0x0e, 0xb0, 0xc1, 0x51, 0xd1, 0x6b, 0xd0, 0xce, 0x88, 0x3c, 0x32, 0x5c, 0x0b, 0x69, 0x99, + 0x13, 0xfd, 0x6f, 0x0b, 0xb0, 0x3a, 0x36, 0xc5, 0x59, 0x84, 0xad, 0x1a, 0xbb, 0xa0, 0x1c, 0x9b, + 0xed, 0x9f, 0x04, 0xaa, 0xeb, 0x30, 0x8f, 0xb7, 0xb8, 0x5e, 0x34, 0x9a, 0x09, 0xfb, 0xed, 0x10, + 0xf4, 0x3a, 0xa0, 0x31, 0xb3, 0x2a, 0xac, 0xf7, 0xbc, 0x71, 0x2e, 0x6b, 0x57, 0xb9, 0xed, 0x56, + 0x1a, 0x56, 0x21, 0x82, 0x79, 0x63, 0x49, 0x61, 0x59, 0x09, 0x7a, 0x03, 0x96, 0x5c, 0xff, 0x01, + 0xee, 0x07, 0xe1, 0xa1, 0x39, 0xc0, 0xa1, 0x8d, 0x7d, 0x6a, 0xf5, 0x30, 0xe9, 0x94, 0x39, 0x47, + 0x8b, 0x51, 0xdb, 0xf6, 0xa8, 0x49, 0xff, 0x2b, 0x0d, 0x56, 0x84, 0xc7, 0xbb, 0x6d, 0x85, 0xd4, + 0x3d, 0x05, 0xd6, 0x68, 0x10, 0xf1, 0x21, 0xf0, 0x84, 0x7f, 0xde, 0x8c, 0xa1, 0x7c, 0x97, 0xfd, + 0x58, 0x83, 0x25, 0xe6, 0x8c, 0x9e, 0x25, 0x9e, 0xff, 0x52, 0x83, 0xc5, 0x7b, 0x16, 0x39, 0x4b, + 0x2c, 0xff, 0x54, 0x9e, 0x54, 0x31, 0xcf, 0x27, 0x7a, 0x65, 0x7b, 0x15, 0x16, 0xd2, 0x4c, 0x47, + 0xde, 0x4f, 0x2b, 0xc5, 0x35, 0x51, 0x1c, 0x69, 0x25, 0xd5, 0x91, 0xf6, 0x37, 0xa3, 0x23, 0xed, + 0x6c, 0x4d, 0x50, 0xff, 0x3b, 0x0d, 0x2e, 0xde, 0xc5, 0x34, 0xe6, 0xfa, 0x54, 0x1c, 0x7d, 0xd3, + 0x2a, 0xd5, 0x67, 0xe2, 0xe0, 0x56, 0x32, 0x7f, 0x22, 0x07, 0xe4, 0xf7, 0x0a, 0xb0, 0xcc, 0x4e, + 0x8f, 0xd3, 0xa1, 0x04, 0xd3, 0xdc, 0x71, 0x14, 0x8a, 0x52, 0x52, 0xee, 0x84, 0xe8, 0xd8, 0x2d, + 0x4f, 0x7d, 0xec, 0xea, 0x3f, 0x29, 0x08, 0x77, 0x21, 0x29, 0x8d, 0x59, 0x96, 0x45, 0xc1, 0x6b, + 0x41, 0xc9, 0xab, 0x0e, 0x8d, 0x18, 0xb2, 0xb5, 0x19, 0x1d, 0xa3, 0x29, 0xd8, 0xa9, 0x3d, 0x45, + 0x3f, 0xd5, 0x60, 0x25, 0xba, 0x55, 0xee, 0xe0, 0x5e, 0x1f, 0xfb, 0xf4, 0xd9, 0x75, 0x28, 0xab, + 0x01, 0x05, 0x85, 0x06, 0x5c, 0x80, 0x1a, 0x11, 0xe3, 0xc4, 0x17, 0xc6, 0x11, 0x40, 0xff, 0x7b, + 0x0d, 0x56, 0xc7, 0xd8, 0x99, 0x65, 0x11, 0x3b, 0x50, 0x71, 0x7d, 0x07, 0x3f, 0x8d, 0xb9, 0x89, + 0x3e, 0x59, 0xcb, 0xee, 0xd0, 0xf5, 0x9c, 0x98, 0x8d, 0xe8, 0x13, 0x5d, 0x86, 0x06, 0xf6, 0xad, + 0x5d, 0x0f, 0x9b, 0x1c, 0x97, 0x2b, 0x72, 0xd5, 0xa8, 0x0b, 0xd8, 0x16, 0x03, 0x31, 0xe2, 0x3d, + 0x17, 0x73, 0xe2, 0x92, 0x20, 0x96, 0x9f, 0xfa, 0x6f, 0x6a, 0xb0, 0xc8, 0xb4, 0x50, 0x72, 0x4f, + 0x9e, 0xaf, 0x34, 0xd7, 0xa0, 0x9e, 0x50, 0x33, 0x39, 0x91, 0x24, 0x48, 0x7f, 0x0c, 0x4b, 0x69, + 0x76, 0x66, 0x91, 0xe6, 0x8b, 0x00, 0xf1, 0x5a, 0x89, 0xdd, 0x50, 0x34, 0x12, 0x10, 0xfd, 0xd3, + 0x42, 0x14, 0x3b, 0xe6, 0x62, 0x3a, 0xe1, 0xd0, 0x16, 0x5f, 0x92, 0xa4, 0x3d, 0xaf, 0x71, 0x08, + 0x6f, 0xde, 0x84, 0x06, 0x7e, 0x4a, 0x43, 0xcb, 0x1c, 0x58, 0xa1, 0xd5, 0x17, 0xdb, 0x6a, 0x2a, + 0xd3, 0x5b, 0xe7, 0x64, 0xdb, 0x9c, 0x8a, 0x0d, 0xc2, 0x55, 0x44, 0x0c, 0x52, 0x16, 0x83, 0x70, + 0x08, 0x3f, 0x30, 0xfe, 0x89, 0x39, 0x7b, 0x52, 0x9b, 0x4f, 0xbb, 0x40, 0xd2, 0x53, 0x29, 0x65, + 0xa7, 0xf2, 0x27, 0x1a, 0xb4, 0xf9, 0x14, 0xc4, 0x7c, 0x06, 0xac, 0xdb, 0x0c, 0x8d, 0x96, 0xa1, + 0x99, 0xb0, 0xf7, 0x7e, 0x0e, 0xca, 0x52, 0xee, 0xc5, 0x69, 0xe5, 0x2e, 0x09, 0x8e, 0x98, 0x86, + 0xfe, 0x87, 0x1a, 0x2c, 0x67, 0x44, 0x3e, 0x8b, 0xc2, 0x7f, 0x08, 0x48, 0xcc, 0xd0, 0x19, 0x4d, + 0x3b, 0x3a, 0xa7, 0xaf, 0x28, 0x0f, 0xa5, 0xac, 0x90, 0x8c, 0x73, 0x6e, 0x06, 0x42, 0xf4, 0x7f, + 0xd5, 0xe0, 0xc2, 0x5d, 0x4c, 0x39, 0xea, 0x6d, 0x66, 0x74, 0xb6, 0xc3, 0xa0, 0x17, 0x62, 0x42, + 0xce, 0xae, 0x7e, 0xfc, 0xb6, 0x70, 0xec, 0x54, 0x53, 0x9a, 0x45, 0xfe, 0x97, 0xa1, 0xc1, 0xc7, + 0xc0, 0x8e, 0x19, 0x06, 0x07, 0x44, 0xea, 0x51, 0x5d, 0xc2, 0x8c, 0xe0, 0x80, 0x2b, 0x04, 0x0d, + 0xa8, 0xe5, 0x09, 0x04, 0x79, 0xa2, 0x70, 0x08, 0x6b, 0xe6, 0x7b, 0x30, 0x62, 0x8c, 0x75, 0x8e, + 0xcf, 0xae, 0x8c, 0xff, 0x58, 0x83, 0xe5, 0xcc, 0x54, 0x66, 0x91, 0xed, 0x97, 0x84, 0xdb, 0x29, + 0x26, 0xd3, 0xda, 0xb8, 0xa4, 0xa4, 0x49, 0x0c, 0x26, 0xb0, 0xd1, 0x25, 0xa8, 0xef, 0x59, 0xae, + 0x67, 0x86, 0xd8, 0x22, 0x81, 0x2f, 0x27, 0x0a, 0x0c, 0x64, 0x70, 0x88, 0xfe, 0x8f, 0x9a, 0x48, + 0xd0, 0x9d, 0x71, 0x8b, 0xf7, 0x47, 0x05, 0x68, 0x6e, 0xf9, 0x04, 0x87, 0xf4, 0xf4, 0x5f, 0x4d, + 0xd0, 0x7b, 0x50, 0xe7, 0x13, 0x23, 0xa6, 0x63, 0x51, 0x4b, 0x9e, 0x66, 0x2f, 0x2a, 0xa3, 0xf9, + 0xef, 0x33, 0xbc, 0x4d, 0x8b, 0x5a, 0x86, 0x90, 0x0e, 0x61, 0xbf, 0xd1, 0x79, 0xa8, 0xed, 0x5b, + 0x64, 0xdf, 0x7c, 0x8c, 0x0f, 0x85, 0xbf, 0xd8, 0x34, 0xaa, 0x0c, 0xf0, 0x01, 0x3e, 0x24, 0xe8, + 0x05, 0xa8, 0xfa, 0xc3, 0xbe, 0xd8, 0x60, 0x95, 0x35, 0x6d, 0xbd, 0x69, 0x54, 0xfc, 0x61, 0x9f, + 0x6f, 0xaf, 0x7f, 0x2e, 0x40, 0xeb, 0xc1, 0x90, 0x5d, 0x84, 0x78, 0x2e, 0x62, 0xe8, 0xd1, 0x67, + 0x53, 0xc6, 0xab, 0x50, 0x14, 0x2e, 0x05, 0xa3, 0xe8, 0x28, 0x19, 0xdf, 0xda, 0x24, 0x06, 0x43, + 0xe2, 0x71, 0xf8, 0xa1, 0x6d, 0x4b, 0xef, 0xac, 0xc8, 0x99, 0xad, 0x31, 0x88, 0xf0, 0xcd, 0xce, + 0x43, 0x0d, 0x87, 0x61, 0xec, 0xbb, 0xf1, 0xa9, 0xe0, 0x30, 0x14, 0x8d, 0x3a, 0x34, 0x2c, 0xfb, + 0xb1, 0x1f, 0x1c, 0x78, 0xd8, 0xe9, 0x61, 0x87, 0x2f, 0x7b, 0xd5, 0x48, 0xc1, 0x84, 0x62, 0xb0, + 0x85, 0x37, 0x6d, 0x9f, 0xf2, 0x53, 0xbd, 0xc8, 0x14, 0x83, 0x41, 0xee, 0xf8, 0x94, 0x35, 0x3b, + 0xd8, 0xc3, 0x14, 0xf3, 0xe6, 0x8a, 0x68, 0x16, 0x10, 0xd9, 0x3c, 0x1c, 0xc4, 0xd4, 0x55, 0xd1, + 0x2c, 0x20, 0xac, 0xf9, 0x02, 0xd4, 0x46, 0xc9, 0x86, 0xda, 0x28, 0xda, 0xc8, 0x01, 0xfa, 0x4f, + 0x35, 0x68, 0x6e, 0xf2, 0xae, 0xce, 0x80, 0xd2, 0x21, 0x98, 0xc7, 0x4f, 0x07, 0xa1, 0xdc, 0x3a, + 0xfc, 0xf7, 0x44, 0x3d, 0xd2, 0x9f, 0x40, 0x7b, 0xdb, 0xb3, 0x6c, 0xbc, 0x1f, 0x78, 0x0e, 0x0e, + 0xf9, 0xd9, 0x8e, 0xda, 0x50, 0xa4, 0x56, 0x4f, 0x3a, 0x0f, 0xec, 0x27, 0xfa, 0xb2, 0xbc, 0xfa, + 0x09, 0xb3, 0xf4, 0xb2, 0xf2, 0x94, 0x4d, 0x74, 0x93, 0x08, 0xbc, 0xae, 0x40, 0x99, 0x27, 0x00, + 0x85, 0x5b, 0xd1, 0x30, 0xe4, 0x97, 0xfe, 0x28, 0x35, 0xee, 0xdd, 0x30, 0x18, 0x0e, 0xd0, 0x16, + 0x34, 0x06, 0x23, 0x18, 0xd3, 0xd5, 0xfc, 0x33, 0x3d, 0xcb, 0xb4, 0x91, 0x22, 0xd5, 0xff, 0xbb, + 0x08, 0xcd, 0x1d, 0x6c, 0x85, 0xf6, 0xfe, 0x99, 0x08, 0x32, 0xb5, 0xa1, 0xe8, 0x10, 0x4f, 0xae, + 0x1a, 0xfb, 0x89, 0xae, 0xc1, 0xb9, 0xc4, 0x84, 0xcc, 0x1e, 0x13, 0x10, 0xd7, 0xfb, 0x86, 0xd1, + 0x1e, 0x64, 0x05, 0xf7, 0x36, 0x54, 0x1d, 0xe2, 0x99, 0x7c, 0x89, 0x2a, 0x7c, 0x89, 0xd4, 0xf3, + 0xdb, 0x24, 0x1e, 0x5f, 0x9a, 0x8a, 0x23, 0x7e, 0xa0, 0x97, 0xa0, 0x19, 0x0c, 0xe9, 0x60, 0x48, + 0x4d, 0x61, 0x77, 0x3a, 0x55, 0xce, 0x5e, 0x43, 0x00, 0xb9, 0x59, 0x22, 0xe8, 0x7d, 0x68, 0x12, + 0x2e, 0xca, 0xc8, 0x31, 0xaf, 0x4d, 0xeb, 0x20, 0x36, 0x04, 0x9d, 0xf4, 0xcc, 0x5f, 0x83, 0x36, + 0x0d, 0xad, 0x27, 0xd8, 0x4b, 0xa4, 0xf6, 0x80, 0xef, 0xb6, 0x05, 0x01, 0x1f, 0xa5, 0xf5, 0x6e, + 0xc0, 0x62, 0x6f, 0x68, 0x85, 0x96, 0x4f, 0x31, 0x4e, 0x60, 0xd7, 0x39, 0x36, 0x8a, 0x9b, 0x62, + 0x02, 0xfd, 0x03, 0x98, 0xbf, 0xe7, 0x52, 0x2e, 0x48, 0x66, 0xb3, 0x34, 0x7e, 0x0d, 0xe2, 0x96, + 0xe9, 0x05, 0xa8, 0x86, 0xc1, 0x81, 0xb0, 0xc1, 0x05, 0xae, 0x82, 0x95, 0x30, 0x38, 0xe0, 0x06, + 0x96, 0x17, 0x44, 0x04, 0xa1, 0xd4, 0xcd, 0x82, 0x21, 0xbf, 0xf4, 0xbf, 0xd0, 0x46, 0xca, 0xc3, + 0xcc, 0x27, 0x79, 0x36, 0xfb, 0xf9, 0x1e, 0x54, 0x42, 0x41, 0x3f, 0x31, 0x95, 0x9b, 0x1c, 0x89, + 0x9f, 0x01, 0x11, 0xd5, 0xf4, 0x79, 0xa2, 0xef, 0x6a, 0xd0, 0x78, 0xdf, 0x1b, 0x92, 0xe7, 0xa1, + 0xec, 0xaa, 0xec, 0x45, 0x51, 0x9d, 0x39, 0xf9, 0x41, 0x01, 0x9a, 0x92, 0x8d, 0x59, 0x9c, 0xa0, + 0x5c, 0x56, 0x76, 0xa0, 0xce, 0x86, 0x34, 0x09, 0xee, 0x45, 0x31, 0x9d, 0xfa, 0xc6, 0x86, 0xd2, + 0x3c, 0xa4, 0xd8, 0xe0, 0xd9, 0xf2, 0x1d, 0x4e, 0xf4, 0x8b, 0x3e, 0x0d, 0x0f, 0x0d, 0xb0, 0x63, + 0x40, 0xf7, 0x11, 0x2c, 0x64, 0x9a, 0x99, 0x12, 0x3d, 0xc6, 0x87, 0x91, 0xfd, 0x7b, 0x8c, 0x0f, + 0xd1, 0x9b, 0xc9, 0x9a, 0x86, 0xbc, 0x53, 0xfc, 0x7e, 0xe0, 0xf7, 0x6e, 0x85, 0xa1, 0x75, 0x28, + 0x6b, 0x1e, 0xde, 0x29, 0x7c, 0x59, 0xd3, 0xff, 0xa1, 0x00, 0x8d, 0xaf, 0x0d, 0x71, 0x78, 0x78, + 0x92, 0x76, 0x28, 0x3a, 0x15, 0xe6, 0x13, 0xa7, 0xc2, 0xd8, 0xd6, 0x2f, 0x29, 0xb6, 0xbe, 0xc2, + 0x80, 0x95, 0x95, 0x06, 0x4c, 0xb5, 0xb7, 0x2b, 0xc7, 0xda, 0xdb, 0xd5, 0xdc, 0xbd, 0xfd, 0xe7, + 0x5a, 0x2c, 0xc2, 0x99, 0x76, 0x63, 0xca, 0x1d, 0x2b, 0x1c, 0xdb, 0x1d, 0x9b, 0x7a, 0x37, 0xfe, + 0x58, 0x83, 0xda, 0xd7, 0xb1, 0x4d, 0x83, 0x90, 0xd9, 0x1f, 0x05, 0x99, 0x36, 0x85, 0x6b, 0x5c, + 0xc8, 0xba, 0xc6, 0x37, 0xa1, 0xea, 0x3a, 0xa6, 0xc5, 0xf4, 0x8b, 0x8f, 0x3b, 0xc9, 0x25, 0xab, + 0xb8, 0x0e, 0x57, 0xc4, 0xe9, 0x93, 0x00, 0xbf, 0xa3, 0x41, 0x43, 0xf0, 0x4c, 0x04, 0xe5, 0xbb, + 0x89, 0xe1, 0x34, 0x95, 0xd2, 0xcb, 0x8f, 0x78, 0xa2, 0xf7, 0xe6, 0x46, 0xc3, 0xde, 0x02, 0x60, + 0x42, 0x96, 0xe4, 0x62, 0xcf, 0xac, 0x29, 0xb9, 0x15, 0xe4, 0x5c, 0xe0, 0xf7, 0xe6, 0x8c, 0x1a, + 0xa3, 0xe2, 0x5d, 0xdc, 0xae, 0x40, 0x89, 0x53, 0xeb, 0xff, 0xa7, 0xc1, 0xe2, 0x1d, 0xcb, 0xb3, + 0x37, 0x5d, 0x42, 0x2d, 0xdf, 0x9e, 0xc1, 0x09, 0x7b, 0x07, 0x2a, 0xc1, 0xc0, 0xf4, 0xf0, 0x1e, + 0x95, 0x2c, 0x5d, 0x9e, 0x30, 0x23, 0x21, 0x06, 0xa3, 0x1c, 0x0c, 0xee, 0xe3, 0x3d, 0x8a, 0xbe, + 0x02, 0xd5, 0x60, 0x60, 0x86, 0x6e, 0x6f, 0x9f, 0x4a, 0xe9, 0x4f, 0x41, 0x5c, 0x09, 0x06, 0x06, + 0xa3, 0x48, 0xc4, 0x56, 0xe6, 0x8f, 0x19, 0x5b, 0xd1, 0xff, 0x6d, 0x6c, 0xfa, 0x33, 0xec, 0x81, + 0x77, 0xa0, 0xea, 0xfa, 0xd4, 0x74, 0x5c, 0x12, 0x89, 0xe0, 0xa2, 0x5a, 0x87, 0x7c, 0xca, 0x67, + 0xc0, 0xd7, 0xd4, 0xa7, 0x6c, 0x6c, 0xf4, 0x55, 0x80, 0x3d, 0x2f, 0xb0, 0x24, 0xb5, 0x90, 0xc1, + 0x25, 0xf5, 0xf6, 0x61, 0x68, 0x11, 0x7d, 0x8d, 0x13, 0xb1, 0x1e, 0x46, 0x4b, 0xfa, 0x2f, 0x1a, + 0x2c, 0x6f, 0xe3, 0x50, 0x54, 0xbc, 0x50, 0x19, 0x06, 0xdd, 0xf2, 0xf7, 0x82, 0x74, 0x24, 0x5a, + 0xcb, 0x44, 0xa2, 0x7f, 0x36, 0xd1, 0xd7, 0xd4, 0xcd, 0x49, 0xe4, 0x43, 0xa2, 0x9b, 0x53, 0x94, + 0xf5, 0x11, 0x37, 0xcf, 0x56, 0xce, 0x32, 0x49, 0x7e, 0x93, 0x17, 0x70, 0xfd, 0xb7, 0x44, 0xa1, + 0x86, 0x72, 0x52, 0xcf, 0xae, 0xb0, 0x2b, 0x20, 0x2d, 0x7d, 0xc6, 0xee, 0xbf, 0x02, 0x19, 0xdb, + 0x91, 0x63, 0x88, 0x7e, 0xa4, 0xc1, 0x5a, 0x3e, 0x57, 0xb3, 0x1c, 0xd1, 0x5f, 0x85, 0x92, 0xeb, + 0xef, 0x05, 0x51, 0xd8, 0xed, 0xaa, 0xda, 0x45, 0x57, 0x8e, 0x2b, 0x08, 0xf5, 0xbf, 0x2e, 0x40, + 0x9b, 0x1b, 0xf5, 0x13, 0x58, 0xfe, 0x3e, 0xee, 0x9b, 0xc4, 0xfd, 0x04, 0x47, 0xcb, 0xdf, 0xc7, + 0xfd, 0x1d, 0xf7, 0x13, 0x9c, 0xd2, 0x8c, 0x52, 0x5a, 0x33, 0x26, 0x47, 0x95, 0x93, 0x61, 0xd5, + 0x4a, 0x3a, 0xac, 0xba, 0x02, 0x65, 0x3f, 0x70, 0xf0, 0xd6, 0xa6, 0xbc, 0x76, 0xca, 0xaf, 0x91, + 0xaa, 0xd5, 0x8e, 0xa9, 0x6a, 0x9f, 0x69, 0xd0, 0xbd, 0x8b, 0x69, 0x56, 0x76, 0x27, 0xa7, 0x65, + 0xdf, 0xd7, 0xe0, 0xbc, 0x92, 0xa1, 0x59, 0x14, 0xec, 0xdd, 0xb4, 0x82, 0xa9, 0xef, 0x80, 0x63, + 0x43, 0x4a, 0xdd, 0x7a, 0x03, 0x1a, 0x9b, 0xc3, 0x7e, 0x3f, 0x76, 0xb9, 0x2e, 0x43, 0x23, 0x14, + 0x3f, 0xc5, 0x15, 0x49, 0x9c, 0xbf, 0x75, 0x09, 0x63, 0x17, 0x21, 0xfd, 0x1a, 0x34, 0x25, 0x89, + 0xe4, 0xba, 0x0b, 0xd5, 0x50, 0xfe, 0x96, 0xf8, 0xf1, 0xb7, 0xbe, 0x0c, 0x8b, 0x06, 0xee, 0x31, + 0xd5, 0x0e, 0xef, 0xbb, 0xfe, 0x63, 0x39, 0x8c, 0xfe, 0x1d, 0x0d, 0x96, 0xd2, 0x70, 0xd9, 0xd7, + 0x5b, 0x50, 0xb1, 0x1c, 0x27, 0xc4, 0x84, 0x4c, 0x5c, 0x96, 0x5b, 0x02, 0xc7, 0x88, 0x90, 0x13, + 0x92, 0x2b, 0x4c, 0x2d, 0x39, 0xdd, 0x84, 0x73, 0x77, 0x31, 0x7d, 0x80, 0x69, 0x38, 0x53, 0x06, + 0xbf, 0xc3, 0x2e, 0x2f, 0x9c, 0x58, 0xaa, 0x45, 0xf4, 0xa9, 0x7f, 0xaa, 0x01, 0x4a, 0x8e, 0x30, + 0xcb, 0x32, 0x27, 0xa5, 0x5c, 0x48, 0x4b, 0x59, 0xd4, 0x42, 0xf5, 0x07, 0x81, 0x8f, 0x7d, 0x9a, + 0x74, 0xb7, 0x9a, 0x31, 0x34, 0x2a, 0x2b, 0x41, 0xf7, 0x03, 0xcb, 0xb9, 0x6d, 0x79, 0xb3, 0xb9, + 0x07, 0x17, 0x01, 0x48, 0x68, 0x9b, 0x72, 0xb7, 0x16, 0xa4, 0xf5, 0x09, 0xed, 0x87, 0x62, 0xc3, + 0x5e, 0x82, 0xba, 0x43, 0xa8, 0x6c, 0x8e, 0x12, 0xca, 0xe0, 0x10, 0x2a, 0xda, 0x79, 0xad, 0x2b, + 0xc1, 0x96, 0x87, 0x1d, 0x33, 0x91, 0x8f, 0x9b, 0xe7, 0x68, 0x6d, 0xd1, 0xb0, 0x13, 0xc3, 0x15, + 0x9b, 0xab, 0xa4, 0xdc, 0x5c, 0x8f, 0x60, 0xf5, 0x81, 0xe5, 0x0f, 0x2d, 0xef, 0x4e, 0xd0, 0x1f, + 0x58, 0xa9, 0x3a, 0xc9, 0xac, 0x39, 0xd4, 0x14, 0xe6, 0xf0, 0x45, 0x51, 0x48, 0x27, 0x5c, 0x70, + 0x3e, 0xa7, 0x79, 0x23, 0x01, 0xd1, 0x09, 0x74, 0xc6, 0xbb, 0x9f, 0x65, 0x41, 0x39, 0x53, 0x51, + 0x57, 0x49, 0x1b, 0x3d, 0x82, 0xe9, 0xef, 0xc1, 0x0b, 0xbc, 0xa8, 0x31, 0x02, 0xa5, 0x52, 0x00, + 0xd9, 0x0e, 0x34, 0x45, 0x07, 0xbf, 0x56, 0xe0, 0x26, 0x70, 0xac, 0x87, 0x59, 0x18, 0x7f, 0x27, + 0x1d, 0x79, 0x7f, 0x39, 0xa7, 0x70, 0x37, 0x3d, 0xa2, 0x0c, 0xbf, 0xaf, 0xc3, 0x02, 0x7e, 0x8a, + 0xed, 0x21, 0x75, 0xfd, 0xde, 0xb6, 0x67, 0xf9, 0x0f, 0x03, 0x79, 0xf0, 0x64, 0xc1, 0xe8, 0x65, + 0x68, 0x32, 0xe9, 0x07, 0x43, 0x2a, 0xf1, 0xc4, 0x09, 0x94, 0x06, 0xb2, 0xfe, 0xd8, 0x7c, 0x3d, + 0x4c, 0xb1, 0x23, 0xf1, 0xc4, 0x71, 0x94, 0x05, 0x8f, 0x89, 0x92, 0x81, 0xc9, 0x71, 0x44, 0xf9, + 0x1f, 0x5a, 0x46, 0x94, 0xb2, 0x87, 0x93, 0x12, 0xe5, 0x3d, 0x80, 0x3e, 0x0e, 0x7b, 0x78, 0x8b, + 0x1b, 0x7f, 0x71, 0xc3, 0x5f, 0x57, 0x1a, 0xff, 0x51, 0x07, 0x0f, 0x22, 0x02, 0x23, 0x41, 0xab, + 0xdf, 0x85, 0x45, 0x05, 0x0a, 0xb3, 0x6b, 0x24, 0x18, 0x86, 0x36, 0x8e, 0x82, 0x44, 0xd1, 0x27, + 0x3b, 0x07, 0xa9, 0x15, 0xf6, 0x30, 0x95, 0x4a, 0x2b, 0xbf, 0xf4, 0xb7, 0x78, 0xb2, 0x8a, 0x07, + 0x14, 0x52, 0x9a, 0x9a, 0x4e, 0xbc, 0x6b, 0x63, 0x89, 0xf7, 0x3d, 0x9e, 0x19, 0x4a, 0xd2, 0xcd, + 0x58, 0x34, 0xb1, 0xc7, 0xba, 0xc2, 0x8e, 0x7c, 0xb4, 0x11, 0x7d, 0xea, 0xff, 0xab, 0x41, 0x73, + 0xab, 0x3f, 0x08, 0x46, 0x49, 0x91, 0xa9, 0xaf, 0x9c, 0xe3, 0x41, 0xe5, 0x82, 0x2a, 0xa8, 0xfc, + 0x12, 0x34, 0xd3, 0x25, 0xff, 0x22, 0xfe, 0xd3, 0xb0, 0x93, 0xa5, 0xfe, 0xe7, 0xa1, 0x16, 0x06, + 0x07, 0x26, 0x33, 0xa5, 0x8e, 0x2c, 0xcf, 0xa8, 0x86, 0xc1, 0x01, 0x33, 0xb0, 0x0e, 0x5a, 0x82, + 0xd2, 0x9e, 0xeb, 0xc5, 0x95, 0x45, 0xe2, 0x03, 0xbd, 0xcb, 0x2e, 0x64, 0x22, 0x7d, 0x5b, 0x9e, + 0xf6, 0x5e, 0x14, 0x51, 0xe8, 0x1f, 0x43, 0x2b, 0x9a, 0xf5, 0x8c, 0xaf, 0x55, 0xa8, 0x45, 0x1e, + 0x47, 0x95, 0x13, 0xe2, 0x43, 0xbf, 0x26, 0xb2, 0x7a, 0xbc, 0xff, 0xd4, 0xa2, 0x23, 0x98, 0x67, + 0x18, 0x72, 0x2f, 0xf1, 0xdf, 0xfa, 0x77, 0x0b, 0xb0, 0x92, 0xc5, 0x9e, 0x85, 0xa5, 0xb7, 0xd2, + 0xfb, 0x47, 0xfd, 0x20, 0x21, 0x39, 0x9a, 0xdc, 0x3b, 0x72, 0x05, 0xec, 0x60, 0xe8, 0x53, 0x69, + 0x80, 0xd8, 0x0a, 0xdc, 0x61, 0xdf, 0x68, 0x15, 0x2a, 0xae, 0x63, 0x7a, 0xec, 0xee, 0x26, 0xce, + 0xa4, 0xb2, 0xeb, 0xdc, 0x67, 0xf7, 0xba, 0xb7, 0x23, 0x4f, 0x6b, 0xea, 0x72, 0x0b, 0x81, 0x8f, + 0x5a, 0x50, 0x70, 0x1d, 0x99, 0x8a, 0x29, 0xb8, 0x8e, 0xde, 0x81, 0x15, 0xd6, 0xa1, 0x60, 0xec, + 0x43, 0x26, 0xc6, 0xc8, 0x31, 0xfa, 0x81, 0x06, 0xab, 0x63, 0x4d, 0xb3, 0x48, 0xe8, 0x56, 0x72, + 0xd1, 0xea, 0x1b, 0xd7, 0x94, 0x06, 0x42, 0xbd, 0x24, 0xd1, 0x0a, 0xff, 0x50, 0x78, 0x31, 0x86, + 0x28, 0xe2, 0x7c, 0xce, 0x25, 0x41, 0xeb, 0xd0, 0x3e, 0x70, 0xe9, 0xbe, 0xc9, 0x1f, 0xa6, 0x70, + 0x17, 0x42, 0x64, 0xc5, 0xab, 0x46, 0x8b, 0xc1, 0x77, 0x18, 0x98, 0xb9, 0x11, 0x44, 0xff, 0x75, + 0x0d, 0x16, 0x53, 0x6c, 0xcd, 0x22, 0xa6, 0xaf, 0x30, 0xef, 0x4a, 0x74, 0x24, 0x25, 0xb5, 0xa6, + 0x94, 0x94, 0x1c, 0x8d, 0x9b, 0xd0, 0x98, 0x42, 0xff, 0x4f, 0x0d, 0xea, 0x89, 0x16, 0x76, 0x39, + 0x93, 0x6d, 0xa3, 0xcb, 0x59, 0x0c, 0x98, 0x4a, 0x0c, 0x2f, 0xc1, 0xc8, 0xb0, 0x24, 0x8a, 0xdb, + 0x13, 0x55, 0x79, 0x0e, 0x41, 0xf7, 0xa0, 0x25, 0xc4, 0x14, 0xb3, 0xae, 0x8c, 0x99, 0xc4, 0xf5, + 0x86, 0x56, 0xe8, 0x48, 0x2e, 0x8d, 0x26, 0x49, 0x7c, 0x89, 0x14, 0x69, 0xe0, 0x60, 0x3e, 0x52, + 0x49, 0xd8, 0x7a, 0xee, 0xbd, 0x39, 0x84, 0x5d, 0xa2, 0x1a, 0x49, 0x52, 0xe6, 0x88, 0x7a, 0xd8, + 0x72, 0x70, 0x18, 0xcf, 0x2d, 0xfe, 0x66, 0x9e, 0x9f, 0xf8, 0x6d, 0x32, 0xc7, 0x5c, 0x9a, 0x48, + 0x10, 0x20, 0xe6, 0xb3, 0xa3, 0x57, 0x60, 0xc1, 0xe9, 0xa7, 0x5e, 0x45, 0x45, 0xae, 0xaa, 0xd3, + 0x4f, 0x3c, 0x87, 0x4a, 0x31, 0x34, 0x9f, 0x66, 0xe8, 0x7f, 0xb4, 0xf8, 0xad, 0x68, 0x88, 0x1d, + 0xec, 0x53, 0xd7, 0xf2, 0x9e, 0x5d, 0x27, 0xbb, 0x50, 0x1d, 0x12, 0x1c, 0x26, 0x2c, 0x7a, 0xfc, + 0xcd, 0xda, 0x06, 0x16, 0x21, 0x07, 0x41, 0xe8, 0x48, 0x2e, 0xe3, 0xef, 0x09, 0x25, 0x8e, 0xe2, + 0x1d, 0xa2, 0xba, 0xc4, 0xf1, 0x2d, 0x58, 0xed, 0x07, 0x8e, 0xbb, 0xe7, 0xaa, 0x2a, 0x23, 0x19, + 0xd9, 0x72, 0xd4, 0x9c, 0xa2, 0xd3, 0x7f, 0x54, 0x80, 0xd5, 0x8f, 0x06, 0xce, 0xe7, 0x30, 0xe7, + 0x35, 0xa8, 0x07, 0x9e, 0xb3, 0x9d, 0x9e, 0x76, 0x12, 0xc4, 0x30, 0x7c, 0x7c, 0x10, 0x63, 0x88, + 0x40, 0x79, 0x12, 0x34, 0xb1, 0xfc, 0xf3, 0x99, 0x64, 0x53, 0x9e, 0x24, 0x9b, 0x1e, 0xac, 0x8a, + 0x9c, 0xf3, 0x73, 0x16, 0x8d, 0xfe, 0x2b, 0xb0, 0xcc, 0x4c, 0x33, 0x1b, 0xe6, 0x23, 0x82, 0xc3, + 0x19, 0x2d, 0xce, 0x05, 0xa8, 0x45, 0x3d, 0x47, 0x95, 0xb9, 0x23, 0x80, 0x7e, 0x0f, 0x96, 0x32, + 0x63, 0x3d, 0xe3, 0x8c, 0xae, 0x5e, 0x86, 0x6a, 0x54, 0x69, 0x8c, 0x2a, 0x50, 0xbc, 0xe5, 0x79, + 0xed, 0x39, 0xd4, 0x80, 0xea, 0x96, 0x2c, 0xa7, 0x6d, 0x6b, 0x57, 0x7f, 0x01, 0x16, 0x32, 0x19, + 0x69, 0x54, 0x85, 0xf9, 0x87, 0x81, 0x8f, 0xdb, 0x73, 0xa8, 0x0d, 0x8d, 0xdb, 0xae, 0x6f, 0x85, + 0x87, 0x22, 0x5e, 0xdb, 0x76, 0xd0, 0x02, 0xd4, 0x79, 0xdc, 0x52, 0x02, 0xf0, 0xc6, 0x9f, 0x5e, + 0x81, 0xe6, 0x03, 0xce, 0xc8, 0x0e, 0x0e, 0x9f, 0xb8, 0x36, 0x46, 0x26, 0xb4, 0xb3, 0xcf, 0xb9, + 0xd1, 0x17, 0xd4, 0xbe, 0xa9, 0xfa, 0xd5, 0x77, 0x77, 0x92, 0x0c, 0xf5, 0x39, 0xf4, 0x31, 0xb4, + 0xd2, 0x8f, 0xa2, 0x91, 0x3a, 0xb0, 0xa6, 0x7c, 0x39, 0x7d, 0x54, 0xe7, 0x26, 0x34, 0x53, 0x6f, + 0x9c, 0xd1, 0x6b, 0xca, 0xbe, 0x55, 0xef, 0xa0, 0xbb, 0x6a, 0xdb, 0x9b, 0x7c, 0x87, 0x2c, 0xb8, + 0x4f, 0x3f, 0x44, 0xcc, 0xe1, 0x5e, 0xf9, 0x5a, 0xf1, 0x28, 0xee, 0x2d, 0x38, 0x37, 0xf6, 0x60, + 0x10, 0xbd, 0x9e, 0x73, 0x9a, 0xa9, 0x1f, 0x16, 0x1e, 0x35, 0xc4, 0x01, 0xa0, 0xf1, 0xb7, 0xbc, + 0xe8, 0xba, 0x7a, 0x05, 0xf2, 0x5e, 0x32, 0x77, 0x6f, 0x4c, 0x8d, 0x1f, 0x0b, 0xee, 0x57, 0x35, + 0x58, 0xcd, 0x79, 0xe5, 0x87, 0x6e, 0xe6, 0xb9, 0x36, 0x13, 0x9e, 0x2a, 0x76, 0xdf, 0x3c, 0x1e, + 0x51, 0xcc, 0x88, 0x0f, 0x0b, 0x99, 0x87, 0x6f, 0xe8, 0x5a, 0x6e, 0x95, 0xff, 0xf8, 0x0b, 0xc0, + 0xee, 0x17, 0xa6, 0x43, 0x8e, 0xc7, 0x7b, 0x04, 0x0b, 0x99, 0xd7, 0x62, 0x39, 0xe3, 0xa9, 0xdf, + 0x94, 0x1d, 0xb5, 0xa0, 0xdf, 0x84, 0x66, 0xea, 0x59, 0x57, 0x8e, 0xc6, 0xab, 0x9e, 0x7e, 0x1d, + 0xd5, 0xf5, 0x23, 0x68, 0x24, 0x5f, 0x5f, 0xa1, 0xf5, 0xbc, 0xbd, 0x34, 0xd6, 0xf1, 0x71, 0xb6, + 0xd2, 0xe8, 0xd5, 0xc4, 0x84, 0xad, 0x34, 0xf6, 0xd0, 0x64, 0xfa, 0xad, 0x94, 0xe8, 0x7f, 0xe2, + 0x56, 0x3a, 0xf6, 0x10, 0xdf, 0xd1, 0xf8, 0x8d, 0x48, 0xf1, 0x2a, 0x07, 0x6d, 0xe4, 0xe9, 0x66, + 0xfe, 0xfb, 0xa3, 0xee, 0xcd, 0x63, 0xd1, 0xc4, 0x52, 0x7c, 0x0c, 0xad, 0xf4, 0xdb, 0x93, 0x1c, + 0x29, 0x2a, 0x9f, 0xeb, 0x74, 0xaf, 0x4d, 0x85, 0x1b, 0x0f, 0xf6, 0x11, 0xd4, 0x13, 0xff, 0xd0, + 0x82, 0x5e, 0x9d, 0xa0, 0xc7, 0xc9, 0xbf, 0x2b, 0x39, 0x4a, 0x92, 0x5f, 0x83, 0x5a, 0xfc, 0xc7, + 0x2a, 0xe8, 0x4a, 0xae, 0xfe, 0x1e, 0xa7, 0xcb, 0x1d, 0x80, 0xd1, 0xbf, 0xa6, 0xa0, 0x57, 0x94, + 0x7d, 0x8e, 0xfd, 0xad, 0xca, 0x51, 0x9d, 0xc6, 0xd3, 0x17, 0x25, 0x7d, 0x93, 0xa6, 0x9f, 0xac, + 0x41, 0x3d, 0xaa, 0xdb, 0x7d, 0x68, 0xa6, 0x2a, 0xc7, 0xf3, 0xb6, 0xb0, 0xa2, 0xa0, 0xbf, 0x7b, + 0x75, 0x1a, 0xd4, 0x78, 0xfd, 0xf6, 0xa1, 0x99, 0xaa, 0xe3, 0xcd, 0x19, 0x49, 0x55, 0xb6, 0x9c, + 0x33, 0x92, 0xb2, 0x2c, 0x58, 0x9f, 0x43, 0xdf, 0x4e, 0x94, 0x0c, 0xa7, 0xca, 0xb2, 0xd1, 0x1b, + 0x13, 0xfb, 0x51, 0x55, 0xa5, 0x77, 0x37, 0x8e, 0x43, 0x12, 0xb3, 0x20, 0xb5, 0x4a, 0x88, 0x34, + 0x5f, 0xab, 0x8e, 0xb3, 0x52, 0x3b, 0x50, 0x16, 0x95, 0xb9, 0x48, 0xcf, 0xa9, 0xc1, 0x4f, 0x94, + 0xed, 0x76, 0x5f, 0x52, 0xe2, 0xa4, 0x8b, 0x56, 0x45, 0xa7, 0xc2, 0x0b, 0xce, 0xe9, 0x34, 0x55, + 0x96, 0x39, 0x6d, 0xa7, 0x06, 0x94, 0x45, 0xc9, 0x55, 0x4e, 0xa7, 0xa9, 0xb2, 0xc1, 0xee, 0x64, + 0x1c, 0x9e, 0x8b, 0xd7, 0xe7, 0xd0, 0x36, 0x94, 0x78, 0xa0, 0x0f, 0x5d, 0x9e, 0x54, 0x8d, 0x34, + 0xa9, 0xc7, 0x54, 0xc1, 0x92, 0x3e, 0x87, 0x7e, 0x09, 0x4a, 0x3c, 0xbd, 0x95, 0xd3, 0x63, 0xb2, + 0xa4, 0xa8, 0x3b, 0x11, 0x25, 0x62, 0xd1, 0x81, 0x46, 0xb2, 0x8e, 0x20, 0xe7, 0xc8, 0x52, 0x54, + 0x5a, 0x74, 0xa7, 0xc1, 0x8c, 0x46, 0x11, 0xdb, 0x68, 0x14, 0xf4, 0xcc, 0xdf, 0x46, 0x63, 0x01, + 0xd5, 0xfc, 0x6d, 0x34, 0x1e, 0x43, 0xd5, 0xe7, 0xd0, 0x6f, 0x68, 0xd0, 0xc9, 0x4b, 0x6e, 0xa3, + 0x5c, 0x0f, 0x68, 0x52, 0x86, 0xbe, 0xfb, 0xa5, 0x63, 0x52, 0xc5, 0xbc, 0x7c, 0xc2, 0x83, 0x36, + 0x63, 0xe9, 0xec, 0x1b, 0x79, 0xfd, 0xe5, 0x24, 0x6f, 0xbb, 0x5f, 0x9c, 0x9e, 0x20, 0x1e, 0x7b, + 0x17, 0xea, 0x89, 0x80, 0x51, 0x8e, 0xe5, 0x1d, 0x8f, 0x74, 0xe5, 0xac, 0xaa, 0x22, 0xf6, 0x24, + 0xd4, 0x9b, 0x67, 0x47, 0x73, 0x94, 0x31, 0x99, 0x6c, 0xcd, 0x51, 0xef, 0x54, 0x72, 0x55, 0x9f, + 0x43, 0x18, 0x1a, 0xc9, 0x54, 0x69, 0x8e, 0x36, 0x2a, 0xb2, 0xac, 0xdd, 0xd7, 0xa6, 0xc0, 0x8c, + 0x87, 0x31, 0x01, 0x46, 0xa9, 0xca, 0x9c, 0xb3, 0x6e, 0x2c, 0x5b, 0xda, 0x7d, 0xf5, 0x48, 0xbc, + 0xe4, 0xb1, 0x9f, 0x48, 0x3e, 0xe6, 0x48, 0x7f, 0x3c, 0x3d, 0x39, 0xc5, 0x5d, 0x64, 0x3c, 0xc1, + 0x95, 0x73, 0x17, 0xc9, 0xcd, 0xa5, 0x75, 0x6f, 0x4c, 0x8d, 0x1f, 0xcf, 0xe7, 0x5b, 0xd0, 0xce, + 0x26, 0x04, 0x73, 0xee, 0xb8, 0x39, 0x69, 0xc9, 0xee, 0xeb, 0x53, 0x62, 0x27, 0xcf, 0xc3, 0xf3, + 0xe3, 0x3c, 0x7d, 0xc3, 0xa5, 0xfb, 0x3c, 0x17, 0x35, 0xcd, 0xac, 0x93, 0x69, 0xaf, 0x69, 0x66, + 0x9d, 0x4a, 0x72, 0xc9, 0xc3, 0x8b, 0x87, 0x8a, 0xf3, 0x0e, 0xaf, 0x64, 0x7a, 0x25, 0xe7, 0x9c, + 0x49, 0x27, 0x23, 0x84, 0xfb, 0x99, 0x0e, 0x41, 0xa3, 0xab, 0x53, 0xc5, 0xa9, 0x27, 0xb9, 0x9f, + 0xea, 0x98, 0xb6, 0xb8, 0xba, 0x65, 0x22, 0xec, 0x39, 0x57, 0x29, 0x75, 0x88, 0x3e, 0xe7, 0xea, + 0x96, 0x13, 0xb4, 0xe7, 0x1b, 0xab, 0x9d, 0x0d, 0x57, 0x4e, 0x8e, 0x85, 0x64, 0xc3, 0x58, 0x47, + 0x87, 0x2b, 0xda, 0xd9, 0xd8, 0x60, 0xce, 0x00, 0x39, 0x21, 0xc4, 0x29, 0x06, 0xc8, 0x46, 0xd8, + 0x72, 0x06, 0xc8, 0x09, 0xc4, 0x4d, 0xe1, 0xbb, 0xa6, 0xa2, 0x5d, 0x39, 0x47, 0xa1, 0x2a, 0x22, + 0x96, 0x73, 0x14, 0x2a, 0x03, 0x75, 0xfa, 0xdc, 0xc6, 0x10, 0x1a, 0xdb, 0x61, 0xf0, 0xf4, 0x30, + 0x0a, 0x54, 0x7d, 0x3e, 0xc6, 0xf5, 0xf6, 0x37, 0xa0, 0xe5, 0xc6, 0x38, 0xbd, 0x70, 0x60, 0xdf, + 0xae, 0x8b, 0x80, 0xd9, 0x36, 0x23, 0xde, 0xd6, 0x7e, 0xf9, 0x66, 0xcf, 0xa5, 0xfb, 0xc3, 0x5d, + 0x26, 0x99, 0x1b, 0x02, 0xed, 0x75, 0x37, 0x90, 0xbf, 0x6e, 0xb8, 0x3e, 0xc5, 0xa1, 0x6f, 0x79, + 0x37, 0xf8, 0x50, 0x12, 0x3a, 0xd8, 0xfd, 0x03, 0x4d, 0xdb, 0x2d, 0x73, 0xd0, 0xcd, 0xff, 0x0f, + 0x00, 0x00, 0xff, 0xff, 0x80, 0x61, 0xf4, 0x87, 0x36, 0x53, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. diff --git a/internal/proxy/rootcoord_mock_test.go b/internal/proxy/rootcoord_mock_test.go index 4d3a25a925..7ec863f2a2 100644 --- a/internal/proxy/rootcoord_mock_test.go +++ b/internal/proxy/rootcoord_mock_test.go @@ -980,7 +980,7 @@ func (coord *RootCoordMock) ListImportTasks(ctx context.Context, in *milvuspb.Li ErrorCode: commonpb.ErrorCode_UnexpectedError, Reason: fmt.Sprintf("state code = %s", internalpb.StateCode_name[int32(code)]), }, - Tasks: make([]int64, 0), + Tasks: make([]*milvuspb.GetImportStateResponse, 0), }, nil } return &milvuspb.ListImportTasksResponse{ @@ -988,7 +988,7 @@ func (coord *RootCoordMock) ListImportTasks(ctx context.Context, in *milvuspb.Li ErrorCode: commonpb.ErrorCode_Success, Reason: "", }, - Tasks: make([]int64, 3), + Tasks: make([]*milvuspb.GetImportStateResponse, 3), }, nil } diff --git a/internal/rootcoord/import_manager.go b/internal/rootcoord/import_manager.go index 93eff06ed0..fb1c890728 100644 --- a/internal/rootcoord/import_manager.go +++ b/internal/rootcoord/import_manager.go @@ -378,13 +378,14 @@ func (m *importManager) getTaskState(tID int64) *milvuspb.GetImportStateResponse func() { m.pendingLock.Lock() defer m.pendingLock.Unlock() - for i := 0; i < len(m.pendingTasks); i++ { - if tID == m.pendingTasks[i].Id { + for _, t := range m.pendingTasks { + if tID == t.Id { resp.Status = &commonpb.Status{ ErrorCode: commonpb.ErrorCode_Success, } + resp.Id = tID resp.State = commonpb.ImportState_ImportPending - resp.Infos = append(resp.Infos, &commonpb.KeyValuePair{Key: Files, Value: strings.Join(m.pendingTasks[i].GetFiles(), ",")}) + resp.Infos = append(resp.Infos, &commonpb.KeyValuePair{Key: Files, Value: strings.Join(t.GetFiles(), ",")}) found = true break } @@ -402,6 +403,7 @@ func (m *importManager) getTaskState(tID int64) *milvuspb.GetImportStateResponse resp.Status = &commonpb.Status{ ErrorCode: commonpb.ErrorCode_Success, } + resp.Id = tID resp.State = v.GetState().GetStateCode() resp.RowCount = v.GetState().GetRowCount() resp.IdList = v.GetState().GetRowIds() @@ -542,23 +544,49 @@ func (m *importManager) expireOldTasks() { }() } -func (m *importManager) listAllTasks() []int64 { - tasks := make([]int64, 0) +func (m *importManager) listAllTasks() []*milvuspb.GetImportStateResponse { + tasks := make([]*milvuspb.GetImportStateResponse, 0) func() { m.pendingLock.Lock() defer m.pendingLock.Unlock() for _, t := range m.pendingTasks { - tasks = append(tasks, t.GetId()) + resp := &milvuspb.GetImportStateResponse{ + Status: &commonpb.Status{ + ErrorCode: commonpb.ErrorCode_Success, + }, + Infos: make([]*commonpb.KeyValuePair, 0), + Id: t.GetId(), + State: commonpb.ImportState_ImportPending, + } + resp.Infos = append(resp.Infos, &commonpb.KeyValuePair{Key: Files, Value: strings.Join(t.GetFiles(), ",")}) + tasks = append(tasks, resp) } + log.Info("tasks in pending list", zap.Int("count", len(m.pendingTasks))) }() func() { m.workingLock.Lock() defer m.workingLock.Unlock() for _, v := range m.workingTasks { - tasks = append(tasks, v.GetId()) + resp := &milvuspb.GetImportStateResponse{ + Status: &commonpb.Status{ + ErrorCode: commonpb.ErrorCode_Success, + }, + Infos: make([]*commonpb.KeyValuePair, 0), + Id: v.GetId(), + State: v.GetState().GetStateCode(), + RowCount: v.GetState().GetRowCount(), + IdList: v.GetState().GetRowIds(), + } + resp.Infos = append(resp.Infos, &commonpb.KeyValuePair{Key: Files, Value: strings.Join(v.GetFiles(), ",")}) + resp.Infos = append(resp.Infos, &commonpb.KeyValuePair{ + Key: FailedReason, + Value: v.GetState().GetErrorMessage(), + }) + tasks = append(tasks, resp) } + log.Info("tasks in working list", zap.Int("count", len(m.workingTasks))) }() return tasks diff --git a/internal/rootcoord/import_manager_test.go b/internal/rootcoord/import_manager_test.go index 1a74b1fa36..e24f88a7d0 100644 --- a/internal/rootcoord/import_manager_test.go +++ b/internal/rootcoord/import_manager_test.go @@ -335,3 +335,70 @@ func TestImportManager_AllocFail(t *testing.T) { mgr := newImportManager(context.TODO(), mockKv, idAlloc, fn) mgr.importJob(context.TODO(), rowReq, colID, 0) } + +func TestImportManager_ListAllTasks(t *testing.T) { + var countLock sync.RWMutex + var globalCount = typeutil.UniqueID(0) + + var idAlloc = func(count uint32) (typeutil.UniqueID, typeutil.UniqueID, error) { + countLock.Lock() + defer countLock.Unlock() + globalCount++ + return globalCount, 0, nil + } + + Params.RootCoordCfg.ImportTaskSubPath = "test_import_task" + colID := int64(100) + mockKv := &kv.MockMetaKV{} + mockKv.InMemKv = make(map[string]string) + + // reject some tasks so there are 3 tasks left in pending list + fn := func(ctx context.Context, req *datapb.ImportTaskRequest) *datapb.ImportTaskResponse { + return &datapb.ImportTaskResponse{ + Status: &commonpb.Status{ + ErrorCode: commonpb.ErrorCode_UnexpectedError, + }, + } + } + + rowReq := &milvuspb.ImportRequest{ + CollectionName: "c1", + PartitionName: "p1", + RowBased: true, + Files: []string{"f1", "f2", "f3"}, + } + + mgr := newImportManager(context.TODO(), mockKv, idAlloc, fn) + mgr.importJob(context.TODO(), rowReq, colID, 0) + + tasks := mgr.listAllTasks() + assert.Equal(t, len(rowReq.Files), len(tasks)) + + resp := mgr.getTaskState(1) + assert.Equal(t, commonpb.ErrorCode_Success, resp.Status.ErrorCode) + assert.Equal(t, commonpb.ImportState_ImportPending, resp.State) + assert.Equal(t, int64(1), resp.Id) + + // accept tasks to working list + mgr.callImportService = func(ctx context.Context, req *datapb.ImportTaskRequest) *datapb.ImportTaskResponse { + return &datapb.ImportTaskResponse{ + Status: &commonpb.Status{ + ErrorCode: commonpb.ErrorCode_Success, + }, + } + } + + mgr.importJob(context.TODO(), rowReq, colID, 0) + tasks = mgr.listAllTasks() + assert.Equal(t, len(rowReq.Files)*2, len(tasks)) + + // the id of tasks must be 1,2,3,4,5,6(sequence not guaranteed) + ids := make(map[int64]struct{}) + for i := 0; i < len(tasks); i++ { + ids[int64(i)+1] = struct{}{} + } + for i := 0; i < len(tasks); i++ { + delete(ids, tasks[i].Id) + } + assert.Equal(t, 0, len(ids)) +} diff --git a/internal/util/importutil/import_wrapper.go b/internal/util/importutil/import_wrapper.go index d8e11a6887..afdd2427f9 100644 --- a/internal/util/importutil/import_wrapper.go +++ b/internal/util/importutil/import_wrapper.go @@ -25,6 +25,7 @@ import ( const ( JSONFileExt = ".json" NumpyFileExt = ".npy" + MaxFileSize = 4 * 1024 * 1024 * 1024 // maximum size of each file ) type ImportWrapper struct { @@ -108,10 +109,41 @@ func getFileNameAndExt(filePath string) (string, string) { return fileNameWithoutExt, fileType } +func (p *ImportWrapper) fileValidation(filePaths []string, rowBased bool) error { + for i := 0; i < len(filePaths); i++ { + filePath := filePaths[i] + _, fileType := getFileNameAndExt(filePath) + + // check file type + if rowBased { + if fileType != JSONFileExt { + return errors.New("unsupported file type for row-based mode: " + filePath) + } + } else { + if fileType != JSONFileExt && fileType != NumpyFileExt { + return errors.New("unsupported file type for column-based mode: " + filePath) + } + } + + // check file size + size, _ := p.chunkManager.Size(filePath) + if size > MaxFileSize { + return errors.New("the file " + filePath + " size exceeds the maximum file size: " + strconv.FormatInt(MaxFileSize, 10) + " bytes") + } + } + + return nil +} + // import process entry // filePath and rowBased are from ImportTask // if onlyValidate is true, this process only do validation, no data generated, callFlushFunc will not be called func (p *ImportWrapper) Import(filePaths []string, rowBased bool, onlyValidate bool) error { + err := p.fileValidation(filePaths, rowBased) + if err != nil { + return err + } + if rowBased { // parse and consume row-based files // for row-based files, the JSONRowConsumer will generate autoid for primary key, and split rows into segments @@ -419,26 +451,36 @@ func (p *ImportWrapper) splitFieldsData(fieldsData map[storage.FieldID]storage.F tr := timerecord.NewTimeRecorder("split field data") defer tr.Elapse("finished") + // check existence of each field + // check row count, all fields row count must be equal + // firstly get the max row count + rowCount := 0 + rowCounter := make(map[string]int) var primaryKey *schemapb.FieldSchema for i := 0; i < len(p.collectionSchema.Fields); i++ { schema := p.collectionSchema.Fields[i] if schema.GetIsPrimaryKey() { primaryKey = schema - } else { - _, ok := fieldsData[schema.GetFieldID()] + } + + if !schema.GetAutoID() { + v, ok := fieldsData[schema.GetFieldID()] if !ok { return errors.New("import error: field " + schema.GetName() + " not provided") } + rowCounter[schema.GetName()] = v.RowNum() + if v.RowNum() > rowCount { + rowCount = v.RowNum() + } } } if primaryKey == nil { return errors.New("import error: primary key field is not found") } - rowCount := 0 - for _, v := range fieldsData { - if v.RowNum() > rowCount { - rowCount = v.RowNum() + for name, count := range rowCounter { + if count != rowCount { + return errors.New("import error: field " + name + " row count " + strconv.Itoa(count) + " is not equal to other fields " + strconv.Itoa(rowCount)) } } diff --git a/internal/util/importutil/json_handler.go b/internal/util/importutil/json_handler.go index cb2d4b45e0..1a02e7cb4e 100644 --- a/internal/util/importutil/json_handler.go +++ b/internal/util/importutil/json_handler.go @@ -47,6 +47,7 @@ type Validator struct { primaryKey bool // true for primary key autoID bool // only for primary key field dimension int // only for vector field + fieldName string // field name } // method to construct valiator functions @@ -74,6 +75,7 @@ func initValidators(collectionSchema *schemapb.CollectionSchema, validators map[ validators[schema.GetFieldID()] = &Validator{} validators[schema.GetFieldID()].primaryKey = schema.GetIsPrimaryKey() validators[schema.GetFieldID()].autoID = schema.GetAutoID() + validators[schema.GetFieldID()].fieldName = schema.GetName() switch schema.DataType { case schemapb.DataType_Bool: @@ -153,7 +155,7 @@ func initValidators(collectionSchema *schemapb.CollectionSchema, validators map[ switch vt := obj.(type) { case []interface{}: if len(vt)*8 != dim { - msg := "bit size " + strconv.Itoa(len(vt)*8) + " doesn't equal to vector dimension " + strconv.Itoa(dim) + msg := "bit size " + strconv.Itoa(len(vt)*8) + " doesn't equal to vector dimension " + strconv.Itoa(dim) + " of field " + schema.GetName() return errors.New(msg) } for i := 0; i < len(vt); i++ { @@ -197,7 +199,7 @@ func initValidators(collectionSchema *schemapb.CollectionSchema, validators map[ switch vt := obj.(type) { case []interface{}: if len(vt) != dim { - msg := "array size " + strconv.Itoa(len(vt)) + " doesn't equal to vector dimension " + strconv.Itoa(dim) + msg := "array size " + strconv.Itoa(len(vt)) + " doesn't equal to vector dimension " + strconv.Itoa(dim) + " of field " + schema.GetName() return errors.New(msg) } for i := 0; i < len(vt); i++ { @@ -295,7 +297,7 @@ func (v *JSONRowValidator) Handle(rows []map[storage.FieldID]interface{}) error } value, ok := row[id] if !ok { - return errors.New("JSON row validator: fieldID " + strconv.FormatInt(id, 10) + " missed at the row " + strconv.FormatInt(v.rowCounter+int64(i), 10)) + return errors.New("JSON row validator: field " + validator.fieldName + " missed at the row " + strconv.FormatInt(v.rowCounter+int64(i), 10)) } if err := validator.validateFunc(value); err != nil { @@ -317,21 +319,21 @@ func (v *JSONRowValidator) Handle(rows []map[storage.FieldID]interface{}) error type JSONColumnValidator struct { downstream JSONColumnHandler // downstream processor, typically is a JSONColumnComsumer validators map[storage.FieldID]*Validator // validators for each field - rowCounter map[storage.FieldID]int64 // row count of each field + rowCounter map[string]int64 // row count of each field } func NewJSONColumnValidator(schema *schemapb.CollectionSchema, downstream JSONColumnHandler) *JSONColumnValidator { v := &JSONColumnValidator{ validators: make(map[storage.FieldID]*Validator), downstream: downstream, - rowCounter: make(map[storage.FieldID]int64), + rowCounter: make(map[string]int64), } initValidators(schema, v.validators) return v } -func (v *JSONColumnValidator) ValidateCount() map[storage.FieldID]int64 { +func (v *JSONColumnValidator) ValidateCount() map[string]int64 { return v.rowCounter } @@ -348,7 +350,7 @@ func (v *JSONColumnValidator) Handle(columns map[storage.FieldID][]interface{}) if rowCount == -1 { rowCount = counter } else if rowCount != counter { - return errors.New("JSON column validator: the field " + strconv.FormatInt(k, 10) + " row count " + strconv.Itoa(int(counter)) + " is not equal to other fields " + strconv.Itoa(int(rowCount))) + return errors.New("JSON column validator: the field " + k + " row count " + strconv.Itoa(int(counter)) + " is not equal to other fields " + strconv.Itoa(int(rowCount))) } } @@ -360,8 +362,9 @@ func (v *JSONColumnValidator) Handle(columns map[storage.FieldID][]interface{}) return nil } - for name, values := range columns { - validator, ok := v.validators[name] + for id, values := range columns { + validator, ok := v.validators[id] + name := validator.fieldName if !ok { // not a valid field name, skip without parsing break