diff --git a/generate-go.sh b/generate-go.sh index 3ac7e4ec..9b35c450 100755 --- a/generate-go.sh +++ b/generate-go.sh @@ -8,8 +8,15 @@ go install github.com/gogo/protobuf/protoc-gen-gofast protoc -I.:${GOGO_PROTOBUF} \ --gofast_out=plugins=grpc:../go-tipb *.proto +# Generate TiCI proto with the main tipb Go package. +protoc -I.:${GOGO_PROTOBUF} \ + --gofast_out=plugins=grpc,Mtici/indexer.proto=github.com/pingcap/tipb/go-tipb,import_path=tipb:../go-tipb tici/*.proto + cd ../go-tipb +mv tici/indexer.pb.go tici.pb.go sed -i.bak -E 's/import _ \"gogoproto\"//g' *.pb.go sed -i.bak -E 's/import fmt \"fmt\"//g' *.pb.go +sed -i.bak -E 's/import _ \"\.\"//g' *.pb.go +sed -i.bak -E 's/package tipb_tici/package tipb/' *.pb.go rm -f *.bak go run golang.org/x/tools/cmd/goimports -w *.pb.go diff --git a/go-tipb/analyze.pb.go b/go-tipb/analyze.pb.go index f0083270..2ceda9e6 100644 --- a/go-tipb/analyze.pb.go +++ b/go-tipb/analyze.pb.go @@ -45,6 +45,7 @@ It has these top-level messages: EncodedBytesSlice ExchangeReceiver ANNQueryInfo + FTSQueryInfo TableScan PartitionTableScan Join diff --git a/go-tipb/executor.pb.go b/go-tipb/executor.pb.go index 28fcc23a..cb8ae520 100644 --- a/go-tipb/executor.pb.go +++ b/go-tipb/executor.pb.go @@ -333,6 +333,43 @@ func (x *ANNQueryType) UnmarshalJSON(data []byte) error { } func (ANNQueryType) EnumDescriptor() ([]byte, []int) { return fileDescriptorExecutor, []int{6} } +type FTSQueryType int32 + +const ( + FTSQueryType_FTSQueryTypeInvalid FTSQueryType = 0 + FTSQueryType_FTSQueryTypeNoScore FTSQueryType = 1 + FTSQueryType_FTSQueryTypeWithScore FTSQueryType = 2 +) + +var FTSQueryType_name = map[int32]string{ + 0: "FTSQueryTypeInvalid", + 1: "FTSQueryTypeNoScore", + 2: "FTSQueryTypeWithScore", +} +var FTSQueryType_value = map[string]int32{ + "FTSQueryTypeInvalid": 0, + "FTSQueryTypeNoScore": 1, + "FTSQueryTypeWithScore": 2, +} + +func (x FTSQueryType) Enum() *FTSQueryType { + p := new(FTSQueryType) + *p = x + return p +} +func (x FTSQueryType) String() string { + return proto.EnumName(FTSQueryType_name, int32(x)) +} +func (x *FTSQueryType) UnmarshalJSON(data []byte) error { + value, err := proto.UnmarshalJSONEnum(FTSQueryType_value, data, "FTSQueryType") + if err != nil { + return err + } + *x = FTSQueryType(value) + return nil +} +func (FTSQueryType) EnumDescriptor() ([]byte, []int) { return fileDescriptorExecutor, []int{7} } + type JoinType int32 const ( @@ -380,7 +417,7 @@ func (x *JoinType) UnmarshalJSON(data []byte) error { *x = JoinType(value) return nil } -func (JoinType) EnumDescriptor() ([]byte, []int) { return fileDescriptorExecutor, []int{7} } +func (JoinType) EnumDescriptor() ([]byte, []int) { return fileDescriptorExecutor, []int{8} } type JoinExecType int32 @@ -411,7 +448,7 @@ func (x *JoinExecType) UnmarshalJSON(data []byte) error { *x = JoinExecType(value) return nil } -func (JoinExecType) EnumDescriptor() ([]byte, []int) { return fileDescriptorExecutor, []int{8} } +func (JoinExecType) EnumDescriptor() ([]byte, []int) { return fileDescriptorExecutor, []int{9} } type RuntimeFilterType int32 @@ -448,7 +485,7 @@ func (x *RuntimeFilterType) UnmarshalJSON(data []byte) error { *x = RuntimeFilterType(value) return nil } -func (RuntimeFilterType) EnumDescriptor() ([]byte, []int) { return fileDescriptorExecutor, []int{9} } +func (RuntimeFilterType) EnumDescriptor() ([]byte, []int) { return fileDescriptorExecutor, []int{10} } type RuntimeFilterMode int32 @@ -482,7 +519,7 @@ func (x *RuntimeFilterMode) UnmarshalJSON(data []byte) error { *x = RuntimeFilterMode(value) return nil } -func (RuntimeFilterMode) EnumDescriptor() ([]byte, []int) { return fileDescriptorExecutor, []int{10} } +func (RuntimeFilterMode) EnumDescriptor() ([]byte, []int) { return fileDescriptorExecutor, []int{11} } type TiFlashPreAggMode int32 @@ -519,7 +556,7 @@ func (x *TiFlashPreAggMode) UnmarshalJSON(data []byte) error { *x = TiFlashPreAggMode(value) return nil } -func (TiFlashPreAggMode) EnumDescriptor() ([]byte, []int) { return fileDescriptorExecutor, []int{11} } +func (TiFlashPreAggMode) EnumDescriptor() ([]byte, []int) { return fileDescriptorExecutor, []int{12} } type WindowBoundType int32 @@ -556,7 +593,7 @@ func (x *WindowBoundType) UnmarshalJSON(data []byte) error { *x = WindowBoundType(value) return nil } -func (WindowBoundType) EnumDescriptor() ([]byte, []int) { return fileDescriptorExecutor, []int{12} } +func (WindowBoundType) EnumDescriptor() ([]byte, []int) { return fileDescriptorExecutor, []int{13} } // Used for range frame's comparison when finding frame's boundary type RangeCmpDataType int32 @@ -600,7 +637,7 @@ func (x *RangeCmpDataType) UnmarshalJSON(data []byte) error { *x = RangeCmpDataType(value) return nil } -func (RangeCmpDataType) EnumDescriptor() ([]byte, []int) { return fileDescriptorExecutor, []int{13} } +func (RangeCmpDataType) EnumDescriptor() ([]byte, []int) { return fileDescriptorExecutor, []int{14} } type WindowFrameType int32 @@ -637,7 +674,7 @@ func (x *WindowFrameType) UnmarshalJSON(data []byte) error { *x = WindowFrameType(value) return nil } -func (WindowFrameType) EnumDescriptor() ([]byte, []int) { return fileDescriptorExecutor, []int{14} } +func (WindowFrameType) EnumDescriptor() ([]byte, []int) { return fileDescriptorExecutor, []int{15} } // It represents a Executor. type Executor struct { @@ -1092,6 +1129,107 @@ func (m *ANNQueryInfo) GetHnswEfSearch() uint32 { return 0 } +type FTSQueryInfo struct { + QueryType FTSQueryType `protobuf:"varint,1,opt,name=query_type,json=queryType,enum=tipb.FTSQueryType" json:"query_type"` + IndexId int64 `protobuf:"varint,2,opt,name=index_id,json=indexId" json:"index_id"` + // Currently only one column is supported. + Columns []*ColumnInfo `protobuf:"bytes,3,rep,name=columns" json:"columns,omitempty"` + ColumnNames []string `protobuf:"bytes,4,rep,name=column_names,json=columnNames" json:"column_names,omitempty"` + QueryText string `protobuf:"bytes,5,opt,name=query_text,json=queryText" json:"query_text"` + QueryTokenizer string `protobuf:"bytes,6,opt,name=query_tokenizer,json=queryTokenizer" json:"query_tokenizer"` + // These fields support pushdown for order-by and limit scenarios. + TopK *uint32 `protobuf:"varint,10,opt,name=top_k,json=topK" json:"top_k,omitempty"` + SortColumnIds []int64 `protobuf:"varint,11,rep,name=sort_column_ids,json=sortColumnIds" json:"sort_column_ids,omitempty"` + SortColumnAsc []bool `protobuf:"varint,12,rep,name=sort_column_asc,json=sortColumnAsc" json:"sort_column_asc,omitempty"` + // Distinguish match_word, match_expression, match_prefix, match_regexp + QueryFunc ScalarFuncSig `protobuf:"varint,20,opt,name=query_func,json=queryFunc,enum=tipb.ScalarFuncSig" json:"query_func"` + // Filter pushed down to tici + MatchExpr []Expr `protobuf:"bytes,21,rep,name=match_expr,json=matchExpr" json:"match_expr"` + XXX_unrecognized []byte `json:"-"` +} + +func (m *FTSQueryInfo) Reset() { *m = FTSQueryInfo{} } +func (m *FTSQueryInfo) String() string { return proto.CompactTextString(m) } +func (*FTSQueryInfo) ProtoMessage() {} +func (*FTSQueryInfo) Descriptor() ([]byte, []int) { return fileDescriptorExecutor, []int{6} } + +func (m *FTSQueryInfo) GetQueryType() FTSQueryType { + if m != nil { + return m.QueryType + } + return FTSQueryType_FTSQueryTypeInvalid +} + +func (m *FTSQueryInfo) GetIndexId() int64 { + if m != nil { + return m.IndexId + } + return 0 +} + +func (m *FTSQueryInfo) GetColumns() []*ColumnInfo { + if m != nil { + return m.Columns + } + return nil +} + +func (m *FTSQueryInfo) GetColumnNames() []string { + if m != nil { + return m.ColumnNames + } + return nil +} + +func (m *FTSQueryInfo) GetQueryText() string { + if m != nil { + return m.QueryText + } + return "" +} + +func (m *FTSQueryInfo) GetQueryTokenizer() string { + if m != nil { + return m.QueryTokenizer + } + return "" +} + +func (m *FTSQueryInfo) GetTopK() uint32 { + if m != nil && m.TopK != nil { + return *m.TopK + } + return 0 +} + +func (m *FTSQueryInfo) GetSortColumnIds() []int64 { + if m != nil { + return m.SortColumnIds + } + return nil +} + +func (m *FTSQueryInfo) GetSortColumnAsc() []bool { + if m != nil { + return m.SortColumnAsc + } + return nil +} + +func (m *FTSQueryInfo) GetQueryFunc() ScalarFuncSig { + if m != nil { + return m.QueryFunc + } + return ScalarFuncSig_Unspecified +} + +func (m *FTSQueryInfo) GetMatchExpr() []Expr { + if m != nil { + return m.MatchExpr + } + return nil +} + type TableScan struct { TableId int64 `protobuf:"varint,1,opt,name=table_id,json=tableId" json:"table_id"` Columns []*ColumnInfo `protobuf:"bytes,2,rep,name=columns" json:"columns,omitempty"` @@ -1112,7 +1250,7 @@ type TableScan struct { func (m *TableScan) Reset() { *m = TableScan{} } func (m *TableScan) String() string { return proto.CompactTextString(m) } func (*TableScan) ProtoMessage() {} -func (*TableScan) Descriptor() ([]byte, []int) { return fileDescriptorExecutor, []int{6} } +func (*TableScan) Descriptor() ([]byte, []int) { return fileDescriptorExecutor, []int{7} } func (m *TableScan) GetTableId() int64 { if m != nil { @@ -1223,7 +1361,7 @@ type PartitionTableScan struct { func (m *PartitionTableScan) Reset() { *m = PartitionTableScan{} } func (m *PartitionTableScan) String() string { return proto.CompactTextString(m) } func (*PartitionTableScan) ProtoMessage() {} -func (*PartitionTableScan) Descriptor() ([]byte, []int) { return fileDescriptorExecutor, []int{7} } +func (*PartitionTableScan) Descriptor() ([]byte, []int) { return fileDescriptorExecutor, []int{8} } func (m *PartitionTableScan) GetTableId() int64 { if m != nil { @@ -1324,7 +1462,7 @@ type Join struct { func (m *Join) Reset() { *m = Join{} } func (m *Join) String() string { return proto.CompactTextString(m) } func (*Join) ProtoMessage() {} -func (*Join) Descriptor() ([]byte, []int) { return fileDescriptorExecutor, []int{8} } +func (*Join) Descriptor() ([]byte, []int) { return fileDescriptorExecutor, []int{9} } func (m *Join) GetJoinType() JoinType { if m != nil { @@ -1438,7 +1576,7 @@ type RuntimeFilter struct { func (m *RuntimeFilter) Reset() { *m = RuntimeFilter{} } func (m *RuntimeFilter) String() string { return proto.CompactTextString(m) } func (*RuntimeFilter) ProtoMessage() {} -func (*RuntimeFilter) Descriptor() ([]byte, []int) { return fileDescriptorExecutor, []int{9} } +func (*RuntimeFilter) Descriptor() ([]byte, []int) { return fileDescriptorExecutor, []int{10} } func (m *RuntimeFilter) GetId() int32 { if m != nil { @@ -1496,13 +1634,14 @@ type IndexScan struct { Desc bool `protobuf:"varint,4,opt,name=desc" json:"desc"` Unique *bool `protobuf:"varint,5,opt,name=unique" json:"unique,omitempty"` PrimaryColumnIds []int64 `protobuf:"varint,6,rep,name=primary_column_ids,json=primaryColumnIds" json:"primary_column_ids,omitempty"` + FtsQueryInfo *FTSQueryInfo `protobuf:"bytes,7,opt,name=fts_query_info,json=ftsQueryInfo" json:"fts_query_info,omitempty"` XXX_unrecognized []byte `json:"-"` } func (m *IndexScan) Reset() { *m = IndexScan{} } func (m *IndexScan) String() string { return proto.CompactTextString(m) } func (*IndexScan) ProtoMessage() {} -func (*IndexScan) Descriptor() ([]byte, []int) { return fileDescriptorExecutor, []int{10} } +func (*IndexScan) Descriptor() ([]byte, []int) { return fileDescriptorExecutor, []int{11} } func (m *IndexScan) GetTableId() int64 { if m != nil { @@ -1546,6 +1685,13 @@ func (m *IndexScan) GetPrimaryColumnIds() []int64 { return nil } +func (m *IndexScan) GetFtsQueryInfo() *FTSQueryInfo { + if m != nil { + return m.FtsQueryInfo + } + return nil +} + type Selection struct { // Where conditions. Conditions []*Expr `protobuf:"bytes,1,rep,name=conditions" json:"conditions,omitempty"` @@ -1557,7 +1703,7 @@ type Selection struct { func (m *Selection) Reset() { *m = Selection{} } func (m *Selection) String() string { return proto.CompactTextString(m) } func (*Selection) ProtoMessage() {} -func (*Selection) Descriptor() ([]byte, []int) { return fileDescriptorExecutor, []int{11} } +func (*Selection) Descriptor() ([]byte, []int) { return fileDescriptorExecutor, []int{12} } func (m *Selection) GetConditions() []*Expr { if m != nil { @@ -1591,7 +1737,7 @@ type Projection struct { func (m *Projection) Reset() { *m = Projection{} } func (m *Projection) String() string { return proto.CompactTextString(m) } func (*Projection) ProtoMessage() {} -func (*Projection) Descriptor() ([]byte, []int) { return fileDescriptorExecutor, []int{12} } +func (*Projection) Descriptor() ([]byte, []int) { return fileDescriptorExecutor, []int{13} } func (m *Projection) GetExprs() []*Expr { if m != nil { @@ -1631,7 +1777,7 @@ type Aggregation struct { func (m *Aggregation) Reset() { *m = Aggregation{} } func (m *Aggregation) String() string { return proto.CompactTextString(m) } func (*Aggregation) ProtoMessage() {} -func (*Aggregation) Descriptor() ([]byte, []int) { return fileDescriptorExecutor, []int{13} } +func (*Aggregation) Descriptor() ([]byte, []int) { return fileDescriptorExecutor, []int{14} } func (m *Aggregation) GetGroupBy() []*Expr { if m != nil { @@ -1696,7 +1842,7 @@ type TopN struct { func (m *TopN) Reset() { *m = TopN{} } func (m *TopN) String() string { return proto.CompactTextString(m) } func (*TopN) ProtoMessage() {} -func (*TopN) Descriptor() ([]byte, []int) { return fileDescriptorExecutor, []int{14} } +func (*TopN) Descriptor() ([]byte, []int) { return fileDescriptorExecutor, []int{15} } func (m *TopN) GetOrderBy() []*ByItem { if m != nil { @@ -1740,7 +1886,7 @@ type Limit struct { func (m *Limit) Reset() { *m = Limit{} } func (m *Limit) String() string { return proto.CompactTextString(m) } func (*Limit) ProtoMessage() {} -func (*Limit) Descriptor() ([]byte, []int) { return fileDescriptorExecutor, []int{15} } +func (*Limit) Descriptor() ([]byte, []int) { return fileDescriptorExecutor, []int{16} } func (m *Limit) GetLimit() uint64 { if m != nil { @@ -1783,7 +1929,7 @@ type Kill struct { func (m *Kill) Reset() { *m = Kill{} } func (m *Kill) String() string { return proto.CompactTextString(m) } func (*Kill) ProtoMessage() {} -func (*Kill) Descriptor() ([]byte, []int) { return fileDescriptorExecutor, []int{16} } +func (*Kill) Descriptor() ([]byte, []int) { return fileDescriptorExecutor, []int{17} } func (m *Kill) GetConnID() uint64 { if m != nil { @@ -1807,7 +1953,7 @@ type ExplainForConnection struct { func (m *ExplainForConnection) Reset() { *m = ExplainForConnection{} } func (m *ExplainForConnection) String() string { return proto.CompactTextString(m) } func (*ExplainForConnection) ProtoMessage() {} -func (*ExplainForConnection) Descriptor() ([]byte, []int) { return fileDescriptorExecutor, []int{17} } +func (*ExplainForConnection) Descriptor() ([]byte, []int) { return fileDescriptorExecutor, []int{18} } func (m *ExplainForConnection) GetConnectionId() uint64 { if m != nil { @@ -1842,7 +1988,7 @@ func (m *ExecutorExecutionSummary) Reset() { *m = ExecutorExecutionSumma func (m *ExecutorExecutionSummary) String() string { return proto.CompactTextString(m) } func (*ExecutorExecutionSummary) ProtoMessage() {} func (*ExecutorExecutionSummary) Descriptor() ([]byte, []int) { - return fileDescriptorExecutor, []int{18} + return fileDescriptorExecutor, []int{19} } type isExecutorExecutionSummary_DetailInfo interface { @@ -1984,7 +2130,7 @@ type TiFlashExecutionInfo struct { func (m *TiFlashExecutionInfo) Reset() { *m = TiFlashExecutionInfo{} } func (m *TiFlashExecutionInfo) String() string { return proto.CompactTextString(m) } func (*TiFlashExecutionInfo) ProtoMessage() {} -func (*TiFlashExecutionInfo) Descriptor() ([]byte, []int) { return fileDescriptorExecutor, []int{19} } +func (*TiFlashExecutionInfo) Descriptor() ([]byte, []int) { return fileDescriptorExecutor, []int{20} } func (m *TiFlashExecutionInfo) GetExecutionSummaries() []*ExecutorExecutionSummary { if m != nil { @@ -2003,7 +2149,7 @@ func (m *TiFlashRegionNumOfInstance) Reset() { *m = TiFlashRegionNumOfIn func (m *TiFlashRegionNumOfInstance) String() string { return proto.CompactTextString(m) } func (*TiFlashRegionNumOfInstance) ProtoMessage() {} func (*TiFlashRegionNumOfInstance) Descriptor() ([]byte, []int) { - return fileDescriptorExecutor, []int{20} + return fileDescriptorExecutor, []int{21} } func (m *TiFlashRegionNumOfInstance) GetInstanceId() string { @@ -2064,13 +2210,38 @@ type TiFlashScanContext struct { TotalVectorIdxSearchDiscardedNodes *uint64 `protobuf:"varint,106,opt,name=total_vector_idx_search_discarded_nodes,json=totalVectorIdxSearchDiscardedNodes" json:"total_vector_idx_search_discarded_nodes,omitempty"` TotalVectorIdxReadVecTimeMs *uint64 `protobuf:"varint,107,opt,name=total_vector_idx_read_vec_time_ms,json=totalVectorIdxReadVecTimeMs" json:"total_vector_idx_read_vec_time_ms,omitempty"` TotalVectorIdxReadOthersTimeMs *uint64 `protobuf:"varint,108,opt,name=total_vector_idx_read_others_time_ms,json=totalVectorIdxReadOthersTimeMs" json:"total_vector_idx_read_others_time_ms,omitempty"` + FtsNFromInmemoryNoindex *uint32 `protobuf:"varint,150,opt,name=fts_n_from_inmemory_noindex,json=ftsNFromInmemoryNoindex" json:"fts_n_from_inmemory_noindex,omitempty"` + FtsNFromTinyIndex *uint32 `protobuf:"varint,151,opt,name=fts_n_from_tiny_index,json=ftsNFromTinyIndex" json:"fts_n_from_tiny_index,omitempty"` + FtsNFromTinyNoindex *uint32 `protobuf:"varint,152,opt,name=fts_n_from_tiny_noindex,json=ftsNFromTinyNoindex" json:"fts_n_from_tiny_noindex,omitempty"` + FtsNFromDmfIndex *uint32 `protobuf:"varint,153,opt,name=fts_n_from_dmf_index,json=ftsNFromDmfIndex" json:"fts_n_from_dmf_index,omitempty"` + FtsNFromDmfNoindex *uint32 `protobuf:"varint,154,opt,name=fts_n_from_dmf_noindex,json=ftsNFromDmfNoindex" json:"fts_n_from_dmf_noindex,omitempty"` + FtsRowsFromInmemoryNoindex *uint64 `protobuf:"varint,155,opt,name=fts_rows_from_inmemory_noindex,json=ftsRowsFromInmemoryNoindex" json:"fts_rows_from_inmemory_noindex,omitempty"` + FtsRowsFromTinyIndex *uint64 `protobuf:"varint,156,opt,name=fts_rows_from_tiny_index,json=ftsRowsFromTinyIndex" json:"fts_rows_from_tiny_index,omitempty"` + FtsRowsFromTinyNoindex *uint64 `protobuf:"varint,157,opt,name=fts_rows_from_tiny_noindex,json=ftsRowsFromTinyNoindex" json:"fts_rows_from_tiny_noindex,omitempty"` + FtsRowsFromDmfIndex *uint64 `protobuf:"varint,158,opt,name=fts_rows_from_dmf_index,json=ftsRowsFromDmfIndex" json:"fts_rows_from_dmf_index,omitempty"` + FtsRowsFromDmfNoindex *uint64 `protobuf:"varint,159,opt,name=fts_rows_from_dmf_noindex,json=ftsRowsFromDmfNoindex" json:"fts_rows_from_dmf_noindex,omitempty"` + FtsIdxLoadTotalMs *uint64 `protobuf:"varint,160,opt,name=fts_idx_load_total_ms,json=ftsIdxLoadTotalMs" json:"fts_idx_load_total_ms,omitempty"` + FtsIdxLoadFromCache *uint32 `protobuf:"varint,161,opt,name=fts_idx_load_from_cache,json=ftsIdxLoadFromCache" json:"fts_idx_load_from_cache,omitempty"` + FtsIdxLoadFromColumnFile *uint32 `protobuf:"varint,162,opt,name=fts_idx_load_from_column_file,json=ftsIdxLoadFromColumnFile" json:"fts_idx_load_from_column_file,omitempty"` + FtsIdxLoadFromStableS3 *uint32 `protobuf:"varint,163,opt,name=fts_idx_load_from_stable_s3,json=ftsIdxLoadFromStableS3" json:"fts_idx_load_from_stable_s3,omitempty"` + FtsIdxLoadFromStableDisk *uint32 `protobuf:"varint,164,opt,name=fts_idx_load_from_stable_disk,json=ftsIdxLoadFromStableDisk" json:"fts_idx_load_from_stable_disk,omitempty"` + FtsIdxSearchN *uint32 `protobuf:"varint,165,opt,name=fts_idx_search_n,json=ftsIdxSearchN" json:"fts_idx_search_n,omitempty"` + FtsIdxSearchTotalMs *uint64 `protobuf:"varint,166,opt,name=fts_idx_search_total_ms,json=ftsIdxSearchTotalMs" json:"fts_idx_search_total_ms,omitempty"` + FtsIdxDmSearchRows *uint64 `protobuf:"varint,167,opt,name=fts_idx_dm_search_rows,json=ftsIdxDmSearchRows" json:"fts_idx_dm_search_rows,omitempty"` + FtsIdxDmTotalReadFtsMs *uint64 `protobuf:"varint,168,opt,name=fts_idx_dm_total_read_fts_ms,json=ftsIdxDmTotalReadFtsMs" json:"fts_idx_dm_total_read_fts_ms,omitempty"` + FtsIdxDmTotalReadOthersMs *uint64 `protobuf:"varint,169,opt,name=fts_idx_dm_total_read_others_ms,json=ftsIdxDmTotalReadOthersMs" json:"fts_idx_dm_total_read_others_ms,omitempty"` + FtsIdxTinySearchRows *uint64 `protobuf:"varint,170,opt,name=fts_idx_tiny_search_rows,json=ftsIdxTinySearchRows" json:"fts_idx_tiny_search_rows,omitempty"` + FtsIdxTinyTotalReadFtsMs *uint64 `protobuf:"varint,171,opt,name=fts_idx_tiny_total_read_fts_ms,json=ftsIdxTinyTotalReadFtsMs" json:"fts_idx_tiny_total_read_fts_ms,omitempty"` + FtsIdxTinyTotalReadOthersMs *uint64 `protobuf:"varint,172,opt,name=fts_idx_tiny_total_read_others_ms,json=ftsIdxTinyTotalReadOthersMs" json:"fts_idx_tiny_total_read_others_ms,omitempty"` + FtsBruteTotalReadMs *uint64 `protobuf:"varint,173,opt,name=fts_brute_total_read_ms,json=ftsBruteTotalReadMs" json:"fts_brute_total_read_ms,omitempty"` + FtsBruteTotalSearchMs *uint64 `protobuf:"varint,174,opt,name=fts_brute_total_search_ms,json=ftsBruteTotalSearchMs" json:"fts_brute_total_search_ms,omitempty"` XXX_unrecognized []byte `json:"-"` } func (m *TiFlashScanContext) Reset() { *m = TiFlashScanContext{} } func (m *TiFlashScanContext) String() string { return proto.CompactTextString(m) } func (*TiFlashScanContext) ProtoMessage() {} -func (*TiFlashScanContext) Descriptor() ([]byte, []int) { return fileDescriptorExecutor, []int{21} } +func (*TiFlashScanContext) Descriptor() ([]byte, []int) { return fileDescriptorExecutor, []int{22} } func (m *TiFlashScanContext) GetDmfileScannedPacks() uint64 { if m != nil && m.DmfileScannedPacks != nil { @@ -2373,6 +2544,181 @@ func (m *TiFlashScanContext) GetTotalVectorIdxReadOthersTimeMs() uint64 { return 0 } +func (m *TiFlashScanContext) GetFtsNFromInmemoryNoindex() uint32 { + if m != nil && m.FtsNFromInmemoryNoindex != nil { + return *m.FtsNFromInmemoryNoindex + } + return 0 +} + +func (m *TiFlashScanContext) GetFtsNFromTinyIndex() uint32 { + if m != nil && m.FtsNFromTinyIndex != nil { + return *m.FtsNFromTinyIndex + } + return 0 +} + +func (m *TiFlashScanContext) GetFtsNFromTinyNoindex() uint32 { + if m != nil && m.FtsNFromTinyNoindex != nil { + return *m.FtsNFromTinyNoindex + } + return 0 +} + +func (m *TiFlashScanContext) GetFtsNFromDmfIndex() uint32 { + if m != nil && m.FtsNFromDmfIndex != nil { + return *m.FtsNFromDmfIndex + } + return 0 +} + +func (m *TiFlashScanContext) GetFtsNFromDmfNoindex() uint32 { + if m != nil && m.FtsNFromDmfNoindex != nil { + return *m.FtsNFromDmfNoindex + } + return 0 +} + +func (m *TiFlashScanContext) GetFtsRowsFromInmemoryNoindex() uint64 { + if m != nil && m.FtsRowsFromInmemoryNoindex != nil { + return *m.FtsRowsFromInmemoryNoindex + } + return 0 +} + +func (m *TiFlashScanContext) GetFtsRowsFromTinyIndex() uint64 { + if m != nil && m.FtsRowsFromTinyIndex != nil { + return *m.FtsRowsFromTinyIndex + } + return 0 +} + +func (m *TiFlashScanContext) GetFtsRowsFromTinyNoindex() uint64 { + if m != nil && m.FtsRowsFromTinyNoindex != nil { + return *m.FtsRowsFromTinyNoindex + } + return 0 +} + +func (m *TiFlashScanContext) GetFtsRowsFromDmfIndex() uint64 { + if m != nil && m.FtsRowsFromDmfIndex != nil { + return *m.FtsRowsFromDmfIndex + } + return 0 +} + +func (m *TiFlashScanContext) GetFtsRowsFromDmfNoindex() uint64 { + if m != nil && m.FtsRowsFromDmfNoindex != nil { + return *m.FtsRowsFromDmfNoindex + } + return 0 +} + +func (m *TiFlashScanContext) GetFtsIdxLoadTotalMs() uint64 { + if m != nil && m.FtsIdxLoadTotalMs != nil { + return *m.FtsIdxLoadTotalMs + } + return 0 +} + +func (m *TiFlashScanContext) GetFtsIdxLoadFromCache() uint32 { + if m != nil && m.FtsIdxLoadFromCache != nil { + return *m.FtsIdxLoadFromCache + } + return 0 +} + +func (m *TiFlashScanContext) GetFtsIdxLoadFromColumnFile() uint32 { + if m != nil && m.FtsIdxLoadFromColumnFile != nil { + return *m.FtsIdxLoadFromColumnFile + } + return 0 +} + +func (m *TiFlashScanContext) GetFtsIdxLoadFromStableS3() uint32 { + if m != nil && m.FtsIdxLoadFromStableS3 != nil { + return *m.FtsIdxLoadFromStableS3 + } + return 0 +} + +func (m *TiFlashScanContext) GetFtsIdxLoadFromStableDisk() uint32 { + if m != nil && m.FtsIdxLoadFromStableDisk != nil { + return *m.FtsIdxLoadFromStableDisk + } + return 0 +} + +func (m *TiFlashScanContext) GetFtsIdxSearchN() uint32 { + if m != nil && m.FtsIdxSearchN != nil { + return *m.FtsIdxSearchN + } + return 0 +} + +func (m *TiFlashScanContext) GetFtsIdxSearchTotalMs() uint64 { + if m != nil && m.FtsIdxSearchTotalMs != nil { + return *m.FtsIdxSearchTotalMs + } + return 0 +} + +func (m *TiFlashScanContext) GetFtsIdxDmSearchRows() uint64 { + if m != nil && m.FtsIdxDmSearchRows != nil { + return *m.FtsIdxDmSearchRows + } + return 0 +} + +func (m *TiFlashScanContext) GetFtsIdxDmTotalReadFtsMs() uint64 { + if m != nil && m.FtsIdxDmTotalReadFtsMs != nil { + return *m.FtsIdxDmTotalReadFtsMs + } + return 0 +} + +func (m *TiFlashScanContext) GetFtsIdxDmTotalReadOthersMs() uint64 { + if m != nil && m.FtsIdxDmTotalReadOthersMs != nil { + return *m.FtsIdxDmTotalReadOthersMs + } + return 0 +} + +func (m *TiFlashScanContext) GetFtsIdxTinySearchRows() uint64 { + if m != nil && m.FtsIdxTinySearchRows != nil { + return *m.FtsIdxTinySearchRows + } + return 0 +} + +func (m *TiFlashScanContext) GetFtsIdxTinyTotalReadFtsMs() uint64 { + if m != nil && m.FtsIdxTinyTotalReadFtsMs != nil { + return *m.FtsIdxTinyTotalReadFtsMs + } + return 0 +} + +func (m *TiFlashScanContext) GetFtsIdxTinyTotalReadOthersMs() uint64 { + if m != nil && m.FtsIdxTinyTotalReadOthersMs != nil { + return *m.FtsIdxTinyTotalReadOthersMs + } + return 0 +} + +func (m *TiFlashScanContext) GetFtsBruteTotalReadMs() uint64 { + if m != nil && m.FtsBruteTotalReadMs != nil { + return *m.FtsBruteTotalReadMs + } + return 0 +} + +func (m *TiFlashScanContext) GetFtsBruteTotalSearchMs() uint64 { + if m != nil && m.FtsBruteTotalSearchMs != nil { + return *m.FtsBruteTotalSearchMs + } + return 0 +} + type TiFlashWaitSummary struct { MinTSOWaitNs *uint64 `protobuf:"varint,1,opt,name=minTSO_wait_ns,json=minTSOWaitNs" json:"minTSO_wait_ns,omitempty"` PipelineQueueWaitNs *uint64 `protobuf:"varint,2,opt,name=pipeline_queue_wait_ns,json=pipelineQueueWaitNs" json:"pipeline_queue_wait_ns,omitempty"` @@ -2383,7 +2729,7 @@ type TiFlashWaitSummary struct { func (m *TiFlashWaitSummary) Reset() { *m = TiFlashWaitSummary{} } func (m *TiFlashWaitSummary) String() string { return proto.CompactTextString(m) } func (*TiFlashWaitSummary) ProtoMessage() {} -func (*TiFlashWaitSummary) Descriptor() ([]byte, []int) { return fileDescriptorExecutor, []int{22} } +func (*TiFlashWaitSummary) Descriptor() ([]byte, []int) { return fileDescriptorExecutor, []int{23} } func (m *TiFlashWaitSummary) GetMinTSOWaitNs() uint64 { if m != nil && m.MinTSOWaitNs != nil { @@ -2416,7 +2762,7 @@ type Sort struct { func (m *Sort) Reset() { *m = Sort{} } func (m *Sort) String() string { return proto.CompactTextString(m) } func (*Sort) ProtoMessage() {} -func (*Sort) Descriptor() ([]byte, []int) { return fileDescriptorExecutor, []int{23} } +func (*Sort) Descriptor() ([]byte, []int) { return fileDescriptorExecutor, []int{24} } func (m *Sort) GetByItems() []*ByItem { if m != nil { @@ -2452,7 +2798,7 @@ type WindowFrameBound struct { func (m *WindowFrameBound) Reset() { *m = WindowFrameBound{} } func (m *WindowFrameBound) String() string { return proto.CompactTextString(m) } func (*WindowFrameBound) ProtoMessage() {} -func (*WindowFrameBound) Descriptor() ([]byte, []int) { return fileDescriptorExecutor, []int{24} } +func (*WindowFrameBound) Descriptor() ([]byte, []int) { return fileDescriptorExecutor, []int{25} } func (m *WindowFrameBound) GetType() WindowBoundType { if m != nil { @@ -2506,7 +2852,7 @@ type WindowFrame struct { func (m *WindowFrame) Reset() { *m = WindowFrame{} } func (m *WindowFrame) String() string { return proto.CompactTextString(m) } func (*WindowFrame) ProtoMessage() {} -func (*WindowFrame) Descriptor() ([]byte, []int) { return fileDescriptorExecutor, []int{25} } +func (*WindowFrame) Descriptor() ([]byte, []int) { return fileDescriptorExecutor, []int{26} } func (m *WindowFrame) GetType() WindowFrameType { if m != nil { @@ -2541,7 +2887,7 @@ type Window struct { func (m *Window) Reset() { *m = Window{} } func (m *Window) String() string { return proto.CompactTextString(m) } func (*Window) ProtoMessage() {} -func (*Window) Descriptor() ([]byte, []int) { return fileDescriptorExecutor, []int{26} } +func (*Window) Descriptor() ([]byte, []int) { return fileDescriptorExecutor, []int{27} } func (m *Window) GetFuncDesc() []*Expr { if m != nil { @@ -2586,7 +2932,7 @@ type GroupingExpr struct { func (m *GroupingExpr) Reset() { *m = GroupingExpr{} } func (m *GroupingExpr) String() string { return proto.CompactTextString(m) } func (*GroupingExpr) ProtoMessage() {} -func (*GroupingExpr) Descriptor() ([]byte, []int) { return fileDescriptorExecutor, []int{27} } +func (*GroupingExpr) Descriptor() ([]byte, []int) { return fileDescriptorExecutor, []int{28} } func (m *GroupingExpr) GetGroupingExpr() []*Expr { if m != nil { @@ -2603,7 +2949,7 @@ type GroupingSet struct { func (m *GroupingSet) Reset() { *m = GroupingSet{} } func (m *GroupingSet) String() string { return proto.CompactTextString(m) } func (*GroupingSet) ProtoMessage() {} -func (*GroupingSet) Descriptor() ([]byte, []int) { return fileDescriptorExecutor, []int{28} } +func (*GroupingSet) Descriptor() ([]byte, []int) { return fileDescriptorExecutor, []int{29} } func (m *GroupingSet) GetGroupingExprs() []*GroupingExpr { if m != nil { @@ -2623,7 +2969,7 @@ type Expand struct { func (m *Expand) Reset() { *m = Expand{} } func (m *Expand) String() string { return proto.CompactTextString(m) } func (*Expand) ProtoMessage() {} -func (*Expand) Descriptor() ([]byte, []int) { return fileDescriptorExecutor, []int{29} } +func (*Expand) Descriptor() ([]byte, []int) { return fileDescriptorExecutor, []int{30} } func (m *Expand) GetGroupingSets() []*GroupingSet { if m != nil { @@ -2654,7 +3000,7 @@ type ExprSlice struct { func (m *ExprSlice) Reset() { *m = ExprSlice{} } func (m *ExprSlice) String() string { return proto.CompactTextString(m) } func (*ExprSlice) ProtoMessage() {} -func (*ExprSlice) Descriptor() ([]byte, []int) { return fileDescriptorExecutor, []int{30} } +func (*ExprSlice) Descriptor() ([]byte, []int) { return fileDescriptorExecutor, []int{31} } func (m *ExprSlice) GetExprs() []*Expr { if m != nil { @@ -2673,7 +3019,7 @@ type Expand2 struct { func (m *Expand2) Reset() { *m = Expand2{} } func (m *Expand2) String() string { return proto.CompactTextString(m) } func (*Expand2) ProtoMessage() {} -func (*Expand2) Descriptor() ([]byte, []int) { return fileDescriptorExecutor, []int{31} } +func (*Expand2) Descriptor() ([]byte, []int) { return fileDescriptorExecutor, []int{32} } func (m *Expand2) GetProjExprs() []*ExprSlice { if m != nil { @@ -2704,7 +3050,7 @@ type BroadcastQuery struct { func (m *BroadcastQuery) Reset() { *m = BroadcastQuery{} } func (m *BroadcastQuery) String() string { return proto.CompactTextString(m) } func (*BroadcastQuery) ProtoMessage() {} -func (*BroadcastQuery) Descriptor() ([]byte, []int) { return fileDescriptorExecutor, []int{32} } +func (*BroadcastQuery) Descriptor() ([]byte, []int) { return fileDescriptorExecutor, []int{33} } func (m *BroadcastQuery) GetQuery() string { if m != nil && m.Query != nil { @@ -2720,6 +3066,7 @@ func init() { proto.RegisterType((*EncodedBytesSlice)(nil), "tipb.EncodedBytesSlice") proto.RegisterType((*ExchangeReceiver)(nil), "tipb.ExchangeReceiver") proto.RegisterType((*ANNQueryInfo)(nil), "tipb.ANNQueryInfo") + proto.RegisterType((*FTSQueryInfo)(nil), "tipb.FTSQueryInfo") proto.RegisterType((*TableScan)(nil), "tipb.TableScan") proto.RegisterType((*PartitionTableScan)(nil), "tipb.PartitionTableScan") proto.RegisterType((*Join)(nil), "tipb.Join") @@ -2754,6 +3101,7 @@ func init() { proto.RegisterEnum("tipb.VectorIndexKind", VectorIndexKind_name, VectorIndexKind_value) proto.RegisterEnum("tipb.VectorDistanceMetric", VectorDistanceMetric_name, VectorDistanceMetric_value) proto.RegisterEnum("tipb.ANNQueryType", ANNQueryType_name, ANNQueryType_value) + proto.RegisterEnum("tipb.FTSQueryType", FTSQueryType_name, FTSQueryType_value) proto.RegisterEnum("tipb.JoinType", JoinType_name, JoinType_value) proto.RegisterEnum("tipb.JoinExecType", JoinExecType_name, JoinExecType_value) proto.RegisterEnum("tipb.RuntimeFilterType", RuntimeFilterType_name, RuntimeFilterType_value) @@ -3293,7 +3641,7 @@ func (m *ANNQueryInfo) MarshalTo(dAtA []byte) (int, error) { return i, nil } -func (m *TableScan) Marshal() (dAtA []byte, err error) { +func (m *FTSQueryInfo) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalTo(dAtA) @@ -3303,17 +3651,20 @@ func (m *TableScan) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *TableScan) MarshalTo(dAtA []byte) (int, error) { +func (m *FTSQueryInfo) MarshalTo(dAtA []byte) (int, error) { var i int _ = i var l int _ = l dAtA[i] = 0x8 i++ - i = encodeVarintExecutor(dAtA, i, uint64(m.TableId)) + i = encodeVarintExecutor(dAtA, i, uint64(m.QueryType)) + dAtA[i] = 0x10 + i++ + i = encodeVarintExecutor(dAtA, i, uint64(m.IndexId)) if len(m.Columns) > 0 { for _, msg := range m.Columns { - dAtA[i] = 0x12 + dAtA[i] = 0x1a i++ i = encodeVarintExecutor(dAtA, i, uint64(msg.Size())) n, err := msg.MarshalTo(dAtA[i:]) @@ -3323,27 +3674,63 @@ func (m *TableScan) MarshalTo(dAtA []byte) (int, error) { i += n } } - dAtA[i] = 0x18 - i++ - if m.Desc { - dAtA[i] = 1 - } else { - dAtA[i] = 0 + if len(m.ColumnNames) > 0 { + for _, s := range m.ColumnNames { + dAtA[i] = 0x22 + i++ + l = len(s) + for l >= 1<<7 { + dAtA[i] = uint8(uint64(l)&0x7f | 0x80) + l >>= 7 + i++ + } + dAtA[i] = uint8(l) + i++ + i += copy(dAtA[i:], s) + } } + dAtA[i] = 0x2a i++ - if len(m.PrimaryColumnIds) > 0 { - for _, num := range m.PrimaryColumnIds { - dAtA[i] = 0x20 + i = encodeVarintExecutor(dAtA, i, uint64(len(m.QueryText))) + i += copy(dAtA[i:], m.QueryText) + dAtA[i] = 0x32 + i++ + i = encodeVarintExecutor(dAtA, i, uint64(len(m.QueryTokenizer))) + i += copy(dAtA[i:], m.QueryTokenizer) + if m.TopK != nil { + dAtA[i] = 0x50 + i++ + i = encodeVarintExecutor(dAtA, i, uint64(*m.TopK)) + } + if len(m.SortColumnIds) > 0 { + for _, num := range m.SortColumnIds { + dAtA[i] = 0x58 i++ i = encodeVarintExecutor(dAtA, i, uint64(num)) } } - dAtA[i] = 0x28 + if len(m.SortColumnAsc) > 0 { + for _, b := range m.SortColumnAsc { + dAtA[i] = 0x60 + i++ + if b { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i++ + } + } + dAtA[i] = 0xa0 i++ - i = encodeVarintExecutor(dAtA, i, uint64(m.NextReadEngine)) - if len(m.Ranges) > 0 { - for _, msg := range m.Ranges { - dAtA[i] = 0x32 + dAtA[i] = 0x1 + i++ + i = encodeVarintExecutor(dAtA, i, uint64(m.QueryFunc)) + if len(m.MatchExpr) > 0 { + for _, msg := range m.MatchExpr { + dAtA[i] = 0xaa + i++ + dAtA[i] = 0x1 i++ i = encodeVarintExecutor(dAtA, i, uint64(msg.Size())) n, err := msg.MarshalTo(dAtA[i:]) @@ -3353,29 +3740,95 @@ func (m *TableScan) MarshalTo(dAtA []byte) (int, error) { i += n } } - if len(m.PrimaryPrefixColumnIds) > 0 { - for _, num := range m.PrimaryPrefixColumnIds { - dAtA[i] = 0x38 - i++ - i = encodeVarintExecutor(dAtA, i, uint64(num)) - } - } - if m.KeepOrder != nil { - dAtA[i] = 0x40 - i++ - if *m.KeepOrder { - dAtA[i] = 1 - } else { - dAtA[i] = 0 - } - i++ + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) } - if m.IsFastScan != nil { - dAtA[i] = 0x48 - i++ - if *m.IsFastScan { - dAtA[i] = 1 - } else { + return i, nil +} + +func (m *TableScan) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *TableScan) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0x8 + i++ + i = encodeVarintExecutor(dAtA, i, uint64(m.TableId)) + if len(m.Columns) > 0 { + for _, msg := range m.Columns { + dAtA[i] = 0x12 + i++ + i = encodeVarintExecutor(dAtA, i, uint64(msg.Size())) + n, err := msg.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n + } + } + dAtA[i] = 0x18 + i++ + if m.Desc { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i++ + if len(m.PrimaryColumnIds) > 0 { + for _, num := range m.PrimaryColumnIds { + dAtA[i] = 0x20 + i++ + i = encodeVarintExecutor(dAtA, i, uint64(num)) + } + } + dAtA[i] = 0x28 + i++ + i = encodeVarintExecutor(dAtA, i, uint64(m.NextReadEngine)) + if len(m.Ranges) > 0 { + for _, msg := range m.Ranges { + dAtA[i] = 0x32 + i++ + i = encodeVarintExecutor(dAtA, i, uint64(msg.Size())) + n, err := msg.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n + } + } + if len(m.PrimaryPrefixColumnIds) > 0 { + for _, num := range m.PrimaryPrefixColumnIds { + dAtA[i] = 0x38 + i++ + i = encodeVarintExecutor(dAtA, i, uint64(num)) + } + } + if m.KeepOrder != nil { + dAtA[i] = 0x40 + i++ + if *m.KeepOrder { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i++ + } + if m.IsFastScan != nil { + dAtA[i] = 0x48 + i++ + if *m.IsFastScan { + dAtA[i] = 1 + } else { dAtA[i] = 0 } i++ @@ -3815,6 +4268,16 @@ func (m *IndexScan) MarshalTo(dAtA []byte) (int, error) { i = encodeVarintExecutor(dAtA, i, uint64(num)) } } + if m.FtsQueryInfo != nil { + dAtA[i] = 0x3a + i++ + i = encodeVarintExecutor(dAtA, i, uint64(m.FtsQueryInfo.Size())) + n23, err := m.FtsQueryInfo.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n23 + } if m.XXX_unrecognized != nil { i += copy(dAtA[i:], m.XXX_unrecognized) } @@ -3864,11 +4327,11 @@ func (m *Selection) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1a i++ i = encodeVarintExecutor(dAtA, i, uint64(m.Child.Size())) - n23, err := m.Child.MarshalTo(dAtA[i:]) + n24, err := m.Child.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n23 + i += n24 } if m.XXX_unrecognized != nil { i += copy(dAtA[i:], m.XXX_unrecognized) @@ -3919,11 +4382,11 @@ func (m *Projection) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1a i++ i = encodeVarintExecutor(dAtA, i, uint64(m.Child.Size())) - n24, err := m.Child.MarshalTo(dAtA[i:]) + n25, err := m.Child.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n24 + i += n25 } if m.XXX_unrecognized != nil { i += copy(dAtA[i:], m.XXX_unrecognized) @@ -4006,11 +4469,11 @@ func (m *Aggregation) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x32 i++ i = encodeVarintExecutor(dAtA, i, uint64(m.Child.Size())) - n25, err := m.Child.MarshalTo(dAtA[i:]) + n26, err := m.Child.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n25 + i += n26 } if m.PreAggMode != nil { dAtA[i] = 0x38 @@ -4057,11 +4520,11 @@ func (m *TopN) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1a i++ i = encodeVarintExecutor(dAtA, i, uint64(m.Child.Size())) - n26, err := m.Child.MarshalTo(dAtA[i:]) + n27, err := m.Child.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n26 + i += n27 } if len(m.PartitionBy) > 0 { for _, msg := range m.PartitionBy { @@ -4103,11 +4566,11 @@ func (m *Limit) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x12 i++ i = encodeVarintExecutor(dAtA, i, uint64(m.Child.Size())) - n27, err := m.Child.MarshalTo(dAtA[i:]) + n28, err := m.Child.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n27 + i += n28 } if len(m.PartitionBy) > 0 { for _, msg := range m.PartitionBy { @@ -4237,11 +4700,11 @@ func (m *ExecutorExecutionSummary) MarshalTo(dAtA []byte) (int, error) { i = encodeVarintExecutor(dAtA, i, uint64(*m.Concurrency)) } if m.DetailInfo != nil { - nn28, err := m.DetailInfo.MarshalTo(dAtA[i:]) + nn29, err := m.DetailInfo.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += nn28 + i += nn29 } if m.RuConsumption != nil { dAtA[i] = 0x3a @@ -4253,11 +4716,11 @@ func (m *ExecutorExecutionSummary) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x42 i++ i = encodeVarintExecutor(dAtA, i, uint64(m.TiflashWaitSummary.Size())) - n29, err := m.TiflashWaitSummary.MarshalTo(dAtA[i:]) + n30, err := m.TiflashWaitSummary.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n29 + i += n30 } if m.XXX_unrecognized != nil { i += copy(dAtA[i:], m.XXX_unrecognized) @@ -4271,11 +4734,11 @@ func (m *ExecutorExecutionSummary_TiflashScanContext) MarshalTo(dAtA []byte) (in dAtA[i] = 0x32 i++ i = encodeVarintExecutor(dAtA, i, uint64(m.TiflashScanContext.Size())) - n30, err := m.TiflashScanContext.MarshalTo(dAtA[i:]) + n31, err := m.TiflashScanContext.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n30 + i += n31 } return i, nil } @@ -4637,6 +5100,181 @@ func (m *TiFlashScanContext) MarshalTo(dAtA []byte) (int, error) { i++ i = encodeVarintExecutor(dAtA, i, uint64(*m.TotalVectorIdxReadOthersTimeMs)) } + if m.FtsNFromInmemoryNoindex != nil { + dAtA[i] = 0xb0 + i++ + dAtA[i] = 0x9 + i++ + i = encodeVarintExecutor(dAtA, i, uint64(*m.FtsNFromInmemoryNoindex)) + } + if m.FtsNFromTinyIndex != nil { + dAtA[i] = 0xb8 + i++ + dAtA[i] = 0x9 + i++ + i = encodeVarintExecutor(dAtA, i, uint64(*m.FtsNFromTinyIndex)) + } + if m.FtsNFromTinyNoindex != nil { + dAtA[i] = 0xc0 + i++ + dAtA[i] = 0x9 + i++ + i = encodeVarintExecutor(dAtA, i, uint64(*m.FtsNFromTinyNoindex)) + } + if m.FtsNFromDmfIndex != nil { + dAtA[i] = 0xc8 + i++ + dAtA[i] = 0x9 + i++ + i = encodeVarintExecutor(dAtA, i, uint64(*m.FtsNFromDmfIndex)) + } + if m.FtsNFromDmfNoindex != nil { + dAtA[i] = 0xd0 + i++ + dAtA[i] = 0x9 + i++ + i = encodeVarintExecutor(dAtA, i, uint64(*m.FtsNFromDmfNoindex)) + } + if m.FtsRowsFromInmemoryNoindex != nil { + dAtA[i] = 0xd8 + i++ + dAtA[i] = 0x9 + i++ + i = encodeVarintExecutor(dAtA, i, uint64(*m.FtsRowsFromInmemoryNoindex)) + } + if m.FtsRowsFromTinyIndex != nil { + dAtA[i] = 0xe0 + i++ + dAtA[i] = 0x9 + i++ + i = encodeVarintExecutor(dAtA, i, uint64(*m.FtsRowsFromTinyIndex)) + } + if m.FtsRowsFromTinyNoindex != nil { + dAtA[i] = 0xe8 + i++ + dAtA[i] = 0x9 + i++ + i = encodeVarintExecutor(dAtA, i, uint64(*m.FtsRowsFromTinyNoindex)) + } + if m.FtsRowsFromDmfIndex != nil { + dAtA[i] = 0xf0 + i++ + dAtA[i] = 0x9 + i++ + i = encodeVarintExecutor(dAtA, i, uint64(*m.FtsRowsFromDmfIndex)) + } + if m.FtsRowsFromDmfNoindex != nil { + dAtA[i] = 0xf8 + i++ + dAtA[i] = 0x9 + i++ + i = encodeVarintExecutor(dAtA, i, uint64(*m.FtsRowsFromDmfNoindex)) + } + if m.FtsIdxLoadTotalMs != nil { + dAtA[i] = 0x80 + i++ + dAtA[i] = 0xa + i++ + i = encodeVarintExecutor(dAtA, i, uint64(*m.FtsIdxLoadTotalMs)) + } + if m.FtsIdxLoadFromCache != nil { + dAtA[i] = 0x88 + i++ + dAtA[i] = 0xa + i++ + i = encodeVarintExecutor(dAtA, i, uint64(*m.FtsIdxLoadFromCache)) + } + if m.FtsIdxLoadFromColumnFile != nil { + dAtA[i] = 0x90 + i++ + dAtA[i] = 0xa + i++ + i = encodeVarintExecutor(dAtA, i, uint64(*m.FtsIdxLoadFromColumnFile)) + } + if m.FtsIdxLoadFromStableS3 != nil { + dAtA[i] = 0x98 + i++ + dAtA[i] = 0xa + i++ + i = encodeVarintExecutor(dAtA, i, uint64(*m.FtsIdxLoadFromStableS3)) + } + if m.FtsIdxLoadFromStableDisk != nil { + dAtA[i] = 0xa0 + i++ + dAtA[i] = 0xa + i++ + i = encodeVarintExecutor(dAtA, i, uint64(*m.FtsIdxLoadFromStableDisk)) + } + if m.FtsIdxSearchN != nil { + dAtA[i] = 0xa8 + i++ + dAtA[i] = 0xa + i++ + i = encodeVarintExecutor(dAtA, i, uint64(*m.FtsIdxSearchN)) + } + if m.FtsIdxSearchTotalMs != nil { + dAtA[i] = 0xb0 + i++ + dAtA[i] = 0xa + i++ + i = encodeVarintExecutor(dAtA, i, uint64(*m.FtsIdxSearchTotalMs)) + } + if m.FtsIdxDmSearchRows != nil { + dAtA[i] = 0xb8 + i++ + dAtA[i] = 0xa + i++ + i = encodeVarintExecutor(dAtA, i, uint64(*m.FtsIdxDmSearchRows)) + } + if m.FtsIdxDmTotalReadFtsMs != nil { + dAtA[i] = 0xc0 + i++ + dAtA[i] = 0xa + i++ + i = encodeVarintExecutor(dAtA, i, uint64(*m.FtsIdxDmTotalReadFtsMs)) + } + if m.FtsIdxDmTotalReadOthersMs != nil { + dAtA[i] = 0xc8 + i++ + dAtA[i] = 0xa + i++ + i = encodeVarintExecutor(dAtA, i, uint64(*m.FtsIdxDmTotalReadOthersMs)) + } + if m.FtsIdxTinySearchRows != nil { + dAtA[i] = 0xd0 + i++ + dAtA[i] = 0xa + i++ + i = encodeVarintExecutor(dAtA, i, uint64(*m.FtsIdxTinySearchRows)) + } + if m.FtsIdxTinyTotalReadFtsMs != nil { + dAtA[i] = 0xd8 + i++ + dAtA[i] = 0xa + i++ + i = encodeVarintExecutor(dAtA, i, uint64(*m.FtsIdxTinyTotalReadFtsMs)) + } + if m.FtsIdxTinyTotalReadOthersMs != nil { + dAtA[i] = 0xe0 + i++ + dAtA[i] = 0xa + i++ + i = encodeVarintExecutor(dAtA, i, uint64(*m.FtsIdxTinyTotalReadOthersMs)) + } + if m.FtsBruteTotalReadMs != nil { + dAtA[i] = 0xe8 + i++ + dAtA[i] = 0xa + i++ + i = encodeVarintExecutor(dAtA, i, uint64(*m.FtsBruteTotalReadMs)) + } + if m.FtsBruteTotalSearchMs != nil { + dAtA[i] = 0xf0 + i++ + dAtA[i] = 0xa + i++ + i = encodeVarintExecutor(dAtA, i, uint64(*m.FtsBruteTotalSearchMs)) + } if m.XXX_unrecognized != nil { i += copy(dAtA[i:], m.XXX_unrecognized) } @@ -4720,11 +5358,11 @@ func (m *Sort) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1a i++ i = encodeVarintExecutor(dAtA, i, uint64(m.Child.Size())) - n31, err := m.Child.MarshalTo(dAtA[i:]) + n32, err := m.Child.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n31 + i += n32 } if m.XXX_unrecognized != nil { i += copy(dAtA[i:], m.XXX_unrecognized) @@ -4779,11 +5417,11 @@ func (m *WindowFrameBound) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x2a i++ i = encodeVarintExecutor(dAtA, i, uint64(m.FrameRange.Size())) - n32, err := m.FrameRange.MarshalTo(dAtA[i:]) + n33, err := m.FrameRange.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n32 + i += n33 } if m.CmpDataType != nil { dAtA[i] = 0x30 @@ -4818,21 +5456,21 @@ func (m *WindowFrame) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x12 i++ i = encodeVarintExecutor(dAtA, i, uint64(m.Start.Size())) - n33, err := m.Start.MarshalTo(dAtA[i:]) + n34, err := m.Start.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n33 + i += n34 } if m.End != nil { dAtA[i] = 0x1a i++ i = encodeVarintExecutor(dAtA, i, uint64(m.End.Size())) - n34, err := m.End.MarshalTo(dAtA[i:]) + n35, err := m.End.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n34 + i += n35 } if m.XXX_unrecognized != nil { i += copy(dAtA[i:], m.XXX_unrecognized) @@ -4895,21 +5533,21 @@ func (m *Window) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x22 i++ i = encodeVarintExecutor(dAtA, i, uint64(m.Frame.Size())) - n35, err := m.Frame.MarshalTo(dAtA[i:]) + n36, err := m.Frame.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n35 + i += n36 } if m.Child != nil { dAtA[i] = 0x2a i++ i = encodeVarintExecutor(dAtA, i, uint64(m.Child.Size())) - n36, err := m.Child.MarshalTo(dAtA[i:]) + n37, err := m.Child.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n36 + i += n37 } if m.XXX_unrecognized != nil { i += copy(dAtA[i:], m.XXX_unrecognized) @@ -5014,11 +5652,11 @@ func (m *Expand) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x12 i++ i = encodeVarintExecutor(dAtA, i, uint64(m.Child.Size())) - n37, err := m.Child.MarshalTo(dAtA[i:]) + n38, err := m.Child.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n37 + i += n38 } if m.Version != nil { dAtA[i] = 0x18 @@ -5110,11 +5748,11 @@ func (m *Expand2) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1a i++ i = encodeVarintExecutor(dAtA, i, uint64(m.Child.Size())) - n38, err := m.Child.MarshalTo(dAtA[i:]) + n39, err := m.Child.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n38 + i += n39 } if m.XXX_unrecognized != nil { i += copy(dAtA[i:], m.XXX_unrecognized) @@ -5388,23 +6026,68 @@ func (m *ANNQueryInfo) Size() (n int) { return n } -func (m *TableScan) Size() (n int) { +func (m *FTSQueryInfo) Size() (n int) { var l int _ = l - n += 1 + sovExecutor(uint64(m.TableId)) + n += 1 + sovExecutor(uint64(m.QueryType)) + n += 1 + sovExecutor(uint64(m.IndexId)) if len(m.Columns) > 0 { for _, e := range m.Columns { l = e.Size() n += 1 + l + sovExecutor(uint64(l)) } } - n += 2 - if len(m.PrimaryColumnIds) > 0 { - for _, e := range m.PrimaryColumnIds { - n += 1 + sovExecutor(uint64(e)) + if len(m.ColumnNames) > 0 { + for _, s := range m.ColumnNames { + l = len(s) + n += 1 + l + sovExecutor(uint64(l)) } } - n += 1 + sovExecutor(uint64(m.NextReadEngine)) + l = len(m.QueryText) + n += 1 + l + sovExecutor(uint64(l)) + l = len(m.QueryTokenizer) + n += 1 + l + sovExecutor(uint64(l)) + if m.TopK != nil { + n += 1 + sovExecutor(uint64(*m.TopK)) + } + if len(m.SortColumnIds) > 0 { + for _, e := range m.SortColumnIds { + n += 1 + sovExecutor(uint64(e)) + } + } + if len(m.SortColumnAsc) > 0 { + n += 2 * len(m.SortColumnAsc) + } + n += 2 + sovExecutor(uint64(m.QueryFunc)) + if len(m.MatchExpr) > 0 { + for _, e := range m.MatchExpr { + l = e.Size() + n += 2 + l + sovExecutor(uint64(l)) + } + } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } + return n +} + +func (m *TableScan) Size() (n int) { + var l int + _ = l + n += 1 + sovExecutor(uint64(m.TableId)) + if len(m.Columns) > 0 { + for _, e := range m.Columns { + l = e.Size() + n += 1 + l + sovExecutor(uint64(l)) + } + } + n += 2 + if len(m.PrimaryColumnIds) > 0 { + for _, e := range m.PrimaryColumnIds { + n += 1 + sovExecutor(uint64(e)) + } + } + n += 1 + sovExecutor(uint64(m.NextReadEngine)) if len(m.Ranges) > 0 { for _, e := range m.Ranges { l = e.Size() @@ -5620,6 +6303,10 @@ func (m *IndexScan) Size() (n int) { n += 1 + sovExecutor(uint64(e)) } } + if m.FtsQueryInfo != nil { + l = m.FtsQueryInfo.Size() + n += 1 + l + sovExecutor(uint64(l)) + } if m.XXX_unrecognized != nil { n += len(m.XXX_unrecognized) } @@ -6001,6 +6688,81 @@ func (m *TiFlashScanContext) Size() (n int) { if m.TotalVectorIdxReadOthersTimeMs != nil { n += 2 + sovExecutor(uint64(*m.TotalVectorIdxReadOthersTimeMs)) } + if m.FtsNFromInmemoryNoindex != nil { + n += 2 + sovExecutor(uint64(*m.FtsNFromInmemoryNoindex)) + } + if m.FtsNFromTinyIndex != nil { + n += 2 + sovExecutor(uint64(*m.FtsNFromTinyIndex)) + } + if m.FtsNFromTinyNoindex != nil { + n += 2 + sovExecutor(uint64(*m.FtsNFromTinyNoindex)) + } + if m.FtsNFromDmfIndex != nil { + n += 2 + sovExecutor(uint64(*m.FtsNFromDmfIndex)) + } + if m.FtsNFromDmfNoindex != nil { + n += 2 + sovExecutor(uint64(*m.FtsNFromDmfNoindex)) + } + if m.FtsRowsFromInmemoryNoindex != nil { + n += 2 + sovExecutor(uint64(*m.FtsRowsFromInmemoryNoindex)) + } + if m.FtsRowsFromTinyIndex != nil { + n += 2 + sovExecutor(uint64(*m.FtsRowsFromTinyIndex)) + } + if m.FtsRowsFromTinyNoindex != nil { + n += 2 + sovExecutor(uint64(*m.FtsRowsFromTinyNoindex)) + } + if m.FtsRowsFromDmfIndex != nil { + n += 2 + sovExecutor(uint64(*m.FtsRowsFromDmfIndex)) + } + if m.FtsRowsFromDmfNoindex != nil { + n += 2 + sovExecutor(uint64(*m.FtsRowsFromDmfNoindex)) + } + if m.FtsIdxLoadTotalMs != nil { + n += 2 + sovExecutor(uint64(*m.FtsIdxLoadTotalMs)) + } + if m.FtsIdxLoadFromCache != nil { + n += 2 + sovExecutor(uint64(*m.FtsIdxLoadFromCache)) + } + if m.FtsIdxLoadFromColumnFile != nil { + n += 2 + sovExecutor(uint64(*m.FtsIdxLoadFromColumnFile)) + } + if m.FtsIdxLoadFromStableS3 != nil { + n += 2 + sovExecutor(uint64(*m.FtsIdxLoadFromStableS3)) + } + if m.FtsIdxLoadFromStableDisk != nil { + n += 2 + sovExecutor(uint64(*m.FtsIdxLoadFromStableDisk)) + } + if m.FtsIdxSearchN != nil { + n += 2 + sovExecutor(uint64(*m.FtsIdxSearchN)) + } + if m.FtsIdxSearchTotalMs != nil { + n += 2 + sovExecutor(uint64(*m.FtsIdxSearchTotalMs)) + } + if m.FtsIdxDmSearchRows != nil { + n += 2 + sovExecutor(uint64(*m.FtsIdxDmSearchRows)) + } + if m.FtsIdxDmTotalReadFtsMs != nil { + n += 2 + sovExecutor(uint64(*m.FtsIdxDmTotalReadFtsMs)) + } + if m.FtsIdxDmTotalReadOthersMs != nil { + n += 2 + sovExecutor(uint64(*m.FtsIdxDmTotalReadOthersMs)) + } + if m.FtsIdxTinySearchRows != nil { + n += 2 + sovExecutor(uint64(*m.FtsIdxTinySearchRows)) + } + if m.FtsIdxTinyTotalReadFtsMs != nil { + n += 2 + sovExecutor(uint64(*m.FtsIdxTinyTotalReadFtsMs)) + } + if m.FtsIdxTinyTotalReadOthersMs != nil { + n += 2 + sovExecutor(uint64(*m.FtsIdxTinyTotalReadOthersMs)) + } + if m.FtsBruteTotalReadMs != nil { + n += 2 + sovExecutor(uint64(*m.FtsBruteTotalReadMs)) + } + if m.FtsBruteTotalSearchMs != nil { + n += 2 + sovExecutor(uint64(*m.FtsBruteTotalSearchMs)) + } if m.XXX_unrecognized != nil { n += len(m.XXX_unrecognized) } @@ -7946,7 +8708,7 @@ func (m *ANNQueryInfo) Unmarshal(dAtA []byte) error { } return nil } -func (m *TableScan) Unmarshal(dAtA []byte) error { +func (m *FTSQueryInfo) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -7969,17 +8731,17 @@ func (m *TableScan) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: TableScan: wiretype end group for non-group") + return fmt.Errorf("proto: FTSQueryInfo: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: TableScan: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: FTSQueryInfo: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field TableId", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field QueryType", wireType) } - m.TableId = 0 + m.QueryType = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowExecutor @@ -7989,12 +8751,31 @@ func (m *TableScan) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.TableId |= (int64(b) & 0x7F) << shift + m.QueryType |= (FTSQueryType(b) & 0x7F) << shift if b < 0x80 { break } } case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field IndexId", wireType) + } + m.IndexId = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowExecutor + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.IndexId |= (int64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + case 3: if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field Columns", wireType) } @@ -8025,11 +8806,98 @@ func (m *TableScan) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex - case 3: + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ColumnNames", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowExecutor + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthExecutor + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ColumnNames = append(m.ColumnNames, string(dAtA[iNdEx:postIndex])) + iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field QueryText", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowExecutor + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthExecutor + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.QueryText = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 6: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field QueryTokenizer", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowExecutor + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthExecutor + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.QueryTokenizer = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 10: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Desc", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field TopK", wireType) } - var v int + var v uint32 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowExecutor @@ -8039,13 +8907,13 @@ func (m *TableScan) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - v |= (int(b) & 0x7F) << shift + v |= (uint32(b) & 0x7F) << shift if b < 0x80 { break } } - m.Desc = bool(v != 0) - case 4: + m.TopK = &v + case 11: if wireType == 0 { var v int64 for shift := uint(0); ; shift += 7 { @@ -8062,7 +8930,7 @@ func (m *TableScan) Unmarshal(dAtA []byte) error { break } } - m.PrimaryColumnIds = append(m.PrimaryColumnIds, v) + m.SortColumnIds = append(m.SortColumnIds, v) } else if wireType == 2 { var packedLen int for shift := uint(0); ; shift += 7 { @@ -8102,64 +8970,14 @@ func (m *TableScan) Unmarshal(dAtA []byte) error { break } } - m.PrimaryColumnIds = append(m.PrimaryColumnIds, v) + m.SortColumnIds = append(m.SortColumnIds, v) } } else { - return fmt.Errorf("proto: wrong wireType = %d for field PrimaryColumnIds", wireType) - } - case 5: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field NextReadEngine", wireType) - } - m.NextReadEngine = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowExecutor - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.NextReadEngine |= (EngineType(b) & 0x7F) << shift - if b < 0x80 { - break - } - } - case 6: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Ranges", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowExecutor - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= (int(b) & 0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthExecutor + return fmt.Errorf("proto: wrong wireType = %d for field SortColumnIds", wireType) } - postIndex := iNdEx + msglen - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Ranges = append(m.Ranges, KeyRange{}) - if err := m.Ranges[len(m.Ranges)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 7: + case 12: if wireType == 0 { - var v int64 + var v int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowExecutor @@ -8169,12 +8987,12 @@ func (m *TableScan) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - v |= (int64(b) & 0x7F) << shift + v |= (int(b) & 0x7F) << shift if b < 0x80 { break } } - m.PrimaryPrefixColumnIds = append(m.PrimaryPrefixColumnIds, v) + m.SortColumnAsc = append(m.SortColumnAsc, bool(v != 0)) } else if wireType == 2 { var packedLen int for shift := uint(0); ; shift += 7 { @@ -8199,7 +9017,7 @@ func (m *TableScan) Unmarshal(dAtA []byte) error { return io.ErrUnexpectedEOF } for iNdEx < postIndex { - var v int64 + var v int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowExecutor @@ -8209,21 +9027,21 @@ func (m *TableScan) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - v |= (int64(b) & 0x7F) << shift + v |= (int(b) & 0x7F) << shift if b < 0x80 { break } } - m.PrimaryPrefixColumnIds = append(m.PrimaryPrefixColumnIds, v) + m.SortColumnAsc = append(m.SortColumnAsc, bool(v != 0)) } } else { - return fmt.Errorf("proto: wrong wireType = %d for field PrimaryPrefixColumnIds", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field SortColumnAsc", wireType) } - case 8: + case 20: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field KeepOrder", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field QueryFunc", wireType) } - var v int + m.QueryFunc = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowExecutor @@ -8233,120 +9051,16 @@ func (m *TableScan) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - v |= (int(b) & 0x7F) << shift + m.QueryFunc |= (ScalarFuncSig(b) & 0x7F) << shift if b < 0x80 { break } } - b := bool(v != 0) - m.KeepOrder = &b - case 9: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field IsFastScan", wireType) + case 21: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field MatchExpr", wireType) } - var v int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowExecutor - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= (int(b) & 0x7F) << shift - if b < 0x80 { - break - } - } - b := bool(v != 0) - m.IsFastScan = &b - case 10: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field PushedDownFilterConditions", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowExecutor - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= (int(b) & 0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthExecutor - } - postIndex := iNdEx + msglen - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.PushedDownFilterConditions = append(m.PushedDownFilterConditions, &Expr{}) - if err := m.PushedDownFilterConditions[len(m.PushedDownFilterConditions)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 11: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field RuntimeFilterList", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowExecutor - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= (int(b) & 0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthExecutor - } - postIndex := iNdEx + msglen - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.RuntimeFilterList = append(m.RuntimeFilterList, &RuntimeFilter{}) - if err := m.RuntimeFilterList[len(m.RuntimeFilterList)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 12: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field MaxWaitTimeMs", wireType) - } - m.MaxWaitTimeMs = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowExecutor - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.MaxWaitTimeMs |= (int32(b) & 0x7F) << shift - if b < 0x80 { - break - } - } - case 13: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field AnnQuery", wireType) - } - var msglen int + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowExecutor @@ -8368,10 +9082,8 @@ func (m *TableScan) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.AnnQuery == nil { - m.AnnQuery = &ANNQueryInfo{} - } - if err := m.AnnQuery.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + m.MatchExpr = append(m.MatchExpr, Expr{}) + if err := m.MatchExpr[len(m.MatchExpr)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -8397,7 +9109,7 @@ func (m *TableScan) Unmarshal(dAtA []byte) error { } return nil } -func (m *PartitionTableScan) Unmarshal(dAtA []byte) error { +func (m *TableScan) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -8420,10 +9132,10 @@ func (m *PartitionTableScan) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: PartitionTableScan: wiretype end group for non-group") + return fmt.Errorf("proto: TableScan: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: PartitionTableScan: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: TableScan: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -8559,6 +9271,56 @@ func (m *PartitionTableScan) Unmarshal(dAtA []byte) error { return fmt.Errorf("proto: wrong wireType = %d for field PrimaryColumnIds", wireType) } case 5: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field NextReadEngine", wireType) + } + m.NextReadEngine = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowExecutor + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.NextReadEngine |= (EngineType(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + case 6: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Ranges", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowExecutor + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthExecutor + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Ranges = append(m.Ranges, KeyRange{}) + if err := m.Ranges[len(m.Ranges)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 7: if wireType == 0 { var v int64 for shift := uint(0); ; shift += 7 { @@ -8620,69 +9382,28 @@ func (m *PartitionTableScan) Unmarshal(dAtA []byte) error { } else { return fmt.Errorf("proto: wrong wireType = %d for field PrimaryPrefixColumnIds", wireType) } - case 6: - if wireType == 0 { - var v int64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowExecutor - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= (int64(b) & 0x7F) << shift - if b < 0x80 { - break - } - } - m.PartitionIds = append(m.PartitionIds, v) - } else if wireType == 2 { - var packedLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowExecutor - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - packedLen |= (int(b) & 0x7F) << shift - if b < 0x80 { - break - } - } - if packedLen < 0 { - return ErrInvalidLengthExecutor + case 8: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field KeepOrder", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowExecutor } - postIndex := iNdEx + packedLen - if postIndex > l { + if iNdEx >= l { return io.ErrUnexpectedEOF } - for iNdEx < postIndex { - var v int64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowExecutor - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= (int64(b) & 0x7F) << shift - if b < 0x80 { - break - } - } - m.PartitionIds = append(m.PartitionIds, v) + b := dAtA[iNdEx] + iNdEx++ + v |= (int(b) & 0x7F) << shift + if b < 0x80 { + break } - } else { - return fmt.Errorf("proto: wrong wireType = %d for field PartitionIds", wireType) } - case 7: + b := bool(v != 0) + m.KeepOrder = &b + case 9: if wireType != 0 { return fmt.Errorf("proto: wrong wireType = %d for field IsFastScan", wireType) } @@ -8703,7 +9424,7 @@ func (m *PartitionTableScan) Unmarshal(dAtA []byte) error { } b := bool(v != 0) m.IsFastScan = &b - case 8: + case 10: if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field PushedDownFilterConditions", wireType) } @@ -8734,7 +9455,7 @@ func (m *PartitionTableScan) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex - case 9: + case 11: if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field RuntimeFilterList", wireType) } @@ -8765,7 +9486,7 @@ func (m *PartitionTableScan) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex - case 10: + case 12: if wireType != 0 { return fmt.Errorf("proto: wrong wireType = %d for field MaxWaitTimeMs", wireType) } @@ -8784,7 +9505,7 @@ func (m *PartitionTableScan) Unmarshal(dAtA []byte) error { break } } - case 11: + case 13: if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field AnnQuery", wireType) } @@ -8839,7 +9560,7 @@ func (m *PartitionTableScan) Unmarshal(dAtA []byte) error { } return nil } -func (m *Join) Unmarshal(dAtA []byte) error { +func (m *PartitionTableScan) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -8862,17 +9583,17 @@ func (m *Join) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: Join: wiretype end group for non-group") + return fmt.Errorf("proto: PartitionTableScan: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: Join: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: PartitionTableScan: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field JoinType", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field TableId", wireType) } - m.JoinType = 0 + m.TableId = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowExecutor @@ -8882,16 +9603,16 @@ func (m *Join) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.JoinType |= (JoinType(b) & 0x7F) << shift + m.TableId |= (int64(b) & 0x7F) << shift if b < 0x80 { break } } case 2: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field JoinExecType", wireType) + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Columns", wireType) } - m.JoinExecType = 0 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowExecutor @@ -8901,16 +9622,28 @@ func (m *Join) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.JoinExecType |= (JoinExecType(b) & 0x7F) << shift + msglen |= (int(b) & 0x7F) << shift if b < 0x80 { break } } + if msglen < 0 { + return ErrInvalidLengthExecutor + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Columns = append(m.Columns, &ColumnInfo{}) + if err := m.Columns[len(m.Columns)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Children", wireType) + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Desc", wireType) } - var msglen int + var v int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowExecutor @@ -8920,28 +9653,203 @@ func (m *Join) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + v |= (int(b) & 0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { - return ErrInvalidLengthExecutor + m.Desc = bool(v != 0) + case 4: + if wireType == 0 { + var v int64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowExecutor + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= (int64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + m.PrimaryColumnIds = append(m.PrimaryColumnIds, v) + } else if wireType == 2 { + var packedLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowExecutor + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + packedLen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if packedLen < 0 { + return ErrInvalidLengthExecutor + } + postIndex := iNdEx + packedLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + for iNdEx < postIndex { + var v int64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowExecutor + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= (int64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + m.PrimaryColumnIds = append(m.PrimaryColumnIds, v) + } + } else { + return fmt.Errorf("proto: wrong wireType = %d for field PrimaryColumnIds", wireType) } - postIndex := iNdEx + msglen - if postIndex > l { - return io.ErrUnexpectedEOF + case 5: + if wireType == 0 { + var v int64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowExecutor + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= (int64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + m.PrimaryPrefixColumnIds = append(m.PrimaryPrefixColumnIds, v) + } else if wireType == 2 { + var packedLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowExecutor + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + packedLen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if packedLen < 0 { + return ErrInvalidLengthExecutor + } + postIndex := iNdEx + packedLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + for iNdEx < postIndex { + var v int64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowExecutor + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= (int64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + m.PrimaryPrefixColumnIds = append(m.PrimaryPrefixColumnIds, v) + } + } else { + return fmt.Errorf("proto: wrong wireType = %d for field PrimaryPrefixColumnIds", wireType) } - m.Children = append(m.Children, &Executor{}) - if err := m.Children[len(m.Children)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err + case 6: + if wireType == 0 { + var v int64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowExecutor + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= (int64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + m.PartitionIds = append(m.PartitionIds, v) + } else if wireType == 2 { + var packedLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowExecutor + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + packedLen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if packedLen < 0 { + return ErrInvalidLengthExecutor + } + postIndex := iNdEx + packedLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + for iNdEx < postIndex { + var v int64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowExecutor + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= (int64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + m.PartitionIds = append(m.PartitionIds, v) + } + } else { + return fmt.Errorf("proto: wrong wireType = %d for field PartitionIds", wireType) } - iNdEx = postIndex - case 4: + case 7: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field InnerIdx", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field IsFastScan", wireType) } - m.InnerIdx = 0 + var v int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowExecutor @@ -8951,14 +9859,16 @@ func (m *Join) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.InnerIdx |= (int64(b) & 0x7F) << shift + v |= (int(b) & 0x7F) << shift if b < 0x80 { break } } - case 5: + b := bool(v != 0) + m.IsFastScan = &b + case 8: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field LeftJoinKeys", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field PushedDownFilterConditions", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -8982,14 +9892,14 @@ func (m *Join) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.LeftJoinKeys = append(m.LeftJoinKeys, &Expr{}) - if err := m.LeftJoinKeys[len(m.LeftJoinKeys)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + m.PushedDownFilterConditions = append(m.PushedDownFilterConditions, &Expr{}) + if err := m.PushedDownFilterConditions[len(m.PushedDownFilterConditions)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - case 6: + case 9: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field RightJoinKeys", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field RuntimeFilterList", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -9013,16 +9923,269 @@ func (m *Join) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.RightJoinKeys = append(m.RightJoinKeys, &Expr{}) - if err := m.RightJoinKeys[len(m.RightJoinKeys)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + m.RuntimeFilterList = append(m.RuntimeFilterList, &RuntimeFilter{}) + if err := m.RuntimeFilterList[len(m.RuntimeFilterList)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - case 7: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ProbeTypes", wireType) + case 10: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field MaxWaitTimeMs", wireType) } - var msglen int + m.MaxWaitTimeMs = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowExecutor + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.MaxWaitTimeMs |= (int32(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + case 11: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field AnnQuery", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowExecutor + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthExecutor + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.AnnQuery == nil { + m.AnnQuery = &ANNQueryInfo{} + } + if err := m.AnnQuery.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipExecutor(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthExecutor + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *Join) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowExecutor + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: Join: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: Join: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field JoinType", wireType) + } + m.JoinType = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowExecutor + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.JoinType |= (JoinType(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field JoinExecType", wireType) + } + m.JoinExecType = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowExecutor + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.JoinExecType |= (JoinExecType(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Children", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowExecutor + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthExecutor + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Children = append(m.Children, &Executor{}) + if err := m.Children[len(m.Children)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 4: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field InnerIdx", wireType) + } + m.InnerIdx = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowExecutor + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.InnerIdx |= (int64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field LeftJoinKeys", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowExecutor + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthExecutor + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.LeftJoinKeys = append(m.LeftJoinKeys, &Expr{}) + if err := m.LeftJoinKeys[len(m.LeftJoinKeys)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 6: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field RightJoinKeys", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowExecutor + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthExecutor + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.RightJoinKeys = append(m.RightJoinKeys, &Expr{}) + if err := m.RightJoinKeys[len(m.RightJoinKeys)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 7: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ProbeTypes", wireType) + } + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowExecutor @@ -9707,9 +10870,42 @@ func (m *IndexScan) Unmarshal(dAtA []byte) error { } else { return fmt.Errorf("proto: wrong wireType = %d for field PrimaryColumnIds", wireType) } - default: - iNdEx = preIndex - skippy, err := skipExecutor(dAtA[iNdEx:]) + case 7: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field FtsQueryInfo", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowExecutor + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthExecutor + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.FtsQueryInfo == nil { + m.FtsQueryInfo = &FTSQueryInfo{} + } + if err := m.FtsQueryInfo.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipExecutor(dAtA[iNdEx:]) if err != nil { return err } @@ -11230,7 +12426,507 @@ func (m *TiFlashScanContext) Unmarshal(dAtA []byte) error { switch fieldNum { case 1: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field DmfileScannedPacks", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field DmfileScannedPacks", wireType) + } + var v uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowExecutor + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + m.DmfileScannedPacks = &v + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field DmfileSkippedPacks", wireType) + } + var v uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowExecutor + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + m.DmfileSkippedPacks = &v + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field DmfileDataScannedRows", wireType) + } + var v uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowExecutor + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + m.DmfileDataScannedRows = &v + case 4: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field DmfileDataSkippedRows", wireType) + } + var v uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowExecutor + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + m.DmfileDataSkippedRows = &v + case 5: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field TotalDmfileRsLoadMs", wireType) + } + var v uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowExecutor + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + m.TotalDmfileRsLoadMs = &v + case 6: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field TotalDmfileReadMs", wireType) + } + var v uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowExecutor + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + m.TotalDmfileReadMs = &v + case 7: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field TotalBuildSnapshotMs", wireType) + } + var v uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowExecutor + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + m.TotalBuildSnapshotMs = &v + case 8: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field LocalRegions", wireType) + } + var v uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowExecutor + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + m.LocalRegions = &v + case 9: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field RemoteRegions", wireType) + } + var v uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowExecutor + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + m.RemoteRegions = &v + case 10: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field UserReadBytes", wireType) + } + var v uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowExecutor + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + m.UserReadBytes = &v + case 11: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field TotalLearnerReadMs", wireType) + } + var v uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowExecutor + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + m.TotalLearnerReadMs = &v + case 12: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field DisaggReadCacheHitBytes", wireType) + } + var v uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowExecutor + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + m.DisaggReadCacheHitBytes = &v + case 13: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field DisaggReadCacheMissBytes", wireType) + } + var v uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowExecutor + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + m.DisaggReadCacheMissBytes = &v + case 14: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field TotalDmfileRsCheckMs", wireType) + } + var v uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowExecutor + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + m.TotalDmfileRsCheckMs = &v + case 15: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field StaleReadRegions", wireType) + } + var v uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowExecutor + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + m.StaleReadRegions = &v + case 16: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Segments", wireType) + } + var v uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowExecutor + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + m.Segments = &v + case 17: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field ReadTasks", wireType) + } + var v uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowExecutor + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + m.ReadTasks = &v + case 18: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field DeltaRows", wireType) + } + var v uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowExecutor + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + m.DeltaRows = &v + case 19: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field DeltaBytes", wireType) + } + var v uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowExecutor + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + m.DeltaBytes = &v + case 20: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field MvccInputRows", wireType) + } + var v uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowExecutor + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + m.MvccInputRows = &v + case 21: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field MvccInputBytes", wireType) + } + var v uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowExecutor + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + m.MvccInputBytes = &v + case 22: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field MvccOutputRows", wireType) + } + var v uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowExecutor + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + m.MvccOutputRows = &v + case 23: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field LmSkipRows", wireType) + } + var v uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowExecutor + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + m.LmSkipRows = &v + case 24: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field TotalBuildInputstreamMs", wireType) + } + var v uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowExecutor + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + m.TotalBuildInputstreamMs = &v + case 25: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field TotalBuildBitmapMs", wireType) + } + var v uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowExecutor + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + m.TotalBuildBitmapMs = &v + case 26: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field MinLocalStreamMs", wireType) } var v uint64 for shift := uint(0); ; shift += 7 { @@ -11247,10 +12943,10 @@ func (m *TiFlashScanContext) Unmarshal(dAtA []byte) error { break } } - m.DmfileScannedPacks = &v - case 2: + m.MinLocalStreamMs = &v + case 27: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field DmfileSkippedPacks", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field MaxLocalStreamMs", wireType) } var v uint64 for shift := uint(0); ; shift += 7 { @@ -11267,10 +12963,10 @@ func (m *TiFlashScanContext) Unmarshal(dAtA []byte) error { break } } - m.DmfileSkippedPacks = &v - case 3: + m.MaxLocalStreamMs = &v + case 28: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field DmfileDataScannedRows", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field MinRemoteStreamMs", wireType) } var v uint64 for shift := uint(0); ; shift += 7 { @@ -11287,10 +12983,10 @@ func (m *TiFlashScanContext) Unmarshal(dAtA []byte) error { break } } - m.DmfileDataScannedRows = &v - case 4: + m.MinRemoteStreamMs = &v + case 29: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field DmfileDataSkippedRows", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field MaxRemoteStreamMs", wireType) } var v uint64 for shift := uint(0); ; shift += 7 { @@ -11307,12 +13003,12 @@ func (m *TiFlashScanContext) Unmarshal(dAtA []byte) error { break } } - m.DmfileDataSkippedRows = &v - case 5: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field TotalDmfileRsLoadMs", wireType) + m.MaxRemoteStreamMs = &v + case 30: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field RegionsOfInstance", wireType) } - var v uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowExecutor @@ -11322,15 +13018,26 @@ func (m *TiFlashScanContext) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - v |= (uint64(b) & 0x7F) << shift + msglen |= (int(b) & 0x7F) << shift if b < 0x80 { break } } - m.TotalDmfileRsLoadMs = &v - case 6: + if msglen < 0 { + return ErrInvalidLengthExecutor + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.RegionsOfInstance = append(m.RegionsOfInstance, &TiFlashRegionNumOfInstance{}) + if err := m.RegionsOfInstance[len(m.RegionsOfInstance)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 31: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field TotalDmfileReadMs", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field DmfileMvccScannedRows", wireType) } var v uint64 for shift := uint(0); ; shift += 7 { @@ -11347,10 +13054,10 @@ func (m *TiFlashScanContext) Unmarshal(dAtA []byte) error { break } } - m.TotalDmfileReadMs = &v - case 7: + m.DmfileMvccScannedRows = &v + case 32: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field TotalBuildSnapshotMs", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field DmfileMvccSkippedRows", wireType) } var v uint64 for shift := uint(0); ; shift += 7 { @@ -11367,10 +13074,10 @@ func (m *TiFlashScanContext) Unmarshal(dAtA []byte) error { break } } - m.TotalBuildSnapshotMs = &v - case 8: + m.DmfileMvccSkippedRows = &v + case 33: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field LocalRegions", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field DmfileLmFilterScannedRows", wireType) } var v uint64 for shift := uint(0); ; shift += 7 { @@ -11387,10 +13094,10 @@ func (m *TiFlashScanContext) Unmarshal(dAtA []byte) error { break } } - m.LocalRegions = &v - case 9: + m.DmfileLmFilterScannedRows = &v + case 34: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field RemoteRegions", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field DmfileLmFilterSkippedRows", wireType) } var v uint64 for shift := uint(0); ; shift += 7 { @@ -11407,10 +13114,10 @@ func (m *TiFlashScanContext) Unmarshal(dAtA []byte) error { break } } - m.RemoteRegions = &v - case 10: + m.DmfileLmFilterSkippedRows = &v + case 100: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field UserReadBytes", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field TotalVectorIdxLoadFromS3", wireType) } var v uint64 for shift := uint(0); ; shift += 7 { @@ -11427,10 +13134,10 @@ func (m *TiFlashScanContext) Unmarshal(dAtA []byte) error { break } } - m.UserReadBytes = &v - case 11: + m.TotalVectorIdxLoadFromS3 = &v + case 101: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field TotalLearnerReadMs", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field TotalVectorIdxLoadFromDisk", wireType) } var v uint64 for shift := uint(0); ; shift += 7 { @@ -11447,10 +13154,10 @@ func (m *TiFlashScanContext) Unmarshal(dAtA []byte) error { break } } - m.TotalLearnerReadMs = &v - case 12: + m.TotalVectorIdxLoadFromDisk = &v + case 102: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field DisaggReadCacheHitBytes", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field TotalVectorIdxLoadFromCache", wireType) } var v uint64 for shift := uint(0); ; shift += 7 { @@ -11467,10 +13174,10 @@ func (m *TiFlashScanContext) Unmarshal(dAtA []byte) error { break } } - m.DisaggReadCacheHitBytes = &v - case 13: + m.TotalVectorIdxLoadFromCache = &v + case 103: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field DisaggReadCacheMissBytes", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field TotalVectorIdxLoadTimeMs", wireType) } var v uint64 for shift := uint(0); ; shift += 7 { @@ -11487,10 +13194,10 @@ func (m *TiFlashScanContext) Unmarshal(dAtA []byte) error { break } } - m.DisaggReadCacheMissBytes = &v - case 14: + m.TotalVectorIdxLoadTimeMs = &v + case 104: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field TotalDmfileRsCheckMs", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field TotalVectorIdxSearchTimeMs", wireType) } var v uint64 for shift := uint(0); ; shift += 7 { @@ -11507,10 +13214,10 @@ func (m *TiFlashScanContext) Unmarshal(dAtA []byte) error { break } } - m.TotalDmfileRsCheckMs = &v - case 15: + m.TotalVectorIdxSearchTimeMs = &v + case 105: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field StaleReadRegions", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field TotalVectorIdxSearchVisitedNodes", wireType) } var v uint64 for shift := uint(0); ; shift += 7 { @@ -11527,10 +13234,10 @@ func (m *TiFlashScanContext) Unmarshal(dAtA []byte) error { break } } - m.StaleReadRegions = &v - case 16: + m.TotalVectorIdxSearchVisitedNodes = &v + case 106: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Segments", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field TotalVectorIdxSearchDiscardedNodes", wireType) } var v uint64 for shift := uint(0); ; shift += 7 { @@ -11547,10 +13254,10 @@ func (m *TiFlashScanContext) Unmarshal(dAtA []byte) error { break } } - m.Segments = &v - case 17: + m.TotalVectorIdxSearchDiscardedNodes = &v + case 107: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field ReadTasks", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field TotalVectorIdxReadVecTimeMs", wireType) } var v uint64 for shift := uint(0); ; shift += 7 { @@ -11567,10 +13274,10 @@ func (m *TiFlashScanContext) Unmarshal(dAtA []byte) error { break } } - m.ReadTasks = &v - case 18: + m.TotalVectorIdxReadVecTimeMs = &v + case 108: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field DeltaRows", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field TotalVectorIdxReadOthersTimeMs", wireType) } var v uint64 for shift := uint(0); ; shift += 7 { @@ -11587,12 +13294,12 @@ func (m *TiFlashScanContext) Unmarshal(dAtA []byte) error { break } } - m.DeltaRows = &v - case 19: + m.TotalVectorIdxReadOthersTimeMs = &v + case 150: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field DeltaBytes", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field FtsNFromInmemoryNoindex", wireType) } - var v uint64 + var v uint32 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowExecutor @@ -11602,17 +13309,17 @@ func (m *TiFlashScanContext) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - v |= (uint64(b) & 0x7F) << shift + v |= (uint32(b) & 0x7F) << shift if b < 0x80 { break } } - m.DeltaBytes = &v - case 20: + m.FtsNFromInmemoryNoindex = &v + case 151: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field MvccInputRows", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field FtsNFromTinyIndex", wireType) } - var v uint64 + var v uint32 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowExecutor @@ -11622,17 +13329,17 @@ func (m *TiFlashScanContext) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - v |= (uint64(b) & 0x7F) << shift + v |= (uint32(b) & 0x7F) << shift if b < 0x80 { break } } - m.MvccInputRows = &v - case 21: + m.FtsNFromTinyIndex = &v + case 152: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field MvccInputBytes", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field FtsNFromTinyNoindex", wireType) } - var v uint64 + var v uint32 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowExecutor @@ -11642,17 +13349,17 @@ func (m *TiFlashScanContext) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - v |= (uint64(b) & 0x7F) << shift + v |= (uint32(b) & 0x7F) << shift if b < 0x80 { break } } - m.MvccInputBytes = &v - case 22: + m.FtsNFromTinyNoindex = &v + case 153: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field MvccOutputRows", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field FtsNFromDmfIndex", wireType) } - var v uint64 + var v uint32 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowExecutor @@ -11662,17 +13369,17 @@ func (m *TiFlashScanContext) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - v |= (uint64(b) & 0x7F) << shift + v |= (uint32(b) & 0x7F) << shift if b < 0x80 { break } } - m.MvccOutputRows = &v - case 23: + m.FtsNFromDmfIndex = &v + case 154: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field LmSkipRows", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field FtsNFromDmfNoindex", wireType) } - var v uint64 + var v uint32 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowExecutor @@ -11682,15 +13389,15 @@ func (m *TiFlashScanContext) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - v |= (uint64(b) & 0x7F) << shift + v |= (uint32(b) & 0x7F) << shift if b < 0x80 { break } } - m.LmSkipRows = &v - case 24: + m.FtsNFromDmfNoindex = &v + case 155: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field TotalBuildInputstreamMs", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field FtsRowsFromInmemoryNoindex", wireType) } var v uint64 for shift := uint(0); ; shift += 7 { @@ -11707,10 +13414,10 @@ func (m *TiFlashScanContext) Unmarshal(dAtA []byte) error { break } } - m.TotalBuildInputstreamMs = &v - case 25: + m.FtsRowsFromInmemoryNoindex = &v + case 156: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field TotalBuildBitmapMs", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field FtsRowsFromTinyIndex", wireType) } var v uint64 for shift := uint(0); ; shift += 7 { @@ -11727,10 +13434,10 @@ func (m *TiFlashScanContext) Unmarshal(dAtA []byte) error { break } } - m.TotalBuildBitmapMs = &v - case 26: + m.FtsRowsFromTinyIndex = &v + case 157: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field MinLocalStreamMs", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field FtsRowsFromTinyNoindex", wireType) } var v uint64 for shift := uint(0); ; shift += 7 { @@ -11747,10 +13454,10 @@ func (m *TiFlashScanContext) Unmarshal(dAtA []byte) error { break } } - m.MinLocalStreamMs = &v - case 27: + m.FtsRowsFromTinyNoindex = &v + case 158: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field MaxLocalStreamMs", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field FtsRowsFromDmfIndex", wireType) } var v uint64 for shift := uint(0); ; shift += 7 { @@ -11767,10 +13474,10 @@ func (m *TiFlashScanContext) Unmarshal(dAtA []byte) error { break } } - m.MaxLocalStreamMs = &v - case 28: + m.FtsRowsFromDmfIndex = &v + case 159: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field MinRemoteStreamMs", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field FtsRowsFromDmfNoindex", wireType) } var v uint64 for shift := uint(0); ; shift += 7 { @@ -11787,10 +13494,10 @@ func (m *TiFlashScanContext) Unmarshal(dAtA []byte) error { break } } - m.MinRemoteStreamMs = &v - case 29: + m.FtsRowsFromDmfNoindex = &v + case 160: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field MaxRemoteStreamMs", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field FtsIdxLoadTotalMs", wireType) } var v uint64 for shift := uint(0); ; shift += 7 { @@ -11807,12 +13514,12 @@ func (m *TiFlashScanContext) Unmarshal(dAtA []byte) error { break } } - m.MaxRemoteStreamMs = &v - case 30: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field RegionsOfInstance", wireType) + m.FtsIdxLoadTotalMs = &v + case 161: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field FtsIdxLoadFromCache", wireType) } - var msglen int + var v uint32 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowExecutor @@ -11822,28 +13529,17 @@ func (m *TiFlashScanContext) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= (int(b) & 0x7F) << shift + v |= (uint32(b) & 0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { - return ErrInvalidLengthExecutor - } - postIndex := iNdEx + msglen - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.RegionsOfInstance = append(m.RegionsOfInstance, &TiFlashRegionNumOfInstance{}) - if err := m.RegionsOfInstance[len(m.RegionsOfInstance)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 31: + m.FtsIdxLoadFromCache = &v + case 162: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field DmfileMvccScannedRows", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field FtsIdxLoadFromColumnFile", wireType) } - var v uint64 + var v uint32 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowExecutor @@ -11853,17 +13549,17 @@ func (m *TiFlashScanContext) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - v |= (uint64(b) & 0x7F) << shift + v |= (uint32(b) & 0x7F) << shift if b < 0x80 { break } } - m.DmfileMvccScannedRows = &v - case 32: + m.FtsIdxLoadFromColumnFile = &v + case 163: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field DmfileMvccSkippedRows", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field FtsIdxLoadFromStableS3", wireType) } - var v uint64 + var v uint32 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowExecutor @@ -11873,17 +13569,17 @@ func (m *TiFlashScanContext) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - v |= (uint64(b) & 0x7F) << shift + v |= (uint32(b) & 0x7F) << shift if b < 0x80 { break } } - m.DmfileMvccSkippedRows = &v - case 33: + m.FtsIdxLoadFromStableS3 = &v + case 164: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field DmfileLmFilterScannedRows", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field FtsIdxLoadFromStableDisk", wireType) } - var v uint64 + var v uint32 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowExecutor @@ -11893,17 +13589,17 @@ func (m *TiFlashScanContext) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - v |= (uint64(b) & 0x7F) << shift + v |= (uint32(b) & 0x7F) << shift if b < 0x80 { break } } - m.DmfileLmFilterScannedRows = &v - case 34: + m.FtsIdxLoadFromStableDisk = &v + case 165: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field DmfileLmFilterSkippedRows", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field FtsIdxSearchN", wireType) } - var v uint64 + var v uint32 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowExecutor @@ -11913,15 +13609,15 @@ func (m *TiFlashScanContext) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - v |= (uint64(b) & 0x7F) << shift + v |= (uint32(b) & 0x7F) << shift if b < 0x80 { break } } - m.DmfileLmFilterSkippedRows = &v - case 100: + m.FtsIdxSearchN = &v + case 166: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field TotalVectorIdxLoadFromS3", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field FtsIdxSearchTotalMs", wireType) } var v uint64 for shift := uint(0); ; shift += 7 { @@ -11938,10 +13634,10 @@ func (m *TiFlashScanContext) Unmarshal(dAtA []byte) error { break } } - m.TotalVectorIdxLoadFromS3 = &v - case 101: + m.FtsIdxSearchTotalMs = &v + case 167: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field TotalVectorIdxLoadFromDisk", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field FtsIdxDmSearchRows", wireType) } var v uint64 for shift := uint(0); ; shift += 7 { @@ -11958,10 +13654,10 @@ func (m *TiFlashScanContext) Unmarshal(dAtA []byte) error { break } } - m.TotalVectorIdxLoadFromDisk = &v - case 102: + m.FtsIdxDmSearchRows = &v + case 168: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field TotalVectorIdxLoadFromCache", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field FtsIdxDmTotalReadFtsMs", wireType) } var v uint64 for shift := uint(0); ; shift += 7 { @@ -11978,10 +13674,10 @@ func (m *TiFlashScanContext) Unmarshal(dAtA []byte) error { break } } - m.TotalVectorIdxLoadFromCache = &v - case 103: + m.FtsIdxDmTotalReadFtsMs = &v + case 169: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field TotalVectorIdxLoadTimeMs", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field FtsIdxDmTotalReadOthersMs", wireType) } var v uint64 for shift := uint(0); ; shift += 7 { @@ -11998,10 +13694,10 @@ func (m *TiFlashScanContext) Unmarshal(dAtA []byte) error { break } } - m.TotalVectorIdxLoadTimeMs = &v - case 104: + m.FtsIdxDmTotalReadOthersMs = &v + case 170: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field TotalVectorIdxSearchTimeMs", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field FtsIdxTinySearchRows", wireType) } var v uint64 for shift := uint(0); ; shift += 7 { @@ -12018,10 +13714,10 @@ func (m *TiFlashScanContext) Unmarshal(dAtA []byte) error { break } } - m.TotalVectorIdxSearchTimeMs = &v - case 105: + m.FtsIdxTinySearchRows = &v + case 171: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field TotalVectorIdxSearchVisitedNodes", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field FtsIdxTinyTotalReadFtsMs", wireType) } var v uint64 for shift := uint(0); ; shift += 7 { @@ -12038,10 +13734,10 @@ func (m *TiFlashScanContext) Unmarshal(dAtA []byte) error { break } } - m.TotalVectorIdxSearchVisitedNodes = &v - case 106: + m.FtsIdxTinyTotalReadFtsMs = &v + case 172: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field TotalVectorIdxSearchDiscardedNodes", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field FtsIdxTinyTotalReadOthersMs", wireType) } var v uint64 for shift := uint(0); ; shift += 7 { @@ -12058,10 +13754,10 @@ func (m *TiFlashScanContext) Unmarshal(dAtA []byte) error { break } } - m.TotalVectorIdxSearchDiscardedNodes = &v - case 107: + m.FtsIdxTinyTotalReadOthersMs = &v + case 173: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field TotalVectorIdxReadVecTimeMs", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field FtsBruteTotalReadMs", wireType) } var v uint64 for shift := uint(0); ; shift += 7 { @@ -12078,10 +13774,10 @@ func (m *TiFlashScanContext) Unmarshal(dAtA []byte) error { break } } - m.TotalVectorIdxReadVecTimeMs = &v - case 108: + m.FtsBruteTotalReadMs = &v + case 174: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field TotalVectorIdxReadOthersTimeMs", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field FtsBruteTotalSearchMs", wireType) } var v uint64 for shift := uint(0); ; shift += 7 { @@ -12098,7 +13794,7 @@ func (m *TiFlashScanContext) Unmarshal(dAtA []byte) error { break } } - m.TotalVectorIdxReadOthersTimeMs = &v + m.FtsBruteTotalSearchMs = &v default: iNdEx = preIndex skippy, err := skipExecutor(dAtA[iNdEx:]) @@ -13622,291 +15318,332 @@ var ( func init() { proto.RegisterFile("executor.proto", fileDescriptorExecutor) } var fileDescriptorExecutor = []byte{ - // 4569 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x5a, 0x4b, 0x73, 0x1c, 0x47, - 0x72, 0x66, 0xcf, 0x03, 0x98, 0xc9, 0x79, 0xa0, 0x51, 0x00, 0xc1, 0x26, 0x28, 0x92, 0xd0, 0x2c, - 0x25, 0x61, 0x61, 0x89, 0xa2, 0x40, 0xae, 0x1e, 0xbb, 0xde, 0x95, 0xf0, 0x14, 0x87, 0x04, 0x06, - 0xd8, 0x1e, 0x2c, 0xb5, 0x07, 0x47, 0x74, 0x34, 0xba, 0x6b, 0x06, 0x45, 0x74, 0x57, 0x37, 0xfb, - 0x41, 0x0e, 0x74, 0xd2, 0xd9, 0x27, 0x87, 0x37, 0xec, 0xf0, 0xcd, 0x11, 0x3e, 0xd9, 0x61, 0x87, - 0x0f, 0xfe, 0x03, 0xf6, 0x71, 0x8f, 0xbe, 0x7a, 0x0f, 0x0e, 0x87, 0x7c, 0xf2, 0x5f, 0xf0, 0xc9, - 0x51, 0x59, 0xd5, 0x3d, 0x3d, 0x98, 0x01, 0x44, 0x85, 0x7d, 0xf0, 0x69, 0xa6, 0x32, 0xbf, 0xcc, - 0x7a, 0x65, 0x66, 0x65, 0x65, 0x17, 0xb4, 0xe9, 0x88, 0x3a, 0x69, 0x12, 0x44, 0x0f, 0xc3, 0x28, - 0x48, 0x02, 0x52, 0x49, 0x58, 0x78, 0xba, 0xaa, 0xd3, 0x51, 0x18, 0xd1, 0x38, 0x66, 0x01, 0x97, - 0xf4, 0xd5, 0x66, 0xec, 0x9c, 0x51, 0xdf, 0x56, 0xad, 0xe5, 0x61, 0x30, 0x0c, 0xf0, 0xef, 0xc7, - 0xe2, 0x9f, 0xa4, 0x76, 0xfe, 0xae, 0x0e, 0xb5, 0x3d, 0xa5, 0x8e, 0x3c, 0x80, 0x52, 0x12, 0x1a, - 0xda, 0x9a, 0xb6, 0xde, 0xde, 0x6c, 0x3f, 0x14, 0x5a, 0x1f, 0x0a, 0xde, 0xc9, 0x45, 0x48, 0xb7, - 0x2b, 0xbf, 0xff, 0xf7, 0xfb, 0x37, 0xcc, 0x52, 0x12, 0x92, 0x0d, 0xa8, 0x25, 0xa7, 0x9e, 0x15, - 0x3b, 0x36, 0x37, 0x4a, 0x6b, 0xda, 0x7a, 0x63, 0x73, 0x41, 0x62, 0x4f, 0xec, 0x53, 0x8f, 0xf6, - 0x1d, 0x9b, 0x9b, 0xf3, 0xc9, 0xa9, 0x27, 0xfe, 0x08, 0x2c, 0x73, 0x47, 0x12, 0x5b, 0x2e, 0x62, - 0xbb, 0xdc, 0xa5, 0x23, 0x89, 0x65, 0x2e, 0xfe, 0x21, 0x1f, 0x41, 0x3d, 0xa6, 0x1e, 0x75, 0x12, - 0x16, 0x70, 0xa3, 0x52, 0x04, 0xf7, 0x33, 0xb2, 0x39, 0x46, 0x90, 0xc7, 0xd0, 0xb0, 0x87, 0xc3, - 0x88, 0x0e, 0x6d, 0x14, 0xa8, 0xa2, 0xc0, 0xa2, 0x14, 0xd8, 0x1a, 0x33, 0xcc, 0x22, 0x8a, 0xdc, - 0x83, 0x4a, 0x12, 0x84, 0x3d, 0x63, 0x0e, 0xd1, 0xa0, 0xc6, 0x1d, 0x84, 0x3d, 0x13, 0xe9, 0xe4, - 0x5d, 0xa8, 0x7a, 0xcc, 0x67, 0x89, 0x31, 0x8f, 0x80, 0x86, 0x04, 0x1c, 0x08, 0x92, 0x29, 0x39, - 0x64, 0x07, 0x16, 0xe9, 0xc8, 0x39, 0xb3, 0xf9, 0x90, 0x5a, 0x11, 0x75, 0x28, 0x7b, 0x4d, 0x23, - 0xa3, 0x86, 0xf0, 0x95, 0x6c, 0xcd, 0x24, 0xdb, 0x54, 0x5c, 0x53, 0xa7, 0x97, 0x28, 0x62, 0x1c, - 0x2f, 0x03, 0xc6, 0x8d, 0x7a, 0x71, 0x1c, 0xcf, 0x02, 0xc6, 0x4d, 0xa4, 0x93, 0xfb, 0xd0, 0xc8, - 0x36, 0xd9, 0x62, 0xae, 0x01, 0x6b, 0xda, 0x7a, 0xdd, 0x84, 0x8c, 0xd4, 0x75, 0x85, 0x82, 0x73, - 0xe6, 0x79, 0x46, 0xa3, 0xa8, 0xe0, 0x39, 0xf3, 0x3c, 0x13, 0xe9, 0xe4, 0x97, 0xb0, 0x90, 0x8f, - 0x32, 0xa6, 0xdc, 0xa5, 0x91, 0xd1, 0x44, 0xe8, 0xf2, 0xe4, 0x18, 0xfb, 0xc8, 0x33, 0xdb, 0x74, - 0xa2, 0x4d, 0x1e, 0x01, 0x1c, 0x47, 0xc1, 0x4b, 0xb5, 0x19, 0x2d, 0x94, 0xd4, 0xa5, 0xe4, 0x98, - 0x6e, 0x16, 0x30, 0xe4, 0x19, 0x2c, 0x87, 0x76, 0x94, 0x30, 0xd1, 0xb0, 0x12, 0x61, 0x09, 0x72, - 0xd7, 0xdb, 0x28, 0x6b, 0x28, 0xd9, 0x0c, 0x31, 0x36, 0x15, 0x12, 0x4e, 0xd1, 0xc4, 0xe4, 0xe2, - 0x20, 0x4a, 0x8c, 0x85, 0xe2, 0xe4, 0xfa, 0x41, 0x94, 0x98, 0x48, 0x27, 0x0f, 0x60, 0xee, 0x0d, - 0xe3, 0x6e, 0xf0, 0xc6, 0xd0, 0x11, 0xd1, 0x94, 0x88, 0x6f, 0x90, 0x66, 0x2a, 0x1e, 0xe9, 0xc1, - 0xbb, 0x03, 0xc6, 0xa9, 0x35, 0x8c, 0x6c, 0xc6, 0xa9, 0x6b, 0xc5, 0x67, 0xe9, 0x60, 0x20, 0x86, - 0x95, 0x44, 0xd4, 0xf6, 0x2d, 0x27, 0x48, 0x79, 0x62, 0x2c, 0xae, 0x69, 0xeb, 0x15, 0x65, 0xdc, - 0x77, 0x05, 0xfc, 0x6b, 0x89, 0xee, 0x4b, 0x70, 0x1f, 0xb1, 0x3b, 0x02, 0x4a, 0x9e, 0xc1, 0xfd, - 0x99, 0xfa, 0x4e, 0xed, 0xc4, 0x39, 0xb3, 0x62, 0xf6, 0x2d, 0x35, 0x48, 0x41, 0xdb, 0x9d, 0x69, - 0x6d, 0xdb, 0x02, 0xd9, 0x67, 0xdf, 0x52, 0x31, 0x03, 0x3a, 0x0a, 0x6d, 0xee, 0x1a, 0x4b, 0xc5, - 0x19, 0xec, 0x21, 0xcd, 0x54, 0x3c, 0xf2, 0x01, 0xcc, 0xcb, 0x7f, 0x9b, 0xc6, 0x32, 0xc2, 0x5a, - 0x45, 0xd8, 0xa6, 0x99, 0x71, 0xc5, 0x6e, 0x9f, 0x46, 0x81, 0xed, 0x3a, 0x76, 0x9c, 0x58, 0xaf, - 0x52, 0x1a, 0x5d, 0x18, 0x37, 0x8b, 0xbb, 0xbd, 0x9d, 0x31, 0x7f, 0x2d, 0x78, 0x66, 0xfb, 0x74, - 0xa2, 0x4d, 0x9e, 0x40, 0x93, 0x09, 0x7f, 0xb4, 0xbc, 0x20, 0x38, 0x4f, 0x43, 0xc3, 0x28, 0xfa, - 0x12, 0x7a, 0xea, 0x41, 0x10, 0x9c, 0xff, 0x26, 0x34, 0x1b, 0x2c, 0x6b, 0xa4, 0x21, 0xb9, 0x0b, - 0x10, 0xda, 0x11, 0xe5, 0x89, 0xc5, 0xdc, 0x91, 0x71, 0x7b, 0x4d, 0x5b, 0x6f, 0x99, 0x75, 0x49, - 0xe9, 0xba, 0x23, 0x72, 0x0c, 0x2b, 0x74, 0x14, 0x7a, 0x36, 0xe3, 0xd6, 0x20, 0x88, 0x2c, 0x27, - 0xe0, 0x5c, 0x99, 0xd3, 0x2a, 0xaa, 0x5f, 0xcd, 0xe7, 0x22, 0x30, 0xfb, 0x41, 0xb4, 0x93, 0x23, - 0xcc, 0x65, 0x3a, 0x83, 0xda, 0xf9, 0x87, 0x32, 0xb4, 0x27, 0xed, 0x96, 0xac, 0x17, 0x22, 0x16, - 0x99, 0xb4, 0xec, 0xa9, 0xa8, 0xb5, 0x48, 0xb9, 0x13, 0xb8, 0xd4, 0xb5, 0x12, 0x3b, 0x3e, 0xb7, - 0x7c, 0x9a, 0xd8, 0x46, 0x69, 0xad, 0xbc, 0xde, 0x34, 0x17, 0x14, 0xe3, 0xc4, 0x8e, 0xcf, 0x0f, - 0x69, 0x62, 0x93, 0x4f, 0xa0, 0x3d, 0xb6, 0xe5, 0x73, 0x7a, 0x11, 0x1b, 0xe5, 0xb5, 0xf2, 0xd8, - 0x12, 0xf7, 0x46, 0x61, 0x64, 0xb6, 0x72, 0xc4, 0x73, 0x7a, 0x11, 0x93, 0x07, 0x50, 0x75, 0xce, - 0x98, 0xe7, 0xaa, 0xc0, 0x55, 0x88, 0x9e, 0xc2, 0x61, 0x4d, 0xc9, 0x24, 0xef, 0x41, 0x35, 0xb9, - 0x08, 0x69, 0x6c, 0x54, 0x51, 0x9f, 0x0a, 0x6f, 0xfb, 0x8c, 0x7a, 0xae, 0x18, 0xae, 0x29, 0xb9, - 0xe4, 0x33, 0x58, 0xb0, 0x3d, 0xcf, 0x1a, 0x08, 0xba, 0x25, 0x05, 0xe6, 0x66, 0x0b, 0xb4, 0x6c, - 0xcf, 0xcb, 0x5b, 0x31, 0xf9, 0x25, 0x34, 0x9c, 0xc0, 0xcf, 0x8e, 0x01, 0x0c, 0x62, 0xed, 0xcd, - 0x9b, 0x52, 0x68, 0x67, 0xcc, 0x38, 0x0c, 0xdc, 0x6c, 0x69, 0x8a, 0x78, 0x72, 0x00, 0x2b, 0x69, - 0x98, 0xb9, 0x47, 0x42, 0x0b, 0x0b, 0x55, 0xc3, 0xee, 0x6f, 0xa9, 0x59, 0xc9, 0xe5, 0xda, 0xbe, - 0x48, 0x68, 0xdc, 0xf7, 0x98, 0x43, 0xcd, 0xa5, 0x4c, 0x6c, 0x27, 0xa1, 0xd9, 0x2a, 0x76, 0xfe, - 0x54, 0x83, 0x46, 0xc1, 0x78, 0xc8, 0x23, 0x58, 0x96, 0x56, 0x76, 0x66, 0x73, 0xd7, 0xa3, 0x56, - 0x30, 0x18, 0xc4, 0x34, 0x89, 0x0d, 0x6d, 0xad, 0xbc, 0xde, 0x32, 0x09, 0xf2, 0x9e, 0x22, 0xeb, - 0x48, 0x72, 0x84, 0x85, 0x9d, 0x53, 0x1a, 0x5a, 0x41, 0x24, 0xe2, 0x97, 0x38, 0x6b, 0x6a, 0x66, - 0x5d, 0x50, 0x8e, 0x04, 0x41, 0x1c, 0x2e, 0xb8, 0xac, 0x11, 0xe5, 0x6a, 0x83, 0x2e, 0x2f, 0x7b, - 0xce, 0xef, 0x7c, 0x0e, 0x8b, 0x53, 0xc3, 0x26, 0x3f, 0x81, 0x56, 0xd1, 0x26, 0xe4, 0x50, 0x9a, - 0x66, 0xb3, 0x60, 0x0f, 0x71, 0xe7, 0x0f, 0x1a, 0xe8, 0x97, 0x23, 0xfa, 0x6c, 0x6b, 0xd2, 0x66, - 0x5b, 0xd3, 0x23, 0x68, 0x14, 0x77, 0xb2, 0x34, 0x7b, 0x27, 0x61, 0x30, 0xde, 0xc6, 0x0e, 0x5a, - 0x75, 0xf9, 0x2a, 0xab, 0x46, 0x7b, 0xde, 0x85, 0xfb, 0x41, 0xc4, 0x86, 0x8c, 0xdb, 0x1e, 0xee, - 0x55, 0x18, 0xb9, 0x81, 0x93, 0xd2, 0xa8, 0x30, 0x9e, 0x0a, 0x8e, 0xe7, 0x4e, 0x06, 0xdb, 0x49, - 0xe8, 0xb1, 0x02, 0xe5, 0x7b, 0xf4, 0xbb, 0x32, 0x34, 0xb7, 0x7a, 0x3d, 0x0c, 0x03, 0x5d, 0x3e, - 0x08, 0xc8, 0x67, 0x00, 0x18, 0x3f, 0x70, 0xb0, 0x93, 0x8e, 0x95, 0xe1, 0x0a, 0x8e, 0x55, 0x7f, - 0x95, 0x11, 0x48, 0x17, 0x16, 0x5c, 0x16, 0x27, 0x36, 0x77, 0xa8, 0xe8, 0x3d, 0x62, 0x0e, 0x6e, - 0x58, 0x3b, 0xf3, 0xf3, 0x17, 0xd4, 0x49, 0x82, 0x68, 0x57, 0x41, 0x0e, 0x11, 0xa1, 0xb4, 0xb4, - 0xdd, 0x09, 0x2a, 0xb9, 0x0d, 0xd5, 0x24, 0x08, 0xad, 0x73, 0x5c, 0x81, 0x96, 0x02, 0x89, 0xf3, - 0xf9, 0x39, 0x79, 0x4f, 0x18, 0xb8, 0x97, 0xfa, 0xdc, 0xe2, 0xb6, 0x4f, 0xd1, 0xd9, 0xea, 0x0a, - 0x00, 0x92, 0xd1, 0xb3, 0x7d, 0x4a, 0xde, 0x85, 0xba, 0x82, 0x31, 0x17, 0x33, 0x83, 0xb2, 0x02, - 0xd5, 0x24, 0x19, 0x0f, 0xd0, 0x46, 0x44, 0x07, 0xd6, 0x6b, 0xea, 0x58, 0x83, 0xc7, 0x9b, 0x98, - 0x10, 0x34, 0xcd, 0x7a, 0x44, 0x07, 0x2f, 0xa8, 0xb3, 0xff, 0x78, 0x93, 0xdc, 0x87, 0x9a, 0xb4, - 0x56, 0xe6, 0xe2, 0xe9, 0x9e, 0x69, 0x98, 0x47, 0x6a, 0x57, 0x04, 0xe7, 0xa6, 0x6f, 0x8f, 0xac, - 0x6c, 0xec, 0x78, 0x46, 0x6b, 0x99, 0x57, 0xf9, 0xf6, 0x28, 0x9b, 0x2a, 0xd9, 0x80, 0xf6, 0x19, - 0x8f, 0xdf, 0x58, 0x74, 0x60, 0xc5, 0xd4, 0x8e, 0x9c, 0x33, 0x0c, 0xe6, 0xd9, 0xbc, 0x9a, 0x82, - 0xb7, 0x37, 0xe8, 0x23, 0xe7, 0x59, 0xa5, 0x36, 0xaf, 0xd7, 0x3a, 0xdf, 0x55, 0xa1, 0x3e, 0x3e, - 0x0d, 0xef, 0x43, 0x4d, 0x9e, 0xa7, 0xcc, 0xc5, 0x0d, 0xc9, 0x47, 0x82, 0xd4, 0xae, 0x4b, 0x36, - 0x60, 0x5e, 0x4e, 0x2b, 0x33, 0x2e, 0x3d, 0xf3, 0x78, 0x9c, 0x2b, 0x1f, 0x04, 0x66, 0x06, 0x20, - 0x06, 0x54, 0x5c, 0x1a, 0x3b, 0xb8, 0xb4, 0xb5, 0x6c, 0x69, 0x05, 0x85, 0x7c, 0x08, 0x24, 0x8c, - 0x98, 0x6f, 0x47, 0x17, 0x56, 0xbe, 0x76, 0x31, 0xda, 0x50, 0xd9, 0xd4, 0x15, 0x47, 0x69, 0x74, - 0x63, 0xf2, 0x15, 0xe8, 0x9c, 0x8e, 0x12, 0x2b, 0xa2, 0xb6, 0x6b, 0x51, 0x3e, 0x64, 0x9c, 0xe2, - 0x42, 0xb7, 0xb3, 0xce, 0xf7, 0x90, 0x56, 0xb0, 0x95, 0xb6, 0xc0, 0x9b, 0xd4, 0x76, 0x25, 0x87, - 0x7c, 0x08, 0x73, 0x91, 0xb0, 0xe8, 0x2c, 0xb6, 0x29, 0xdf, 0x7d, 0x4e, 0x2f, 0x4c, 0x41, 0x56, - 0x52, 0x0a, 0x43, 0xbe, 0x80, 0xdb, 0xd9, 0xe8, 0xc2, 0x88, 0x0e, 0xd8, 0xa8, 0x38, 0xc8, 0x79, - 0x1c, 0xe4, 0x8a, 0x02, 0x1c, 0x23, 0x7f, 0x3c, 0xd4, 0xc9, 0x28, 0x52, 0xbb, 0x1c, 0x45, 0xd6, - 0xa0, 0xc9, 0x62, 0x6b, 0x20, 0x4e, 0x4e, 0x4c, 0x58, 0xea, 0x08, 0x00, 0x16, 0xef, 0xdb, 0x71, - 0x82, 0x1b, 0x70, 0x08, 0x77, 0xc3, 0x34, 0x3e, 0xa3, 0xae, 0xe5, 0x06, 0x6f, 0xb8, 0x35, 0x60, - 0x5e, 0x42, 0xf1, 0x40, 0x73, 0x31, 0xfe, 0xc7, 0x06, 0x4c, 0x9d, 0x0e, 0xab, 0x52, 0x60, 0x37, - 0x78, 0xc3, 0xf7, 0x11, 0xbe, 0x93, 0xa3, 0xc9, 0x0e, 0x2c, 0x45, 0x29, 0x4f, 0x98, 0x4f, 0x33, - 0x55, 0x1e, 0x8b, 0x13, 0xa3, 0x81, 0x4a, 0x96, 0xa4, 0x12, 0x53, 0x02, 0xa4, 0xac, 0xb9, 0x18, - 0x15, 0x9b, 0x07, 0x2c, 0x4e, 0xc8, 0x47, 0xa0, 0x0b, 0xeb, 0x7b, 0x63, 0xb3, 0xc4, 0x42, 0x55, - 0x7e, 0x8c, 0x09, 0x5e, 0x55, 0xad, 0x5b, 0xcb, 0xb7, 0x47, 0xdf, 0xd8, 0x2c, 0x39, 0x61, 0x3e, - 0x3d, 0x8c, 0xc9, 0xc7, 0x50, 0xb7, 0x39, 0x57, 0xa9, 0x81, 0x4c, 0xe7, 0x2e, 0x79, 0x35, 0x9a, - 0x49, 0xcd, 0xe6, 0x1c, 0x5b, 0x9d, 0xbf, 0xae, 0x00, 0x99, 0xce, 0xd6, 0xfe, 0x7f, 0xda, 0xe2, - 0xb5, 0xb6, 0x51, 0xbd, 0xd6, 0x36, 0x7e, 0x02, 0xe3, 0x73, 0x1c, 0xe1, 0x73, 0x08, 0x6f, 0xe6, - 0x44, 0x01, 0xba, 0x6c, 0x21, 0xf3, 0x3f, 0xde, 0x42, 0x6a, 0xff, 0x17, 0x16, 0x52, 0xff, 0x5f, - 0x5b, 0x08, 0xbc, 0xa5, 0x85, 0x34, 0xde, 0xc2, 0x42, 0xfe, 0xbb, 0x0a, 0x15, 0x71, 0x63, 0x21, - 0x9f, 0x40, 0x5d, 0xdc, 0x59, 0x8a, 0x27, 0x46, 0x7b, 0x7c, 0xa1, 0x29, 0x44, 0x80, 0xda, 0x4b, - 0xd5, 0x26, 0xbf, 0x82, 0x36, 0x8a, 0x88, 0x0b, 0x8d, 0x94, 0x2b, 0x15, 0x4f, 0x1a, 0x21, 0x77, - 0xe9, 0xe2, 0xd9, 0x7c, 0x59, 0xa0, 0xfd, 0x98, 0x93, 0x5f, 0x9c, 0x05, 0x8c, 0x73, 0x1a, 0x61, - 0x96, 0x5a, 0x29, 0x9e, 0x05, 0x48, 0x16, 0xa9, 0xea, 0x23, 0x68, 0x7b, 0x74, 0x90, 0x58, 0x38, - 0x26, 0xcc, 0xf7, 0xaa, 0x53, 0xfb, 0xd5, 0x14, 0x08, 0x31, 0x30, 0x4c, 0xf7, 0x36, 0x61, 0x21, - 0x62, 0xc3, 0xb3, 0xa2, 0xc8, 0xdc, 0x74, 0x8a, 0x88, 0x90, 0x5c, 0xe6, 0x11, 0x34, 0xc2, 0x28, - 0x38, 0xa5, 0x2a, 0x0f, 0x98, 0xbf, 0x22, 0x0f, 0x40, 0x8c, 0xcc, 0x03, 0x1e, 0x41, 0xe3, 0x34, - 0x65, 0x79, 0xe6, 0x50, 0xbb, 0x42, 0x02, 0x31, 0x52, 0xe2, 0x31, 0x2c, 0xe0, 0x4c, 0x0a, 0xa6, - 0x57, 0x9f, 0x1a, 0x17, 0x4e, 0xb6, 0x60, 0x6e, 0x3f, 0x03, 0x5d, 0x4e, 0xe6, 0xda, 0x90, 0x26, - 0x27, 0x3c, 0x29, 0x16, 0x24, 0x67, 0x93, 0x76, 0xde, 0x98, 0x16, 0x43, 0x4c, 0x41, 0xec, 0x29, - 0xdc, 0x91, 0x62, 0xf4, 0x55, 0x41, 0xd2, 0x1a, 0x44, 0x81, 0x6f, 0x31, 0x6e, 0x34, 0xa7, 0x34, - 0xdc, 0x42, 0xf8, 0xde, 0xab, 0xb1, 0x8e, 0xfd, 0x28, 0xf0, 0xbb, 0x9c, 0x3c, 0x81, 0x5b, 0x2c, - 0xb6, 0x78, 0xea, 0x79, 0x96, 0xfd, 0xc6, 0x8e, 0xc4, 0x45, 0xd7, 0x67, 0xb8, 0x23, 0x18, 0xe2, - 0x6a, 0xe6, 0x12, 0x8b, 0x7b, 0xa9, 0xe7, 0x6d, 0x09, 0x66, 0x9f, 0xfa, 0x0c, 0xcd, 0xf5, 0x0a, - 0xe7, 0x6a, 0xff, 0x18, 0xe7, 0xea, 0xfc, 0x57, 0x09, 0x5a, 0x13, 0x20, 0xb2, 0x0c, 0x25, 0x15, - 0x13, 0x33, 0x07, 0x2b, 0x31, 0x97, 0x3c, 0x01, 0x3d, 0x0e, 0xd2, 0xc8, 0xa1, 0x16, 0x1d, 0x85, - 0xaa, 0xa7, 0xd2, 0xf4, 0x86, 0x48, 0x8c, 0xf8, 0x8f, 0xae, 0xfb, 0x04, 0xf4, 0xc4, 0x8e, 0x86, - 0x34, 0x29, 0x48, 0x4d, 0xdf, 0x40, 0xda, 0x12, 0x93, 0x4b, 0x6d, 0x02, 0xc9, 0xfb, 0x1a, 0x97, - 0x0e, 0x8a, 0x29, 0x92, 0x9e, 0xf5, 0x93, 0x97, 0x11, 0x36, 0x81, 0xe4, 0x3d, 0x8d, 0x65, 0xaa, - 0x45, 0x99, 0xac, 0x97, 0x5c, 0xe6, 0x53, 0x98, 0x8f, 0x06, 0xd2, 0x6b, 0xe7, 0xd0, 0x6b, 0x6f, - 0xcd, 0x58, 0xb4, 0x82, 0xeb, 0xce, 0x45, 0x03, 0x74, 0x5a, 0x29, 0xe7, 0x07, 0x2e, 0x55, 0x17, - 0x93, 0x59, 0x72, 0x85, 0xab, 0xc9, 0x5c, 0x34, 0x10, 0xad, 0xce, 0xbf, 0x69, 0x50, 0xcf, 0xcb, - 0x45, 0x3f, 0x7c, 0x02, 0x15, 0x13, 0xb7, 0xd2, 0xac, 0xc4, 0xad, 0x70, 0x44, 0x95, 0xdf, 0xf6, - 0x88, 0xaa, 0x4c, 0x1d, 0x51, 0x2b, 0x30, 0x97, 0x72, 0xf6, 0x2a, 0x95, 0x69, 0x4f, 0xcd, 0x54, - 0xad, 0x2b, 0x8e, 0xae, 0xb9, 0xd9, 0x47, 0x57, 0xe7, 0x77, 0x1a, 0xd4, 0xf3, 0xea, 0x16, 0xd9, - 0x00, 0x28, 0xf8, 0x92, 0x36, 0xb5, 0xe3, 0x05, 0x2e, 0x79, 0x02, 0xed, 0x28, 0xe4, 0x45, 0xdf, - 0x93, 0x76, 0xa5, 0x4a, 0x04, 0x66, 0xc8, 0x55, 0x0c, 0x0a, 0x79, 0xc1, 0xf9, 0xf2, 0x6b, 0x6a, - 0xf9, 0x9a, 0x6b, 0x6a, 0xe7, 0x3b, 0xad, 0x58, 0xfe, 0x21, 0x6b, 0x50, 0x15, 0x76, 0x38, 0x6b, - 0x44, 0x92, 0x41, 0x36, 0xa0, 0x2e, 0x06, 0x23, 0x51, 0x33, 0xc7, 0x51, 0x8b, 0xe4, 0x9f, 0xb7, - 0x1d, 0xc2, 0xbf, 0x94, 0xa0, 0x51, 0xa8, 0xe2, 0x91, 0xf7, 0xa0, 0x36, 0x8c, 0x82, 0x34, 0xb4, - 0x4e, 0x2f, 0x66, 0x0c, 0x63, 0x1e, 0x79, 0xdb, 0x17, 0x02, 0x66, 0x0f, 0x87, 0xd6, 0x20, 0xe5, - 0xce, 0x0c, 0x3f, 0x9b, 0xb7, 0x87, 0xc3, 0xfd, 0x94, 0x3b, 0x64, 0x0d, 0x6a, 0xf2, 0xbe, 0x4a, - 0xdd, 0x89, 0xec, 0x23, 0xa7, 0x92, 0x8f, 0xa1, 0x29, 0x66, 0x94, 0xf7, 0x59, 0x99, 0x35, 0x29, - 0x88, 0x42, 0xfe, 0xb5, 0xea, 0x59, 0x09, 0xe4, 0xbd, 0x57, 0xaf, 0x12, 0xd8, 0x52, 0x63, 0xc8, - 0xd7, 0x61, 0xee, 0xba, 0x8a, 0xc1, 0x17, 0xd0, 0x0c, 0x23, 0x8a, 0x6a, 0xa7, 0x3d, 0xe7, 0x84, - 0xed, 0x7b, 0x76, 0x7c, 0x76, 0x1c, 0xd1, 0xad, 0xe1, 0x50, 0xf8, 0x8a, 0x38, 0x3d, 0xb2, 0xff, - 0x9d, 0xbf, 0xd1, 0xa0, 0x72, 0x12, 0x84, 0x3d, 0xf2, 0x01, 0xd4, 0x30, 0xf7, 0x1d, 0xaf, 0x9d, - 0x2a, 0x37, 0x6d, 0x5f, 0x74, 0x13, 0xea, 0x9b, 0xf3, 0xc8, 0xdd, 0xbe, 0x20, 0xab, 0x59, 0xf5, - 0xb3, 0x54, 0xa8, 0x63, 0xa9, 0xb2, 0xe7, 0x5b, 0x6d, 0x9b, 0x58, 0x85, 0x71, 0x3e, 0x95, 0x2f, - 0xdb, 0x64, 0x77, 0x8d, 0x1c, 0xb1, 0x7d, 0xd1, 0xf9, 0x27, 0x0d, 0xaa, 0x58, 0x5e, 0x1d, 0x77, - 0xae, 0x5d, 0xd3, 0x79, 0xe9, 0xc7, 0x74, 0x5e, 0xfe, 0x81, 0xce, 0xc9, 0xa7, 0xb0, 0x98, 0x44, - 0x29, 0x77, 0xec, 0x84, 0x8a, 0x33, 0x1c, 0xed, 0x57, 0x0d, 0x79, 0xe2, 0x08, 0xcb, 0x40, 0xcf, - 0xe9, 0x85, 0x20, 0x74, 0xbe, 0x82, 0xca, 0x73, 0xe6, 0x79, 0xe4, 0x1d, 0x98, 0x73, 0x02, 0xce, - 0xbb, 0xbb, 0x13, 0x63, 0x56, 0x34, 0x31, 0x21, 0x99, 0x4d, 0x95, 0x0a, 0x16, 0x26, 0x49, 0x9d, - 0x2d, 0x58, 0x9e, 0x55, 0xf8, 0x22, 0x3f, 0x85, 0xd6, 0xb8, 0x50, 0x96, 0x85, 0xb8, 0x4c, 0x71, - 0x73, 0xcc, 0xea, 0xba, 0x9d, 0xbf, 0x2f, 0x83, 0x91, 0xad, 0x80, 0xfc, 0x65, 0x01, 0xef, 0xa7, - 0xbe, 0x08, 0x30, 0x64, 0x03, 0x16, 0xf1, 0x84, 0x0b, 0xa3, 0xc0, 0xa1, 0x71, 0x4c, 0x5d, 0x0b, - 0x03, 0x8a, 0xb6, 0x5e, 0x31, 0x17, 0x04, 0xe3, 0x38, 0xa3, 0xf7, 0x84, 0xf3, 0x2e, 0xf2, 0xd4, - 0x17, 0x50, 0x37, 0x75, 0xa8, 0x6b, 0x45, 0xc1, 0x9b, 0x58, 0x5a, 0x80, 0xb9, 0xc0, 0x53, 0xff, - 0x58, 0xd1, 0xcd, 0xe0, 0x4d, 0x4c, 0xde, 0x83, 0xb6, 0xc0, 0xb2, 0x84, 0x46, 0xb6, 0x8c, 0x3a, - 0x65, 0x04, 0xb6, 0x78, 0xea, 0x77, 0x73, 0xe2, 0xe5, 0xf2, 0x75, 0x65, 0xaa, 0x7c, 0xbd, 0x26, - 0xee, 0xf1, 0xdc, 0x49, 0xa3, 0x88, 0x72, 0xe7, 0x02, 0x43, 0x68, 0xc5, 0x2c, 0x92, 0xc8, 0x01, - 0x2c, 0x27, 0x6c, 0x20, 0xcc, 0x1b, 0x93, 0x6e, 0x11, 0xe8, 0x12, 0x3a, 0x4a, 0x94, 0xb7, 0x18, - 0x13, 0x0e, 0x20, 0x0e, 0x86, 0x1d, 0xc9, 0x7f, 0x7a, 0xc3, 0x24, 0x4a, 0xae, 0x40, 0x15, 0xe3, - 0x8e, 0x52, 0xa1, 0x23, 0x4e, 0xfd, 0x30, 0xc9, 0x6a, 0x63, 0x4d, 0xb3, 0x15, 0xa5, 0x3b, 0x63, - 0x22, 0x79, 0x36, 0xee, 0x14, 0xf3, 0xe6, 0x58, 0x2e, 0xa7, 0x2a, 0xef, 0x4f, 0x76, 0x2a, 0x72, - 0x67, 0xb5, 0xdc, 0x79, 0x97, 0x05, 0xda, 0x76, 0x13, 0x60, 0x97, 0x26, 0x36, 0xf3, 0xc4, 0x89, - 0xd2, 0x19, 0xc2, 0xb2, 0x92, 0xcb, 0xf7, 0x0a, 0xeb, 0x2d, 0x47, 0xb0, 0x44, 0x33, 0x82, 0xea, - 0x8e, 0xd1, 0x2c, 0xd2, 0xde, 0x9b, 0xb4, 0xf3, 0xcb, 0xbb, 0x6c, 0x12, 0x3a, 0x49, 0x61, 0x34, - 0xee, 0xfc, 0x09, 0xac, 0xaa, 0x8e, 0x4c, 0x3a, 0x64, 0x01, 0xef, 0xa5, 0xfe, 0xd1, 0xa0, 0xcb, - 0x55, 0x2d, 0xe2, 0x3e, 0x34, 0x98, 0xfa, 0x9f, 0x59, 0x57, 0xdd, 0x84, 0x8c, 0xd4, 0x75, 0xc5, - 0x65, 0x39, 0x42, 0x39, 0x8b, 0xa7, 0xbe, 0xb2, 0x82, 0x7a, 0x94, 0x69, 0xea, 0xfc, 0x33, 0x01, - 0x32, 0xbd, 0xe8, 0xe4, 0x09, 0x2c, 0xbb, 0xfe, 0x80, 0xa9, 0x9a, 0x3f, 0xa7, 0xae, 0x15, 0xda, - 0xce, 0xb9, 0xb2, 0xb8, 0xed, 0x92, 0xa1, 0x99, 0x44, 0xf2, 0xfb, 0x92, 0x7d, 0x2c, 0xb8, 0x45, - 0xa9, 0x73, 0x16, 0x86, 0xb9, 0x54, 0x69, 0x4a, 0x4a, 0xb2, 0xa5, 0xd4, 0x67, 0x60, 0x28, 0x29, - 0xd7, 0x4e, 0xec, 0xbc, 0x43, 0xb4, 0x5a, 0x69, 0x8c, 0x37, 0x25, 0x7f, 0xd7, 0x4e, 0x6c, 0xd5, - 0x1f, 0xda, 0xee, 0x65, 0x41, 0xd5, 0x27, 0x0a, 0x56, 0xa6, 0x04, 0x25, 0x17, 0x05, 0x3f, 0x87, - 0x5b, 0x49, 0x90, 0xd8, 0x9e, 0xa5, 0xc4, 0xa3, 0xd8, 0xf2, 0x02, 0xdb, 0x15, 0x17, 0xaa, 0x6a, - 0x3e, 0xd4, 0x25, 0x84, 0xec, 0x22, 0xc2, 0x8c, 0x0f, 0x02, 0xdb, 0xc5, 0x4b, 0xd5, 0xf2, 0xa4, - 0x24, 0x95, 0x62, 0x73, 0xd8, 0xdd, 0x62, 0x51, 0x84, 0xa2, 0xc0, 0xcf, 0xb2, 0xae, 0x64, 0xde, - 0x1f, 0x73, 0x3b, 0x8c, 0xcf, 0x82, 0x44, 0xc8, 0xcc, 0xa3, 0x8c, 0xd4, 0xb7, 0x2d, 0xb8, 0x7d, - 0xc5, 0x3c, 0xc4, 0x6b, 0xac, 0x17, 0x38, 0xb6, 0x67, 0xc9, 0x9d, 0x8a, 0xd1, 0x60, 0x2b, 0x66, - 0x13, 0x89, 0xd2, 0x0e, 0xd0, 0x77, 0x23, 0xea, 0x07, 0x09, 0xcd, 0x51, 0x75, 0xe9, 0xbb, 0x92, - 0x9a, 0xc1, 0xde, 0x87, 0x85, 0x34, 0xa6, 0x91, 0x1c, 0xeb, 0xe9, 0x45, 0x42, 0xe5, 0xb5, 0xb1, - 0x62, 0xb6, 0x04, 0x59, 0x8c, 0x13, 0x2b, 0xa8, 0xe4, 0x13, 0xb8, 0x29, 0x87, 0xea, 0x51, 0x3b, - 0xe2, 0x99, 0x80, 0x1f, 0xe3, 0xe5, 0xb1, 0x62, 0x12, 0x64, 0x1e, 0x48, 0x9e, 0x9a, 0xdd, 0x1f, - 0xc3, 0x1d, 0x97, 0xc5, 0xe2, 0x2c, 0x43, 0xac, 0x63, 0x3b, 0x67, 0xd4, 0x3a, 0x63, 0x89, 0xea, - 0xa6, 0x89, 0x82, 0xb7, 0x24, 0x44, 0x88, 0xec, 0x08, 0xc0, 0x53, 0x96, 0xc8, 0x0e, 0x7f, 0x05, - 0xef, 0x4c, 0x4b, 0xfb, 0x2c, 0x8e, 0x95, 0x78, 0x0b, 0xc5, 0x8d, 0x4b, 0xe2, 0x87, 0x2c, 0x8e, - 0xa5, 0xfc, 0xa7, 0x60, 0x5c, 0xde, 0x46, 0xe7, 0x8c, 0x3a, 0xe7, 0x62, 0xcc, 0xed, 0xc2, 0xe2, - 0x66, 0x7b, 0xb8, 0x23, 0x98, 0x87, 0xb1, 0xc8, 0xe8, 0xe2, 0xc4, 0xce, 0x76, 0x2f, 0x5b, 0xbb, - 0x05, 0x94, 0xd0, 0x91, 0x23, 0x3a, 0xcb, 0x96, 0x6f, 0x15, 0x6a, 0x31, 0x1d, 0xfa, 0x94, 0x27, - 0x31, 0x7e, 0x9d, 0xaa, 0x98, 0x79, 0x5b, 0x3a, 0x97, 0x9d, 0x15, 0x9b, 0x17, 0x33, 0xe7, 0xb2, - 0x65, 0xa5, 0x59, 0xb0, 0x5d, 0xea, 0x25, 0xb6, 0x34, 0x49, 0x22, 0xd9, 0x48, 0x41, 0x33, 0xbc, - 0x0f, 0x0d, 0xc9, 0x96, 0xd3, 0x5d, 0x42, 0xbe, 0x94, 0x90, 0x13, 0x7c, 0x1f, 0x16, 0xfc, 0xd7, - 0x8e, 0x63, 0x31, 0x1e, 0xa6, 0x89, 0x54, 0xb2, 0x2c, 0x77, 0x4e, 0x90, 0xbb, 0x82, 0x8a, 0x8a, - 0xd6, 0x41, 0x2f, 0xe0, 0xa4, 0xb6, 0x9b, 0x08, 0x6c, 0xe7, 0x40, 0xa9, 0x31, 0x43, 0x06, 0x69, - 0x92, 0xab, 0x5c, 0x19, 0x23, 0x8f, 0x90, 0x8c, 0x3a, 0xd7, 0xa0, 0xe9, 0xf9, 0xe8, 0x53, 0x12, - 0x75, 0x4b, 0x8e, 0xce, 0xf3, 0x85, 0x23, 0x21, 0xe2, 0x17, 0xb0, 0x5a, 0x34, 0x6d, 0xec, 0x5c, - 0x7d, 0x6b, 0xf0, 0x63, 0xfc, 0xe4, 0x54, 0x31, 0x6f, 0x8d, 0xad, 0xbb, 0x3b, 0xe6, 0x1f, 0x16, - 0x8c, 0x4d, 0x0a, 0x9f, 0xb2, 0xc4, 0xb7, 0x43, 0x21, 0x77, 0xbb, 0x60, 0x6c, 0x28, 0xb7, 0x8d, - 0xac, 0xc3, 0x98, 0x7c, 0x04, 0x4b, 0x3e, 0xe3, 0x96, 0xf4, 0x8b, 0x71, 0x47, 0xab, 0x72, 0xdf, - 0x7c, 0xc6, 0x0f, 0x04, 0xa7, 0x9f, 0xf5, 0x20, 0xe0, 0xf6, 0x68, 0x0a, 0x7e, 0x47, 0xc1, 0xed, - 0xd1, 0x24, 0xfc, 0x63, 0x58, 0x16, 0xda, 0x95, 0x43, 0x8d, 0xf1, 0xef, 0x48, 0xcf, 0xf6, 0x19, - 0x37, 0x91, 0x35, 0x21, 0x60, 0x8f, 0xa6, 0x05, 0xee, 0x2a, 0x01, 0x7b, 0x74, 0x49, 0xe0, 0x18, - 0x96, 0x94, 0xad, 0x59, 0xc1, 0xc0, 0xca, 0x42, 0xb4, 0x71, 0x0f, 0x4f, 0x86, 0xb5, 0x89, 0xa3, - 0x68, 0x46, 0xa4, 0x37, 0x17, 0x95, 0x70, 0x21, 0xf8, 0x8f, 0x03, 0x20, 0x6e, 0xea, 0x44, 0xe4, - 0xbc, 0x5f, 0x0c, 0x80, 0x87, 0xaf, 0x1d, 0x67, 0x76, 0xe4, 0x94, 0x82, 0xc5, 0xc8, 0xb9, 0x36, - 0x25, 0x58, 0x88, 0x9c, 0x5f, 0xc1, 0x5d, 0x25, 0xe8, 0xf9, 0xd9, 0x6d, 0x7b, 0xa2, 0xdb, 0x77, - 0x51, 0xfa, 0xb6, 0x04, 0x1d, 0xf8, 0xf2, 0x0e, 0x58, 0xec, 0x7a, 0xa6, 0x86, 0x62, 0xff, 0x9d, - 0x99, 0x1a, 0x0a, 0x63, 0xf8, 0x12, 0xee, 0x4a, 0xd3, 0x79, 0x8d, 0x5f, 0x20, 0x2c, 0xe6, 0x8e, - 0x64, 0xf8, 0xc6, 0x8a, 0x43, 0xfc, 0xd8, 0x70, 0x65, 0xdc, 0x40, 0x90, 0xfc, 0x4a, 0xd1, 0x75, - 0x47, 0x22, 0x80, 0xef, 0x47, 0x81, 0xdf, 0x7f, 0x4c, 0x76, 0xe0, 0xfe, 0x35, 0x0a, 0x5c, 0x16, - 0x9f, 0x1b, 0x14, 0x55, 0xac, 0xce, 0x56, 0xb1, 0xcb, 0xe2, 0x73, 0xb2, 0x07, 0x6b, 0xd7, 0x28, - 0xc1, 0x58, 0x66, 0x0c, 0x50, 0xcb, 0x9d, 0xd9, 0x5a, 0x30, 0x98, 0x5d, 0x3d, 0x99, 0xac, 0xc2, - 0x37, 0xbc, 0x6a, 0x32, 0xaa, 0xcc, 0x37, 0x6b, 0x32, 0xf2, 0xab, 0x44, 0xae, 0xe2, 0x6c, 0xd6, - 0x64, 0xe4, 0xf7, 0x09, 0xa5, 0xe4, 0x08, 0xde, 0xbb, 0x4a, 0xc9, 0x6b, 0x16, 0xb3, 0x44, 0xa4, - 0x9b, 0x81, 0x4b, 0x63, 0x83, 0xa1, 0xaa, 0xb5, 0x59, 0xaa, 0x5e, 0x48, 0x60, 0x4f, 0xe0, 0x48, - 0x1f, 0x3e, 0xb8, 0x4a, 0xa1, 0xcb, 0x62, 0xc7, 0x8e, 0xdc, 0x5c, 0xe5, 0x4b, 0x54, 0xd9, 0x99, - 0xa5, 0x72, 0x37, 0x83, 0x4a, 0xa5, 0xfb, 0xf0, 0xee, 0x94, 0x52, 0x0c, 0xbf, 0xaf, 0xa9, 0x93, - 0x4f, 0xf6, 0x7c, 0xd6, 0x9a, 0x8b, 0x78, 0xfe, 0x82, 0x3a, 0x6a, 0xb6, 0x07, 0xf0, 0x60, 0xb6, - 0x1e, 0xac, 0x4b, 0xc5, 0xb9, 0x2a, 0x0f, 0x55, 0xdd, 0x9b, 0x56, 0x75, 0x84, 0x38, 0xa9, 0xad, - 0xf3, 0xb7, 0x5a, 0x9e, 0x41, 0x15, 0xb2, 0x45, 0xf2, 0x00, 0xda, 0x3e, 0xe3, 0x27, 0xfd, 0x23, - 0x99, 0x78, 0xe6, 0xd9, 0x7a, 0x53, 0x52, 0x05, 0xb4, 0x17, 0x93, 0xc7, 0xb0, 0x12, 0xb2, 0x90, - 0x7a, 0x8c, 0x53, 0xeb, 0x55, 0x4a, 0x53, 0x9a, 0xa3, 0x65, 0xa6, 0xb6, 0x94, 0x71, 0x7f, 0x2d, - 0x98, 0x4a, 0xe8, 0x33, 0x30, 0x72, 0xa1, 0xd3, 0x88, 0xda, 0xe7, 0x34, 0xca, 0xc5, 0x54, 0xc2, - 0x94, 0xf1, 0xb7, 0x25, 0x5b, 0x0a, 0x76, 0xbe, 0x85, 0x4a, 0x3f, 0x88, 0x12, 0xf2, 0x3e, 0xcc, - 0x9f, 0xe2, 0xed, 0x29, 0x9e, 0x7d, 0x7d, 0x54, 0x4c, 0xf2, 0x00, 0x5a, 0x2c, 0xc6, 0x8f, 0x06, - 0xb6, 0x27, 0x04, 0xd5, 0x17, 0xdb, 0x49, 0xe2, 0x5b, 0xde, 0xff, 0xff, 0xbc, 0x04, 0xba, 0x7c, - 0xcf, 0xb1, 0x1f, 0xd9, 0x3e, 0xdd, 0x0e, 0x52, 0x2e, 0x2e, 0x78, 0x95, 0x42, 0x91, 0xf9, 0x66, - 0xf1, 0xd5, 0x07, 0x02, 0x0a, 0x45, 0x27, 0x04, 0x92, 0x0e, 0xd4, 0x53, 0x7e, 0x2a, 0x58, 0xd4, - 0x9d, 0xb8, 0x86, 0x8d, 0xc9, 0x64, 0x05, 0xe6, 0xe4, 0x97, 0x68, 0xb5, 0x18, 0xaa, 0x45, 0xd6, - 0xa1, 0xee, 0xd8, 0x9e, 0x23, 0xee, 0xea, 0xf1, 0x8c, 0x4b, 0xe1, 0x98, 0x49, 0xfe, 0x08, 0x1a, - 0x03, 0x31, 0x48, 0x0b, 0xbf, 0x55, 0xa9, 0x97, 0x48, 0x13, 0x75, 0x1b, 0x64, 0xe3, 0x67, 0x2d, - 0xf2, 0x73, 0x68, 0x39, 0x7e, 0x28, 0x53, 0xd0, 0x42, 0x0d, 0x4d, 0x3d, 0x1d, 0x42, 0xcc, 0x8e, - 0x1f, 0x8a, 0x14, 0x14, 0x8b, 0xbb, 0x0d, 0x67, 0xdc, 0xe8, 0xfc, 0xa5, 0x06, 0x8d, 0xc2, 0xa2, - 0x5c, 0xb7, 0x1e, 0x08, 0x98, 0x5a, 0x8f, 0x0f, 0xa1, 0x1a, 0x27, 0xb6, 0xda, 0x99, 0xfc, 0xbd, - 0xd2, 0xe5, 0x75, 0x36, 0x25, 0x88, 0xac, 0x43, 0x99, 0xf2, 0x6c, 0x9f, 0xae, 0xc2, 0x0a, 0x48, - 0xe7, 0x0f, 0x1a, 0xcc, 0x49, 0x0e, 0xf9, 0x00, 0xea, 0x83, 0x94, 0x3b, 0x16, 0x96, 0xcd, 0xa6, - 0x2b, 0x35, 0x35, 0xc1, 0xdc, 0xa5, 0xb1, 0x33, 0x75, 0x5b, 0x2f, 0xfd, 0xd0, 0x6d, 0xbd, 0x58, - 0xc6, 0x28, 0x5f, 0x57, 0xc6, 0xf8, 0x00, 0xaa, 0xb8, 0xe0, 0xea, 0x2d, 0xc6, 0xe2, 0xd4, 0xc8, - 0x4d, 0xc9, 0x1f, 0x9b, 0x62, 0xf5, 0x3a, 0x53, 0xfc, 0x12, 0x9a, 0x58, 0xe4, 0x61, 0x7c, 0x28, - 0xa6, 0x40, 0x3e, 0x86, 0xd6, 0x50, 0xb5, 0x65, 0xc5, 0x60, 0x7a, 0x96, 0xcd, 0x61, 0x41, 0xa0, - 0xf3, 0x14, 0x1a, 0x99, 0x82, 0x3e, 0x4d, 0xc8, 0x17, 0xd0, 0x9e, 0x90, 0xcf, 0xbc, 0x4a, 0x7d, - 0xfc, 0x28, 0xf6, 0x65, 0xb6, 0x8a, 0x8a, 0xe2, 0xce, 0x77, 0x1a, 0xcc, 0xc9, 0xc7, 0x3f, 0xe4, - 0xd3, 0xc2, 0x28, 0xf2, 0x67, 0x14, 0xf9, 0x64, 0x0b, 0xfd, 0x8d, 0x07, 0xd3, 0xa7, 0x49, 0xfc, - 0x96, 0xa5, 0x14, 0x03, 0xe6, 0x5f, 0xd3, 0x08, 0x1f, 0x91, 0x48, 0xaf, 0xc8, 0x9a, 0x9d, 0x8f, - 0xa0, 0x2e, 0xc6, 0x22, 0x1f, 0x50, 0xfc, 0x60, 0x65, 0xb0, 0xf3, 0x17, 0x1a, 0xcc, 0xab, 0xe7, - 0x4a, 0xe4, 0x21, 0x40, 0x18, 0x05, 0x2f, 0x27, 0x26, 0xbd, 0x30, 0x16, 0x91, 0x4f, 0x49, 0xea, - 0x02, 0x22, 0x2b, 0x85, 0x4f, 0x60, 0x65, 0x48, 0x39, 0x8d, 0x6c, 0x71, 0xa0, 0xa8, 0x14, 0x94, - 0xdb, 0xbe, 0x7a, 0x43, 0x51, 0x37, 0x97, 0x73, 0xae, 0x4c, 0x44, 0x7b, 0x82, 0xf7, 0x96, 0xf1, - 0xe5, 0x7d, 0x68, 0x4f, 0x3e, 0x8a, 0x22, 0xcb, 0x59, 0xb9, 0x46, 0x5e, 0x8a, 0x65, 0x63, 0xe3, - 0xcf, 0xca, 0xf2, 0x7d, 0x24, 0x56, 0xb0, 0x17, 0xa1, 0x25, 0x7e, 0xf3, 0xcf, 0xa1, 0xfa, 0x8d, - 0x8c, 0x94, 0xd7, 0xa7, 0x75, 0x2d, 0x23, 0xe5, 0x65, 0x5d, 0xbd, 0x44, 0x96, 0x60, 0x41, 0x90, - 0x0a, 0x05, 0x4d, 0xbd, 0x4c, 0x9a, 0x50, 0x43, 0x6d, 0x41, 0xd8, 0xd3, 0x2b, 0xa4, 0x05, 0x75, - 0xd1, 0xc2, 0x5a, 0x98, 0x5e, 0xcd, 0x95, 0x60, 0x36, 0xb8, 0x35, 0x1c, 0xea, 0x73, 0x19, 0xfe, - 0x59, 0xc0, 0xb8, 0x3e, 0x9f, 0xb5, 0x9e, 0x33, 0xcf, 0xd3, 0x6b, 0x64, 0x05, 0x88, 0x68, 0x4d, - 0xbe, 0x8e, 0xd2, 0xeb, 0xc4, 0x80, 0xe5, 0x22, 0x3d, 0x7b, 0xbf, 0xa2, 0x03, 0x21, 0xd0, 0x16, - 0x9c, 0x71, 0x99, 0x57, 0x6f, 0x90, 0x55, 0x58, 0x41, 0xda, 0xd4, 0x77, 0x5f, 0xbd, 0x99, 0xf5, - 0x27, 0x42, 0xb8, 0xde, 0x22, 0x6d, 0x00, 0xd1, 0x92, 0x3e, 0xa5, 0xb7, 0xb3, 0xb6, 0xdc, 0x69, - 0x7d, 0x81, 0x2c, 0x40, 0x63, 0xdc, 0xde, 0xd4, 0xf5, 0x6c, 0x80, 0x93, 0x6b, 0xae, 0x2f, 0x66, - 0x2b, 0x53, 0x78, 0x27, 0xa4, 0x2f, 0x93, 0x77, 0xc0, 0x50, 0xd2, 0x53, 0x15, 0x32, 0xfd, 0xe6, - 0xc6, 0xe7, 0xd0, 0x2c, 0xbe, 0x86, 0x11, 0x7d, 0x1d, 0xdb, 0x71, 0x7c, 0x72, 0x16, 0x05, 0xe9, - 0xf0, 0x4c, 0xbf, 0x21, 0x96, 0x32, 0xef, 0x47, 0xd7, 0x48, 0x0d, 0x2a, 0x4f, 0xed, 0xf8, 0x4c, - 0x2f, 0x6d, 0xfc, 0x02, 0x16, 0x2e, 0xbd, 0x82, 0x12, 0xcc, 0xde, 0x51, 0x6f, 0x4f, 0xbf, 0x21, - 0xfe, 0xed, 0x6f, 0xf5, 0x4f, 0x74, 0x8d, 0x2c, 0x83, 0xfe, 0xb4, 0xfb, 0xf5, 0x53, 0x6b, 0xe7, - 0xe8, 0xf0, 0xd8, 0xdc, 0xeb, 0xf7, 0xbb, 0x47, 0x3d, 0xbd, 0xb4, 0xf1, 0x10, 0x60, 0xfc, 0xa6, - 0x81, 0xd4, 0xa1, 0x8a, 0x17, 0x02, 0x29, 0x78, 0xc2, 0x9e, 0xbf, 0xd0, 0x35, 0xd2, 0x80, 0x79, - 0x75, 0xb4, 0xeb, 0xa5, 0x8d, 0xc7, 0xb0, 0xa0, 0xb2, 0x00, 0x31, 0xb7, 0xe7, 0x8c, 0x8b, 0xa3, - 0x86, 0x74, 0x7b, 0x2f, 0xb6, 0x0e, 0xba, 0xbb, 0x56, 0xb7, 0xb7, 0xbb, 0xf7, 0x5b, 0xeb, 0x79, - 0xb7, 0xb7, 0x2b, 0x35, 0x3c, 0xed, 0xf5, 0xbf, 0xd1, 0xb5, 0x8d, 0x53, 0x58, 0x9e, 0xf5, 0x50, - 0x86, 0xdc, 0x81, 0x5b, 0x99, 0xe4, 0x6e, 0xb7, 0x7f, 0xb2, 0xd5, 0xdb, 0xd9, 0xb3, 0x0e, 0xf7, - 0x4e, 0xcc, 0xee, 0x8e, 0x7e, 0x83, 0xcc, 0x41, 0xe9, 0xe0, 0x13, 0x5d, 0xc3, 0xdf, 0x4d, 0xbd, - 0x44, 0x00, 0xe6, 0x76, 0x8e, 0xfa, 0xdd, 0xde, 0x9e, 0x5e, 0x16, 0x76, 0xd4, 0xed, 0xf5, 0xf6, - 0x4c, 0xeb, 0xd8, 0x3c, 0xda, 0xfd, 0xcd, 0xce, 0x89, 0x5e, 0xd9, 0xf8, 0x64, 0xfc, 0xe4, 0x07, - 0xa7, 0xb2, 0x0c, 0x7a, 0x97, 0xbf, 0xb6, 0x3d, 0xe6, 0xe6, 0x34, 0xfd, 0x86, 0x98, 0xcb, 0x91, - 0x8c, 0xa7, 0xba, 0xb6, 0xf1, 0x8f, 0x1a, 0xd4, 0xb2, 0x8f, 0xb9, 0x63, 0x93, 0xe7, 0x34, 0x42, - 0x63, 0xbc, 0x41, 0x6e, 0xc2, 0x22, 0x1a, 0x2f, 0x1d, 0x24, 0x47, 0x69, 0xa2, 0xc8, 0x5a, 0xb6, - 0xe9, 0x26, 0x1b, 0x9e, 0x15, 0xe8, 0x25, 0xa2, 0x43, 0x53, 0x7a, 0x88, 0xfc, 0x24, 0xa7, 0x97, - 0xc5, 0x18, 0xd0, 0x41, 0x78, 0xc2, 0x72, 0x6a, 0x85, 0xdc, 0x86, 0x9b, 0x13, 0x6a, 0x73, 0x56, - 0x95, 0xdc, 0x85, 0xdb, 0x99, 0xc0, 0x34, 0x7b, 0x6e, 0x63, 0x0d, 0x9a, 0xc5, 0x8f, 0xc8, 0x59, - 0x8f, 0xc2, 0x0e, 0xe4, 0x90, 0x37, 0x7e, 0x0e, 0x8b, 0x53, 0x1f, 0xac, 0xc4, 0x0a, 0x76, 0x7b, - 0x72, 0xf2, 0x87, 0xdd, 0x9e, 0x75, 0xb8, 0xf5, 0x5b, 0x5d, 0x13, 0xb2, 0xdb, 0x07, 0x47, 0x47, - 0x87, 0xd6, 0x7e, 0xf7, 0xe0, 0x64, 0xcf, 0xd4, 0x4b, 0x1b, 0x1b, 0x97, 0x64, 0xd1, 0x92, 0x84, - 0x45, 0x1c, 0xed, 0x6c, 0x1d, 0xe8, 0x37, 0xc4, 0x06, 0x7c, 0x7d, 0x70, 0xb4, 0xbd, 0x75, 0xa0, - 0x6b, 0x1b, 0xdb, 0xb0, 0x38, 0x55, 0xa6, 0x17, 0x26, 0xbb, 0x1f, 0x44, 0x0e, 0x95, 0x24, 0x69, - 0x01, 0x5b, 0x69, 0x12, 0xe8, 0x9a, 0xf0, 0x4b, 0x64, 0x49, 0xcf, 0x67, 0x7c, 0xa8, 0x97, 0x36, - 0xbe, 0x84, 0x85, 0x4b, 0x59, 0x8e, 0xb0, 0xf1, 0xfd, 0xc0, 0xf3, 0x82, 0x37, 0x02, 0x81, 0x26, - 0x7f, 0x1c, 0x51, 0x87, 0xba, 0xa2, 0xa9, 0x09, 0x77, 0xdc, 0xc1, 0x42, 0xaa, 0xb8, 0x9c, 0xeb, - 0xa5, 0x8d, 0x23, 0xd0, 0x2f, 0x67, 0x16, 0x64, 0x1e, 0xca, 0x5d, 0x9e, 0xe8, 0x37, 0xc4, 0xc0, - 0xf7, 0xbd, 0xc0, 0x4e, 0xa4, 0x01, 0xef, 0x52, 0x87, 0xf9, 0xb6, 0xa7, 0x97, 0x84, 0xc7, 0xef, - 0xda, 0x09, 0x15, 0x79, 0xab, 0x8c, 0x56, 0xbb, 0xa9, 0xac, 0xef, 0xea, 0x15, 0x61, 0xdc, 0x97, - 0xf2, 0x0c, 0x31, 0x05, 0x71, 0xdf, 0x92, 0xd3, 0xc7, 0xde, 0x62, 0x5d, 0xc3, 0xa5, 0x10, 0xc7, - 0x4f, 0xac, 0x97, 0xb6, 0x7f, 0xfa, 0xfb, 0xef, 0xef, 0x69, 0xff, 0xfa, 0xfd, 0x3d, 0xed, 0x3f, - 0xbe, 0xbf, 0xa7, 0xfd, 0xd5, 0x7f, 0xde, 0xbb, 0x01, 0x37, 0x9d, 0xc0, 0x7f, 0x28, 0x8e, 0x26, - 0xc7, 0x0e, 0x1f, 0x26, 0xcc, 0x3d, 0xc5, 0x60, 0x7d, 0xac, 0xfd, 0x4f, 0x00, 0x00, 0x00, 0xff, - 0xff, 0x54, 0xc0, 0x25, 0x07, 0xe3, 0x2e, 0x00, 0x00, + // 5228 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x7b, 0x49, 0x73, 0x1c, 0xc9, + 0x75, 0x3f, 0xbb, 0xd1, 0x00, 0xba, 0x5f, 0x37, 0x1a, 0x85, 0x04, 0x48, 0x16, 0xc1, 0x21, 0x89, + 0x69, 0xcd, 0x02, 0xe1, 0xaf, 0x21, 0x67, 0x40, 0x6a, 0x16, 0xe9, 0x3f, 0xd2, 0x60, 0x1d, 0xf6, + 0x10, 0x68, 0x40, 0xd5, 0xd0, 0x8c, 0x22, 0xec, 0x88, 0x8a, 0x42, 0x55, 0x76, 0x23, 0x07, 0xb5, + 0xf4, 0x54, 0x56, 0x93, 0xc0, 0x9c, 0x74, 0xf6, 0xc9, 0x61, 0x85, 0x65, 0x79, 0x95, 0x2d, 0x6f, + 0x92, 0x25, 0xeb, 0xe0, 0x4f, 0xe0, 0xa3, 0x8e, 0x3e, 0xcb, 0x11, 0x0e, 0x87, 0x7c, 0xf2, 0x37, + 0x70, 0xf8, 0xe4, 0xc8, 0x97, 0x99, 0x55, 0xd9, 0x0b, 0x38, 0x9c, 0xb0, 0x0e, 0x3e, 0xa1, 0xeb, + 0xbd, 0xdf, 0xef, 0xe5, 0xf6, 0xde, 0xcb, 0x15, 0xd0, 0xa4, 0x17, 0xd4, 0x1f, 0x66, 0x49, 0x7a, + 0x7f, 0x90, 0x26, 0x59, 0x42, 0x2a, 0x19, 0x1b, 0x9c, 0xae, 0x5a, 0xf4, 0x62, 0x90, 0x52, 0xce, + 0x59, 0x12, 0x4b, 0xf9, 0x6a, 0x83, 0xfb, 0x67, 0x34, 0xf2, 0xd4, 0xd7, 0x4a, 0x3f, 0xe9, 0x27, + 0xf8, 0xf3, 0x81, 0xf8, 0x25, 0xa5, 0xad, 0x9f, 0xd5, 0xa0, 0xba, 0xa7, 0xcc, 0x91, 0x57, 0xa0, + 0x9c, 0x0d, 0xec, 0xd2, 0x5a, 0x69, 0xbd, 0xb9, 0xd9, 0xbc, 0x2f, 0xac, 0xde, 0x17, 0xba, 0x93, + 0xcb, 0x01, 0xdd, 0xae, 0xfc, 0xea, 0xdf, 0xee, 0x5d, 0x73, 0xca, 0xd9, 0x80, 0x6c, 0x40, 0x35, + 0x3b, 0x0d, 0x5d, 0xee, 0x7b, 0xb1, 0x5d, 0x5e, 0x2b, 0xad, 0xd7, 0x37, 0x17, 0x25, 0xf6, 0xc4, + 0x3b, 0x0d, 0x69, 0xd7, 0xf7, 0x62, 0x67, 0x3e, 0x3b, 0x0d, 0xc5, 0x0f, 0x81, 0x65, 0xc1, 0x85, + 0xc4, 0xce, 0x98, 0xd8, 0x76, 0x1c, 0xd0, 0x0b, 0x89, 0x65, 0x01, 0xfe, 0x20, 0x6f, 0x40, 0x8d, + 0xd3, 0x90, 0xfa, 0x19, 0x4b, 0x62, 0xbb, 0x62, 0x82, 0xbb, 0x5a, 0xec, 0x14, 0x08, 0xf2, 0x10, + 0xea, 0x5e, 0xbf, 0x9f, 0xd2, 0xbe, 0x87, 0x84, 0x59, 0x24, 0x2c, 0x49, 0xc2, 0x56, 0xa1, 0x70, + 0x4c, 0x14, 0xb9, 0x0b, 0x95, 0x2c, 0x19, 0x74, 0xec, 0x39, 0x44, 0x83, 0xaa, 0x77, 0x32, 0xe8, + 0x38, 0x28, 0x27, 0x2f, 0xc3, 0x6c, 0xc8, 0x22, 0x96, 0xd9, 0xf3, 0x08, 0xa8, 0x4b, 0xc0, 0x81, + 0x10, 0x39, 0x52, 0x43, 0x76, 0x60, 0x89, 0x5e, 0xf8, 0x67, 0x5e, 0xdc, 0xa7, 0x6e, 0x4a, 0x7d, + 0xca, 0x9e, 0xd2, 0xd4, 0xae, 0x22, 0xfc, 0x86, 0xee, 0x33, 0xa9, 0x76, 0x94, 0xd6, 0xb1, 0xe8, + 0x98, 0x44, 0xd4, 0xe3, 0xd3, 0x84, 0xc5, 0x76, 0xcd, 0xac, 0xc7, 0x47, 0x09, 0x8b, 0x1d, 0x94, + 0x93, 0x7b, 0x50, 0xd7, 0x83, 0xec, 0xb2, 0xc0, 0x86, 0xb5, 0xd2, 0x7a, 0xcd, 0x01, 0x2d, 0x6a, + 0x07, 0xc2, 0xc0, 0x39, 0x0b, 0x43, 0xbb, 0x6e, 0x1a, 0x78, 0xc2, 0xc2, 0xd0, 0x41, 0x39, 0x79, + 0x1f, 0x16, 0xf3, 0x5a, 0x72, 0x1a, 0x07, 0x34, 0xb5, 0x1b, 0x08, 0x5d, 0x19, 0xad, 0x63, 0x17, + 0x75, 0x4e, 0x93, 0x8e, 0x7c, 0x93, 0x37, 0x01, 0x8e, 0xd3, 0xe4, 0x53, 0x35, 0x18, 0x0b, 0xc8, + 0xb4, 0x24, 0xb3, 0x90, 0x3b, 0x06, 0x86, 0x7c, 0x04, 0x2b, 0x03, 0x2f, 0xcd, 0x98, 0xf8, 0x70, + 0x33, 0xe1, 0x09, 0x72, 0xd4, 0x9b, 0xc8, 0xb5, 0x15, 0x57, 0x23, 0x0a, 0x57, 0x21, 0x83, 0x09, + 0x99, 0x68, 0x1c, 0x4f, 0xd2, 0xcc, 0x5e, 0x34, 0x1b, 0xd7, 0x4d, 0xd2, 0xcc, 0x41, 0x39, 0x79, + 0x05, 0xe6, 0x9e, 0xb1, 0x38, 0x48, 0x9e, 0xd9, 0x16, 0x22, 0x1a, 0x12, 0xf1, 0x09, 0xca, 0x1c, + 0xa5, 0x23, 0x1d, 0x78, 0xb9, 0xc7, 0x62, 0xea, 0xf6, 0x53, 0x8f, 0xc5, 0x34, 0x70, 0xf9, 0xd9, + 0xb0, 0xd7, 0x13, 0xd5, 0xca, 0x52, 0xea, 0x45, 0xae, 0x9f, 0x0c, 0xe3, 0xcc, 0x5e, 0x5a, 0x2b, + 0xad, 0x57, 0x94, 0x73, 0xdf, 0x11, 0xf0, 0x0f, 0x25, 0xba, 0x2b, 0xc1, 0x5d, 0xc4, 0xee, 0x08, + 0x28, 0xf9, 0x08, 0xee, 0x4d, 0xb5, 0x77, 0xea, 0x65, 0xfe, 0x99, 0xcb, 0xd9, 0xe7, 0xd4, 0x26, + 0x86, 0xb5, 0xdb, 0x93, 0xd6, 0xb6, 0x05, 0xb2, 0xcb, 0x3e, 0xa7, 0xa2, 0x05, 0xf4, 0x62, 0xe0, + 0xc5, 0x81, 0xbd, 0x6c, 0xb6, 0x60, 0x0f, 0x65, 0x8e, 0xd2, 0x91, 0xd7, 0x61, 0x5e, 0xfe, 0xda, + 0xb4, 0x57, 0x10, 0xb6, 0x60, 0xc2, 0x36, 0x1d, 0xad, 0x15, 0xa3, 0x7d, 0x9a, 0x26, 0x5e, 0xe0, + 0x7b, 0x3c, 0x73, 0x3f, 0x1b, 0xd2, 0xf4, 0xd2, 0xbe, 0x6e, 0x8e, 0xf6, 0xb6, 0x56, 0x7e, 0x47, + 0xe8, 0x9c, 0xe6, 0xe9, 0xc8, 0x37, 0x79, 0x04, 0x0d, 0x26, 0xe2, 0xd1, 0x0d, 0x93, 0xe4, 0x7c, + 0x38, 0xb0, 0x6d, 0x33, 0x96, 0x30, 0x52, 0x0f, 0x92, 0xe4, 0xfc, 0xbb, 0x03, 0xa7, 0xce, 0xf4, + 0xc7, 0x70, 0x40, 0xee, 0x00, 0x0c, 0xbc, 0x94, 0xc6, 0x99, 0xcb, 0x82, 0x0b, 0xfb, 0xd6, 0x5a, + 0x69, 0x7d, 0xc1, 0xa9, 0x49, 0x49, 0x3b, 0xb8, 0x20, 0xc7, 0x70, 0x83, 0x5e, 0x0c, 0x42, 0x8f, + 0xc5, 0x6e, 0x2f, 0x49, 0x5d, 0x3f, 0x89, 0x63, 0xe5, 0x4e, 0xab, 0x68, 0x7e, 0x35, 0x6f, 0x8b, + 0xc0, 0xec, 0x27, 0xe9, 0x4e, 0x8e, 0x70, 0x56, 0xe8, 0x14, 0x69, 0xeb, 0x17, 0x33, 0xd0, 0x1c, + 0xf5, 0x5b, 0xb2, 0x6e, 0x64, 0x2c, 0x32, 0xea, 0xd9, 0x13, 0x59, 0x6b, 0x89, 0xc6, 0x7e, 0x12, + 0xd0, 0xc0, 0xcd, 0x3c, 0x7e, 0xee, 0x46, 0x34, 0xf3, 0xec, 0xf2, 0xda, 0xcc, 0x7a, 0xc3, 0x59, + 0x54, 0x8a, 0x13, 0x8f, 0x9f, 0x1f, 0xd2, 0xcc, 0x23, 0x6f, 0x41, 0xb3, 0xf0, 0xe5, 0x73, 0x7a, + 0xc9, 0xed, 0x99, 0xb5, 0x99, 0xc2, 0x13, 0xf7, 0x2e, 0x06, 0xa9, 0xb3, 0x90, 0x23, 0x9e, 0xd0, + 0x4b, 0x4e, 0x5e, 0x81, 0x59, 0xff, 0x8c, 0x85, 0x81, 0x4a, 0x5c, 0x46, 0xf6, 0x14, 0x01, 0xeb, + 0x48, 0x25, 0x79, 0x15, 0x66, 0xb3, 0xcb, 0x01, 0xe5, 0xf6, 0x2c, 0xda, 0x53, 0xe9, 0x6d, 0x9f, + 0xd1, 0x30, 0x10, 0xd5, 0x75, 0xa4, 0x96, 0xbc, 0x03, 0x8b, 0x5e, 0x18, 0xba, 0x3d, 0x21, 0x77, + 0x25, 0x61, 0x6e, 0x3a, 0x61, 0xc1, 0x0b, 0xc3, 0xfc, 0x8b, 0x93, 0xf7, 0xa1, 0xee, 0x27, 0x91, + 0x9e, 0x06, 0x30, 0x89, 0x35, 0x37, 0xaf, 0x4b, 0xd2, 0x4e, 0xa1, 0x38, 0x4c, 0x02, 0xdd, 0x35, + 0x26, 0x9e, 0x1c, 0xc0, 0x8d, 0xe1, 0x40, 0x87, 0x47, 0x46, 0x8d, 0x8e, 0xaa, 0x62, 0xf1, 0x37, + 0x55, 0xab, 0x64, 0x77, 0x6d, 0x5f, 0x66, 0x94, 0x77, 0x43, 0xe6, 0x53, 0x67, 0x59, 0xd3, 0x76, + 0x32, 0xaa, 0x7b, 0xb1, 0xf5, 0x7b, 0x25, 0xa8, 0x1b, 0xce, 0x43, 0xde, 0x84, 0x15, 0xe9, 0x65, + 0x67, 0x5e, 0x1c, 0x84, 0xd4, 0x4d, 0x7a, 0x3d, 0x4e, 0x33, 0x6e, 0x97, 0xd6, 0x66, 0xd6, 0x17, + 0x1c, 0x82, 0xba, 0xc7, 0xa8, 0x3a, 0x92, 0x1a, 0xe1, 0x61, 0xe7, 0x94, 0x0e, 0xdc, 0x24, 0x15, + 0xf9, 0x4b, 0xcc, 0x35, 0x55, 0xa7, 0x26, 0x24, 0x47, 0x42, 0x20, 0x26, 0x17, 0xec, 0xd6, 0x94, + 0xc6, 0x6a, 0x80, 0xc6, 0xbb, 0x3d, 0xd7, 0xb7, 0xde, 0x85, 0xa5, 0x89, 0x6a, 0x93, 0xaf, 0xc0, + 0x82, 0xe9, 0x13, 0xb2, 0x2a, 0x0d, 0xa7, 0x61, 0xf8, 0x03, 0x6f, 0xfd, 0xba, 0x04, 0xd6, 0x78, + 0x46, 0x9f, 0xee, 0x4d, 0xa5, 0xe9, 0xde, 0xf4, 0x26, 0xd4, 0xcd, 0x91, 0x2c, 0x4f, 0x1f, 0x49, + 0xe8, 0x15, 0xc3, 0xd8, 0x42, 0xaf, 0x9e, 0xb9, 0xca, 0xab, 0xd1, 0x9f, 0x77, 0xe1, 0x5e, 0x92, + 0xb2, 0x3e, 0x8b, 0xbd, 0x10, 0xc7, 0x6a, 0x90, 0x06, 0x89, 0x3f, 0xa4, 0xa9, 0x51, 0x9f, 0x0a, + 0xd6, 0xe7, 0xb6, 0x86, 0xed, 0x64, 0xf4, 0x58, 0x81, 0xf2, 0x31, 0xfa, 0xc1, 0x0c, 0x34, 0xb6, + 0x3a, 0x1d, 0x4c, 0x03, 0xed, 0xb8, 0x97, 0x90, 0x77, 0x00, 0x30, 0x7f, 0x60, 0x65, 0x47, 0x03, + 0x4b, 0xe3, 0x8c, 0xc0, 0xaa, 0x7d, 0xa6, 0x05, 0xa4, 0x0d, 0x8b, 0x01, 0xe3, 0x99, 0x17, 0xfb, + 0x54, 0x94, 0x9e, 0x32, 0x1f, 0x07, 0xac, 0xa9, 0xe3, 0xfc, 0x63, 0xea, 0x67, 0x49, 0xba, 0xab, + 0x20, 0x87, 0x88, 0x50, 0x56, 0x9a, 0xc1, 0x88, 0x94, 0xdc, 0x82, 0xd9, 0x2c, 0x19, 0xb8, 0xe7, + 0xd8, 0x03, 0x0b, 0x0a, 0x24, 0xe6, 0xe7, 0x27, 0xe4, 0x55, 0xe1, 0xe0, 0xe1, 0x30, 0x8a, 0xdd, + 0xd8, 0x8b, 0x28, 0x06, 0x5b, 0x4d, 0x01, 0x40, 0x2a, 0x3a, 0x5e, 0x44, 0xc9, 0xcb, 0x50, 0x53, + 0x30, 0x16, 0xe0, 0xca, 0x60, 0x46, 0x81, 0xaa, 0x52, 0x8c, 0x13, 0x68, 0x3d, 0xa5, 0x3d, 0xf7, + 0x29, 0xf5, 0xdd, 0xde, 0xc3, 0x4d, 0x5c, 0x10, 0x34, 0x9c, 0x5a, 0x4a, 0x7b, 0x1f, 0x53, 0x7f, + 0xff, 0xe1, 0x26, 0xb9, 0x07, 0x55, 0xe9, 0xad, 0x2c, 0xc0, 0xd9, 0x5d, 0x5b, 0x98, 0x47, 0x69, + 0x5b, 0x24, 0xe7, 0x46, 0xe4, 0x5d, 0xb8, 0xba, 0xee, 0x38, 0x47, 0x97, 0x74, 0x54, 0x45, 0xde, + 0x85, 0x6e, 0x2a, 0xd9, 0x80, 0xe6, 0x59, 0xcc, 0x9f, 0xb9, 0xb4, 0xe7, 0x72, 0xea, 0xa5, 0xfe, + 0x19, 0x26, 0x73, 0xdd, 0xae, 0x86, 0xd0, 0xed, 0xf5, 0xba, 0xa8, 0xf9, 0xa8, 0x52, 0x9d, 0xb7, + 0xaa, 0xad, 0x7f, 0x9d, 0x81, 0xc6, 0xfe, 0x49, 0xf7, 0x85, 0x46, 0x45, 0xe3, 0xa6, 0x8f, 0x8a, + 0xd9, 0x8a, 0xf2, 0xb4, 0x56, 0x6c, 0xc0, 0xbc, 0xec, 0x12, 0x9d, 0xe3, 0x2c, 0x9d, 0x2d, 0xb0, + 0x9f, 0xe2, 0x5e, 0xe2, 0x68, 0x00, 0x79, 0x19, 0x1a, 0x46, 0xe7, 0x73, 0xf4, 0xaf, 0x9a, 0x53, + 0x2f, 0xfa, 0x9d, 0x93, 0xaf, 0xe4, 0x15, 0xa5, 0x17, 0x19, 0xf6, 0x7c, 0x6d, 0xb4, 0x52, 0xf4, + 0x22, 0x23, 0x6f, 0xc0, 0xa2, 0x02, 0x25, 0xe7, 0x34, 0x66, 0x9f, 0xd3, 0x14, 0xbb, 0x5f, 0x23, + 0x9b, 0x12, 0xa9, 0x75, 0x64, 0x59, 0xbb, 0x03, 0xe0, 0x14, 0x23, 0x1d, 0xe1, 0x35, 0x58, 0x14, + 0x4b, 0x01, 0x37, 0x1f, 0x66, 0x6e, 0xd7, 0xd7, 0x66, 0xd6, 0x67, 0x9c, 0x05, 0x21, 0x56, 0xb5, + 0x0f, 0xf8, 0x38, 0xce, 0xe3, 0xbe, 0xdd, 0x58, 0x9b, 0x59, 0xaf, 0x9a, 0xb8, 0x2d, 0xee, 0x93, + 0x77, 0x75, 0xc5, 0x7b, 0xc3, 0xd8, 0xc7, 0x01, 0x6a, 0x6e, 0x2e, 0xab, 0x85, 0x87, 0xef, 0x85, + 0x5e, 0xba, 0x3f, 0x8c, 0xfd, 0x2e, 0xeb, 0x8f, 0xb4, 0x46, 0xc8, 0xc8, 0x03, 0x80, 0x08, 0x57, + 0x00, 0x62, 0xfd, 0x6d, 0x5f, 0x1f, 0x9f, 0x28, 0x34, 0x01, 0x31, 0x42, 0xd0, 0xfa, 0xfe, 0x2c, + 0xd4, 0x8a, 0xb5, 0xce, 0x3d, 0xa8, 0xca, 0xd5, 0x12, 0x0b, 0x70, 0x60, 0xf3, 0x11, 0x42, 0xe9, + 0xe8, 0x08, 0x95, 0xbf, 0x68, 0x84, 0x6c, 0xa8, 0x04, 0x94, 0xfb, 0x18, 0x38, 0x55, 0x1d, 0x38, + 0x42, 0x42, 0xbe, 0x06, 0x64, 0x90, 0xb2, 0xc8, 0x4b, 0x2f, 0xcd, 0x2e, 0xab, 0x60, 0x97, 0x59, + 0x4a, 0x53, 0xf4, 0xda, 0x07, 0x60, 0xc5, 0xf4, 0x22, 0x73, 0x53, 0xea, 0x05, 0x2e, 0x8d, 0xfb, + 0x2c, 0xa6, 0x38, 0x98, 0x4d, 0x5d, 0xf8, 0x1e, 0xca, 0x0c, 0x9f, 0x6b, 0x0a, 0xbc, 0x43, 0xbd, + 0x40, 0x6a, 0xc8, 0xd7, 0x60, 0x2e, 0x15, 0xf9, 0x4a, 0xcf, 0x5c, 0x2a, 0x33, 0x3f, 0xa1, 0x97, + 0x8e, 0x10, 0x2b, 0x96, 0xc2, 0x90, 0xf7, 0xe0, 0x96, 0xae, 0xdd, 0x20, 0xa5, 0x3d, 0x76, 0x61, + 0x56, 0x72, 0x1e, 0x2b, 0x79, 0x43, 0x01, 0x8e, 0x51, 0x5f, 0x54, 0x75, 0x74, 0x8e, 0xa8, 0x8e, + 0xcf, 0x11, 0x6b, 0xd0, 0x60, 0xdc, 0xed, 0x89, 0x75, 0x11, 0x2e, 0x47, 0x6b, 0x08, 0x00, 0xc6, + 0xf7, 0x3d, 0x9e, 0xe1, 0x00, 0x1c, 0xc2, 0x9d, 0xc1, 0x90, 0x9f, 0xd1, 0xc0, 0x0d, 0x92, 0x67, + 0xb1, 0xdb, 0x63, 0x61, 0x46, 0x71, 0xb9, 0x12, 0xe0, 0xec, 0xce, 0x6d, 0x98, 0x98, 0xfb, 0x57, + 0x25, 0x61, 0x37, 0x79, 0x16, 0xef, 0x23, 0x7c, 0x27, 0x47, 0x93, 0x1d, 0x58, 0x4e, 0x87, 0x71, + 0xc6, 0x22, 0xaa, 0x4d, 0x85, 0x8c, 0x67, 0xe8, 0x9c, 0x75, 0xed, 0x51, 0x8e, 0x04, 0x48, 0xae, + 0xb3, 0x94, 0x9a, 0x9f, 0x07, 0x8c, 0x8b, 0x08, 0xb1, 0x44, 0x6e, 0x79, 0xe6, 0xb1, 0xcc, 0x45, + 0x53, 0x11, 0xc7, 0xe5, 0xfb, 0xac, 0xea, 0xb7, 0x85, 0xc8, 0xbb, 0xf8, 0xc4, 0x63, 0xd9, 0x09, + 0x8b, 0xe8, 0x21, 0x27, 0x0f, 0xa0, 0xe6, 0xc5, 0xb1, 0x5a, 0xf8, 0xc9, 0xc5, 0xfa, 0x58, 0xce, + 0x46, 0x37, 0xa9, 0x7a, 0x71, 0x8c, 0x5f, 0xad, 0x1f, 0x57, 0x80, 0x4c, 0xae, 0xc5, 0xff, 0x6f, + 0xfa, 0xe2, 0x73, 0x7d, 0x63, 0xf6, 0xb9, 0xbe, 0xf1, 0x15, 0x28, 0x56, 0x69, 0x08, 0x9f, 0x43, + 0x78, 0x23, 0x17, 0x0a, 0xd0, 0xb8, 0x87, 0xcc, 0x7f, 0x79, 0x0f, 0xa9, 0xfe, 0x36, 0x3c, 0xa4, + 0xf6, 0xbf, 0xf6, 0x10, 0x78, 0x41, 0x0f, 0xa9, 0xbf, 0x80, 0x87, 0xfc, 0xf7, 0x2c, 0x54, 0xc4, + 0x7e, 0x94, 0xbc, 0x05, 0x35, 0xb1, 0x23, 0x35, 0x67, 0x9e, 0x66, 0xb1, 0x5d, 0x35, 0x32, 0x40, + 0xf5, 0x53, 0xf5, 0x4d, 0xbe, 0x05, 0x4d, 0xa4, 0x88, 0xed, 0xaa, 0xe4, 0x95, 0xcd, 0x19, 0x4b, + 0xf0, 0xc6, 0x8e, 0x15, 0x1a, 0x9f, 0x1a, 0xb2, 0x2f, 0xb3, 0xae, 0x13, 0x33, 0x3d, 0x8b, 0x63, + 0x9a, 0xe2, 0x1e, 0xa4, 0x62, 0xce, 0xf4, 0x28, 0x16, 0x1b, 0x91, 0x37, 0xa1, 0x19, 0xd2, 0x5e, + 0xe6, 0x62, 0x9d, 0x70, 0x35, 0x3f, 0x3b, 0x31, 0x5e, 0x0d, 0x81, 0x10, 0x15, 0xc3, 0xc5, 0xfc, + 0x26, 0x2c, 0xa6, 0xac, 0x7f, 0x66, 0x52, 0xe6, 0x26, 0x37, 0x00, 0x08, 0xc9, 0x39, 0x6f, 0x42, + 0x7d, 0x90, 0x26, 0xa7, 0x54, 0xad, 0xf2, 0xe6, 0xaf, 0x58, 0xe5, 0x21, 0x46, 0xae, 0xf2, 0xde, + 0x84, 0xfa, 0xe9, 0x90, 0xe5, 0xeb, 0xc2, 0xea, 0x15, 0x0c, 0xc4, 0x48, 0xc6, 0x43, 0x58, 0xc4, + 0x96, 0x18, 0xae, 0x57, 0x9b, 0xa8, 0x17, 0x36, 0xd6, 0x70, 0xb7, 0xaf, 0x83, 0x25, 0x1b, 0xf3, + 0xdc, 0x94, 0x26, 0x1b, 0x3c, 0x4a, 0x4b, 0xb2, 0xb3, 0x51, 0x3f, 0xaf, 0x4f, 0xd2, 0x10, 0x63, + 0xd0, 0x1e, 0xc3, 0x6d, 0x49, 0xa3, 0x9f, 0x19, 0x4c, 0xb7, 0x97, 0x26, 0x91, 0xcb, 0x62, 0x9c, + 0x7b, 0x47, 0x2d, 0xdc, 0x44, 0xf8, 0xde, 0x67, 0x85, 0x8d, 0xfd, 0x34, 0x89, 0xda, 0x31, 0x79, + 0x04, 0x37, 0x19, 0x77, 0xe3, 0x61, 0x18, 0xba, 0xde, 0x33, 0x2f, 0xa5, 0x2e, 0xa7, 0x11, 0xc3, + 0x11, 0xc1, 0x14, 0x57, 0x75, 0x96, 0x19, 0xef, 0x0c, 0xc3, 0x70, 0x4b, 0x28, 0xbb, 0x34, 0x62, + 0xe8, 0xae, 0x57, 0x04, 0x57, 0xf3, 0xcb, 0x04, 0x57, 0xeb, 0x3f, 0xcb, 0xb0, 0x30, 0x02, 0x22, + 0x2b, 0x50, 0x56, 0x39, 0x51, 0x07, 0x58, 0x99, 0x05, 0xe4, 0x11, 0x58, 0x3c, 0x19, 0xa6, 0x3e, + 0xc5, 0xb9, 0x5f, 0x96, 0x54, 0x9e, 0x1c, 0x10, 0x89, 0x11, 0xbf, 0x31, 0x74, 0x1f, 0x81, 0x95, + 0x79, 0x69, 0x9f, 0x66, 0x06, 0x6b, 0x72, 0x7f, 0xd9, 0x94, 0x98, 0x9c, 0xb5, 0x09, 0x24, 0x2f, + 0xab, 0x38, 0x18, 0x32, 0x17, 0xc0, 0x96, 0x2e, 0x27, 0x3f, 0x24, 0xda, 0x04, 0x92, 0x97, 0x54, + 0x70, 0xcc, 0x55, 0x99, 0xa5, 0x4b, 0xc9, 0x39, 0x6f, 0xc3, 0x7c, 0xda, 0x93, 0x51, 0x3b, 0x87, + 0x51, 0x7b, 0x73, 0x4a, 0xa7, 0x19, 0xa1, 0x3b, 0x97, 0xf6, 0x30, 0x68, 0x25, 0x2f, 0x4a, 0x02, + 0xaa, 0xb6, 0x9d, 0xd3, 0x78, 0xc6, 0xc6, 0x73, 0x2e, 0xed, 0x89, 0xaf, 0xd6, 0x0f, 0xca, 0x50, + 0xcb, 0x0f, 0x03, 0xbf, 0x78, 0x06, 0xfa, 0xad, 0x2e, 0x68, 0xf5, 0x14, 0x55, 0x99, 0x98, 0xa2, + 0x6e, 0xc0, 0xdc, 0x30, 0x66, 0x9f, 0x0d, 0xe5, 0xb2, 0xa7, 0xea, 0xa8, 0xaf, 0x2b, 0xa6, 0xae, + 0xb9, 0x2b, 0xa6, 0xae, 0x77, 0xa1, 0xd9, 0xcb, 0xb8, 0xcc, 0xba, 0x2e, 0x8b, 0x7b, 0x89, 0x3a, + 0x56, 0x1c, 0x5b, 0xba, 0x63, 0xa5, 0x1a, 0xbd, 0x8c, 0xe7, 0x5f, 0xad, 0x1f, 0x94, 0xa0, 0x96, + 0x9f, 0x7a, 0x92, 0x0d, 0x00, 0x23, 0x0a, 0x4b, 0x13, 0xbe, 0x62, 0x68, 0xc9, 0x23, 0x68, 0xa6, + 0x83, 0xd8, 0x8c, 0x5a, 0xe9, 0x91, 0xea, 0xe8, 0xc8, 0x19, 0xc4, 0x2a, 0x7b, 0x0d, 0x62, 0x23, + 0x6c, 0xf3, 0xe3, 0x8b, 0x99, 0xe7, 0x1c, 0x5f, 0xb4, 0xbe, 0x5f, 0x32, 0x8f, 0x05, 0xc9, 0x1a, + 0xcc, 0x0a, 0x0f, 0x9e, 0x56, 0x23, 0xa9, 0x20, 0x1b, 0x50, 0x13, 0x95, 0x91, 0xa8, 0xa9, 0xf5, + 0xa8, 0xa6, 0xf2, 0xc7, 0x8b, 0x56, 0xe1, 0x9f, 0xcb, 0x50, 0x37, 0x4e, 0x77, 0xc9, 0xab, 0x50, + 0xed, 0xa7, 0xc9, 0x70, 0xe0, 0x9e, 0x5e, 0x4e, 0xa9, 0xc6, 0x3c, 0xea, 0xb6, 0x2f, 0x05, 0xcc, + 0xeb, 0xf7, 0xe5, 0xe2, 0x7e, 0x32, 0x42, 0xe7, 0xbd, 0x7e, 0x1f, 0xd7, 0xf2, 0x6b, 0x50, 0x95, + 0xe7, 0x18, 0x34, 0x18, 0x59, 0xb7, 0xe4, 0x52, 0xf2, 0x00, 0x1a, 0xa2, 0x45, 0x79, 0x99, 0x95, + 0x69, 0x8d, 0x82, 0x74, 0x10, 0x7f, 0xa8, 0x4a, 0x56, 0x84, 0xbc, 0xf4, 0xd9, 0xab, 0x08, 0x5b, + 0xaa, 0x0e, 0x79, 0x3f, 0xcc, 0x3d, 0xef, 0x24, 0xe9, 0x3d, 0x68, 0x0c, 0x52, 0x8a, 0x66, 0x27, + 0x63, 0xee, 0x84, 0xed, 0x87, 0x1e, 0x3f, 0x3b, 0x4e, 0xe9, 0x56, 0xbf, 0x2f, 0xa2, 0x4c, 0xcc, + 0x3b, 0xfa, 0x77, 0xeb, 0x27, 0x25, 0xa8, 0x9c, 0x24, 0x83, 0x0e, 0x79, 0x1d, 0xaa, 0xb8, 0x6a, + 0x2e, 0xfa, 0x4e, 0x1d, 0x43, 0x6e, 0x5f, 0xb6, 0x33, 0x1a, 0x39, 0xf3, 0xa8, 0xdd, 0xbe, 0x24, + 0xab, 0xfa, 0x54, 0xbc, 0x6c, 0x9c, 0x6f, 0xaa, 0xe3, 0xf0, 0x17, 0x1a, 0x36, 0xd1, 0x0b, 0xc5, + 0x4a, 0x2c, 0xef, 0xb6, 0xd1, 0xe2, 0xea, 0x39, 0x62, 0xfb, 0xb2, 0xf5, 0x4f, 0x25, 0x98, 0xc5, + 0x63, 0xf7, 0xa2, 0xf0, 0xd2, 0x73, 0x0a, 0x2f, 0x7f, 0x99, 0xc2, 0x67, 0xbe, 0xa0, 0x70, 0xf2, + 0x36, 0x2c, 0x65, 0xe9, 0x30, 0xf6, 0xbd, 0x8c, 0x8a, 0xd9, 0x5f, 0xee, 0xec, 0x2a, 0x93, 0x93, + 0x9f, 0x06, 0x3d, 0xa1, 0x97, 0xb8, 0xb3, 0xfb, 0x00, 0x2a, 0x4f, 0x58, 0x18, 0x92, 0x97, 0x60, + 0xce, 0x4f, 0xe2, 0xb8, 0xbd, 0x3b, 0x52, 0x67, 0x25, 0x13, 0x0d, 0x92, 0xeb, 0xb0, 0xb2, 0xe1, + 0x61, 0x52, 0xd4, 0xda, 0x82, 0x95, 0x69, 0x07, 0xa2, 0xe4, 0xab, 0xb0, 0x50, 0x1c, 0xa0, 0xea, + 0xe4, 0xa8, 0x0d, 0x37, 0x0a, 0x55, 0x3b, 0x68, 0xfd, 0x7c, 0x06, 0x6c, 0xdd, 0x03, 0xf2, 0x2f, + 0x4b, 0xe2, 0xee, 0x30, 0x12, 0xa9, 0x89, 0x6c, 0xc0, 0x12, 0xce, 0x8d, 0x83, 0x34, 0xf1, 0x29, + 0xe7, 0x34, 0x70, 0x31, 0xa1, 0x94, 0xd6, 0x2b, 0xce, 0xa2, 0x50, 0x1c, 0x6b, 0x79, 0x47, 0x04, + 0xef, 0x52, 0x3c, 0x8c, 0x04, 0x34, 0x18, 0xfa, 0x34, 0x70, 0xd3, 0xe4, 0x19, 0x97, 0x1e, 0xe0, + 0x2c, 0xc6, 0xc3, 0xe8, 0x58, 0xc9, 0x9d, 0xe4, 0x19, 0x27, 0xaf, 0x42, 0x53, 0x60, 0x59, 0x46, + 0x53, 0x4f, 0x66, 0x9d, 0x19, 0x04, 0x2e, 0xc4, 0xc3, 0xa8, 0x9d, 0x0b, 0xc7, 0xaf, 0x35, 0x2a, + 0x13, 0xd7, 0x1a, 0x6b, 0x50, 0xf7, 0x93, 0xd8, 0x1f, 0xa6, 0x29, 0x8d, 0xfd, 0x4b, 0x4c, 0xbe, + 0x15, 0xc7, 0x14, 0x91, 0x03, 0x58, 0xc9, 0x58, 0x4f, 0xb8, 0x37, 0x2e, 0xd7, 0x45, 0xa2, 0xc3, + 0xb3, 0x86, 0x39, 0xf3, 0x9e, 0x41, 0x05, 0x80, 0x98, 0x52, 0x76, 0xa4, 0xfe, 0xf1, 0x35, 0x87, + 0x28, 0x9e, 0x21, 0x15, 0xf5, 0x4e, 0x87, 0xc2, 0x06, 0x1f, 0x46, 0x83, 0x4c, 0x9f, 0x99, 0x36, + 0x9c, 0x85, 0x74, 0xb8, 0x53, 0x08, 0xc9, 0x47, 0x45, 0xa1, 0xb8, 0xe2, 0xe6, 0xb2, 0x3b, 0xd5, + 0xb5, 0xcf, 0x68, 0xa1, 0x62, 0xd5, 0xad, 0xba, 0x3b, 0x2f, 0xd2, 0x90, 0x6d, 0x37, 0x00, 0x76, + 0x69, 0xe6, 0xb1, 0x10, 0x13, 0x7d, 0x1f, 0x56, 0x14, 0x2f, 0x1f, 0x2b, 0x3c, 0xf1, 0x39, 0x82, + 0x65, 0xaa, 0x05, 0xaa, 0x38, 0x46, 0x75, 0xa6, 0xbd, 0x3b, 0xea, 0xe7, 0xe3, 0xa3, 0xec, 0x10, + 0x3a, 0x2a, 0x61, 0x94, 0xb7, 0x7e, 0x17, 0x56, 0x55, 0x41, 0x0e, 0xed, 0xb3, 0x24, 0xee, 0x0c, + 0xa3, 0xa3, 0x5e, 0x3b, 0x56, 0x67, 0x54, 0xf7, 0xa0, 0xce, 0xd4, 0x6f, 0xed, 0x5d, 0x35, 0x07, + 0xb4, 0xa8, 0x1d, 0x88, 0x6d, 0x76, 0x8a, 0x3c, 0x37, 0x1e, 0x46, 0xca, 0x0b, 0x6a, 0xa9, 0xb6, + 0xd4, 0xfa, 0xaf, 0x3b, 0x40, 0x26, 0x3b, 0x9d, 0x3c, 0x82, 0x95, 0x20, 0xea, 0x31, 0x75, 0x17, + 0x14, 0xd3, 0xc0, 0x1d, 0x78, 0xfe, 0xb9, 0xf2, 0xb8, 0xed, 0xb2, 0x5d, 0x72, 0x88, 0xd4, 0x77, + 0xa5, 0xfa, 0x58, 0x68, 0x4d, 0xd6, 0x39, 0x1b, 0x0c, 0x72, 0x56, 0x79, 0x82, 0x25, 0xd5, 0x92, + 0xf5, 0x0e, 0xd8, 0x8a, 0x15, 0x78, 0x99, 0x97, 0x17, 0x88, 0x5e, 0x2b, 0x9d, 0xf1, 0xba, 0xd4, + 0xef, 0x7a, 0x99, 0xa7, 0xca, 0x43, 0xdf, 0x1d, 0x27, 0xaa, 0x32, 0x91, 0x58, 0x99, 0x20, 0x4a, + 0x2d, 0x12, 0xdf, 0x85, 0x9b, 0x59, 0x92, 0x79, 0xa1, 0xab, 0xe8, 0x29, 0x77, 0xc3, 0xc4, 0x0b, + 0xc4, 0x56, 0x6c, 0x36, 0xaf, 0xea, 0x32, 0x42, 0x76, 0x11, 0xe1, 0xf0, 0x83, 0xc4, 0x0b, 0x70, + 0x3b, 0xb6, 0x32, 0xca, 0xa4, 0x92, 0x36, 0x87, 0xc5, 0x2d, 0x99, 0x14, 0x8a, 0x84, 0xaf, 0xeb, + 0xa2, 0xe4, 0x8e, 0x81, 0xc7, 0xde, 0x80, 0x9f, 0x25, 0x99, 0xe0, 0xcc, 0x23, 0x47, 0xda, 0xdb, + 0x16, 0xda, 0xae, 0x52, 0x1e, 0xe2, 0x06, 0x38, 0x4c, 0x7c, 0x2f, 0x74, 0xe5, 0x48, 0x71, 0x74, + 0xd8, 0x8a, 0xd3, 0x40, 0xa1, 0xf4, 0x03, 0x8c, 0xdd, 0x94, 0x46, 0x49, 0x46, 0x73, 0x54, 0x4d, + 0xc6, 0xae, 0x94, 0x6a, 0xd8, 0x6b, 0xb0, 0x38, 0xe4, 0x34, 0x95, 0x75, 0x3d, 0xbd, 0xcc, 0xa8, + 0xdc, 0x70, 0x56, 0x9c, 0x05, 0x21, 0x16, 0xf5, 0xc4, 0x93, 0x75, 0xf2, 0x16, 0x5c, 0x97, 0x55, + 0x0d, 0xa9, 0x97, 0xc6, 0x9a, 0x10, 0x71, 0xdc, 0x76, 0x56, 0x1c, 0x82, 0xca, 0x03, 0xa9, 0x53, + 0xad, 0xfb, 0xff, 0x70, 0x3b, 0x60, 0x5c, 0xcc, 0x65, 0x88, 0xf5, 0x3d, 0xff, 0x8c, 0xba, 0x67, + 0x2c, 0x53, 0xc5, 0x34, 0x90, 0x78, 0x53, 0x42, 0x04, 0x65, 0x47, 0x00, 0x1e, 0xb3, 0x4c, 0x16, + 0xf8, 0x2d, 0x78, 0x69, 0x92, 0x1d, 0x31, 0xce, 0x15, 0x7d, 0x01, 0xe9, 0xf6, 0x18, 0xfd, 0x90, + 0x71, 0x2e, 0xf9, 0x6f, 0x83, 0x3d, 0x3e, 0x8c, 0xfe, 0x19, 0xf5, 0xcf, 0x45, 0x9d, 0x9b, 0x46, + 0xe7, 0xea, 0x31, 0xdc, 0x11, 0xca, 0x43, 0x2e, 0xd6, 0x82, 0x3c, 0xf3, 0xf4, 0xe8, 0xe9, 0xbe, + 0x5b, 0x44, 0x86, 0x85, 0x1a, 0x51, 0x98, 0xee, 0xbe, 0x55, 0xa8, 0x72, 0xda, 0x8f, 0x68, 0x9c, + 0x71, 0xbc, 0xb5, 0xac, 0x38, 0xf9, 0xb7, 0x0c, 0x2e, 0x4f, 0x5f, 0x42, 0x2c, 0xe9, 0xe0, 0xf2, + 0xe4, 0x0d, 0x84, 0x50, 0x07, 0x34, 0xcc, 0x3c, 0xe9, 0x92, 0x44, 0xaa, 0x51, 0x82, 0x6e, 0x78, + 0x0f, 0xea, 0x52, 0x2d, 0x9b, 0xbb, 0x8c, 0x7a, 0xc9, 0x90, 0x0d, 0x7c, 0x0d, 0x16, 0xa3, 0xa7, + 0xbe, 0xef, 0xb2, 0x78, 0x30, 0xcc, 0xa4, 0x91, 0x15, 0x39, 0x72, 0x42, 0xdc, 0x16, 0x52, 0x34, + 0xb4, 0x0e, 0x96, 0x81, 0x93, 0xd6, 0xae, 0x23, 0xb0, 0x99, 0x03, 0xa5, 0x45, 0x8d, 0x4c, 0x86, + 0x59, 0x6e, 0xf2, 0x46, 0x81, 0x3c, 0x42, 0x31, 0xda, 0x5c, 0x83, 0x46, 0x18, 0x61, 0x4c, 0x49, + 0xd4, 0x4d, 0x59, 0xbb, 0x30, 0x12, 0x81, 0x84, 0x88, 0x6f, 0xc2, 0xaa, 0xe9, 0xda, 0x58, 0xb8, + 0xba, 0x83, 0x8a, 0x38, 0x5e, 0x45, 0x56, 0x9c, 0x9b, 0x85, 0x77, 0xb7, 0x0b, 0xfd, 0xa1, 0xe1, + 0x6c, 0x92, 0x7c, 0xca, 0xb2, 0xc8, 0x1b, 0x08, 0xde, 0x2d, 0xc3, 0xd9, 0x90, 0xb7, 0x8d, 0xaa, + 0x43, 0x4e, 0xde, 0x80, 0xe5, 0x88, 0xc5, 0xae, 0x8c, 0x8b, 0xa2, 0xa0, 0x55, 0x39, 0x6e, 0x11, + 0x8b, 0x0f, 0x84, 0xa6, 0xab, 0x4b, 0x10, 0x70, 0xef, 0x62, 0x02, 0x7e, 0x5b, 0xc1, 0xbd, 0x8b, + 0x51, 0xf8, 0x03, 0x58, 0x11, 0xd6, 0x55, 0x40, 0x15, 0xf8, 0x97, 0x64, 0x64, 0x47, 0x2c, 0x76, + 0x50, 0x35, 0x42, 0xf0, 0x2e, 0x26, 0x09, 0x77, 0x14, 0xc1, 0xbb, 0x18, 0x23, 0x1c, 0xc3, 0xb2, + 0xf2, 0x35, 0x37, 0xe9, 0xb9, 0x3a, 0x45, 0xdb, 0x77, 0x71, 0x66, 0x58, 0x1b, 0x99, 0x8a, 0xa6, + 0x64, 0x7a, 0x67, 0x49, 0x91, 0x8d, 0xe4, 0x5f, 0x24, 0x40, 0x1c, 0xd4, 0x91, 0xcc, 0x79, 0xcf, + 0x4c, 0x80, 0x87, 0x4f, 0x7d, 0x7f, 0x7a, 0xe6, 0x94, 0x44, 0x33, 0x73, 0xae, 0x4d, 0x10, 0x8d, + 0xcc, 0xf9, 0x01, 0xdc, 0x51, 0xc4, 0x30, 0xd2, 0xfb, 0xf4, 0x91, 0x62, 0x5f, 0x46, 0xf6, 0x2d, + 0x09, 0x3a, 0x88, 0xe4, 0xee, 0xd1, 0x2c, 0x7a, 0xaa, 0x05, 0xb3, 0xfc, 0xd6, 0x54, 0x0b, 0x46, + 0x1d, 0xbe, 0x0d, 0x77, 0xa4, 0xeb, 0x3c, 0xc5, 0x9b, 0x29, 0x97, 0x05, 0x17, 0x32, 0x7d, 0xe3, + 0x59, 0x05, 0x7f, 0x68, 0x07, 0x32, 0x6f, 0x20, 0x48, 0xde, 0x5e, 0xb5, 0x83, 0x0b, 0x91, 0xc0, + 0xf7, 0xd3, 0x24, 0xea, 0x3e, 0x24, 0x3b, 0x70, 0xef, 0x39, 0x06, 0x02, 0xc6, 0xcf, 0x6d, 0x8a, + 0x26, 0x56, 0xa7, 0x9b, 0xd8, 0x65, 0xfc, 0x9c, 0xec, 0xc1, 0xda, 0x73, 0x8c, 0x60, 0x2e, 0xb3, + 0x7b, 0x68, 0xe5, 0xf6, 0x74, 0x2b, 0x98, 0xcc, 0xae, 0x6e, 0x8c, 0x3e, 0x1b, 0xec, 0x5f, 0xd5, + 0x18, 0x75, 0x40, 0x38, 0xad, 0x31, 0xf2, 0xb6, 0x2a, 0x37, 0x71, 0x36, 0xad, 0x31, 0xf2, 0xde, + 0x4a, 0x19, 0x39, 0x82, 0x57, 0xaf, 0x32, 0xf2, 0x94, 0x71, 0x96, 0x89, 0xe5, 0x66, 0x12, 0x50, + 0x6e, 0x33, 0x34, 0xb5, 0x36, 0xcd, 0xd4, 0xc7, 0x12, 0xd8, 0x11, 0x38, 0xd2, 0x85, 0xd7, 0xaf, + 0x32, 0x18, 0x30, 0xee, 0x7b, 0x69, 0x90, 0x9b, 0xfc, 0x14, 0x4d, 0xb6, 0xa6, 0x99, 0xdc, 0xd5, + 0x50, 0x69, 0x74, 0x1f, 0x5e, 0x9e, 0x30, 0x8a, 0xe9, 0xf7, 0x29, 0xf5, 0xf3, 0xc6, 0x9e, 0x4f, + 0xeb, 0x73, 0x91, 0xcf, 0x3f, 0xa6, 0xbe, 0x6a, 0xed, 0x01, 0xbc, 0x32, 0xdd, 0x0e, 0x9e, 0x68, + 0xf1, 0xdc, 0x54, 0x88, 0xa6, 0xee, 0x4e, 0x9a, 0x3a, 0x42, 0x9c, 0xb2, 0xf6, 0x3e, 0xdc, 0xee, + 0x65, 0xdc, 0x8d, 0xf5, 0x51, 0x59, 0x44, 0xa3, 0x24, 0xbd, 0x74, 0xe3, 0x04, 0x0f, 0x36, 0xec, + 0x1f, 0x96, 0xf0, 0xf2, 0xeb, 0x66, 0x2f, 0xe3, 0x1d, 0x79, 0x40, 0x26, 0x01, 0x1d, 0xa9, 0x17, + 0x89, 0xd0, 0xa0, 0x67, 0x2c, 0xbe, 0x74, 0x25, 0xf1, 0x8f, 0x24, 0x71, 0x49, 0x13, 0x4f, 0x58, + 0x7c, 0x89, 0xe7, 0x2d, 0x62, 0x4d, 0x31, 0x4e, 0xd1, 0xa5, 0xfd, 0x48, 0x92, 0x96, 0x4d, 0x92, + 0x2e, 0xe9, 0x01, 0xac, 0x18, 0xb4, 0x20, 0xea, 0xa9, 0x82, 0xfe, 0x58, 0x72, 0x2c, 0xcd, 0xd9, + 0x8d, 0x7a, 0xb2, 0x9c, 0x87, 0x70, 0x63, 0x8c, 0xa0, 0x8b, 0xf9, 0x13, 0x49, 0x21, 0x06, 0x45, + 0x97, 0xb2, 0x03, 0x77, 0x05, 0x49, 0x84, 0xf2, 0x15, 0x3d, 0xf2, 0xa7, 0x72, 0xdb, 0xb2, 0xda, + 0xcb, 0xb8, 0x88, 0xe7, 0x69, 0x9d, 0xf2, 0x0e, 0xd8, 0xa3, 0x46, 0x8c, 0x7e, 0xf9, 0x33, 0x49, + 0x5f, 0x31, 0xe8, 0x45, 0xd7, 0x7c, 0x13, 0x56, 0xa7, 0x10, 0x75, 0xc9, 0x7f, 0x2e, 0xa9, 0x37, + 0xc6, 0xa8, 0xba, 0x54, 0xd5, 0xaf, 0x05, 0xb9, 0xe8, 0xa3, 0xbf, 0x90, 0xcc, 0x65, 0x83, 0x99, + 0x77, 0xd3, 0x7b, 0x70, 0x6b, 0x92, 0xa6, 0x8b, 0xfc, 0xb1, 0x24, 0x5e, 0x1f, 0x25, 0x8e, 0x0d, + 0x7e, 0x11, 0xf4, 0xe8, 0x96, 0x11, 0xb7, 0xff, 0x52, 0xd2, 0xc4, 0xe0, 0xeb, 0x70, 0x17, 0x2a, + 0xb9, 0xa0, 0x1c, 0xa1, 0x18, 0xe9, 0xe6, 0xaf, 0x8a, 0xc1, 0x9f, 0xc8, 0x33, 0x1f, 0xc0, 0x9d, + 0x29, 0x34, 0x79, 0x12, 0x26, 0x12, 0xad, 0xfd, 0x13, 0x49, 0xb6, 0xc7, 0xc8, 0x88, 0xd8, 0x67, + 0x21, 0x15, 0x6b, 0xbd, 0x49, 0x0b, 0x5c, 0x3d, 0x18, 0x7b, 0x68, 0xff, 0xb5, 0xe4, 0xdf, 0x18, + 0xe5, 0x77, 0x51, 0xdf, 0x7d, 0x38, 0xbd, 0x7c, 0xc5, 0xc6, 0x8c, 0xfb, 0x37, 0x53, 0xcb, 0x97, + 0x7c, 0x4c, 0xb8, 0xeb, 0x60, 0x69, 0x0b, 0x2a, 0x93, 0xc4, 0xf6, 0xdf, 0x4a, 0xd2, 0x82, 0x24, + 0xc9, 0xa4, 0xd1, 0x31, 0xbb, 0x48, 0x67, 0x42, 0xdd, 0xaf, 0x7f, 0x57, 0x8c, 0x63, 0x91, 0x03, + 0x55, 0xcf, 0x2a, 0x77, 0x17, 0xb4, 0x20, 0xd2, 0x4c, 0x9c, 0x92, 0xfe, 0x5e, 0xb2, 0x88, 0x64, + 0xed, 0x46, 0x92, 0x87, 0x93, 0xd1, 0xfb, 0xf0, 0x92, 0x41, 0x92, 0xe5, 0x60, 0x2e, 0x11, 0xd2, + 0x88, 0xdb, 0x3f, 0x2d, 0x5c, 0x0e, 0xa9, 0x58, 0x98, 0xc8, 0x21, 0xfb, 0x19, 0x97, 0xd9, 0x7b, + 0x3a, 0x5d, 0xa5, 0xa2, 0x88, 0xdb, 0x3f, 0x93, 0x16, 0x6e, 0x4d, 0x58, 0x90, 0x59, 0xe8, 0x90, + 0xeb, 0x68, 0x11, 0x46, 0xd0, 0xdd, 0xcd, 0xaa, 0xff, 0x43, 0x11, 0x2d, 0xed, 0xe0, 0x42, 0x78, + 0xbb, 0x51, 0xf9, 0x2d, 0x19, 0xab, 0x39, 0x71, 0xb2, 0xfa, 0x3f, 0x97, 0x74, 0xbb, 0xa0, 0x8f, + 0x35, 0xe0, 0x43, 0x78, 0xf9, 0x2a, 0x13, 0x45, 0x13, 0x7e, 0x21, 0xad, 0xdc, 0x9e, 0x62, 0x25, + 0x6f, 0x84, 0x1a, 0xb4, 0xd3, 0x74, 0x98, 0x51, 0xd3, 0x4a, 0xc4, 0xed, 0x7f, 0x2c, 0x06, 0x6d, + 0x5b, 0xa8, 0x73, 0xf2, 0x21, 0xd7, 0xc1, 0x67, 0xd2, 0x54, 0xf3, 0x23, 0x6e, 0xff, 0xb2, 0x08, + 0xbe, 0x82, 0x28, 0xdb, 0x7f, 0xc8, 0x5b, 0x3f, 0x2d, 0xe5, 0x5b, 0x5f, 0x63, 0x9b, 0x4f, 0x5e, + 0x81, 0x66, 0xc4, 0xe2, 0x93, 0xee, 0x91, 0x3c, 0x31, 0xc8, 0x8f, 0x59, 0x1a, 0x52, 0x2a, 0xa0, + 0x1d, 0x74, 0x96, 0x01, 0x1b, 0xd0, 0x90, 0xc5, 0xd4, 0xfd, 0x6c, 0x48, 0x87, 0x34, 0x47, 0xcb, + 0x2d, 0xf6, 0xb2, 0xd6, 0x7e, 0x47, 0x28, 0x15, 0xe9, 0x1d, 0xb0, 0x73, 0xd2, 0x69, 0x4a, 0xbd, + 0x73, 0x9a, 0xe6, 0x34, 0xb5, 0xd3, 0xd5, 0xfa, 0x6d, 0xa9, 0x96, 0xc4, 0xd6, 0xe7, 0x50, 0xe9, + 0x26, 0x69, 0x46, 0x5e, 0x83, 0xf9, 0x53, 0x3c, 0xf6, 0xe2, 0xd3, 0xcf, 0xfd, 0x94, 0x92, 0xbc, + 0x02, 0x0b, 0x8c, 0xe3, 0x3d, 0xb1, 0x17, 0x0a, 0xa2, 0x7a, 0x82, 0x35, 0x2a, 0x7c, 0xc1, 0x83, + 0xdb, 0x3f, 0x28, 0x83, 0x25, 0x1f, 0x68, 0xee, 0xa7, 0x5e, 0x44, 0xb7, 0x93, 0x61, 0x1c, 0x90, + 0x07, 0x50, 0x31, 0xee, 0x15, 0xaf, 0x9b, 0xcf, 0x38, 0x11, 0x60, 0xdc, 0x33, 0x20, 0x90, 0xb4, + 0xa0, 0x36, 0x8c, 0x4f, 0x85, 0x8a, 0x06, 0x23, 0xe7, 0x67, 0x85, 0x98, 0xdc, 0x80, 0x39, 0xf9, + 0xb4, 0x4c, 0x75, 0x86, 0xfa, 0x22, 0xeb, 0x50, 0xf3, 0xbd, 0xd0, 0xdf, 0x1f, 0xc6, 0x3e, 0x9f, + 0x72, 0x9a, 0x57, 0x28, 0xc9, 0xff, 0x83, 0x7a, 0x4f, 0x54, 0xd2, 0xc5, 0xe7, 0x09, 0xea, 0x69, + 0xf1, 0xc8, 0x81, 0x3b, 0xaa, 0xf1, 0x25, 0x03, 0xf9, 0x06, 0x2c, 0xf8, 0xd1, 0x40, 0x9e, 0x1d, + 0x18, 0xd7, 0x26, 0xea, 0x2d, 0x30, 0x62, 0x76, 0xa2, 0xc1, 0xae, 0x97, 0x79, 0x78, 0x9f, 0x57, + 0xf7, 0x8b, 0x8f, 0xd6, 0x0f, 0x4b, 0x50, 0x37, 0x3a, 0xe5, 0x79, 0xfd, 0x81, 0x80, 0x89, 0xfe, + 0xf8, 0x1a, 0xcc, 0xf2, 0xcc, 0x53, 0x23, 0x93, 0x3f, 0x40, 0x1e, 0xef, 0x67, 0x47, 0x82, 0xc8, + 0x3a, 0xcc, 0xd0, 0x58, 0x8f, 0xd3, 0x55, 0x58, 0x01, 0x69, 0xfd, 0xba, 0x04, 0x73, 0x52, 0x43, + 0x5e, 0x87, 0x5a, 0x6f, 0x18, 0xfb, 0x2e, 0xde, 0x94, 0x4c, 0x1e, 0xb1, 0x57, 0x85, 0x72, 0x97, + 0x72, 0x7f, 0xe2, 0x98, 0xb5, 0xfc, 0x45, 0xc7, 0xac, 0xe6, 0xf9, 0xf3, 0xcc, 0xf3, 0xce, 0x9f, + 0x5f, 0x87, 0x59, 0xec, 0x70, 0xf5, 0xb8, 0x72, 0x69, 0xa2, 0xe6, 0x8e, 0xd4, 0x17, 0xae, 0x38, + 0xfb, 0x3c, 0x57, 0xfc, 0x36, 0x34, 0xf0, 0x74, 0x9e, 0xc5, 0x7d, 0xd1, 0x04, 0xf2, 0x00, 0x16, + 0xfa, 0xea, 0x5b, 0x1e, 0xf5, 0x4e, 0xb6, 0xb2, 0xd1, 0x37, 0x08, 0xad, 0xc7, 0x50, 0xd7, 0x06, + 0xba, 0x34, 0x23, 0xef, 0x41, 0x73, 0x84, 0xaf, 0xa3, 0x4a, 0x5d, 0xf3, 0x98, 0x65, 0x39, 0x0b, + 0xa6, 0x21, 0xde, 0xfa, 0x7e, 0x09, 0xe6, 0xe4, 0x6b, 0x5e, 0xf2, 0xb6, 0x51, 0x8b, 0xfc, 0x5d, + 0x64, 0xde, 0x58, 0xa3, 0xbc, 0xa2, 0x32, 0x5d, 0x9a, 0xf1, 0x17, 0x3c, 0x03, 0xb7, 0x61, 0xfe, + 0x29, 0x4d, 0xf1, 0x55, 0xa8, 0x8c, 0x0a, 0xfd, 0xd9, 0x7a, 0x03, 0x6a, 0xa2, 0x2e, 0xf2, 0x45, + 0xe4, 0x17, 0x5e, 0xe9, 0xb4, 0xfe, 0xb0, 0x04, 0xf3, 0xea, 0xfd, 0x31, 0xb9, 0x0f, 0x30, 0x48, + 0x93, 0x4f, 0x47, 0x1a, 0xbd, 0x58, 0x50, 0xe4, 0xdb, 0xd0, 0x9a, 0x80, 0xc8, 0x2b, 0x9e, 0x47, + 0x70, 0xa3, 0x4f, 0x63, 0x9a, 0x7a, 0x62, 0x27, 0xa0, 0xce, 0x0e, 0xe4, 0x53, 0xb2, 0x32, 0x3e, + 0x25, 0x5b, 0xc9, 0xb5, 0xf2, 0x04, 0x41, 0xbe, 0x29, 0x7b, 0xb1, 0xfc, 0xf2, 0x1a, 0x34, 0x47, + 0x5f, 0x39, 0x93, 0x15, 0x7d, 0xce, 0x2e, 0x4f, 0x33, 0xe5, 0xc7, 0xc6, 0xef, 0xcf, 0xc8, 0x7f, + 0x78, 0xc0, 0x4b, 0xcb, 0x25, 0x58, 0x10, 0x7f, 0xf3, 0x17, 0x30, 0xd6, 0x35, 0x2d, 0xca, 0xaf, + 0x24, 0xad, 0x92, 0x16, 0xe5, 0xf7, 0x71, 0x56, 0x99, 0x2c, 0xc3, 0xa2, 0x10, 0x19, 0x37, 0x51, + 0xd6, 0x0c, 0x69, 0x40, 0x15, 0xad, 0x25, 0x83, 0x8e, 0x55, 0x21, 0x0b, 0x50, 0x13, 0x5f, 0x78, + 0x89, 0x61, 0xcd, 0xe6, 0x46, 0x70, 0x1b, 0xbf, 0xd5, 0xef, 0x5b, 0x73, 0x1a, 0xff, 0x51, 0xc2, + 0x62, 0x6b, 0x5e, 0x7f, 0x3d, 0x61, 0x61, 0x68, 0x55, 0xc9, 0x0d, 0x20, 0xe2, 0x6b, 0xf4, 0xb9, + 0xb3, 0x55, 0x23, 0x36, 0xac, 0x98, 0x72, 0xfd, 0x20, 0xd5, 0x02, 0x42, 0xa0, 0x29, 0x34, 0xc5, + 0xfd, 0x9c, 0x55, 0x27, 0xab, 0x70, 0x03, 0x65, 0x13, 0x4f, 0x7d, 0xac, 0x86, 0x2e, 0x4f, 0xa4, + 0x70, 0x6b, 0x81, 0x34, 0x01, 0xc4, 0x97, 0x8c, 0x29, 0xab, 0xa9, 0xbf, 0xe5, 0x48, 0x5b, 0x8b, + 0x64, 0x11, 0xea, 0xc5, 0xf7, 0xa6, 0x65, 0xe9, 0x0a, 0x8e, 0xf6, 0xb9, 0xb5, 0xa4, 0x7b, 0xc6, + 0x78, 0xf8, 0x6b, 0xad, 0x90, 0x97, 0xc0, 0x56, 0xec, 0x89, 0xab, 0x0d, 0xeb, 0xfa, 0xc6, 0xbb, + 0xd0, 0x30, 0x9f, 0xb7, 0x8a, 0xb2, 0x8e, 0x3d, 0xce, 0x4f, 0xce, 0xd2, 0x64, 0xd8, 0x3f, 0xb3, + 0xae, 0x89, 0xae, 0xcc, 0xcb, 0xb1, 0x4a, 0xa4, 0x0a, 0x95, 0xc7, 0x1e, 0x3f, 0xb3, 0xca, 0x1b, + 0xdf, 0x84, 0xc5, 0xb1, 0x67, 0xcd, 0x42, 0xd9, 0x39, 0xea, 0xec, 0x59, 0xd7, 0xc4, 0xaf, 0xfd, + 0xad, 0xee, 0x89, 0x55, 0x22, 0x2b, 0x60, 0x3d, 0x6e, 0x7f, 0xf8, 0xd8, 0xdd, 0x39, 0x3a, 0x3c, + 0x76, 0xf6, 0xba, 0xdd, 0xf6, 0x51, 0xc7, 0x2a, 0x6f, 0xdc, 0x07, 0x28, 0x9e, 0xb1, 0x91, 0x1a, + 0xcc, 0xe2, 0x49, 0x8e, 0x24, 0x9e, 0xb0, 0x27, 0x1f, 0x5b, 0x25, 0x52, 0x87, 0x79, 0x35, 0xb5, + 0x5b, 0xe5, 0x8d, 0x87, 0xb0, 0xa8, 0xb6, 0x6f, 0xa2, 0x6d, 0x4f, 0x58, 0x2c, 0xa6, 0x1a, 0xd2, + 0xee, 0x7c, 0xbc, 0x75, 0xd0, 0xde, 0x75, 0xdb, 0x9d, 0xdd, 0xbd, 0xef, 0xb9, 0x4f, 0xda, 0x9d, + 0x5d, 0x69, 0xe1, 0x71, 0xa7, 0xfb, 0x89, 0x55, 0xda, 0x38, 0x85, 0x95, 0x69, 0x2f, 0x5f, 0xc9, + 0x6d, 0xb8, 0xa9, 0x99, 0xbb, 0xed, 0xee, 0xc9, 0x56, 0x67, 0x67, 0xcf, 0x3d, 0xdc, 0x3b, 0x71, + 0xda, 0x3b, 0xd6, 0x35, 0x32, 0x07, 0xe5, 0x83, 0xb7, 0xac, 0x12, 0xfe, 0xdd, 0xb4, 0xca, 0x04, + 0x60, 0x6e, 0xe7, 0xa8, 0xdb, 0xee, 0xec, 0x59, 0x33, 0xc2, 0x8f, 0xda, 0x9d, 0xce, 0x9e, 0xe3, + 0x1e, 0x3b, 0x47, 0xbb, 0xdf, 0xdd, 0x39, 0xb1, 0x2a, 0x1b, 0x6f, 0x15, 0x6f, 0x78, 0xb1, 0x29, + 0x2b, 0x60, 0xb5, 0xe3, 0xa7, 0x5e, 0xc8, 0x82, 0x5c, 0x66, 0x5d, 0x13, 0x6d, 0x39, 0x92, 0xf9, + 0xd4, 0x2a, 0x6d, 0xfc, 0x4e, 0xf1, 0xc0, 0x14, 0x29, 0x37, 0x61, 0xd9, 0xfc, 0x56, 0x74, 0xeb, + 0xda, 0xb8, 0xa2, 0x93, 0x74, 0xfd, 0x24, 0xa5, 0x56, 0x89, 0xdc, 0x82, 0xeb, 0xa6, 0xe2, 0x13, + 0x96, 0x9d, 0x49, 0x55, 0x79, 0xe3, 0x97, 0x25, 0xa8, 0xea, 0xc7, 0x41, 0x45, 0x3c, 0xc5, 0x34, + 0x45, 0x4f, 0xbf, 0x46, 0xae, 0xc3, 0x12, 0x46, 0x06, 0xed, 0x65, 0x47, 0xc3, 0x4c, 0x89, 0x4b, + 0xda, 0xa3, 0x1c, 0xd6, 0x3f, 0x33, 0xe4, 0x65, 0x62, 0x41, 0x43, 0x86, 0x9f, 0x7c, 0xe2, 0x61, + 0xcd, 0x88, 0x06, 0x62, 0xf4, 0xc5, 0x19, 0xcb, 0xa5, 0x15, 0x51, 0xa3, 0x11, 0xb3, 0xb9, 0x6a, + 0x96, 0xdc, 0x81, 0x5b, 0x9a, 0x30, 0xa9, 0x9e, 0xdb, 0x58, 0x83, 0x86, 0xf9, 0x28, 0x49, 0x97, + 0x28, 0x9c, 0x4c, 0x56, 0x79, 0xe3, 0x1b, 0xb0, 0x34, 0xf1, 0x00, 0x42, 0x0c, 0x4f, 0xbb, 0x23, + 0x7b, 0xf6, 0xb0, 0xdd, 0x71, 0x0f, 0xb7, 0xbe, 0x67, 0x95, 0x04, 0x77, 0xfb, 0xe0, 0xe8, 0xe8, + 0xd0, 0xdd, 0x6f, 0x1f, 0x9c, 0xec, 0x39, 0x56, 0x79, 0x63, 0x63, 0x8c, 0x8b, 0x6e, 0x2a, 0xdc, + 0xed, 0x68, 0x67, 0xeb, 0xc0, 0xba, 0x26, 0x46, 0xf7, 0xc3, 0x83, 0xa3, 0xed, 0xad, 0x03, 0xab, + 0xb4, 0xb1, 0x0d, 0x4b, 0x13, 0x97, 0xb7, 0x22, 0x1e, 0xf6, 0x93, 0xd4, 0xa7, 0x52, 0x24, 0xdd, + 0x6b, 0x6b, 0x98, 0x25, 0x56, 0x49, 0x04, 0x3d, 0xaa, 0x64, 0x5a, 0x61, 0x71, 0xdf, 0x2a, 0x6f, + 0x7c, 0x1b, 0x16, 0xc7, 0x96, 0x50, 0x22, 0x80, 0xf6, 0x93, 0x30, 0x4c, 0x9e, 0x09, 0x04, 0xc6, + 0xd3, 0x71, 0x4a, 0x7d, 0x1a, 0x88, 0xcf, 0x92, 0x88, 0xf5, 0x1d, 0xbc, 0x5e, 0xcb, 0x9c, 0xe4, + 0x99, 0x55, 0xde, 0x38, 0x02, 0x6b, 0x7c, 0xd9, 0x42, 0xe6, 0x61, 0xa6, 0x1d, 0x67, 0xd6, 0x35, + 0x51, 0xf1, 0xfd, 0x30, 0xf1, 0x32, 0x19, 0x1d, 0xbb, 0xd4, 0x67, 0x91, 0x17, 0x5a, 0x65, 0x91, + 0x4e, 0x76, 0xbd, 0x8c, 0x9e, 0xb0, 0x88, 0xca, 0x54, 0xb8, 0x3b, 0x94, 0xb7, 0x7e, 0x56, 0x45, + 0x44, 0xce, 0xd8, 0x22, 0x46, 0x34, 0x41, 0xec, 0x1d, 0x64, 0xf3, 0xb1, 0x34, 0x6e, 0x95, 0xb0, + 0x2b, 0xc4, 0xdc, 0xc6, 0xad, 0xf2, 0xf6, 0x57, 0x7f, 0xf5, 0x9b, 0xbb, 0xa5, 0x7f, 0xf9, 0xcd, + 0xdd, 0xd2, 0xbf, 0xff, 0xe6, 0x6e, 0xe9, 0x47, 0xff, 0x71, 0xf7, 0x1a, 0x5c, 0xf7, 0x93, 0xe8, + 0xbe, 0x98, 0xf7, 0x7c, 0x6f, 0x70, 0x3f, 0x63, 0xc1, 0x29, 0xce, 0x04, 0xc7, 0xa5, 0xff, 0x09, + 0x00, 0x00, 0xff, 0xff, 0x49, 0x46, 0x62, 0xc3, 0x11, 0x37, 0x00, 0x00, } diff --git a/go-tipb/expression.pb.go b/go-tipb/expression.pb.go index 4ab0a256..871b850c 100644 --- a/go-tipb/expression.pb.go +++ b/go-tipb/expression.pb.go @@ -626,6 +626,12 @@ const ( ScalarFuncSig_IfNullVectorFloat32 ScalarFuncSig = 5160 ScalarFuncSig_IfVectorFloat32 ScalarFuncSig = 5161 ScalarFuncSig_CaseWhenVectorFloat32 ScalarFuncSig = 5162 + // fts + ScalarFuncSig_FTSMatchWord ScalarFuncSig = 5201 + ScalarFuncSig_FTSMatchExpression ScalarFuncSig = 5202 + ScalarFuncSig_FTSMatchPrefix ScalarFuncSig = 5203 + ScalarFuncSig_FTSMatchRegexp ScalarFuncSig = 5204 + ScalarFuncSig_FTSMatchPhrase ScalarFuncSig = 5205 // time ScalarFuncSig_DateFormatSig ScalarFuncSig = 6001 ScalarFuncSig_DateLiteral ScalarFuncSig = 6002 @@ -1262,6 +1268,11 @@ var ScalarFuncSig_name = map[int32]string{ 5160: "IfNullVectorFloat32", 5161: "IfVectorFloat32", 5162: "CaseWhenVectorFloat32", + 5201: "FTSMatchWord", + 5202: "FTSMatchExpression", + 5203: "FTSMatchPrefix", + 5204: "FTSMatchRegexp", + 5205: "FTSMatchPhrase", 6001: "DateFormatSig", 6002: "DateLiteral", 6003: "DateDiff", @@ -1895,6 +1906,11 @@ var ScalarFuncSig_value = map[string]int32{ "IfNullVectorFloat32": 5160, "IfVectorFloat32": 5161, "CaseWhenVectorFloat32": 5162, + "FTSMatchWord": 5201, + "FTSMatchExpression": 5202, + "FTSMatchPrefix": 5203, + "FTSMatchRegexp": 5204, + "FTSMatchPhrase": 5205, "DateFormatSig": 6001, "DateLiteral": 6002, "DateDiff": 6003, @@ -3575,370 +3591,373 @@ var ( func init() { proto.RegisterFile("expression.proto", fileDescriptorExpression) } var fileDescriptorExpression = []byte{ - // 5838 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x74, 0x7b, 0x67, 0x78, 0x1b, 0xc7, - 0xb9, 0xae, 0xa1, 0x62, 0x49, 0xab, 0x36, 0x5e, 0x4b, 0x26, 0xac, 0x38, 0x22, 0x69, 0xe6, 0x5e, - 0x32, 0xce, 0xbd, 0x84, 0x4c, 0x3b, 0x60, 0x7e, 0x9c, 0x06, 0xb1, 0x19, 0x39, 0x24, 0x45, 0x11, - 0x20, 0x9d, 0xf3, 0xcb, 0xcf, 0x12, 0x18, 0x82, 0x1b, 0x03, 0xbb, 0xf0, 0xee, 0x40, 0x22, 0x73, - 0xca, 0xe3, 0xde, 0x7b, 0x5c, 0xe4, 0xae, 0xea, 0x9a, 0xde, 0xdd, 0x6b, 0x62, 0xc9, 0x25, 0x71, - 0xe2, 0xde, 0x6d, 0xd9, 0x8e, 0x7b, 0x62, 0xc7, 0xbd, 0xe6, 0x3c, 0xdf, 0x3b, 0x05, 0xbb, 0x20, - 0xf3, 0x8b, 0x3b, 0xef, 0xd7, 0xde, 0xf9, 0xe6, 0x9b, 0xd9, 0x99, 0x59, 0xd0, 0x62, 0x7c, 0xba, - 0x1a, 0xf0, 0x30, 0x74, 0x7d, 0xaf, 0xb3, 0x1a, 0xf8, 0xc2, 0xb7, 0x17, 0x08, 0xb7, 0x3a, 0xb1, - 0x66, 0x45, 0x85, 0x0b, 0xa7, 0xe8, 0x08, 0x47, 0xa2, 0x6b, 0x56, 0x95, 0xfc, 0x92, 0x8f, 0xc7, - 0x14, 0x3d, 0x49, 0xf4, 0xe0, 0xb7, 0x13, 0xd6, 0x92, 0x7e, 0x97, 0x97, 0x8b, 0xf9, 0x99, 0x2a, - 0xb7, 0x57, 0x59, 0xf3, 0x44, 0x35, 0x99, 0x68, 0x49, 0x74, 0x2c, 0x5c, 0xbf, 0x60, 0xf7, 0x73, - 0xcd, 0xfb, 0x8c, 0xce, 0x13, 0x55, 0x3b, 0x69, 0x2d, 0x98, 0x2c, 0x3b, 0xa5, 0xe4, 0xbc, 0x96, - 0x44, 0xc7, 0x72, 0x85, 0x03, 0x91, 0x12, 0xee, 0x25, 0xe7, 0x47, 0x2c, 0x80, 0xd8, 0x6b, 0xad, - 0x45, 0x45, 0x5e, 0x70, 0x2b, 0x4e, 0x39, 0xb9, 0x20, 0x22, 0xd4, 0x20, 0xc9, 0x0b, 0x7e, 0xb9, - 0xec, 0x08, 0x9e, 0x5c, 0x18, 0x95, 0x2b, 0x10, 0xf2, 0x29, 0x27, 0x08, 0xb9, 0x48, 0xee, 0xdb, - 0x92, 0xe8, 0x58, 0x62, 0xe4, 0x12, 0xb4, 0xd7, 0x58, 0x0b, 0x79, 0x99, 0x57, 0xc2, 0xe4, 0xa2, - 0x96, 0xf9, 0x46, 0x2a, 0x21, 0x92, 0x39, 0x41, 0xe0, 0xcc, 0x24, 0x17, 0xb7, 0x24, 0x3a, 0x16, - 0x6b, 0x19, 0xa0, 0x83, 0xdf, 0x99, 0x67, 0x2d, 0xe8, 0x9b, 0xae, 0x06, 0xf6, 0xd7, 0x4c, 0x57, - 0x57, 0x74, 0xad, 0xe8, 0xa4, 0x8c, 0x75, 0x12, 0x4e, 0x69, 0x88, 0x74, 0x9d, 0x59, 0xf3, 0x37, - 0x39, 0x65, 0xf4, 0x7c, 0xd9, 0x28, 0x3d, 0xda, 0xff, 0xd7, 0x5a, 0x5c, 0x98, 0x72, 0xcb, 0xc5, - 0x00, 0xdd, 0x9e, 0xdf, 0xb1, 0xb4, 0xcb, 0xaa, 0x5b, 0x8f, 0x1a, 0x99, 0xfd, 0x0d, 0x6b, 0x7e, - 0xe8, 0x96, 0xd0, 0xf9, 0x15, 0x5d, 0xfb, 0x4b, 0x95, 0x5c, 0xc1, 0x29, 0x3b, 0x41, 0x7f, 0xcd, - 0x2b, 0xe4, 0xdc, 0x92, 0x8a, 0x42, 0x5a, 0x76, 0xa7, 0x65, 0x4d, 0xd2, 0x20, 0x1c, 0x25, 0x66, - 0xaa, 0x32, 0x21, 0x4b, 0xbb, 0x56, 0x4a, 0x1b, 0x33, 0x38, 0xa3, 0x4b, 0x26, 0xcd, 0x38, 0xb5, - 0x58, 0xcb, 0x82, 0xaa, 0x77, 0x94, 0x13, 0x94, 0xc2, 0xa3, 0x28, 0xff, 0x94, 0xa2, 0xe5, 0xa3, - 0x56, 0x50, 0xf5, 0x32, 0x41, 0x29, 0x1c, 0xe4, 0x9e, 0xdd, 0x6e, 0x2d, 0x9b, 0x72, 0xc2, 0xa3, - 0x8a, 0x6e, 0x28, 0x5c, 0xaf, 0x20, 0x92, 0x8b, 0x22, 0xa9, 0x58, 0x3a, 0xe5, 0x84, 0xbd, 0x4a, - 0x60, 0xb7, 0x5b, 0x8b, 0xfd, 0xa0, 0xc8, 0x83, 0xa3, 0x26, 0x28, 0x5f, 0xd4, 0x9f, 0x65, 0x32, - 0xf0, 0xfa, 0x99, 0xac, 0xe0, 0x95, 0xd1, 0x45, 0x90, 0xae, 0x9f, 0xb1, 0xbb, 0xad, 0xa5, 0x4e, - 0xa9, 0x44, 0xe4, 0x87, 0xfc, 0x22, 0x4f, 0x2e, 0x41, 0xc7, 0x56, 0x4b, 0xdd, 0x8c, 0x14, 0x08, - 0xd7, 0xf7, 0x48, 0x38, 0x1a, 0xd5, 0x3c, 0xf8, 0x1b, 0xd6, 0xa2, 0xd1, 0xaa, 0x87, 0xa4, 0xb7, - 0x58, 0x0b, 0xa9, 0x5a, 0xc3, 0x64, 0x62, 0x56, 0xe6, 0xa4, 0xe0, 0xe0, 0xb2, 0xb5, 0xaf, 0x0c, - 0x6c, 0xaf, 0xb5, 0x16, 0x10, 0x84, 0x21, 0x8a, 0xab, 0x02, 0xa7, 0xda, 0x2b, 0xf2, 0xb0, 0x80, - 0xb1, 0xd1, 0x3d, 0x03, 0x62, 0x77, 0x58, 0x8b, 0x29, 0x3b, 0xb0, 0x9e, 0x0f, 0xeb, 0xe5, 0xd2, - 0x5a, 0xd1, 0x18, 0x5d, 0x14, 0xc8, 0x87, 0x43, 0x5e, 0x5e, 0x68, 0x2d, 0xd6, 0xa3, 0x6e, 0x2f, - 0xb6, 0x16, 0x0c, 0xd7, 0xca, 0x65, 0xb6, 0x8f, 0xbd, 0xc4, 0x5a, 0x98, 0xf5, 0x44, 0xfa, 0x70, - 0x96, 0xb0, 0x2d, 0x6b, 0xdf, 0x31, 0x17, 0xcf, 0xf3, 0xec, 0xa5, 0xd6, 0xa2, 0xfe, 0xb2, 0xef, - 0x88, 0xc3, 0xba, 0xd8, 0x7c, 0xd3, 0x48, 0x1f, 0xce, 0x16, 0x90, 0x56, 0x4e, 0x04, 0xae, 0x57, - 0x62, 0x0b, 0xc9, 0x78, 0xfd, 0x8c, 0xe0, 0x21, 0xdb, 0xd7, 0x5e, 0x66, 0x2d, 0x1e, 0x9a, 0x09, - 0x8f, 0x29, 0xaf, 0x77, 0x05, 0xe3, 0x36, 0xb3, 0x96, 0xa1, 0xd5, 0x2b, 0xa7, 0x00, 0x9b, 0xb4, - 0xf7, 0xb3, 0x96, 0x4b, 0xa4, 0x16, 0x38, 0x94, 0x3b, 0x56, 0xb2, 0x97, 0x5b, 0x4b, 0x00, 0xf5, - 0x79, 0xb5, 0x0a, 0x9b, 0x32, 0x1e, 0x8e, 0xe0, 0xd3, 0xcc, 0x35, 0xad, 0x1c, 0x17, 0xec, 0xbb, - 0x46, 0x35, 0xef, 0x56, 0x38, 0x3b, 0xda, 0x34, 0xbf, 0x1d, 0xfa, 0x1e, 0x2b, 0xdb, 0xab, 0xad, - 0xfd, 0xf2, 0x6e, 0xef, 0xfa, 0x71, 0x5e, 0x10, 0x7e, 0xa0, 0x69, 0xcf, 0xd8, 0x2b, 0xac, 0x25, - 0xe3, 0x4e, 0xb9, 0xc6, 0x07, 0xdd, 0x50, 0xb0, 0x8b, 0x13, 0xd4, 0xee, 0xf1, 0xcb, 0xb5, 0x8a, - 0x37, 0xca, 0x27, 0xd9, 0x1e, 0xea, 0xef, 0xc2, 0x1e, 0xbf, 0xe6, 0x09, 0x76, 0x63, 0x93, 0xbd, - 0xd8, 0x9a, 0x9f, 0xab, 0x55, 0xd8, 0x4d, 0x78, 0xca, 0x6c, 0x2a, 0xb1, 0x9b, 0xf1, 0x34, 0xe4, - 0x7a, 0xec, 0x16, 0xf9, 0xe4, 0x4c, 0xb3, 0x5b, 0x9b, 0xc8, 0xa6, 0xdf, 0x0d, 0x42, 0xc1, 0x6e, - 0x6b, 0xb2, 0x99, 0xb5, 0x74, 0x20, 0xf0, 0x6b, 0xd5, 0x1e, 0xdf, 0x2b, 0x38, 0x82, 0xdd, 0xde, - 0x64, 0xaf, 0xb4, 0xac, 0x4c, 0xa9, 0x74, 0xd4, 0x7a, 0x57, 0x64, 0xbc, 0x22, 0xbb, 0xa3, 0x89, - 0x42, 0x2a, 0x60, 0x43, 0xc0, 0xee, 0x8c, 0x2a, 0x7c, 0xc7, 0x0f, 0xd8, 0x5d, 0x32, 0xae, 0x28, - 0xb2, 0xbb, 0x9b, 0xec, 0xa5, 0x94, 0xd7, 0x62, 0x91, 0x6f, 0x62, 0xf7, 0xc0, 0x4e, 0x36, 0x46, - 0xfc, 0x2a, 0xfb, 0x2d, 0xec, 0x64, 0x3b, 0xe7, 0x54, 0xaa, 0xec, 0x77, 0xd0, 0x1e, 0x77, 0x02, - 0x92, 0xde, 0xdb, 0x64, 0x2f, 0xb3, 0x16, 0x8d, 0x3b, 0x01, 0x44, 0xbb, 0x9b, 0xec, 0xe5, 0xd6, - 0xe2, 0x71, 0x27, 0x70, 0x1d, 0xaf, 0xc0, 0xd9, 0x9e, 0x26, 0x7b, 0x3f, 0x6b, 0x19, 0xa5, 0x29, - 0x43, 0x4b, 0x42, 0xa6, 0x54, 0x62, 0xf7, 0x35, 0xd9, 0xb6, 0xb5, 0x9c, 0xa0, 0x0d, 0x13, 0xdf, - 0xe5, 0x05, 0x41, 0xd8, 0xfd, 0x4d, 0x76, 0xd2, 0xda, 0x3f, 0x53, 0xad, 0x06, 0xfe, 0x34, 0x52, - 0xa2, 0xa7, 0x0c, 0x7b, 0x00, 0x5c, 0x46, 0xfd, 0xcd, 0xc3, 0xb5, 0xca, 0x04, 0x0f, 0xd8, 0xb6, - 0x66, 0x7b, 0x89, 0xb5, 0x60, 0xd4, 0xf1, 0x8e, 0x66, 0xdb, 0x9b, 0x49, 0xd4, 0xcb, 0xbd, 0x90, - 0xa3, 0xbd, 0xa3, 0x99, 0x42, 0xf7, 0xd4, 0x2a, 0x9c, 0xac, 0xd9, 0xce, 0x66, 0x4a, 0xd0, 0x08, - 0x0f, 0x0a, 0xdc, 0x13, 0x50, 0xd8, 0xd5, 0x4c, 0xe9, 0x1b, 0x16, 0x6e, 0x99, 0xb3, 0xab, 0xe1, - 0x67, 0x90, 0x3b, 0x45, 0x76, 0x4d, 0x33, 0x65, 0x61, 0xd0, 0x29, 0xb1, 0x6b, 0x9b, 0xa9, 0xa3, - 0xc8, 0x2f, 0x06, 0x8e, 0x5d, 0x87, 0x10, 0x83, 0x8e, 0x6e, 0x5f, 0x8f, 0x10, 0xc3, 0x62, 0x4a, - 0x36, 0x6f, 0x80, 0x7e, 0x7d, 0xa5, 0x61, 0xe7, 0x0e, 0x1f, 0x72, 0xc1, 0x84, 0xb5, 0x3c, 0xb6, - 0xf6, 0xd8, 0x2b, 0xad, 0xa5, 0x63, 0x5e, 0x58, 0xe5, 0x05, 0x77, 0xd2, 0xe5, 0x45, 0xb6, 0x0f, - 0x15, 0x67, 0x8f, 0x13, 0x8a, 0xac, 0x27, 0x32, 0x61, 0xd6, 0x13, 0x2c, 0x41, 0xc5, 0x69, 0x90, - 0x51, 0xee, 0x94, 0xd9, 0x3c, 0x7b, 0x7f, 0x6b, 0xa5, 0x81, 0x54, 0xbd, 0xcf, 0xb7, 0x57, 0x59, - 0xcc, 0x80, 0xba, 0xb4, 0x17, 0xc4, 0xac, 0x51, 0xa0, 0x0b, 0xa9, 0x22, 0xeb, 0x8a, 0xba, 0xe2, - 0xf7, 0x8d, 0x69, 0xa2, 0x76, 0x17, 0x69, 0x88, 0xa2, 0x4a, 0x36, 0x96, 0x6d, 0x5b, 0x2b, 0xea, - 0x10, 0xe8, 0x2c, 0xd5, 0x91, 0x25, 0xa6, 0xf8, 0x2c, 0xd3, 0x61, 0x24, 0xaa, 0x09, 0x2d, 0x8f, - 0x3b, 0x00, 0xa3, 0x15, 0xf6, 0x01, 0x96, 0x1d, 0x51, 0xd5, 0x94, 0x56, 0xc6, 0x75, 0xc1, 0x89, - 0xe9, 0x60, 0xca, 0xa1, 0xa4, 0xb5, 0x4a, 0x07, 0x33, 0x28, 0x98, 0xad, 0xb6, 0x9b, 0xac, 0xfd, - 0x63, 0xb0, 0x22, 0x77, 0x80, 0x9d, 0xb4, 0x56, 0xc5, 0x04, 0x9a, 0x5f, 0xd3, 0x2c, 0x4f, 0xa0, - 0x98, 0xb4, 0x0f, 0xb4, 0x56, 0xc7, 0x0d, 0x34, 0xcb, 0x03, 0x67, 0x59, 0x80, 0xe8, 0x1a, 0x3d, - 0x48, 0x32, 0xa4, 0xe4, 0xb9, 0x56, 0xb3, 0xd7, 0x20, 0x68, 0x36, 0xeb, 0xfe, 0x6b, 0x54, 0xb1, - 0x6c, 0xd1, 0xf4, 0x35, 0xae, 0x49, 0xb6, 0x36, 0xba, 0x01, 0xc7, 0x83, 0x75, 0xa7, 0x8c, 0xba, - 0xa6, 0xd8, 0xd6, 0xa8, 0x0f, 0x86, 0x5f, 0xd3, 0xc3, 0x4b, 0xd6, 0x92, 0x5f, 0x87, 0xce, 0xb8, - 0x84, 0xc0, 0xee, 0xeb, 0xda, 0x58, 0x62, 0x8a, 0xdb, 0x21, 0xba, 0xd7, 0x12, 0xd5, 0xcc, 0xbe, - 0x11, 0x77, 0x00, 0x5e, 0xff, 0x4f, 0x77, 0x4f, 0xa9, 0x6a, 0x56, 0xff, 0x3f, 0xae, 0x0b, 0x4e, - 0x9d, 0x26, 0x99, 0x4a, 0x4b, 0xf2, 0xea, 0xd2, 0x2e, 0xea, 0x30, 0xb8, 0x1d, 0x66, 0xc6, 0xd1, - 0xe0, 0x8a, 0xdf, 0xe1, 0x66, 0xc0, 0x8c, 0x44, 0x73, 0xfc, 0xe6, 0x6c, 0x67, 0xe0, 0x99, 0xb6, - 0xd7, 0x58, 0x07, 0x34, 0x98, 0x68, 0xae, 0xdd, 0xb3, 0x6d, 0xc0, 0xf7, 0x5b, 0x3a, 0x87, 0x58, - 0xc5, 0xc0, 0xf5, 0x9f, 0x74, 0xb7, 0x24, 0x04, 0x9e, 0xff, 0xac, 0x73, 0x28, 0x31, 0xc5, 0xf1, - 0x5f, 0x74, 0x67, 0x25, 0xaa, 0xf9, 0xfd, 0x6b, 0xdc, 0x01, 0xb8, 0xfd, 0x9b, 0x8e, 0xaf, 0x54, - 0x35, 0xaf, 0x4c, 0x5c, 0x17, 0x9c, 0xd6, 0xd3, 0xd2, 0xd6, 0xe3, 0x3b, 0x65, 0x1e, 0x16, 0x38, - 0x31, 0x7a, 0xbd, 0x85, 0xd6, 0x59, 0x8d, 0x80, 0xd0, 0x1b, 0x2d, 0xf6, 0x2a, 0x6b, 0xa5, 0x86, - 0x74, 0xe4, 0x37, 0x5b, 0xec, 0xfd, 0xad, 0x15, 0x1a, 0x55, 0x2c, 0xdf, 0x8a, 0x59, 0x83, 0xcd, - 0xdb, 0x2d, 0xf6, 0x6a, 0x8b, 0x19, 0x6b, 0x4d, 0xe6, 0x2f, 0x31, 0x4d, 0x70, 0xf9, 0x6b, 0x0b, - 0xbd, 0x86, 0x07, 0xf3, 0x44, 0xa3, 0x48, 0x6f, 0xe7, 0xc1, 0x3c, 0xe2, 0x73, 0x7a, 0x4b, 0x0e, - 0xe6, 0xeb, 0x6f, 0xe0, 0x65, 0xd6, 0xe2, 0xc1, 0xbc, 0x8a, 0x58, 0x92, 0x8a, 0x08, 0x35, 0x65, - 0xaf, 0xb0, 0xac, 0xc1, 0xbc, 0x89, 0xe1, 0x4a, 0x19, 0x9c, 0x7f, 0x17, 0xbe, 0xfb, 0xc8, 0xb7, - 0x07, 0xb8, 0x0f, 0xbe, 0x7d, 0xf8, 0xee, 0xd3, 0xbe, 0xab, 0xf0, 0xdd, 0xa7, 0x7c, 0x1f, 0x23, - 0x15, 0xe1, 0x3b, 0x80, 0xef, 0x3e, 0xe3, 0x3b, 0x94, 0x32, 0xf8, 0x16, 0xe4, 0x7b, 0x00, 0xbc, - 0xa7, 0x09, 0x1e, 0x90, 0xbc, 0x67, 0xc8, 0xf7, 0x80, 0xe1, 0xfd, 0x3d, 0xf2, 0x3d, 0xa0, 0x79, - 0xff, 0xa7, 0x54, 0x84, 0xef, 0xff, 0x22, 0xdf, 0x03, 0x75, 0xde, 0xff, 0x2d, 0x65, 0xf0, 0xfd, - 0x3f, 0xf2, 0xe5, 0xcc, 0x1d, 0xc1, 0xb1, 0xdc, 0xb2, 0x8f, 0x90, 0x38, 0x8d, 0x20, 0xd0, 0xc7, - 0x18, 0x20, 0x0d, 0xe9, 0x78, 0x9f, 0x60, 0x80, 0x34, 0xaa, 0xc2, 0x7e, 0x1a, 0xb3, 0x46, 0xf4, - 0xcf, 0x5a, 0xe8, 0x55, 0x34, 0xc8, 0xe5, 0x72, 0xce, 0x3e, 0x6f, 0xc1, 0x9b, 0x8a, 0xab, 0xa5, - 0x94, 0x7d, 0x01, 0x0b, 0xb4, 0xb5, 0xe7, 0x2f, 0x5b, 0x88, 0x14, 0x20, 0xe5, 0xf6, 0xef, 0x75, - 0x23, 0xf8, 0x3c, 0xb6, 0x95, 0x34, 0xb2, 0x9e, 0xe0, 0xc1, 0x26, 0xa7, 0x4c, 0x6e, 0x8f, 0x6b, - 0x25, 0x37, 0x1a, 0x81, 0xe7, 0xe3, 0x5b, 0xe9, 0x2d, 0x3a, 0x80, 0x31, 0x39, 0x3e, 0x41, 0x1b, - 0x81, 0x01, 0x39, 0x28, 0x27, 0x60, 0x87, 0x33, 0x60, 0x46, 0xe5, 0xc4, 0x04, 0x31, 0x1c, 0xd0, - 0xc3, 0x72, 0x92, 0xd2, 0x45, 0xa4, 0x93, 0x13, 0xf4, 0xe6, 0x1c, 0xa8, 0x0f, 0xcc, 0x29, 0x4a, - 0x8a, 0xec, 0x9d, 0x8a, 0xbd, 0x51, 0xdf, 0x46, 0x0a, 0x71, 0x26, 0x04, 0x7d, 0x1b, 0x11, 0xe2, - 0x2c, 0x84, 0xe8, 0xdb, 0xa8, 0x43, 0x9c, 0x8d, 0x10, 0x7d, 0x1b, 0x55, 0x88, 0x73, 0x94, 0x2e, - 0x42, 0x9c, 0x8b, 0x10, 0x7d, 0x1b, 0x4d, 0x88, 0xf3, 0x94, 0x14, 0x21, 0xce, 0x47, 0x88, 0x61, - 0xf4, 0xe2, 0x22, 0x08, 0x86, 0x65, 0x2f, 0xe4, 0x3e, 0x6d, 0xd8, 0xf4, 0x62, 0x0b, 0x42, 0x0c, - 0xeb, 0x5e, 0x5c, 0xa2, 0x74, 0x11, 0xe2, 0x52, 0x84, 0x18, 0xae, 0xf7, 0xe2, 0x32, 0x25, 0x45, - 0x88, 0xcb, 0xa5, 0xa7, 0x5a, 0xb9, 0x2c, 0x7b, 0xb2, 0x55, 0x6a, 0xa3, 0x8d, 0x50, 0xdb, 0x12, - 0xb4, 0x13, 0x92, 0x80, 0x0e, 0xb7, 0x9d, 0x36, 0x03, 0xcb, 0x24, 0xa6, 0x42, 0xee, 0x88, 0xd8, - 0x21, 0xec, 0xce, 0x04, 0x95, 0x88, 0xb2, 0xd3, 0xa1, 0x77, 0x45, 0xb4, 0x10, 0xfe, 0x6a, 0x10, - 0x1f, 0x29, 0xd7, 0xe4, 0xfa, 0xb4, 0x3b, 0x81, 0xed, 0x50, 0xb9, 0x66, 0x16, 0xa1, 0x3d, 0x09, - 0xda, 0xb8, 0x11, 0x42, 0xec, 0xee, 0x07, 0xdb, 0x21, 0xd7, 0x53, 0xfa, 0x0f, 0x80, 0x08, 0xda, - 0xda, 0xe0, 0x41, 0x78, 0x04, 0x44, 0x16, 0x7f, 0x90, 0x1a, 0xb5, 0xb2, 0x70, 0xab, 0xe5, 0x19, - 0x18, 0x3d, 0x94, 0xa0, 0x92, 0xd6, 0x90, 0xb6, 0xfb, 0x23, 0x42, 0x6b, 0x94, 0x4c, 0xff, 0x04, - 0xb2, 0xbd, 0xee, 0x26, 0xb7, 0x28, 0x17, 0xab, 0x87, 0x91, 0x0a, 0x09, 0x68, 0xb3, 0x47, 0x12, - 0xaa, 0xf6, 0x24, 0x4c, 0x76, 0x8f, 0x26, 0x68, 0x55, 0x32, 0x90, 0xd6, 0x7c, 0x0c, 0x3d, 0x19, - 0xf2, 0x8b, 0xf0, 0xf5, 0x38, 0x9c, 0x0f, 0xf9, 0x45, 0x2d, 0x7e, 0x02, 0xa3, 0x32, 0xe4, 0x17, - 0xc9, 0xc5, 0x93, 0x09, 0xda, 0x6a, 0x46, 0xc8, 0x8c, 0x79, 0xa1, 0x5b, 0xf2, 0x78, 0x91, 0x3d, - 0x95, 0xb0, 0x0f, 0xb2, 0x9a, 0x54, 0x3e, 0x34, 0x6a, 0xa4, 0x4f, 0x27, 0xec, 0x35, 0xd6, 0xea, - 0x06, 0x69, 0x4e, 0xca, 0x9e, 0x89, 0xca, 0x72, 0x71, 0xbb, 0x67, 0x11, 0x2f, 0x26, 0x53, 0x56, - 0xcf, 0x25, 0xec, 0xaf, 0x58, 0x07, 0x48, 0x5a, 0xb3, 0xc2, 0x3d, 0x9f, 0xb0, 0x0f, 0xb4, 0x56, - 0xc5, 0x85, 0xca, 0xee, 0x85, 0x88, 0xa8, 0x21, 0xd8, 0x8b, 0x09, 0xbb, 0xc9, 0xb2, 0xa3, 0x22, - 0x65, 0xb3, 0x37, 0x61, 0x7f, 0xd5, 0x4a, 0xea, 0xa1, 0x9b, 0x15, 0xed, 0x25, 0x49, 0xa5, 0x41, - 0xac, 0x6c, 0x5f, 0x8e, 0x09, 0x1b, 0x22, 0xbe, 0x22, 0xc9, 0xc4, 0x84, 0xca, 0xee, 0xcf, 0x09, - 0xbb, 0xcd, 0x5a, 0xab, 0x45, 0xfd, 0x7e, 0x50, 0xa8, 0xdb, 0x19, 0xfb, 0x57, 0x13, 0x76, 0xab, - 0x75, 0xd0, 0xdc, 0x4a, 0xca, 0xcf, 0x6b, 0x73, 0xa8, 0x34, 0xb0, 0x78, 0x1d, 0x2a, 0xd1, 0x52, - 0x99, 0x15, 0xe8, 0x8d, 0x84, 0xdd, 0x6c, 0xad, 0x99, 0x4b, 0x45, 0x85, 0x79, 0x13, 0x29, 0x8a, - 0x2a, 0xc4, 0x7a, 0xf3, 0xd6, 0x2c, 0xfb, 0x06, 0x0e, 0x6f, 0xa3, 0xca, 0x32, 0x13, 0x98, 0x1b, - 0xbf, 0x64, 0x54, 0x91, 0x99, 0x89, 0x70, 0x8c, 0x5a, 0xbf, 0xd2, 0x2d, 0xd4, 0xe7, 0xaf, 0x19, - 0x8e, 0x61, 0x13, 0x66, 0x5e, 0xfd, 0x86, 0xe1, 0xa5, 0xca, 0x5d, 0x5a, 0x72, 0xf3, 0x7e, 0x2f, - 0x2f, 0xb0, 0x1b, 0xe3, 0x10, 0x39, 0xb9, 0xc9, 0x40, 0xbd, 0xbc, 0x20, 0xa1, 0x9b, 0xe3, 0x10, - 0x19, 0xde, 0xc2, 0x70, 0x08, 0xe2, 0xae, 0x5c, 0xac, 0x6f, 0x65, 0x34, 0xaf, 0xfa, 0xcb, 0xbe, - 0x1f, 0x18, 0xdf, 0xb7, 0x35, 0x60, 0xe4, 0xe9, 0xf6, 0x3a, 0x66, 0xbc, 0xdf, 0xd1, 0x80, 0x91, - 0xed, 0x9d, 0x8c, 0x56, 0x09, 0x60, 0xf0, 0x7f, 0x17, 0x93, 0xc7, 0xb3, 0x9a, 0x27, 0xe7, 0xde, - 0x1e, 0x84, 0x47, 0x9b, 0x5c, 0xdc, 0x57, 0x6f, 0x92, 0xf5, 0xfd, 0xcc, 0x3e, 0xc0, 0xda, 0x0f, - 0xcd, 0x23, 0x5d, 0x31, 0xd5, 0x1f, 0x38, 0x05, 0xb9, 0xd6, 0x30, 0x9a, 0xd6, 0x31, 0x9c, 0xac, - 0x1f, 0x9c, 0x0d, 0x93, 0x97, 0xdf, 0x23, 0x9b, 0x83, 0x7e, 0xe9, 0xd0, 0x4c, 0x50, 0x62, 0x0f, - 0x23, 0xc4, 0xa0, 0x5f, 0xea, 0xca, 0x04, 0xa5, 0x90, 0x3d, 0xc2, 0x70, 0xae, 0xf3, 0x4b, 0x5d, - 0xec, 0x51, 0x46, 0x4b, 0x3c, 0xe9, 0xad, 0x63, 0x8f, 0x31, 0x75, 0x6c, 0x2c, 0xb2, 0xc7, 0x19, - 0x55, 0x2c, 0x3d, 0x92, 0xd3, 0x1c, 0xe7, 0x45, 0x1c, 0xf8, 0x06, 0xb8, 0xc7, 0x9e, 0x60, 0x74, - 0x12, 0x1c, 0xf1, 0x37, 0xb3, 0x27, 0xa1, 0xdf, 0xe3, 0x7b, 0x9b, 0xd8, 0x53, 0x70, 0xd3, 0x33, - 0xda, 0x73, 0x58, 0x17, 0x7b, 0x1a, 0x30, 0x0d, 0x3c, 0x7b, 0x46, 0x3e, 0x1e, 0x13, 0x08, 0xf6, - 0x2c, 0x1e, 0x33, 0x05, 0x3f, 0x64, 0xcf, 0xc9, 0xc7, 0xd0, 0xf5, 0xd8, 0xf3, 0x20, 0x96, 0x11, - 0x8e, 0x07, 0x9e, 0x2f, 0x20, 0x53, 0xd4, 0x94, 0x44, 0x5f, 0x44, 0xac, 0x1e, 0x3f, 0x64, 0x7b, - 0xd5, 0x93, 0x60, 0x2f, 0xa1, 0x67, 0xbd, 0xbc, 0x14, 0x70, 0x1e, 0xb2, 0x97, 0x81, 0xf7, 0x4d, - 0x57, 0xd9, 0x2b, 0xcc, 0x5e, 0x64, 0xcd, 0x1b, 0xc9, 0xb2, 0x3f, 0x43, 0x61, 0xd4, 0x29, 0xba, - 0x8e, 0x17, 0xb2, 0x57, 0xa1, 0x90, 0x73, 0x3d, 0xf6, 0x1a, 0x9e, 0xf2, 0x8e, 0xc7, 0x5e, 0x67, - 0xb4, 0xd6, 0xe6, 0x83, 0x9a, 0x57, 0x70, 0x04, 0xd6, 0xcc, 0x37, 0x50, 0x24, 0x1a, 0x41, 0xbe, - 0xdf, 0xa4, 0x23, 0xd6, 0x4a, 0x0d, 0xe9, 0x32, 0x7c, 0x2b, 0xa6, 0x38, 0xe6, 0x7a, 0x82, 0xbd, - 0x8d, 0x52, 0x1d, 0xf4, 0x4b, 0x6e, 0xc1, 0x29, 0x67, 0xbc, 0x22, 0xbb, 0x22, 0x89, 0x1d, 0x83, - 0x04, 0x36, 0x04, 0xec, 0xca, 0x64, 0x44, 0xe1, 0x3b, 0x7e, 0xc0, 0xae, 0x4a, 0x52, 0xfc, 0x31, - 0xcf, 0x09, 0x66, 0x86, 0x7d, 0xec, 0x4c, 0xb6, 0x26, 0x29, 0x98, 0x46, 0x74, 0xb0, 0x6d, 0x49, - 0x0a, 0xa6, 0x51, 0xb0, 0xda, 0x1e, 0x83, 0xbe, 0x9d, 0xdb, 0x30, 0xcc, 0x76, 0x24, 0xa9, 0x04, - 0x01, 0x99, 0xd7, 0xce, 0xce, 0x24, 0xbd, 0xfd, 0xea, 0x18, 0x6c, 0x77, 0x25, 0xa9, 0xb2, 0xea, - 0xa0, 0x0e, 0x73, 0x35, 0x1c, 0xa8, 0x56, 0x36, 0xc4, 0x9d, 0xd3, 0x35, 0x70, 0xa0, 0x5f, 0x9c, - 0x0a, 0xbc, 0x16, 0x1d, 0x21, 0x5f, 0x0a, 0xb8, 0x0e, 0x6c, 0xe4, 0x2b, 0x58, 0x41, 0xd7, 0x43, - 0x87, 0x5e, 0xc1, 0x0a, 0xb8, 0x01, 0xd9, 0xc8, 0x7a, 0x42, 0xb5, 0x7f, 0x00, 0x05, 0x7a, 0xfb, - 0x2a, 0xe0, 0x87, 0x50, 0x90, 0xd7, 0x31, 0x39, 0xb7, 0xc4, 0x7e, 0x94, 0xa4, 0x9a, 0xc0, 0x6d, - 0x0c, 0x35, 0x7f, 0xac, 0xc5, 0xdf, 0xf1, 0xd1, 0xfe, 0x89, 0x6e, 0x0f, 0xf3, 0x12, 0xb5, 0x7f, - 0x5a, 0xf7, 0x9f, 0x0f, 0x6a, 0x9c, 0xfd, 0x2c, 0x42, 0x12, 0xc0, 0xcf, 0xe3, 0xdd, 0x03, 0xf6, - 0x0b, 0x28, 0xc1, 0xa8, 0xdf, 0x29, 0x87, 0x9c, 0xfd, 0x12, 0x43, 0x22, 0xad, 0x24, 0xf2, 0x2b, - 0x99, 0x01, 0x6d, 0x26, 0xc1, 0x5f, 0xcb, 0xa1, 0xe5, 0x93, 0x22, 0x37, 0xe5, 0x4e, 0x0a, 0x76, - 0xa3, 0x0c, 0xe6, 0x96, 0xa6, 0x14, 0x70, 0x13, 0x72, 0x6c, 0xd8, 0xd0, 0xec, 0x41, 0x27, 0x7f, - 0x97, 0xa4, 0x97, 0x4e, 0x9d, 0x95, 0x11, 0xdc, 0x9b, 0xa4, 0xd7, 0x62, 0x8c, 0x9d, 0x91, 0xed, - 0x86, 0x51, 0x9d, 0xa5, 0x11, 0xec, 0x49, 0xd2, 0xfb, 0x32, 0xc2, 0xd6, 0x48, 0xee, 0x4b, 0xd2, - 0x7b, 0x28, 0xce, 0xda, 0x08, 0xef, 0xd7, 0x99, 0x95, 0x37, 0x6a, 0xbf, 0x41, 0x0f, 0x07, 0xb8, - 0x18, 0x71, 0x02, 0xa7, 0xa2, 0x36, 0x52, 0x37, 0x27, 0xb1, 0xc7, 0xe4, 0x62, 0xdc, 0x09, 0xd8, - 0x2d, 0x68, 0x8c, 0xfa, 0x9b, 0x29, 0xd1, 0xb7, 0xa2, 0x91, 0x93, 0x92, 0xdb, 0x90, 0x54, 0xdc, - 0xf0, 0x98, 0x3a, 0xba, 0x1d, 0xfe, 0x14, 0xa6, 0xb7, 0x5c, 0x77, 0x24, 0xcd, 0x15, 0x1f, 0x2a, - 0xf3, 0x4e, 0x64, 0x4c, 0xb6, 0x51, 0xbe, 0x77, 0x45, 0x00, 0x94, 0xe9, 0xdd, 0x28, 0x2a, 0x09, - 0x28, 0x52, 0xf7, 0x44, 0x74, 0xb0, 0xbb, 0xfb, 0x6d, 0x92, 0xd6, 0x9b, 0xac, 0x47, 0x1e, 0xb7, - 0x35, 0x13, 0xaf, 0xac, 0x27, 0xe7, 0x47, 0xb3, 0xac, 0x06, 0xcd, 0x49, 0xde, 0x77, 0x65, 0x3d, - 0xe5, 0x68, 0xa7, 0xd2, 0x85, 0x93, 0x5d, 0xcd, 0xb2, 0x08, 0x0c, 0xd7, 0xab, 0x95, 0x14, 0x5b, - 0xc3, 0x6b, 0xa4, 0xa7, 0x49, 0xca, 0x1c, 0x85, 0x39, 0xa9, 0x05, 0xda, 0x68, 0x23, 0xd4, 0xc9, - 0x2d, 0x94, 0x02, 0x09, 0xe8, 0x70, 0xa7, 0xe0, 0x44, 0x21, 0x31, 0x15, 0xf2, 0xd4, 0x88, 0x1d, - 0xc2, 0x9e, 0x86, 0xc3, 0x8b, 0xb2, 0xd3, 0xa1, 0x4f, 0x6f, 0x41, 0x87, 0x26, 0x29, 0xd2, 0x19, - 0x2d, 0xa0, 0x31, 0x89, 0x28, 0x67, 0xb6, 0x48, 0x1a, 0x3a, 0xc2, 0x59, 0x38, 0xd2, 0x64, 0x27, - 0x95, 0xf7, 0xb3, 0x95, 0x2e, 0x3c, 0x9f, 0xa3, 0x42, 0x19, 0xaf, 0xe7, 0x46, 0x62, 0xa3, 0x53, - 0xe7, 0x29, 0x75, 0xb9, 0xbd, 0xc7, 0x59, 0xa7, 0xc7, 0x09, 0xf9, 0x91, 0x53, 0x1c, 0xa9, 0x7c, - 0x47, 0x9e, 0x5c, 0x15, 0x82, 0xf8, 0xef, 0xca, 0x13, 0xb2, 0x82, 0x34, 0x8b, 0xbf, 0xc9, 0x13, - 0xb2, 0x42, 0x15, 0x97, 0xf7, 0x62, 0xd6, 0x60, 0xf4, 0xbe, 0x3c, 0x21, 0x6b, 0x6b, 0xcd, 0xeb, - 0x83, 0x98, 0x26, 0xc8, 0x7c, 0x08, 0xaa, 0x19, 0x54, 0x53, 0x30, 0x53, 0x15, 0xec, 0xc2, 0x36, - 0x05, 0xf4, 0x79, 0x12, 0xb8, 0xa8, 0x0d, 0x6f, 0x6d, 0xbf, 0x82, 0xaf, 0x4b, 0xec, 0xe2, 0x36, - 0xdc, 0xf8, 0xf6, 0x7e, 0x93, 0x6d, 0x81, 0x60, 0xc4, 0x09, 0xc3, 0xcd, 0x7e, 0x50, 0x64, 0x97, - 0xb4, 0x61, 0x2a, 0x3b, 0x5e, 0xd1, 0xaf, 0xc8, 0x8b, 0xef, 0x4b, 0xdb, 0xf0, 0x1a, 0x3a, 0x22, - 0x73, 0x28, 0xbb, 0x4c, 0x3f, 0x76, 0xb1, 0xcb, 0x11, 0x60, 0xcc, 0x2b, 0x68, 0x8f, 0x57, 0xb4, - 0xd1, 0x74, 0xab, 0x03, 0xbc, 0x38, 0xc8, 0xbd, 0x92, 0x98, 0x62, 0x57, 0xb6, 0x11, 0xdd, 0x3a, - 0xb7, 0xec, 0x38, 0xbb, 0x4a, 0x43, 0x8a, 0x5d, 0x76, 0x9c, 0x6d, 0x6d, 0xc3, 0xd1, 0xc9, 0x2b, - 0xf8, 0x45, 0xce, 0xb6, 0xa1, 0xd1, 0xcb, 0xd1, 0xd8, 0x0e, 0xaa, 0xb9, 0xa1, 0xc3, 0xd8, 0x0e, - 0x50, 0xed, 0x75, 0x84, 0x33, 0xe1, 0x84, 0x9c, 0x5d, 0xd7, 0x86, 0x9d, 0x02, 0x76, 0x06, 0xfe, - 0xe6, 0x90, 0x5d, 0x0f, 0xea, 0x3d, 0xb5, 0x20, 0xe0, 0x9e, 0x18, 0x0b, 0x79, 0xc0, 0x6e, 0x00, - 0x5f, 0x3c, 0xfe, 0xa0, 0x4d, 0x5e, 0x2b, 0x78, 0x1e, 0xc7, 0x87, 0x8d, 0x6c, 0x2f, 0xfb, 0x21, - 0xa0, 0x41, 0x1c, 0x6f, 0x43, 0x1e, 0x88, 0x6c, 0x2f, 0xfb, 0x11, 0x3a, 0x11, 0x85, 0x68, 0xfa, - 0x67, 0x7b, 0xd9, 0x8f, 0xdb, 0x70, 0x05, 0xcd, 0x83, 0x90, 0x46, 0xe0, 0x27, 0x88, 0x24, 0x2f, - 0xe4, 0x25, 0xf2, 0xd3, 0x36, 0xb9, 0x0d, 0xd9, 0x2c, 0x17, 0x87, 0x9f, 0xb5, 0x51, 0x41, 0xe6, - 0xca, 0x9c, 0x57, 0xd9, 0xbd, 0x6d, 0x72, 0xbf, 0x50, 0x38, 0x9a, 0xed, 0x96, 0xc9, 0xe5, 0x65, - 0xee, 0x84, 0x1c, 0xc8, 0x9e, 0x36, 0x2a, 0x10, 0x7d, 0xe9, 0xe7, 0xcd, 0xc8, 0x5b, 0xdf, 0xfb, - 0xda, 0x68, 0xe0, 0xcd, 0x2d, 0x91, 0x86, 0xef, 0x6f, 0x53, 0x87, 0x67, 0x83, 0x3c, 0x80, 0x2e, - 0xd0, 0x4a, 0x60, 0xa0, 0x07, 0x01, 0xe1, 0xb2, 0x53, 0x43, 0xbf, 0x6f, 0xa3, 0x7a, 0x53, 0xd7, - 0x76, 0x1a, 0xfc, 0x03, 0xf4, 0x70, 0x6b, 0xa6, 0xa1, 0x87, 0xda, 0xe4, 0x74, 0xe7, 0x22, 0x23, - 0x7c, 0x8f, 0xfd, 0xd1, 0x34, 0x87, 0x85, 0xef, 0xb0, 0x3f, 0xb5, 0xc9, 0xc5, 0x81, 0x8b, 0x34, - 0xc4, 0x0f, 0xd7, 0xdb, 0x90, 0x3f, 0x82, 0x41, 0xcb, 0x86, 0xd9, 0x91, 0x4d, 0x87, 0xb3, 0x47, - 0xe1, 0x5d, 0x36, 0xa8, 0xe8, 0x1c, 0xc1, 0x1e, 0x8b, 0x40, 0x43, 0x4e, 0xb5, 0xca, 0x8b, 0xec, - 0xf1, 0xba, 0x49, 0x9a, 0x3d, 0x21, 0x07, 0x6b, 0x2c, 0xdb, 0xcb, 0x9e, 0x44, 0x71, 0x8d, 0xbb, - 0x82, 0x87, 0xe1, 0x11, 0x4e, 0x38, 0xc5, 0x9e, 0x52, 0x8a, 0x90, 0x3e, 0x8d, 0xc0, 0x94, 0xfd, - 0xdc, 0x94, 0x13, 0x14, 0xd9, 0x33, 0x6d, 0xe6, 0x3b, 0x85, 0xeb, 0xe1, 0xad, 0xf6, 0xac, 0x64, - 0x5e, 0x76, 0x8f, 0xe6, 0xd4, 0x7c, 0xb4, 0x15, 0xdb, 0x39, 0xd5, 0x7a, 0xac, 0x15, 0x1b, 0x4a, - 0x5e, 0xe2, 0xd3, 0x55, 0x6a, 0x3f, 0xde, 0x4a, 0x2b, 0x91, 0x6c, 0x8f, 0xe5, 0xfb, 0xbf, 0x45, - 0xd8, 0x13, 0x11, 0x4c, 0xdb, 0x3d, 0xd9, 0x8a, 0xad, 0xa5, 0xc1, 0xb4, 0xee, 0x53, 0xad, 0x94, - 0x5d, 0x89, 0x63, 0xa9, 0x24, 0xf0, 0xe9, 0x56, 0xf9, 0xc6, 0x32, 0xa0, 0xd6, 0x7e, 0xa6, 0x15, - 0x3b, 0x4e, 0x08, 0x46, 0x79, 0xb5, 0xec, 0x14, 0xe0, 0xfc, 0xd9, 0x56, 0x6c, 0x19, 0xa3, 0xb0, - 0xb6, 0x78, 0xae, 0x95, 0x4a, 0x44, 0xf1, 0xad, 0x4d, 0x84, 0x32, 0xc0, 0xf3, 0xad, 0xf2, 0x25, - 0x56, 0x47, 0xb5, 0xfe, 0x0b, 0xe0, 0x43, 0xcb, 0x42, 0xdf, 0xb4, 0x08, 0x9c, 0x02, 0x9d, 0x22, - 0xd8, 0x69, 0xed, 0x1a, 0x1c, 0xf3, 0x8e, 0xa9, 0xf9, 0x02, 0x41, 0x4f, 0x6f, 0xa7, 0xc4, 0x11, - 0x98, 0x9f, 0xa9, 0x02, 0x39, 0xa3, 0x5d, 0x6f, 0x2f, 0x72, 0x1c, 0x76, 0x67, 0xb6, 0xeb, 0x4f, - 0x29, 0x72, 0x42, 0x10, 0x76, 0x96, 0xf1, 0x15, 0xe9, 0xc0, 0xd9, 0x46, 0x71, 0x94, 0x57, 0xfc, - 0x4d, 0xc0, 0xce, 0x69, 0xd7, 0x9f, 0x66, 0x86, 0x78, 0x50, 0x02, 0x74, 0x6e, 0x7b, 0xfc, 0xd3, - 0x0c, 0x61, 0xe7, 0xb5, 0xc7, 0xbe, 0xe0, 0x10, 0x74, 0x7e, 0x3b, 0x65, 0x89, 0xa0, 0x71, 0xa7, - 0xec, 0x16, 0x41, 0xc8, 0x2d, 0xb1, 0xef, 0xb7, 0x53, 0x2a, 0xa8, 0xd5, 0xe3, 0x7b, 0xc2, 0x71, - 0xbd, 0x90, 0xd0, 0x0b, 0xda, 0x29, 0xd7, 0xf5, 0x2f, 0x40, 0xd5, 0x2a, 0x97, 0x7b, 0xa1, 0x0b, - 0xe3, 0x82, 0x7a, 0x0f, 0x2e, 0x6a, 0xa7, 0xa1, 0x34, 0xc4, 0x46, 0x1c, 0x51, 0x98, 0x22, 0xfc, - 0xe2, 0x76, 0x1a, 0x85, 0x3a, 0x1e, 0xf0, 0x90, 0x07, 0xb2, 0x2f, 0x5b, 0xda, 0x29, 0xdf, 0xd1, - 0xd0, 0x23, 0x8e, 0x80, 0xd1, 0x25, 0xa6, 0x4b, 0x23, 0x01, 0x17, 0x02, 0xfc, 0x2f, 0x35, 0x5d, - 0xda, 0xa8, 0x93, 0x7d, 0x99, 0x51, 0xcb, 0x71, 0x27, 0x90, 0xf1, 0x2e, 0x37, 0x04, 0x73, 0xc2, - 0x0f, 0x1c, 0x4a, 0xd1, 0xf7, 0xa0, 0x7c, 0x85, 0xb1, 0xef, 0xe5, 0x55, 0x19, 0xe6, 0x4a, 0x33, - 0x58, 0xff, 0xce, 0x67, 0xd0, 0xef, 0xab, 0x8c, 0x47, 0xb9, 0xd2, 0x12, 0xb6, 0xd5, 0x24, 0x8e, - 0xb4, 0x70, 0x0e, 0x20, 0x78, 0x9b, 0x09, 0x84, 0x7c, 0xca, 0xa5, 0x80, 0x04, 0xdb, 0xe3, 0x82, - 0x0d, 0x62, 0x8a, 0x07, 0xb0, 0xd8, 0xd1, 0x48, 0xad, 0x3f, 0xe0, 0xa0, 0xb6, 0xd3, 0x8c, 0xc1, - 0x10, 0xaf, 0x4c, 0xf0, 0x60, 0xc3, 0x24, 0xa1, 0xbb, 0x40, 0x78, 0x9c, 0x17, 0x32, 0x61, 0x9e, - 0x4f, 0x23, 0xc9, 0x1f, 0xa2, 0x4c, 0xc6, 0x79, 0xa1, 0x3f, 0xf0, 0x2b, 0x1a, 0xfc, 0x08, 0x05, - 0x36, 0xce, 0x0b, 0xbd, 0x6e, 0x05, 0x71, 0x3e, 0x06, 0xe1, 0x71, 0x5e, 0x18, 0x3c, 0xb4, 0xd7, - 0x0d, 0x85, 0xe3, 0xc9, 0x72, 0xfa, 0xc4, 0xc0, 0x5d, 0x51, 0xf8, 0xd3, 0x76, 0x3a, 0x22, 0x8f, - 0xf3, 0xc2, 0x30, 0x2f, 0x39, 0xc2, 0xdd, 0xc4, 0xb3, 0x9e, 0xc7, 0x83, 0x91, 0xc0, 0x2f, 0xd6, - 0x64, 0x2d, 0x7d, 0x86, 0x11, 0x1c, 0xe7, 0x85, 0x1e, 0x3f, 0x74, 0x3d, 0x1e, 0xb5, 0xfd, 0x5c, - 0x53, 0x1c, 0xec, 0x1a, 0xf6, 0x83, 0x0a, 0x41, 0x5f, 0xb4, 0xdb, 0x6b, 0xad, 0x03, 0xa3, 0xdf, - 0x34, 0xe2, 0x1f, 0x58, 0x6f, 0xe9, 0xa0, 0xfd, 0x20, 0xc9, 0x63, 0xb8, 0xbc, 0xa2, 0xbf, 0xb5, - 0xc3, 0x3e, 0xc8, 0x6a, 0x9a, 0x43, 0x88, 0x37, 0xff, 0x6d, 0x1d, 0xda, 0x75, 0x83, 0x54, 0xbd, - 0xee, 0x6f, 0xef, 0xa0, 0x9e, 0xcc, 0x21, 0xd7, 0x9b, 0x84, 0x3b, 0xfe, 0x91, 0x7b, 0x6c, 0x0d, - 0xee, 0xec, 0xb0, 0x5b, 0xac, 0xaf, 0xcc, 0x65, 0xae, 0x77, 0x09, 0x77, 0xfd, 0x23, 0x7b, 0x6c, - 0x18, 0xee, 0xee, 0xb0, 0xff, 0x8f, 0xd5, 0x32, 0x87, 0x34, 0x9e, 0x80, 0x7b, 0x3a, 0x68, 0xa2, - 0x8c, 0x94, 0x6b, 0x0d, 0xf8, 0x85, 0x1d, 0xb8, 0x05, 0xa2, 0x73, 0x50, 0x5c, 0x70, 0x51, 0x07, - 0x6d, 0xc8, 0xf5, 0xdd, 0x57, 0x5c, 0x76, 0x31, 0x64, 0xf1, 0x78, 0xfa, 0xd5, 0xb3, 0x05, 0x32, - 0x7d, 0xeb, 0x1f, 0xb7, 0xbb, 0xa4, 0x83, 0x2a, 0x6e, 0x30, 0x1f, 0x47, 0x2f, 0x95, 0x68, 0x5f, - 0x1c, 0xbd, 0x0c, 0xe8, 0x40, 0x83, 0xee, 0xe5, 0xf0, 0xae, 0x2f, 0xb7, 0xe3, 0xb2, 0x2b, 0xd0, - 0x15, 0xdc, 0x50, 0xc7, 0x05, 0x57, 0x4a, 0x57, 0x0d, 0x01, 0xae, 0x02, 0xda, 0xb7, 0x31, 0x8e, - 0x6e, 0x05, 0x3a, 0xdc, 0xa0, 0xbb, 0xad, 0x83, 0xd6, 0x0c, 0x79, 0x61, 0x1a, 0x97, 0x6c, 0x87, - 0x24, 0x86, 0xa9, 0xf3, 0xdc, 0x8e, 0xb9, 0x24, 0x38, 0x75, 0xed, 0xec, 0x50, 0xa5, 0x1d, 0x95, - 0xc8, 0x83, 0xd5, 0x2e, 0x54, 0xc3, 0x1c, 0x46, 0xe6, 0xf0, 0x72, 0x75, 0x87, 0xdd, 0x6a, 0x1d, - 0x34, 0x97, 0xb1, 0x51, 0xb9, 0x06, 0x91, 0xe5, 0x76, 0x37, 0xce, 0xf6, 0x5a, 0xf4, 0x2e, 0x3b, - 0x19, 0x47, 0xaf, 0x93, 0x43, 0xa6, 0xb6, 0xa1, 0x71, 0xd9, 0xf5, 0x1d, 0x38, 0x35, 0x3a, 0x82, - 0xf7, 0xfb, 0x41, 0xc5, 0xc1, 0xd4, 0x7c, 0xb7, 0x93, 0x16, 0x30, 0xc2, 0x06, 0x5d, 0xc1, 0x03, - 0xda, 0x07, 0x77, 0xaa, 0xfd, 0x1c, 0xef, 0x75, 0x27, 0x27, 0xd9, 0x7b, 0x9d, 0xfa, 0x62, 0x9a, - 0x4a, 0x1c, 0xd0, 0xfb, 0x9d, 0x34, 0x38, 0xd4, 0x94, 0xd3, 0xc6, 0x08, 0x3e, 0xe8, 0xc4, 0x49, - 0x4d, 0x15, 0x7b, 0x83, 0xf0, 0xc3, 0x4e, 0xfb, 0xab, 0x56, 0x52, 0x0b, 0xf5, 0x5f, 0x23, 0xfe, - 0x08, 0x4e, 0xeb, 0x36, 0x46, 0xf0, 0x31, 0x9c, 0x4a, 0xc1, 0x2c, 0xab, 0x4f, 0x3a, 0x29, 0xfd, - 0x6a, 0xe5, 0x8c, 0xc7, 0xfb, 0xb4, 0x93, 0x16, 0x2b, 0xed, 0xca, 0xc0, 0x9f, 0x75, 0xd2, 0x86, - 0x86, 0xba, 0xc7, 0x3e, 0xc7, 0xe3, 0x11, 0x7e, 0x2d, 0x60, 0x5f, 0x74, 0xe2, 0xaa, 0xd8, 0xf5, - 0x6a, 0x82, 0xb3, 0x2f, 0x3b, 0xe5, 0xa9, 0xb0, 0xe0, 0x7b, 0x45, 0xf6, 0x77, 0x24, 0x68, 0xc8, - 0x2d, 0x04, 0xbe, 0x42, 0x8e, 0x4d, 0xd1, 0x36, 0x72, 0xc8, 0xf7, 0xc4, 0x14, 0x3b, 0x2e, 0x85, - 0xdb, 0x73, 0x7a, 0x1e, 0x76, 0x2a, 0x9c, 0x1d, 0x9f, 0xc2, 0x6d, 0xbc, 0xbf, 0x99, 0x06, 0x30, - 0x13, 0x94, 0xd8, 0x09, 0x29, 0xdc, 0xf5, 0x4b, 0xc0, 0xaf, 0x09, 0xc2, 0x4e, 0x4c, 0xe1, 0xba, - 0xc7, 0x99, 0x81, 0xc9, 0x49, 0x30, 0xe9, 0x75, 0x66, 0x36, 0x4c, 0x4a, 0x9f, 0x27, 0xc3, 0x27, - 0x80, 0x23, 0x39, 0x3f, 0x9a, 0x9d, 0x52, 0x6f, 0xff, 0x07, 0x77, 0x02, 0x76, 0x6a, 0x8a, 0x46, - 0x84, 0x44, 0xe4, 0x73, 0x88, 0x76, 0xe3, 0xa7, 0xa5, 0xa8, 0x16, 0x34, 0xe4, 0xd7, 0x04, 0xd0, - 0xd3, 0x11, 0x87, 0xd0, 0x5e, 0x67, 0x86, 0x9d, 0x81, 0x38, 0xd4, 0x52, 0x7e, 0xce, 0x4c, 0x51, - 0xf7, 0xf1, 0x78, 0x56, 0x8a, 0x72, 0x45, 0x8f, 0x31, 0xb7, 0x67, 0xa7, 0xa8, 0xf8, 0xa2, 0xb0, - 0x76, 0x7d, 0x0e, 0x38, 0x0d, 0x70, 0x21, 0x2b, 0x89, 0x9d, 0x9b, 0xc2, 0x66, 0x76, 0x26, 0xa4, - 0xc4, 0xe2, 0xd2, 0x2e, 0xac, 0xb2, 0xf3, 0x52, 0xb4, 0x4e, 0x45, 0x40, 0xbf, 0x26, 0x08, 0x3f, - 0x3f, 0x15, 0x39, 0x12, 0x60, 0x24, 0xbe, 0x0f, 0xfe, 0x0a, 0xa1, 0xa1, 0x5a, 0x47, 0x79, 0xba, - 0xa0, 0x11, 0xc5, 0x85, 0xda, 0x85, 0xa0, 0x8d, 0xf5, 0xf6, 0xa2, 0x94, 0xdc, 0xf1, 0x57, 0x4c, - 0xf1, 0x5e, 0x8c, 0x2e, 0x8f, 0xe5, 0x7b, 0xe0, 0x76, 0x0b, 0xf8, 0x8f, 0xe5, 0x7b, 0x48, 0x25, - 0x14, 0x4e, 0xa5, 0xaa, 0x87, 0xe5, 0x92, 0x14, 0x15, 0x55, 0xa3, 0x44, 0x8d, 0xcf, 0xa5, 0x10, - 0x66, 0x8a, 0x45, 0x72, 0x22, 0xb0, 0x17, 0x2f, 0xd6, 0x3f, 0xf5, 0xa4, 0xa8, 0xe2, 0xe2, 0x42, - 0xf5, 0xf6, 0xb8, 0x1c, 0xe1, 0x32, 0xc5, 0x22, 0x8a, 0xcd, 0x11, 0x28, 0x3a, 0xcc, 0xe2, 0x2b, - 0xb4, 0x91, 0xde, 0xee, 0xd7, 0xfd, 0x5d, 0x99, 0xa2, 0xba, 0x8f, 0x8a, 0x94, 0xb7, 0xab, 0x90, - 0x3d, 0xe5, 0x4d, 0x62, 0xf0, 0xb5, 0xd5, 0xb0, 0x33, 0x27, 0x91, 0xba, 0xb7, 0x6d, 0x86, 0x5d, - 0x5d, 0xa8, 0xfc, 0x6d, 0x8f, 0xb1, 0x53, 0x62, 0xb9, 0xba, 0x69, 0x0a, 0xc4, 0x39, 0xea, 0x6d, - 0x27, 0xca, 0xa2, 0x2e, 0x50, 0x9e, 0x76, 0x81, 0x41, 0xae, 0x36, 0x31, 0x57, 0x7e, 0xae, 0x06, - 0x83, 0xb8, 0x50, 0xd9, 0x5d, 0x03, 0x06, 0xb9, 0xda, 0xc4, 0xac, 0xfc, 0x5c, 0xab, 0x8d, 0x66, - 0xe7, 0xe7, 0x3a, 0x90, 0x8b, 0x8a, 0x94, 0xb7, 0xeb, 0x65, 0x75, 0x49, 0x6f, 0x91, 0xfc, 0xdc, - 0x60, 0xd8, 0xcd, 0x91, 0x9f, 0x1f, 0x18, 0x76, 0xb3, 0xf2, 0xf3, 0xc3, 0x18, 0xbb, 0x68, 0x7e, - 0x7e, 0xa4, 0x29, 0x34, 0xe6, 0xe7, 0xc7, 0xc8, 0x4f, 0x5d, 0xa0, 0x3c, 0xfd, 0x04, 0x41, 0xc6, - 0x3c, 0x77, 0xda, 0x54, 0x97, 0x2a, 0x62, 0xf6, 0x53, 0x58, 0xc4, 0x44, 0xb4, 0x6b, 0xf9, 0xd9, - 0x6c, 0xb8, 0x97, 0x17, 0xd8, 0xcf, 0x53, 0xf2, 0xb7, 0x63, 0xde, 0x26, 0x1e, 0x88, 0xfc, 0xf7, - 0xd8, 0x2f, 0x52, 0xf8, 0x10, 0xe7, 0x1c, 0x8d, 0xec, 0xb1, 0x5f, 0x9a, 0x26, 0x66, 0xc3, 0xaf, - 0xa0, 0x3d, 0xc2, 0x03, 0xd7, 0x2f, 0x66, 0x8a, 0x45, 0xf6, 0x6b, 0x4c, 0x78, 0xd9, 0xc6, 0xd2, - 0xf7, 0x1b, 0x4c, 0x8e, 0x8d, 0x35, 0x27, 0x10, 0x3c, 0x60, 0x37, 0x42, 0x3d, 0xc7, 0x0b, 0x79, - 0x1f, 0xe6, 0x37, 0xa5, 0xe4, 0x01, 0xae, 0xc2, 0xf3, 0xb4, 0xd2, 0xb1, 0x9b, 0x53, 0xfa, 0x28, - 0x0a, 0x3e, 0xe4, 0xf1, 0x96, 0x14, 0x2d, 0x8c, 0x79, 0xbf, 0xd7, 0x99, 0x09, 0xd9, 0xad, 0x52, - 0x5f, 0xad, 0x8a, 0x21, 0xbb, 0x0d, 0x4b, 0x80, 0x9a, 0x52, 0x7a, 0x9e, 0xdd, 0x8e, 0x41, 0x8a, - 0x80, 0x6a, 0x8a, 0xdd, 0x81, 0x65, 0xd1, 0x38, 0xc7, 0xc4, 0xbe, 0x13, 0x0e, 0x0c, 0x26, 0xaf, - 0xcb, 0xef, 0x4a, 0xe9, 0x55, 0x1c, 0xa0, 0x9e, 0xe7, 0x77, 0xa3, 0x2b, 0x83, 0x4e, 0x28, 0x68, - 0x69, 0xbb, 0x07, 0xde, 0x72, 0x22, 0x20, 0x6a, 0x42, 0x26, 0xe7, 0xb7, 0xb2, 0x3c, 0xa2, 0x18, - 0x55, 0x23, 0xfb, 0x5d, 0x03, 0xae, 0xc7, 0xf2, 0x5e, 0x04, 0xa2, 0x5d, 0xb1, 0x1e, 0x06, 0x90, - 0xda, 0x3d, 0x0b, 0x26, 0x5e, 0x6c, 0x0f, 0x96, 0x26, 0x75, 0x94, 0x33, 0xbe, 0xef, 0x8b, 0xa1, - 0xda, 0xf3, 0xfd, 0x7a, 0xe2, 0x91, 0x5e, 0xf4, 0x55, 0xc5, 0x1e, 0x88, 0xce, 0x2f, 0x75, 0xe5, - 0xec, 0x09, 0xf6, 0x60, 0x74, 0x89, 0x51, 0x2f, 0x3e, 0xb5, 0xff, 0xfc, 0x7d, 0xd4, 0x22, 0xeb, - 0xe9, 0x0f, 0xfa, 0x7f, 0x40, 0x02, 0xea, 0x30, 0x79, 0x79, 0x28, 0x45, 0x3b, 0x01, 0x85, 0x69, - 0x8a, 0x4a, 0xff, 0x8f, 0xd1, 0x19, 0xaf, 0x65, 0xf8, 0x40, 0xab, 0x27, 0xc1, 0x2c, 0xae, 0x0f, - 0x47, 0x6b, 0xbd, 0xce, 0xf5, 0x91, 0xe8, 0x74, 0x8f, 0x73, 0x7d, 0x34, 0x6a, 0x51, 0xe7, 0xfa, - 0x98, 0x1c, 0x2c, 0x03, 0x93, 0x97, 0xc7, 0xc1, 0x55, 0x61, 0x0d, 0x5c, 0x9f, 0x88, 0xce, 0xbe, - 0x28, 0xd7, 0x27, 0x51, 0xfe, 0x34, 0x34, 0xa8, 0xc7, 0xa7, 0x52, 0xfa, 0x96, 0x5e, 0xbd, 0x93, - 0x9e, 0x8e, 0xd7, 0x18, 0xa6, 0xc0, 0x33, 0x7a, 0xd1, 0xa8, 0xd3, 0xc5, 0xc1, 0xe0, 0x59, 0xf9, - 0xfe, 0x32, 0xa4, 0x00, 0x3e, 0x17, 0x55, 0xce, 0x7a, 0xe6, 0x1b, 0xc6, 0xf3, 0xd1, 0x24, 0x69, - 0x46, 0xb0, 0x78, 0x21, 0xba, 0x32, 0x6a, 0x89, 0x36, 0x7b, 0x31, 0xd6, 0xc9, 0xd8, 0x26, 0x89, - 0xed, 0x8d, 0x75, 0x52, 0x7f, 0xa2, 0xf0, 0x04, 0x7b, 0x29, 0x16, 0x4b, 0x09, 0x10, 0xeb, 0xe5, - 0x58, 0x2c, 0xbd, 0xad, 0x52, 0xb1, 0x5e, 0xd1, 0x2f, 0x8f, 0x86, 0x7e, 0xfe, 0x19, 0xfd, 0xac, - 0x17, 0x0a, 0xc0, 0x57, 0xa3, 0xca, 0x91, 0x7e, 0xbe, 0x16, 0x2d, 0xdc, 0x58, 0x3f, 0x5f, 0x8f, - 0xbe, 0x21, 0x1b, 0xfb, 0xf9, 0x46, 0xac, 0xf0, 0xe2, 0xfd, 0x7c, 0x33, 0x56, 0x78, 0x91, 0x7e, - 0xbe, 0x15, 0x8b, 0x15, 0xed, 0xe7, 0xdb, 0xb1, 0x58, 0x0d, 0xfd, 0xfc, 0x4b, 0x8a, 0x0e, 0x74, - 0x0d, 0xf3, 0x90, 0x4a, 0x42, 0xc5, 0xfb, 0x6b, 0xb4, 0x6b, 0xe4, 0x4e, 0xe1, 0xef, 0x44, 0xf3, - 0x80, 0x8f, 0x0e, 0x9e, 0x60, 0xef, 0x62, 0xfa, 0x46, 0x40, 0xc4, 0xff, 0x5b, 0x94, 0x32, 0x21, - 0x3a, 0xf6, 0x7b, 0xd1, 0x69, 0xaa, 0x40, 0xe5, 0xfe, 0xfd, 0x68, 0x58, 0xfd, 0xe5, 0xc2, 0x13, - 0xec, 0x83, 0x58, 0xf7, 0x25, 0x8e, 0x20, 0x1f, 0xc6, 0x72, 0x26, 0x05, 0x3a, 0xce, 0x47, 0xd1, - 0x32, 0x8c, 0xf4, 0xe1, 0xe3, 0x68, 0xcd, 0xea, 0x3e, 0x7c, 0x82, 0x3e, 0x44, 0x40, 0xb8, 0xff, - 0x34, 0x5a, 0x5e, 0xd1, 0x3e, 0x7c, 0x16, 0x9d, 0xbe, 0xf1, 0x3e, 0x7c, 0x1e, 0x0d, 0x1b, 0xe9, - 0xc3, 0x17, 0xb1, 0x52, 0x8d, 0xf4, 0xe1, 0xcb, 0x58, 0x7d, 0xc7, 0xfb, 0xf0, 0xf7, 0x94, 0x7d, - 0xb0, 0xf5, 0xd5, 0x39, 0x6b, 0xc2, 0xac, 0x9e, 0xc7, 0xae, 0xa3, 0xc3, 0xf7, 0xec, 0xda, 0x30, - 0x0a, 0xc7, 0xad, 0xa3, 0x03, 0xd5, 0x1c, 0x35, 0x62, 0x34, 0x8e, 0x5f, 0x67, 0xb7, 0x59, 0x6b, - 0xe7, 0xae, 0x15, 0xa3, 0x74, 0xc2, 0x3a, 0xe2, 0x32, 0xe7, 0x3c, 0x34, 0x3a, 0x27, 0x82, 0xcb, - 0xec, 0xf9, 0x68, 0x14, 0x4e, 0x02, 0x97, 0x39, 0xe6, 0xa5, 0xd1, 0x38, 0x19, 0x5c, 0xe6, 0x9e, - 0x9f, 0x46, 0xe9, 0x94, 0x75, 0xea, 0xcb, 0x9f, 0xba, 0x96, 0x7f, 0x32, 0x6d, 0x2f, 0xb6, 0xe6, - 0xaf, 0x77, 0x3d, 0xf6, 0x54, 0x9a, 0x4e, 0x19, 0x99, 0x5c, 0x4f, 0x36, 0xcb, 0x9e, 0x4e, 0xe3, - 0xab, 0xf4, 0x94, 0x13, 0xb0, 0x67, 0xd2, 0xf8, 0x4a, 0x31, 0xe5, 0x04, 0xd2, 0x62, 0x2c, 0xdf, - 0xff, 0x2d, 0xf6, 0x6c, 0x9a, 0xde, 0xcb, 0xea, 0xe7, 0xe0, 0xcf, 0xa5, 0xe5, 0x37, 0x05, 0x6a, - 0x1c, 0x99, 0x63, 0xcf, 0xa7, 0xe9, 0x4d, 0xa9, 0xf6, 0x10, 0xec, 0x05, 0xf8, 0xef, 0x2b, 0x0b, - 0xf6, 0x62, 0x9a, 0x56, 0xc7, 0xbe, 0xe9, 0xaa, 0x1f, 0x88, 0x1c, 0x17, 0x87, 0xd1, 0x5b, 0x6d, - 0x6f, 0x1c, 0x3b, 0x9c, 0xb0, 0x97, 0xe2, 0xd8, 0x37, 0x09, 0x7b, 0x19, 0x21, 0xf0, 0x5f, 0x13, - 0x54, 0x11, 0xaf, 0xa4, 0x71, 0xe5, 0x4f, 0x4d, 0xb9, 0xc8, 0xa4, 0x69, 0x5b, 0x8e, 0xb6, 0xaa, - 0xa5, 0x57, 0x95, 0x86, 0x57, 0xcc, 0x7a, 0x39, 0x2e, 0xd8, 0x6b, 0x20, 0xac, 0xd6, 0xe9, 0xd7, - 0xd3, 0x78, 0xc5, 0xa2, 0x41, 0x5b, 0x84, 0x41, 0xbf, 0xe0, 0x94, 0x39, 0x7b, 0x23, 0x8d, 0x1f, - 0x65, 0x07, 0x7e, 0x65, 0xbd, 0x13, 0xf2, 0xf4, 0xe1, 0xec, 0x4d, 0x38, 0x39, 0x82, 0x4f, 0x67, - 0x3d, 0xec, 0x21, 0xde, 0xd2, 0xed, 0x9c, 0x08, 0xa8, 0xfd, 0x76, 0x5a, 0x7e, 0xfb, 0x0a, 0x79, - 0x20, 0x90, 0x96, 0xbf, 0xa4, 0xe5, 0xb7, 0x2f, 0x02, 0xd8, 0x5f, 0xd3, 0xf2, 0x62, 0x5c, 0xdd, - 0xc9, 0xb2, 0x77, 0xd2, 0xf2, 0x73, 0x5b, 0x28, 0x02, 0xf6, 0x2e, 0x9e, 0x07, 0xf3, 0x81, 0x5b, - 0x61, 0x7f, 0x4b, 0xcb, 0xdf, 0xd7, 0x4d, 0x4a, 0x1f, 0xef, 0xa5, 0xe5, 0xef, 0xc5, 0x27, 0x05, - 0x7b, 0x1f, 0xee, 0xd4, 0x40, 0x7d, 0x90, 0xc6, 0x45, 0x87, 0x5f, 0x70, 0x04, 0x76, 0x04, 0x21, - 0xb4, 0x3f, 0x8c, 0xa0, 0x87, 0x19, 0xf4, 0x23, 0xe4, 0x23, 0xa2, 0xcb, 0x3e, 0x8e, 0x20, 0xd0, - 0x63, 0x9f, 0x48, 0x0a, 0xfe, 0x66, 0x1e, 0xb0, 0x4f, 0x25, 0x85, 0xaa, 0x53, 0x84, 0xf9, 0x67, - 0x92, 0x42, 0xd5, 0x29, 0xb2, 0xcf, 0x31, 0x98, 0xb4, 0xe3, 0xa3, 0x2c, 0x7e, 0x01, 0x42, 0x1b, - 0x0a, 0x78, 0x85, 0x7e, 0x89, 0xfe, 0x6d, 0x28, 0x98, 0xdf, 0xf8, 0x61, 0xa4, 0x37, 0x04, 0x45, - 0x76, 0x6c, 0x37, 0xb9, 0xc6, 0x95, 0x27, 0x3b, 0x0e, 0xcf, 0xa3, 0xe8, 0xe9, 0xf1, 0xdd, 0xf8, - 0x12, 0xca, 0xab, 0xdc, 0x11, 0xec, 0x84, 0x6e, 0xfc, 0xc2, 0x40, 0x5e, 0x1d, 0xb3, 0x13, 0xbb, - 0xe5, 0x27, 0x91, 0x4d, 0x3c, 0x08, 0x71, 0xe5, 0xcd, 0x4e, 0x52, 0x72, 0x20, 0xec, 0xe4, 0x6e, - 0xdc, 0xd6, 0xbb, 0xa5, 0x29, 0x99, 0xa5, 0x53, 0xa4, 0x5b, 0x6a, 0xb3, 0x53, 0xbb, 0xf1, 0xd1, - 0x45, 0xb3, 0x3f, 0xad, 0x1b, 0xbf, 0xc0, 0x20, 0xf6, 0xa7, 0x43, 0x2b, 0x57, 0xa5, 0x08, 0x67, - 0x74, 0xcb, 0x7f, 0x3c, 0x08, 0x0a, 0x95, 0x2a, 0x3b, 0xb3, 0x5b, 0x2d, 0x29, 0x21, 0xb8, 0xd7, - 0xf3, 0x79, 0x56, 0x5c, 0x50, 0x4f, 0xe9, 0xd9, 0xdd, 0x6a, 0xed, 0x8b, 0x58, 0xb0, 0x73, 0xe2, - 0xa0, 0x4c, 0xec, 0xb9, 0x71, 0x30, 0xeb, 0x15, 0xf9, 0x34, 0x3b, 0x0f, 0x1c, 0xf3, 0xbe, 0xaa, - 0xac, 0xf3, 0x65, 0x33, 0x70, 0x2b, 0xd8, 0xf3, 0x7d, 0x1f, 0xbd, 0xa3, 0xa6, 0xf4, 0x7b, 0x81, - 0x69, 0x4b, 0x97, 0x17, 0xa2, 0x1f, 0x63, 0xde, 0x11, 0x7c, 0x9a, 0x5d, 0x04, 0xd9, 0x58, 0xb5, - 0xca, 0x65, 0x59, 0x5d, 0x2c, 0x65, 0xd4, 0x66, 0x5b, 0xba, 0xa9, 0x20, 0xeb, 0x73, 0x95, 0x5d, - 0xd2, 0x2d, 0x7f, 0x45, 0xb1, 0x59, 0x29, 0x5f, 0xda, 0x4d, 0x95, 0x6f, 0x7e, 0x09, 0x6a, 0x8e, - 0x98, 0xdd, 0xf6, 0x41, 0x56, 0x93, 0x86, 0x7b, 0x2a, 0xd5, 0xd8, 0x6f, 0xc1, 0x2f, 0xef, 0xa6, - 0x09, 0x29, 0x7f, 0xe1, 0xa9, 0x2d, 0xae, 0xe8, 0xa6, 0x65, 0x1c, 0x58, 0xa3, 0xfa, 0x95, 0xba, - 0xab, 0xae, 0xe7, 0x04, 0x33, 0xec, 0xaa, 0x6e, 0x33, 0xab, 0x24, 0xb0, 0xf5, 0x1f, 0x05, 0xc3, - 0x2e, 0x7a, 0xdb, 0x9c, 0x8e, 0x21, 0xda, 0xde, 0x1d, 0xfd, 0x6d, 0x2a, 0xa0, 0x1d, 0xdd, 0xe6, - 0x77, 0xa5, 0x68, 0xef, 0xec, 0x3e, 0x84, 0x5b, 0x2b, 0x1b, 0xfe, 0x71, 0x09, 0xff, 0x06, 0xe1, - 0x57, 0xaa, 0x65, 0x2e, 0x38, 0xee, 0x12, 0xf6, 0xb1, 0x97, 0x63, 0x6d, 0x70, 0xca, 0x68, 0x26, - 0x48, 0x61, 0xc4, 0x09, 0x84, 0xeb, 0x94, 0x0f, 0x05, 0x32, 0x2f, 0x82, 0x74, 0x01, 0x99, 0x4f, - 0x26, 0xbd, 0xbc, 0x58, 0xab, 0xa2, 0xb9, 0x60, 0xfd, 0xd7, 0x77, 0xef, 0x5d, 0x9b, 0x78, 0x68, - 0xef, 0xda, 0xc4, 0x0b, 0x7b, 0xd7, 0x26, 0xb6, 0xbc, 0xb4, 0x76, 0x1f, 0x6b, 0x75, 0xc1, 0xaf, - 0x74, 0x56, 0x5d, 0xaf, 0x54, 0x70, 0xaa, 0x9d, 0xc2, 0x2d, 0x4e, 0xe0, 0xdf, 0x93, 0x46, 0x12, - 0xff, 0x1b, 0x00, 0x00, 0xff, 0xff, 0x89, 0x80, 0x6a, 0xe9, 0xcc, 0x37, 0x00, 0x00, + // 5886 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x74, 0x5b, 0x67, 0x78, 0x24, 0xc5, + 0x99, 0x66, 0x36, 0xb0, 0xbb, 0xbd, 0xa9, 0x68, 0x58, 0x34, 0xac, 0xf1, 0x4a, 0x42, 0xbe, 0x93, + 0x8c, 0xef, 0x34, 0x8b, 0xc0, 0x23, 0xff, 0xb8, 0x34, 0xab, 0xc4, 0xf8, 0x24, 0xad, 0x56, 0x33, + 0x12, 0xbe, 0x5f, 0x3c, 0xad, 0x99, 0xd2, 0xa8, 0xcd, 0x4c, 0xf7, 0xd0, 0x5d, 0xb3, 0x2b, 0xf9, + 0xc2, 0x43, 0xce, 0xd9, 0x06, 0x96, 0xbc, 0x91, 0xe8, 0x9c, 0xc9, 0xd1, 0x66, 0x97, 0x60, 0x83, + 0xc9, 0x19, 0x16, 0x30, 0xd9, 0x06, 0x93, 0xf3, 0x3d, 0xdf, 0x5b, 0x61, 0xba, 0x47, 0xf2, 0x2f, + 0x75, 0xbd, 0x5f, 0x7a, 0xeb, 0xab, 0xaf, 0xaa, 0xab, 0xaa, 0x47, 0x16, 0xe3, 0xd3, 0xd5, 0x80, + 0x87, 0xa1, 0xeb, 0x7b, 0x9d, 0xd5, 0xc0, 0x17, 0xbe, 0xbd, 0x40, 0xb8, 0xd5, 0x89, 0xd5, 0x2b, + 0x2a, 0x5c, 0x38, 0x45, 0x47, 0x38, 0x12, 0x5d, 0xbd, 0x5f, 0xc9, 0x2f, 0xf9, 0x78, 0x4c, 0xd1, + 0x93, 0x44, 0x0f, 0x7a, 0x2b, 0x61, 0x2d, 0xe9, 0x77, 0x79, 0xb9, 0x98, 0x9f, 0xa9, 0x72, 0x7b, + 0x3f, 0x6b, 0x9e, 0xa8, 0x26, 0x13, 0x2d, 0x89, 0x8e, 0x85, 0xeb, 0x16, 0xec, 0x7a, 0xb6, 0x79, + 0xaf, 0xd1, 0x79, 0xa2, 0x6a, 0x27, 0xad, 0x05, 0x93, 0x65, 0xa7, 0x94, 0x9c, 0xd7, 0x92, 0xe8, + 0x58, 0xae, 0x70, 0x20, 0x52, 0xc2, 0xbd, 0xe4, 0xfc, 0x88, 0x05, 0x10, 0x7b, 0x8d, 0xb5, 0xa8, + 0xc8, 0x0b, 0x6e, 0xc5, 0x29, 0x27, 0x17, 0x44, 0x84, 0x1a, 0x24, 0x79, 0xc1, 0x2f, 0x97, 0x1d, + 0xc1, 0x93, 0x0b, 0xa3, 0x72, 0x05, 0x42, 0x3e, 0xe5, 0x04, 0x21, 0x17, 0xc9, 0xbd, 0x5b, 0x12, + 0x1d, 0x4b, 0x8c, 0x5c, 0x82, 0xf6, 0x6a, 0x6b, 0x21, 0x2f, 0xf3, 0x4a, 0x98, 0x5c, 0xd4, 0x32, + 0xdf, 0x48, 0x25, 0x44, 0x32, 0x27, 0x08, 0x9c, 0x99, 0xe4, 0xe2, 0x96, 0x44, 0xc7, 0x62, 0x2d, + 0x03, 0x74, 0xd0, 0xdb, 0xf3, 0xac, 0x05, 0x7d, 0xd3, 0xd5, 0xc0, 0xfe, 0x9a, 0xe9, 0xea, 0x8a, + 0xae, 0x15, 0x9d, 0x94, 0xb1, 0x4e, 0xc2, 0x29, 0x0d, 0x91, 0xae, 0x33, 0x6b, 0xfe, 0x46, 0xa7, + 0x8c, 0x9e, 0x2f, 0x1b, 0xa5, 0x47, 0xfb, 0x1f, 0xad, 0xc5, 0x85, 0x29, 0xb7, 0x5c, 0x0c, 0xd0, + 0xed, 0xf9, 0x1d, 0x4b, 0xbb, 0xac, 0xba, 0xf5, 0xa8, 0x91, 0xd9, 0xdf, 0xb0, 0xe6, 0x87, 0x6e, + 0x09, 0x9d, 0x5f, 0xd1, 0xb5, 0xaf, 0x54, 0xc9, 0x15, 0x9c, 0xb2, 0x13, 0xf4, 0xd7, 0xbc, 0x42, + 0xce, 0x2d, 0xa9, 0x28, 0xa4, 0x65, 0x77, 0x5a, 0xd6, 0x24, 0x0d, 0xc2, 0x91, 0x62, 0xa6, 0x2a, + 0x13, 0xb2, 0xb4, 0x6b, 0xa5, 0xb4, 0x31, 0x83, 0x33, 0xba, 0x64, 0xd2, 0x8c, 0x53, 0x8b, 0xb5, + 0x2c, 0xa8, 0x7a, 0x47, 0x3a, 0x41, 0x29, 0x3c, 0x92, 0xf2, 0x4f, 0x29, 0x5a, 0x3e, 0x6a, 0x05, + 0x55, 0x2f, 0x13, 0x94, 0xc2, 0x41, 0xee, 0xd9, 0xed, 0xd6, 0xb2, 0x29, 0x27, 0x3c, 0xb2, 0xe8, + 0x86, 0xc2, 0xf5, 0x0a, 0x22, 0xb9, 0x28, 0x92, 0x8a, 0xa5, 0x53, 0x4e, 0xd8, 0xab, 0x04, 0x76, + 0xbb, 0xb5, 0xd8, 0x0f, 0x8a, 0x3c, 0x38, 0x72, 0x82, 0xf2, 0x45, 0xfd, 0x59, 0x26, 0x03, 0xaf, + 0x9b, 0xc9, 0x0a, 0x5e, 0x19, 0x5d, 0x04, 0xe9, 0xba, 0x19, 0xbb, 0xdb, 0x5a, 0xea, 0x94, 0x4a, + 0x44, 0x7e, 0xc8, 0x2f, 0xf2, 0xe4, 0x12, 0x74, 0x6c, 0x95, 0xd4, 0xcd, 0x48, 0x81, 0x70, 0x7d, + 0x8f, 0x84, 0xa3, 0x51, 0xcd, 0x83, 0xbe, 0x61, 0x2d, 0x1a, 0xad, 0x7a, 0x48, 0x7a, 0x8b, 0xb5, + 0x90, 0xaa, 0x35, 0x4c, 0x26, 0x66, 0x65, 0x4e, 0x0a, 0x0e, 0x2a, 0x5b, 0x7b, 0xcb, 0xc0, 0xf6, + 0x1a, 0x6b, 0x01, 0x41, 0x18, 0xa2, 0xb8, 0x2a, 0x70, 0xaa, 0xbd, 0x22, 0x0f, 0x0b, 0x18, 0x1b, + 0xdd, 0x33, 0x20, 0x76, 0x87, 0xb5, 0x98, 0xb2, 0x03, 0xeb, 0xf9, 0xb0, 0x5e, 0x2e, 0xad, 0x15, + 0x8d, 0xd1, 0x45, 0x81, 0x7c, 0x38, 0xf8, 0xa5, 0x85, 0xd6, 0x62, 0x3d, 0xea, 0xf6, 0x62, 0x6b, + 0xc1, 0x70, 0xad, 0x5c, 0x66, 0x7b, 0xd9, 0x4b, 0xac, 0x85, 0x59, 0x4f, 0xa4, 0x0f, 0x63, 0x09, + 0xdb, 0xb2, 0xf6, 0x1e, 0x73, 0xf1, 0x3c, 0xcf, 0x5e, 0x6a, 0x2d, 0xea, 0x2f, 0xfb, 0x8e, 0x38, + 0xb4, 0x8b, 0xcd, 0x37, 0x8d, 0xf4, 0x61, 0x6c, 0x01, 0x69, 0xe5, 0x44, 0xe0, 0x7a, 0x25, 0xb6, + 0x90, 0x8c, 0xd7, 0xcd, 0x08, 0x1e, 0xb2, 0xbd, 0xed, 0x65, 0xd6, 0xe2, 0xa1, 0x99, 0xf0, 0xe8, + 0xf2, 0x3a, 0x57, 0x30, 0x6e, 0x33, 0x6b, 0x19, 0x5a, 0xbd, 0x72, 0x0a, 0xb0, 0x49, 0x7b, 0x1f, + 0x6b, 0xb9, 0x44, 0x6a, 0x81, 0x43, 0xb9, 0x63, 0x25, 0x7b, 0xb9, 0xb5, 0x04, 0x50, 0x9f, 0x57, + 0xab, 0xb0, 0x29, 0xe3, 0xe1, 0x70, 0x3e, 0xcd, 0x5c, 0xd3, 0xca, 0x71, 0xc1, 0xbe, 0x6b, 0x54, + 0xf3, 0x6e, 0x85, 0xb3, 0xa3, 0x4c, 0xf3, 0xdb, 0xa1, 0xef, 0xb1, 0xb2, 0xbd, 0xca, 0xda, 0x27, + 0xef, 0xf6, 0xae, 0x1b, 0xe7, 0x05, 0xe1, 0x07, 0x9a, 0xf6, 0x8c, 0xbd, 0xc2, 0x5a, 0x32, 0xee, + 0x94, 0x6b, 0x7c, 0xd0, 0x0d, 0x05, 0xbb, 0x30, 0x41, 0xed, 0x1e, 0xbf, 0x5c, 0xab, 0x78, 0xa3, + 0x7c, 0x92, 0xed, 0xa6, 0xfe, 0x2e, 0xec, 0xf1, 0x6b, 0x9e, 0x60, 0xd7, 0x37, 0xd9, 0x8b, 0xad, + 0xf9, 0xb9, 0x5a, 0x85, 0xdd, 0x80, 0xa7, 0xcc, 0xc6, 0x12, 0xbb, 0x11, 0x4f, 0x43, 0xae, 0xc7, + 0x6e, 0x92, 0x4f, 0xce, 0x34, 0xbb, 0xb9, 0x89, 0x6c, 0xfa, 0xdd, 0x20, 0x14, 0xec, 0x96, 0x26, + 0x9b, 0x59, 0x4b, 0x07, 0x02, 0xbf, 0x56, 0xed, 0xf1, 0xbd, 0x82, 0x23, 0xd8, 0xad, 0x4d, 0xf6, + 0x4a, 0xcb, 0xca, 0x94, 0x4a, 0x47, 0xae, 0x73, 0x45, 0xc6, 0x2b, 0xb2, 0xdb, 0x9a, 0x28, 0xa4, + 0x02, 0xd6, 0x07, 0xec, 0xf6, 0xa8, 0xc2, 0x77, 0xfc, 0x80, 0xdd, 0x21, 0xe3, 0x8a, 0x22, 0xbb, + 0xb3, 0xc9, 0x5e, 0x4a, 0x79, 0x2d, 0x16, 0xf9, 0x46, 0x76, 0x17, 0xec, 0x64, 0x63, 0xc4, 0xaf, + 0xb2, 0xdf, 0xc1, 0x4e, 0xb6, 0x73, 0x4e, 0xa5, 0xca, 0x7e, 0x0f, 0xed, 0x71, 0x27, 0x20, 0xe9, + 0xdd, 0x4d, 0xf6, 0x32, 0x6b, 0xd1, 0xb8, 0x13, 0x40, 0xb4, 0xab, 0xc9, 0x5e, 0x6e, 0x2d, 0x1e, + 0x77, 0x02, 0xd7, 0xf1, 0x0a, 0x9c, 0xed, 0x6e, 0xb2, 0xf7, 0xb1, 0x96, 0x51, 0x9a, 0x32, 0xb4, + 0x24, 0x64, 0x4a, 0x25, 0x76, 0x4f, 0x93, 0x6d, 0x5b, 0xcb, 0x09, 0x5a, 0x3f, 0xf1, 0x5d, 0x5e, + 0x10, 0x84, 0xdd, 0xdb, 0x64, 0x27, 0xad, 0x7d, 0x33, 0xd5, 0x6a, 0xe0, 0x4f, 0x23, 0x25, 0x7a, + 0xca, 0xb0, 0xfb, 0xc0, 0x65, 0xd4, 0xdf, 0x34, 0x5c, 0xab, 0x4c, 0xf0, 0x80, 0x6d, 0x6d, 0xb6, + 0x97, 0x58, 0x0b, 0x46, 0x1d, 0xef, 0x28, 0xb6, 0xad, 0x99, 0x44, 0xbd, 0xdc, 0x0b, 0x39, 0xda, + 0xdb, 0x9b, 0x29, 0x74, 0x4f, 0xad, 0xc2, 0xc9, 0x9a, 0xed, 0x68, 0xa6, 0x04, 0x8d, 0xf0, 0xa0, + 0xc0, 0x3d, 0x01, 0x85, 0x9d, 0xcd, 0x94, 0xbe, 0x61, 0xe1, 0x96, 0x39, 0xbb, 0x12, 0x7e, 0x06, + 0xb9, 0x53, 0x64, 0x57, 0x35, 0x53, 0x16, 0x06, 0x9d, 0x12, 0xbb, 0xba, 0x99, 0x3a, 0x8a, 0xfc, + 0x62, 0xe0, 0xd8, 0x35, 0x08, 0x31, 0xe8, 0xe8, 0xf6, 0xb5, 0x08, 0x31, 0x2c, 0xa6, 0x64, 0xf3, + 0x3a, 0xe8, 0xd7, 0x57, 0x1a, 0x76, 0xce, 0xf0, 0xc1, 0x5f, 0x4e, 0x58, 0xcb, 0x63, 0x6b, 0x8f, + 0xbd, 0xd2, 0x5a, 0x3a, 0xe6, 0x85, 0x55, 0x5e, 0x70, 0x27, 0x5d, 0x5e, 0x64, 0x7b, 0x51, 0x71, + 0xf6, 0x38, 0xa1, 0xc8, 0x7a, 0x22, 0x13, 0x66, 0x3d, 0xc1, 0x12, 0x54, 0x9c, 0x06, 0x19, 0xe5, + 0x4e, 0x99, 0xcd, 0xb3, 0xf7, 0xb5, 0x56, 0x1a, 0x48, 0xd5, 0xfb, 0x7c, 0x7b, 0x3f, 0x8b, 0x19, + 0x50, 0x97, 0xf6, 0x82, 0x98, 0x35, 0x0a, 0x74, 0x21, 0x55, 0x64, 0x5d, 0x51, 0x57, 0xfc, 0xde, + 0x31, 0x4d, 0xd4, 0xee, 0x22, 0x0d, 0x51, 0x54, 0xc9, 0xc6, 0xb2, 0x6d, 0x6b, 0x45, 0x1d, 0x02, + 0x9d, 0xa5, 0x3a, 0xb2, 0xc4, 0x14, 0x9f, 0x65, 0x3a, 0x8c, 0x44, 0x35, 0xa1, 0xe5, 0x71, 0x07, + 0x60, 0xb4, 0xc2, 0xde, 0xdf, 0xb2, 0x23, 0xaa, 0x9a, 0xd2, 0xca, 0xb8, 0x2e, 0x38, 0x31, 0x1d, + 0x4c, 0x39, 0x94, 0xb4, 0xf6, 0xd3, 0xc1, 0x0c, 0x0a, 0x66, 0xab, 0xec, 0x26, 0x6b, 0xdf, 0x18, + 0xac, 0xc8, 0xed, 0x6f, 0x27, 0xad, 0xfd, 0x62, 0x02, 0xcd, 0xaf, 0x69, 0x96, 0x27, 0x50, 0x4c, + 0xda, 0x07, 0x58, 0xab, 0xe2, 0x06, 0x9a, 0xe5, 0x01, 0xb3, 0x2c, 0x40, 0x74, 0xb5, 0x1e, 0x24, + 0x19, 0x52, 0xf2, 0x5c, 0xa3, 0xd9, 0x6b, 0x10, 0x34, 0x9b, 0x75, 0xff, 0x35, 0xaa, 0x58, 0xb6, + 0x68, 0xfa, 0x1a, 0xd7, 0x24, 0x5b, 0x1b, 0xdd, 0x80, 0xe3, 0x41, 0xba, 0x53, 0x46, 0x5d, 0x53, + 0x6c, 0x6b, 0xd4, 0x07, 0xc3, 0xaf, 0xe9, 0xe1, 0x25, 0x6b, 0xc9, 0xaf, 0x43, 0x67, 0x5c, 0x42, + 0x60, 0xf7, 0x75, 0x6d, 0x2c, 0x31, 0xc5, 0xed, 0x60, 0xdd, 0x6b, 0x89, 0x6a, 0x66, 0xdf, 0x88, + 0x3b, 0x00, 0xaf, 0x7f, 0xd2, 0xdd, 0x53, 0xaa, 0x9a, 0xd5, 0x3f, 0xc7, 0x75, 0xc1, 0xa9, 0xd3, + 0x24, 0x53, 0x69, 0x49, 0x5e, 0x5d, 0xda, 0x45, 0x1d, 0x06, 0xb7, 0x43, 0xcd, 0x38, 0x1a, 0x5c, + 0xf1, 0x3b, 0xcc, 0x0c, 0x98, 0x91, 0x68, 0x8e, 0xdf, 0x9c, 0xed, 0x0c, 0x3c, 0xd3, 0xf6, 0x6a, + 0x6b, 0xff, 0x06, 0x13, 0xcd, 0xb5, 0x7b, 0xb6, 0x0d, 0xf8, 0x7e, 0x4b, 0xe7, 0x10, 0xab, 0x18, + 0xb8, 0xfe, 0x8b, 0xee, 0x96, 0x84, 0xc0, 0xf3, 0x5f, 0x75, 0x0e, 0x25, 0xa6, 0x38, 0xfe, 0x9b, + 0xee, 0xac, 0x44, 0x35, 0xbf, 0x7f, 0x8f, 0x3b, 0x00, 0xb7, 0xff, 0xd0, 0xf1, 0x95, 0xaa, 0xe6, + 0x95, 0x89, 0xeb, 0x82, 0xd3, 0x3a, 0x5a, 0xda, 0x7a, 0x7c, 0xa7, 0xcc, 0xc3, 0x02, 0x27, 0x46, + 0xaf, 0xb5, 0xd0, 0x3a, 0xab, 0x11, 0x10, 0x7a, 0xbd, 0xc5, 0xde, 0xcf, 0x5a, 0xa9, 0x21, 0x1d, + 0xf9, 0x8d, 0x16, 0x7b, 0x5f, 0x6b, 0x85, 0x46, 0x15, 0xcb, 0x37, 0x63, 0xd6, 0x60, 0xf3, 0x56, + 0x8b, 0xbd, 0xca, 0x62, 0xc6, 0x5a, 0x93, 0xf9, 0x4b, 0x4c, 0x13, 0x5c, 0xfe, 0xda, 0x42, 0xaf, + 0xe1, 0xc1, 0x3c, 0xd1, 0x28, 0xd2, 0xdb, 0x79, 0x30, 0x8f, 0xf8, 0x9c, 0xde, 0x92, 0x83, 0xf9, + 0xfa, 0x1b, 0x78, 0x99, 0xb5, 0x78, 0x30, 0xaf, 0x22, 0x96, 0xa4, 0x22, 0x42, 0x4d, 0xd9, 0x2b, + 0x2c, 0x6b, 0x30, 0x6f, 0x62, 0xb8, 0x52, 0x06, 0xe7, 0xdf, 0x85, 0xef, 0x3e, 0xf2, 0xed, 0x01, + 0xee, 0x83, 0x6f, 0x1f, 0xbe, 0xfb, 0xb4, 0xef, 0x2a, 0x7c, 0xf7, 0x29, 0xdf, 0x47, 0x4b, 0x45, + 0xf8, 0x0e, 0xe0, 0xbb, 0xcf, 0xf8, 0x0e, 0xa5, 0x0c, 0xbe, 0x05, 0xf9, 0x1e, 0x00, 0xef, 0x69, + 0x82, 0x07, 0x24, 0xef, 0x19, 0xf2, 0x3d, 0x60, 0x78, 0x7f, 0x8f, 0x7c, 0x0f, 0x68, 0xde, 0xff, + 0x2d, 0x15, 0xe1, 0xfb, 0x7f, 0xc8, 0xf7, 0x40, 0x9d, 0xf7, 0xff, 0x4a, 0x19, 0x7c, 0xff, 0x9f, + 0x7c, 0x39, 0x73, 0x47, 0x70, 0x2c, 0xb7, 0xec, 0x43, 0x24, 0x4e, 0x23, 0x08, 0xf4, 0x11, 0x06, + 0x48, 0x43, 0x3a, 0xde, 0xc7, 0x18, 0x20, 0x8d, 0xaa, 0xb0, 0x9f, 0xc4, 0xac, 0x11, 0xfd, 0xd3, + 0x16, 0x7a, 0x15, 0x0d, 0x72, 0xb9, 0x9c, 0xb3, 0xcf, 0x5a, 0xf0, 0xa6, 0xe2, 0x6a, 0x29, 0x65, + 0x9f, 0xc3, 0x02, 0x6d, 0xed, 0xf9, 0x8b, 0x16, 0x22, 0x05, 0x48, 0xb9, 0xfd, 0xb2, 0x6e, 0x04, + 0x9f, 0xc7, 0xb4, 0x92, 0x46, 0xd6, 0x13, 0x3c, 0xd8, 0xe8, 0x94, 0xc9, 0xed, 0xb1, 0xad, 0xe4, + 0x46, 0x23, 0xf0, 0x7c, 0x5c, 0x2b, 0xbd, 0x45, 0x07, 0x30, 0x26, 0xc7, 0x25, 0x68, 0x23, 0x30, + 0x20, 0x07, 0xe5, 0x78, 0xec, 0x70, 0x06, 0xcc, 0xa8, 0x9c, 0x90, 0x20, 0x86, 0x03, 0x7a, 0x58, + 0x4e, 0x54, 0xba, 0x88, 0x74, 0x52, 0x82, 0xde, 0x9c, 0x03, 0xf5, 0x81, 0x39, 0x59, 0x49, 0x91, + 0xbd, 0x53, 0xb0, 0x37, 0xea, 0xdb, 0x40, 0x21, 0xce, 0x80, 0xa0, 0x6f, 0x03, 0x42, 0x9c, 0x89, + 0x10, 0x7d, 0x1b, 0x74, 0x88, 0xb3, 0x10, 0xa2, 0x6f, 0x83, 0x0a, 0x71, 0xb6, 0xd2, 0x45, 0x88, + 0x73, 0x10, 0xa2, 0x6f, 0x83, 0x09, 0x71, 0xae, 0x92, 0x22, 0xc4, 0x79, 0x08, 0x31, 0x8c, 0x5e, + 0x5c, 0x00, 0xc1, 0xb0, 0xec, 0x85, 0xdc, 0xa7, 0x0d, 0x9b, 0x5e, 0x6c, 0x46, 0x88, 0x61, 0xdd, + 0x8b, 0x8b, 0x94, 0x2e, 0x42, 0x5c, 0x8c, 0x10, 0xc3, 0xf5, 0x5e, 0x5c, 0xa2, 0xa4, 0x08, 0x71, + 0xa9, 0xf4, 0x54, 0x2b, 0x97, 0x65, 0x4f, 0xb6, 0x48, 0x6d, 0xb4, 0x11, 0x6a, 0x6b, 0x82, 0x76, + 0x42, 0x12, 0xd0, 0xe1, 0xb6, 0xd1, 0x66, 0x60, 0x99, 0xc4, 0x54, 0xc8, 0xed, 0x11, 0x3b, 0x84, + 0xdd, 0x91, 0xa0, 0x12, 0x51, 0x76, 0x3a, 0xf4, 0xce, 0x88, 0x16, 0xc2, 0x5f, 0x09, 0xe2, 0x23, + 0xe5, 0x9a, 0x5c, 0x9f, 0x76, 0x25, 0xb0, 0x1d, 0x2a, 0xd7, 0xcc, 0x22, 0xb4, 0x3b, 0x41, 0x1b, + 0x37, 0x42, 0x88, 0xdd, 0xbd, 0x60, 0x3b, 0xe4, 0x7a, 0x4a, 0xff, 0x3e, 0x10, 0x41, 0x5b, 0x1b, + 0xdc, 0x0f, 0x8f, 0x80, 0xc8, 0xe2, 0x8f, 0x52, 0xa3, 0x56, 0x16, 0x6e, 0xb5, 0x3c, 0x03, 0xa3, + 0x07, 0x12, 0x54, 0xd2, 0x1a, 0xd2, 0x76, 0x0f, 0x22, 0xb4, 0x46, 0xc9, 0xf4, 0x4f, 0x20, 0xdb, + 0xeb, 0x6e, 0x74, 0x8b, 0x72, 0xb1, 0x7a, 0x08, 0xa9, 0x90, 0x80, 0x36, 0x7b, 0x38, 0xa1, 0x6a, + 0x4f, 0xc2, 0x64, 0xf7, 0x48, 0x82, 0x56, 0x25, 0x03, 0x69, 0xcd, 0x47, 0xd1, 0x93, 0x21, 0xbf, + 0x08, 0x5f, 0x8f, 0xc1, 0xf9, 0x90, 0x5f, 0xd4, 0xe2, 0xc7, 0x31, 0x2a, 0x43, 0x7e, 0x91, 0x5c, + 0x3c, 0x91, 0xa0, 0xad, 0x66, 0x84, 0xcc, 0x98, 0x17, 0xba, 0x25, 0x8f, 0x17, 0xd9, 0x93, 0x09, + 0xfb, 0x40, 0xab, 0x49, 0xe5, 0x43, 0xa3, 0x46, 0xfa, 0x54, 0xc2, 0x5e, 0x6d, 0xad, 0x6a, 0x90, + 0xe6, 0xa4, 0xec, 0xe9, 0xa8, 0x2c, 0x17, 0xb7, 0x7b, 0x06, 0xf1, 0x62, 0x32, 0x65, 0xf5, 0x6c, + 0xc2, 0xfe, 0x8a, 0xb5, 0xbf, 0xa4, 0x35, 0x2b, 0xdc, 0x73, 0x09, 0xfb, 0x00, 0x6b, 0xbf, 0xb8, + 0x50, 0xd9, 0x3d, 0x1f, 0x11, 0x35, 0x04, 0x7b, 0x21, 0x61, 0x37, 0x59, 0x76, 0x54, 0xa4, 0x6c, + 0xf6, 0x24, 0xec, 0xaf, 0x5a, 0x49, 0x3d, 0x74, 0xb3, 0xa2, 0xbd, 0x28, 0xa9, 0x34, 0x88, 0x95, + 0xed, 0x4b, 0x31, 0x61, 0x43, 0xc4, 0x97, 0x25, 0x99, 0x98, 0x50, 0xd9, 0xfd, 0x39, 0x61, 0xb7, + 0x59, 0x6b, 0xb4, 0xa8, 0xdf, 0x0f, 0x0a, 0x75, 0x3b, 0x63, 0xff, 0x4a, 0xc2, 0x6e, 0xb5, 0x0e, + 0x9c, 0x5b, 0x49, 0xf9, 0x79, 0x75, 0x0e, 0x95, 0x06, 0x16, 0xaf, 0x41, 0x25, 0x5a, 0x2a, 0xb3, + 0x02, 0xbd, 0x9e, 0xb0, 0x9b, 0xad, 0xd5, 0x73, 0xa9, 0xa8, 0x30, 0x6f, 0x20, 0x45, 0x51, 0x85, + 0x58, 0x6f, 0xde, 0x9c, 0x65, 0xdf, 0xc0, 0xe1, 0x2d, 0x54, 0x59, 0x66, 0x02, 0x73, 0xe3, 0x57, + 0x8c, 0x2a, 0x32, 0x33, 0x11, 0x8e, 0x51, 0xeb, 0xd7, 0xba, 0x85, 0xfa, 0xfc, 0x0d, 0xc3, 0x31, + 0x6c, 0xc2, 0xcc, 0xab, 0xdf, 0x32, 0xbc, 0x54, 0xb9, 0x4b, 0x4b, 0x6e, 0xde, 0xef, 0xe5, 0x05, + 0x76, 0x7d, 0x1c, 0x22, 0x27, 0x37, 0x18, 0xa8, 0x97, 0x17, 0x24, 0x74, 0x63, 0x1c, 0x22, 0xc3, + 0x9b, 0x18, 0x0e, 0x41, 0xdc, 0x95, 0x8b, 0xf5, 0xcd, 0x8c, 0xe6, 0x55, 0x7f, 0xd9, 0xf7, 0x03, + 0xe3, 0xfb, 0x96, 0x06, 0x8c, 0x3c, 0xdd, 0x5a, 0xc7, 0x8c, 0xf7, 0xdb, 0x1a, 0x30, 0xb2, 0xbd, + 0x9d, 0xd1, 0x2a, 0x01, 0x0c, 0xfe, 0xef, 0x60, 0xf2, 0x78, 0x56, 0xf3, 0xe4, 0xdc, 0xdb, 0x8d, + 0xf0, 0x68, 0x93, 0x8b, 0x7b, 0xea, 0x4d, 0xb2, 0xbe, 0x97, 0xd9, 0xfb, 0x5b, 0xfb, 0xa0, 0x79, + 0x84, 0x2b, 0xa6, 0xfa, 0x03, 0xa7, 0x20, 0xd7, 0x1a, 0x46, 0xd3, 0x3a, 0x86, 0x93, 0xf5, 0xfd, + 0xb3, 0x61, 0xf2, 0xf2, 0x07, 0x64, 0x73, 0xd0, 0x2f, 0x1d, 0x92, 0x09, 0x4a, 0xec, 0x21, 0x84, + 0x18, 0xf4, 0x4b, 0x5d, 0x99, 0xa0, 0x14, 0xb2, 0x87, 0x19, 0xce, 0x75, 0x7e, 0xa9, 0x8b, 0x3d, + 0xc2, 0x68, 0x89, 0x27, 0xbd, 0xb5, 0xec, 0x51, 0xa6, 0x8e, 0x8d, 0x45, 0xf6, 0x18, 0xa3, 0x8a, + 0xa5, 0x47, 0x72, 0x9a, 0xe3, 0xbc, 0x88, 0x03, 0xdf, 0x00, 0xf7, 0xd8, 0xe3, 0x8c, 0x4e, 0x82, + 0x23, 0xfe, 0x26, 0xf6, 0x04, 0xf4, 0x7b, 0x7c, 0x6f, 0x23, 0x7b, 0x12, 0x6e, 0x7a, 0x46, 0x7b, + 0x0e, 0xed, 0x62, 0x4f, 0x01, 0xa6, 0x81, 0x67, 0x4f, 0xcb, 0xc7, 0xa3, 0x03, 0xc1, 0x9e, 0xc1, + 0x63, 0xa6, 0xe0, 0x87, 0xec, 0x59, 0xf9, 0x18, 0xba, 0x1e, 0x7b, 0x0e, 0xc4, 0x32, 0xc2, 0xf1, + 0xc0, 0xf3, 0x79, 0x64, 0x8a, 0x9a, 0x92, 0xe8, 0x0b, 0x88, 0xd5, 0xe3, 0x87, 0x6c, 0x8f, 0x7a, + 0x12, 0xec, 0x45, 0xf4, 0xac, 0x97, 0x97, 0x02, 0xce, 0x43, 0xf6, 0x12, 0xf0, 0xbe, 0xe9, 0x2a, + 0x7b, 0x99, 0xd9, 0x8b, 0xac, 0x79, 0x23, 0x59, 0xf6, 0x67, 0x28, 0x8c, 0x3a, 0x45, 0xd7, 0xf1, + 0x42, 0xf6, 0x0a, 0x14, 0x72, 0xae, 0xc7, 0x5e, 0xc5, 0x53, 0xde, 0xf1, 0xd8, 0x6b, 0x8c, 0xd6, + 0xda, 0x7c, 0x50, 0xf3, 0x0a, 0x8e, 0xc0, 0x9a, 0xf9, 0x3a, 0x8a, 0x44, 0x23, 0xc8, 0xf7, 0x1b, + 0x74, 0xc4, 0x5a, 0xa9, 0x21, 0x5d, 0x86, 0x6f, 0xc6, 0x14, 0xc7, 0x5c, 0x4f, 0xb0, 0xb7, 0x50, + 0xaa, 0x83, 0x7e, 0xc9, 0x2d, 0x38, 0xe5, 0x8c, 0x57, 0x64, 0x97, 0x25, 0xb1, 0x63, 0x90, 0xc0, + 0xfa, 0x80, 0x5d, 0x9e, 0x8c, 0x28, 0x7c, 0xc7, 0x0f, 0xd8, 0x15, 0x49, 0x8a, 0x3f, 0xe6, 0x39, + 0xc1, 0xcc, 0xb0, 0x8f, 0x9d, 0xc9, 0x96, 0x24, 0x05, 0xd3, 0x88, 0x0e, 0xb6, 0x35, 0x49, 0xc1, + 0x34, 0x0a, 0x56, 0xdb, 0x62, 0xd0, 0xb7, 0x73, 0xeb, 0x87, 0xd9, 0xf6, 0x24, 0x95, 0x20, 0x20, + 0xf3, 0xda, 0xd9, 0x91, 0xa4, 0xb7, 0x5f, 0x1d, 0x83, 0xed, 0xce, 0x24, 0x55, 0x56, 0x1d, 0xd4, + 0x61, 0xae, 0x84, 0x03, 0xd5, 0xca, 0x86, 0xb8, 0x73, 0xba, 0x0a, 0x0e, 0xf4, 0x8b, 0x53, 0x81, + 0x57, 0xa3, 0x23, 0xe4, 0x4b, 0x01, 0xd7, 0x80, 0x8d, 0x7c, 0x05, 0x2b, 0xe8, 0x5a, 0xe8, 0xd0, + 0x2b, 0x58, 0x01, 0xd7, 0x21, 0x1b, 0x59, 0x4f, 0xa8, 0xf6, 0x0f, 0xa1, 0x40, 0x6f, 0x5f, 0x05, + 0xfc, 0x08, 0x0a, 0xf2, 0x3a, 0x26, 0xe7, 0x96, 0xd8, 0x8f, 0x93, 0x54, 0x13, 0xb8, 0x8d, 0xa1, + 0xe6, 0x4f, 0xb4, 0xf8, 0x3b, 0x3e, 0xda, 0x3f, 0xd5, 0xed, 0x61, 0x5e, 0xa2, 0xf6, 0xcf, 0xea, + 0xfe, 0xf3, 0x41, 0x8d, 0xb3, 0x9f, 0x47, 0x48, 0x02, 0xf8, 0x45, 0xbc, 0x7b, 0xc0, 0x7e, 0x09, + 0x25, 0x18, 0xf5, 0x3b, 0xe5, 0x90, 0xb3, 0x5f, 0x61, 0x48, 0xa4, 0x95, 0x44, 0x7e, 0x2d, 0x33, + 0xa0, 0xcd, 0x24, 0xf8, 0x1b, 0x39, 0xb4, 0x7c, 0x52, 0xe4, 0xa6, 0xdc, 0x49, 0xc1, 0xae, 0x97, + 0xc1, 0xdc, 0xd2, 0x94, 0x02, 0x6e, 0x40, 0x8e, 0x0d, 0x1b, 0x9a, 0x3d, 0xe8, 0xe4, 0xef, 0x93, + 0xf4, 0xd2, 0xa9, 0xb3, 0x32, 0x82, 0xbb, 0x93, 0xf4, 0x5a, 0x8c, 0xb1, 0x33, 0xb2, 0x5d, 0x30, + 0xaa, 0xb3, 0x34, 0x82, 0xdd, 0x49, 0x7a, 0x5f, 0x46, 0xd8, 0x1a, 0xc9, 0x3d, 0x49, 0x7a, 0x0f, + 0xc5, 0x59, 0x1b, 0xe1, 0xbd, 0x3a, 0xb3, 0xf2, 0x46, 0xed, 0xb7, 0xe8, 0xe1, 0x00, 0x17, 0x23, + 0x4e, 0xe0, 0x54, 0xd4, 0x46, 0xea, 0xc6, 0x24, 0xf6, 0x98, 0x5c, 0x8c, 0x3b, 0x01, 0xbb, 0x09, + 0x8d, 0x51, 0x7f, 0x13, 0x25, 0xfa, 0x66, 0x34, 0x72, 0x52, 0x72, 0x0b, 0x92, 0x8a, 0x1b, 0x1e, + 0x53, 0x47, 0xb7, 0xc2, 0x9f, 0xc2, 0xf4, 0x96, 0xeb, 0xb6, 0xa4, 0xb9, 0xe2, 0x43, 0x65, 0xde, + 0x8e, 0x8c, 0xc9, 0x36, 0xca, 0xf7, 0x8e, 0x08, 0x80, 0x32, 0xbd, 0x13, 0x45, 0x25, 0x01, 0x45, + 0xea, 0xae, 0x88, 0x0e, 0x76, 0x77, 0xbf, 0x4b, 0xd2, 0x7a, 0x93, 0xf5, 0xc8, 0xe3, 0xd6, 0x66, + 0xe2, 0x95, 0xf5, 0xe4, 0xfc, 0x68, 0x96, 0xd5, 0xa0, 0x39, 0xc9, 0xfb, 0xae, 0xac, 0xa7, 0x1c, + 0xed, 0x50, 0xba, 0x70, 0xb2, 0xb3, 0x59, 0x16, 0x81, 0xe1, 0x7a, 0xa5, 0x92, 0x62, 0x6b, 0x78, + 0x95, 0xf4, 0x34, 0x49, 0x99, 0xa3, 0x30, 0x27, 0xb6, 0x40, 0x1b, 0x6d, 0x84, 0x3a, 0xa9, 0x85, + 0x52, 0x20, 0x01, 0x1d, 0xee, 0x64, 0x9c, 0x28, 0x24, 0xa6, 0x42, 0x9e, 0x12, 0xb1, 0x43, 0xd8, + 0x53, 0x71, 0x78, 0x51, 0x76, 0x3a, 0xf4, 0x69, 0x2d, 0xe8, 0xd0, 0x24, 0x45, 0x3a, 0xbd, 0x05, + 0x34, 0x26, 0x11, 0xe5, 0x8c, 0x16, 0x49, 0x43, 0x47, 0x38, 0x13, 0x47, 0x9a, 0xec, 0xa4, 0xf2, + 0x7e, 0x96, 0xd2, 0x85, 0xe7, 0xb3, 0x55, 0x28, 0xe3, 0xf5, 0x9c, 0x48, 0x6c, 0x74, 0xea, 0x5c, + 0xa5, 0x2e, 0xb7, 0xf7, 0x38, 0xeb, 0xf4, 0x38, 0x21, 0x3f, 0x62, 0x8a, 0x23, 0x95, 0x6f, 0xcb, + 0x93, 0xab, 0x42, 0x10, 0xff, 0x1d, 0x79, 0x42, 0x56, 0x90, 0x66, 0xf1, 0x37, 0x79, 0x42, 0x56, + 0xa8, 0xe2, 0xf2, 0x6e, 0xcc, 0x1a, 0x8c, 0xde, 0x93, 0x27, 0x64, 0x6d, 0xad, 0x79, 0xbd, 0x1f, + 0xd3, 0x04, 0x99, 0x0f, 0x40, 0x35, 0x83, 0x6a, 0x0a, 0x66, 0xaa, 0x82, 0x9d, 0xdf, 0xa6, 0x80, + 0x3e, 0x4f, 0x02, 0x17, 0xb4, 0xe1, 0xad, 0xed, 0x57, 0xf0, 0x75, 0x89, 0x5d, 0xd8, 0x86, 0x1b, + 0xdf, 0xde, 0x6f, 0xb2, 0xcd, 0x10, 0x8c, 0x38, 0x61, 0xb8, 0xc9, 0x0f, 0x8a, 0xec, 0xa2, 0x36, + 0x4c, 0x65, 0xc7, 0x2b, 0xfa, 0x15, 0x79, 0xf1, 0x7d, 0x71, 0x1b, 0x5e, 0x43, 0x87, 0x67, 0x0e, + 0x61, 0x97, 0xe8, 0xc7, 0x2e, 0x76, 0x29, 0x02, 0x8c, 0x79, 0x05, 0xed, 0xf1, 0xb2, 0x36, 0x9a, + 0x6e, 0x75, 0x80, 0x17, 0x07, 0xb9, 0x57, 0x12, 0x53, 0xec, 0xf2, 0x36, 0xa2, 0x5b, 0xe7, 0x96, + 0x1d, 0x67, 0x57, 0x68, 0x48, 0xb1, 0xcb, 0x8e, 0xb3, 0x2d, 0x6d, 0x38, 0x3a, 0x79, 0x05, 0xbf, + 0xc8, 0xd9, 0x56, 0x34, 0x7a, 0x39, 0x1a, 0xdb, 0x40, 0x35, 0x37, 0x74, 0x28, 0xdb, 0x0e, 0xaa, + 0xbd, 0x8e, 0x70, 0x26, 0x9c, 0x90, 0xb3, 0x6b, 0xda, 0xb0, 0x53, 0xc0, 0xce, 0xc0, 0xdf, 0x14, + 0xb2, 0x6b, 0x41, 0xbd, 0xa7, 0x16, 0x04, 0xdc, 0x13, 0x63, 0x21, 0x0f, 0xd8, 0x75, 0xe0, 0x8b, + 0xc7, 0x1f, 0xb6, 0xc9, 0x6b, 0x05, 0xcf, 0xe3, 0xf8, 0xb0, 0x91, 0xed, 0x65, 0x3f, 0x02, 0x34, + 0x88, 0xe3, 0x6d, 0xc8, 0x03, 0x91, 0xed, 0x65, 0x3f, 0x46, 0x27, 0xa2, 0x10, 0x4d, 0xff, 0x6c, + 0x2f, 0xfb, 0x49, 0x1b, 0xae, 0xa0, 0x79, 0x10, 0xd2, 0x08, 0xfc, 0x14, 0x91, 0xe4, 0x85, 0xbc, + 0x44, 0x7e, 0xd6, 0x26, 0xb7, 0x21, 0x9b, 0xe4, 0xe2, 0xf0, 0xf3, 0x36, 0x2a, 0xc8, 0x5c, 0x99, + 0xf3, 0x2a, 0xbb, 0xbb, 0x4d, 0xee, 0x17, 0x0a, 0x47, 0xb1, 0x5d, 0x32, 0xb9, 0xbc, 0xcc, 0x9d, + 0x90, 0x03, 0xd9, 0xdd, 0x46, 0x05, 0xa2, 0x2f, 0xfd, 0xbc, 0x19, 0x79, 0xeb, 0x7b, 0x4f, 0x1b, + 0x0d, 0xbc, 0xb9, 0x25, 0xd2, 0xf0, 0xbd, 0x6d, 0xea, 0xf0, 0x6c, 0x90, 0xfb, 0xd0, 0x05, 0x5a, + 0x09, 0x0c, 0x74, 0x3f, 0x20, 0x5c, 0x76, 0x6a, 0xe8, 0x0f, 0x6d, 0x54, 0x6f, 0xea, 0xda, 0x4e, + 0x83, 0x7f, 0x84, 0x1e, 0x6e, 0xcd, 0x34, 0xf4, 0x40, 0x9b, 0x9c, 0xee, 0x5c, 0x64, 0x84, 0xef, + 0xb1, 0x07, 0x4d, 0x73, 0x58, 0xf8, 0x0e, 0xfb, 0x53, 0x9b, 0x5c, 0x1c, 0xb8, 0x48, 0x43, 0xfc, + 0x50, 0xbd, 0x0d, 0xf9, 0xc3, 0x18, 0xb4, 0x6c, 0x98, 0x1d, 0xd9, 0x78, 0x18, 0x7b, 0x04, 0xde, + 0x65, 0x83, 0x8a, 0xce, 0x11, 0xec, 0xd1, 0x08, 0x34, 0xe4, 0x54, 0xab, 0xbc, 0xc8, 0x1e, 0xab, + 0x9b, 0xa4, 0xd9, 0xe3, 0x72, 0xb0, 0xc6, 0xb2, 0xbd, 0xec, 0x09, 0x14, 0xd7, 0xb8, 0x2b, 0x78, + 0x18, 0x1e, 0xee, 0x84, 0x53, 0xec, 0x49, 0xa5, 0x08, 0xe9, 0x53, 0x08, 0x4c, 0xd9, 0xcf, 0x4d, + 0x39, 0x41, 0x91, 0x3d, 0xdd, 0x66, 0xbe, 0x53, 0xb8, 0x1e, 0xde, 0x6a, 0xcf, 0x48, 0xe6, 0x65, + 0xf7, 0x28, 0x4e, 0xcd, 0x47, 0x5a, 0xb1, 0x9d, 0x53, 0xad, 0x47, 0x5b, 0xb1, 0xa1, 0xe4, 0x25, + 0x3e, 0x5d, 0xa5, 0xf6, 0x63, 0xad, 0xb4, 0x12, 0xc9, 0xf6, 0x58, 0xbe, 0xff, 0x5b, 0x84, 0x3d, + 0x1e, 0xc1, 0xb4, 0xdd, 0x13, 0xad, 0xd8, 0x5a, 0x1a, 0x4c, 0xeb, 0x3e, 0xd9, 0x4a, 0xd9, 0x95, + 0x38, 0x96, 0x4a, 0x02, 0x9f, 0x6a, 0x95, 0x6f, 0x2c, 0x03, 0x6a, 0xed, 0xa7, 0x5b, 0xb1, 0xe3, + 0x84, 0x60, 0x94, 0x57, 0xcb, 0x4e, 0x01, 0xce, 0x9f, 0x69, 0xc5, 0x96, 0x31, 0x0a, 0x6b, 0x8b, + 0x67, 0x5b, 0xa9, 0x44, 0x14, 0xdf, 0xda, 0x44, 0x28, 0x03, 0x3c, 0xd7, 0x2a, 0x5f, 0x62, 0x75, + 0x54, 0xeb, 0x3f, 0x0f, 0x3e, 0xb4, 0x2c, 0xf4, 0x4d, 0x8b, 0xc0, 0x29, 0xd0, 0x29, 0x82, 0x9d, + 0xda, 0xae, 0xc1, 0x31, 0xef, 0xe8, 0x9a, 0x2f, 0x10, 0xf4, 0xb4, 0x76, 0x4a, 0x1c, 0x81, 0xf9, + 0x99, 0x2a, 0x90, 0xd3, 0xdb, 0xf5, 0xf6, 0x22, 0xc7, 0x61, 0x77, 0x46, 0xbb, 0xfe, 0x94, 0x22, + 0x27, 0x04, 0x61, 0x67, 0x1a, 0x5f, 0x91, 0x0e, 0x9c, 0x65, 0x14, 0x47, 0x79, 0xc5, 0xdf, 0x08, + 0xec, 0xec, 0x76, 0xfd, 0x69, 0x66, 0x88, 0x07, 0x25, 0x40, 0xe7, 0xb4, 0xc7, 0x3f, 0xcd, 0x10, + 0x76, 0x6e, 0x7b, 0xec, 0x0b, 0x0e, 0x41, 0xe7, 0xb5, 0x53, 0x96, 0x08, 0x1a, 0x77, 0xca, 0x6e, + 0x11, 0x84, 0xdc, 0x12, 0xfb, 0x7e, 0x3b, 0xa5, 0x82, 0x5a, 0x3d, 0xbe, 0x27, 0x1c, 0xd7, 0x0b, + 0x09, 0xfd, 0x41, 0x3b, 0xe5, 0xba, 0xfe, 0x05, 0xa8, 0x5a, 0xe5, 0x72, 0x2f, 0x74, 0x7e, 0x5c, + 0x50, 0xef, 0xc1, 0x05, 0xed, 0x34, 0x94, 0x86, 0xd8, 0x88, 0x23, 0x0a, 0x53, 0x84, 0x5f, 0xd8, + 0x4e, 0xa3, 0x50, 0xc7, 0x03, 0x1e, 0xf2, 0x40, 0xf6, 0x65, 0x73, 0x3b, 0xe5, 0x3b, 0x1a, 0x7a, + 0xc4, 0x11, 0x30, 0xba, 0xc8, 0x74, 0x69, 0x24, 0xe0, 0x42, 0x80, 0xff, 0xc5, 0xa6, 0x4b, 0x1b, + 0x74, 0xb2, 0x2f, 0x31, 0x6a, 0x39, 0xee, 0x04, 0x32, 0xde, 0xa5, 0x86, 0x60, 0x4e, 0xf8, 0x81, + 0x43, 0x29, 0xfa, 0x1e, 0x94, 0x2f, 0x33, 0xf6, 0xbd, 0xbc, 0x2a, 0xc3, 0x5c, 0x6e, 0x06, 0xeb, + 0x3f, 0xf9, 0x0c, 0xfa, 0x7d, 0x85, 0xf1, 0x28, 0x57, 0x5a, 0xc2, 0xb6, 0x98, 0xc4, 0x91, 0x16, + 0xce, 0x01, 0x04, 0x6f, 0x35, 0x81, 0x90, 0x4f, 0xb9, 0x14, 0x90, 0x60, 0x5b, 0x5c, 0xb0, 0x5e, + 0x4c, 0xf1, 0x00, 0x16, 0xdb, 0x1b, 0xa9, 0xf5, 0x07, 0x1c, 0xd4, 0x76, 0x98, 0x31, 0x18, 0xe2, + 0x95, 0x09, 0x1e, 0xac, 0x9f, 0x24, 0x74, 0x27, 0x08, 0x8f, 0xf3, 0x42, 0x26, 0xcc, 0xf3, 0x69, + 0x24, 0xf9, 0x03, 0x94, 0xc9, 0x38, 0x2f, 0xf4, 0x07, 0x7e, 0x45, 0x83, 0x1f, 0xa2, 0xc0, 0xc6, + 0x79, 0xa1, 0xd7, 0xad, 0x20, 0xce, 0x47, 0x20, 0x3c, 0xce, 0x0b, 0x83, 0x87, 0xf4, 0xba, 0xa1, + 0x70, 0x3c, 0x59, 0x4e, 0x1f, 0x1b, 0xb8, 0x2b, 0x0a, 0x7f, 0xd2, 0x4e, 0x47, 0xe4, 0x71, 0x5e, + 0x18, 0xe6, 0x25, 0x47, 0xb8, 0x1b, 0x79, 0xd6, 0xf3, 0x78, 0x30, 0x12, 0xf8, 0xc5, 0x9a, 0xac, + 0xa5, 0x4f, 0x31, 0x82, 0xe3, 0xbc, 0xd0, 0xe3, 0x87, 0xae, 0xc7, 0xa3, 0xb6, 0x9f, 0x69, 0x8a, + 0x83, 0x5d, 0xc3, 0x7e, 0x50, 0x21, 0xe8, 0xf3, 0x76, 0x7b, 0x8d, 0x75, 0x40, 0xf4, 0x9b, 0x46, + 0xfc, 0x03, 0xeb, 0x4d, 0x1d, 0xb4, 0x1f, 0x24, 0x79, 0x0c, 0x97, 0x57, 0xf4, 0x37, 0x77, 0xd8, + 0x07, 0x5a, 0x4d, 0x73, 0x08, 0xf1, 0xe6, 0xbf, 0xa5, 0x43, 0xbb, 0x6e, 0x90, 0xaa, 0xd7, 0xfd, + 0xad, 0x1d, 0xd4, 0x93, 0x39, 0xe4, 0x7a, 0x93, 0x70, 0xdb, 0xdf, 0x73, 0x8f, 0xad, 0xc1, 0xed, + 0x1d, 0x76, 0x8b, 0xf5, 0x95, 0xb9, 0xcc, 0xf5, 0x2e, 0xe1, 0x8e, 0xbf, 0x67, 0x8f, 0x0d, 0xc3, + 0x9d, 0x1d, 0xf6, 0x3f, 0x58, 0x2d, 0x73, 0x48, 0xe3, 0x09, 0xb8, 0xab, 0x83, 0x26, 0xca, 0x48, + 0xb9, 0xd6, 0x80, 0x9f, 0xdf, 0x81, 0x5b, 0x20, 0x3a, 0x07, 0xc5, 0x05, 0x17, 0x74, 0xd0, 0x86, + 0x5c, 0xdf, 0x7d, 0xc5, 0x65, 0x17, 0x42, 0x16, 0x8f, 0xa7, 0x5f, 0x3d, 0x9b, 0x21, 0xd3, 0xb7, + 0xfe, 0x71, 0xbb, 0x8b, 0x3a, 0xa8, 0xe2, 0x06, 0xf3, 0x71, 0xf4, 0x62, 0x89, 0xf6, 0xc5, 0xd1, + 0x4b, 0x80, 0x0e, 0x34, 0xe8, 0x5e, 0x0a, 0xef, 0xfa, 0x72, 0x3b, 0x2e, 0xbb, 0x0c, 0x5d, 0xc1, + 0x0d, 0x75, 0x5c, 0x70, 0xb9, 0x74, 0xd5, 0x10, 0xe0, 0x0a, 0xa0, 0x7d, 0x1b, 0xe2, 0xe8, 0x16, + 0xa0, 0xc3, 0x0d, 0xba, 0x5b, 0x3b, 0x68, 0xcd, 0x90, 0x17, 0xa6, 0x71, 0xc9, 0x36, 0x48, 0x62, + 0x98, 0x3a, 0xcf, 0x6d, 0x9f, 0x4b, 0x82, 0x53, 0xd7, 0x8e, 0x0e, 0x55, 0xda, 0x51, 0x89, 0x3c, + 0x58, 0xed, 0x44, 0x35, 0xcc, 0x61, 0x64, 0x0e, 0x2f, 0x57, 0x76, 0xd8, 0xad, 0xd6, 0x81, 0x73, + 0x19, 0x1b, 0x95, 0xab, 0x10, 0x59, 0x6e, 0x77, 0xe3, 0x6c, 0xaf, 0x46, 0xef, 0xb2, 0x93, 0x71, + 0xf4, 0x1a, 0x39, 0x64, 0x6a, 0x1b, 0x1a, 0x97, 0x5d, 0xdb, 0x41, 0x73, 0xad, 0x3f, 0x9f, 0x1b, + 0xa2, 0xa5, 0xf5, 0x08, 0xda, 0x58, 0x3e, 0x88, 0x3c, 0x6b, 0xa8, 0xcf, 0xfc, 0xca, 0x89, 0xfd, + 0xa9, 0x83, 0xd6, 0x09, 0x2d, 0x18, 0x09, 0xf8, 0xa4, 0x3b, 0xcd, 0x1e, 0x8a, 0x81, 0xf2, 0x35, + 0xc7, 0x1e, 0x8e, 0x6b, 0x4e, 0x05, 0xb4, 0x0b, 0x7c, 0xa4, 0x03, 0x07, 0x54, 0x47, 0xf0, 0x7e, + 0x3f, 0xa8, 0x38, 0x58, 0x05, 0xde, 0xe9, 0xa4, 0xb5, 0x92, 0xb0, 0x41, 0x57, 0xf0, 0x80, 0xb6, + 0xdc, 0x9d, 0x6a, 0xeb, 0xc8, 0x7b, 0xdd, 0xc9, 0x49, 0xf6, 0x6e, 0xa7, 0xbe, 0x03, 0xa7, 0xd9, + 0x04, 0xe8, 0xbd, 0x4e, 0xe2, 0x47, 0x4d, 0x39, 0x43, 0x8d, 0xe0, 0xfd, 0x4e, 0x1c, 0x0a, 0xd5, + 0xbc, 0x6a, 0x10, 0x7e, 0xd0, 0x69, 0x7f, 0xd5, 0x4a, 0x6a, 0xa1, 0xfe, 0x6b, 0xc4, 0x1f, 0xc2, + 0x69, 0xdd, 0xc6, 0x08, 0x3e, 0x82, 0x53, 0x29, 0x98, 0x65, 0xf5, 0x71, 0x27, 0x8d, 0xb4, 0x5a, + 0xa4, 0xe3, 0xf1, 0x3e, 0xe9, 0xa4, 0x75, 0x51, 0xbb, 0x32, 0xf0, 0xa7, 0x9d, 0xb4, 0x77, 0xa2, + 0xee, 0xb1, 0xcf, 0xf0, 0x78, 0xb8, 0x5f, 0x0b, 0xd8, 0xe7, 0x9d, 0xb8, 0x95, 0x76, 0xbd, 0x9a, + 0xe0, 0xec, 0x8b, 0x4e, 0x79, 0x00, 0x2d, 0xf8, 0x5e, 0x91, 0x7d, 0x89, 0x04, 0x0d, 0xb9, 0x85, + 0xc0, 0x57, 0xc8, 0x31, 0x29, 0xda, 0xb1, 0x0e, 0xf9, 0x9e, 0x98, 0x62, 0xc7, 0xa6, 0x70, 0x51, + 0x4f, 0xcf, 0xc3, 0x4e, 0x85, 0xb3, 0xe3, 0x52, 0xb8, 0xf8, 0xf7, 0x37, 0x51, 0xad, 0x64, 0x82, + 0x12, 0x3b, 0x3e, 0x85, 0xcf, 0x0a, 0x12, 0xf0, 0x6b, 0x82, 0xb0, 0x13, 0x52, 0xb8, 0x59, 0x72, + 0x66, 0x60, 0x72, 0x22, 0x4c, 0x7a, 0x9d, 0x99, 0xf5, 0x93, 0xd2, 0xe7, 0x49, 0xf0, 0x09, 0xe0, + 0x08, 0xce, 0x8f, 0x62, 0x27, 0xd7, 0xdb, 0xff, 0xc5, 0x9d, 0x80, 0x9d, 0x92, 0xa2, 0x11, 0x21, + 0x11, 0xf9, 0x1c, 0xa2, 0x8d, 0xff, 0xa9, 0x29, 0x2a, 0x3b, 0x0d, 0xf9, 0x35, 0x01, 0xf4, 0x34, + 0xc4, 0x21, 0xb4, 0xd7, 0x99, 0x61, 0xa7, 0x23, 0x0e, 0xb5, 0x94, 0x9f, 0x33, 0x52, 0xd4, 0x7d, + 0x3c, 0x9e, 0x99, 0xa2, 0x5c, 0xd1, 0x63, 0xcc, 0xed, 0x59, 0x29, 0xaa, 0xf3, 0x28, 0xac, 0x5d, + 0x9f, 0x0d, 0x4e, 0x03, 0x5c, 0xc8, 0x4a, 0x62, 0xe7, 0xa4, 0xb0, 0x6f, 0x9e, 0x09, 0x29, 0xb1, + 0xb8, 0x1f, 0x0c, 0xab, 0xec, 0xdc, 0x14, 0x2d, 0x89, 0x11, 0xd0, 0xaf, 0x09, 0xc2, 0xcf, 0x4b, + 0x45, 0x4e, 0x1f, 0x18, 0x89, 0xef, 0x83, 0xbf, 0x42, 0x68, 0xa8, 0xd6, 0x52, 0x9e, 0x7e, 0xd0, + 0x88, 0xe2, 0xee, 0xee, 0x7c, 0xd0, 0xc6, 0xd2, 0x7e, 0x41, 0x4a, 0x1e, 0x2e, 0x2a, 0xa6, 0x78, + 0x2f, 0x44, 0x97, 0xc7, 0xf2, 0x3d, 0x70, 0xbb, 0x19, 0xfc, 0xc7, 0xf2, 0x3d, 0xa4, 0x12, 0x0a, + 0xa7, 0x52, 0xd5, 0xc3, 0x72, 0x51, 0x8a, 0x8a, 0xaa, 0x51, 0xa2, 0xc6, 0xe7, 0x62, 0x08, 0x33, + 0xc5, 0x22, 0x39, 0x11, 0xd8, 0xf6, 0x17, 0xeb, 0x5f, 0x95, 0x52, 0x54, 0x71, 0x71, 0xa1, 0x7a, + 0x51, 0x5d, 0x8a, 0x70, 0x99, 0x62, 0x11, 0xc5, 0xe6, 0x08, 0x14, 0x1d, 0x16, 0x8c, 0xcb, 0xb4, + 0x91, 0x3e, 0x59, 0xd4, 0xfd, 0x5d, 0x9e, 0xa2, 0xba, 0x8f, 0x8a, 0x94, 0xb7, 0x2b, 0x90, 0x3d, + 0xe5, 0x4d, 0x62, 0xf0, 0xb5, 0xc5, 0xb0, 0x33, 0x87, 0x9e, 0xba, 0xb7, 0xad, 0x86, 0x5d, 0x5d, + 0xa8, 0xfc, 0x6d, 0x8b, 0xb1, 0x53, 0x62, 0xb9, 0x90, 0x6a, 0x0a, 0xc4, 0x39, 0xea, 0x6d, 0x07, + 0xca, 0xa2, 0x2e, 0x50, 0x9e, 0x76, 0x82, 0x41, 0xae, 0x36, 0x31, 0x57, 0x7e, 0xae, 0x04, 0x83, + 0xb8, 0x50, 0xd9, 0x5d, 0x05, 0x06, 0xb9, 0xda, 0xc4, 0xac, 0xfc, 0x5c, 0xad, 0x8d, 0x66, 0xe7, + 0xe7, 0x1a, 0x90, 0x8b, 0x8a, 0x94, 0xb7, 0x6b, 0x65, 0x75, 0x49, 0x6f, 0x91, 0xfc, 0x5c, 0x67, + 0xd8, 0xcd, 0x91, 0x9f, 0x1f, 0x1a, 0x76, 0xb3, 0xf2, 0xf3, 0xa3, 0x18, 0xbb, 0x68, 0x7e, 0x7e, + 0xac, 0x29, 0x34, 0xe6, 0xe7, 0x27, 0xc8, 0x4f, 0x5d, 0xa0, 0x3c, 0xfd, 0x14, 0x41, 0xc6, 0x3c, + 0x77, 0xda, 0x54, 0x97, 0x2a, 0x62, 0xf6, 0x33, 0x58, 0xc4, 0x44, 0xb4, 0x41, 0xfa, 0xf9, 0x6c, + 0xb8, 0x97, 0x17, 0xd8, 0x2f, 0x52, 0xf2, 0x67, 0x6a, 0xde, 0x46, 0x1e, 0x88, 0xfc, 0xf7, 0xd8, + 0x2f, 0x53, 0xf8, 0xe6, 0xe7, 0x1c, 0x85, 0xec, 0xb1, 0x5f, 0x99, 0x26, 0x66, 0xc3, 0xaf, 0xa1, + 0x3d, 0xc2, 0x03, 0xd7, 0x2f, 0x66, 0x8a, 0x45, 0xf6, 0x1b, 0x4c, 0x78, 0xd9, 0xc6, 0xd2, 0xf7, + 0x5b, 0x4c, 0x8e, 0x0d, 0x35, 0x27, 0x10, 0x3c, 0x60, 0xd7, 0x43, 0x3d, 0xc7, 0x0b, 0x79, 0x1f, + 0xe6, 0x37, 0xa4, 0xe4, 0x59, 0xb1, 0xc2, 0xf3, 0xb4, 0xd2, 0xb1, 0x1b, 0x53, 0xfa, 0xd4, 0x0b, + 0x3e, 0xe4, 0xf1, 0xa6, 0x14, 0x2d, 0x8c, 0x79, 0xbf, 0xd7, 0x99, 0x09, 0xd9, 0xcd, 0x52, 0x5f, + 0xad, 0x8a, 0x21, 0xbb, 0x05, 0x4b, 0x80, 0x9a, 0x52, 0x7a, 0x9e, 0xdd, 0x8a, 0x41, 0x8a, 0x80, + 0x6a, 0x8a, 0xdd, 0x86, 0x65, 0xd1, 0x38, 0xc7, 0xc4, 0xbe, 0x1d, 0x0e, 0x0c, 0x26, 0x6f, 0xe6, + 0xef, 0x48, 0xe9, 0x55, 0x1c, 0xa0, 0x9e, 0xe7, 0x77, 0xa2, 0x2b, 0x83, 0x4e, 0x28, 0x68, 0x69, + 0xbb, 0x0b, 0xde, 0x72, 0x22, 0x20, 0x6a, 0x42, 0x26, 0xe7, 0x77, 0xb2, 0x3c, 0xa2, 0x18, 0x55, + 0x23, 0xfb, 0x7d, 0x03, 0xae, 0xc7, 0xf2, 0x6e, 0x04, 0xa2, 0x0d, 0xb8, 0x1e, 0x06, 0x90, 0xda, + 0x35, 0x0b, 0x26, 0x5e, 0x6c, 0x37, 0x96, 0x26, 0x75, 0x6a, 0x34, 0xbe, 0xef, 0x89, 0xa1, 0xda, + 0xf3, 0xbd, 0x7a, 0xe2, 0x91, 0x5e, 0xf4, 0x55, 0xc5, 0xee, 0x8b, 0xce, 0x2f, 0x75, 0xbb, 0xed, + 0x09, 0x76, 0x7f, 0x74, 0x89, 0x51, 0x2f, 0x3e, 0xb5, 0xd5, 0xfd, 0x43, 0xd4, 0x22, 0xeb, 0xe9, + 0xdf, 0x0e, 0xfc, 0x11, 0x09, 0xa8, 0xc3, 0xe4, 0xe5, 0x81, 0x14, 0x6d, 0x3a, 0x14, 0xa6, 0x29, + 0x2a, 0xfd, 0x07, 0xa3, 0x33, 0x5e, 0xcb, 0xf0, 0x2d, 0x58, 0x4f, 0x82, 0x59, 0x5c, 0x1f, 0x8a, + 0xd6, 0x7a, 0x9d, 0xeb, 0xc3, 0xd1, 0xe9, 0x1e, 0xe7, 0xfa, 0x48, 0xd4, 0xa2, 0xce, 0xf5, 0x51, + 0x39, 0x58, 0x06, 0x26, 0x2f, 0x8f, 0x81, 0xab, 0xc2, 0x1a, 0xb8, 0x3e, 0x1e, 0x9d, 0x7d, 0x51, + 0xae, 0x4f, 0xa0, 0xfc, 0x69, 0x68, 0x50, 0x8f, 0x4f, 0xa6, 0xf4, 0x07, 0x01, 0xf5, 0x4e, 0x7a, + 0x2a, 0x5e, 0x63, 0x98, 0x02, 0x4f, 0xeb, 0x45, 0xa3, 0x4e, 0x17, 0x67, 0x90, 0x67, 0xe4, 0xfb, + 0xcb, 0x90, 0x02, 0xf8, 0x6c, 0x54, 0x39, 0xeb, 0x99, 0xcf, 0x25, 0xcf, 0x45, 0x93, 0xa4, 0x19, + 0xc1, 0xe2, 0xf9, 0xe8, 0xca, 0xa8, 0x25, 0xda, 0xec, 0x85, 0x58, 0x27, 0x63, 0x9b, 0x24, 0xb6, + 0x27, 0xd6, 0x49, 0xfd, 0x35, 0xc4, 0x13, 0xec, 0xc5, 0x58, 0x2c, 0x25, 0x40, 0xac, 0x97, 0x62, + 0xb1, 0xf4, 0xb6, 0x4a, 0xc5, 0x7a, 0x59, 0xbf, 0x3c, 0x1a, 0xfa, 0xf9, 0x67, 0xf4, 0xb3, 0x5e, + 0x28, 0x00, 0x5f, 0x89, 0x2a, 0x47, 0xfa, 0xf9, 0x6a, 0xb4, 0x70, 0x63, 0xfd, 0x7c, 0x2d, 0xfa, + 0x86, 0x6c, 0xec, 0xe7, 0xeb, 0xb1, 0xc2, 0x8b, 0xf7, 0xf3, 0x8d, 0x58, 0xe1, 0x45, 0xfa, 0xf9, + 0x66, 0x2c, 0x56, 0xb4, 0x9f, 0x6f, 0xc5, 0x62, 0x35, 0xf4, 0xf3, 0x2f, 0x29, 0x3a, 0x3b, 0x36, + 0xcc, 0x43, 0x2a, 0x09, 0x15, 0xef, 0xaf, 0xd1, 0xae, 0x91, 0x3b, 0x85, 0xbf, 0x1d, 0xcd, 0x03, + 0xbe, 0x6f, 0x78, 0x82, 0xbd, 0x83, 0xe9, 0x1b, 0x01, 0x11, 0xff, 0x6f, 0x51, 0xca, 0x84, 0xe8, + 0xd8, 0xef, 0x46, 0xa7, 0xa9, 0x02, 0x95, 0xfb, 0xf7, 0xa2, 0x61, 0xf5, 0x47, 0x12, 0x4f, 0xb0, + 0xf7, 0x63, 0xdd, 0x97, 0x38, 0x82, 0x7c, 0x10, 0xcb, 0x99, 0x14, 0xe8, 0x38, 0x1f, 0x46, 0xcb, + 0x30, 0xd2, 0x87, 0x8f, 0xa2, 0x35, 0xab, 0xfb, 0xf0, 0x31, 0xfa, 0x10, 0x01, 0xe1, 0xfe, 0x93, + 0x68, 0x79, 0x45, 0xfb, 0xf0, 0x69, 0x74, 0xfa, 0xc6, 0xfb, 0xf0, 0x59, 0x34, 0x6c, 0xa4, 0x0f, + 0x9f, 0xc7, 0x4a, 0x35, 0xd2, 0x87, 0x2f, 0x62, 0xf5, 0x1d, 0xef, 0xc3, 0x97, 0x29, 0xfb, 0x20, + 0xeb, 0xab, 0x73, 0xd6, 0x84, 0x59, 0x3d, 0x8f, 0x59, 0x4b, 0xe7, 0xfc, 0xd9, 0xb5, 0x61, 0x14, + 0x8e, 0x5d, 0x4b, 0x67, 0xb7, 0x39, 0x6a, 0xc4, 0x68, 0x1c, 0xb7, 0xd6, 0x6e, 0xb3, 0xd6, 0xcc, + 0x5d, 0x2b, 0x46, 0xe9, 0xf8, 0xb5, 0xc4, 0x65, 0xce, 0x79, 0x68, 0x74, 0x4e, 0x00, 0x97, 0xd9, + 0xf3, 0xd1, 0x28, 0x9c, 0x08, 0x2e, 0x73, 0xcc, 0x4b, 0xa3, 0x71, 0x12, 0xb8, 0xcc, 0x3d, 0x3f, + 0x8d, 0xd2, 0xc9, 0x6b, 0xd5, 0x47, 0x46, 0xf5, 0x05, 0xe0, 0x89, 0xb4, 0xbd, 0xd8, 0x9a, 0xbf, + 0xce, 0xf5, 0xd8, 0x93, 0x69, 0x3a, 0x65, 0x64, 0x72, 0x3d, 0xd9, 0x2c, 0x7b, 0x2a, 0x8d, 0x0f, + 0xe0, 0x53, 0x4e, 0xc0, 0x9e, 0x4e, 0xe3, 0x83, 0xc8, 0x94, 0x13, 0x48, 0x8b, 0xb1, 0x7c, 0xff, + 0xb7, 0xd8, 0x33, 0x69, 0x7a, 0x2f, 0xab, 0x5f, 0x9e, 0x3f, 0x9b, 0x96, 0x9f, 0x2f, 0xa8, 0x71, + 0x44, 0x8e, 0x3d, 0x97, 0xa6, 0x37, 0xa5, 0xda, 0x43, 0xb0, 0xe7, 0xe1, 0xbf, 0xaf, 0x2c, 0xd8, + 0x0b, 0x69, 0x5a, 0x1d, 0xfb, 0xa6, 0xab, 0x7e, 0x20, 0x72, 0x5c, 0x1c, 0x4a, 0x6f, 0xb5, 0x3d, + 0x71, 0xec, 0x30, 0xc2, 0x5e, 0x8c, 0x63, 0xdf, 0x24, 0xec, 0x25, 0x84, 0xc0, 0x3f, 0x68, 0x50, + 0x45, 0xbc, 0x9c, 0xc6, 0xd7, 0x05, 0x6a, 0xca, 0x45, 0x26, 0x4d, 0xdb, 0x72, 0xb4, 0x55, 0x2d, + 0xbd, 0xa2, 0x34, 0xbc, 0x62, 0xd6, 0xcb, 0x71, 0xc1, 0x5e, 0x05, 0x61, 0xb5, 0x4e, 0xbf, 0x96, + 0xc6, 0x2b, 0x16, 0x0d, 0xda, 0x22, 0x0c, 0xfa, 0x05, 0xa7, 0xcc, 0xd9, 0xeb, 0x69, 0xfc, 0xfe, + 0x3b, 0xf0, 0x2b, 0xeb, 0x9c, 0x90, 0xa7, 0x0f, 0x63, 0x6f, 0xc0, 0xc9, 0xe1, 0x7c, 0x3a, 0xeb, + 0x61, 0x0f, 0xf1, 0xa6, 0x6e, 0xe7, 0x44, 0x40, 0xed, 0xb7, 0xd2, 0xf2, 0x33, 0x5b, 0xc8, 0x03, + 0x81, 0xb4, 0xfc, 0x25, 0x2d, 0x3f, 0xb3, 0x11, 0xc0, 0xfe, 0x9a, 0x96, 0x77, 0xf0, 0xea, 0xfa, + 0x97, 0xbd, 0x9d, 0x96, 0x5f, 0xf6, 0x42, 0x11, 0xb0, 0x77, 0xf0, 0x3c, 0x98, 0x0f, 0xdc, 0x0a, + 0xfb, 0x5b, 0x5a, 0xfe, 0x94, 0x6f, 0x52, 0xfa, 0x78, 0x37, 0x2d, 0x7f, 0x9a, 0x3e, 0x29, 0xd8, + 0x7b, 0x70, 0xa7, 0x06, 0xea, 0xfd, 0x34, 0xee, 0x54, 0xfc, 0x82, 0x23, 0xb0, 0x23, 0x08, 0xa1, + 0xfd, 0x41, 0x04, 0x3d, 0xd4, 0xa0, 0x1f, 0x22, 0x1f, 0x11, 0x5d, 0xf6, 0x51, 0x04, 0x81, 0x1e, + 0xfb, 0x58, 0x52, 0xf0, 0x37, 0xf1, 0x80, 0x7d, 0x22, 0x29, 0x54, 0x9d, 0x22, 0xcc, 0x3f, 0x95, + 0x14, 0xaa, 0x4e, 0x91, 0x7d, 0x86, 0xc1, 0xa4, 0x1d, 0x1f, 0x65, 0xf1, 0x73, 0x10, 0x5a, 0x5f, + 0xc0, 0x2b, 0xf4, 0x0b, 0xf4, 0x6f, 0x7d, 0xc1, 0xfc, 0x9c, 0x10, 0x23, 0xbd, 0x3e, 0x28, 0xb2, + 0x63, 0xba, 0xc9, 0x35, 0x6e, 0x57, 0xd9, 0xb1, 0x78, 0x1e, 0x45, 0x4f, 0x8f, 0xeb, 0xc6, 0x47, + 0x57, 0x5e, 0xe5, 0x8e, 0x60, 0xc7, 0x77, 0xe3, 0xc7, 0x0c, 0xf2, 0x96, 0x9a, 0x9d, 0xd0, 0x2d, + 0xbf, 0xbe, 0x6c, 0xe4, 0x41, 0x88, 0xdb, 0x75, 0x76, 0xa2, 0x92, 0x03, 0x61, 0x27, 0x75, 0xe3, + 0xc3, 0x80, 0x5b, 0x9a, 0x92, 0x59, 0x3a, 0x59, 0xba, 0xa5, 0x36, 0x3b, 0xa5, 0x1b, 0xdf, 0x77, + 0x34, 0xfb, 0x53, 0xbb, 0xf1, 0x63, 0x0f, 0x62, 0x7f, 0x1a, 0xb4, 0x72, 0x55, 0x8a, 0x70, 0x7a, + 0xb7, 0xfc, 0x1f, 0x87, 0xa0, 0x50, 0xa9, 0xb2, 0x33, 0xba, 0xd5, 0x92, 0x12, 0x82, 0x7b, 0x3d, + 0x9f, 0x67, 0xc6, 0x05, 0xf5, 0x94, 0x9e, 0xd5, 0xad, 0xd6, 0xbe, 0x88, 0x05, 0x3b, 0x3b, 0x0e, + 0xca, 0xc4, 0x9e, 0x13, 0x07, 0xb3, 0x5e, 0x91, 0x4f, 0xb3, 0x73, 0xc1, 0x31, 0xef, 0xab, 0xca, + 0x3a, 0x4f, 0x36, 0x03, 0xb7, 0x82, 0x3d, 0xdf, 0xf7, 0xd1, 0x3b, 0x6a, 0x4a, 0xbf, 0x3f, 0x30, + 0x6d, 0xe9, 0xf2, 0x7c, 0xf4, 0x63, 0xcc, 0x3b, 0x9c, 0x4f, 0xb3, 0x0b, 0x20, 0x1b, 0xab, 0x56, + 0xb9, 0x2c, 0xab, 0x0b, 0xa5, 0x8c, 0xda, 0x6c, 0x73, 0x37, 0x15, 0x64, 0x7d, 0xae, 0xb2, 0x8b, + 0xba, 0xe5, 0x0f, 0x36, 0x36, 0x29, 0xe5, 0x8b, 0xbb, 0xa9, 0xf2, 0xcd, 0x8f, 0x4e, 0xcd, 0x11, + 0xb3, 0xdb, 0x3e, 0xd0, 0x6a, 0xd2, 0x70, 0x4f, 0xa5, 0x1a, 0xfb, 0xd9, 0xf9, 0xa5, 0xdd, 0x34, + 0x21, 0xe5, 0x8f, 0x49, 0xb5, 0xc5, 0x65, 0xdd, 0xb4, 0x8c, 0x03, 0x6b, 0x54, 0xbf, 0x5c, 0x77, + 0xd5, 0xf5, 0x9c, 0x60, 0x86, 0x5d, 0xd1, 0x6d, 0x66, 0x95, 0x04, 0xb6, 0xfc, 0xbd, 0x60, 0xd8, + 0x45, 0x6f, 0x9d, 0xd3, 0x31, 0x44, 0xdb, 0xba, 0xa3, 0x3f, 0x83, 0x05, 0xb4, 0xbd, 0xdb, 0xfc, + 0x84, 0x15, 0xed, 0x1d, 0xdd, 0x07, 0x73, 0x6b, 0x65, 0xc3, 0xff, 0x48, 0xe1, 0x3f, 0x2e, 0xfc, + 0x4a, 0xb5, 0xcc, 0x05, 0xc7, 0x5d, 0xc2, 0x5e, 0xf6, 0x72, 0xac, 0x0d, 0x4e, 0x19, 0xcd, 0x04, + 0x29, 0x8c, 0x38, 0x81, 0x70, 0x9d, 0xf2, 0x21, 0x40, 0xe6, 0x45, 0x90, 0x2e, 0x20, 0xf3, 0xc9, + 0xa4, 0x97, 0x17, 0x6b, 0x55, 0x34, 0x17, 0xac, 0xfb, 0xfa, 0xae, 0x3d, 0x6b, 0x12, 0x0f, 0xec, + 0x59, 0x93, 0x78, 0x7e, 0xcf, 0x9a, 0xc4, 0xe6, 0x17, 0xd7, 0xec, 0x65, 0xad, 0x2a, 0xf8, 0x95, + 0xce, 0xaa, 0xeb, 0x95, 0x0a, 0x4e, 0xb5, 0x53, 0xb8, 0xc5, 0x09, 0xfc, 0x27, 0xd4, 0x48, 0xe2, + 0xff, 0x03, 0x00, 0x00, 0xff, 0xff, 0xf5, 0xb2, 0xb3, 0x15, 0x37, 0x38, 0x00, 0x00, } diff --git a/go-tipb/tici.pb.go b/go-tipb/tici.pb.go new file mode 100644 index 00000000..72a4f109 --- /dev/null +++ b/go-tipb/tici.pb.go @@ -0,0 +1,3389 @@ +// Code generated by protoc-gen-gogo. DO NOT EDIT. +// source: tici/indexer.proto + +/* +Package tipb is a generated protocol buffer package. + +It is generated from these files: + + tici/indexer.proto + +It has these top-level messages: + + CreateIndexRequest + CreateIndexResponse + DropIndexRequest + DropIndexResponse + TiCITableInfo + TiCIColumnInfo + TiCIIndexInfo + ParserInfo + GetIndexProgressRequest + GetIndexProgressResponse +*/ +package tipb + +import ( + "fmt" + + proto "github.com/golang/protobuf/proto" + + math "math" + + context "golang.org/x/net/context" + + grpc "google.golang.org/grpc" + + io "io" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package + +// IndexType represents the type of index +type IndexType int32 + +const ( + // Default value must be 0 in proto3 + IndexType_UNKNOWN IndexType = 0 + // Full-text index type + IndexType_FULL_TEXT IndexType = 1 + // Custom index type + IndexType_CUSTOM IndexType = 2 +) + +var IndexType_name = map[int32]string{ + 0: "UNKNOWN", + 1: "FULL_TEXT", + 2: "CUSTOM", +} +var IndexType_value = map[string]int32{ + "UNKNOWN": 0, + "FULL_TEXT": 1, + "CUSTOM": 2, +} + +func (x IndexType) String() string { + return proto.EnumName(IndexType_name, int32(x)) +} +func (IndexType) EnumDescriptor() ([]byte, []int) { return fileDescriptorIndexer, []int{0} } + +// ParserType represents the type of parser +type ParserType int32 + +const ( + // Default value must be 0 in proto3 + ParserType_UNKNOWN_PARSER ParserType = 0 + // Default parser + ParserType_DEFAULT_PARSER ParserType = 1 + // Other parser types + ParserType_OTHER_PARSER ParserType = 2 +) + +var ParserType_name = map[int32]string{ + 0: "UNKNOWN_PARSER", + 1: "DEFAULT_PARSER", + 2: "OTHER_PARSER", +} +var ParserType_value = map[string]int32{ + "UNKNOWN_PARSER": 0, + "DEFAULT_PARSER": 1, + "OTHER_PARSER": 2, +} + +func (x ParserType) String() string { + return proto.EnumName(ParserType_name, int32(x)) +} +func (ParserType) EnumDescriptor() ([]byte, []int) { return fileDescriptorIndexer, []int{1} } + +// CreateIndexRequest is a request to create an index +type CreateIndexRequest struct { + // Index information + IndexInfo *TiCIIndexInfo `protobuf:"bytes,1,opt,name=index_info,json=indexInfo" json:"index_info,omitempty"` + // Table information + TableInfo *TiCITableInfo `protobuf:"bytes,2,opt,name=table_info,json=tableInfo" json:"table_info,omitempty"` +} + +func (m *CreateIndexRequest) Reset() { *m = CreateIndexRequest{} } +func (m *CreateIndexRequest) String() string { return proto.CompactTextString(m) } +func (*CreateIndexRequest) ProtoMessage() {} +func (*CreateIndexRequest) Descriptor() ([]byte, []int) { return fileDescriptorIndexer, []int{0} } + +func (m *CreateIndexRequest) GetIndexInfo() *TiCIIndexInfo { + if m != nil { + return m.IndexInfo + } + return nil +} + +func (m *CreateIndexRequest) GetTableInfo() *TiCITableInfo { + if m != nil { + return m.TableInfo + } + return nil +} + +// CreateIndexResponse is a response to the index creation request +type CreateIndexResponse struct { + // Operation result status code, 0 means success + Status int32 `protobuf:"varint,1,opt,name=status,proto3" json:"status,omitempty"` + // Error message, only valid when status is non-zero + ErrorMessage string `protobuf:"bytes,2,opt,name=error_message,json=errorMessage,proto3" json:"error_message,omitempty"` + // Created index ID + IndexId string `protobuf:"bytes,3,opt,name=index_id,json=indexId,proto3" json:"index_id,omitempty"` +} + +func (m *CreateIndexResponse) Reset() { *m = CreateIndexResponse{} } +func (m *CreateIndexResponse) String() string { return proto.CompactTextString(m) } +func (*CreateIndexResponse) ProtoMessage() {} +func (*CreateIndexResponse) Descriptor() ([]byte, []int) { return fileDescriptorIndexer, []int{1} } + +func (m *CreateIndexResponse) GetStatus() int32 { + if m != nil { + return m.Status + } + return 0 +} + +func (m *CreateIndexResponse) GetErrorMessage() string { + if m != nil { + return m.ErrorMessage + } + return "" +} + +func (m *CreateIndexResponse) GetIndexId() string { + if m != nil { + return m.IndexId + } + return "" +} + +// DropIndexRequest is a request to drop an index +type DropIndexRequest struct { + // Index ID + TableId int64 `protobuf:"varint,1,opt,name=table_id,json=tableId,proto3" json:"table_id,omitempty"` + IndexId string `protobuf:"bytes,2,opt,name=index_id,json=indexId,proto3" json:"index_id,omitempty"` +} + +func (m *DropIndexRequest) Reset() { *m = DropIndexRequest{} } +func (m *DropIndexRequest) String() string { return proto.CompactTextString(m) } +func (*DropIndexRequest) ProtoMessage() {} +func (*DropIndexRequest) Descriptor() ([]byte, []int) { return fileDescriptorIndexer, []int{2} } + +func (m *DropIndexRequest) GetTableId() int64 { + if m != nil { + return m.TableId + } + return 0 +} + +func (m *DropIndexRequest) GetIndexId() string { + if m != nil { + return m.IndexId + } + return "" +} + +// DropIndexResponse is a response to the index drop request +type DropIndexResponse struct { + // Operation result status code, 0 means success + Status int32 `protobuf:"varint,1,opt,name=status,proto3" json:"status,omitempty"` + // Error message, only valid when status is non-zero + ErrorMessage string `protobuf:"bytes,2,opt,name=error_message,json=errorMessage,proto3" json:"error_message,omitempty"` +} + +func (m *DropIndexResponse) Reset() { *m = DropIndexResponse{} } +func (m *DropIndexResponse) String() string { return proto.CompactTextString(m) } +func (*DropIndexResponse) ProtoMessage() {} +func (*DropIndexResponse) Descriptor() ([]byte, []int) { return fileDescriptorIndexer, []int{3} } + +func (m *DropIndexResponse) GetStatus() int32 { + if m != nil { + return m.Status + } + return 0 +} + +func (m *DropIndexResponse) GetErrorMessage() string { + if m != nil { + return m.ErrorMessage + } + return "" +} + +// TableInfo represents table information +type TiCITableInfo struct { + // Table ID + TableId int64 `protobuf:"varint,1,opt,name=table_id,json=tableId,proto3" json:"table_id,omitempty"` + // Table name + TableName string `protobuf:"bytes,2,opt,name=table_name,json=tableName,proto3" json:"table_name,omitempty"` + // Database name + DatabaseName string `protobuf:"bytes,3,opt,name=database_name,json=databaseName,proto3" json:"database_name,omitempty"` + // Table version + Version int64 `protobuf:"varint,4,opt,name=version,proto3" json:"version,omitempty"` + // Column information + Columns []*TiCIColumnInfo `protobuf:"bytes,5,rep,name=columns" json:"columns,omitempty"` +} + +func (m *TiCITableInfo) Reset() { *m = TiCITableInfo{} } +func (m *TiCITableInfo) String() string { return proto.CompactTextString(m) } +func (*TiCITableInfo) ProtoMessage() {} +func (*TiCITableInfo) Descriptor() ([]byte, []int) { return fileDescriptorIndexer, []int{4} } + +func (m *TiCITableInfo) GetTableId() int64 { + if m != nil { + return m.TableId + } + return 0 +} + +func (m *TiCITableInfo) GetTableName() string { + if m != nil { + return m.TableName + } + return "" +} + +func (m *TiCITableInfo) GetDatabaseName() string { + if m != nil { + return m.DatabaseName + } + return "" +} + +func (m *TiCITableInfo) GetVersion() int64 { + if m != nil { + return m.Version + } + return 0 +} + +func (m *TiCITableInfo) GetColumns() []*TiCIColumnInfo { + if m != nil { + return m.Columns + } + return nil +} + +// ColumnInfo represents column information +type TiCIColumnInfo struct { + // Column ID + ColumnId int64 `protobuf:"varint,1,opt,name=column_id,json=columnId,proto3" json:"column_id,omitempty"` + // Column name + ColumnName string `protobuf:"bytes,2,opt,name=column_name,json=columnName,proto3" json:"column_name,omitempty"` + // MySQL type + Type int32 `protobuf:"varint,3,opt,name=type,proto3" json:"type,omitempty"` + // Collation + Collation int32 `protobuf:"varint,4,opt,name=collation,proto3" json:"collation,omitempty"` + // Column length + ColumnLength int32 `protobuf:"varint,5,opt,name=column_length,json=columnLength,proto3" json:"column_length,omitempty"` + // Decimal places + Decimal int32 `protobuf:"varint,6,opt,name=decimal,proto3" json:"decimal,omitempty"` + // Flags + Flag int32 `protobuf:"varint,7,opt,name=flag,proto3" json:"flag,omitempty"` + // Enum elements + Elems []string `protobuf:"bytes,8,rep,name=elems" json:"elems,omitempty"` + // Default value + DefaultVal []byte `protobuf:"bytes,9,opt,name=default_val,json=defaultVal,proto3" json:"default_val,omitempty"` + // Whether it's a primary key + IsPrimaryKey bool `protobuf:"varint,10,opt,name=is_primary_key,json=isPrimaryKey,proto3" json:"is_primary_key,omitempty"` + // Whether it's an array + IsArray bool `protobuf:"varint,11,opt,name=is_array,json=isArray,proto3" json:"is_array,omitempty"` +} + +func (m *TiCIColumnInfo) Reset() { *m = TiCIColumnInfo{} } +func (m *TiCIColumnInfo) String() string { return proto.CompactTextString(m) } +func (*TiCIColumnInfo) ProtoMessage() {} +func (*TiCIColumnInfo) Descriptor() ([]byte, []int) { return fileDescriptorIndexer, []int{5} } + +func (m *TiCIColumnInfo) GetColumnId() int64 { + if m != nil { + return m.ColumnId + } + return 0 +} + +func (m *TiCIColumnInfo) GetColumnName() string { + if m != nil { + return m.ColumnName + } + return "" +} + +func (m *TiCIColumnInfo) GetType() int32 { + if m != nil { + return m.Type + } + return 0 +} + +func (m *TiCIColumnInfo) GetCollation() int32 { + if m != nil { + return m.Collation + } + return 0 +} + +func (m *TiCIColumnInfo) GetColumnLength() int32 { + if m != nil { + return m.ColumnLength + } + return 0 +} + +func (m *TiCIColumnInfo) GetDecimal() int32 { + if m != nil { + return m.Decimal + } + return 0 +} + +func (m *TiCIColumnInfo) GetFlag() int32 { + if m != nil { + return m.Flag + } + return 0 +} + +func (m *TiCIColumnInfo) GetElems() []string { + if m != nil { + return m.Elems + } + return nil +} + +func (m *TiCIColumnInfo) GetDefaultVal() []byte { + if m != nil { + return m.DefaultVal + } + return nil +} + +func (m *TiCIColumnInfo) GetIsPrimaryKey() bool { + if m != nil { + return m.IsPrimaryKey + } + return false +} + +func (m *TiCIColumnInfo) GetIsArray() bool { + if m != nil { + return m.IsArray + } + return false +} + +// IndexInfo represents index information +type TiCIIndexInfo struct { + // Index ID + IndexId int64 `protobuf:"varint,1,opt,name=index_id,json=indexId,proto3" json:"index_id,omitempty"` + // Index name + IndexName string `protobuf:"bytes,2,opt,name=index_name,json=indexName,proto3" json:"index_name,omitempty"` + // Index type (fulltext, custom) + IndexType IndexType `protobuf:"varint,3,opt,name=index_type,json=indexType,proto3,enum=tipb.tici.IndexType" json:"index_type,omitempty"` + // Index columns + Columns []*TiCIColumnInfo `protobuf:"bytes,4,rep,name=columns" json:"columns,omitempty"` + // Whether the index is unique + IsUnique bool `protobuf:"varint,5,opt,name=is_unique,json=isUnique,proto3" json:"is_unique,omitempty"` + // Parser information + ParserInfo *ParserInfo `protobuf:"bytes,6,opt,name=parser_info,json=parserInfo" json:"parser_info,omitempty"` + // Other index parameters + OtherParams map[string]string `protobuf:"bytes,7,rep,name=other_params,json=otherParams" json:"other_params,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` +} + +func (m *TiCIIndexInfo) Reset() { *m = TiCIIndexInfo{} } +func (m *TiCIIndexInfo) String() string { return proto.CompactTextString(m) } +func (*TiCIIndexInfo) ProtoMessage() {} +func (*TiCIIndexInfo) Descriptor() ([]byte, []int) { return fileDescriptorIndexer, []int{6} } + +func (m *TiCIIndexInfo) GetIndexId() int64 { + if m != nil { + return m.IndexId + } + return 0 +} + +func (m *TiCIIndexInfo) GetIndexName() string { + if m != nil { + return m.IndexName + } + return "" +} + +func (m *TiCIIndexInfo) GetIndexType() IndexType { + if m != nil { + return m.IndexType + } + return IndexType_UNKNOWN +} + +func (m *TiCIIndexInfo) GetColumns() []*TiCIColumnInfo { + if m != nil { + return m.Columns + } + return nil +} + +func (m *TiCIIndexInfo) GetIsUnique() bool { + if m != nil { + return m.IsUnique + } + return false +} + +func (m *TiCIIndexInfo) GetParserInfo() *ParserInfo { + if m != nil { + return m.ParserInfo + } + return nil +} + +func (m *TiCIIndexInfo) GetOtherParams() map[string]string { + if m != nil { + return m.OtherParams + } + return nil +} + +// ParserInfo represents parser information +type ParserInfo struct { + // Parser type + ParserType ParserType `protobuf:"varint,1,opt,name=parser_type,json=parserType,proto3,enum=tipb.tici.ParserType" json:"parser_type,omitempty"` + // Parser parameters + ParserParams map[string]string `protobuf:"bytes,2,rep,name=parser_params,json=parserParams" json:"parser_params,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` +} + +func (m *ParserInfo) Reset() { *m = ParserInfo{} } +func (m *ParserInfo) String() string { return proto.CompactTextString(m) } +func (*ParserInfo) ProtoMessage() {} +func (*ParserInfo) Descriptor() ([]byte, []int) { return fileDescriptorIndexer, []int{7} } + +func (m *ParserInfo) GetParserType() ParserType { + if m != nil { + return m.ParserType + } + return ParserType_UNKNOWN_PARSER +} + +func (m *ParserInfo) GetParserParams() map[string]string { + if m != nil { + return m.ParserParams + } + return nil +} + +// GetIndexProgressRequest is a request to get the progress of an index build +type GetIndexProgressRequest struct { + // Table ID + TableId int64 `protobuf:"varint,1,opt,name=table_id,json=tableId,proto3" json:"table_id,omitempty"` + // Index ID + IndexId int64 `protobuf:"varint,2,opt,name=index_id,json=indexId,proto3" json:"index_id,omitempty"` +} + +func (m *GetIndexProgressRequest) Reset() { *m = GetIndexProgressRequest{} } +func (m *GetIndexProgressRequest) String() string { return proto.CompactTextString(m) } +func (*GetIndexProgressRequest) ProtoMessage() {} +func (*GetIndexProgressRequest) Descriptor() ([]byte, []int) { return fileDescriptorIndexer, []int{8} } + +func (m *GetIndexProgressRequest) GetTableId() int64 { + if m != nil { + return m.TableId + } + return 0 +} + +func (m *GetIndexProgressRequest) GetIndexId() int64 { + if m != nil { + return m.IndexId + } + return 0 +} + +// GetIndexProgressResponse is a response containing index build progress +type GetIndexProgressResponse struct { + // Operation result status code, 0 means success + Status int32 `protobuf:"varint,1,opt,name=status,proto3" json:"status,omitempty"` + // Error message, only valid when status is non-zero + ErrorMessage string `protobuf:"bytes,2,opt,name=error_message,json=errorMessage,proto3" json:"error_message,omitempty"` + // Number of documents indexed so far + DocumentCount uint64 `protobuf:"varint,3,opt,name=document_count,json=documentCount,proto3" json:"document_count,omitempty"` + // Build task state (PENDING, RUNNING, COMPLETED, FAILED) + State string `protobuf:"bytes,4,opt,name=state,proto3" json:"state,omitempty"` + // Whether index has been uploaded to S3 + IsUploaded bool `protobuf:"varint,5,opt,name=is_uploaded,json=isUploaded,proto3" json:"is_uploaded,omitempty"` + // Last S3 upload time in RFC3339 format + LastUploadTime string `protobuf:"bytes,6,opt,name=last_upload_time,json=lastUploadTime,proto3" json:"last_upload_time,omitempty"` + // S3 path where the index is stored + S3Path []string `protobuf:"bytes,7,rep,name=s3_path,json=s3Path" json:"s3_path,omitempty"` +} + +func (m *GetIndexProgressResponse) Reset() { *m = GetIndexProgressResponse{} } +func (m *GetIndexProgressResponse) String() string { return proto.CompactTextString(m) } +func (*GetIndexProgressResponse) ProtoMessage() {} +func (*GetIndexProgressResponse) Descriptor() ([]byte, []int) { return fileDescriptorIndexer, []int{9} } + +func (m *GetIndexProgressResponse) GetStatus() int32 { + if m != nil { + return m.Status + } + return 0 +} + +func (m *GetIndexProgressResponse) GetErrorMessage() string { + if m != nil { + return m.ErrorMessage + } + return "" +} + +func (m *GetIndexProgressResponse) GetDocumentCount() uint64 { + if m != nil { + return m.DocumentCount + } + return 0 +} + +func (m *GetIndexProgressResponse) GetState() string { + if m != nil { + return m.State + } + return "" +} + +func (m *GetIndexProgressResponse) GetIsUploaded() bool { + if m != nil { + return m.IsUploaded + } + return false +} + +func (m *GetIndexProgressResponse) GetLastUploadTime() string { + if m != nil { + return m.LastUploadTime + } + return "" +} + +func (m *GetIndexProgressResponse) GetS3Path() []string { + if m != nil { + return m.S3Path + } + return nil +} + +func init() { + proto.RegisterType((*CreateIndexRequest)(nil), "tipb.tici.CreateIndexRequest") + proto.RegisterType((*CreateIndexResponse)(nil), "tipb.tici.CreateIndexResponse") + proto.RegisterType((*DropIndexRequest)(nil), "tipb.tici.DropIndexRequest") + proto.RegisterType((*DropIndexResponse)(nil), "tipb.tici.DropIndexResponse") + proto.RegisterType((*TiCITableInfo)(nil), "tipb.tici.TiCITableInfo") + proto.RegisterType((*TiCIColumnInfo)(nil), "tipb.tici.TiCIColumnInfo") + proto.RegisterType((*TiCIIndexInfo)(nil), "tipb.tici.TiCIIndexInfo") + proto.RegisterType((*ParserInfo)(nil), "tipb.tici.ParserInfo") + proto.RegisterType((*GetIndexProgressRequest)(nil), "tipb.tici.GetIndexProgressRequest") + proto.RegisterType((*GetIndexProgressResponse)(nil), "tipb.tici.GetIndexProgressResponse") + proto.RegisterEnum("tipb.tici.IndexType", IndexType_name, IndexType_value) + proto.RegisterEnum("tipb.tici.ParserType", ParserType_name, ParserType_value) +} + +// Reference imports to suppress errors if they are not otherwise used. +var _ context.Context +var _ grpc.ClientConn + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +const _ = grpc.SupportPackageIsVersion4 + +// Client API for IndexerService service + +type IndexerServiceClient interface { + // CreateIndex creates a new index + CreateIndex(ctx context.Context, in *CreateIndexRequest, opts ...grpc.CallOption) (*CreateIndexResponse, error) + // DropIndex removes an existing index + DropIndex(ctx context.Context, in *DropIndexRequest, opts ...grpc.CallOption) (*DropIndexResponse, error) + // GetIndexProgress retrieves the current progress of an index build + GetIndexProgress(ctx context.Context, in *GetIndexProgressRequest, opts ...grpc.CallOption) (*GetIndexProgressResponse, error) +} + +type indexerServiceClient struct { + cc *grpc.ClientConn +} + +func NewIndexerServiceClient(cc *grpc.ClientConn) IndexerServiceClient { + return &indexerServiceClient{cc} +} + +func (c *indexerServiceClient) CreateIndex(ctx context.Context, in *CreateIndexRequest, opts ...grpc.CallOption) (*CreateIndexResponse, error) { + out := new(CreateIndexResponse) + err := grpc.Invoke(ctx, "/tipb.tici.IndexerService/CreateIndex", in, out, c.cc, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *indexerServiceClient) DropIndex(ctx context.Context, in *DropIndexRequest, opts ...grpc.CallOption) (*DropIndexResponse, error) { + out := new(DropIndexResponse) + err := grpc.Invoke(ctx, "/tipb.tici.IndexerService/DropIndex", in, out, c.cc, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *indexerServiceClient) GetIndexProgress(ctx context.Context, in *GetIndexProgressRequest, opts ...grpc.CallOption) (*GetIndexProgressResponse, error) { + out := new(GetIndexProgressResponse) + err := grpc.Invoke(ctx, "/tipb.tici.IndexerService/GetIndexProgress", in, out, c.cc, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// Server API for IndexerService service + +type IndexerServiceServer interface { + // CreateIndex creates a new index + CreateIndex(context.Context, *CreateIndexRequest) (*CreateIndexResponse, error) + // DropIndex removes an existing index + DropIndex(context.Context, *DropIndexRequest) (*DropIndexResponse, error) + // GetIndexProgress retrieves the current progress of an index build + GetIndexProgress(context.Context, *GetIndexProgressRequest) (*GetIndexProgressResponse, error) +} + +func RegisterIndexerServiceServer(s *grpc.Server, srv IndexerServiceServer) { + s.RegisterService(&_IndexerService_serviceDesc, srv) +} + +func _IndexerService_CreateIndex_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CreateIndexRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(IndexerServiceServer).CreateIndex(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/tipb.tici.IndexerService/CreateIndex", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(IndexerServiceServer).CreateIndex(ctx, req.(*CreateIndexRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _IndexerService_DropIndex_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DropIndexRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(IndexerServiceServer).DropIndex(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/tipb.tici.IndexerService/DropIndex", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(IndexerServiceServer).DropIndex(ctx, req.(*DropIndexRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _IndexerService_GetIndexProgress_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetIndexProgressRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(IndexerServiceServer).GetIndexProgress(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/tipb.tici.IndexerService/GetIndexProgress", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(IndexerServiceServer).GetIndexProgress(ctx, req.(*GetIndexProgressRequest)) + } + return interceptor(ctx, in, info, handler) +} + +var _IndexerService_serviceDesc = grpc.ServiceDesc{ + ServiceName: "tipb.tici.IndexerService", + HandlerType: (*IndexerServiceServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "CreateIndex", + Handler: _IndexerService_CreateIndex_Handler, + }, + { + MethodName: "DropIndex", + Handler: _IndexerService_DropIndex_Handler, + }, + { + MethodName: "GetIndexProgress", + Handler: _IndexerService_GetIndexProgress_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "tici/indexer.proto", +} + +func (m *CreateIndexRequest) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *CreateIndexRequest) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + if m.IndexInfo != nil { + dAtA[i] = 0xa + i++ + i = encodeVarintIndexer(dAtA, i, uint64(m.IndexInfo.Size())) + n1, err := m.IndexInfo.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n1 + } + if m.TableInfo != nil { + dAtA[i] = 0x12 + i++ + i = encodeVarintIndexer(dAtA, i, uint64(m.TableInfo.Size())) + n2, err := m.TableInfo.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n2 + } + return i, nil +} + +func (m *CreateIndexResponse) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *CreateIndexResponse) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + if m.Status != 0 { + dAtA[i] = 0x8 + i++ + i = encodeVarintIndexer(dAtA, i, uint64(m.Status)) + } + if len(m.ErrorMessage) > 0 { + dAtA[i] = 0x12 + i++ + i = encodeVarintIndexer(dAtA, i, uint64(len(m.ErrorMessage))) + i += copy(dAtA[i:], m.ErrorMessage) + } + if len(m.IndexId) > 0 { + dAtA[i] = 0x1a + i++ + i = encodeVarintIndexer(dAtA, i, uint64(len(m.IndexId))) + i += copy(dAtA[i:], m.IndexId) + } + return i, nil +} + +func (m *DropIndexRequest) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *DropIndexRequest) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + if m.TableId != 0 { + dAtA[i] = 0x8 + i++ + i = encodeVarintIndexer(dAtA, i, uint64(m.TableId)) + } + if len(m.IndexId) > 0 { + dAtA[i] = 0x12 + i++ + i = encodeVarintIndexer(dAtA, i, uint64(len(m.IndexId))) + i += copy(dAtA[i:], m.IndexId) + } + return i, nil +} + +func (m *DropIndexResponse) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *DropIndexResponse) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + if m.Status != 0 { + dAtA[i] = 0x8 + i++ + i = encodeVarintIndexer(dAtA, i, uint64(m.Status)) + } + if len(m.ErrorMessage) > 0 { + dAtA[i] = 0x12 + i++ + i = encodeVarintIndexer(dAtA, i, uint64(len(m.ErrorMessage))) + i += copy(dAtA[i:], m.ErrorMessage) + } + return i, nil +} + +func (m *TiCITableInfo) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *TiCITableInfo) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + if m.TableId != 0 { + dAtA[i] = 0x8 + i++ + i = encodeVarintIndexer(dAtA, i, uint64(m.TableId)) + } + if len(m.TableName) > 0 { + dAtA[i] = 0x12 + i++ + i = encodeVarintIndexer(dAtA, i, uint64(len(m.TableName))) + i += copy(dAtA[i:], m.TableName) + } + if len(m.DatabaseName) > 0 { + dAtA[i] = 0x1a + i++ + i = encodeVarintIndexer(dAtA, i, uint64(len(m.DatabaseName))) + i += copy(dAtA[i:], m.DatabaseName) + } + if m.Version != 0 { + dAtA[i] = 0x20 + i++ + i = encodeVarintIndexer(dAtA, i, uint64(m.Version)) + } + if len(m.Columns) > 0 { + for _, msg := range m.Columns { + dAtA[i] = 0x2a + i++ + i = encodeVarintIndexer(dAtA, i, uint64(msg.Size())) + n, err := msg.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n + } + } + return i, nil +} + +func (m *TiCIColumnInfo) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *TiCIColumnInfo) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + if m.ColumnId != 0 { + dAtA[i] = 0x8 + i++ + i = encodeVarintIndexer(dAtA, i, uint64(m.ColumnId)) + } + if len(m.ColumnName) > 0 { + dAtA[i] = 0x12 + i++ + i = encodeVarintIndexer(dAtA, i, uint64(len(m.ColumnName))) + i += copy(dAtA[i:], m.ColumnName) + } + if m.Type != 0 { + dAtA[i] = 0x18 + i++ + i = encodeVarintIndexer(dAtA, i, uint64(m.Type)) + } + if m.Collation != 0 { + dAtA[i] = 0x20 + i++ + i = encodeVarintIndexer(dAtA, i, uint64(m.Collation)) + } + if m.ColumnLength != 0 { + dAtA[i] = 0x28 + i++ + i = encodeVarintIndexer(dAtA, i, uint64(m.ColumnLength)) + } + if m.Decimal != 0 { + dAtA[i] = 0x30 + i++ + i = encodeVarintIndexer(dAtA, i, uint64(m.Decimal)) + } + if m.Flag != 0 { + dAtA[i] = 0x38 + i++ + i = encodeVarintIndexer(dAtA, i, uint64(m.Flag)) + } + if len(m.Elems) > 0 { + for _, s := range m.Elems { + dAtA[i] = 0x42 + i++ + l = len(s) + for l >= 1<<7 { + dAtA[i] = uint8(uint64(l)&0x7f | 0x80) + l >>= 7 + i++ + } + dAtA[i] = uint8(l) + i++ + i += copy(dAtA[i:], s) + } + } + if len(m.DefaultVal) > 0 { + dAtA[i] = 0x4a + i++ + i = encodeVarintIndexer(dAtA, i, uint64(len(m.DefaultVal))) + i += copy(dAtA[i:], m.DefaultVal) + } + if m.IsPrimaryKey { + dAtA[i] = 0x50 + i++ + if m.IsPrimaryKey { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i++ + } + if m.IsArray { + dAtA[i] = 0x58 + i++ + if m.IsArray { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i++ + } + return i, nil +} + +func (m *TiCIIndexInfo) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *TiCIIndexInfo) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + if m.IndexId != 0 { + dAtA[i] = 0x8 + i++ + i = encodeVarintIndexer(dAtA, i, uint64(m.IndexId)) + } + if len(m.IndexName) > 0 { + dAtA[i] = 0x12 + i++ + i = encodeVarintIndexer(dAtA, i, uint64(len(m.IndexName))) + i += copy(dAtA[i:], m.IndexName) + } + if m.IndexType != 0 { + dAtA[i] = 0x18 + i++ + i = encodeVarintIndexer(dAtA, i, uint64(m.IndexType)) + } + if len(m.Columns) > 0 { + for _, msg := range m.Columns { + dAtA[i] = 0x22 + i++ + i = encodeVarintIndexer(dAtA, i, uint64(msg.Size())) + n, err := msg.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n + } + } + if m.IsUnique { + dAtA[i] = 0x28 + i++ + if m.IsUnique { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i++ + } + if m.ParserInfo != nil { + dAtA[i] = 0x32 + i++ + i = encodeVarintIndexer(dAtA, i, uint64(m.ParserInfo.Size())) + n3, err := m.ParserInfo.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n3 + } + if len(m.OtherParams) > 0 { + for k, _ := range m.OtherParams { + dAtA[i] = 0x3a + i++ + v := m.OtherParams[k] + mapSize := 1 + len(k) + sovIndexer(uint64(len(k))) + 1 + len(v) + sovIndexer(uint64(len(v))) + i = encodeVarintIndexer(dAtA, i, uint64(mapSize)) + dAtA[i] = 0xa + i++ + i = encodeVarintIndexer(dAtA, i, uint64(len(k))) + i += copy(dAtA[i:], k) + dAtA[i] = 0x12 + i++ + i = encodeVarintIndexer(dAtA, i, uint64(len(v))) + i += copy(dAtA[i:], v) + } + } + return i, nil +} + +func (m *ParserInfo) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ParserInfo) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + if m.ParserType != 0 { + dAtA[i] = 0x8 + i++ + i = encodeVarintIndexer(dAtA, i, uint64(m.ParserType)) + } + if len(m.ParserParams) > 0 { + for k, _ := range m.ParserParams { + dAtA[i] = 0x12 + i++ + v := m.ParserParams[k] + mapSize := 1 + len(k) + sovIndexer(uint64(len(k))) + 1 + len(v) + sovIndexer(uint64(len(v))) + i = encodeVarintIndexer(dAtA, i, uint64(mapSize)) + dAtA[i] = 0xa + i++ + i = encodeVarintIndexer(dAtA, i, uint64(len(k))) + i += copy(dAtA[i:], k) + dAtA[i] = 0x12 + i++ + i = encodeVarintIndexer(dAtA, i, uint64(len(v))) + i += copy(dAtA[i:], v) + } + } + return i, nil +} + +func (m *GetIndexProgressRequest) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *GetIndexProgressRequest) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + if m.TableId != 0 { + dAtA[i] = 0x8 + i++ + i = encodeVarintIndexer(dAtA, i, uint64(m.TableId)) + } + if m.IndexId != 0 { + dAtA[i] = 0x10 + i++ + i = encodeVarintIndexer(dAtA, i, uint64(m.IndexId)) + } + return i, nil +} + +func (m *GetIndexProgressResponse) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *GetIndexProgressResponse) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + if m.Status != 0 { + dAtA[i] = 0x8 + i++ + i = encodeVarintIndexer(dAtA, i, uint64(m.Status)) + } + if len(m.ErrorMessage) > 0 { + dAtA[i] = 0x12 + i++ + i = encodeVarintIndexer(dAtA, i, uint64(len(m.ErrorMessage))) + i += copy(dAtA[i:], m.ErrorMessage) + } + if m.DocumentCount != 0 { + dAtA[i] = 0x18 + i++ + i = encodeVarintIndexer(dAtA, i, uint64(m.DocumentCount)) + } + if len(m.State) > 0 { + dAtA[i] = 0x22 + i++ + i = encodeVarintIndexer(dAtA, i, uint64(len(m.State))) + i += copy(dAtA[i:], m.State) + } + if m.IsUploaded { + dAtA[i] = 0x28 + i++ + if m.IsUploaded { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i++ + } + if len(m.LastUploadTime) > 0 { + dAtA[i] = 0x32 + i++ + i = encodeVarintIndexer(dAtA, i, uint64(len(m.LastUploadTime))) + i += copy(dAtA[i:], m.LastUploadTime) + } + if len(m.S3Path) > 0 { + for _, s := range m.S3Path { + dAtA[i] = 0x3a + i++ + l = len(s) + for l >= 1<<7 { + dAtA[i] = uint8(uint64(l)&0x7f | 0x80) + l >>= 7 + i++ + } + dAtA[i] = uint8(l) + i++ + i += copy(dAtA[i:], s) + } + } + return i, nil +} + +func encodeVarintIndexer(dAtA []byte, offset int, v uint64) int { + for v >= 1<<7 { + dAtA[offset] = uint8(v&0x7f | 0x80) + v >>= 7 + offset++ + } + dAtA[offset] = uint8(v) + return offset + 1 +} +func (m *CreateIndexRequest) Size() (n int) { + var l int + _ = l + if m.IndexInfo != nil { + l = m.IndexInfo.Size() + n += 1 + l + sovIndexer(uint64(l)) + } + if m.TableInfo != nil { + l = m.TableInfo.Size() + n += 1 + l + sovIndexer(uint64(l)) + } + return n +} + +func (m *CreateIndexResponse) Size() (n int) { + var l int + _ = l + if m.Status != 0 { + n += 1 + sovIndexer(uint64(m.Status)) + } + l = len(m.ErrorMessage) + if l > 0 { + n += 1 + l + sovIndexer(uint64(l)) + } + l = len(m.IndexId) + if l > 0 { + n += 1 + l + sovIndexer(uint64(l)) + } + return n +} + +func (m *DropIndexRequest) Size() (n int) { + var l int + _ = l + if m.TableId != 0 { + n += 1 + sovIndexer(uint64(m.TableId)) + } + l = len(m.IndexId) + if l > 0 { + n += 1 + l + sovIndexer(uint64(l)) + } + return n +} + +func (m *DropIndexResponse) Size() (n int) { + var l int + _ = l + if m.Status != 0 { + n += 1 + sovIndexer(uint64(m.Status)) + } + l = len(m.ErrorMessage) + if l > 0 { + n += 1 + l + sovIndexer(uint64(l)) + } + return n +} + +func (m *TiCITableInfo) Size() (n int) { + var l int + _ = l + if m.TableId != 0 { + n += 1 + sovIndexer(uint64(m.TableId)) + } + l = len(m.TableName) + if l > 0 { + n += 1 + l + sovIndexer(uint64(l)) + } + l = len(m.DatabaseName) + if l > 0 { + n += 1 + l + sovIndexer(uint64(l)) + } + if m.Version != 0 { + n += 1 + sovIndexer(uint64(m.Version)) + } + if len(m.Columns) > 0 { + for _, e := range m.Columns { + l = e.Size() + n += 1 + l + sovIndexer(uint64(l)) + } + } + return n +} + +func (m *TiCIColumnInfo) Size() (n int) { + var l int + _ = l + if m.ColumnId != 0 { + n += 1 + sovIndexer(uint64(m.ColumnId)) + } + l = len(m.ColumnName) + if l > 0 { + n += 1 + l + sovIndexer(uint64(l)) + } + if m.Type != 0 { + n += 1 + sovIndexer(uint64(m.Type)) + } + if m.Collation != 0 { + n += 1 + sovIndexer(uint64(m.Collation)) + } + if m.ColumnLength != 0 { + n += 1 + sovIndexer(uint64(m.ColumnLength)) + } + if m.Decimal != 0 { + n += 1 + sovIndexer(uint64(m.Decimal)) + } + if m.Flag != 0 { + n += 1 + sovIndexer(uint64(m.Flag)) + } + if len(m.Elems) > 0 { + for _, s := range m.Elems { + l = len(s) + n += 1 + l + sovIndexer(uint64(l)) + } + } + l = len(m.DefaultVal) + if l > 0 { + n += 1 + l + sovIndexer(uint64(l)) + } + if m.IsPrimaryKey { + n += 2 + } + if m.IsArray { + n += 2 + } + return n +} + +func (m *TiCIIndexInfo) Size() (n int) { + var l int + _ = l + if m.IndexId != 0 { + n += 1 + sovIndexer(uint64(m.IndexId)) + } + l = len(m.IndexName) + if l > 0 { + n += 1 + l + sovIndexer(uint64(l)) + } + if m.IndexType != 0 { + n += 1 + sovIndexer(uint64(m.IndexType)) + } + if len(m.Columns) > 0 { + for _, e := range m.Columns { + l = e.Size() + n += 1 + l + sovIndexer(uint64(l)) + } + } + if m.IsUnique { + n += 2 + } + if m.ParserInfo != nil { + l = m.ParserInfo.Size() + n += 1 + l + sovIndexer(uint64(l)) + } + if len(m.OtherParams) > 0 { + for k, v := range m.OtherParams { + _ = k + _ = v + mapEntrySize := 1 + len(k) + sovIndexer(uint64(len(k))) + 1 + len(v) + sovIndexer(uint64(len(v))) + n += mapEntrySize + 1 + sovIndexer(uint64(mapEntrySize)) + } + } + return n +} + +func (m *ParserInfo) Size() (n int) { + var l int + _ = l + if m.ParserType != 0 { + n += 1 + sovIndexer(uint64(m.ParserType)) + } + if len(m.ParserParams) > 0 { + for k, v := range m.ParserParams { + _ = k + _ = v + mapEntrySize := 1 + len(k) + sovIndexer(uint64(len(k))) + 1 + len(v) + sovIndexer(uint64(len(v))) + n += mapEntrySize + 1 + sovIndexer(uint64(mapEntrySize)) + } + } + return n +} + +func (m *GetIndexProgressRequest) Size() (n int) { + var l int + _ = l + if m.TableId != 0 { + n += 1 + sovIndexer(uint64(m.TableId)) + } + if m.IndexId != 0 { + n += 1 + sovIndexer(uint64(m.IndexId)) + } + return n +} + +func (m *GetIndexProgressResponse) Size() (n int) { + var l int + _ = l + if m.Status != 0 { + n += 1 + sovIndexer(uint64(m.Status)) + } + l = len(m.ErrorMessage) + if l > 0 { + n += 1 + l + sovIndexer(uint64(l)) + } + if m.DocumentCount != 0 { + n += 1 + sovIndexer(uint64(m.DocumentCount)) + } + l = len(m.State) + if l > 0 { + n += 1 + l + sovIndexer(uint64(l)) + } + if m.IsUploaded { + n += 2 + } + l = len(m.LastUploadTime) + if l > 0 { + n += 1 + l + sovIndexer(uint64(l)) + } + if len(m.S3Path) > 0 { + for _, s := range m.S3Path { + l = len(s) + n += 1 + l + sovIndexer(uint64(l)) + } + } + return n +} + +func sovIndexer(x uint64) (n int) { + for { + n++ + x >>= 7 + if x == 0 { + break + } + } + return n +} +func sozIndexer(x uint64) (n int) { + return sovIndexer(uint64((x << 1) ^ uint64((int64(x) >> 63)))) +} +func (m *CreateIndexRequest) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowIndexer + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: CreateIndexRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: CreateIndexRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field IndexInfo", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowIndexer + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthIndexer + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.IndexInfo == nil { + m.IndexInfo = &TiCIIndexInfo{} + } + if err := m.IndexInfo.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TableInfo", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowIndexer + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthIndexer + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.TableInfo == nil { + m.TableInfo = &TiCITableInfo{} + } + if err := m.TableInfo.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipIndexer(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthIndexer + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *CreateIndexResponse) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowIndexer + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: CreateIndexResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: CreateIndexResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Status", wireType) + } + m.Status = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowIndexer + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Status |= (int32(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ErrorMessage", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowIndexer + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthIndexer + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ErrorMessage = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field IndexId", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowIndexer + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthIndexer + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.IndexId = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipIndexer(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthIndexer + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *DropIndexRequest) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowIndexer + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: DropIndexRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: DropIndexRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field TableId", wireType) + } + m.TableId = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowIndexer + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.TableId |= (int64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field IndexId", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowIndexer + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthIndexer + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.IndexId = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipIndexer(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthIndexer + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *DropIndexResponse) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowIndexer + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: DropIndexResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: DropIndexResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Status", wireType) + } + m.Status = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowIndexer + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Status |= (int32(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ErrorMessage", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowIndexer + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthIndexer + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ErrorMessage = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipIndexer(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthIndexer + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *TiCITableInfo) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowIndexer + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: TiCITableInfo: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: TiCITableInfo: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field TableId", wireType) + } + m.TableId = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowIndexer + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.TableId |= (int64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TableName", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowIndexer + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthIndexer + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.TableName = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field DatabaseName", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowIndexer + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthIndexer + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.DatabaseName = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 4: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Version", wireType) + } + m.Version = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowIndexer + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Version |= (int64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Columns", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowIndexer + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthIndexer + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Columns = append(m.Columns, &TiCIColumnInfo{}) + if err := m.Columns[len(m.Columns)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipIndexer(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthIndexer + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *TiCIColumnInfo) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowIndexer + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: TiCIColumnInfo: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: TiCIColumnInfo: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field ColumnId", wireType) + } + m.ColumnId = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowIndexer + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.ColumnId |= (int64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ColumnName", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowIndexer + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthIndexer + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ColumnName = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Type", wireType) + } + m.Type = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowIndexer + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Type |= (int32(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + case 4: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Collation", wireType) + } + m.Collation = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowIndexer + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Collation |= (int32(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + case 5: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field ColumnLength", wireType) + } + m.ColumnLength = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowIndexer + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.ColumnLength |= (int32(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + case 6: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Decimal", wireType) + } + m.Decimal = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowIndexer + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Decimal |= (int32(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + case 7: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Flag", wireType) + } + m.Flag = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowIndexer + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Flag |= (int32(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + case 8: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Elems", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowIndexer + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthIndexer + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Elems = append(m.Elems, string(dAtA[iNdEx:postIndex])) + iNdEx = postIndex + case 9: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field DefaultVal", wireType) + } + var byteLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowIndexer + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + byteLen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if byteLen < 0 { + return ErrInvalidLengthIndexer + } + postIndex := iNdEx + byteLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.DefaultVal = append(m.DefaultVal[:0], dAtA[iNdEx:postIndex]...) + if m.DefaultVal == nil { + m.DefaultVal = []byte{} + } + iNdEx = postIndex + case 10: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field IsPrimaryKey", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowIndexer + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + m.IsPrimaryKey = bool(v != 0) + case 11: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field IsArray", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowIndexer + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + m.IsArray = bool(v != 0) + default: + iNdEx = preIndex + skippy, err := skipIndexer(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthIndexer + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *TiCIIndexInfo) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowIndexer + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: TiCIIndexInfo: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: TiCIIndexInfo: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field IndexId", wireType) + } + m.IndexId = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowIndexer + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.IndexId |= (int64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field IndexName", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowIndexer + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthIndexer + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.IndexName = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field IndexType", wireType) + } + m.IndexType = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowIndexer + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.IndexType |= (IndexType(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Columns", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowIndexer + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthIndexer + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Columns = append(m.Columns, &TiCIColumnInfo{}) + if err := m.Columns[len(m.Columns)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 5: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field IsUnique", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowIndexer + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + m.IsUnique = bool(v != 0) + case 6: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ParserInfo", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowIndexer + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthIndexer + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.ParserInfo == nil { + m.ParserInfo = &ParserInfo{} + } + if err := m.ParserInfo.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 7: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field OtherParams", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowIndexer + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthIndexer + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.OtherParams == nil { + m.OtherParams = make(map[string]string) + } + var mapkey string + var mapvalue string + for iNdEx < postIndex { + entryPreIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowIndexer + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + if fieldNum == 1 { + var stringLenmapkey uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowIndexer + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLenmapkey |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + intStringLenmapkey := int(stringLenmapkey) + if intStringLenmapkey < 0 { + return ErrInvalidLengthIndexer + } + postStringIndexmapkey := iNdEx + intStringLenmapkey + if postStringIndexmapkey > l { + return io.ErrUnexpectedEOF + } + mapkey = string(dAtA[iNdEx:postStringIndexmapkey]) + iNdEx = postStringIndexmapkey + } else if fieldNum == 2 { + var stringLenmapvalue uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowIndexer + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLenmapvalue |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + intStringLenmapvalue := int(stringLenmapvalue) + if intStringLenmapvalue < 0 { + return ErrInvalidLengthIndexer + } + postStringIndexmapvalue := iNdEx + intStringLenmapvalue + if postStringIndexmapvalue > l { + return io.ErrUnexpectedEOF + } + mapvalue = string(dAtA[iNdEx:postStringIndexmapvalue]) + iNdEx = postStringIndexmapvalue + } else { + iNdEx = entryPreIndex + skippy, err := skipIndexer(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthIndexer + } + if (iNdEx + skippy) > postIndex { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + m.OtherParams[mapkey] = mapvalue + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipIndexer(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthIndexer + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ParserInfo) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowIndexer + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: ParserInfo: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ParserInfo: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field ParserType", wireType) + } + m.ParserType = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowIndexer + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.ParserType |= (ParserType(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ParserParams", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowIndexer + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthIndexer + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.ParserParams == nil { + m.ParserParams = make(map[string]string) + } + var mapkey string + var mapvalue string + for iNdEx < postIndex { + entryPreIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowIndexer + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + if fieldNum == 1 { + var stringLenmapkey uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowIndexer + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLenmapkey |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + intStringLenmapkey := int(stringLenmapkey) + if intStringLenmapkey < 0 { + return ErrInvalidLengthIndexer + } + postStringIndexmapkey := iNdEx + intStringLenmapkey + if postStringIndexmapkey > l { + return io.ErrUnexpectedEOF + } + mapkey = string(dAtA[iNdEx:postStringIndexmapkey]) + iNdEx = postStringIndexmapkey + } else if fieldNum == 2 { + var stringLenmapvalue uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowIndexer + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLenmapvalue |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + intStringLenmapvalue := int(stringLenmapvalue) + if intStringLenmapvalue < 0 { + return ErrInvalidLengthIndexer + } + postStringIndexmapvalue := iNdEx + intStringLenmapvalue + if postStringIndexmapvalue > l { + return io.ErrUnexpectedEOF + } + mapvalue = string(dAtA[iNdEx:postStringIndexmapvalue]) + iNdEx = postStringIndexmapvalue + } else { + iNdEx = entryPreIndex + skippy, err := skipIndexer(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthIndexer + } + if (iNdEx + skippy) > postIndex { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + m.ParserParams[mapkey] = mapvalue + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipIndexer(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthIndexer + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *GetIndexProgressRequest) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowIndexer + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: GetIndexProgressRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: GetIndexProgressRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field TableId", wireType) + } + m.TableId = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowIndexer + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.TableId |= (int64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field IndexId", wireType) + } + m.IndexId = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowIndexer + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.IndexId |= (int64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + default: + iNdEx = preIndex + skippy, err := skipIndexer(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthIndexer + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *GetIndexProgressResponse) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowIndexer + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: GetIndexProgressResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: GetIndexProgressResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Status", wireType) + } + m.Status = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowIndexer + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Status |= (int32(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ErrorMessage", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowIndexer + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthIndexer + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ErrorMessage = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field DocumentCount", wireType) + } + m.DocumentCount = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowIndexer + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.DocumentCount |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field State", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowIndexer + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthIndexer + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.State = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 5: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field IsUploaded", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowIndexer + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + m.IsUploaded = bool(v != 0) + case 6: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field LastUploadTime", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowIndexer + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthIndexer + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.LastUploadTime = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 7: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field S3Path", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowIndexer + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthIndexer + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.S3Path = append(m.S3Path, string(dAtA[iNdEx:postIndex])) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipIndexer(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthIndexer + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func skipIndexer(dAtA []byte) (n int, err error) { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return 0, ErrIntOverflowIndexer + } + if iNdEx >= l { + return 0, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + wireType := int(wire & 0x7) + switch wireType { + case 0: + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return 0, ErrIntOverflowIndexer + } + if iNdEx >= l { + return 0, io.ErrUnexpectedEOF + } + iNdEx++ + if dAtA[iNdEx-1] < 0x80 { + break + } + } + return iNdEx, nil + case 1: + iNdEx += 8 + return iNdEx, nil + case 2: + var length int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return 0, ErrIntOverflowIndexer + } + if iNdEx >= l { + return 0, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + length |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + iNdEx += length + if length < 0 { + return 0, ErrInvalidLengthIndexer + } + return iNdEx, nil + case 3: + for { + var innerWire uint64 + var start int = iNdEx + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return 0, ErrIntOverflowIndexer + } + if iNdEx >= l { + return 0, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + innerWire |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + innerWireType := int(innerWire & 0x7) + if innerWireType == 4 { + break + } + next, err := skipIndexer(dAtA[start:]) + if err != nil { + return 0, err + } + iNdEx = start + next + } + return iNdEx, nil + case 4: + return iNdEx, nil + case 5: + iNdEx += 4 + return iNdEx, nil + default: + return 0, fmt.Errorf("proto: illegal wireType %d", wireType) + } + } + panic("unreachable") +} + +var ( + ErrInvalidLengthIndexer = fmt.Errorf("proto: negative length found during unmarshaling") + ErrIntOverflowIndexer = fmt.Errorf("proto: integer overflow") +) + +func init() { proto.RegisterFile("tici/indexer.proto", fileDescriptorIndexer) } + +var fileDescriptorIndexer = []byte{ + // 1000 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x56, 0xdd, 0x6e, 0x1b, 0x45, + 0x14, 0xce, 0xda, 0xf1, 0xcf, 0x1e, 0x3b, 0xd6, 0x76, 0x08, 0x74, 0xe3, 0xb6, 0x21, 0x72, 0x41, + 0x98, 0x5e, 0xa4, 0x52, 0x2c, 0x01, 0xe2, 0x02, 0x14, 0xd2, 0x84, 0x46, 0x75, 0x63, 0x6b, 0x63, + 0x03, 0x12, 0x17, 0xab, 0x89, 0x77, 0xe2, 0xac, 0xd8, 0xbf, 0xce, 0x8c, 0x23, 0x7c, 0x8d, 0xc4, + 0x23, 0x20, 0x5e, 0x86, 0x7b, 0x24, 0x6e, 0x90, 0x78, 0x01, 0x14, 0x5e, 0x82, 0x4b, 0x34, 0x67, + 0x66, 0xed, 0x75, 0x7e, 0x2a, 0x40, 0xbd, 0x3b, 0xf3, 0x9d, 0x9f, 0x39, 0xe7, 0x9b, 0x6f, 0x67, + 0x07, 0x88, 0x0c, 0x27, 0xe1, 0xd3, 0x30, 0x09, 0xd8, 0xf7, 0x8c, 0xef, 0x66, 0x3c, 0x95, 0x29, + 0xb1, 0x65, 0x98, 0x9d, 0xed, 0x2a, 0x47, 0x7b, 0x73, 0x9a, 0x4e, 0x53, 0x44, 0x9f, 0x2a, 0x4b, + 0x07, 0x74, 0x7e, 0xb4, 0x80, 0x1c, 0x70, 0x46, 0x25, 0x3b, 0x56, 0x89, 0x1e, 0x7b, 0x35, 0x63, + 0x42, 0x92, 0x8f, 0x01, 0xb0, 0x90, 0x1f, 0x26, 0xe7, 0xa9, 0x6b, 0xed, 0x58, 0xdd, 0xc6, 0x9e, + 0xbb, 0xbb, 0x28, 0xb6, 0x3b, 0x0a, 0x0f, 0x8e, 0x31, 0xe1, 0x38, 0x39, 0x4f, 0x3d, 0x3b, 0xcc, + 0x4d, 0x95, 0x28, 0xe9, 0x59, 0xc4, 0x74, 0x62, 0xe9, 0xd6, 0xc4, 0x91, 0x0a, 0xd0, 0x89, 0x32, + 0x37, 0x3b, 0x31, 0xbc, 0xb5, 0xd2, 0x87, 0xc8, 0xd2, 0x44, 0x30, 0xf2, 0x0e, 0x54, 0x85, 0xa4, + 0x72, 0x26, 0xb0, 0x89, 0x8a, 0x67, 0x56, 0xe4, 0x31, 0x6c, 0x30, 0xce, 0x53, 0xee, 0xc7, 0x4c, + 0x08, 0x3a, 0x65, 0xb8, 0x95, 0xed, 0x35, 0x11, 0x7c, 0xa9, 0x31, 0xb2, 0x05, 0x75, 0x33, 0x45, + 0xe0, 0x96, 0xd1, 0x5f, 0xd3, 0x9d, 0x06, 0x9d, 0xe7, 0xe0, 0x3c, 0xe3, 0x69, 0xb6, 0x32, 0xf4, + 0x16, 0xd4, 0x4d, 0xef, 0x01, 0xee, 0x56, 0xf6, 0x6a, 0xba, 0xbf, 0x60, 0xa5, 0x52, 0x69, 0xb5, + 0xd2, 0x10, 0xee, 0x15, 0x2a, 0xbd, 0x81, 0xb6, 0x3b, 0xbf, 0x58, 0xb0, 0xb1, 0xc2, 0xd3, 0xeb, + 0x3a, 0x7b, 0x94, 0x13, 0x9e, 0xd0, 0x38, 0x2f, 0xa7, 0x69, 0x3d, 0xa1, 0x31, 0x53, 0x1b, 0x06, + 0x54, 0xd2, 0x33, 0x2a, 0x4c, 0x84, 0xe6, 0xa1, 0x99, 0x83, 0x18, 0xe4, 0x42, 0xed, 0x92, 0x71, + 0x11, 0xa6, 0x89, 0xbb, 0xae, 0xab, 0x9b, 0x25, 0xe9, 0x41, 0x6d, 0x92, 0x46, 0xb3, 0x38, 0x11, + 0x6e, 0x65, 0xa7, 0xdc, 0x6d, 0xec, 0x6d, 0x5d, 0x3b, 0xcb, 0x03, 0xf4, 0xe2, 0x61, 0xe6, 0x91, + 0x9d, 0xdf, 0x4a, 0xd0, 0x5a, 0xf5, 0x91, 0x07, 0x60, 0x6b, 0xef, 0x72, 0x82, 0xba, 0x06, 0x8e, + 0x03, 0xf2, 0x2e, 0x34, 0x8c, 0xb3, 0x30, 0x03, 0x68, 0x08, 0xfb, 0x23, 0xb0, 0x2e, 0xe7, 0x99, + 0xee, 0xbd, 0xe2, 0xa1, 0x4d, 0x1e, 0x62, 0xc5, 0x88, 0xca, 0xbc, 0xeb, 0x8a, 0xb7, 0x04, 0xd4, + 0xd8, 0xa6, 0x64, 0xc4, 0x92, 0xa9, 0xbc, 0x70, 0x2b, 0x18, 0xd1, 0xd4, 0x60, 0x1f, 0x31, 0x35, + 0x76, 0xc0, 0x26, 0x61, 0x4c, 0x23, 0xb7, 0x8a, 0xee, 0x7c, 0xa9, 0x36, 0x3c, 0x8f, 0xe8, 0xd4, + 0xad, 0xe9, 0x0d, 0x95, 0x4d, 0x36, 0xa1, 0xc2, 0x22, 0x16, 0x0b, 0xb7, 0xbe, 0x53, 0xee, 0xda, + 0x9e, 0x5e, 0xa8, 0xde, 0x03, 0x76, 0x4e, 0x67, 0x91, 0xf4, 0x2f, 0x69, 0xe4, 0xda, 0x3b, 0x56, + 0xb7, 0xe9, 0x81, 0x81, 0xbe, 0xa2, 0x11, 0x79, 0x0f, 0x5a, 0xa1, 0xf0, 0x33, 0x1e, 0xc6, 0x94, + 0xcf, 0xfd, 0xef, 0xd8, 0xdc, 0x85, 0x1d, 0xab, 0x5b, 0xf7, 0x9a, 0xa1, 0x18, 0x6a, 0xf0, 0x05, + 0x9b, 0xa3, 0xbe, 0x84, 0x4f, 0x39, 0xa7, 0x73, 0xb7, 0x81, 0xfe, 0x5a, 0x28, 0xf6, 0xd5, 0xb2, + 0xf3, 0x53, 0x59, 0xab, 0x61, 0xf1, 0xb9, 0xad, 0x88, 0xd1, 0xa8, 0xc1, 0x88, 0x51, 0xa9, 0x41, + 0xbb, 0x8a, 0x6a, 0x40, 0x04, 0x89, 0xec, 0xe5, 0xee, 0x05, 0x9d, 0xad, 0xbd, 0xcd, 0xc2, 0x89, + 0xe2, 0x1e, 0xa3, 0x79, 0xc6, 0x4c, 0x92, 0x32, 0x8b, 0x1a, 0x58, 0xff, 0xb7, 0x1a, 0x50, 0x07, + 0x1e, 0x0a, 0x7f, 0x96, 0x84, 0xaf, 0x66, 0x0c, 0xc9, 0xaf, 0x7b, 0xf5, 0x50, 0x8c, 0x71, 0x4d, + 0x3e, 0x82, 0x46, 0x46, 0xb9, 0x60, 0x5c, 0xdf, 0x12, 0x55, 0xbc, 0x25, 0xde, 0x2e, 0x54, 0x1d, + 0xa2, 0x17, 0x2b, 0x42, 0xb6, 0xb0, 0x49, 0x1f, 0x9a, 0xa9, 0xbc, 0x60, 0xdc, 0xcf, 0x28, 0xa7, + 0xb1, 0x70, 0x6b, 0xd8, 0xce, 0x87, 0x77, 0xdd, 0x4b, 0xbb, 0x03, 0x15, 0x3c, 0xc4, 0xd8, 0xc3, + 0x44, 0xf2, 0xb9, 0xd7, 0x48, 0x97, 0x48, 0xfb, 0x33, 0x70, 0xae, 0x07, 0x10, 0x07, 0xca, 0xea, + 0x88, 0x2c, 0x24, 0x4e, 0x99, 0xea, 0xd8, 0x2f, 0x69, 0x34, 0xcb, 0xc9, 0xd4, 0x8b, 0x4f, 0x4b, + 0x9f, 0x58, 0x9d, 0x3f, 0x2c, 0x80, 0x65, 0xa3, 0x85, 0xa1, 0x90, 0x5c, 0x0b, 0xc9, 0xbd, 0x39, + 0x14, 0xb2, 0x6b, 0x86, 0x42, 0x7a, 0xfb, 0xb0, 0x61, 0xf2, 0xcc, 0x54, 0x25, 0x9c, 0xea, 0x83, + 0x5b, 0xe9, 0x30, 0x66, 0x71, 0xa6, 0x66, 0x56, 0x80, 0xda, 0x9f, 0xc3, 0xbd, 0x1b, 0x21, 0xff, + 0x69, 0xaa, 0x01, 0xdc, 0xff, 0x92, 0x49, 0xe4, 0x70, 0xc8, 0xd3, 0x29, 0x67, 0x42, 0xfc, 0x8f, + 0xfb, 0x71, 0x29, 0xc9, 0xce, 0xdf, 0x16, 0xb8, 0x37, 0x2b, 0xbe, 0x89, 0xeb, 0xfd, 0x7d, 0x68, + 0x05, 0xe9, 0x64, 0x16, 0xb3, 0x44, 0xfa, 0x93, 0x74, 0x96, 0x48, 0x54, 0xf4, 0xba, 0xb7, 0x91, + 0xa3, 0x07, 0x0a, 0x54, 0xb3, 0xaa, 0xaa, 0x0c, 0x6f, 0x09, 0xdb, 0xd3, 0x0b, 0xf5, 0xe1, 0x2a, + 0x81, 0x66, 0x51, 0x4a, 0x03, 0x16, 0x18, 0x89, 0x42, 0x28, 0xc6, 0x06, 0x21, 0x5d, 0x70, 0x22, + 0x2a, 0xa4, 0x09, 0xf1, 0x65, 0x18, 0x33, 0x54, 0xaa, 0xed, 0xb5, 0x14, 0xae, 0xe3, 0x46, 0x61, + 0xcc, 0xc8, 0x7d, 0xa8, 0x89, 0x9e, 0x9f, 0x51, 0x79, 0x81, 0x8a, 0xb4, 0xbd, 0xaa, 0xe8, 0x0d, + 0xa9, 0xbc, 0x78, 0xd2, 0x03, 0x7b, 0xf1, 0x45, 0x91, 0x06, 0xd4, 0xc6, 0x27, 0x2f, 0x4e, 0x06, + 0x5f, 0x9f, 0x38, 0x6b, 0x64, 0x03, 0xec, 0xa3, 0x71, 0xbf, 0xef, 0x8f, 0x0e, 0xbf, 0x19, 0x39, + 0x16, 0x01, 0xa8, 0x1e, 0x8c, 0x4f, 0x47, 0x83, 0x97, 0x4e, 0xe9, 0xc9, 0x51, 0xae, 0x2a, 0xcc, + 0x22, 0xd0, 0x32, 0x59, 0xfe, 0x70, 0xdf, 0x3b, 0x3d, 0xf4, 0x9c, 0x35, 0x85, 0x3d, 0x3b, 0x3c, + 0xda, 0x1f, 0xf7, 0x47, 0x39, 0x66, 0x11, 0x07, 0x9a, 0x83, 0xd1, 0xf3, 0x43, 0x2f, 0x47, 0x4a, + 0x7b, 0x3f, 0x94, 0xa0, 0x75, 0xac, 0x1f, 0x03, 0xa7, 0x8c, 0x5f, 0x86, 0x13, 0x25, 0xb5, 0x46, + 0xe1, 0x1f, 0x4b, 0x1e, 0x15, 0x24, 0x76, 0xf3, 0x0d, 0xd0, 0xde, 0xbe, 0xcb, 0x6d, 0xce, 0xee, + 0x08, 0xec, 0xc5, 0x8f, 0x8f, 0x3c, 0x28, 0x04, 0x5f, 0xff, 0xb1, 0xb6, 0x1f, 0xde, 0xee, 0x34, + 0x75, 0xbe, 0x05, 0xe7, 0xba, 0x3e, 0x48, 0xa7, 0x90, 0x71, 0x87, 0x1c, 0xdb, 0x8f, 0x5f, 0x1b, + 0xa3, 0x8b, 0x7f, 0xe1, 0xfc, 0x7a, 0xb5, 0x6d, 0xfd, 0x7e, 0xb5, 0x6d, 0xfd, 0x79, 0xb5, 0x6d, + 0xfd, 0xfc, 0xd7, 0xf6, 0xda, 0x59, 0x15, 0x1f, 0x3e, 0xbd, 0x7f, 0x02, 0x00, 0x00, 0xff, 0xff, + 0x48, 0x3a, 0x5e, 0xfe, 0x2f, 0x09, 0x00, 0x00, +} diff --git a/proto/executor.proto b/proto/executor.proto index 2b262009..ed4f5206 100644 --- a/proto/executor.proto +++ b/proto/executor.proto @@ -155,6 +155,36 @@ message ANNQueryInfo { optional uint32 hnsw_ef_search = 20 [(gogoproto.nullable) = false]; // Only for HNSW indexes } +enum FTSQueryType { + FTSQueryTypeInvalid = 0; + FTSQueryTypeNoScore = 1; // Means no scoring is ever needed, encourages the engine to use a fast path. + FTSQueryTypeWithScore = 2; +} + +message FTSQueryInfo { + optional FTSQueryType query_type = 1 [(gogoproto.nullable) = false]; + + optional int64 index_id = 2 [(gogoproto.nullable) = false]; + + // Currently only one column is supported. + repeated ColumnInfo columns = 3; + repeated string column_names = 4; // For debug purpose only. Currently only used in explain. + + optional string query_text = 5 [(gogoproto.nullable) = false]; + optional string query_tokenizer = 6 [(gogoproto.nullable) = false]; // Always the same as parser/model/index_full_text.go:FullTextParserType + + // These fields support pushdown for order-by and limit scenarios. + optional uint32 top_k = 10; + repeated int64 sort_column_ids = 11; + repeated bool sort_column_asc = 12; + + // Distinguish match_word, match_expression, match_prefix, match_regexp + optional ScalarFuncSig query_func = 20 [(gogoproto.nullable) = false]; + + // Filter pushed down to tici + repeated Expr match_expr = 21 [(gogoproto.nullable) = false]; +} + message TableScan { optional int64 table_id = 1 [(gogoproto.nullable) = false]; repeated ColumnInfo columns = 2; @@ -245,6 +275,7 @@ message IndexScan { optional bool desc = 4 [(gogoproto.nullable) = false]; optional bool unique = 5; // check whether it is a unique index. repeated int64 primary_column_ids = 6; + optional FTSQueryInfo fts_query_info = 7; // only used by TiFlash } message Selection { @@ -338,7 +369,7 @@ message ExecutorExecutionSummary { // And it's the ru consumption of one MPPTask/cop/batchCop instead of one executor. optional bytes ru_consumption = 7; - // Only for tiflash, records the wait info. + // Only for tiflash, records the wait info. optional TiFlashWaitSummary tiflash_wait_summary = 8; } @@ -387,7 +418,6 @@ message TiFlashScanContext { optional uint64 dmfile_mvcc_skipped_rows = 32; optional uint64 dmfile_lm_filter_scanned_rows = 33; optional uint64 dmfile_lm_filter_skipped_rows = 34; - optional uint64 total_vector_idx_load_from_s3 = 100; // Index file not available in disk optional uint64 total_vector_idx_load_from_disk = 101; // Index file available in disk and not cached in memory optional uint64 total_vector_idx_load_from_cache = 102; // Index file available in disk and cached in memory @@ -397,6 +427,34 @@ message TiFlashScanContext { optional uint64 total_vector_idx_search_discarded_nodes = 106; optional uint64 total_vector_idx_read_vec_time_ms = 107; optional uint64 total_vector_idx_read_others_time_ms = 108; + + /// fulltext index related fields + + optional uint32 fts_n_from_inmemory_noindex = 150; + optional uint32 fts_n_from_tiny_index = 151; + optional uint32 fts_n_from_tiny_noindex = 152; + optional uint32 fts_n_from_dmf_index = 153; + optional uint32 fts_n_from_dmf_noindex = 154; + optional uint64 fts_rows_from_inmemory_noindex = 155; + optional uint64 fts_rows_from_tiny_index = 156; + optional uint64 fts_rows_from_tiny_noindex = 157; + optional uint64 fts_rows_from_dmf_index = 158; + optional uint64 fts_rows_from_dmf_noindex = 159; + optional uint64 fts_idx_load_total_ms = 160; + optional uint32 fts_idx_load_from_cache = 161; + optional uint32 fts_idx_load_from_column_file = 162; + optional uint32 fts_idx_load_from_stable_s3 = 163; + optional uint32 fts_idx_load_from_stable_disk = 164; + optional uint32 fts_idx_search_n = 165; + optional uint64 fts_idx_search_total_ms = 166; + optional uint64 fts_idx_dm_search_rows = 167; + optional uint64 fts_idx_dm_total_read_fts_ms = 168; + optional uint64 fts_idx_dm_total_read_others_ms = 169; + optional uint64 fts_idx_tiny_search_rows = 170; + optional uint64 fts_idx_tiny_total_read_fts_ms = 171; + optional uint64 fts_idx_tiny_total_read_others_ms = 172; + optional uint64 fts_brute_total_read_ms = 173; + optional uint64 fts_brute_total_search_ms = 174; } message TiFlashWaitSummary { diff --git a/proto/expression.proto b/proto/expression.proto index 8779b72b..89555834 100644 --- a/proto/expression.proto +++ b/proto/expression.proto @@ -535,6 +535,13 @@ enum ScalarFuncSig { IfVectorFloat32 = 5161; CaseWhenVectorFloat32 = 5162; + /*fts*/ + FTSMatchWord = 5201; + FTSMatchExpression = 5202; + FTSMatchPrefix = 5203; + FTSMatchRegexp = 5204; + FTSMatchPhrase = 5205; + /*time*/ DateFormatSig = 6001; DateLiteral = 6002; diff --git a/proto/tici/indexer.proto b/proto/tici/indexer.proto new file mode 100644 index 00000000..99ef5735 --- /dev/null +++ b/proto/tici/indexer.proto @@ -0,0 +1,167 @@ +syntax = "proto3"; + +package tipb.tici; + +import "gogoproto/gogo.proto"; + +option (gogoproto.marshaler_all) = true; +option (gogoproto.sizer_all) = true; +option (gogoproto.unmarshaler_all) = true; + +// IndexerService provides index creation and deletion functionality +service IndexerService { + // CreateIndex creates a new index + rpc CreateIndex(CreateIndexRequest) returns (CreateIndexResponse); + + // DropIndex removes an existing index + rpc DropIndex(DropIndexRequest) returns (DropIndexResponse); + + // GetIndexProgress retrieves the current progress of an index build + rpc GetIndexProgress(GetIndexProgressRequest) returns (GetIndexProgressResponse); +} + +// IndexType represents the type of index +enum IndexType { + // Default value must be 0 in proto3 + UNKNOWN = 0; + // Full-text index type + FULL_TEXT = 1; + // Custom index type + CUSTOM = 2; +} + +// ParserType represents the type of parser +enum ParserType { + // Default value must be 0 in proto3 + UNKNOWN_PARSER = 0; + // Default parser + DEFAULT_PARSER = 1; + // Other parser types + OTHER_PARSER = 2; +} + +// CreateIndexRequest is a request to create an index +message CreateIndexRequest { + // Index information + TiCIIndexInfo index_info = 1; + // Table information + TiCITableInfo table_info = 2; +} + +// CreateIndexResponse is a response to the index creation request +message CreateIndexResponse { + // Operation result status code, 0 means success + int32 status = 1; + // Error message, only valid when status is non-zero + string error_message = 2; + // Created index ID + string index_id = 3; +} + +// DropIndexRequest is a request to drop an index +message DropIndexRequest { + // Index ID + int64 table_id = 1; + string index_id = 2; + +} + +// DropIndexResponse is a response to the index drop request +message DropIndexResponse { + // Operation result status code, 0 means success + int32 status = 1; + // Error message, only valid when status is non-zero + string error_message = 2; +} + +// TableInfo represents table information +message TiCITableInfo { + // Table ID + int64 table_id = 1; + // Table name + string table_name = 2; + // Database name + string database_name = 3; + // Table version + int64 version = 4; + // Column information + repeated TiCIColumnInfo columns = 5; +} + +// ColumnInfo represents column information +message TiCIColumnInfo { + // Column ID + int64 column_id = 1; + // Column name + string column_name = 2; + // MySQL type + int32 type = 3; + // Collation + int32 collation = 4; + // Column length + int32 column_length = 5; + // Decimal places + int32 decimal = 6; + // Flags + int32 flag = 7; + // Enum elements + repeated string elems = 8; + // Default value + bytes default_val = 9; + // Whether it's a primary key + bool is_primary_key = 10; + // Whether it's an array + bool is_array = 11; +} + +// IndexInfo represents index information +message TiCIIndexInfo { + // Index ID + int64 index_id = 1; + // Index name + string index_name = 2; + // Index type (fulltext, custom) + IndexType index_type = 3; + // Index columns + repeated TiCIColumnInfo columns = 4; + // Whether the index is unique + bool is_unique = 5; + // Parser information + ParserInfo parser_info = 6; + // Other index parameters + map other_params = 7; +} + +// ParserInfo represents parser information +message ParserInfo { + // Parser type + ParserType parser_type = 1; + // Parser parameters + map parser_params = 2; +} + +// GetIndexProgressRequest is a request to get the progress of an index build +message GetIndexProgressRequest { + // Table ID + int64 table_id = 1; + // Index ID + int64 index_id = 2; +} + +// GetIndexProgressResponse is a response containing index build progress +message GetIndexProgressResponse { + // Operation result status code, 0 means success + int32 status = 1; + // Error message, only valid when status is non-zero + string error_message = 2; + // Number of documents indexed so far + uint64 document_count = 3; + // Build task state (PENDING, RUNNING, COMPLETED, FAILED) + string state = 4; + // Whether index has been uploaded to S3 + bool is_uploaded = 5; + // Last S3 upload time in RFC3339 format + string last_upload_time = 6; + // S3 path where the index is stored + repeated string s3_path = 7; +} diff --git a/scripts/proto.lock b/scripts/proto.lock index bb4b8c8a..89c02164 100644 --- a/scripts/proto.lock +++ b/scripts/proto.lock @@ -625,9 +625,6 @@ }, { "path": "gogoproto/gogo.proto" - }, - { - "path": "rustproto.proto" } ], "package": { @@ -653,22 +650,6 @@ { "name": "(gogoproto.unmarshaler_all)", "value": "true" - }, - { - "name": "(gogoproto.goproto_unkeyed_all)", - "value": "false" - }, - { - "name": "(gogoproto.goproto_unrecognized_all)", - "value": "false" - }, - { - "name": "(gogoproto.goproto_sizecache_all)", - "value": "false" - }, - { - "name": "(rustproto.lite_runtime_all)", - "value": "true" } ] } @@ -802,9 +783,6 @@ "imports": [ { "path": "gogoproto/gogo.proto" - }, - { - "path": "rustproto.proto" } ], "package": { @@ -819,32 +797,16 @@ "name": "java_package", "value": "com.pingcap.tidb.tipb" }, - { - "name": "(gogoproto.marshaler_all)", - "value": "true" - }, { "name": "(gogoproto.sizer_all)", "value": "true" }, { - "name": "(gogoproto.unmarshaler_all)", + "name": "(gogoproto.marshaler_all)", "value": "true" }, { - "name": "(gogoproto.goproto_unkeyed_all)", - "value": "false" - }, - { - "name": "(gogoproto.goproto_unrecognized_all)", - "value": "false" - }, - { - "name": "(gogoproto.goproto_sizecache_all)", - "value": "false" - }, - { - "name": "(rustproto.lite_runtime_all)", + "name": "(gogoproto.unmarshaler_all)", "value": "true" } ] @@ -928,17 +890,13 @@ "name": "TypeBroadcastQuery", "integer": 17 }, - { - "name": "TypeCTESink", - "integer": 18 - }, - { - "name": "TypeCTESource", - "integer": 19 - }, { "name": "TypeIndexLookUp", "integer": 20 + }, + { + "name": "TypeExplainForConnection", + "integer": 21 } ] }, @@ -1045,35 +1003,15 @@ "name": "FTSQueryTypeInvalid" }, { - "name": "FTSQueryTypeNoScore", + "name": "FTSQueryTypeFilter", "integer": 1 }, { - "name": "FTSQueryTypeWithScore", + "name": "FTSQueryTypeTopK", "integer": 2 } ] }, - { - "name": "ColumnarIndexType", - "enum_fields": [ - { - "name": "TypeInvalid" - }, - { - "name": "TypeVector", - "integer": 1 - }, - { - "name": "TypeInverted", - "integer": 2 - }, - { - "name": "TypeFulltext", - "integer": 3 - } - ] - }, { "name": "JoinType", "enum_fields": [ @@ -1363,18 +1301,6 @@ "type": "BroadcastQuery", "optional": true }, - { - "id": 22, - "name": "cte_sink", - "type": "CTESink", - "optional": true - }, - { - "id": 23, - "name": "cte_source", - "type": "CTESource", - "optional": true - }, { "id": 24, "name": "index_lookup", @@ -1386,6 +1312,12 @@ "name": "parent_idx", "type": "uint32", "optional": true + }, + { + "id": 26, + "name": "explain_for_connection", + "type": "ExplainForConnection", + "optional": true } ] }, @@ -1451,112 +1383,6 @@ "name": "upstream_cte_task_meta", "type": "EncodedBytesSlice", "is_repeated": true - }, - { - "id": 9, - "name": "same_zone_flag", - "type": "bool", - "is_repeated": true - } - ] - }, - { - "name": "CTESink", - "fields": [ - { - "id": 1, - "name": "cte_id", - "type": "uint32", - "required": true, - "options": [ - { - "name": "(gogoproto.nullable)", - "value": "false" - } - ] - }, - { - "id": 2, - "name": "cte_source_num", - "type": "uint32", - "required": true, - "options": [ - { - "name": "(gogoproto.nullable)", - "value": "false" - } - ] - }, - { - "id": 3, - "name": "cte_sink_num", - "type": "uint32", - "required": true, - "options": [ - { - "name": "(gogoproto.nullable)", - "value": "false" - } - ] - }, - { - "id": 4, - "name": "child", - "type": "Executor", - "optional": true - }, - { - "id": 5, - "name": "field_types", - "type": "FieldType", - "is_repeated": true - } - ] - }, - { - "name": "CTESource", - "fields": [ - { - "id": 1, - "name": "cte_id", - "type": "uint32", - "required": true, - "options": [ - { - "name": "(gogoproto.nullable)", - "value": "false" - } - ] - }, - { - "id": 2, - "name": "cte_source_num", - "type": "uint32", - "required": true, - "options": [ - { - "name": "(gogoproto.nullable)", - "value": "false" - } - ] - }, - { - "id": 3, - "name": "cte_sink_num", - "type": "uint32", - "required": true, - "options": [ - { - "name": "(gogoproto.nullable)", - "value": "false" - } - ] - }, - { - "id": 4, - "name": "field_types", - "type": "FieldType", - "is_repeated": true } ] }, @@ -1574,6 +1400,12 @@ "name": "keep_order", "type": "bool", "optional": true + }, + { + "id": 3, + "name": "children", + "type": "Executor", + "is_repeated": true } ] }, @@ -1614,12 +1446,6 @@ "name": "original_cte_prdocuer_task_meta", "type": "bytes", "is_repeated": true - }, - { - "id": 5, - "name": "same_zone_flag", - "type": "bool", - "is_repeated": true } ] }, @@ -1676,9 +1502,15 @@ }, { "id": 5, - "name": "deprecated_column_id", + "name": "column_id", "type": "int64", - "optional": true + "optional": true, + "options": [ + { + "name": "(gogoproto.nullable)", + "value": "false" + } + ] }, { "id": 6, @@ -1721,65 +1553,12 @@ "value": "false" } ] - }, - { - "id": 21, - "name": "column", - "type": "ColumnInfo", - "optional": true, - "options": [ - { - "name": "(gogoproto.nullable)", - "value": "false" - } - ] - }, - { - "id": 22, - "name": "enable_distance_proj", - "type": "bool", - "optional": true, - "options": [ - { - "name": "(gogoproto.nullable)", - "value": "false" - } - ] } ], "reserved_ids": [ 7 ] }, - { - "name": "InvertedQueryInfo", - "fields": [ - { - "id": 1, - "name": "index_id", - "type": "int64", - "optional": true, - "options": [ - { - "name": "(gogoproto.nullable)", - "value": "false" - } - ] - }, - { - "id": 2, - "name": "column_id", - "type": "int64", - "optional": true, - "options": [ - { - "name": "(gogoproto.nullable)", - "value": "false" - } - ] - } - ] - }, { "name": "FTSQueryInfo", "fields": [ @@ -1860,53 +1639,6 @@ "value": "false" } ] - }, - { - "id": 21, - "name": "match_expr", - "type": "Expr", - "is_repeated": true, - "options": [ - { - "name": "(gogoproto.nullable)", - "value": "false" - } - ] - } - ] - }, - { - "name": "ColumnarIndexInfo", - "fields": [ - { - "id": 1, - "name": "index_type", - "type": "ColumnarIndexType", - "optional": true, - "options": [ - { - "name": "(gogoproto.nullable)", - "value": "false" - } - ] - }, - { - "id": 2, - "name": "ann_query_info", - "type": "ANNQueryInfo", - "oneof_parent": "index" - }, - { - "id": 3, - "name": "inverted_query_info", - "type": "InvertedQueryInfo", - "oneof_parent": "index" - }, - { - "id": 4, - "name": "fts_query_info", - "type": "FTSQueryInfo", - "oneof_parent": "index" } ] }, @@ -1997,6 +1729,12 @@ "type": "Expr", "is_repeated": true }, + { + "id": 13, + "name": "ann_query", + "type": "ANNQueryInfo", + "optional": true + }, { "id": 11, "name": "runtime_filter_list", @@ -2014,18 +1752,6 @@ "value": "false" } ] - }, - { - "id": 13, - "name": "deprecated_ann_query", - "type": "ANNQueryInfo", - "optional": true - }, - { - "id": 14, - "name": "used_columnar_indexes", - "type": "ColumnarIndexInfo", - "is_repeated": true } ] }, @@ -2092,6 +1818,12 @@ "type": "Expr", "is_repeated": true }, + { + "id": 11, + "name": "ann_query", + "type": "ANNQueryInfo", + "optional": true + }, { "id": 9, "name": "runtime_filter_list", @@ -2109,18 +1841,6 @@ "value": "false" } ] - }, - { - "id": 11, - "name": "deprecated_ann_query", - "type": "ANNQueryInfo", - "optional": true - }, - { - "id": 12, - "name": "used_columnar_indexes", - "type": "ColumnarIndexInfo", - "is_repeated": true } ] }, @@ -2533,6 +2253,12 @@ "name": "partition_by", "type": "ByItem", "is_repeated": true + }, + { + "id": 4, + "name": "truncate_key_expr", + "type": "Expr", + "is_repeated": true } ] }, @@ -2565,6 +2291,23 @@ } ] }, + { + "name": "ExplainForConnection", + "fields": [ + { + "id": 1, + "name": "connection_id", + "type": "uint64", + "optional": true, + "options": [ + { + "name": "(gogoproto.nullable)", + "value": "false" + } + ] + } + ] + }, { "name": "ExecutorExecutionSummary", "fields": [ @@ -2615,12 +2358,6 @@ "name": "tiflash_wait_summary", "type": "TiFlashWaitSummary", "optional": true - }, - { - "id": 9, - "name": "tiflash_network_summary", - "type": "TiFlashNetWorkSummary", - "optional": true } ] }, @@ -2879,103 +2616,55 @@ }, { "id": 100, - "name": "vector_idx_load_from_s3", + "name": "total_vector_idx_load_from_s3", "type": "uint64", "optional": true }, { "id": 101, - "name": "vector_idx_load_from_disk", + "name": "total_vector_idx_load_from_disk", "type": "uint64", "optional": true }, { "id": 102, - "name": "vector_idx_load_from_cache", + "name": "total_vector_idx_load_from_cache", "type": "uint64", "optional": true }, { "id": 103, - "name": "vector_idx_load_time_ms", + "name": "total_vector_idx_load_time_ms", "type": "uint64", "optional": true }, { "id": 104, - "name": "vector_idx_search_time_ms", + "name": "total_vector_idx_search_time_ms", "type": "uint64", "optional": true }, { "id": 105, - "name": "vector_idx_search_visited_nodes", + "name": "total_vector_idx_search_visited_nodes", "type": "uint64", "optional": true }, { "id": 106, - "name": "vector_idx_search_discarded_nodes", + "name": "total_vector_idx_search_discarded_nodes", "type": "uint64", "optional": true }, { "id": 107, - "name": "vector_idx_read_vec_time_ms", + "name": "total_vector_idx_read_vec_time_ms", "type": "uint64", "optional": true }, { "id": 108, - "name": "vector_idx_read_others_time_ms", - "type": "uint64", - "optional": true - }, - { - "id": 120, - "name": "inverted_idx_load_from_s3", - "type": "uint32", - "optional": true - }, - { - "id": 121, - "name": "inverted_idx_load_from_disk", - "type": "uint32", - "optional": true - }, - { - "id": 122, - "name": "inverted_idx_load_from_cache", - "type": "uint32", - "optional": true - }, - { - "id": 123, - "name": "inverted_idx_load_time_ms", - "type": "uint64", - "optional": true - }, - { - "id": 124, - "name": "inverted_idx_search_time_ms", - "type": "uint64", - "optional": true - }, - { - "id": 125, - "name": "inverted_idx_search_skipped_packs", - "type": "uint32", - "optional": true - }, - { - "id": 126, - "name": "inverted_idx_indexed_rows", - "type": "uint64", - "optional": true - }, - { - "id": 127, - "name": "inverted_idx_search_selected_rows", + "name": "total_vector_idx_read_others_time_ms", "type": "uint64", "optional": true }, @@ -3154,35 +2843,6 @@ } ] }, - { - "name": "TiFlashNetWorkSummary", - "fields": [ - { - "id": 1, - "name": "inner_zone_send_bytes", - "type": "uint64", - "optional": true - }, - { - "id": 2, - "name": "inner_zone_receive_bytes", - "type": "uint64", - "optional": true - }, - { - "id": 3, - "name": "inter_zone_send_bytes", - "type": "uint64", - "optional": true - }, - { - "id": 4, - "name": "inter_zone_receive_bytes", - "type": "uint64", - "optional": true - } - ] - }, { "name": "Sort", "fields": [ @@ -3423,9 +3083,6 @@ }, { "path": "gogoproto/gogo.proto" - }, - { - "path": "rustproto.proto" } ], "package": { @@ -3451,22 +3108,6 @@ { "name": "(gogoproto.unmarshaler_all)", "value": "true" - }, - { - "name": "(gogoproto.goproto_unkeyed_all)", - "value": "false" - }, - { - "name": "(gogoproto.goproto_unrecognized_all)", - "value": "false" - }, - { - "name": "(gogoproto.goproto_sizecache_all)", - "value": "false" - }, - { - "name": "(rustproto.lite_runtime_all)", - "value": "true" } ] } @@ -3568,12 +3209,6 @@ "id": 4, "name": "discarded_due_to_too_long", "type": "bool" - }, - { - "id": 5, - "name": "subqueries", - "type": "ExplainOperator", - "is_repeated": true } ] }, @@ -3658,16 +3293,6 @@ "id": 15, "name": "disk_bytes", "type": "int64" - }, - { - "id": 16, - "name": "brief_name", - "type": "string" - }, - { - "id": 17, - "name": "brief_operator_info", - "type": "string" } ] }, @@ -3783,9 +3408,6 @@ "imports": [ { "path": "gogoproto/gogo.proto" - }, - { - "path": "rustproto.proto" } ], "package": { @@ -3811,22 +3433,6 @@ { "name": "(gogoproto.unmarshaler_all)", "value": "true" - }, - { - "name": "(gogoproto.goproto_unkeyed_all)", - "value": "false" - }, - { - "name": "(gogoproto.goproto_unrecognized_all)", - "value": "false" - }, - { - "name": "(gogoproto.goproto_sizecache_all)", - "value": "false" - }, - { - "name": "(rustproto.lite_runtime_all)", - "value": "true" } ] } @@ -5673,6 +5279,10 @@ "name": "FTSMatchRegexp", "integer": 5204 }, + { + "name": "FTSMatchPhrase", + "integer": 5205 + }, { "name": "DateFormatSig", "integer": 6001 @@ -6830,10 +6440,10 @@ ], "imports": [ { - "path": "gogoproto/gogo.proto" + "path": "metadata.proto" }, { - "path": "rustproto.proto" + "path": "gogoproto/gogo.proto" } ], "package": { @@ -6859,22 +6469,6 @@ { "name": "(gogoproto.unmarshaler_all)", "value": "true" - }, - { - "name": "(gogoproto.goproto_unkeyed_all)", - "value": "false" - }, - { - "name": "(gogoproto.goproto_unrecognized_all)", - "value": "false" - }, - { - "name": "(gogoproto.goproto_sizecache_all)", - "value": "false" - }, - { - "name": "(rustproto.lite_runtime_all)", - "value": "true" } ] } @@ -6974,9 +6568,6 @@ "imports": [ { "path": "gogoproto/gogo.proto" - }, - { - "path": "rustproto.proto" } ], "package": { @@ -7002,22 +6593,6 @@ { "name": "(gogoproto.unmarshaler_all)", "value": "true" - }, - { - "name": "(gogoproto.goproto_unkeyed_all)", - "value": "false" - }, - { - "name": "(gogoproto.goproto_unrecognized_all)", - "value": "false" - }, - { - "name": "(gogoproto.goproto_sizecache_all)", - "value": "false" - }, - { - "name": "(rustproto.lite_runtime_all)", - "value": "true" } ] } @@ -7076,12 +6651,6 @@ "value": "false" } ] - }, - { - "id": 5, - "name": "keyspace_name", - "type": "bytes", - "optional": true } ] } @@ -7089,9 +6658,6 @@ "imports": [ { "path": "gogoproto/gogo.proto" - }, - { - "path": "rustproto.proto" } ], "package": { @@ -7117,22 +6683,6 @@ { "name": "(gogoproto.unmarshaler_all)", "value": "true" - }, - { - "name": "(gogoproto.goproto_unkeyed_all)", - "value": "false" - }, - { - "name": "(gogoproto.goproto_unrecognized_all)", - "value": "false" - }, - { - "name": "(gogoproto.goproto_sizecache_all)", - "value": "false" - }, - { - "name": "(rustproto.lite_runtime_all)", - "value": "true" } ] } @@ -7345,9 +6895,6 @@ "imports": [ { "path": "gogoproto/gogo.proto" - }, - { - "path": "rustproto.proto" } ], "package": { @@ -7373,22 +6920,6 @@ { "name": "(gogoproto.unmarshaler_all)", "value": "true" - }, - { - "name": "(gogoproto.goproto_unkeyed_all)", - "value": "false" - }, - { - "name": "(gogoproto.goproto_unrecognized_all)", - "value": "false" - }, - { - "name": "(gogoproto.goproto_sizecache_all)", - "value": "false" - }, - { - "name": "(rustproto.lite_runtime_all)", - "value": "true" } ] } @@ -7911,9 +7442,6 @@ }, { "path": "gogoproto/gogo.proto" - }, - { - "path": "rustproto.proto" } ], "package": { @@ -7939,22 +7467,6 @@ { "name": "(gogoproto.unmarshaler_all)", "value": "true" - }, - { - "name": "(gogoproto.goproto_unkeyed_all)", - "value": "false" - }, - { - "name": "(gogoproto.goproto_unrecognized_all)", - "value": "false" - }, - { - "name": "(gogoproto.goproto_sizecache_all)", - "value": "false" - }, - { - "name": "(rustproto.lite_runtime_all)", - "value": "true" } ] } @@ -8302,9 +7814,6 @@ "imports": [ { "path": "gogoproto/gogo.proto" - }, - { - "path": "rustproto.proto" } ], "package": { @@ -8322,22 +7831,6 @@ { "name": "(gogoproto.unmarshaler_all)", "value": "true" - }, - { - "name": "(gogoproto.goproto_unkeyed_all)", - "value": "false" - }, - { - "name": "(gogoproto.goproto_unrecognized_all)", - "value": "false" - }, - { - "name": "(gogoproto.goproto_sizecache_all)", - "value": "false" - }, - { - "name": "(rustproto.lite_runtime_all)", - "value": "true" } ] } @@ -8364,11 +7857,6 @@ "name": "items", "type": "TopSQLRecordItem", "is_repeated": true - }, - { - "id": 4, - "name": "keyspace_name", - "type": "bytes" } ] }, @@ -8399,6 +7887,16 @@ "id": 6, "name": "stmt_duration_count", "type": "uint64" + }, + { + "id": 7, + "name": "stmt_network_in_bytes", + "type": "uint64" + }, + { + "id": 8, + "name": "stmt_network_out_bytes", + "type": "uint64" } ], "maps": [ @@ -8429,11 +7927,6 @@ "id": 3, "name": "is_internal_sql", "type": "bool" - }, - { - "id": 4, - "name": "keyspace_name", - "type": "bytes" } ] }, @@ -8454,11 +7947,6 @@ "id": 3, "name": "encoded_normalized_plan", "type": "string" - }, - { - "id": 4, - "name": "keyspace_name", - "type": "bytes" } ] }, @@ -8531,9 +8019,6 @@ "imports": [ { "path": "gogoproto/gogo.proto" - }, - { - "path": "rustproto.proto" } ], "package": { @@ -8559,22 +8044,6 @@ { "name": "(gogoproto.unmarshaler_all)", "value": "true" - }, - { - "name": "(gogoproto.goproto_unkeyed_all)", - "value": "false" - }, - { - "name": "(gogoproto.goproto_unrecognized_all)", - "value": "false" - }, - { - "name": "(gogoproto.goproto_sizecache_all)", - "value": "false" - }, - { - "name": "(rustproto.lite_runtime_all)", - "value": "true" } ] } @@ -8619,9 +8088,6 @@ "imports": [ { "path": "gogoproto/gogo.proto" - }, - { - "path": "rustproto.proto" } ], "package": { @@ -8647,22 +8113,6 @@ { "name": "(gogoproto.unmarshaler_all)", "value": "true" - }, - { - "name": "(gogoproto.goproto_unkeyed_all)", - "value": "false" - }, - { - "name": "(gogoproto.goproto_unrecognized_all)", - "value": "false" - }, - { - "name": "(gogoproto.goproto_sizecache_all)", - "value": "false" - }, - { - "name": "(rustproto.lite_runtime_all)", - "value": "true" } ] }