diff --git a/internal/core/src/pb/milvus.pb.cc b/internal/core/src/pb/milvus.pb.cc index 4977d72b279e3956ce13f4668c4a9ab977e388b2..864ba9466e1d8c5cce17b883d99a237523e8de40 100644 --- a/internal/core/src/pb/milvus.pb.cc +++ b/internal/core/src/pb/milvus.pb.cc @@ -2361,6 +2361,7 @@ const ::PROTOBUF_NAMESPACE_ID::uint32 TableStruct_milvus_2eproto::offsets[] PROT PROTOBUF_FIELD_OFFSET(::milvus::proto::milvus::QuerySegmentInfo, indexid_), PROTOBUF_FIELD_OFFSET(::milvus::proto::milvus::QuerySegmentInfo, nodeid_), PROTOBUF_FIELD_OFFSET(::milvus::proto::milvus::QuerySegmentInfo, state_), + PROTOBUF_FIELD_OFFSET(::milvus::proto::milvus::QuerySegmentInfo, nodeids_), ~0u, // no _has_bits_ PROTOBUF_FIELD_OFFSET(::milvus::proto::milvus::GetQuerySegmentInfoRequest, _internal_metadata_), ~0u, // no _extensions_ @@ -2674,39 +2675,39 @@ static const ::PROTOBUF_NAMESPACE_ID::internal::MigrationSchema schemas[] PROTOB { 522, -1, sizeof(::milvus::proto::milvus::GetPersistentSegmentInfoRequest)}, { 530, -1, sizeof(::milvus::proto::milvus::GetPersistentSegmentInfoResponse)}, { 537, -1, sizeof(::milvus::proto::milvus::QuerySegmentInfo)}, - { 551, -1, sizeof(::milvus::proto::milvus::GetQuerySegmentInfoRequest)}, - { 559, -1, sizeof(::milvus::proto::milvus::GetQuerySegmentInfoResponse)}, - { 566, -1, sizeof(::milvus::proto::milvus::DummyRequest)}, - { 572, -1, sizeof(::milvus::proto::milvus::DummyResponse)}, - { 578, -1, sizeof(::milvus::proto::milvus::RegisterLinkRequest)}, - { 583, -1, sizeof(::milvus::proto::milvus::RegisterLinkResponse)}, - { 590, -1, sizeof(::milvus::proto::milvus::GetMetricsRequest)}, - { 597, -1, sizeof(::milvus::proto::milvus::GetMetricsResponse)}, - { 605, -1, sizeof(::milvus::proto::milvus::LoadBalanceRequest)}, - { 615, -1, sizeof(::milvus::proto::milvus::ManualCompactionRequest)}, - { 622, -1, sizeof(::milvus::proto::milvus::ManualCompactionResponse)}, - { 629, -1, sizeof(::milvus::proto::milvus::GetCompactionStateRequest)}, - { 635, -1, sizeof(::milvus::proto::milvus::GetCompactionStateResponse)}, - { 645, -1, sizeof(::milvus::proto::milvus::GetCompactionPlansRequest)}, - { 651, -1, sizeof(::milvus::proto::milvus::GetCompactionPlansResponse)}, - { 659, -1, sizeof(::milvus::proto::milvus::CompactionMergeInfo)}, - { 666, -1, sizeof(::milvus::proto::milvus::GetFlushStateRequest)}, - { 672, -1, sizeof(::milvus::proto::milvus::GetFlushStateResponse)}, - { 679, -1, sizeof(::milvus::proto::milvus::ImportRequest)}, - { 690, -1, sizeof(::milvus::proto::milvus::ImportResponse)}, - { 697, -1, sizeof(::milvus::proto::milvus::GetImportStateRequest)}, - { 703, -1, sizeof(::milvus::proto::milvus::GetImportStateResponse)}, - { 716, -1, sizeof(::milvus::proto::milvus::ListImportTasksRequest)}, - { 721, -1, sizeof(::milvus::proto::milvus::ListImportTasksResponse)}, - { 728, -1, sizeof(::milvus::proto::milvus::GetReplicasRequest)}, - { 736, -1, sizeof(::milvus::proto::milvus::GetReplicasResponse)}, - { 743, -1, sizeof(::milvus::proto::milvus::ReplicaInfo)}, - { 753, -1, sizeof(::milvus::proto::milvus::ShardReplica)}, - { 762, -1, sizeof(::milvus::proto::milvus::CreateCredentialRequest)}, - { 772, -1, sizeof(::milvus::proto::milvus::UpdateCredentialRequest)}, - { 783, -1, sizeof(::milvus::proto::milvus::DeleteCredentialRequest)}, - { 790, -1, sizeof(::milvus::proto::milvus::ListCredUsersResponse)}, - { 797, -1, sizeof(::milvus::proto::milvus::ListCredUsersRequest)}, + { 552, -1, sizeof(::milvus::proto::milvus::GetQuerySegmentInfoRequest)}, + { 560, -1, sizeof(::milvus::proto::milvus::GetQuerySegmentInfoResponse)}, + { 567, -1, sizeof(::milvus::proto::milvus::DummyRequest)}, + { 573, -1, sizeof(::milvus::proto::milvus::DummyResponse)}, + { 579, -1, sizeof(::milvus::proto::milvus::RegisterLinkRequest)}, + { 584, -1, sizeof(::milvus::proto::milvus::RegisterLinkResponse)}, + { 591, -1, sizeof(::milvus::proto::milvus::GetMetricsRequest)}, + { 598, -1, sizeof(::milvus::proto::milvus::GetMetricsResponse)}, + { 606, -1, sizeof(::milvus::proto::milvus::LoadBalanceRequest)}, + { 616, -1, sizeof(::milvus::proto::milvus::ManualCompactionRequest)}, + { 623, -1, sizeof(::milvus::proto::milvus::ManualCompactionResponse)}, + { 630, -1, sizeof(::milvus::proto::milvus::GetCompactionStateRequest)}, + { 636, -1, sizeof(::milvus::proto::milvus::GetCompactionStateResponse)}, + { 646, -1, sizeof(::milvus::proto::milvus::GetCompactionPlansRequest)}, + { 652, -1, sizeof(::milvus::proto::milvus::GetCompactionPlansResponse)}, + { 660, -1, sizeof(::milvus::proto::milvus::CompactionMergeInfo)}, + { 667, -1, sizeof(::milvus::proto::milvus::GetFlushStateRequest)}, + { 673, -1, sizeof(::milvus::proto::milvus::GetFlushStateResponse)}, + { 680, -1, sizeof(::milvus::proto::milvus::ImportRequest)}, + { 691, -1, sizeof(::milvus::proto::milvus::ImportResponse)}, + { 698, -1, sizeof(::milvus::proto::milvus::GetImportStateRequest)}, + { 704, -1, sizeof(::milvus::proto::milvus::GetImportStateResponse)}, + { 717, -1, sizeof(::milvus::proto::milvus::ListImportTasksRequest)}, + { 722, -1, sizeof(::milvus::proto::milvus::ListImportTasksResponse)}, + { 729, -1, sizeof(::milvus::proto::milvus::GetReplicasRequest)}, + { 737, -1, sizeof(::milvus::proto::milvus::GetReplicasResponse)}, + { 744, -1, sizeof(::milvus::proto::milvus::ReplicaInfo)}, + { 754, -1, sizeof(::milvus::proto::milvus::ShardReplica)}, + { 763, -1, sizeof(::milvus::proto::milvus::CreateCredentialRequest)}, + { 773, -1, sizeof(::milvus::proto::milvus::UpdateCredentialRequest)}, + { 784, -1, sizeof(::milvus::proto::milvus::DeleteCredentialRequest)}, + { 791, -1, sizeof(::milvus::proto::milvus::ListCredUsersResponse)}, + { 798, -1, sizeof(::milvus::proto::milvus::ListCredUsersRequest)}, }; static ::PROTOBUF_NAMESPACE_ID::Message const * const file_default_instances[] = { @@ -3026,227 +3027,228 @@ const char descriptor_table_protodef_milvus_2eproto[] PROTOBUF_SECTION_VARIABLE( " GetPersistentSegmentInfoResponse\022+\n\006sta" "tus\030\001 \001(\0132\033.milvus.proto.common.Status\0229" "\n\005infos\030\002 \003(\0132*.milvus.proto.milvus.Pers" - "istentSegmentInfo\"\333\001\n\020QuerySegmentInfo\022\021" + "istentSegmentInfo\"\354\001\n\020QuerySegmentInfo\022\021" "\n\tsegmentID\030\001 \001(\003\022\024\n\014collectionID\030\002 \001(\003\022" "\023\n\013partitionID\030\003 \001(\003\022\020\n\010mem_size\030\004 \001(\003\022\020" "\n\010num_rows\030\005 \001(\003\022\022\n\nindex_name\030\006 \001(\t\022\017\n\007" "indexID\030\007 \001(\003\022\016\n\006nodeID\030\010 \001(\003\0220\n\005state\030\t" - " \001(\0162!.milvus.proto.common.SegmentState\"" - "p\n\032GetQuerySegmentInfoRequest\022*\n\004base\030\001 " - "\001(\0132\034.milvus.proto.common.MsgBase\022\016\n\006dbN" - "ame\030\002 \001(\t\022\026\n\016collectionName\030\003 \001(\t\"\200\001\n\033Ge" - "tQuerySegmentInfoResponse\022+\n\006status\030\001 \001(" - "\0132\033.milvus.proto.common.Status\0224\n\005infos\030" - "\002 \003(\0132%.milvus.proto.milvus.QuerySegment" - "Info\"$\n\014DummyRequest\022\024\n\014request_type\030\001 \001" - "(\t\"!\n\rDummyResponse\022\020\n\010response\030\001 \001(\t\"\025\n" - "\023RegisterLinkRequest\"r\n\024RegisterLinkResp" - "onse\022-\n\007address\030\001 \001(\0132\034.milvus.proto.com" - "mon.Address\022+\n\006status\030\002 \001(\0132\033.milvus.pro" - "to.common.Status\"P\n\021GetMetricsRequest\022*\n" - "\004base\030\001 \001(\0132\034.milvus.proto.common.MsgBas" - "e\022\017\n\007request\030\002 \001(\t\"k\n\022GetMetricsResponse" + " \001(\0162!.milvus.proto.common.SegmentState\022" + "\017\n\007nodeIds\030\n \003(\003\"p\n\032GetQuerySegmentInfoR" + "equest\022*\n\004base\030\001 \001(\0132\034.milvus.proto.comm" + "on.MsgBase\022\016\n\006dbName\030\002 \001(\t\022\026\n\016collection" + "Name\030\003 \001(\t\"\200\001\n\033GetQuerySegmentInfoRespon" + "se\022+\n\006status\030\001 \001(\0132\033.milvus.proto.common" + ".Status\0224\n\005infos\030\002 \003(\0132%.milvus.proto.mi" + "lvus.QuerySegmentInfo\"$\n\014DummyRequest\022\024\n" + "\014request_type\030\001 \001(\t\"!\n\rDummyResponse\022\020\n\010" + "response\030\001 \001(\t\"\025\n\023RegisterLinkRequest\"r\n" + "\024RegisterLinkResponse\022-\n\007address\030\001 \001(\0132\034" + ".milvus.proto.common.Address\022+\n\006status\030\002" + " \001(\0132\033.milvus.proto.common.Status\"P\n\021Get" + "MetricsRequest\022*\n\004base\030\001 \001(\0132\034.milvus.pr" + "oto.common.MsgBase\022\017\n\007request\030\002 \001(\t\"k\n\022G" + "etMetricsResponse\022+\n\006status\030\001 \001(\0132\033.milv" + "us.proto.common.Status\022\020\n\010response\030\002 \001(\t" + "\022\026\n\016component_name\030\003 \001(\t\"\234\001\n\022LoadBalance" + "Request\022*\n\004base\030\001 \001(\0132\034.milvus.proto.com" + "mon.MsgBase\022\022\n\nsrc_nodeID\030\002 \001(\003\022\023\n\013dst_n" + "odeIDs\030\003 \003(\003\022\031\n\021sealed_segmentIDs\030\004 \003(\003\022" + "\026\n\016collectionName\030\005 \001(\t\"C\n\027ManualCompact" + "ionRequest\022\024\n\014collectionID\030\001 \001(\003\022\022\n\ntime" + "travel\030\002 \001(\004\"]\n\030ManualCompactionResponse" "\022+\n\006status\030\001 \001(\0132\033.milvus.proto.common.S" - "tatus\022\020\n\010response\030\002 \001(\t\022\026\n\016component_nam" - "e\030\003 \001(\t\"\234\001\n\022LoadBalanceRequest\022*\n\004base\030\001" - " \001(\0132\034.milvus.proto.common.MsgBase\022\022\n\nsr" - "c_nodeID\030\002 \001(\003\022\023\n\013dst_nodeIDs\030\003 \003(\003\022\031\n\021s" - "ealed_segmentIDs\030\004 \003(\003\022\026\n\016collectionName" - "\030\005 \001(\t\"C\n\027ManualCompactionRequest\022\024\n\014col" - "lectionID\030\001 \001(\003\022\022\n\ntimetravel\030\002 \001(\004\"]\n\030M" - "anualCompactionResponse\022+\n\006status\030\001 \001(\0132" - "\033.milvus.proto.common.Status\022\024\n\014compacti" - "onID\030\002 \001(\003\"1\n\031GetCompactionStateRequest\022" - "\024\n\014compactionID\030\001 \001(\003\"\307\001\n\032GetCompactionS" - "tateResponse\022+\n\006status\030\001 \001(\0132\033.milvus.pr" - "oto.common.Status\0223\n\005state\030\002 \001(\0162$.milvu" - "s.proto.common.CompactionState\022\027\n\017execut" - "ingPlanNo\030\003 \001(\003\022\025\n\rtimeoutPlanNo\030\004 \001(\003\022\027" - "\n\017completedPlanNo\030\005 \001(\003\"1\n\031GetCompaction" - "PlansRequest\022\024\n\014compactionID\030\001 \001(\003\"\274\001\n\032G" - "etCompactionPlansResponse\022+\n\006status\030\001 \001(" - "\0132\033.milvus.proto.common.Status\0223\n\005state\030" - "\002 \001(\0162$.milvus.proto.common.CompactionSt" - "ate\022<\n\nmergeInfos\030\003 \003(\0132(.milvus.proto.m" - "ilvus.CompactionMergeInfo\"6\n\023CompactionM" - "ergeInfo\022\017\n\007sources\030\001 \003(\003\022\016\n\006target\030\002 \001(" - "\003\"*\n\024GetFlushStateRequest\022\022\n\nsegmentIDs\030" - "\001 \003(\003\"U\n\025GetFlushStateResponse\022+\n\006status" - "\030\001 \001(\0132\033.milvus.proto.common.Status\022\017\n\007f" - "lushed\030\002 \001(\010\"\255\001\n\rImportRequest\022\027\n\017collec" - "tion_name\030\001 \001(\t\022\026\n\016partition_name\030\002 \001(\t\022" - "\025\n\rchannel_names\030\003 \003(\t\022\021\n\trow_based\030\004 \001(" - "\010\022\r\n\005files\030\005 \003(\t\0222\n\007options\030\006 \003(\0132!.milv" - "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\"\232\002\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\022\n\n\002id\030\006" - " \001(\003\022 \n\030heuristic_data_queryable\030\007 \001(\010\022\036" - "\n\026heuristic_data_indexed\030\010 \001(\010\"\030\n\026ListIm" - "portTasksRequest\"\202\001\n\027ListImportTasksResp" - "onse\022+\n\006status\030\001 \001(\0132\033.milvus.proto.comm" - "on.Status\022:\n\005tasks\030\002 \003(\0132+.milvus.proto." - "milvus.GetImportStateResponse\"p\n\022GetRepl" - "icasRequest\022*\n\004base\030\001 \001(\0132\034.milvus.proto" - ".common.MsgBase\022\024\n\014collectionID\030\002 \001(\003\022\030\n" - "\020with_shard_nodes\030\003 \001(\010\"v\n\023GetReplicasRe" - "sponse\022+\n\006status\030\001 \001(\0132\033.milvus.proto.co" - "mmon.Status\0222\n\010replicas\030\002 \003(\0132 .milvus.p" - "roto.milvus.ReplicaInfo\"\232\001\n\013ReplicaInfo\022" - "\021\n\treplicaID\030\001 \001(\003\022\024\n\014collectionID\030\002 \001(\003" - "\022\025\n\rpartition_ids\030\003 \003(\003\0229\n\016shard_replica" - "s\030\004 \003(\0132!.milvus.proto.milvus.ShardRepli" - "ca\022\020\n\010node_ids\030\005 \003(\003\"`\n\014ShardReplica\022\020\n\010" - "leaderID\030\001 \001(\003\022\023\n\013leader_addr\030\002 \001(\t\022\027\n\017d" - "m_channel_name\030\003 \001(\t\022\020\n\010node_ids\030\004 \003(\003\"\252" - "\001\n\027CreateCredentialRequest\022*\n\004base\030\001 \001(\013" - "2\034.milvus.proto.common.MsgBase\022\020\n\010userna" - "me\030\002 \001(\t\022\020\n\010password\030\003 \001(\t\022\036\n\026created_ut" - "c_timestamps\030\004 \001(\004\022\037\n\027modified_utc_times" - "tamps\030\005 \001(\004\"\302\001\n\027UpdateCredentialRequest\022" - "*\n\004base\030\001 \001(\0132\034.milvus.proto.common.MsgB" - "ase\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_t" - "imestamps\030\005 \001(\004\022\037\n\027modified_utc_timestam" - "ps\030\006 \001(\004\"W\n\027DeleteCredentialRequest\022*\n\004b" - "ase\030\001 \001(\0132\034.milvus.proto.common.MsgBase\022" - "\020\n\010username\030\002 \001(\t\"W\n\025ListCredUsersRespon" + "tatus\022\024\n\014compactionID\030\002 \001(\003\"1\n\031GetCompac" + "tionStateRequest\022\024\n\014compactionID\030\001 \001(\003\"\307" + "\001\n\032GetCompactionStateResponse\022+\n\006status\030" + "\001 \001(\0132\033.milvus.proto.common.Status\0223\n\005st" + "ate\030\002 \001(\0162$.milvus.proto.common.Compacti" + "onState\022\027\n\017executingPlanNo\030\003 \001(\003\022\025\n\rtime" + "outPlanNo\030\004 \001(\003\022\027\n\017completedPlanNo\030\005 \001(\003" + "\"1\n\031GetCompactionPlansRequest\022\024\n\014compact" + "ionID\030\001 \001(\003\"\274\001\n\032GetCompactionPlansRespon" "se\022+\n\006status\030\001 \001(\0132\033.milvus.proto.common" - ".Status\022\021\n\tusernames\030\002 \003(\t\"B\n\024ListCredUs" - "ersRequest\022*\n\004base\030\001 \001(\0132\034.milvus.proto." - "common.MsgBase*!\n\010ShowType\022\007\n\003All\020\000\022\014\n\010I" - "nMemory\020\001*>\n\017PlaceholderType\022\010\n\004None\020\000\022\020" - "\n\014BinaryVector\020d\022\017\n\013FloatVector\020e2\250%\n\rMi" - "lvusService\022_\n\020CreateCollection\022,.milvus" - ".proto.milvus.CreateCollectionRequest\032\033." - "milvus.proto.common.Status\"\000\022[\n\016DropColl" - "ection\022*.milvus.proto.milvus.DropCollect" - "ionRequest\032\033.milvus.proto.common.Status\"" - "\000\022_\n\rHasCollection\022).milvus.proto.milvus" - ".HasCollectionRequest\032!.milvus.proto.mil" - "vus.BoolResponse\"\000\022[\n\016LoadCollection\022*.m" - "ilvus.proto.milvus.LoadCollectionRequest" - "\032\033.milvus.proto.common.Status\"\000\022a\n\021Relea" - "seCollection\022-.milvus.proto.milvus.Relea" - "seCollectionRequest\032\033.milvus.proto.commo" - "n.Status\"\000\022w\n\022DescribeCollection\022..milvu" - "s.proto.milvus.DescribeCollectionRequest" - "\032/.milvus.proto.milvus.DescribeCollectio" - "nResponse\"\000\022\206\001\n\027GetCollectionStatistics\022" - "3.milvus.proto.milvus.GetCollectionStati" - "sticsRequest\0324.milvus.proto.milvus.GetCo" - "llectionStatisticsResponse\"\000\022n\n\017ShowColl" - "ections\022+.milvus.proto.milvus.ShowCollec" - "tionsRequest\032,.milvus.proto.milvus.ShowC" - "ollectionsResponse\"\000\022]\n\017CreatePartition\022" - "+.milvus.proto.milvus.CreatePartitionReq" - "uest\032\033.milvus.proto.common.Status\"\000\022Y\n\rD" - "ropPartition\022).milvus.proto.milvus.DropP" - "artitionRequest\032\033.milvus.proto.common.St" - "atus\"\000\022]\n\014HasPartition\022(.milvus.proto.mi" - "lvus.HasPartitionRequest\032!.milvus.proto." - "milvus.BoolResponse\"\000\022[\n\016LoadPartitions\022" - "*.milvus.proto.milvus.LoadPartitionsRequ" - "est\032\033.milvus.proto.common.Status\"\000\022a\n\021Re" - "leasePartitions\022-.milvus.proto.milvus.Re" - "leasePartitionsRequest\032\033.milvus.proto.co" - "mmon.Status\"\000\022\203\001\n\026GetPartitionStatistics" - "\0222.milvus.proto.milvus.GetPartitionStati" - "sticsRequest\0323.milvus.proto.milvus.GetPa" - "rtitionStatisticsResponse\"\000\022k\n\016ShowParti" - "tions\022*.milvus.proto.milvus.ShowPartitio" - "nsRequest\032+.milvus.proto.milvus.ShowPart" - "itionsResponse\"\000\022U\n\013CreateAlias\022\'.milvus" - ".proto.milvus.CreateAliasRequest\032\033.milvu" - "s.proto.common.Status\"\000\022Q\n\tDropAlias\022%.m" - "ilvus.proto.milvus.DropAliasRequest\032\033.mi" - "lvus.proto.common.Status\"\000\022S\n\nAlterAlias" - "\022&.milvus.proto.milvus.AlterAliasRequest" - "\032\033.milvus.proto.common.Status\"\000\022U\n\013Creat" - "eIndex\022\'.milvus.proto.milvus.CreateIndex" - "Request\032\033.milvus.proto.common.Status\"\000\022h" - "\n\rDescribeIndex\022).milvus.proto.milvus.De" - "scribeIndexRequest\032*.milvus.proto.milvus" - ".DescribeIndexResponse\"\000\022h\n\rGetIndexStat" - "e\022).milvus.proto.milvus.GetIndexStateReq" - "uest\032*.milvus.proto.milvus.GetIndexState" - "Response\"\000\022\200\001\n\025GetIndexBuildProgress\0221.m" - "ilvus.proto.milvus.GetIndexBuildProgress" - "Request\0322.milvus.proto.milvus.GetIndexBu" - "ildProgressResponse\"\000\022Q\n\tDropIndex\022%.mil" - "vus.proto.milvus.DropIndexRequest\032\033.milv" - "us.proto.common.Status\"\000\022S\n\006Insert\022\".mil" - "vus.proto.milvus.InsertRequest\032#.milvus." - "proto.milvus.MutationResult\"\000\022S\n\006Delete\022" - "\".milvus.proto.milvus.DeleteRequest\032#.mi" - "lvus.proto.milvus.MutationResult\"\000\022R\n\006Se" - "arch\022\".milvus.proto.milvus.SearchRequest" - "\032\".milvus.proto.milvus.SearchResults\"\000\022P" - "\n\005Flush\022!.milvus.proto.milvus.FlushReque" - "st\032\".milvus.proto.milvus.FlushResponse\"\000" - "\022O\n\005Query\022!.milvus.proto.milvus.QueryReq" - "uest\032!.milvus.proto.milvus.QueryResults\"" - "\000\022d\n\014CalcDistance\022(.milvus.proto.milvus." - "CalcDistanceRequest\032(.milvus.proto.milvu" - "s.CalcDistanceResults\"\000\022h\n\rGetFlushState" - "\022).milvus.proto.milvus.GetFlushStateRequ" - "est\032*.milvus.proto.milvus.GetFlushStateR" - "esponse\"\000\022\211\001\n\030GetPersistentSegmentInfo\0224" - ".milvus.proto.milvus.GetPersistentSegmen" - "tInfoRequest\0325.milvus.proto.milvus.GetPe" - "rsistentSegmentInfoResponse\"\000\022z\n\023GetQuer" - "ySegmentInfo\022/.milvus.proto.milvus.GetQu" - "erySegmentInfoRequest\0320.milvus.proto.mil" - "vus.GetQuerySegmentInfoResponse\"\000\022b\n\013Get" - "Replicas\022\'.milvus.proto.milvus.GetReplic" - "asRequest\032(.milvus.proto.milvus.GetRepli" - "casResponse\"\000\022P\n\005Dummy\022!.milvus.proto.mi" - "lvus.DummyRequest\032\".milvus.proto.milvus." - "DummyResponse\"\000\022e\n\014RegisterLink\022(.milvus" - ".proto.milvus.RegisterLinkRequest\032).milv" - "us.proto.milvus.RegisterLinkResponse\"\000\022_" - "\n\nGetMetrics\022&.milvus.proto.milvus.GetMe" - "tricsRequest\032\'.milvus.proto.milvus.GetMe" - "tricsResponse\"\000\022U\n\013LoadBalance\022\'.milvus." - "proto.milvus.LoadBalanceRequest\032\033.milvus" - ".proto.common.Status\"\000\022w\n\022GetCompactionS" - "tate\022..milvus.proto.milvus.GetCompaction" - "StateRequest\032/.milvus.proto.milvus.GetCo" - "mpactionStateResponse\"\000\022q\n\020ManualCompact" - "ion\022,.milvus.proto.milvus.ManualCompacti" - "onRequest\032-.milvus.proto.milvus.ManualCo" - "mpactionResponse\"\000\022\200\001\n\033GetCompactionStat" - "eWithPlans\022..milvus.proto.milvus.GetComp" - "actionPlansRequest\032/.milvus.proto.milvus" - ".GetCompactionPlansResponse\"\000\022S\n\006Import\022" - "\".milvus.proto.milvus.ImportRequest\032#.mi" - "lvus.proto.milvus.ImportResponse\"\000\022k\n\016Ge" - "tImportState\022*.milvus.proto.milvus.GetIm" - "portStateRequest\032+.milvus.proto.milvus.G" - "etImportStateResponse\"\000\022n\n\017ListImportTas" - "ks\022+.milvus.proto.milvus.ListImportTasks" - "Request\032,.milvus.proto.milvus.ListImport" - "TasksResponse\"\000\022_\n\020CreateCredential\022,.mi" - "lvus.proto.milvus.CreateCredentialReques" - "t\032\033.milvus.proto.common.Status\"\000\022_\n\020Upda" - "teCredential\022,.milvus.proto.milvus.Updat" + ".Status\0223\n\005state\030\002 \001(\0162$.milvus.proto.co" + "mmon.CompactionState\022<\n\nmergeInfos\030\003 \003(\013" + "2(.milvus.proto.milvus.CompactionMergeIn" + "fo\"6\n\023CompactionMergeInfo\022\017\n\007sources\030\001 \003" + "(\003\022\016\n\006target\030\002 \001(\003\"*\n\024GetFlushStateReque" + "st\022\022\n\nsegmentIDs\030\001 \003(\003\"U\n\025GetFlushStateR" + "esponse\022+\n\006status\030\001 \001(\0132\033.milvus.proto.c" + "ommon.Status\022\017\n\007flushed\030\002 \001(\010\"\255\001\n\rImport" + "Request\022\027\n\017collection_name\030\001 \001(\t\022\026\n\016part" + "ition_name\030\002 \001(\t\022\025\n\rchannel_names\030\003 \003(\t\022" + "\021\n\trow_based\030\004 \001(\010\022\r\n\005files\030\005 \003(\t\0222\n\007opt" + "ions\030\006 \003(\0132!.milvus.proto.common.KeyValu" + "ePair\"L\n\016ImportResponse\022+\n\006status\030\001 \001(\0132" + "\033.milvus.proto.common.Status\022\r\n\005tasks\030\002 " + "\003(\003\"%\n\025GetImportStateRequest\022\014\n\004task\030\001 \001" + "(\003\"\232\002\n\026GetImportStateResponse\022+\n\006status\030" + "\001 \001(\0132\033.milvus.proto.common.Status\022/\n\005st" + "ate\030\002 \001(\0162 .milvus.proto.common.ImportSt" + "ate\022\021\n\trow_count\030\003 \001(\003\022\017\n\007id_list\030\004 \003(\003\022" + "0\n\005infos\030\005 \003(\0132!.milvus.proto.common.Key" + "ValuePair\022\n\n\002id\030\006 \001(\003\022 \n\030heuristic_data_" + "queryable\030\007 \001(\010\022\036\n\026heuristic_data_indexe" + "d\030\010 \001(\010\"\030\n\026ListImportTasksRequest\"\202\001\n\027Li" + "stImportTasksResponse\022+\n\006status\030\001 \001(\0132\033." + "milvus.proto.common.Status\022:\n\005tasks\030\002 \003(" + "\0132+.milvus.proto.milvus.GetImportStateRe" + "sponse\"p\n\022GetReplicasRequest\022*\n\004base\030\001 \001" + "(\0132\034.milvus.proto.common.MsgBase\022\024\n\014coll" + "ectionID\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.milvus.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\014c" + "ollectionID\030\002 \001(\003\022\025\n\rpartition_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\010leaderID\030\001 \001(\003\022\023\n\013leade" + "r_addr\030\002 \001(\t\022\027\n\017dm_channel_name\030\003 \001(\t\022\020\n" + "\010node_ids\030\004 \003(\003\"\252\001\n\027CreateCredentialRequ" + "est\022*\n\004base\030\001 \001(\0132\034.milvus.proto.common." + "MsgBase\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\027m" + "odified_utc_timestamps\030\005 \001(\004\"\302\001\n\027UpdateC" + "redentialRequest\022*\n\004base\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_timestamps\030\005 \001(\004\022\037\n\027modi" + "fied_utc_timestamps\030\006 \001(\004\"W\n\027DeleteCrede" + "ntialRequest\022*\n\004base\030\001 \001(\0132\034.milvus.prot" + "o.common.MsgBase\022\020\n\010username\030\002 \001(\t\"W\n\025Li" + "stCredUsersResponse\022+\n\006status\030\001 \001(\0132\033.mi" + "lvus.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\010ShowT" + "ype\022\007\n\003All\020\000\022\014\n\010InMemory\020\001*>\n\017Placeholde" + "rType\022\010\n\004None\020\000\022\020\n\014BinaryVector\020d\022\017\n\013Flo" + "atVector\020e2\250%\n\rMilvusService\022_\n\020CreateCo" + "llection\022,.milvus.proto.milvus.CreateCol" + "lectionRequest\032\033.milvus.proto.common.Sta" + "tus\"\000\022[\n\016DropCollection\022*.milvus.proto.m" + "ilvus.DropCollectionRequest\032\033.milvus.pro" + "to.common.Status\"\000\022_\n\rHasCollection\022).mi" + "lvus.proto.milvus.HasCollectionRequest\032!" + ".milvus.proto.milvus.BoolResponse\"\000\022[\n\016L" + "oadCollection\022*.milvus.proto.milvus.Load" + "CollectionRequest\032\033.milvus.proto.common." + "Status\"\000\022a\n\021ReleaseCollection\022-.milvus.p" + "roto.milvus.ReleaseCollectionRequest\032\033.m" + "ilvus.proto.common.Status\"\000\022w\n\022DescribeC" + "ollection\022..milvus.proto.milvus.Describe" + "CollectionRequest\032/.milvus.proto.milvus." + "DescribeCollectionResponse\"\000\022\206\001\n\027GetColl" + "ectionStatistics\0223.milvus.proto.milvus.G" + "etCollectionStatisticsRequest\0324.milvus.p" + "roto.milvus.GetCollectionStatisticsRespo" + "nse\"\000\022n\n\017ShowCollections\022+.milvus.proto." + "milvus.ShowCollectionsRequest\032,.milvus.p" + "roto.milvus.ShowCollectionsResponse\"\000\022]\n" + "\017CreatePartition\022+.milvus.proto.milvus.C" + "reatePartitionRequest\032\033.milvus.proto.com" + "mon.Status\"\000\022Y\n\rDropPartition\022).milvus.p" + "roto.milvus.DropPartitionRequest\032\033.milvu" + "s.proto.common.Status\"\000\022]\n\014HasPartition\022" + "(.milvus.proto.milvus.HasPartitionReques" + "t\032!.milvus.proto.milvus.BoolResponse\"\000\022[" + "\n\016LoadPartitions\022*.milvus.proto.milvus.L" + "oadPartitionsRequest\032\033.milvus.proto.comm" + "on.Status\"\000\022a\n\021ReleasePartitions\022-.milvu" + "s.proto.milvus.ReleasePartitionsRequest\032" + "\033.milvus.proto.common.Status\"\000\022\203\001\n\026GetPa" + "rtitionStatistics\0222.milvus.proto.milvus." + "GetPartitionStatisticsRequest\0323.milvus.p" + "roto.milvus.GetPartitionStatisticsRespon" + "se\"\000\022k\n\016ShowPartitions\022*.milvus.proto.mi" + "lvus.ShowPartitionsRequest\032+.milvus.prot" + "o.milvus.ShowPartitionsResponse\"\000\022U\n\013Cre" + "ateAlias\022\'.milvus.proto.milvus.CreateAli" + "asRequest\032\033.milvus.proto.common.Status\"\000" + "\022Q\n\tDropAlias\022%.milvus.proto.milvus.Drop" + "AliasRequest\032\033.milvus.proto.common.Statu" + "s\"\000\022S\n\nAlterAlias\022&.milvus.proto.milvus." + "AlterAliasRequest\032\033.milvus.proto.common." + "Status\"\000\022U\n\013CreateIndex\022\'.milvus.proto.m" + "ilvus.CreateIndexRequest\032\033.milvus.proto." + "common.Status\"\000\022h\n\rDescribeIndex\022).milvu" + "s.proto.milvus.DescribeIndexRequest\032*.mi" + "lvus.proto.milvus.DescribeIndexResponse\"" + "\000\022h\n\rGetIndexState\022).milvus.proto.milvus" + ".GetIndexStateRequest\032*.milvus.proto.mil" + "vus.GetIndexStateResponse\"\000\022\200\001\n\025GetIndex" + "BuildProgress\0221.milvus.proto.milvus.GetI" + "ndexBuildProgressRequest\0322.milvus.proto." + "milvus.GetIndexBuildProgressResponse\"\000\022Q" + "\n\tDropIndex\022%.milvus.proto.milvus.DropIn" + "dexRequest\032\033.milvus.proto.common.Status\"" + "\000\022S\n\006Insert\022\".milvus.proto.milvus.Insert" + "Request\032#.milvus.proto.milvus.MutationRe" + "sult\"\000\022S\n\006Delete\022\".milvus.proto.milvus.D" + "eleteRequest\032#.milvus.proto.milvus.Mutat" + "ionResult\"\000\022R\n\006Search\022\".milvus.proto.mil" + "vus.SearchRequest\032\".milvus.proto.milvus." + "SearchResults\"\000\022P\n\005Flush\022!.milvus.proto." + "milvus.FlushRequest\032\".milvus.proto.milvu" + "s.FlushResponse\"\000\022O\n\005Query\022!.milvus.prot" + "o.milvus.QueryRequest\032!.milvus.proto.mil" + "vus.QueryResults\"\000\022d\n\014CalcDistance\022(.mil" + "vus.proto.milvus.CalcDistanceRequest\032(.m" + "ilvus.proto.milvus.CalcDistanceResults\"\000" + "\022h\n\rGetFlushState\022).milvus.proto.milvus." + "GetFlushStateRequest\032*.milvus.proto.milv" + "us.GetFlushStateResponse\"\000\022\211\001\n\030GetPersis" + "tentSegmentInfo\0224.milvus.proto.milvus.Ge" + "tPersistentSegmentInfoRequest\0325.milvus.p" + "roto.milvus.GetPersistentSegmentInfoResp" + "onse\"\000\022z\n\023GetQuerySegmentInfo\022/.milvus.p" + "roto.milvus.GetQuerySegmentInfoRequest\0320" + ".milvus.proto.milvus.GetQuerySegmentInfo" + "Response\"\000\022b\n\013GetReplicas\022\'.milvus.proto" + ".milvus.GetReplicasRequest\032(.milvus.prot" + "o.milvus.GetReplicasResponse\"\000\022P\n\005Dummy\022" + "!.milvus.proto.milvus.DummyRequest\032\".mil" + "vus.proto.milvus.DummyResponse\"\000\022e\n\014Regi" + "sterLink\022(.milvus.proto.milvus.RegisterL" + "inkRequest\032).milvus.proto.milvus.Registe" + "rLinkResponse\"\000\022_\n\nGetMetrics\022&.milvus.p" + "roto.milvus.GetMetricsRequest\032\'.milvus.p" + "roto.milvus.GetMetricsResponse\"\000\022U\n\013Load" + "Balance\022\'.milvus.proto.milvus.LoadBalanc" + "eRequest\032\033.milvus.proto.common.Status\"\000\022" + "w\n\022GetCompactionState\022..milvus.proto.mil" + "vus.GetCompactionStateRequest\032/.milvus.p" + "roto.milvus.GetCompactionStateResponse\"\000" + "\022q\n\020ManualCompaction\022,.milvus.proto.milv" + "us.ManualCompactionRequest\032-.milvus.prot" + "o.milvus.ManualCompactionResponse\"\000\022\200\001\n\033" + "GetCompactionStateWithPlans\022..milvus.pro" + "to.milvus.GetCompactionPlansRequest\032/.mi" + "lvus.proto.milvus.GetCompactionPlansResp" + "onse\"\000\022S\n\006Import\022\".milvus.proto.milvus.I" + "mportRequest\032#.milvus.proto.milvus.Impor" + "tResponse\"\000\022k\n\016GetImportState\022*.milvus.p" + "roto.milvus.GetImportStateRequest\032+.milv" + "us.proto.milvus.GetImportStateResponse\"\000" + "\022n\n\017ListImportTasks\022+.milvus.proto.milvu" + "s.ListImportTasksRequest\032,.milvus.proto." + "milvus.ListImportTasksResponse\"\000\022_\n\020Crea" + "teCredential\022,.milvus.proto.milvus.Creat" "eCredentialRequest\032\033.milvus.proto.common" - ".Status\"\000\022_\n\020DeleteCredential\022,.milvus.p" - "roto.milvus.DeleteCredentialRequest\032\033.mi" - "lvus.proto.common.Status\"\000\022h\n\rListCredUs" - "ers\022).milvus.proto.milvus.ListCredUsersR" - "equest\032*.milvus.proto.milvus.ListCredUse" - "rsResponse\"\0002u\n\014ProxyService\022e\n\014Register" - "Link\022(.milvus.proto.milvus.RegisterLinkR" - "equest\032).milvus.proto.milvus.RegisterLin" - "kResponse\"\000BW\n\016io.milvus.grpcB\013MilvusPro" - "toP\001Z3github.com/milvus-io/milvus/intern" - "al/proto/milvuspb\240\001\001b\006proto3" + ".Status\"\000\022_\n\020UpdateCredential\022,.milvus.p" + "roto.milvus.UpdateCredentialRequest\032\033.mi" + "lvus.proto.common.Status\"\000\022_\n\020DeleteCred" + "ential\022,.milvus.proto.milvus.DeleteCrede" + "ntialRequest\032\033.milvus.proto.common.Statu" + "s\"\000\022h\n\rListCredUsers\022).milvus.proto.milv" + "us.ListCredUsersRequest\032*.milvus.proto.m" + "ilvus.ListCredUsersResponse\"\0002u\n\014ProxySe" + "rvice\022e\n\014RegisterLink\022(.milvus.proto.mil" + "vus.RegisterLinkRequest\032).milvus.proto.m" + "ilvus.RegisterLinkResponse\"\000BW\n\016io.milvu" + "s.grpcB\013MilvusProtoP\001Z3github.com/milvus" + "-io/milvus/internal/proto/milvuspb\240\001\001b\006p" + "roto3" ; static const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable*const descriptor_table_milvus_2eproto_deps[2] = { &::descriptor_table_common_2eproto, @@ -3349,7 +3351,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", 17668, + &descriptor_table_milvus_2eproto_initialized, descriptor_table_protodef_milvus_2eproto, "milvus.proto", 17685, &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, @@ -29747,7 +29749,8 @@ QuerySegmentInfo::QuerySegmentInfo() } QuerySegmentInfo::QuerySegmentInfo(const QuerySegmentInfo& from) : ::PROTOBUF_NAMESPACE_ID::Message(), - _internal_metadata_(nullptr) { + _internal_metadata_(nullptr), + nodeids_(from.nodeids_) { _internal_metadata_.MergeFrom(from._internal_metadata_); index_name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); if (!from.index_name().empty()) { @@ -29791,6 +29794,7 @@ void QuerySegmentInfo::Clear() { // Prevent compiler warnings about cached_has_bits being unused (void) cached_has_bits; + nodeids_.Clear(); index_name_.ClearToEmptyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); ::memset(&segmentid_, 0, static_cast( reinterpret_cast(&state_) - @@ -29870,6 +29874,16 @@ const char* QuerySegmentInfo::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPA set_state(static_cast<::milvus::proto::common::SegmentState>(val)); } else goto handle_unusual; continue; + // repeated int64 nodeIds = 10; + case 10: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 82)) { + ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt64Parser(mutable_nodeids(), ptr, ctx); + CHK_(ptr); + } else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 80) { + add_nodeids(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr)); + CHK_(ptr); + } else goto handle_unusual; + continue; default: { handle_unusual: if ((tag & 7) == 4 || tag == 0) { @@ -30020,6 +30034,22 @@ bool QuerySegmentInfo::MergePartialFromCodedStream( break; } + // repeated int64 nodeIds = 10; + case 10: { + if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (82 & 0xFF)) { + DO_((::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadPackedPrimitive< + ::PROTOBUF_NAMESPACE_ID::int64, ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_INT64>( + input, this->mutable_nodeids()))); + } else if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (80 & 0xFF)) { + DO_((::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadRepeatedPrimitiveNoInline< + ::PROTOBUF_NAMESPACE_ID::int64, ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_INT64>( + 1, 82u, input, this->mutable_nodeids()))); + } else { + goto handle_unusual; + } + break; + } + default: { handle_unusual: if (tag == 0) { @@ -30098,6 +30128,17 @@ void QuerySegmentInfo::SerializeWithCachedSizes( 9, this->state(), output); } + // repeated int64 nodeIds = 10; + if (this->nodeids_size() > 0) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteTag(10, ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED, output); + output->WriteVarint32(_nodeids_cached_byte_size_.load( + std::memory_order_relaxed)); + } + for (int i = 0, n = this->nodeids_size(); i < n; i++) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64NoTag( + this->nodeids(i), output); + } + if (_internal_metadata_.have_unknown_fields()) { ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SerializeUnknownFields( _internal_metadata_.unknown_fields(), output); @@ -30163,6 +30204,19 @@ void QuerySegmentInfo::SerializeWithCachedSizes( 9, this->state(), target); } + // repeated int64 nodeIds = 10; + if (this->nodeids_size() > 0) { + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteTagToArray( + 10, + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED, + target); + target = ::PROTOBUF_NAMESPACE_ID::io::CodedOutputStream::WriteVarint32ToArray( + _nodeids_cached_byte_size_.load(std::memory_order_relaxed), + target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + WriteInt64NoTagToArray(this->nodeids_, target); + } + if (_internal_metadata_.have_unknown_fields()) { target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SerializeUnknownFieldsToArray( _internal_metadata_.unknown_fields(), target); @@ -30184,6 +30238,21 @@ size_t QuerySegmentInfo::ByteSizeLong() const { // Prevent compiler warnings about cached_has_bits being unused (void) cached_has_bits; + // repeated int64 nodeIds = 10; + { + size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + Int64Size(this->nodeids_); + if (data_size > 0) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size( + static_cast<::PROTOBUF_NAMESPACE_ID::int32>(data_size)); + } + int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size); + _nodeids_cached_byte_size_.store(cached_size, + std::memory_order_relaxed); + total_size += data_size; + } + // string index_name = 6; if (this->index_name().size() > 0) { total_size += 1 + @@ -30273,6 +30342,7 @@ void QuerySegmentInfo::MergeFrom(const QuerySegmentInfo& from) { ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; (void) cached_has_bits; + nodeids_.MergeFrom(from.nodeids_); if (from.index_name().size() > 0) { index_name_.AssignWithDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), from.index_name_); @@ -30324,6 +30394,7 @@ bool QuerySegmentInfo::IsInitialized() const { void QuerySegmentInfo::InternalSwap(QuerySegmentInfo* other) { using std::swap; _internal_metadata_.Swap(&other->_internal_metadata_); + nodeids_.InternalSwap(&other->nodeids_); index_name_.Swap(&other->index_name_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaNoVirtual()); swap(segmentid_, other->segmentid_); diff --git a/internal/core/src/pb/milvus.pb.h b/internal/core/src/pb/milvus.pb.h index c038e879cb4b828428de87d21677f11661691092..cc7bb1683bd75a49ecf54ce87afe0468dd72d458 100644 --- a/internal/core/src/pb/milvus.pb.h +++ b/internal/core/src/pb/milvus.pb.h @@ -10539,6 +10539,7 @@ class QuerySegmentInfo : // accessors ------------------------------------------------------- enum : int { + kNodeIdsFieldNumber = 10, kIndexNameFieldNumber = 6, kSegmentIDFieldNumber = 1, kCollectionIDFieldNumber = 2, @@ -10549,6 +10550,17 @@ class QuerySegmentInfo : kNodeIDFieldNumber = 8, kStateFieldNumber = 9, }; + // repeated int64 nodeIds = 10; + int nodeids_size() const; + void clear_nodeids(); + ::PROTOBUF_NAMESPACE_ID::int64 nodeids(int index) const; + void set_nodeids(int index, ::PROTOBUF_NAMESPACE_ID::int64 value); + void add_nodeids(::PROTOBUF_NAMESPACE_ID::int64 value); + const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >& + nodeids() const; + ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >* + mutable_nodeids(); + // string index_name = 6; void clear_index_name(); const std::string& index_name() const; @@ -10605,6 +10617,8 @@ class QuerySegmentInfo : class _Internal; ::PROTOBUF_NAMESPACE_ID::internal::InternalMetadataWithArena _internal_metadata_; + ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > nodeids_; + mutable std::atomic _nodeids_cached_byte_size_; ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr index_name_; ::PROTOBUF_NAMESPACE_ID::int64 segmentid_; ::PROTOBUF_NAMESPACE_ID::int64 collectionid_; @@ -25863,6 +25877,36 @@ inline void QuerySegmentInfo::set_state(::milvus::proto::common::SegmentState va // @@protoc_insertion_point(field_set:milvus.proto.milvus.QuerySegmentInfo.state) } +// repeated int64 nodeIds = 10; +inline int QuerySegmentInfo::nodeids_size() const { + return nodeids_.size(); +} +inline void QuerySegmentInfo::clear_nodeids() { + nodeids_.Clear(); +} +inline ::PROTOBUF_NAMESPACE_ID::int64 QuerySegmentInfo::nodeids(int index) const { + // @@protoc_insertion_point(field_get:milvus.proto.milvus.QuerySegmentInfo.nodeIds) + return nodeids_.Get(index); +} +inline void QuerySegmentInfo::set_nodeids(int index, ::PROTOBUF_NAMESPACE_ID::int64 value) { + nodeids_.Set(index, value); + // @@protoc_insertion_point(field_set:milvus.proto.milvus.QuerySegmentInfo.nodeIds) +} +inline void QuerySegmentInfo::add_nodeids(::PROTOBUF_NAMESPACE_ID::int64 value) { + nodeids_.Add(value); + // @@protoc_insertion_point(field_add:milvus.proto.milvus.QuerySegmentInfo.nodeIds) +} +inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >& +QuerySegmentInfo::nodeids() const { + // @@protoc_insertion_point(field_list:milvus.proto.milvus.QuerySegmentInfo.nodeIds) + return nodeids_; +} +inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >* +QuerySegmentInfo::mutable_nodeids() { + // @@protoc_insertion_point(field_mutable_list:milvus.proto.milvus.QuerySegmentInfo.nodeIds) + return &nodeids_; +} + // ------------------------------------------------------------------- // GetQuerySegmentInfoRequest diff --git a/internal/proto/milvus.proto b/internal/proto/milvus.proto index dd92049a0b1bbb086a7fbd4c711f8f304c1e8da3..3b592b0660538a4ebc86258c8883fb96b152d178 100644 --- a/internal/proto/milvus.proto +++ b/internal/proto/milvus.proto @@ -708,8 +708,10 @@ message QuerySegmentInfo { int64 num_rows = 5; string index_name = 6; int64 indexID = 7; + // deprecated, check node_ids(NodeIds) field int64 nodeID = 8; common.SegmentState state = 9; + repeated int64 nodeIds = 10; } message GetQuerySegmentInfoRequest { diff --git a/internal/proto/milvuspb/milvus.pb.go b/internal/proto/milvuspb/milvus.pb.go index 4ce074632000900bac725a472e5381c83cdc4b0b..1465acee68b3faf56c09cdc75437cace370bc8f8 100644 --- a/internal/proto/milvuspb/milvus.pb.go +++ b/internal/proto/milvuspb/milvus.pb.go @@ -4014,15 +4014,17 @@ func (m *GetPersistentSegmentInfoResponse) GetInfos() []*PersistentSegmentInfo { } type QuerySegmentInfo struct { - SegmentID int64 `protobuf:"varint,1,opt,name=segmentID,proto3" json:"segmentID,omitempty"` - CollectionID int64 `protobuf:"varint,2,opt,name=collectionID,proto3" json:"collectionID,omitempty"` - PartitionID int64 `protobuf:"varint,3,opt,name=partitionID,proto3" json:"partitionID,omitempty"` - MemSize int64 `protobuf:"varint,4,opt,name=mem_size,json=memSize,proto3" json:"mem_size,omitempty"` - NumRows int64 `protobuf:"varint,5,opt,name=num_rows,json=numRows,proto3" json:"num_rows,omitempty"` - IndexName string `protobuf:"bytes,6,opt,name=index_name,json=indexName,proto3" json:"index_name,omitempty"` - IndexID int64 `protobuf:"varint,7,opt,name=indexID,proto3" json:"indexID,omitempty"` + SegmentID int64 `protobuf:"varint,1,opt,name=segmentID,proto3" json:"segmentID,omitempty"` + CollectionID int64 `protobuf:"varint,2,opt,name=collectionID,proto3" json:"collectionID,omitempty"` + PartitionID int64 `protobuf:"varint,3,opt,name=partitionID,proto3" json:"partitionID,omitempty"` + MemSize int64 `protobuf:"varint,4,opt,name=mem_size,json=memSize,proto3" json:"mem_size,omitempty"` + NumRows int64 `protobuf:"varint,5,opt,name=num_rows,json=numRows,proto3" json:"num_rows,omitempty"` + IndexName string `protobuf:"bytes,6,opt,name=index_name,json=indexName,proto3" json:"index_name,omitempty"` + IndexID int64 `protobuf:"varint,7,opt,name=indexID,proto3" json:"indexID,omitempty"` + // deprecated, check node_ids(NodeIds) field NodeID int64 `protobuf:"varint,8,opt,name=nodeID,proto3" json:"nodeID,omitempty"` State commonpb.SegmentState `protobuf:"varint,9,opt,name=state,proto3,enum=milvus.proto.common.SegmentState" json:"state,omitempty"` + NodeIds []int64 `protobuf:"varint,10,rep,packed,name=nodeIds,proto3" json:"nodeIds,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -4116,6 +4118,13 @@ func (m *QuerySegmentInfo) GetState() commonpb.SegmentState { return commonpb.SegmentState_SegmentStateNone } +func (m *QuerySegmentInfo) GetNodeIds() []int64 { + if m != nil { + return m.NodeIds + } + return nil +} + type GetQuerySegmentInfoRequest struct { Base *commonpb.MsgBase `protobuf:"bytes,1,opt,name=base,proto3" json:"base,omitempty"` DbName string `protobuf:"bytes,2,opt,name=dbName,proto3" json:"dbName,omitempty"` @@ -5955,280 +5964,281 @@ func init() { func init() { proto.RegisterFile("milvus.proto", fileDescriptor_02345ba45cc0e303) } var fileDescriptor_02345ba45cc0e303 = []byte{ - // 4366 bytes of a gzipped FileDescriptorProto + // 4372 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, 0x66, 0x76, 0x87, 0xb5, 0x5f, 0xa3, 0xa1, 0x28, 0x2e, 0x5b, 0xa2, 0xb4, 0x22, 0x2d, 0xd2, 0x5a, 0xca, 0x92, 0x22, 0x39, 0x91, 0x49, 0x6e, 0x44, 0x2e, 0x44, 0x32, 0xab, 0x5e, 0xc9, 0x86, 0x23, 0x10, 0x8d, 0xda, 0xe9, 0xda, 0xd9, 0x0e, 0x7b, 0xba, 0x47, 0x5d, 0x35, 0x5c, 0xae, 0x4e, 0x06, 0x1c, 0xe4, 0x03, 0x56, 0x64, 0x18, 0x31, 0x92, 0xf8, 0x90, - 0x20, 0xc8, 0x07, 0x90, 0x1c, 0x12, 0xc4, 0x0e, 0x90, 0x04, 0xb9, 0x24, 0x87, 0x1c, 0x72, 0x08, - 0x90, 0x8f, 0x4b, 0x10, 0xf8, 0x92, 0x3f, 0x90, 0x43, 0x00, 0x1f, 0x73, 0x08, 0xea, 0xa3, 0x7b, - 0xba, 0x7b, 0xaa, 0x67, 0x67, 0x39, 0xa6, 0xb9, 0xbc, 0x4d, 0xbf, 0x7a, 0xaf, 0xea, 0xd5, 0xab, - 0x57, 0xaf, 0x5e, 0xbd, 0xf7, 0x6a, 0xa0, 0xd1, 0x77, 0xbd, 0x87, 0x43, 0x7a, 0x65, 0x10, 0x06, - 0x2c, 0x40, 0x4b, 0xc9, 0xaf, 0x2b, 0xf2, 0xa3, 0xd3, 0xe8, 0x06, 0xfd, 0x7e, 0xe0, 0x4b, 0x60, - 0xa7, 0x41, 0xbb, 0x07, 0xa4, 0x8f, 0xe5, 0x97, 0xf9, 0x07, 0x06, 0xa0, 0x9b, 0x21, 0xc1, 0x8c, - 0x5c, 0xf7, 0x5c, 0x4c, 0x2d, 0xf2, 0xe9, 0x90, 0x50, 0x86, 0xbe, 0x0c, 0xf3, 0x7b, 0x98, 0x92, - 0xb6, 0xb1, 0x6e, 0x6c, 0xd4, 0x37, 0x9f, 0xbf, 0x92, 0xea, 0x56, 0x75, 0x77, 0x97, 0xf6, 0x6e, - 0x60, 0x4a, 0x2c, 0x81, 0x89, 0xd6, 0xa0, 0xe2, 0xec, 0xd9, 0x3e, 0xee, 0x93, 0x76, 0x61, 0xdd, - 0xd8, 0xa8, 0x59, 0x65, 0x67, 0xef, 0x1e, 0xee, 0x13, 0xf4, 0x0a, 0x2c, 0x76, 0x03, 0xcf, 0x23, - 0x5d, 0xe6, 0x06, 0xbe, 0x44, 0x28, 0x0a, 0x84, 0x85, 0x11, 0x58, 0x20, 0x2e, 0x43, 0x09, 0x73, - 0x1e, 0xda, 0xf3, 0xa2, 0x59, 0x7e, 0x98, 0x14, 0x5a, 0x5b, 0x61, 0x30, 0x78, 0x52, 0xdc, 0xc5, - 0x83, 0x16, 0x93, 0x83, 0xfe, 0xbe, 0x01, 0x67, 0xae, 0x7b, 0x8c, 0x84, 0xa7, 0x54, 0x28, 0xbf, - 0x57, 0x80, 0x35, 0xb9, 0x6a, 0x37, 0x63, 0xf4, 0xa7, 0xc9, 0xe5, 0x2a, 0x94, 0xa5, 0x56, 0x09, - 0x36, 0x1b, 0x96, 0xfa, 0x42, 0xe7, 0x00, 0xe8, 0x01, 0x0e, 0x1d, 0x6a, 0xfb, 0xc3, 0x7e, 0xbb, - 0xb4, 0x6e, 0x6c, 0x94, 0xac, 0x9a, 0x84, 0xdc, 0x1b, 0xf6, 0x91, 0x05, 0x67, 0xba, 0x81, 0x4f, - 0x5d, 0xca, 0x88, 0xdf, 0x3d, 0xb2, 0x3d, 0xf2, 0x90, 0x78, 0xed, 0xf2, 0xba, 0xb1, 0xb1, 0xb0, - 0x79, 0x51, 0xcb, 0xf7, 0xcd, 0x11, 0xf6, 0x1d, 0x8e, 0x6c, 0xb5, 0xba, 0x19, 0x88, 0xf9, 0x1d, - 0x03, 0x56, 0xb8, 0xc2, 0x9c, 0x0a, 0xc1, 0x98, 0x7f, 0x6e, 0xc0, 0xf2, 0x6d, 0x4c, 0x4f, 0xc7, - 0x2a, 0x9d, 0x03, 0x60, 0x6e, 0x9f, 0xd8, 0x94, 0xe1, 0xfe, 0x40, 0xac, 0xd4, 0xbc, 0x55, 0xe3, - 0x90, 0x5d, 0x0e, 0x30, 0xbf, 0x09, 0x8d, 0x1b, 0x41, 0xe0, 0x59, 0x84, 0x0e, 0x02, 0x9f, 0x12, - 0x74, 0x0d, 0xca, 0x94, 0x61, 0x36, 0xa4, 0x8a, 0xc9, 0xb3, 0x5a, 0x26, 0x77, 0x05, 0x8a, 0xa5, - 0x50, 0xb9, 0xbe, 0x3e, 0xc4, 0xde, 0x50, 0xf2, 0x58, 0xb5, 0xe4, 0x87, 0xf9, 0x09, 0x2c, 0xec, - 0xb2, 0xd0, 0xf5, 0x7b, 0x3f, 0xc5, 0xce, 0x6b, 0x51, 0xe7, 0xff, 0x61, 0xc0, 0x73, 0x5b, 0x84, - 0x76, 0x43, 0x77, 0xef, 0x94, 0x6c, 0x07, 0x13, 0x1a, 0x23, 0xc8, 0xf6, 0x96, 0x10, 0x75, 0xd1, - 0x4a, 0xc1, 0x32, 0x8b, 0x51, 0xca, 0x2e, 0xc6, 0xb7, 0x4a, 0xd0, 0xd1, 0x4d, 0x6a, 0x16, 0xf1, - 0xfd, 0x7c, 0xbc, 0x4b, 0x0b, 0x82, 0x28, 0xb3, 0xc7, 0xd4, 0xb9, 0x30, 0x1a, 0x6d, 0x57, 0x00, - 0xe2, 0xcd, 0x9c, 0x9d, 0x55, 0x51, 0x33, 0xab, 0x4d, 0x58, 0x79, 0xe8, 0x86, 0x6c, 0x88, 0x3d, - 0xbb, 0x7b, 0x80, 0x7d, 0x9f, 0x78, 0x42, 0x4e, 0xdc, 0x7c, 0x15, 0x37, 0x6a, 0xd6, 0x92, 0x6a, - 0xbc, 0x29, 0xdb, 0xb8, 0xb0, 0x28, 0x7a, 0x03, 0x56, 0x07, 0x07, 0x47, 0xd4, 0xed, 0x8e, 0x11, - 0x95, 0x04, 0xd1, 0x72, 0xd4, 0x9a, 0xa2, 0xba, 0x0c, 0x67, 0xba, 0xc2, 0x02, 0x3a, 0x36, 0x97, - 0x9a, 0x14, 0x63, 0x59, 0x88, 0xb1, 0xa5, 0x1a, 0x3e, 0x8a, 0xe0, 0x9c, 0xad, 0x08, 0x79, 0xc8, - 0xba, 0x09, 0x82, 0x8a, 0x20, 0x58, 0x52, 0x8d, 0x1f, 0xb3, 0xee, 0x88, 0x26, 0x6d, 0xbb, 0xaa, - 0x59, 0xdb, 0xd5, 0x86, 0x8a, 0xb0, 0xc5, 0x84, 0xb6, 0x6b, 0x82, 0xcd, 0xe8, 0x13, 0x6d, 0xc3, - 0x22, 0x65, 0x38, 0x64, 0xf6, 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, 0x1f, - 0x19, 0xb0, 0x72, 0x27, 0xc0, 0xce, 0xe9, 0xd8, 0x53, 0x17, 0x61, 0x21, 0x24, 0x03, 0xcf, 0xed, - 0x62, 0xbe, 0x1e, 0x7b, 0x24, 0x14, 0xbb, 0xaa, 0x64, 0x35, 0x15, 0xf4, 0x9e, 0x00, 0x9a, 0x5f, - 0x18, 0xd0, 0xb6, 0x88, 0x47, 0x30, 0x3d, 0x1d, 0xb6, 0xc0, 0xfc, 0xbe, 0x01, 0x2f, 0xdc, 0x22, - 0x2c, 0xb1, 0xab, 0x18, 0x66, 0x2e, 0x65, 0x6e, 0xf7, 0x69, 0xfa, 0x15, 0xe6, 0x77, 0x0d, 0x38, - 0x9f, 0xcb, 0xd6, 0x2c, 0x46, 0xe6, 0x2d, 0x28, 0xf1, 0x5f, 0xb4, 0x5d, 0x10, 0x3a, 0x7f, 0x21, - 0x4f, 0xe7, 0xbf, 0xce, 0x6d, 0xb7, 0x50, 0x7a, 0x89, 0x6f, 0xfe, 0xb7, 0x01, 0xab, 0xbb, 0x07, - 0xc1, 0xe1, 0x88, 0xa5, 0x27, 0x21, 0xa0, 0xb4, 0xd9, 0x2d, 0x66, 0xcc, 0x2e, 0x7a, 0x1d, 0xe6, - 0xd9, 0xd1, 0x80, 0x08, 0xdd, 0x5a, 0xd8, 0x3c, 0x77, 0x45, 0xe3, 0x4e, 0x5f, 0xe1, 0x4c, 0x7e, - 0x74, 0x34, 0x20, 0x96, 0x40, 0x45, 0xaf, 0x42, 0x2b, 0x23, 0xf2, 0xc8, 0x70, 0x2d, 0xa6, 0x65, - 0x4e, 0xcd, 0xbf, 0x2b, 0xc0, 0xda, 0xd8, 0x14, 0x67, 0x11, 0xb6, 0x6e, 0xec, 0x82, 0x76, 0x6c, - 0xbe, 0x7f, 0x12, 0xa8, 0xae, 0xc3, 0x3d, 0xde, 0xe2, 0x46, 0xd1, 0x6a, 0x26, 0xec, 0xb7, 0x43, - 0xd1, 0x6b, 0x80, 0xc6, 0xcc, 0xaa, 0xb4, 0xde, 0xf3, 0xd6, 0x99, 0xac, 0x5d, 0x15, 0xb6, 0x5b, - 0x6b, 0x58, 0xa5, 0x08, 0xe6, 0xad, 0x65, 0x8d, 0x65, 0xa5, 0xe8, 0x75, 0x58, 0x76, 0xfd, 0xbb, - 0xa4, 0x1f, 0x84, 0x47, 0xf6, 0x80, 0x84, 0x5d, 0xe2, 0x33, 0xdc, 0x23, 0xb4, 0x5d, 0x16, 0x1c, - 0x2d, 0x45, 0x6d, 0x3b, 0xa3, 0x26, 0xf3, 0xaf, 0x0d, 0x58, 0x95, 0x1e, 0xef, 0x0e, 0x0e, 0x99, - 0x7b, 0x0a, 0xac, 0xd1, 0x20, 0xe2, 0x43, 0xe2, 0x49, 0xff, 0xbc, 0x19, 0x43, 0xc5, 0x2e, 0xfb, - 0xa1, 0x01, 0xcb, 0xdc, 0x19, 0x7d, 0x96, 0x78, 0xfe, 0x2b, 0x03, 0x96, 0x6e, 0x63, 0xfa, 0x2c, - 0xb1, 0xfc, 0x63, 0x75, 0x52, 0xc5, 0x3c, 0x3f, 0xd5, 0x2b, 0xdb, 0x2b, 0xb0, 0x98, 0x66, 0x3a, - 0xf2, 0x7e, 0x16, 0x52, 0x5c, 0x53, 0xcd, 0x91, 0x56, 0xd2, 0x1d, 0x69, 0x7f, 0x3b, 0x3a, 0xd2, - 0x9e, 0xad, 0x09, 0x9a, 0x7f, 0x6f, 0xc0, 0xb9, 0x5b, 0x84, 0xc5, 0x5c, 0x9f, 0x8a, 0xa3, 0x6f, - 0x5a, 0xa5, 0xfa, 0x42, 0x1e, 0xdc, 0x5a, 0xe6, 0x9f, 0xca, 0x01, 0xf9, 0x9d, 0x02, 0xac, 0xf0, - 0xd3, 0xe3, 0x74, 0x28, 0xc1, 0x34, 0x77, 0x1c, 0x8d, 0xa2, 0x94, 0xb4, 0x3b, 0x21, 0x3a, 0x76, - 0xcb, 0x53, 0x1f, 0xbb, 0xe6, 0x8f, 0x0a, 0xd2, 0x5d, 0x48, 0x4a, 0x63, 0x96, 0x65, 0xd1, 0xf0, - 0x5a, 0xd0, 0xf2, 0x6a, 0x42, 0x23, 0x86, 0x6c, 0x6f, 0x45, 0xc7, 0x68, 0x0a, 0x76, 0x6a, 0x4f, - 0xd1, 0xcf, 0x0d, 0x58, 0x8d, 0x6e, 0x95, 0xbb, 0xa4, 0xd7, 0x27, 0x3e, 0x7b, 0x7c, 0x1d, 0xca, - 0x6a, 0x40, 0x41, 0xa3, 0x01, 0xcf, 0x43, 0x8d, 0xca, 0x71, 0xe2, 0x0b, 0xe3, 0x08, 0x60, 0xfe, - 0x83, 0x01, 0x6b, 0x63, 0xec, 0xcc, 0xb2, 0x88, 0x6d, 0xa8, 0xb8, 0xbe, 0x43, 0x1e, 0xc5, 0xdc, - 0x44, 0x9f, 0xbc, 0x65, 0x6f, 0xe8, 0x7a, 0x4e, 0xcc, 0x46, 0xf4, 0x89, 0x2e, 0x40, 0x83, 0xf8, - 0x78, 0xcf, 0x23, 0xb6, 0xc0, 0x15, 0x8a, 0x5c, 0xb5, 0xea, 0x12, 0xb6, 0xcd, 0x41, 0x9c, 0x78, - 0xdf, 0x25, 0x82, 0xb8, 0x24, 0x89, 0xd5, 0xa7, 0xf9, 0x5b, 0x06, 0x2c, 0x71, 0x2d, 0x54, 0xdc, - 0xd3, 0x27, 0x2b, 0xcd, 0x75, 0xa8, 0x27, 0xd4, 0x4c, 0x4d, 0x24, 0x09, 0x32, 0x1f, 0xc0, 0x72, - 0x9a, 0x9d, 0x59, 0xa4, 0xf9, 0x02, 0x40, 0xbc, 0x56, 0x72, 0x37, 0x14, 0xad, 0x04, 0xc4, 0xfc, - 0xbc, 0x10, 0xc5, 0x8e, 0x85, 0x98, 0x9e, 0x72, 0x68, 0x4b, 0x2c, 0x49, 0xd2, 0x9e, 0xd7, 0x04, - 0x44, 0x34, 0x6f, 0x41, 0x83, 0x3c, 0x62, 0x21, 0xb6, 0x07, 0x38, 0xc4, 0x7d, 0xb9, 0xad, 0xa6, - 0x32, 0xbd, 0x75, 0x41, 0xb6, 0x23, 0xa8, 0xf8, 0x20, 0x42, 0x45, 0xe4, 0x20, 0x65, 0x39, 0x88, - 0x80, 0x88, 0x03, 0xe3, 0x9f, 0xb9, 0xb3, 0xa7, 0xb4, 0xf9, 0xb4, 0x0b, 0x24, 0x3d, 0x95, 0x52, - 0x76, 0x2a, 0x7f, 0x6a, 0x40, 0x4b, 0x4c, 0x41, 0xce, 0x67, 0xc0, 0xbb, 0xcd, 0xd0, 0x18, 0x19, - 0x9a, 0x09, 0x7b, 0xef, 0xe7, 0xa0, 0xac, 0xe4, 0x5e, 0x9c, 0x56, 0xee, 0x8a, 0xe0, 0x98, 0x69, - 0x98, 0x7f, 0x64, 0xc0, 0x4a, 0x46, 0xe4, 0xb3, 0x28, 0xfc, 0x47, 0x80, 0xe4, 0x0c, 0x9d, 0xd1, - 0xb4, 0xa3, 0x73, 0xfa, 0xa2, 0xf6, 0x50, 0xca, 0x0a, 0xc9, 0x3a, 0xe3, 0x66, 0x20, 0xd4, 0xfc, - 0x37, 0x03, 0x9e, 0xbf, 0x45, 0x98, 0x40, 0xbd, 0xc1, 0x8d, 0xce, 0x4e, 0x18, 0xf4, 0x42, 0x42, - 0xe9, 0xb3, 0xab, 0x1f, 0xbf, 0x23, 0x1d, 0x3b, 0xdd, 0x94, 0x66, 0x91, 0xff, 0x05, 0x68, 0x88, - 0x31, 0x88, 0x63, 0x87, 0xc1, 0x21, 0x55, 0x7a, 0x54, 0x57, 0x30, 0x2b, 0x38, 0x14, 0x0a, 0xc1, - 0x02, 0x86, 0x3d, 0x89, 0xa0, 0x4e, 0x14, 0x01, 0xe1, 0xcd, 0x62, 0x0f, 0x46, 0x8c, 0xf1, 0xce, - 0xc9, 0xb3, 0x2b, 0xe3, 0x3f, 0x31, 0x60, 0x25, 0x33, 0x95, 0x59, 0x64, 0xfb, 0x15, 0xe9, 0x76, - 0xca, 0xc9, 0x2c, 0x6c, 0x9e, 0xd7, 0xd2, 0x24, 0x06, 0x93, 0xd8, 0xe8, 0x3c, 0xd4, 0xf7, 0xb1, - 0xeb, 0xd9, 0x21, 0xc1, 0x34, 0xf0, 0xd5, 0x44, 0x81, 0x83, 0x2c, 0x01, 0x31, 0xff, 0xc9, 0x90, - 0x09, 0xba, 0x67, 0xdc, 0xe2, 0xfd, 0x71, 0x01, 0x9a, 0xdb, 0x3e, 0x25, 0x21, 0x3b, 0xfd, 0x57, - 0x13, 0xf4, 0x1e, 0xd4, 0xc5, 0xc4, 0xa8, 0xed, 0x60, 0x86, 0xd5, 0x69, 0xf6, 0x82, 0x36, 0x9a, - 0xff, 0x3e, 0xc7, 0xdb, 0xc2, 0x0c, 0x5b, 0x52, 0x3a, 0x94, 0xff, 0x46, 0x67, 0xa1, 0x76, 0x80, - 0xe9, 0x81, 0xfd, 0x80, 0x1c, 0x49, 0x7f, 0xb1, 0x69, 0x55, 0x39, 0xe0, 0x03, 0x72, 0x44, 0xd1, - 0x73, 0x50, 0xf5, 0x87, 0x7d, 0xb9, 0xc1, 0x2a, 0xeb, 0xc6, 0x46, 0xd3, 0xaa, 0xf8, 0xc3, 0xbe, - 0xd8, 0x5e, 0xff, 0x52, 0x80, 0x85, 0xbb, 0x43, 0x7e, 0x11, 0x12, 0xb9, 0x88, 0xa1, 0xc7, 0x1e, - 0x4f, 0x19, 0x2f, 0x41, 0x51, 0xba, 0x14, 0x9c, 0xa2, 0xad, 0x65, 0x7c, 0x7b, 0x8b, 0x5a, 0x1c, - 0x49, 0xc4, 0xe1, 0x87, 0xdd, 0xae, 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, 0x77, - 0x1f, 0xf8, 0xc1, 0xa1, 0x47, 0x9c, 0x1e, 0x71, 0xc4, 0xb2, 0x57, 0xad, 0x14, 0x4c, 0x2a, 0x06, - 0x5f, 0x78, 0xbb, 0xeb, 0x33, 0x71, 0xaa, 0x17, 0xb9, 0x62, 0x70, 0xc8, 0x4d, 0x9f, 0xf1, 0x66, - 0x87, 0x78, 0x84, 0x11, 0xd1, 0x5c, 0x91, 0xcd, 0x12, 0xa2, 0x9a, 0x87, 0x83, 0x98, 0xba, 0x2a, - 0x9b, 0x25, 0x84, 0x37, 0x3f, 0x0f, 0xb5, 0x51, 0xb2, 0xa1, 0x36, 0x8a, 0x36, 0x0a, 0x80, 0xf9, - 0x63, 0x03, 0x9a, 0x5b, 0xa2, 0xab, 0x67, 0x40, 0xe9, 0x10, 0xcc, 0x93, 0x47, 0x83, 0x50, 0x6d, - 0x1d, 0xf1, 0x7b, 0xa2, 0x1e, 0x99, 0x0f, 0xa1, 0xb5, 0xe3, 0xe1, 0x2e, 0x39, 0x08, 0x3c, 0x87, - 0x84, 0xe2, 0x6c, 0x47, 0x2d, 0x28, 0x32, 0xdc, 0x53, 0xce, 0x03, 0xff, 0x89, 0xde, 0x56, 0x57, - 0x3f, 0x69, 0x96, 0x5e, 0xd2, 0x9e, 0xb2, 0x89, 0x6e, 0x12, 0x81, 0xd7, 0x55, 0x28, 0x8b, 0x04, - 0xa0, 0x74, 0x2b, 0x1a, 0x96, 0xfa, 0x32, 0xef, 0xa7, 0xc6, 0xbd, 0x15, 0x06, 0xc3, 0x01, 0xda, - 0x86, 0xc6, 0x60, 0x04, 0xe3, 0xba, 0x9a, 0x7f, 0xa6, 0x67, 0x99, 0xb6, 0x52, 0xa4, 0xe6, 0xff, - 0x14, 0xa1, 0xb9, 0x4b, 0x70, 0xd8, 0x3d, 0x78, 0x26, 0x82, 0x4c, 0x2d, 0x28, 0x3a, 0xd4, 0x53, - 0xab, 0xc6, 0x7f, 0xa2, 0xcb, 0x70, 0x26, 0x31, 0x21, 0xbb, 0xc7, 0x05, 0x24, 0xf4, 0xbe, 0x61, - 0xb5, 0x06, 0x59, 0xc1, 0xbd, 0x05, 0x55, 0x87, 0x7a, 0xb6, 0x58, 0xa2, 0x8a, 0x58, 0x22, 0xfd, - 0xfc, 0xb6, 0xa8, 0x27, 0x96, 0xa6, 0xe2, 0xc8, 0x1f, 0xe8, 0x45, 0x68, 0x06, 0x43, 0x36, 0x18, - 0x32, 0x5b, 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, 0x57, 0xa1, - 0xc5, 0x42, 0xfc, 0x90, 0x78, 0x89, 0xd4, 0x1e, 0x88, 0xdd, 0xb6, 0x28, 0xe1, 0xa3, 0xb4, 0xde, - 0x55, 0x58, 0xea, 0x0d, 0x71, 0x88, 0x7d, 0x46, 0x48, 0x02, 0xbb, 0x2e, 0xb0, 0x51, 0xdc, 0x14, - 0x13, 0x98, 0x1f, 0xc0, 0xfc, 0x6d, 0x97, 0x09, 0x41, 0x72, 0x9b, 0x65, 0x88, 0x6b, 0x90, 0xb0, - 0x4c, 0xcf, 0x41, 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, 0xa5, 0x31, 0x52, 0x1e, - 0x6e, 0x3e, 0xe9, 0xe3, 0xd9, 0xcf, 0xf7, 0xa0, 0x12, 0x4a, 0xfa, 0x89, 0xa9, 0xdc, 0xe4, 0x48, - 0xe2, 0x0c, 0x88, 0xa8, 0xa6, 0xcf, 0x13, 0xfd, 0xaa, 0x01, 0x8d, 0xf7, 0xbd, 0x21, 0x7d, 0x12, - 0xca, 0xae, 0xcb, 0x5e, 0x14, 0xf5, 0x99, 0x93, 0xef, 0x15, 0xa0, 0xa9, 0xd8, 0x98, 0xc5, 0x09, - 0xca, 0x65, 0x65, 0x17, 0xea, 0x7c, 0x48, 0x9b, 0x92, 0x5e, 0x14, 0xd3, 0xa9, 0x6f, 0x6e, 0x6a, - 0xcd, 0x43, 0x8a, 0x0d, 0x91, 0x2d, 0xdf, 0x15, 0x44, 0xbf, 0xe8, 0xb3, 0xf0, 0xc8, 0x82, 0x6e, - 0x0c, 0xe8, 0xdc, 0x87, 0xc5, 0x4c, 0x33, 0x57, 0xa2, 0x07, 0xe4, 0x28, 0xb2, 0x7f, 0x0f, 0xc8, - 0x11, 0x7a, 0x23, 0x59, 0xd3, 0x90, 0x77, 0x8a, 0xdf, 0x09, 0xfc, 0xde, 0xf5, 0x30, 0xc4, 0x47, - 0xaa, 0xe6, 0xe1, 0x9d, 0xc2, 0xdb, 0x86, 0xf9, 0x8f, 0x05, 0x68, 0x7c, 0x38, 0x24, 0xe1, 0xd1, - 0xd3, 0xb4, 0x43, 0xd1, 0xa9, 0x30, 0x9f, 0x38, 0x15, 0xc6, 0xb6, 0x7e, 0x49, 0xb3, 0xf5, 0x35, - 0x06, 0xac, 0xac, 0x35, 0x60, 0xba, 0xbd, 0x5d, 0x39, 0xd1, 0xde, 0xae, 0xe6, 0xee, 0xed, 0xbf, - 0x30, 0x62, 0x11, 0xce, 0xb4, 0x1b, 0x53, 0xee, 0x58, 0xe1, 0xc4, 0xee, 0xd8, 0xd4, 0xbb, 0xf1, - 0x87, 0x06, 0xd4, 0xbe, 0x4e, 0xba, 0x2c, 0x08, 0xb9, 0xfd, 0xd1, 0x90, 0x19, 0x53, 0xb8, 0xc6, - 0x85, 0xac, 0x6b, 0x7c, 0x0d, 0xaa, 0xae, 0x63, 0x63, 0xae, 0x5f, 0x62, 0xdc, 0x49, 0x2e, 0x59, - 0xc5, 0x75, 0x84, 0x22, 0x4e, 0x9f, 0x04, 0xf8, 0x5d, 0x03, 0x1a, 0x92, 0x67, 0x2a, 0x29, 0xdf, - 0x4d, 0x0c, 0x67, 0xe8, 0x94, 0x5e, 0x7d, 0xc4, 0x13, 0xbd, 0x3d, 0x37, 0x1a, 0xf6, 0x3a, 0x00, - 0x17, 0xb2, 0x22, 0x97, 0x7b, 0x66, 0x5d, 0xcb, 0xad, 0x24, 0x17, 0x02, 0xbf, 0x3d, 0x67, 0xd5, - 0x38, 0x95, 0xe8, 0xe2, 0x46, 0x05, 0x4a, 0x82, 0xda, 0xfc, 0x3f, 0x03, 0x96, 0x6e, 0x62, 0xaf, - 0xbb, 0xe5, 0x52, 0x86, 0xfd, 0xee, 0x0c, 0x4e, 0xd8, 0x3b, 0x50, 0x09, 0x06, 0xb6, 0x47, 0xf6, - 0x99, 0x62, 0xe9, 0xc2, 0x84, 0x19, 0x49, 0x31, 0x58, 0xe5, 0x60, 0x70, 0x87, 0xec, 0x33, 0xf4, - 0x55, 0xa8, 0x06, 0x03, 0x3b, 0x74, 0x7b, 0x07, 0x4c, 0x49, 0x7f, 0x0a, 0xe2, 0x4a, 0x30, 0xb0, - 0x38, 0x45, 0x22, 0xb6, 0x32, 0x7f, 0xc2, 0xd8, 0x8a, 0xf9, 0xef, 0x63, 0xd3, 0x9f, 0x61, 0x0f, - 0xbc, 0x03, 0x55, 0xd7, 0x67, 0xb6, 0xe3, 0xd2, 0x48, 0x04, 0xe7, 0xf4, 0x3a, 0xe4, 0x33, 0x31, - 0x03, 0xb1, 0xa6, 0x3e, 0xe3, 0x63, 0xa3, 0xaf, 0x01, 0xec, 0x7b, 0x01, 0x56, 0xd4, 0x52, 0x06, - 0xe7, 0xf5, 0xdb, 0x87, 0xa3, 0x45, 0xf4, 0x35, 0x41, 0xc4, 0x7b, 0x18, 0x2d, 0xe9, 0xbf, 0x1a, - 0xb0, 0xb2, 0x43, 0x42, 0x59, 0xf1, 0xc2, 0x54, 0x18, 0x74, 0xdb, 0xdf, 0x0f, 0xd2, 0x91, 0x68, - 0x23, 0x13, 0x89, 0xfe, 0xe9, 0x44, 0x5f, 0x53, 0x37, 0x27, 0x99, 0x0f, 0x89, 0x6e, 0x4e, 0x51, - 0xd6, 0x47, 0xde, 0x3c, 0x17, 0x72, 0x96, 0x49, 0xf1, 0x9b, 0xbc, 0x80, 0x9b, 0xbf, 0x2d, 0x0b, - 0x35, 0xb4, 0x93, 0x7a, 0x7c, 0x85, 0x5d, 0x05, 0x65, 0xe9, 0x33, 0x76, 0xff, 0x65, 0xc8, 0xd8, - 0x8e, 0x1c, 0x43, 0xf4, 0x03, 0x03, 0xd6, 0xf3, 0xb9, 0x9a, 0xe5, 0x88, 0xfe, 0x1a, 0x94, 0x5c, - 0x7f, 0x3f, 0x88, 0xc2, 0x6e, 0x97, 0xf4, 0x2e, 0xba, 0x76, 0x5c, 0x49, 0x68, 0xfe, 0x4d, 0x01, - 0x5a, 0xc2, 0xa8, 0x3f, 0x85, 0xe5, 0xef, 0x93, 0xbe, 0x4d, 0xdd, 0xcf, 0x48, 0xb4, 0xfc, 0x7d, - 0xd2, 0xdf, 0x75, 0x3f, 0x23, 0x29, 0xcd, 0x28, 0xa5, 0x35, 0x63, 0x72, 0x54, 0x39, 0x19, 0x56, - 0xad, 0xa4, 0xc3, 0xaa, 0xab, 0x50, 0xf6, 0x03, 0x87, 0x6c, 0x6f, 0xa9, 0x6b, 0xa7, 0xfa, 0x1a, - 0xa9, 0x5a, 0xed, 0x84, 0xaa, 0xf6, 0x85, 0x01, 0x9d, 0x5b, 0x84, 0x65, 0x65, 0xf7, 0xf4, 0xb4, - 0xec, 0xbb, 0x06, 0x9c, 0xd5, 0x32, 0x34, 0x8b, 0x82, 0xbd, 0x9b, 0x56, 0x30, 0xfd, 0x1d, 0x70, - 0x6c, 0x48, 0xa5, 0x5b, 0xaf, 0x43, 0x63, 0x6b, 0xd8, 0xef, 0xc7, 0x2e, 0xd7, 0x05, 0x68, 0x84, - 0xf2, 0xa7, 0xbc, 0x22, 0xc9, 0xf3, 0xb7, 0xae, 0x60, 0xfc, 0x22, 0x64, 0x5e, 0x86, 0xa6, 0x22, - 0x51, 0x5c, 0x77, 0xa0, 0x1a, 0xaa, 0xdf, 0x0a, 0x3f, 0xfe, 0x36, 0x57, 0x60, 0xc9, 0x22, 0x3d, - 0xae, 0xda, 0xe1, 0x1d, 0xd7, 0x7f, 0xa0, 0x86, 0x31, 0xbf, 0x6d, 0xc0, 0x72, 0x1a, 0xae, 0xfa, - 0x7a, 0x13, 0x2a, 0xd8, 0x71, 0x42, 0x42, 0xe9, 0xc4, 0x65, 0xb9, 0x2e, 0x71, 0xac, 0x08, 0x39, - 0x21, 0xb9, 0xc2, 0xd4, 0x92, 0x33, 0x6d, 0x38, 0x73, 0x8b, 0xb0, 0xbb, 0x84, 0x85, 0x33, 0x65, - 0xf0, 0xdb, 0xfc, 0xf2, 0x22, 0x88, 0x95, 0x5a, 0x44, 0x9f, 0xe6, 0xe7, 0x06, 0xa0, 0xe4, 0x08, - 0xb3, 0x2c, 0x73, 0x52, 0xca, 0x85, 0xb4, 0x94, 0x65, 0x2d, 0x54, 0x7f, 0x10, 0xf8, 0xc4, 0x67, - 0x49, 0x77, 0xab, 0x19, 0x43, 0xa3, 0xb2, 0x12, 0x74, 0x27, 0xc0, 0xce, 0x0d, 0xec, 0xcd, 0xe6, - 0x1e, 0x9c, 0x03, 0xa0, 0x61, 0xd7, 0x56, 0xbb, 0xb5, 0xa0, 0xac, 0x4f, 0xd8, 0xbd, 0x27, 0x37, - 0xec, 0x79, 0xa8, 0x3b, 0x94, 0xa9, 0xe6, 0x28, 0xa1, 0x0c, 0x0e, 0x65, 0xb2, 0x5d, 0xd4, 0xba, - 0x52, 0x82, 0x3d, 0xe2, 0xd8, 0x89, 0x7c, 0xdc, 0xbc, 0x40, 0x6b, 0xc9, 0x86, 0xdd, 0x18, 0xae, - 0xd9, 0x5c, 0x25, 0xed, 0xe6, 0xba, 0x0f, 0x6b, 0x77, 0xb1, 0x3f, 0xc4, 0xde, 0xcd, 0xa0, 0x3f, - 0xc0, 0xa9, 0x3a, 0xc9, 0xac, 0x39, 0x34, 0x34, 0xe6, 0xf0, 0x05, 0x59, 0x48, 0x27, 0x5d, 0x70, - 0x31, 0xa7, 0x79, 0x2b, 0x01, 0x31, 0x29, 0xb4, 0xc7, 0xbb, 0x9f, 0x65, 0x41, 0x05, 0x53, 0x51, - 0x57, 0x49, 0x1b, 0x3d, 0x82, 0x99, 0xef, 0xc1, 0x73, 0xa2, 0xa8, 0x31, 0x02, 0xa5, 0x52, 0x00, - 0xd9, 0x0e, 0x0c, 0x4d, 0x07, 0xbf, 0x5e, 0x10, 0x26, 0x70, 0xac, 0x87, 0x59, 0x18, 0x7f, 0x27, - 0x1d, 0x79, 0x7f, 0x29, 0xa7, 0x70, 0x37, 0x3d, 0xa2, 0x0a, 0xbf, 0x6f, 0xc0, 0x22, 0x79, 0x44, - 0xba, 0x43, 0xe6, 0xfa, 0xbd, 0x1d, 0x0f, 0xfb, 0xf7, 0x02, 0x75, 0xf0, 0x64, 0xc1, 0xe8, 0x25, - 0x68, 0x72, 0xe9, 0x07, 0x43, 0xa6, 0xf0, 0xe4, 0x09, 0x94, 0x06, 0xf2, 0xfe, 0xf8, 0x7c, 0x3d, - 0xc2, 0x88, 0xa3, 0xf0, 0xe4, 0x71, 0x94, 0x05, 0x8f, 0x89, 0x92, 0x83, 0xe9, 0x49, 0x44, 0xf9, - 0x9f, 0x46, 0x46, 0x94, 0xaa, 0x87, 0xa7, 0x25, 0xca, 0xdb, 0x00, 0x7d, 0x12, 0xf6, 0xc8, 0xb6, - 0x30, 0xfe, 0xf2, 0x86, 0xbf, 0xa1, 0x35, 0xfe, 0xa3, 0x0e, 0xee, 0x46, 0x04, 0x56, 0x82, 0xd6, - 0xbc, 0x05, 0x4b, 0x1a, 0x14, 0x6e, 0xd7, 0x68, 0x30, 0x0c, 0xbb, 0x24, 0x0a, 0x12, 0x45, 0x9f, - 0xfc, 0x1c, 0x64, 0x38, 0xec, 0x11, 0xa6, 0x94, 0x56, 0x7d, 0x99, 0x6f, 0x8a, 0x64, 0x95, 0x08, - 0x28, 0xa4, 0x34, 0x35, 0x9d, 0x78, 0x37, 0xc6, 0x12, 0xef, 0xfb, 0x22, 0x33, 0x94, 0xa4, 0x9b, - 0xb1, 0x68, 0x62, 0x9f, 0x77, 0x45, 0x1c, 0xf5, 0x68, 0x23, 0xfa, 0x34, 0x7f, 0x62, 0x40, 0x73, - 0xbb, 0x3f, 0x08, 0x46, 0x49, 0x91, 0xa9, 0xaf, 0x9c, 0xe3, 0x41, 0xe5, 0x82, 0x2e, 0xa8, 0xfc, - 0x22, 0x34, 0xd3, 0x25, 0xff, 0x32, 0xfe, 0xd3, 0xe8, 0x26, 0x4b, 0xfd, 0xcf, 0x42, 0x2d, 0x0c, - 0x0e, 0x6d, 0x6e, 0x4a, 0x1d, 0x55, 0x9e, 0x51, 0x0d, 0x83, 0x43, 0x6e, 0x60, 0x1d, 0xb4, 0x0c, - 0xa5, 0x7d, 0xd7, 0x8b, 0x2b, 0x8b, 0xe4, 0x07, 0x7a, 0x97, 0x5f, 0xc8, 0x64, 0xfa, 0xb6, 0x3c, - 0xed, 0xbd, 0x28, 0xa2, 0x30, 0x3f, 0x81, 0x85, 0x68, 0xd6, 0x33, 0xbe, 0x56, 0x61, 0x98, 0x3e, - 0x88, 0x2a, 0x27, 0xe4, 0x87, 0x79, 0x59, 0x66, 0xf5, 0x44, 0xff, 0xa9, 0x45, 0x47, 0x30, 0xcf, - 0x31, 0xd4, 0x5e, 0x12, 0xbf, 0xcd, 0x9f, 0x14, 0x60, 0x35, 0x8b, 0x3d, 0x0b, 0x4b, 0x6f, 0xa6, - 0xf7, 0x8f, 0xfe, 0x41, 0x42, 0x72, 0x34, 0xb5, 0x77, 0xd4, 0x0a, 0x74, 0x83, 0xa1, 0xcf, 0x94, - 0x01, 0xe2, 0x2b, 0x70, 0x93, 0x7f, 0xa3, 0x35, 0xa8, 0xb8, 0x8e, 0xed, 0xf1, 0xbb, 0x9b, 0x3c, - 0x93, 0xca, 0xae, 0x73, 0x87, 0xdf, 0xeb, 0xde, 0x8a, 0x3c, 0xad, 0xa9, 0xcb, 0x2d, 0x24, 0x3e, - 0x5a, 0x80, 0x82, 0xeb, 0xa8, 0x54, 0x4c, 0xc1, 0x75, 0xd0, 0xdb, 0xd0, 0x3e, 0x20, 0xc3, 0x50, - 0x54, 0xdf, 0x89, 0x18, 0x8b, 0xfd, 0x29, 0xf7, 0xcf, 0xf0, 0x9e, 0x27, 0x83, 0xd2, 0x55, 0x6b, - 0x35, 0x6e, 0xdf, 0xc2, 0x0c, 0x7f, 0x18, 0xb5, 0xa2, 0x37, 0x60, 0x35, 0x43, 0xa9, 0x92, 0xc9, - 0xc2, 0x67, 0xae, 0x5a, 0xcb, 0x29, 0xba, 0x6d, 0xd9, 0x66, 0xb6, 0x61, 0x95, 0x4f, 0x40, 0x0a, - 0xe2, 0x23, 0xbe, 0x6c, 0x91, 0x23, 0xf6, 0x3d, 0x03, 0xd6, 0xc6, 0x9a, 0x66, 0x59, 0x91, 0xeb, - 0x49, 0x25, 0xa9, 0x6f, 0x5e, 0xd6, 0x1a, 0x24, 0xbd, 0x0a, 0x44, 0x1a, 0xf5, 0x7d, 0xe9, 0x35, - 0x59, 0xb2, 0x68, 0xf4, 0x09, 0x97, 0x20, 0x6d, 0x40, 0xeb, 0xd0, 0x65, 0x07, 0xb6, 0x78, 0x08, - 0x23, 0x5c, 0x16, 0x99, 0x85, 0xaf, 0x5a, 0x0b, 0x1c, 0xbe, 0xcb, 0xc1, 0xdc, 0x6d, 0xa1, 0xe6, - 0x6f, 0x18, 0xb0, 0x94, 0x62, 0x6b, 0x16, 0x31, 0x7d, 0x95, 0x7b, 0x73, 0xb2, 0x23, 0x25, 0xa9, - 0x75, 0xad, 0xa4, 0xd4, 0x68, 0xc2, 0x64, 0xc7, 0x14, 0xe6, 0x7f, 0x19, 0x50, 0x4f, 0xb4, 0xf0, - 0xcb, 0xa0, 0x6a, 0x1b, 0x5d, 0x06, 0x63, 0xc0, 0x54, 0x62, 0x78, 0x11, 0x46, 0x86, 0x2c, 0x51, - 0x4c, 0x9f, 0xa8, 0x02, 0x74, 0x28, 0xba, 0x0d, 0x0b, 0x52, 0x4c, 0x31, 0xeb, 0xda, 0x18, 0x4d, - 0x5c, 0xdf, 0x88, 0x43, 0x47, 0x71, 0x69, 0x35, 0x69, 0xe2, 0x4b, 0xa6, 0x64, 0x03, 0x87, 0x88, - 0x91, 0x4a, 0xf2, 0x6c, 0x11, 0xde, 0xa2, 0x43, 0xf9, 0xa5, 0xad, 0x91, 0x24, 0xe5, 0x8e, 0xaf, - 0x47, 0xb0, 0x43, 0xc2, 0x78, 0x6e, 0xf1, 0x37, 0xf7, 0x34, 0xe5, 0x6f, 0x9b, 0x5f, 0x04, 0x94, - 0x49, 0x06, 0x09, 0xe2, 0x77, 0x04, 0xf4, 0x32, 0x2c, 0x3a, 0xfd, 0xd4, 0x2b, 0xac, 0xc8, 0x35, - 0x76, 0xfa, 0x89, 0xe7, 0x57, 0x29, 0x86, 0xe6, 0xd3, 0x0c, 0xfd, 0xaf, 0x11, 0xbf, 0x4d, 0x0d, - 0x89, 0x43, 0x7c, 0xe6, 0x62, 0xef, 0xf1, 0x75, 0xb2, 0x03, 0xd5, 0x21, 0x25, 0x61, 0xe2, 0x04, - 0x89, 0xbf, 0x79, 0xdb, 0x00, 0x53, 0x7a, 0x18, 0x84, 0x8e, 0xe2, 0x32, 0xfe, 0x9e, 0x50, 0x52, - 0x29, 0xdf, 0x3d, 0xea, 0x4b, 0x2a, 0xdf, 0x84, 0xb5, 0x7e, 0xe0, 0xb8, 0xfb, 0xae, 0xae, 0x12, - 0x93, 0x93, 0xad, 0x44, 0xcd, 0x29, 0x3a, 0xf3, 0x07, 0x05, 0x58, 0xfb, 0x78, 0xe0, 0xfc, 0x0c, - 0xe6, 0xbc, 0x0e, 0xf5, 0xc0, 0x73, 0x76, 0xd2, 0xd3, 0x4e, 0x82, 0x38, 0x86, 0x4f, 0x0e, 0x63, - 0x0c, 0x19, 0x98, 0x4f, 0x82, 0x26, 0x96, 0x9b, 0x3e, 0x96, 0x6c, 0xca, 0x93, 0x64, 0xd3, 0x83, - 0x35, 0x99, 0xe3, 0x7e, 0xc2, 0xa2, 0x31, 0x7f, 0x05, 0x56, 0xb8, 0x69, 0xe6, 0xc3, 0x7c, 0x4c, - 0x49, 0x38, 0xa3, 0xc5, 0x79, 0x1e, 0x6a, 0x51, 0xcf, 0x51, 0x25, 0xf0, 0x08, 0x60, 0xde, 0x86, - 0xe5, 0xcc, 0x58, 0x8f, 0x39, 0xa3, 0x4b, 0x17, 0xa0, 0x1a, 0x55, 0x36, 0xa3, 0x0a, 0x14, 0xaf, - 0x7b, 0x5e, 0x6b, 0x0e, 0x35, 0xa0, 0xba, 0xad, 0xca, 0x77, 0x5b, 0xc6, 0xa5, 0x5f, 0x80, 0xc5, - 0x4c, 0x06, 0x1c, 0x55, 0x61, 0xfe, 0x5e, 0xe0, 0x93, 0xd6, 0x1c, 0x6a, 0x41, 0xe3, 0x86, 0xeb, - 0xe3, 0xf0, 0x48, 0xc6, 0x87, 0x5b, 0x0e, 0x5a, 0x84, 0xba, 0x88, 0x93, 0x2a, 0x00, 0xd9, 0xfc, - 0xb3, 0x8b, 0xd0, 0xbc, 0x2b, 0x18, 0xd9, 0x25, 0xe1, 0x43, 0xb7, 0x4b, 0x90, 0x0d, 0xad, 0xec, - 0xf3, 0x71, 0xf4, 0x25, 0xbd, 0x2f, 0xac, 0x7f, 0x65, 0xde, 0x99, 0x24, 0x43, 0x73, 0x0e, 0x7d, - 0x02, 0x0b, 0xe9, 0x47, 0xd8, 0x48, 0x1f, 0xc8, 0xd3, 0xbe, 0xd4, 0x3e, 0xae, 0x73, 0x1b, 0x9a, - 0xa9, 0x37, 0xd5, 0xe8, 0x55, 0x6d, 0xdf, 0xba, 0x77, 0xd7, 0x1d, 0xbd, 0xed, 0x4d, 0xbe, 0x7b, - 0x96, 0xdc, 0xa7, 0x1f, 0x3e, 0xe6, 0x70, 0xaf, 0x7d, 0x1d, 0x79, 0x1c, 0xf7, 0x18, 0xce, 0x8c, - 0x3d, 0x50, 0x44, 0xaf, 0xe5, 0x9c, 0x66, 0xfa, 0x87, 0x8c, 0xc7, 0x0d, 0x71, 0x08, 0x68, 0xfc, - 0xed, 0x30, 0xba, 0xa2, 0x5f, 0x81, 0xbc, 0x97, 0xd3, 0x9d, 0xab, 0x53, 0xe3, 0xc7, 0x82, 0xfb, - 0x35, 0x03, 0xd6, 0x72, 0x5e, 0x15, 0xa2, 0x6b, 0x79, 0xae, 0xcd, 0x84, 0xa7, 0x91, 0x9d, 0x37, - 0x4e, 0x46, 0x14, 0x33, 0xe2, 0xc3, 0x62, 0xe6, 0xa1, 0x1d, 0xba, 0x9c, 0xfb, 0xaa, 0x60, 0xfc, - 0xc5, 0x61, 0xe7, 0x4b, 0xd3, 0x21, 0xc7, 0xe3, 0xdd, 0x87, 0xc5, 0xcc, 0xeb, 0xb4, 0x9c, 0xf1, - 0xf4, 0x6f, 0xd8, 0x8e, 0x5b, 0xd0, 0x6f, 0x42, 0x33, 0xf5, 0x8c, 0x2c, 0x47, 0xe3, 0x75, 0x4f, - 0xcd, 0x8e, 0xeb, 0xfa, 0x3e, 0x34, 0x92, 0xaf, 0xbd, 0xd0, 0x46, 0xde, 0x5e, 0x1a, 0xeb, 0xf8, - 0x24, 0x5b, 0x69, 0xf4, 0x4a, 0x63, 0xc2, 0x56, 0x1a, 0x7b, 0xd8, 0x32, 0xfd, 0x56, 0x4a, 0xf4, - 0x3f, 0x71, 0x2b, 0x9d, 0x78, 0x88, 0x6f, 0x1b, 0xe2, 0x06, 0xa6, 0x79, 0x05, 0x84, 0x36, 0xf3, - 0x74, 0x33, 0xff, 0xbd, 0x53, 0xe7, 0xda, 0x89, 0x68, 0x62, 0x29, 0x3e, 0x80, 0x85, 0xf4, 0x5b, - 0x97, 0x1c, 0x29, 0x6a, 0x9f, 0x07, 0x75, 0x2e, 0x4f, 0x85, 0x1b, 0x0f, 0xf6, 0x31, 0xd4, 0x13, - 0xff, 0x08, 0x83, 0x5e, 0x99, 0xa0, 0xc7, 0xc9, 0xbf, 0x47, 0x39, 0x4e, 0x92, 0x1f, 0x42, 0x2d, - 0xfe, 0x23, 0x17, 0x74, 0x31, 0x57, 0x7f, 0x4f, 0xd2, 0xe5, 0x2e, 0xc0, 0xe8, 0x5f, 0x5a, 0xd0, - 0xcb, 0xda, 0x3e, 0xc7, 0xfe, 0xc6, 0xe5, 0xb8, 0x4e, 0xe3, 0xe9, 0xcb, 0x12, 0xc2, 0x49, 0xd3, - 0x4f, 0xd6, 0xbc, 0x1e, 0xd7, 0xed, 0x01, 0x34, 0x53, 0x95, 0xea, 0x79, 0x5b, 0x58, 0xf3, 0x80, - 0xa0, 0x73, 0x69, 0x1a, 0xd4, 0x78, 0xfd, 0x0e, 0xa0, 0x99, 0xaa, 0x1b, 0xce, 0x19, 0x49, 0x57, - 0x26, 0x9d, 0x33, 0x92, 0xb6, 0x0c, 0xd9, 0x9c, 0x43, 0xdf, 0x4a, 0x94, 0x28, 0xa7, 0xca, 0xc0, - 0xd1, 0xeb, 0x13, 0xfb, 0xd1, 0x55, 0xc1, 0x77, 0x36, 0x4f, 0x42, 0x12, 0xb3, 0xa0, 0xb4, 0x4a, - 0x8a, 0x34, 0x5f, 0xab, 0x4e, 0xb2, 0x52, 0xbb, 0x50, 0x96, 0x95, 0xc0, 0xc8, 0xcc, 0xa9, 0xf9, - 0x4f, 0x94, 0x09, 0x77, 0x5e, 0xd4, 0xe2, 0xa4, 0x8b, 0x64, 0x65, 0xa7, 0xd2, 0x0b, 0xce, 0xe9, - 0x34, 0x55, 0x06, 0x3a, 0x6d, 0xa7, 0x16, 0x94, 0x65, 0x89, 0x57, 0x4e, 0xa7, 0xa9, 0x32, 0xc5, - 0xce, 0x64, 0x1c, 0x91, 0xfb, 0x37, 0xe7, 0xd0, 0x0e, 0x94, 0x44, 0x60, 0x11, 0x5d, 0x98, 0x54, - 0xfd, 0x34, 0xa9, 0xc7, 0x54, 0x81, 0x94, 0x39, 0x87, 0x7e, 0x09, 0x4a, 0x22, 0x20, 0x93, 0xd3, - 0x63, 0xb2, 0x84, 0xa9, 0x33, 0x11, 0x25, 0x62, 0xd1, 0x81, 0x46, 0xb2, 0x6e, 0x21, 0xe7, 0xc8, - 0xd2, 0x54, 0x76, 0x74, 0xa6, 0xc1, 0x8c, 0x46, 0x91, 0xdb, 0x68, 0x14, 0x64, 0xcd, 0xdf, 0x46, - 0x63, 0x01, 0xdc, 0xfc, 0x6d, 0x34, 0x1e, 0xb3, 0x35, 0xe7, 0xd0, 0x6f, 0x1a, 0xd0, 0xce, 0x4b, - 0xa6, 0xa3, 0x5c, 0x0f, 0x68, 0x52, 0x45, 0x40, 0xe7, 0x2b, 0x27, 0xa4, 0x8a, 0x79, 0xf9, 0x4c, - 0x04, 0x6d, 0xc6, 0xd2, 0xe7, 0x57, 0xf3, 0xfa, 0xcb, 0x49, 0x16, 0x77, 0xbe, 0x3c, 0x3d, 0x41, - 0x3c, 0xf6, 0x1e, 0xd4, 0x13, 0x01, 0xa3, 0x1c, 0xcb, 0x3b, 0x1e, 0xe9, 0xca, 0x59, 0x55, 0x4d, - 0xec, 0x49, 0xaa, 0xb7, 0xc8, 0xc6, 0xe6, 0x28, 0x63, 0x32, 0xb9, 0x9b, 0xa3, 0xde, 0xa9, 0x64, - 0xae, 0x39, 0x87, 0x08, 0x34, 0x92, 0xa9, 0xd9, 0x1c, 0x6d, 0xd4, 0x64, 0x75, 0x3b, 0xaf, 0x4e, - 0x81, 0x19, 0x0f, 0x63, 0x03, 0x8c, 0x52, 0xa3, 0x39, 0x67, 0xdd, 0x58, 0x76, 0xb6, 0xf3, 0xca, - 0xb1, 0x78, 0xc9, 0x63, 0x3f, 0x91, 0xec, 0xcc, 0x91, 0xfe, 0x78, 0x3a, 0x74, 0x8a, 0xbb, 0xc8, - 0x78, 0x42, 0x2d, 0xe7, 0x2e, 0x92, 0x9b, 0xbb, 0xeb, 0x5c, 0x9d, 0x1a, 0x3f, 0x9e, 0xcf, 0xa7, - 0xd0, 0xca, 0x26, 0x20, 0x73, 0xee, 0xb8, 0x39, 0x69, 0xd0, 0xce, 0x6b, 0x53, 0x62, 0x27, 0xcf, - 0xc3, 0xb3, 0xe3, 0x3c, 0x7d, 0xc3, 0x65, 0x07, 0x22, 0xf7, 0x35, 0xcd, 0xac, 0x93, 0x69, 0xb6, - 0x69, 0x66, 0x9d, 0x4a, 0xaa, 0xa9, 0xc3, 0x4b, 0x84, 0x8a, 0xf3, 0x0e, 0xaf, 0x64, 0x3a, 0x27, - 0xe7, 0x9c, 0x49, 0x27, 0x3f, 0xa4, 0xfb, 0x99, 0x0e, 0x41, 0xa3, 0x4b, 0x53, 0xc5, 0xa9, 0x27, - 0xb9, 0x9f, 0xfa, 0x98, 0xb6, 0xbc, 0xba, 0x65, 0x22, 0xec, 0x39, 0x57, 0x29, 0x7d, 0x88, 0x3e, - 0xe7, 0xea, 0x96, 0x13, 0xb4, 0x17, 0x1b, 0xab, 0x95, 0x0d, 0x57, 0x4e, 0x8e, 0x85, 0x64, 0xc3, - 0x58, 0xc7, 0x87, 0x2b, 0x5a, 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, - 0x2e, 0x22, 0x96, 0x73, 0x14, 0x6a, 0x03, 0x75, 0xe6, 0xdc, 0xe6, 0x10, 0x1a, 0x3b, 0x61, 0xf0, - 0xe8, 0x28, 0x0a, 0x54, 0xfd, 0x6c, 0x8c, 0xeb, 0x8d, 0x6f, 0xc0, 0x82, 0x1b, 0xe3, 0xf4, 0xc2, - 0x41, 0xf7, 0x46, 0x5d, 0x06, 0xcc, 0x76, 0x38, 0xf1, 0x8e, 0xf1, 0xcb, 0xd7, 0x7a, 0x2e, 0x3b, - 0x18, 0xee, 0x71, 0xc9, 0x5c, 0x95, 0x68, 0xaf, 0xb9, 0x81, 0xfa, 0x75, 0xd5, 0xf5, 0x19, 0x09, - 0x7d, 0xec, 0x5d, 0x15, 0x43, 0x29, 0xe8, 0x60, 0xef, 0x0f, 0x0d, 0x63, 0xaf, 0x2c, 0x40, 0xd7, - 0xfe, 0x3f, 0x00, 0x00, 0xff, 0xff, 0x07, 0x9d, 0x01, 0x89, 0xa6, 0x53, 0x00, 0x00, + 0x20, 0xc8, 0x07, 0x90, 0x1c, 0x12, 0xc4, 0xce, 0x21, 0x41, 0x2e, 0xc9, 0x21, 0x87, 0x1c, 0x02, + 0xc4, 0xc9, 0x25, 0x08, 0x7c, 0xc9, 0x1f, 0xc8, 0x21, 0x80, 0x8f, 0x39, 0x04, 0xf5, 0xd1, 0x3d, + 0xdd, 0x3d, 0xd5, 0xb3, 0xb3, 0x1c, 0xd3, 0x5c, 0xde, 0xa6, 0x5f, 0xbd, 0x57, 0xf5, 0xea, 0xd5, + 0xab, 0x57, 0xaf, 0xde, 0x7b, 0x35, 0xd0, 0xe8, 0xbb, 0xde, 0xc3, 0x21, 0xbd, 0x32, 0x08, 0x03, + 0x16, 0xa0, 0xa5, 0xe4, 0xd7, 0x15, 0xf9, 0xd1, 0x69, 0x74, 0x83, 0x7e, 0x3f, 0xf0, 0x25, 0xb0, + 0xd3, 0xa0, 0xdd, 0x03, 0xd2, 0xc7, 0xf2, 0xcb, 0xfc, 0x23, 0x03, 0xd0, 0xcd, 0x90, 0x60, 0x46, + 0xae, 0x7b, 0x2e, 0xa6, 0x16, 0xf9, 0x74, 0x48, 0x28, 0x43, 0x5f, 0x86, 0xf9, 0x3d, 0x4c, 0x49, + 0xdb, 0x58, 0x37, 0x36, 0xea, 0x9b, 0xcf, 0x5f, 0x49, 0x75, 0xab, 0xba, 0xbb, 0x4b, 0x7b, 0x37, + 0x30, 0x25, 0x96, 0xc0, 0x44, 0x6b, 0x50, 0x71, 0xf6, 0x6c, 0x1f, 0xf7, 0x49, 0xbb, 0xb0, 0x6e, + 0x6c, 0xd4, 0xac, 0xb2, 0xb3, 0x77, 0x0f, 0xf7, 0x09, 0x7a, 0x05, 0x16, 0xbb, 0x81, 0xe7, 0x91, + 0x2e, 0x73, 0x03, 0x5f, 0x22, 0x14, 0x05, 0xc2, 0xc2, 0x08, 0x2c, 0x10, 0x97, 0xa1, 0x84, 0x39, + 0x0f, 0xed, 0x79, 0xd1, 0x2c, 0x3f, 0x4c, 0x0a, 0xad, 0xad, 0x30, 0x18, 0x3c, 0x29, 0xee, 0xe2, + 0x41, 0x8b, 0xc9, 0x41, 0xff, 0xd0, 0x80, 0x33, 0xd7, 0x3d, 0x46, 0xc2, 0x53, 0x2a, 0x94, 0x3f, + 0x28, 0xc0, 0x9a, 0x5c, 0xb5, 0x9b, 0x31, 0xfa, 0xd3, 0xe4, 0x72, 0x15, 0xca, 0x52, 0xab, 0x04, + 0x9b, 0x0d, 0x4b, 0x7d, 0xa1, 0x73, 0x00, 0xf4, 0x00, 0x87, 0x0e, 0xb5, 0xfd, 0x61, 0xbf, 0x5d, + 0x5a, 0x37, 0x36, 0x4a, 0x56, 0x4d, 0x42, 0xee, 0x0d, 0xfb, 0xc8, 0x82, 0x33, 0xdd, 0xc0, 0xa7, + 0x2e, 0x65, 0xc4, 0xef, 0x1e, 0xd9, 0x1e, 0x79, 0x48, 0xbc, 0x76, 0x79, 0xdd, 0xd8, 0x58, 0xd8, + 0xbc, 0xa8, 0xe5, 0xfb, 0xe6, 0x08, 0xfb, 0x0e, 0x47, 0xb6, 0x5a, 0xdd, 0x0c, 0xc4, 0xfc, 0x8e, + 0x01, 0x2b, 0x5c, 0x61, 0x4e, 0x85, 0x60, 0xcc, 0xbf, 0x34, 0x60, 0xf9, 0x36, 0xa6, 0xa7, 0x63, + 0x95, 0xce, 0x01, 0x30, 0xb7, 0x4f, 0x6c, 0xca, 0x70, 0x7f, 0x20, 0x56, 0x6a, 0xde, 0xaa, 0x71, + 0xc8, 0x2e, 0x07, 0x98, 0xdf, 0x84, 0xc6, 0x8d, 0x20, 0xf0, 0x2c, 0x42, 0x07, 0x81, 0x4f, 0x09, + 0xba, 0x06, 0x65, 0xca, 0x30, 0x1b, 0x52, 0xc5, 0xe4, 0x59, 0x2d, 0x93, 0xbb, 0x02, 0xc5, 0x52, + 0xa8, 0x5c, 0x5f, 0x1f, 0x62, 0x6f, 0x28, 0x79, 0xac, 0x5a, 0xf2, 0xc3, 0xfc, 0x04, 0x16, 0x76, + 0x59, 0xe8, 0xfa, 0xbd, 0x9f, 0x61, 0xe7, 0xb5, 0xa8, 0xf3, 0xff, 0x30, 0xe0, 0xb9, 0x2d, 0x42, + 0xbb, 0xa1, 0xbb, 0x77, 0x4a, 0xb6, 0x83, 0x09, 0x8d, 0x11, 0x64, 0x7b, 0x4b, 0x88, 0xba, 0x68, + 0xa5, 0x60, 0x99, 0xc5, 0x28, 0x65, 0x17, 0xe3, 0x5b, 0x25, 0xe8, 0xe8, 0x26, 0x35, 0x8b, 0xf8, + 0x7e, 0x31, 0xde, 0xa5, 0x05, 0x41, 0x94, 0xd9, 0x63, 0xea, 0x5c, 0x18, 0x8d, 0xb6, 0x2b, 0x00, + 0xf1, 0x66, 0xce, 0xce, 0xaa, 0xa8, 0x99, 0xd5, 0x26, 0xac, 0x3c, 0x74, 0x43, 0x36, 0xc4, 0x9e, + 0xdd, 0x3d, 0xc0, 0xbe, 0x4f, 0x3c, 0x21, 0x27, 0x6e, 0xbe, 0x8a, 0x1b, 0x35, 0x6b, 0x49, 0x35, + 0xde, 0x94, 0x6d, 0x5c, 0x58, 0x14, 0xbd, 0x01, 0xab, 0x83, 0x83, 0x23, 0xea, 0x76, 0xc7, 0x88, + 0x4a, 0x82, 0x68, 0x39, 0x6a, 0x4d, 0x51, 0x5d, 0x86, 0x33, 0x5d, 0x61, 0x01, 0x1d, 0x9b, 0x4b, + 0x4d, 0x8a, 0xb1, 0x2c, 0xc4, 0xd8, 0x52, 0x0d, 0x1f, 0x45, 0x70, 0xce, 0x56, 0x84, 0x3c, 0x64, + 0xdd, 0x04, 0x41, 0x45, 0x10, 0x2c, 0xa9, 0xc6, 0x8f, 0x59, 0x77, 0x44, 0x93, 0xb6, 0x5d, 0xd5, + 0xac, 0xed, 0x6a, 0x43, 0x45, 0xd8, 0x62, 0x42, 0xdb, 0x35, 0xc1, 0x66, 0xf4, 0x89, 0xb6, 0x61, + 0x91, 0x32, 0x1c, 0x32, 0x7b, 0x10, 0x50, 0x97, 0xcb, 0x85, 0xb6, 0x61, 0xbd, 0xb8, 0x51, 0xdf, + 0x5c, 0xd7, 0x2e, 0xd2, 0x07, 0xe4, 0x68, 0x0b, 0x33, 0xbc, 0x83, 0xdd, 0xd0, 0x5a, 0x10, 0x84, + 0x3b, 0x11, 0x9d, 0xde, 0x40, 0xd6, 0x67, 0x32, 0x90, 0x3a, 0x2d, 0x6e, 0x68, 0x6d, 0xd7, 0x8f, + 0x0c, 0x58, 0xb9, 0x13, 0x60, 0xe7, 0x74, 0xec, 0xa9, 0x8b, 0xb0, 0x10, 0x92, 0x81, 0xe7, 0x76, + 0x31, 0x5f, 0x8f, 0x3d, 0x12, 0x8a, 0x5d, 0x55, 0xb2, 0x9a, 0x0a, 0x7a, 0x4f, 0x00, 0xcd, 0x2f, + 0x0c, 0x68, 0x5b, 0xc4, 0x23, 0x98, 0x9e, 0x0e, 0x5b, 0x60, 0x7e, 0xdf, 0x80, 0x17, 0x6e, 0x11, + 0x96, 0xd8, 0x55, 0x0c, 0x33, 0x97, 0x32, 0xb7, 0xfb, 0x34, 0xfd, 0x0a, 0xf3, 0xbb, 0x06, 0x9c, + 0xcf, 0x65, 0x6b, 0x16, 0x23, 0xf3, 0x16, 0x94, 0xf8, 0x2f, 0xda, 0x2e, 0x08, 0x9d, 0xbf, 0x90, + 0xa7, 0xf3, 0x5f, 0xe7, 0xb6, 0x5b, 0x28, 0xbd, 0xc4, 0x37, 0xff, 0xdb, 0x80, 0xd5, 0xdd, 0x83, + 0xe0, 0x70, 0xc4, 0xd2, 0x93, 0x10, 0x50, 0xda, 0xec, 0x16, 0x33, 0x66, 0x17, 0xbd, 0x0e, 0xf3, + 0xec, 0x68, 0x40, 0x84, 0x6e, 0x2d, 0x6c, 0x9e, 0xbb, 0xa2, 0x71, 0xa7, 0xaf, 0x70, 0x26, 0x3f, + 0x3a, 0x1a, 0x10, 0x4b, 0xa0, 0xa2, 0x57, 0xa1, 0x95, 0x11, 0x79, 0x64, 0xb8, 0x16, 0xd3, 0x32, + 0xa7, 0xe6, 0xdf, 0x17, 0x60, 0x6d, 0x6c, 0x8a, 0xb3, 0x08, 0x5b, 0x37, 0x76, 0x41, 0x3b, 0x36, + 0xdf, 0x3f, 0x09, 0x54, 0xd7, 0xe1, 0x1e, 0x6f, 0x71, 0xa3, 0x68, 0x35, 0x13, 0xf6, 0xdb, 0xa1, + 0xe8, 0x35, 0x40, 0x63, 0x66, 0x55, 0x5a, 0xef, 0x79, 0xeb, 0x4c, 0xd6, 0xae, 0x0a, 0xdb, 0xad, + 0x35, 0xac, 0x52, 0x04, 0xf3, 0xd6, 0xb2, 0xc6, 0xb2, 0x52, 0xf4, 0x3a, 0x2c, 0xbb, 0xfe, 0x5d, + 0xd2, 0x0f, 0xc2, 0x23, 0x7b, 0x40, 0xc2, 0x2e, 0xf1, 0x19, 0xee, 0x11, 0xda, 0x2e, 0x0b, 0x8e, + 0x96, 0xa2, 0xb6, 0x9d, 0x51, 0x93, 0xf9, 0xb7, 0x06, 0xac, 0x4a, 0x8f, 0x77, 0x07, 0x87, 0xcc, + 0x3d, 0x05, 0xd6, 0x68, 0x10, 0xf1, 0x21, 0xf1, 0xa4, 0x7f, 0xde, 0x8c, 0xa1, 0x62, 0x97, 0xfd, + 0xd0, 0x80, 0x65, 0xee, 0x8c, 0x3e, 0x4b, 0x3c, 0xff, 0x8d, 0x01, 0x4b, 0xb7, 0x31, 0x7d, 0x96, + 0x58, 0xfe, 0x89, 0x3a, 0xa9, 0x62, 0x9e, 0x9f, 0xea, 0x95, 0xed, 0x15, 0x58, 0x4c, 0x33, 0x1d, + 0x79, 0x3f, 0x0b, 0x29, 0xae, 0xa9, 0xe6, 0x48, 0x2b, 0xe9, 0x8e, 0xb4, 0xbf, 0x1b, 0x1d, 0x69, + 0xcf, 0xd6, 0x04, 0xcd, 0x7f, 0x30, 0xe0, 0xdc, 0x2d, 0xc2, 0x62, 0xae, 0x4f, 0xc5, 0xd1, 0x37, + 0xad, 0x52, 0x7d, 0x21, 0x0f, 0x6e, 0x2d, 0xf3, 0x4f, 0xe5, 0x80, 0xfc, 0x4e, 0x01, 0x56, 0xf8, + 0xe9, 0x71, 0x3a, 0x94, 0x60, 0x9a, 0x3b, 0x8e, 0x46, 0x51, 0x4a, 0xda, 0x9d, 0x10, 0x1d, 0xbb, + 0xe5, 0xa9, 0x8f, 0x5d, 0xf3, 0x47, 0x05, 0xe9, 0x2e, 0x24, 0xa5, 0x31, 0xcb, 0xb2, 0x68, 0x78, + 0x2d, 0x68, 0x79, 0x35, 0xa1, 0x11, 0x43, 0xb6, 0xb7, 0xa2, 0x63, 0x34, 0x05, 0x3b, 0xb5, 0xa7, + 0xe8, 0xe7, 0x06, 0xac, 0x46, 0xb7, 0xca, 0x5d, 0xd2, 0xeb, 0x13, 0x9f, 0x3d, 0xbe, 0x0e, 0x65, + 0x35, 0xa0, 0xa0, 0xd1, 0x80, 0xe7, 0xa1, 0x46, 0xe5, 0x38, 0xf1, 0x85, 0x71, 0x04, 0x30, 0xff, + 0xd1, 0x80, 0xb5, 0x31, 0x76, 0x66, 0x59, 0xc4, 0x36, 0x54, 0x5c, 0xdf, 0x21, 0x8f, 0x62, 0x6e, + 0xa2, 0x4f, 0xde, 0xb2, 0x37, 0x74, 0x3d, 0x27, 0x66, 0x23, 0xfa, 0x44, 0x17, 0xa0, 0x41, 0x7c, + 0xbc, 0xe7, 0x11, 0x5b, 0xe0, 0x0a, 0x45, 0xae, 0x5a, 0x75, 0x09, 0xdb, 0xe6, 0x20, 0x4e, 0xbc, + 0xef, 0x12, 0x41, 0x5c, 0x92, 0xc4, 0xea, 0xd3, 0xfc, 0x1d, 0x03, 0x96, 0xb8, 0x16, 0x2a, 0xee, + 0xe9, 0x93, 0x95, 0xe6, 0x3a, 0xd4, 0x13, 0x6a, 0xa6, 0x26, 0x92, 0x04, 0x99, 0x0f, 0x60, 0x39, + 0xcd, 0xce, 0x2c, 0xd2, 0x7c, 0x01, 0x20, 0x5e, 0x2b, 0xb9, 0x1b, 0x8a, 0x56, 0x02, 0x62, 0x7e, + 0x5e, 0x88, 0x62, 0xc7, 0x42, 0x4c, 0x4f, 0x39, 0xb4, 0x25, 0x96, 0x24, 0x69, 0xcf, 0x6b, 0x02, + 0x22, 0x9a, 0xb7, 0xa0, 0x41, 0x1e, 0xb1, 0x10, 0xdb, 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, 0x2f, 0xdc, 0xd9, 0x53, 0xda, 0x7c, 0xda, 0x05, 0x92, 0x9e, 0x4a, 0x29, + 0x3b, 0x95, 0x3f, 0x37, 0xa0, 0x25, 0xa6, 0x20, 0xe7, 0x33, 0xe0, 0xdd, 0x66, 0x68, 0x8c, 0x0c, + 0xcd, 0x84, 0xbd, 0xf7, 0x0b, 0x50, 0x56, 0x72, 0x2f, 0x4e, 0x2b, 0x77, 0x45, 0x70, 0xcc, 0x34, + 0xcc, 0x3f, 0x31, 0x60, 0x25, 0x23, 0xf2, 0x59, 0x14, 0xfe, 0x23, 0x40, 0x72, 0x86, 0xce, 0x68, + 0xda, 0xd1, 0x39, 0x7d, 0x51, 0x7b, 0x28, 0x65, 0x85, 0x64, 0x9d, 0x71, 0x33, 0x10, 0x6a, 0xfe, + 0xd8, 0x80, 0xe7, 0x6f, 0x11, 0x26, 0x50, 0x6f, 0x70, 0xa3, 0xb3, 0x13, 0x06, 0xbd, 0x90, 0x50, + 0xfa, 0xec, 0xea, 0xc7, 0xef, 0x49, 0xc7, 0x4e, 0x37, 0xa5, 0x59, 0xe4, 0x7f, 0x01, 0x1a, 0x62, + 0x0c, 0xe2, 0xd8, 0x61, 0x70, 0x48, 0x95, 0x1e, 0xd5, 0x15, 0xcc, 0x0a, 0x0e, 0x85, 0x42, 0xb0, + 0x80, 0x61, 0x4f, 0x22, 0xa8, 0x13, 0x45, 0x40, 0x78, 0xb3, 0xd8, 0x83, 0x11, 0x63, 0xbc, 0x73, + 0xf2, 0xec, 0xca, 0xf8, 0xcf, 0x0c, 0x58, 0xc9, 0x4c, 0x65, 0x16, 0xd9, 0x7e, 0x45, 0xba, 0x9d, + 0x72, 0x32, 0x0b, 0x9b, 0xe7, 0xb5, 0x34, 0x89, 0xc1, 0x24, 0x36, 0x3a, 0x0f, 0xf5, 0x7d, 0xec, + 0x7a, 0x76, 0x48, 0x30, 0x0d, 0x7c, 0x35, 0x51, 0xe0, 0x20, 0x4b, 0x40, 0xcc, 0x7f, 0x36, 0x64, + 0x82, 0xee, 0x19, 0xb7, 0x78, 0x7f, 0x5a, 0x80, 0xe6, 0xb6, 0x4f, 0x49, 0xc8, 0x4e, 0xff, 0xd5, + 0x04, 0xbd, 0x07, 0x75, 0x31, 0x31, 0x6a, 0x3b, 0x98, 0x61, 0x75, 0x9a, 0xbd, 0xa0, 0x8d, 0xe6, + 0xbf, 0xcf, 0xf1, 0xb6, 0x30, 0xc3, 0x96, 0x94, 0x0e, 0xe5, 0xbf, 0xd1, 0x59, 0xa8, 0x1d, 0x60, + 0x7a, 0x60, 0x3f, 0x20, 0x47, 0xd2, 0x5f, 0x6c, 0x5a, 0x55, 0x0e, 0xf8, 0x80, 0x1c, 0x51, 0xf4, + 0x1c, 0x54, 0xfd, 0x61, 0x5f, 0x6e, 0xb0, 0xca, 0xba, 0xb1, 0xd1, 0xb4, 0x2a, 0xfe, 0xb0, 0x2f, + 0xb6, 0xd7, 0xbf, 0x16, 0x60, 0xe1, 0xee, 0x90, 0x5f, 0x84, 0x44, 0x2e, 0x62, 0xe8, 0xb1, 0xc7, + 0x53, 0xc6, 0x4b, 0x50, 0x94, 0x2e, 0x05, 0xa7, 0x68, 0x6b, 0x19, 0xdf, 0xde, 0xa2, 0x16, 0x47, + 0x12, 0x71, 0xf8, 0x61, 0xb7, 0xab, 0xbc, 0xb3, 0xa2, 0x60, 0xb6, 0xc6, 0x21, 0xd2, 0x37, 0x3b, + 0x0b, 0x35, 0x12, 0x86, 0xb1, 0xef, 0x26, 0xa6, 0x42, 0xc2, 0x50, 0x36, 0x9a, 0xd0, 0xc0, 0xdd, + 0x07, 0x7e, 0x70, 0xe8, 0x11, 0xa7, 0x47, 0x1c, 0xb1, 0xec, 0x55, 0x2b, 0x05, 0x93, 0x8a, 0xc1, + 0x17, 0xde, 0xee, 0xfa, 0x4c, 0x9c, 0xea, 0x45, 0xae, 0x18, 0x1c, 0x72, 0xd3, 0x67, 0xbc, 0xd9, + 0x21, 0x1e, 0x61, 0x44, 0x34, 0x57, 0x64, 0xb3, 0x84, 0xa8, 0xe6, 0xe1, 0x20, 0xa6, 0xae, 0xca, + 0x66, 0x09, 0xe1, 0xcd, 0xcf, 0x43, 0x6d, 0x94, 0x6c, 0xa8, 0x8d, 0xa2, 0x8d, 0x02, 0x60, 0xfe, + 0xc4, 0x80, 0xe6, 0x96, 0xe8, 0xea, 0x19, 0x50, 0x3a, 0x04, 0xf3, 0xe4, 0xd1, 0x20, 0x54, 0x5b, + 0x47, 0xfc, 0x9e, 0xa8, 0x47, 0xe6, 0x43, 0x68, 0xed, 0x78, 0xb8, 0x4b, 0x0e, 0x02, 0xcf, 0x21, + 0xa1, 0x38, 0xdb, 0x51, 0x0b, 0x8a, 0x0c, 0xf7, 0x94, 0xf3, 0xc0, 0x7f, 0xa2, 0xb7, 0xd5, 0xd5, + 0x4f, 0x9a, 0xa5, 0x97, 0xb4, 0xa7, 0x6c, 0xa2, 0x9b, 0x44, 0xe0, 0x75, 0x15, 0xca, 0x22, 0x01, + 0x28, 0xdd, 0x8a, 0x86, 0xa5, 0xbe, 0xcc, 0xfb, 0xa9, 0x71, 0x6f, 0x85, 0xc1, 0x70, 0x80, 0xb6, + 0xa1, 0x31, 0x18, 0xc1, 0xb8, 0xae, 0xe6, 0x9f, 0xe9, 0x59, 0xa6, 0xad, 0x14, 0xa9, 0xf9, 0x3f, + 0x45, 0x68, 0xee, 0x12, 0x1c, 0x76, 0x0f, 0x9e, 0x89, 0x20, 0x53, 0x0b, 0x8a, 0x0e, 0xf5, 0xd4, + 0xaa, 0xf1, 0x9f, 0xe8, 0x32, 0x9c, 0x49, 0x4c, 0xc8, 0xee, 0x71, 0x01, 0x09, 0xbd, 0x6f, 0x58, + 0xad, 0x41, 0x56, 0x70, 0x6f, 0x41, 0xd5, 0xa1, 0x9e, 0x2d, 0x96, 0xa8, 0x22, 0x96, 0x48, 0x3f, + 0xbf, 0x2d, 0xea, 0x89, 0xa5, 0xa9, 0x38, 0xf2, 0x07, 0x7a, 0x11, 0x9a, 0xc1, 0x90, 0x0d, 0x86, + 0xcc, 0x96, 0x76, 0xa7, 0x5d, 0x15, 0xec, 0x35, 0x24, 0x50, 0x98, 0x25, 0x8a, 0xde, 0x87, 0x26, + 0x15, 0xa2, 0x8c, 0x1c, 0xf3, 0xda, 0xb4, 0x0e, 0x62, 0x43, 0xd2, 0x29, 0xcf, 0xfc, 0x55, 0x68, + 0xb1, 0x10, 0x3f, 0x24, 0x5e, 0x22, 0xb5, 0x07, 0x62, 0xb7, 0x2d, 0x4a, 0xf8, 0x28, 0xad, 0x77, + 0x15, 0x96, 0x7a, 0x43, 0x1c, 0x62, 0x9f, 0x11, 0x92, 0xc0, 0xae, 0x0b, 0x6c, 0x14, 0x37, 0xc5, + 0x04, 0xe6, 0x07, 0x30, 0x7f, 0xdb, 0x65, 0x42, 0x90, 0xdc, 0x66, 0x19, 0xe2, 0x1a, 0x24, 0x2c, + 0xd3, 0x73, 0x50, 0x0d, 0x83, 0x43, 0x69, 0x83, 0x0b, 0x42, 0x05, 0x2b, 0x61, 0x70, 0x28, 0x0c, + 0xac, 0x28, 0x88, 0x08, 0x42, 0xa5, 0x9b, 0x05, 0x4b, 0x7d, 0x99, 0x7f, 0x6d, 0x8c, 0x94, 0x87, + 0x9b, 0x4f, 0xfa, 0x78, 0xf6, 0xf3, 0x3d, 0xa8, 0x84, 0x92, 0x7e, 0x62, 0x2a, 0x37, 0x39, 0x92, + 0x38, 0x03, 0x22, 0xaa, 0xe9, 0xf3, 0x44, 0xbf, 0x6e, 0x40, 0xe3, 0x7d, 0x6f, 0x48, 0x9f, 0x84, + 0xb2, 0xeb, 0xb2, 0x17, 0x45, 0x7d, 0xe6, 0xe4, 0x7b, 0x05, 0x68, 0x2a, 0x36, 0x66, 0x71, 0x82, + 0x72, 0x59, 0xd9, 0x85, 0x3a, 0x1f, 0xd2, 0xa6, 0xa4, 0x17, 0xc5, 0x74, 0xea, 0x9b, 0x9b, 0x5a, + 0xf3, 0x90, 0x62, 0x43, 0x64, 0xcb, 0x77, 0x05, 0xd1, 0x2f, 0xfb, 0x2c, 0x3c, 0xb2, 0xa0, 0x1b, + 0x03, 0x3a, 0xf7, 0x61, 0x31, 0xd3, 0xcc, 0x95, 0xe8, 0x01, 0x39, 0x8a, 0xec, 0xdf, 0x03, 0x72, + 0x84, 0xde, 0x48, 0xd6, 0x34, 0xe4, 0x9d, 0xe2, 0x77, 0x02, 0xbf, 0x77, 0x3d, 0x0c, 0xf1, 0x91, + 0xaa, 0x79, 0x78, 0xa7, 0xf0, 0xb6, 0x61, 0xfe, 0x53, 0x01, 0x1a, 0x1f, 0x0e, 0x49, 0x78, 0xf4, + 0x34, 0xed, 0x50, 0x74, 0x2a, 0xcc, 0x27, 0x4e, 0x85, 0xb1, 0xad, 0x5f, 0xd2, 0x6c, 0x7d, 0x8d, + 0x01, 0x2b, 0x6b, 0x0d, 0x98, 0x6e, 0x6f, 0x57, 0x4e, 0xb4, 0xb7, 0xab, 0xb9, 0x7b, 0xfb, 0xaf, + 0x8c, 0x58, 0x84, 0x33, 0xed, 0xc6, 0x94, 0x3b, 0x56, 0x38, 0xb1, 0x3b, 0x36, 0xf5, 0x6e, 0xfc, + 0xa1, 0x01, 0xb5, 0xaf, 0x93, 0x2e, 0x0b, 0x42, 0x6e, 0x7f, 0x34, 0x64, 0xc6, 0x14, 0xae, 0x71, + 0x21, 0xeb, 0x1a, 0x5f, 0x83, 0xaa, 0xeb, 0xd8, 0x98, 0xeb, 0x97, 0x18, 0x77, 0x92, 0x4b, 0x56, + 0x71, 0x1d, 0xa1, 0x88, 0xd3, 0x27, 0x01, 0x7e, 0xdf, 0x80, 0x86, 0xe4, 0x99, 0x4a, 0xca, 0x77, + 0x13, 0xc3, 0x19, 0x3a, 0xa5, 0x57, 0x1f, 0xf1, 0x44, 0x6f, 0xcf, 0x8d, 0x86, 0xbd, 0x0e, 0xc0, + 0x85, 0xac, 0xc8, 0xe5, 0x9e, 0x59, 0xd7, 0x72, 0x2b, 0xc9, 0x85, 0xc0, 0x6f, 0xcf, 0x59, 0x35, + 0x4e, 0x25, 0xba, 0xb8, 0x51, 0x81, 0x92, 0xa0, 0x36, 0xff, 0xcf, 0x80, 0xa5, 0x9b, 0xd8, 0xeb, + 0x6e, 0xb9, 0x94, 0x61, 0xbf, 0x3b, 0x83, 0x13, 0xf6, 0x0e, 0x54, 0x82, 0x81, 0xed, 0x91, 0x7d, + 0xa6, 0x58, 0xba, 0x30, 0x61, 0x46, 0x52, 0x0c, 0x56, 0x39, 0x18, 0xdc, 0x21, 0xfb, 0x0c, 0x7d, + 0x15, 0xaa, 0xc1, 0xc0, 0x0e, 0xdd, 0xde, 0x01, 0x53, 0xd2, 0x9f, 0x82, 0xb8, 0x12, 0x0c, 0x2c, + 0x4e, 0x91, 0x88, 0xad, 0xcc, 0x9f, 0x30, 0xb6, 0x62, 0xfe, 0xfb, 0xd8, 0xf4, 0x67, 0xd8, 0x03, + 0xef, 0x40, 0xd5, 0xf5, 0x99, 0xed, 0xb8, 0x34, 0x12, 0xc1, 0x39, 0xbd, 0x0e, 0xf9, 0x4c, 0xcc, + 0x40, 0xac, 0xa9, 0xcf, 0xf8, 0xd8, 0xe8, 0x6b, 0x00, 0xfb, 0x5e, 0x80, 0x15, 0xb5, 0x94, 0xc1, + 0x79, 0xfd, 0xf6, 0xe1, 0x68, 0x11, 0x7d, 0x4d, 0x10, 0xf1, 0x1e, 0x46, 0x4b, 0xfa, 0x6f, 0x06, + 0xac, 0xec, 0x90, 0x50, 0x56, 0xbc, 0x30, 0x15, 0x06, 0xdd, 0xf6, 0xf7, 0x83, 0x74, 0x24, 0xda, + 0xc8, 0x44, 0xa2, 0x7f, 0x36, 0xd1, 0xd7, 0xd4, 0xcd, 0x49, 0xe6, 0x43, 0xa2, 0x9b, 0x53, 0x94, + 0xf5, 0x91, 0x37, 0xcf, 0x85, 0x9c, 0x65, 0x52, 0xfc, 0x26, 0x2f, 0xe0, 0xe6, 0xef, 0xca, 0x42, + 0x0d, 0xed, 0xa4, 0x1e, 0x5f, 0x61, 0x57, 0x41, 0x59, 0xfa, 0x8c, 0xdd, 0x7f, 0x19, 0x32, 0xb6, + 0x23, 0xc7, 0x10, 0xfd, 0xc0, 0x80, 0xf5, 0x7c, 0xae, 0x66, 0x39, 0xa2, 0xbf, 0x06, 0x25, 0xd7, + 0xdf, 0x0f, 0xa2, 0xb0, 0xdb, 0x25, 0xbd, 0x8b, 0xae, 0x1d, 0x57, 0x12, 0x9a, 0x3f, 0x2e, 0x40, + 0x4b, 0x18, 0xf5, 0xa7, 0xb0, 0xfc, 0x7d, 0xd2, 0xb7, 0xa9, 0xfb, 0x19, 0x89, 0x96, 0xbf, 0x4f, + 0xfa, 0xbb, 0xee, 0x67, 0x24, 0xa5, 0x19, 0xa5, 0xb4, 0x66, 0x4c, 0x8e, 0x2a, 0x27, 0xc3, 0xaa, + 0x95, 0x74, 0x58, 0x75, 0x15, 0xca, 0x7e, 0xe0, 0x90, 0xed, 0x2d, 0x75, 0xed, 0x54, 0x5f, 0x23, + 0x55, 0xab, 0x9d, 0x4c, 0xd5, 0xf8, 0x50, 0xa2, 0x0b, 0x47, 0x16, 0xac, 0x71, 0x1e, 0xe5, 0xa7, + 0xf9, 0x85, 0x01, 0x9d, 0x5b, 0x84, 0x65, 0xa5, 0xfa, 0xf4, 0xf4, 0xef, 0xbb, 0x06, 0x9c, 0xd5, + 0x32, 0x34, 0x8b, 0xea, 0xbd, 0x9b, 0x56, 0x3d, 0xfd, 0xed, 0x70, 0x6c, 0x48, 0xa5, 0x75, 0xaf, + 0x43, 0x63, 0x6b, 0xd8, 0xef, 0xc7, 0xce, 0xd8, 0x05, 0x68, 0x84, 0xf2, 0xa7, 0xbc, 0x3c, 0xc9, + 0x93, 0xb9, 0xae, 0x60, 0xfc, 0x8a, 0x64, 0x5e, 0x86, 0xa6, 0x22, 0x51, 0x5c, 0x77, 0xa0, 0x1a, + 0xaa, 0xdf, 0x0a, 0x3f, 0xfe, 0x36, 0x57, 0x60, 0xc9, 0x22, 0x3d, 0xae, 0xf4, 0xe1, 0x1d, 0xd7, + 0x7f, 0xa0, 0x86, 0x31, 0xbf, 0x6d, 0xc0, 0x72, 0x1a, 0xae, 0xfa, 0x7a, 0x13, 0x2a, 0xd8, 0x71, + 0x42, 0x42, 0xe9, 0xc4, 0x65, 0xb9, 0x2e, 0x71, 0xac, 0x08, 0x39, 0x21, 0xb9, 0xc2, 0xd4, 0x92, + 0x33, 0x6d, 0x38, 0x73, 0x8b, 0xb0, 0xbb, 0x84, 0x85, 0x33, 0xe5, 0xf6, 0xdb, 0xfc, 0x5a, 0x23, + 0x88, 0x95, 0x5a, 0x44, 0x9f, 0xe6, 0xe7, 0x06, 0xa0, 0xe4, 0x08, 0xb3, 0x2c, 0x73, 0x52, 0xca, + 0x85, 0xb4, 0x94, 0x65, 0x95, 0x54, 0x7f, 0x10, 0xf8, 0xc4, 0x67, 0x49, 0x47, 0xac, 0x19, 0x43, + 0xa3, 0x82, 0x13, 0x74, 0x27, 0xc0, 0xce, 0x0d, 0xec, 0xcd, 0xe6, 0x38, 0x9c, 0x03, 0xa0, 0x61, + 0xd7, 0x56, 0xfb, 0xb8, 0xa0, 0xec, 0x52, 0xd8, 0xbd, 0x27, 0xb7, 0xf2, 0x79, 0xa8, 0x3b, 0x94, + 0xa9, 0xe6, 0x28, 0xd5, 0x0c, 0x0e, 0x65, 0xb2, 0x5d, 0x54, 0xc1, 0x52, 0x82, 0x3d, 0xe2, 0xd8, + 0x89, 0x4c, 0xdd, 0xbc, 0x40, 0x6b, 0xc9, 0x86, 0xdd, 0x18, 0xae, 0xd9, 0x5c, 0x25, 0xed, 0xe6, + 0xba, 0x0f, 0x6b, 0x77, 0xb1, 0x3f, 0xc4, 0xde, 0xcd, 0xa0, 0x3f, 0xc0, 0xa9, 0x0a, 0xca, 0xac, + 0xa1, 0x34, 0x34, 0x86, 0xf2, 0x05, 0x59, 0x62, 0x27, 0x9d, 0x73, 0x31, 0xa7, 0x79, 0x2b, 0x01, + 0x31, 0x29, 0xb4, 0xc7, 0xbb, 0x9f, 0x65, 0x41, 0x05, 0x53, 0x51, 0x57, 0x49, 0xeb, 0x3d, 0x82, + 0x99, 0xef, 0xc1, 0x73, 0xa2, 0xdc, 0x31, 0x02, 0xa5, 0x92, 0x03, 0xd9, 0x0e, 0x0c, 0x4d, 0x07, + 0xbf, 0x59, 0x10, 0x26, 0x70, 0xac, 0x87, 0x59, 0x18, 0x7f, 0x27, 0x1d, 0x93, 0x7f, 0x29, 0xa7, + 0xa4, 0x37, 0x3d, 0xa2, 0x32, 0xd6, 0x1b, 0xb0, 0x48, 0x1e, 0x91, 0xee, 0x90, 0xb9, 0x7e, 0x6f, + 0xc7, 0xc3, 0xfe, 0xbd, 0x40, 0x1d, 0x49, 0x59, 0x30, 0x7a, 0x09, 0x9a, 0x5c, 0xfa, 0xc1, 0x90, + 0x29, 0x3c, 0x79, 0x36, 0xa5, 0x81, 0xbc, 0x3f, 0x3e, 0x5f, 0x8f, 0x30, 0xe2, 0x28, 0x3c, 0x79, + 0x50, 0x65, 0xc1, 0x63, 0xa2, 0xe4, 0x60, 0x7a, 0x12, 0x51, 0xfe, 0xa7, 0x91, 0x11, 0xa5, 0xea, + 0xe1, 0x69, 0x89, 0xf2, 0x36, 0x40, 0x9f, 0x84, 0x3d, 0xb2, 0x2d, 0x8c, 0xbf, 0xbc, 0xfb, 0x6f, + 0x68, 0x8d, 0xff, 0xa8, 0x83, 0xbb, 0x11, 0x81, 0x95, 0xa0, 0x35, 0x6f, 0xc1, 0x92, 0x06, 0x85, + 0xdb, 0x35, 0x1a, 0x0c, 0xc3, 0x2e, 0x89, 0xc2, 0x47, 0xd1, 0x27, 0x3f, 0x07, 0x19, 0x0e, 0x7b, + 0x84, 0x29, 0xa5, 0x55, 0x5f, 0xe6, 0x9b, 0x22, 0x8d, 0x25, 0x42, 0x0d, 0x29, 0x4d, 0x4d, 0xa7, + 0xe4, 0x8d, 0xb1, 0x94, 0xfc, 0xbe, 0xc8, 0x19, 0x25, 0xe9, 0x66, 0x2c, 0xa7, 0xd8, 0xe7, 0x5d, + 0x11, 0x47, 0x3d, 0xe7, 0x88, 0x3e, 0xcd, 0x9f, 0x1a, 0xd0, 0xdc, 0xee, 0x0f, 0x82, 0x51, 0xba, + 0x64, 0xea, 0xcb, 0xe8, 0x78, 0xb8, 0xb9, 0xa0, 0x0b, 0x37, 0xbf, 0x08, 0xcd, 0xf4, 0x63, 0x00, + 0x19, 0x19, 0x6a, 0x74, 0x93, 0x8f, 0x00, 0xce, 0x42, 0x2d, 0x0c, 0x0e, 0x6d, 0x6e, 0x4a, 0x1d, + 0x55, 0xb8, 0x51, 0x0d, 0x83, 0x43, 0x6e, 0x60, 0x1d, 0xb4, 0x0c, 0xa5, 0x7d, 0xd7, 0x8b, 0x6b, + 0x8e, 0xe4, 0x07, 0x7a, 0x97, 0x5f, 0xd5, 0x64, 0x62, 0xb7, 0x3c, 0xed, 0x8d, 0x29, 0xa2, 0x30, + 0x3f, 0x81, 0x85, 0x68, 0xd6, 0x33, 0xbe, 0x63, 0x61, 0x98, 0x3e, 0x88, 0x6a, 0x2a, 0xe4, 0x87, + 0x79, 0x59, 0xe6, 0xfb, 0x44, 0xff, 0xa9, 0x45, 0x47, 0x30, 0xcf, 0x31, 0xd4, 0x5e, 0x12, 0xbf, + 0xcd, 0x9f, 0x16, 0x60, 0x35, 0x8b, 0x3d, 0x0b, 0x4b, 0x6f, 0xa6, 0xf7, 0x8f, 0xfe, 0xa9, 0x42, + 0x72, 0x34, 0xb5, 0x77, 0xd4, 0x0a, 0x74, 0x83, 0xa1, 0xcf, 0x94, 0x01, 0xe2, 0x2b, 0x70, 0x93, + 0x7f, 0xa3, 0x35, 0xa8, 0xb8, 0x8e, 0xed, 0xf1, 0x5b, 0x9d, 0x3c, 0x93, 0xca, 0xae, 0x73, 0x87, + 0xdf, 0xf8, 0xde, 0x8a, 0x3c, 0xad, 0xa9, 0x0b, 0x31, 0x24, 0x3e, 0x5a, 0x80, 0x82, 0xeb, 0xa8, + 0x24, 0x4d, 0xc1, 0x75, 0xd0, 0xdb, 0xd0, 0x3e, 0x20, 0xc3, 0x50, 0xd4, 0xe5, 0x89, 0xe8, 0x8b, + 0xfd, 0x29, 0xf7, 0xcf, 0xf0, 0x9e, 0x27, 0xc3, 0xd5, 0x55, 0x6b, 0x35, 0x6e, 0xdf, 0xc2, 0x0c, + 0x7f, 0x18, 0xb5, 0xa2, 0x37, 0x60, 0x35, 0x43, 0xa9, 0xd2, 0xcc, 0xc2, 0x9b, 0xae, 0x5a, 0xcb, + 0x29, 0xba, 0x6d, 0xd9, 0x66, 0xb6, 0x61, 0x95, 0x4f, 0x40, 0x0a, 0xe2, 0x23, 0xbe, 0x6c, 0x91, + 0x23, 0xf6, 0x3d, 0x03, 0xd6, 0xc6, 0x9a, 0x66, 0x59, 0x91, 0xeb, 0x49, 0x25, 0xa9, 0x6f, 0x5e, + 0xd6, 0x1a, 0x24, 0xbd, 0x0a, 0x44, 0x1a, 0xf5, 0x7d, 0xe9, 0x35, 0x59, 0xb2, 0x9c, 0xf4, 0x09, + 0x17, 0x27, 0x6d, 0x40, 0xeb, 0xd0, 0x65, 0x07, 0xb6, 0x78, 0x22, 0x23, 0x5c, 0x16, 0x99, 0x9f, + 0xaf, 0x5a, 0x0b, 0x1c, 0xbe, 0xcb, 0xc1, 0xdc, 0x6d, 0xa1, 0xe6, 0x6f, 0x19, 0xb0, 0x94, 0x62, + 0x6b, 0x16, 0x31, 0x7d, 0x95, 0x7b, 0x73, 0xb2, 0x23, 0x25, 0xa9, 0x75, 0xad, 0xa4, 0xd4, 0x68, + 0xc2, 0x64, 0xc7, 0x14, 0xe6, 0x7f, 0x19, 0x50, 0x4f, 0xb4, 0xf0, 0x6b, 0xa2, 0x6a, 0x1b, 0x5d, + 0x13, 0x63, 0xc0, 0x54, 0x62, 0x78, 0x11, 0x46, 0x86, 0x2c, 0x51, 0x66, 0x9f, 0xa8, 0x0f, 0x74, + 0x28, 0xba, 0x0d, 0x0b, 0x52, 0x4c, 0x31, 0xeb, 0xda, 0xe8, 0x4d, 0x5c, 0xf9, 0x88, 0x43, 0x47, + 0x71, 0x69, 0x35, 0x69, 0xe2, 0x4b, 0x26, 0x6b, 0x03, 0x87, 0x88, 0x91, 0x4a, 0x63, 0x97, 0xb6, + 0x46, 0x92, 0x94, 0x3b, 0xbe, 0x1e, 0xc1, 0x0e, 0x09, 0xe3, 0xb9, 0xc5, 0xdf, 0xdc, 0xd3, 0x94, + 0xbf, 0x6d, 0x7e, 0x11, 0x50, 0x26, 0x19, 0x24, 0x88, 0xdf, 0x11, 0xd0, 0xcb, 0xb0, 0xe8, 0xf4, + 0x53, 0xef, 0xb3, 0x22, 0xd7, 0xd8, 0xe9, 0x27, 0x1e, 0x66, 0xa5, 0x18, 0x9a, 0x4f, 0x33, 0xf4, + 0xbf, 0x46, 0xfc, 0x6a, 0x35, 0x24, 0x0e, 0xf1, 0x99, 0x8b, 0xbd, 0xc7, 0xd7, 0xc9, 0x0e, 0x54, + 0x87, 0x94, 0x84, 0x89, 0x13, 0x24, 0xfe, 0xe6, 0x6d, 0x03, 0x4c, 0xe9, 0x61, 0x10, 0x3a, 0x8a, + 0xcb, 0xf8, 0x7b, 0x42, 0xb1, 0xa5, 0x7c, 0x11, 0xa9, 0x2f, 0xb6, 0x7c, 0x13, 0xd6, 0xfa, 0x81, + 0xe3, 0xee, 0xbb, 0xba, 0x1a, 0x4d, 0x4e, 0xb6, 0x12, 0x35, 0xa7, 0xe8, 0xcc, 0x1f, 0x14, 0x60, + 0xed, 0xe3, 0x81, 0xf3, 0x73, 0x98, 0xf3, 0x3a, 0xd4, 0x03, 0xcf, 0xd9, 0x49, 0x4f, 0x3b, 0x09, + 0xe2, 0x18, 0x3e, 0x39, 0x8c, 0x31, 0x64, 0xc8, 0x3e, 0x09, 0x9a, 0x58, 0x88, 0xfa, 0x58, 0xb2, + 0x29, 0x4f, 0x92, 0x4d, 0x0f, 0xd6, 0x64, 0xf6, 0xfb, 0x09, 0x8b, 0xc6, 0xfc, 0x35, 0x58, 0xe1, + 0xa6, 0x99, 0x0f, 0xf3, 0x31, 0x25, 0xe1, 0x8c, 0x16, 0xe7, 0x79, 0xa8, 0x45, 0x3d, 0x47, 0x35, + 0xc2, 0x23, 0x80, 0x79, 0x1b, 0x96, 0x33, 0x63, 0x3d, 0xe6, 0x8c, 0x2e, 0x5d, 0x80, 0x6a, 0x54, + 0xf3, 0x8c, 0x2a, 0x50, 0xbc, 0xee, 0x79, 0xad, 0x39, 0xd4, 0x80, 0xea, 0xb6, 0x2a, 0xec, 0x6d, + 0x19, 0x97, 0x7e, 0x09, 0x16, 0x33, 0xb9, 0x71, 0x54, 0x85, 0xf9, 0x7b, 0x81, 0x4f, 0x5a, 0x73, + 0xa8, 0x05, 0x8d, 0x1b, 0xae, 0x8f, 0xc3, 0x23, 0x19, 0x39, 0x6e, 0x39, 0x68, 0x11, 0xea, 0x22, + 0x82, 0xaa, 0x00, 0x64, 0xf3, 0x2f, 0x2e, 0x42, 0xf3, 0xae, 0x60, 0x64, 0x97, 0x84, 0x0f, 0xdd, + 0x2e, 0x41, 0x36, 0xb4, 0xb2, 0x0f, 0xcb, 0xd1, 0x97, 0xf4, 0xbe, 0xb0, 0xfe, 0xfd, 0x79, 0x67, + 0x92, 0x0c, 0xcd, 0x39, 0xf4, 0x09, 0x2c, 0xa4, 0x9f, 0x67, 0x23, 0x7d, 0x88, 0x4f, 0xfb, 0x86, + 0xfb, 0xb8, 0xce, 0x6d, 0x68, 0xa6, 0x5e, 0x5b, 0xa3, 0x57, 0xb5, 0x7d, 0xeb, 0x5e, 0x64, 0x77, + 0xf4, 0xb6, 0x37, 0xf9, 0x22, 0x5a, 0x72, 0x9f, 0x7e, 0x12, 0x99, 0xc3, 0xbd, 0xf6, 0xdd, 0xe4, + 0x71, 0xdc, 0x63, 0x38, 0x33, 0xf6, 0x74, 0x11, 0xbd, 0x96, 0x73, 0x9a, 0xe9, 0x9f, 0x38, 0x1e, + 0x37, 0xc4, 0x21, 0xa0, 0xf1, 0x57, 0xc5, 0xe8, 0x8a, 0x7e, 0x05, 0xf2, 0xde, 0x54, 0x77, 0xae, + 0x4e, 0x8d, 0x1f, 0x0b, 0xee, 0x37, 0x0c, 0x58, 0xcb, 0x79, 0x6f, 0x88, 0xae, 0xe5, 0xb9, 0x36, + 0x13, 0x1e, 0x4d, 0x76, 0xde, 0x38, 0x19, 0x51, 0xcc, 0x88, 0x0f, 0x8b, 0x99, 0x27, 0x78, 0xe8, + 0x72, 0xee, 0x7b, 0x83, 0xf1, 0xb7, 0x88, 0x9d, 0x2f, 0x4d, 0x87, 0x1c, 0x8f, 0x77, 0x1f, 0x16, + 0x33, 0xef, 0xd6, 0x72, 0xc6, 0xd3, 0xbf, 0x6e, 0x3b, 0x6e, 0x41, 0xbf, 0x09, 0xcd, 0xd4, 0x03, + 0xb3, 0x1c, 0x8d, 0xd7, 0x3d, 0x42, 0x3b, 0xae, 0xeb, 0xfb, 0xd0, 0x48, 0xbe, 0x03, 0x43, 0x1b, + 0x79, 0x7b, 0x69, 0xac, 0xe3, 0x93, 0x6c, 0xa5, 0xd1, 0xfb, 0x8d, 0x09, 0x5b, 0x69, 0xec, 0xc9, + 0xcb, 0xf4, 0x5b, 0x29, 0xd1, 0xff, 0xc4, 0xad, 0x74, 0xe2, 0x21, 0xbe, 0x6d, 0x88, 0x1b, 0x98, + 0xe6, 0x7d, 0x10, 0xda, 0xcc, 0xd3, 0xcd, 0xfc, 0x97, 0x50, 0x9d, 0x6b, 0x27, 0xa2, 0x89, 0xa5, + 0xf8, 0x00, 0x16, 0xd2, 0xaf, 0x60, 0x72, 0xa4, 0xa8, 0x7d, 0x38, 0xd4, 0xb9, 0x3c, 0x15, 0x6e, + 0x3c, 0xd8, 0xc7, 0x50, 0x4f, 0xfc, 0x57, 0x0c, 0x7a, 0x65, 0x82, 0x1e, 0x27, 0xff, 0x38, 0xe5, + 0x38, 0x49, 0x7e, 0x08, 0xb5, 0xf8, 0x2f, 0x5e, 0xd0, 0xc5, 0x5c, 0xfd, 0x3d, 0x49, 0x97, 0xbb, + 0x00, 0xa3, 0xff, 0x6f, 0x41, 0x2f, 0x6b, 0xfb, 0x1c, 0xfb, 0x83, 0x97, 0xe3, 0x3a, 0x8d, 0xa7, + 0x2f, 0x8b, 0x0b, 0x27, 0x4d, 0x3f, 0x59, 0x0d, 0x7b, 0x5c, 0xb7, 0x07, 0xd0, 0x4c, 0xd5, 0xb0, + 0xe7, 0x6d, 0x61, 0xcd, 0xd3, 0x82, 0xce, 0xa5, 0x69, 0x50, 0xe3, 0xf5, 0x3b, 0x80, 0x66, 0xaa, + 0xa2, 0x38, 0x67, 0x24, 0x5d, 0x01, 0x75, 0xce, 0x48, 0xda, 0x02, 0x65, 0x73, 0x0e, 0x7d, 0x2b, + 0x51, 0xbc, 0x9c, 0x2a, 0x10, 0x47, 0xaf, 0x4f, 0xec, 0x47, 0x57, 0x1f, 0xdf, 0xd9, 0x3c, 0x09, + 0x49, 0xcc, 0x82, 0xd2, 0x2a, 0x29, 0xd2, 0x7c, 0xad, 0x3a, 0xc9, 0x4a, 0xed, 0x42, 0x59, 0xd6, + 0x08, 0x23, 0x33, 0xe7, 0x35, 0x40, 0xa2, 0x80, 0xb8, 0xf3, 0xa2, 0x16, 0x27, 0x5d, 0x3e, 0x2b, + 0x3b, 0x95, 0x5e, 0x70, 0x4e, 0xa7, 0xa9, 0x02, 0xd1, 0x69, 0x3b, 0xb5, 0xa0, 0x2c, 0x8b, 0xbf, + 0x72, 0x3a, 0x4d, 0x15, 0x30, 0x76, 0x26, 0xe3, 0x88, 0xaa, 0x00, 0x73, 0x0e, 0xed, 0x40, 0x49, + 0x04, 0x16, 0xd1, 0x85, 0x49, 0x75, 0x51, 0x93, 0x7a, 0x4c, 0x95, 0x4e, 0x99, 0x73, 0xe8, 0x57, + 0xa0, 0x24, 0x02, 0x32, 0x39, 0x3d, 0x26, 0x8b, 0x9b, 0x3a, 0x13, 0x51, 0x22, 0x16, 0x1d, 0x68, + 0x24, 0x2b, 0x1a, 0x72, 0x8e, 0x2c, 0x4d, 0xcd, 0x47, 0x67, 0x1a, 0xcc, 0x68, 0x14, 0xb9, 0x8d, + 0x46, 0x41, 0xd6, 0xfc, 0x6d, 0x34, 0x16, 0xc0, 0xcd, 0xdf, 0x46, 0xe3, 0x31, 0x5b, 0x73, 0x0e, + 0xfd, 0xb6, 0x01, 0xed, 0xbc, 0x34, 0x3b, 0xca, 0xf5, 0x80, 0x26, 0xd5, 0x0a, 0x74, 0xbe, 0x72, + 0x42, 0xaa, 0x98, 0x97, 0xcf, 0x44, 0xd0, 0x66, 0x2c, 0xb1, 0x7e, 0x35, 0xaf, 0xbf, 0x9c, 0x64, + 0x71, 0xe7, 0xcb, 0xd3, 0x13, 0xc4, 0x63, 0xef, 0x41, 0x3d, 0x11, 0x30, 0xca, 0xb1, 0xbc, 0xe3, + 0x91, 0xae, 0x9c, 0x55, 0xd5, 0xc4, 0x9e, 0xa4, 0x7a, 0x8b, 0x6c, 0x6c, 0x8e, 0x32, 0x26, 0x93, + 0xbb, 0x39, 0xea, 0x9d, 0x4a, 0xe6, 0x9a, 0x73, 0x88, 0x40, 0x23, 0x99, 0x9a, 0xcd, 0xd1, 0x46, + 0x4d, 0x56, 0xb7, 0xf3, 0xea, 0x14, 0x98, 0xf1, 0x30, 0x36, 0xc0, 0x28, 0x35, 0x9a, 0x73, 0xd6, + 0x8d, 0x65, 0x67, 0x3b, 0xaf, 0x1c, 0x8b, 0x97, 0x3c, 0xf6, 0x13, 0xc9, 0xce, 0x1c, 0xe9, 0x8f, + 0xa7, 0x43, 0xa7, 0xb8, 0x8b, 0x8c, 0x27, 0xd4, 0x72, 0xee, 0x22, 0xb9, 0xb9, 0xbb, 0xce, 0xd5, + 0xa9, 0xf1, 0xe3, 0xf9, 0x7c, 0x0a, 0xad, 0x6c, 0x02, 0x32, 0xe7, 0x8e, 0x9b, 0x93, 0x06, 0xed, + 0xbc, 0x36, 0x25, 0x76, 0xf2, 0x3c, 0x3c, 0x3b, 0xce, 0xd3, 0x37, 0x5c, 0x76, 0x20, 0x72, 0x5f, + 0xd3, 0xcc, 0x3a, 0x99, 0x66, 0x9b, 0x66, 0xd6, 0xa9, 0xa4, 0x9a, 0x3a, 0xbc, 0x44, 0xa8, 0x38, + 0xef, 0xf0, 0x4a, 0xa6, 0x73, 0x72, 0xce, 0x99, 0x74, 0xf2, 0x43, 0xba, 0x9f, 0xe9, 0x10, 0x34, + 0xba, 0x34, 0x55, 0x9c, 0x7a, 0x92, 0xfb, 0xa9, 0x8f, 0x69, 0xcb, 0xab, 0x5b, 0x26, 0xc2, 0x9e, + 0x73, 0x95, 0xd2, 0x87, 0xe8, 0x73, 0xae, 0x6e, 0x39, 0x41, 0x7b, 0xb1, 0xb1, 0x5a, 0xd9, 0x70, + 0xe5, 0xe4, 0x58, 0x48, 0x36, 0x8c, 0x75, 0x7c, 0xb8, 0xa2, 0x95, 0x8d, 0x0d, 0xe6, 0x0c, 0x90, + 0x13, 0x42, 0x9c, 0x62, 0x80, 0x6c, 0x84, 0x2d, 0x67, 0x80, 0x9c, 0x40, 0xdc, 0x14, 0xbe, 0x6b, + 0x2a, 0xda, 0x95, 0x73, 0x14, 0xea, 0x22, 0x62, 0x39, 0x47, 0xa1, 0x36, 0x50, 0x67, 0xce, 0x6d, + 0x0e, 0xa1, 0xb1, 0x13, 0x06, 0x8f, 0x8e, 0xa2, 0x40, 0xd5, 0xcf, 0xc7, 0xb8, 0xde, 0xf8, 0x06, + 0x2c, 0xb8, 0x31, 0x4e, 0x2f, 0x1c, 0x74, 0x6f, 0xd4, 0x65, 0xc0, 0x6c, 0x87, 0x13, 0xef, 0x18, + 0xbf, 0x7a, 0xad, 0xe7, 0xb2, 0x83, 0xe1, 0x1e, 0x97, 0xcc, 0x55, 0x89, 0xf6, 0x9a, 0x1b, 0xa8, + 0x5f, 0x57, 0x5d, 0x9f, 0x91, 0xd0, 0xc7, 0xde, 0x55, 0x31, 0x94, 0x82, 0x0e, 0xf6, 0xfe, 0xd8, + 0x30, 0xf6, 0xca, 0x02, 0x74, 0xed, 0xff, 0x03, 0x00, 0x00, 0xff, 0xff, 0x85, 0x37, 0x33, 0xc4, + 0xc0, 0x53, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. diff --git a/internal/proto/query_coord.proto b/internal/proto/query_coord.proto index 9a855c79468a0bc16e1088ea97b32646972804dd..38c092412834f5fcbb8702757edf925e0b20d97d 100644 --- a/internal/proto/query_coord.proto +++ b/internal/proto/query_coord.proto @@ -354,6 +354,7 @@ message SegmentInfo { int64 segmentID = 1; int64 collectionID = 2; int64 partitionID = 3; + // deprecated, check node_ids(NodeIds) field int64 nodeID = 4; int64 mem_size = 5; int64 num_rows = 6; diff --git a/internal/proto/querypb/query_coord.pb.go b/internal/proto/querypb/query_coord.pb.go index 11ecf40b48eb4f7633b418e9be76a925bebbe10e..444edbec93ce42e096dbd75021ff76b5f568cd76 100644 --- a/internal/proto/querypb/query_coord.pb.go +++ b/internal/proto/querypb/query_coord.pb.go @@ -2471,9 +2471,10 @@ func (m *PartitionStates) GetInMemoryPercentage() int64 { } type SegmentInfo struct { - SegmentID int64 `protobuf:"varint,1,opt,name=segmentID,proto3" json:"segmentID,omitempty"` - CollectionID int64 `protobuf:"varint,2,opt,name=collectionID,proto3" json:"collectionID,omitempty"` - PartitionID int64 `protobuf:"varint,3,opt,name=partitionID,proto3" json:"partitionID,omitempty"` + SegmentID int64 `protobuf:"varint,1,opt,name=segmentID,proto3" json:"segmentID,omitempty"` + CollectionID int64 `protobuf:"varint,2,opt,name=collectionID,proto3" json:"collectionID,omitempty"` + PartitionID int64 `protobuf:"varint,3,opt,name=partitionID,proto3" json:"partitionID,omitempty"` + // deprecated, check node_ids(NodeIds) field NodeID int64 `protobuf:"varint,4,opt,name=nodeID,proto3" json:"nodeID,omitempty"` MemSize int64 `protobuf:"varint,5,opt,name=mem_size,json=memSize,proto3" json:"mem_size,omitempty"` NumRows int64 `protobuf:"varint,6,opt,name=num_rows,json=numRows,proto3" json:"num_rows,omitempty"` diff --git a/internal/proxy/impl.go b/internal/proxy/impl.go index 5d6cfab01706119b80c6930ba3c7529a1545a314..b1f540d3729d8e26c5213f74dc2d5a616f4efa2c 100644 --- a/internal/proxy/impl.go +++ b/internal/proxy/impl.go @@ -3594,8 +3594,8 @@ func (node *Proxy) GetQuerySegmentInfo(ctx context.Context, req *milvuspb.GetQue MemSize: info.MemSize, IndexName: info.IndexName, IndexID: info.IndexID, - NodeID: info.NodeID, State: info.SegmentState, + NodeIds: info.NodeIds, } } resp.Status.ErrorCode = commonpb.ErrorCode_Success diff --git a/internal/querycoord/task.go b/internal/querycoord/task.go index c4ecb08ffa529112b0a22ff8770747b859581ff6..814b6f81394685c854ecc34b4e64a8548532ecb5 100644 --- a/internal/querycoord/task.go +++ b/internal/querycoord/task.go @@ -2296,12 +2296,6 @@ func (lbt *loadBalanceTask) globalPostExecute(ctx context.Context) error { offlineNodes.Insert(nodeID) } - log.Debug("removing offline nodes from replicas and segments...", - zap.Int("len(replicas)", len(replicas)), - zap.Int("len(segments)", len(segments)), - zap.Int64("trigger task ID", lbt.getTaskID()), - ) - for _, replica := range replicas { replica := replica wg.Go(func() error { @@ -2344,6 +2338,11 @@ func (lbt *loadBalanceTask) globalPostExecute(ctx context.Context) error { return err } + log.Info("remove offline nodes from segment", + zap.Int64("taskID", lbt.getTaskID()), + zap.Int64("segmentID", segment.GetSegmentID()), + zap.Int64s("nodeIds", segment.GetNodeIds())) + return nil }) } diff --git a/internal/querycoord/task_scheduler.go b/internal/querycoord/task_scheduler.go index 0d54314c0bafd9445427d7335203b6fe9bb34373..284d6212594bc5f7871f1368715729f30c723207 100644 --- a/internal/querycoord/task_scheduler.go +++ b/internal/querycoord/task_scheduler.go @@ -967,6 +967,10 @@ func updateSegmentInfoFromTask(ctx context.Context, triggerTask task, meta Meta) } } } + + log.Info("update segment info", + zap.Int64("triggerTaskID", triggerTask.getTaskID()), + zap.Any("segment", segmentInfosToSave)) sealedSegmentChangeInfos, err = meta.saveGlobalSealedSegInfos(segmentInfosToSave) } diff --git a/tests/python_client/testcases/test_utility.py b/tests/python_client/testcases/test_utility.py index 638513473a8678265a9bd02293fe29299620ddc7..4f3842a073f99e29761b32731833d5c630c8d09c 100644 --- a/tests/python_client/testcases/test_utility.py +++ b/tests/python_client/testcases/test_utility.py @@ -1516,6 +1516,7 @@ class TestUtilityAdvanced(TestcaseBase): assert cnt == nb @pytest.mark.tags(CaseLabel.L3) + @pytest.mark.xfail(reason="need newer SDK") def test_load_balance_normal(self): """ target: test load balance of collection @@ -1557,6 +1558,7 @@ class TestUtilityAdvanced(TestcaseBase): assert set(sealed_segment_ids).issubset(des_sealed_segment_ids) @pytest.mark.tags(CaseLabel.L1) + @pytest.mark.xfail(reason="need newer SDK") def test_load_balance_with_src_node_not_exist(self): """ target: test load balance of collection @@ -1593,6 +1595,7 @@ class TestUtilityAdvanced(TestcaseBase): check_items={ct.err_code: 1, ct.err_msg: "is not exist to balance"}) @pytest.mark.tags(CaseLabel.L1) + @pytest.mark.xfail(reason="need newer SDK") def test_load_balance_with_all_dst_node_not_exist(self): """ target: test load balance of collection @@ -1628,6 +1631,7 @@ class TestUtilityAdvanced(TestcaseBase): check_items={ct.err_code: 1, ct.err_msg: "no available queryNode to allocate"}) @pytest.mark.tags(CaseLabel.L1) + @pytest.mark.xfail(reason="need newer SDK") def test_load_balance_with_one_sealed_segment_id_not_exist(self): """ target: test load balance of collection @@ -1668,6 +1672,7 @@ class TestUtilityAdvanced(TestcaseBase): check_items={ct.err_code: 1, ct.err_msg: "is not exist"}) @pytest.mark.tags(CaseLabel.L3) + @pytest.mark.xfail(reason="need newer SDK") def test_load_balance_in_one_group(self): """ target: test load balance of collection in one group @@ -1715,6 +1720,7 @@ class TestUtilityAdvanced(TestcaseBase): assert set(sealed_segment_ids).issubset(des_sealed_segment_ids) @pytest.mark.tags(CaseLabel.L3) + @pytest.mark.xfail(reason="need newer SDK") def test_load_balance_not_in_one_group(self): """ target: test load balance of collection in one group