// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.28.1 // protoc v3.21.9 // source: backend/operation/statistic.proto package operationPb import ( protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // 添加配方评估 具体字段含义参照formula_estimate表对应的字段 type AddFormulaEstimateRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` PastureId int32 `protobuf:"varint,2,opt,name=pasture_id,json=pastureId,proto3" json:"pasture_id,omitempty"` PastureName string `protobuf:"bytes,3,opt,name=pasture_name,json=pastureName,proto3" json:"pasture_name,omitempty"` BarnId int32 `protobuf:"varint,4,opt,name=barn_id,json=barnId,proto3" json:"barn_id,omitempty"` FeedFormulaId int32 `protobuf:"varint,5,opt,name=feed_formula_id,json=feedFormulaId,proto3" json:"feed_formula_id,omitempty"` FeedFormulaName string `protobuf:"bytes,6,opt,name=feed_formula_name,json=feedFormulaName,proto3" json:"feed_formula_name,omitempty"` CowNumber int32 `protobuf:"varint,7,opt,name=cow_number,json=cowNumber,proto3" json:"cow_number,omitempty"` DryFormulaNumber int32 `protobuf:"varint,8,opt,name=dry_formula_number,json=dryFormulaNumber,proto3" json:"dry_formula_number,omitempty"` DryTmrFeed int32 `protobuf:"varint,9,opt,name=dry_tmr_feed,json=dryTmrFeed,proto3" json:"dry_tmr_feed,omitempty"` DryFoodIntake int32 `protobuf:"varint,10,opt,name=dry_food_intake,json=dryFoodIntake,proto3" json:"dry_food_intake,omitempty"` MjFormulaNumber int32 `protobuf:"varint,11,opt,name=mj_formula_number,json=mjFormulaNumber,proto3" json:"mj_formula_number,omitempty"` MjTmrFeed int32 `protobuf:"varint,12,opt,name=mj_tmr_feed,json=mjTmrFeed,proto3" json:"mj_tmr_feed,omitempty"` MjFoodIntake int32 `protobuf:"varint,13,opt,name=mj_food_intake,json=mjFoodIntake,proto3" json:"mj_food_intake,omitempty"` NndFormulaNumber int32 `protobuf:"varint,14,opt,name=nnd_formula_number,json=nndFormulaNumber,proto3" json:"nnd_formula_number,omitempty"` NndTmrFeed int32 `protobuf:"varint,15,opt,name=nnd_tmr_feed,json=nndTmrFeed,proto3" json:"nnd_tmr_feed,omitempty"` NndFoodIntake int32 `protobuf:"varint,16,opt,name=nnd_food_intake,json=nndFoodIntake,proto3" json:"nnd_food_intake,omitempty"` CpgFormulaNumber int32 `protobuf:"varint,17,opt,name=cpg_formula_number,json=cpgFormulaNumber,proto3" json:"cpg_formula_number,omitempty"` CpgTmrFeed int32 `protobuf:"varint,18,opt,name=cpg_tmr_feed,json=cpgTmrFeed,proto3" json:"cpg_tmr_feed,omitempty"` CpgFoodIntake int32 `protobuf:"varint,19,opt,name=cpg_food_intake,json=cpgFoodIntake,proto3" json:"cpg_food_intake,omitempty"` PgFormulaNumber int32 `protobuf:"varint,20,opt,name=pg_formula_number,json=pgFormulaNumber,proto3" json:"pg_formula_number,omitempty"` PgTmrFeed int32 `protobuf:"varint,21,opt,name=pg_tmr_feed,json=pgTmrFeed,proto3" json:"pg_tmr_feed,omitempty"` PgFoodIntake int32 `protobuf:"varint,22,opt,name=pg_food_intake,json=pgFoodIntake,proto3" json:"pg_food_intake,omitempty"` DmFormulaNumber int32 `protobuf:"varint,23,opt,name=dm_formula_number,json=dmFormulaNumber,proto3" json:"dm_formula_number,omitempty"` DmTmrFeed int32 `protobuf:"varint,24,opt,name=dm_tmr_feed,json=dmTmrFeed,proto3" json:"dm_tmr_feed,omitempty"` DmFoodIntake int32 `protobuf:"varint,25,opt,name=dm_food_intake,json=dmFoodIntake,proto3" json:"dm_food_intake,omitempty"` CpdmFormulaNumber int32 `protobuf:"varint,26,opt,name=cpdm_formula_number,json=cpdmFormulaNumber,proto3" json:"cpdm_formula_number,omitempty"` CpdmTmrFeed int32 `protobuf:"varint,27,opt,name=cpdm_tmr_feed,json=cpdmTmrFeed,proto3" json:"cpdm_tmr_feed,omitempty"` CpdmFoodIntake int32 `protobuf:"varint,28,opt,name=cpdm_food_intake,json=cpdmFoodIntake,proto3" json:"cpdm_food_intake,omitempty"` FatFormulaNumber int32 `protobuf:"varint,29,opt,name=fat_formula_number,json=fatFormulaNumber,proto3" json:"fat_formula_number,omitempty"` FatTmrFeed int32 `protobuf:"varint,30,opt,name=fat_tmr_feed,json=fatTmrFeed,proto3" json:"fat_tmr_feed,omitempty"` FatFoodIntake int32 `protobuf:"varint,31,opt,name=fat_food_intake,json=fatFoodIntake,proto3" json:"fat_food_intake,omitempty"` StarchFormulaNumber int32 `protobuf:"varint,32,opt,name=starch_formula_number,json=starchFormulaNumber,proto3" json:"starch_formula_number,omitempty"` StarchTmrFeed int32 `protobuf:"varint,33,opt,name=starch_tmr_feed,json=starchTmrFeed,proto3" json:"starch_tmr_feed,omitempty"` StarchFoodIntake int32 `protobuf:"varint,34,opt,name=starch_food_intake,json=starchFoodIntake,proto3" json:"starch_food_intake,omitempty"` NdfFormulaNumber int32 `protobuf:"varint,35,opt,name=ndf_formula_number,json=ndfFormulaNumber,proto3" json:"ndf_formula_number,omitempty"` NdfTmrFeed int32 `protobuf:"varint,36,opt,name=ndf_tmr_feed,json=ndfTmrFeed,proto3" json:"ndf_tmr_feed,omitempty"` NdfFoodIntake int32 `protobuf:"varint,37,opt,name=ndf_food_intake,json=ndfFoodIntake,proto3" json:"ndf_food_intake,omitempty"` CpNdfFormulaNumber int32 `protobuf:"varint,38,opt,name=cp_ndf_formula_number,json=cpNdfFormulaNumber,proto3" json:"cp_ndf_formula_number,omitempty"` CpNdfTmrFeed int32 `protobuf:"varint,39,opt,name=cp_ndf_tmr_feed,json=cpNdfTmrFeed,proto3" json:"cp_ndf_tmr_feed,omitempty"` CpNdfFoodIntake int32 `protobuf:"varint,40,opt,name=cp_ndf_food_intake,json=cpNdfFoodIntake,proto3" json:"cp_ndf_food_intake,omitempty"` AdfFormulaNumber int32 `protobuf:"varint,41,opt,name=adf_formula_number,json=adfFormulaNumber,proto3" json:"adf_formula_number,omitempty"` AdfTmrFeed int32 `protobuf:"varint,42,opt,name=adf_tmr_feed,json=adfTmrFeed,proto3" json:"adf_tmr_feed,omitempty"` AdfFoodIntake int32 `protobuf:"varint,43,opt,name=adf_food_intake,json=adfFoodIntake,proto3" json:"adf_food_intake,omitempty"` CalciumFormulaNumber int32 `protobuf:"varint,44,opt,name=calcium_formula_number,json=calciumFormulaNumber,proto3" json:"calcium_formula_number,omitempty"` CalciumTmrFeed int32 `protobuf:"varint,45,opt,name=calcium_tmr_feed,json=calciumTmrFeed,proto3" json:"calcium_tmr_feed,omitempty"` CalciumFoodIntake int32 `protobuf:"varint,46,opt,name=calcium_food_intake,json=calciumFoodIntake,proto3" json:"calcium_food_intake,omitempty"` PdmFormulaNumber int32 `protobuf:"varint,47,opt,name=pdm_formula_number,json=pdmFormulaNumber,proto3" json:"pdm_formula_number,omitempty"` PdmTmrFeed int32 `protobuf:"varint,48,opt,name=pdm_tmr_feed,json=pdmTmrFeed,proto3" json:"pdm_tmr_feed,omitempty"` PdmFoodIntake int32 `protobuf:"varint,49,opt,name=pdm_food_intake,json=pdmFoodIntake,proto3" json:"pdm_food_intake,omitempty"` CfRatioFormulaNumber int32 `protobuf:"varint,50,opt,name=cf_ratio_formula_number,json=cfRatioFormulaNumber,proto3" json:"cf_ratio_formula_number,omitempty"` CfRatioTmrFeed int32 `protobuf:"varint,51,opt,name=cf_ratio_tmr_feed,json=cfRatioTmrFeed,proto3" json:"cf_ratio_tmr_feed,omitempty"` CfRatioFoodIntake int32 `protobuf:"varint,52,opt,name=cf_ratio_food_intake,json=cfRatioFoodIntake,proto3" json:"cf_ratio_food_intake,omitempty"` CreatedAt int32 `protobuf:"varint,53,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` CreatedAtFormat string `protobuf:"bytes,54,opt,name=created_at_format,json=createdAtFormat,proto3" json:"created_at_format,omitempty"` } func (x *AddFormulaEstimateRequest) Reset() { *x = AddFormulaEstimateRequest{} if protoimpl.UnsafeEnabled { mi := &file_backend_operation_statistic_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *AddFormulaEstimateRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*AddFormulaEstimateRequest) ProtoMessage() {} func (x *AddFormulaEstimateRequest) ProtoReflect() protoreflect.Message { mi := &file_backend_operation_statistic_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use AddFormulaEstimateRequest.ProtoReflect.Descriptor instead. func (*AddFormulaEstimateRequest) Descriptor() ([]byte, []int) { return file_backend_operation_statistic_proto_rawDescGZIP(), []int{0} } func (x *AddFormulaEstimateRequest) GetId() int32 { if x != nil { return x.Id } return 0 } func (x *AddFormulaEstimateRequest) GetPastureId() int32 { if x != nil { return x.PastureId } return 0 } func (x *AddFormulaEstimateRequest) GetPastureName() string { if x != nil { return x.PastureName } return "" } func (x *AddFormulaEstimateRequest) GetBarnId() int32 { if x != nil { return x.BarnId } return 0 } func (x *AddFormulaEstimateRequest) GetFeedFormulaId() int32 { if x != nil { return x.FeedFormulaId } return 0 } func (x *AddFormulaEstimateRequest) GetFeedFormulaName() string { if x != nil { return x.FeedFormulaName } return "" } func (x *AddFormulaEstimateRequest) GetCowNumber() int32 { if x != nil { return x.CowNumber } return 0 } func (x *AddFormulaEstimateRequest) GetDryFormulaNumber() int32 { if x != nil { return x.DryFormulaNumber } return 0 } func (x *AddFormulaEstimateRequest) GetDryTmrFeed() int32 { if x != nil { return x.DryTmrFeed } return 0 } func (x *AddFormulaEstimateRequest) GetDryFoodIntake() int32 { if x != nil { return x.DryFoodIntake } return 0 } func (x *AddFormulaEstimateRequest) GetMjFormulaNumber() int32 { if x != nil { return x.MjFormulaNumber } return 0 } func (x *AddFormulaEstimateRequest) GetMjTmrFeed() int32 { if x != nil { return x.MjTmrFeed } return 0 } func (x *AddFormulaEstimateRequest) GetMjFoodIntake() int32 { if x != nil { return x.MjFoodIntake } return 0 } func (x *AddFormulaEstimateRequest) GetNndFormulaNumber() int32 { if x != nil { return x.NndFormulaNumber } return 0 } func (x *AddFormulaEstimateRequest) GetNndTmrFeed() int32 { if x != nil { return x.NndTmrFeed } return 0 } func (x *AddFormulaEstimateRequest) GetNndFoodIntake() int32 { if x != nil { return x.NndFoodIntake } return 0 } func (x *AddFormulaEstimateRequest) GetCpgFormulaNumber() int32 { if x != nil { return x.CpgFormulaNumber } return 0 } func (x *AddFormulaEstimateRequest) GetCpgTmrFeed() int32 { if x != nil { return x.CpgTmrFeed } return 0 } func (x *AddFormulaEstimateRequest) GetCpgFoodIntake() int32 { if x != nil { return x.CpgFoodIntake } return 0 } func (x *AddFormulaEstimateRequest) GetPgFormulaNumber() int32 { if x != nil { return x.PgFormulaNumber } return 0 } func (x *AddFormulaEstimateRequest) GetPgTmrFeed() int32 { if x != nil { return x.PgTmrFeed } return 0 } func (x *AddFormulaEstimateRequest) GetPgFoodIntake() int32 { if x != nil { return x.PgFoodIntake } return 0 } func (x *AddFormulaEstimateRequest) GetDmFormulaNumber() int32 { if x != nil { return x.DmFormulaNumber } return 0 } func (x *AddFormulaEstimateRequest) GetDmTmrFeed() int32 { if x != nil { return x.DmTmrFeed } return 0 } func (x *AddFormulaEstimateRequest) GetDmFoodIntake() int32 { if x != nil { return x.DmFoodIntake } return 0 } func (x *AddFormulaEstimateRequest) GetCpdmFormulaNumber() int32 { if x != nil { return x.CpdmFormulaNumber } return 0 } func (x *AddFormulaEstimateRequest) GetCpdmTmrFeed() int32 { if x != nil { return x.CpdmTmrFeed } return 0 } func (x *AddFormulaEstimateRequest) GetCpdmFoodIntake() int32 { if x != nil { return x.CpdmFoodIntake } return 0 } func (x *AddFormulaEstimateRequest) GetFatFormulaNumber() int32 { if x != nil { return x.FatFormulaNumber } return 0 } func (x *AddFormulaEstimateRequest) GetFatTmrFeed() int32 { if x != nil { return x.FatTmrFeed } return 0 } func (x *AddFormulaEstimateRequest) GetFatFoodIntake() int32 { if x != nil { return x.FatFoodIntake } return 0 } func (x *AddFormulaEstimateRequest) GetStarchFormulaNumber() int32 { if x != nil { return x.StarchFormulaNumber } return 0 } func (x *AddFormulaEstimateRequest) GetStarchTmrFeed() int32 { if x != nil { return x.StarchTmrFeed } return 0 } func (x *AddFormulaEstimateRequest) GetStarchFoodIntake() int32 { if x != nil { return x.StarchFoodIntake } return 0 } func (x *AddFormulaEstimateRequest) GetNdfFormulaNumber() int32 { if x != nil { return x.NdfFormulaNumber } return 0 } func (x *AddFormulaEstimateRequest) GetNdfTmrFeed() int32 { if x != nil { return x.NdfTmrFeed } return 0 } func (x *AddFormulaEstimateRequest) GetNdfFoodIntake() int32 { if x != nil { return x.NdfFoodIntake } return 0 } func (x *AddFormulaEstimateRequest) GetCpNdfFormulaNumber() int32 { if x != nil { return x.CpNdfFormulaNumber } return 0 } func (x *AddFormulaEstimateRequest) GetCpNdfTmrFeed() int32 { if x != nil { return x.CpNdfTmrFeed } return 0 } func (x *AddFormulaEstimateRequest) GetCpNdfFoodIntake() int32 { if x != nil { return x.CpNdfFoodIntake } return 0 } func (x *AddFormulaEstimateRequest) GetAdfFormulaNumber() int32 { if x != nil { return x.AdfFormulaNumber } return 0 } func (x *AddFormulaEstimateRequest) GetAdfTmrFeed() int32 { if x != nil { return x.AdfTmrFeed } return 0 } func (x *AddFormulaEstimateRequest) GetAdfFoodIntake() int32 { if x != nil { return x.AdfFoodIntake } return 0 } func (x *AddFormulaEstimateRequest) GetCalciumFormulaNumber() int32 { if x != nil { return x.CalciumFormulaNumber } return 0 } func (x *AddFormulaEstimateRequest) GetCalciumTmrFeed() int32 { if x != nil { return x.CalciumTmrFeed } return 0 } func (x *AddFormulaEstimateRequest) GetCalciumFoodIntake() int32 { if x != nil { return x.CalciumFoodIntake } return 0 } func (x *AddFormulaEstimateRequest) GetPdmFormulaNumber() int32 { if x != nil { return x.PdmFormulaNumber } return 0 } func (x *AddFormulaEstimateRequest) GetPdmTmrFeed() int32 { if x != nil { return x.PdmTmrFeed } return 0 } func (x *AddFormulaEstimateRequest) GetPdmFoodIntake() int32 { if x != nil { return x.PdmFoodIntake } return 0 } func (x *AddFormulaEstimateRequest) GetCfRatioFormulaNumber() int32 { if x != nil { return x.CfRatioFormulaNumber } return 0 } func (x *AddFormulaEstimateRequest) GetCfRatioTmrFeed() int32 { if x != nil { return x.CfRatioTmrFeed } return 0 } func (x *AddFormulaEstimateRequest) GetCfRatioFoodIntake() int32 { if x != nil { return x.CfRatioFoodIntake } return 0 } func (x *AddFormulaEstimateRequest) GetCreatedAt() int32 { if x != nil { return x.CreatedAt } return 0 } func (x *AddFormulaEstimateRequest) GetCreatedAtFormat() string { if x != nil { return x.CreatedAtFormat } return "" } type SearchFormulaEstimateRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields StartTime string `protobuf:"bytes,1,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"` // 开始时间 EndTime string `protobuf:"bytes,2,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"` // 结束时间 SearchType int32 `protobuf:"varint,3,opt,name=search_type,json=searchType,proto3" json:"search_type,omitempty"` // 查询方式 1 安照配方 2 按照栏舍 Name string `protobuf:"bytes,4,opt,name=name,proto3" json:"name,omitempty"` // 名称 Pagination *PaginationModel `protobuf:"bytes,5,opt,name=pagination,proto3" json:"pagination,omitempty"` // 分页 } func (x *SearchFormulaEstimateRequest) Reset() { *x = SearchFormulaEstimateRequest{} if protoimpl.UnsafeEnabled { mi := &file_backend_operation_statistic_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SearchFormulaEstimateRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*SearchFormulaEstimateRequest) ProtoMessage() {} func (x *SearchFormulaEstimateRequest) ProtoReflect() protoreflect.Message { mi := &file_backend_operation_statistic_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SearchFormulaEstimateRequest.ProtoReflect.Descriptor instead. func (*SearchFormulaEstimateRequest) Descriptor() ([]byte, []int) { return file_backend_operation_statistic_proto_rawDescGZIP(), []int{1} } func (x *SearchFormulaEstimateRequest) GetStartTime() string { if x != nil { return x.StartTime } return "" } func (x *SearchFormulaEstimateRequest) GetEndTime() string { if x != nil { return x.EndTime } return "" } func (x *SearchFormulaEstimateRequest) GetSearchType() int32 { if x != nil { return x.SearchType } return 0 } func (x *SearchFormulaEstimateRequest) GetName() string { if x != nil { return x.Name } return "" } func (x *SearchFormulaEstimateRequest) GetPagination() *PaginationModel { if x != nil { return x.Pagination } return nil } type SearchFormulaEstimateResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Code int32 `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"` Msg string `protobuf:"bytes,2,opt,name=msg,proto3" json:"msg,omitempty"` Data *SearchFormulaEstimate `protobuf:"bytes,3,opt,name=data,proto3" json:"data,omitempty"` } func (x *SearchFormulaEstimateResponse) Reset() { *x = SearchFormulaEstimateResponse{} if protoimpl.UnsafeEnabled { mi := &file_backend_operation_statistic_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SearchFormulaEstimateResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*SearchFormulaEstimateResponse) ProtoMessage() {} func (x *SearchFormulaEstimateResponse) ProtoReflect() protoreflect.Message { mi := &file_backend_operation_statistic_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SearchFormulaEstimateResponse.ProtoReflect.Descriptor instead. func (*SearchFormulaEstimateResponse) Descriptor() ([]byte, []int) { return file_backend_operation_statistic_proto_rawDescGZIP(), []int{2} } func (x *SearchFormulaEstimateResponse) GetCode() int32 { if x != nil { return x.Code } return 0 } func (x *SearchFormulaEstimateResponse) GetMsg() string { if x != nil { return x.Msg } return "" } func (x *SearchFormulaEstimateResponse) GetData() *SearchFormulaEstimate { if x != nil { return x.Data } return nil } type SearchFormulaEstimate struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Page int32 `protobuf:"varint,1,opt,name=page,proto3" json:"page,omitempty"` Total int32 `protobuf:"varint,2,opt,name=total,proto3" json:"total,omitempty"` PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` List []*AddFormulaEstimateRequest `protobuf:"bytes,4,rep,name=list,proto3" json:"list,omitempty"` } func (x *SearchFormulaEstimate) Reset() { *x = SearchFormulaEstimate{} if protoimpl.UnsafeEnabled { mi := &file_backend_operation_statistic_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SearchFormulaEstimate) String() string { return protoimpl.X.MessageStringOf(x) } func (*SearchFormulaEstimate) ProtoMessage() {} func (x *SearchFormulaEstimate) ProtoReflect() protoreflect.Message { mi := &file_backend_operation_statistic_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SearchFormulaEstimate.ProtoReflect.Descriptor instead. func (*SearchFormulaEstimate) Descriptor() ([]byte, []int) { return file_backend_operation_statistic_proto_rawDescGZIP(), []int{3} } func (x *SearchFormulaEstimate) GetPage() int32 { if x != nil { return x.Page } return 0 } func (x *SearchFormulaEstimate) GetTotal() int32 { if x != nil { return x.Total } return 0 } func (x *SearchFormulaEstimate) GetPageSize() int32 { if x != nil { return x.PageSize } return 0 } func (x *SearchFormulaEstimate) GetList() []*AddFormulaEstimateRequest { if x != nil { return x.List } return nil } // 首页 dashboard 准确性分析 type SearchAnalysisAccuracyRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields CattleParentCategoryId CattleCategoryParent_Kind `protobuf:"varint,1,opt,name=cattle_parent_category_id,json=cattleParentCategoryId,proto3,enum=backend.operation.CattleCategoryParent_Kind" json:"cattle_parent_category_id,omitempty"` // 牧畜分类id 泌乳牛 FeedFormulaId int32 `protobuf:"varint,2,opt,name=feed_formula_id,json=feedFormulaId,proto3" json:"feed_formula_id,omitempty"` // 配方id StartDate string `protobuf:"bytes,3,opt,name=start_date,json=startDate,proto3" json:"start_date,omitempty"` // 开始时间 EndDate string `protobuf:"bytes,4,opt,name=end_date,json=endDate,proto3" json:"end_date,omitempty"` // 结束时间 PastureIds []int32 `protobuf:"varint,5,rep,packed,name=pasture_ids,json=pastureIds,proto3" json:"pasture_ids,omitempty"` //牧场ids } func (x *SearchAnalysisAccuracyRequest) Reset() { *x = SearchAnalysisAccuracyRequest{} if protoimpl.UnsafeEnabled { mi := &file_backend_operation_statistic_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SearchAnalysisAccuracyRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*SearchAnalysisAccuracyRequest) ProtoMessage() {} func (x *SearchAnalysisAccuracyRequest) ProtoReflect() protoreflect.Message { mi := &file_backend_operation_statistic_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SearchAnalysisAccuracyRequest.ProtoReflect.Descriptor instead. func (*SearchAnalysisAccuracyRequest) Descriptor() ([]byte, []int) { return file_backend_operation_statistic_proto_rawDescGZIP(), []int{4} } func (x *SearchAnalysisAccuracyRequest) GetCattleParentCategoryId() CattleCategoryParent_Kind { if x != nil { return x.CattleParentCategoryId } return CattleCategoryParent_INVALID } func (x *SearchAnalysisAccuracyRequest) GetFeedFormulaId() int32 { if x != nil { return x.FeedFormulaId } return 0 } func (x *SearchAnalysisAccuracyRequest) GetStartDate() string { if x != nil { return x.StartDate } return "" } func (x *SearchAnalysisAccuracyRequest) GetEndDate() string { if x != nil { return x.EndDate } return "" } func (x *SearchAnalysisAccuracyRequest) GetPastureIds() []int32 { if x != nil { return x.PastureIds } return nil } type SearchAnalysisAccuracyResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Code int32 `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"` Msg string `protobuf:"bytes,2,opt,name=msg,proto3" json:"msg,omitempty"` Data *AnalysisAccuracy `protobuf:"bytes,3,opt,name=data,proto3" json:"data,omitempty"` } func (x *SearchAnalysisAccuracyResponse) Reset() { *x = SearchAnalysisAccuracyResponse{} if protoimpl.UnsafeEnabled { mi := &file_backend_operation_statistic_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SearchAnalysisAccuracyResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*SearchAnalysisAccuracyResponse) ProtoMessage() {} func (x *SearchAnalysisAccuracyResponse) ProtoReflect() protoreflect.Message { mi := &file_backend_operation_statistic_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SearchAnalysisAccuracyResponse.ProtoReflect.Descriptor instead. func (*SearchAnalysisAccuracyResponse) Descriptor() ([]byte, []int) { return file_backend_operation_statistic_proto_rawDescGZIP(), []int{5} } func (x *SearchAnalysisAccuracyResponse) GetCode() int32 { if x != nil { return x.Code } return 0 } func (x *SearchAnalysisAccuracyResponse) GetMsg() string { if x != nil { return x.Msg } return "" } func (x *SearchAnalysisAccuracyResponse) GetData() *AnalysisAccuracy { if x != nil { return x.Data } return nil } type AnalysisAccuracy struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Chart *Chart `protobuf:"bytes,1,opt,name=chart,proto3" json:"chart,omitempty"` Table *Table `protobuf:"bytes,2,opt,name=table,proto3" json:"table,omitempty"` } func (x *AnalysisAccuracy) Reset() { *x = AnalysisAccuracy{} if protoimpl.UnsafeEnabled { mi := &file_backend_operation_statistic_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *AnalysisAccuracy) String() string { return protoimpl.X.MessageStringOf(x) } func (*AnalysisAccuracy) ProtoMessage() {} func (x *AnalysisAccuracy) ProtoReflect() protoreflect.Message { mi := &file_backend_operation_statistic_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use AnalysisAccuracy.ProtoReflect.Descriptor instead. func (*AnalysisAccuracy) Descriptor() ([]byte, []int) { return file_backend_operation_statistic_proto_rawDescGZIP(), []int{6} } func (x *AnalysisAccuracy) GetChart() *Chart { if x != nil { return x.Chart } return nil } func (x *AnalysisAccuracy) GetTable() *Table { if x != nil { return x.Table } return nil } type Chart struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields MixedFodderAccurateRatio *CommonValueRatio `protobuf:"bytes,4,opt,name=mixed_fodder_accurate_ratio,json=mixedFodderAccurateRatio,proto3" json:"mixed_fodder_accurate_ratio,omitempty"` // 混料准确率 MixedFodderCorrectRatio *CommonValueRatio `protobuf:"bytes,5,opt,name=mixed_fodder_correct_ratio,json=mixedFodderCorrectRatio,proto3" json:"mixed_fodder_correct_ratio,omitempty"` // 混料正确率 SprinkleFodderAccurateRatio *CommonValueRatio `protobuf:"bytes,6,opt,name=sprinkle_fodder_accurate_ratio,json=sprinkleFodderAccurateRatio,proto3" json:"sprinkle_fodder_accurate_ratio,omitempty"` // 撒料准确率 SprinkleFodderCorrectRatio *CommonValueRatio `protobuf:"bytes,7,opt,name=sprinkle_fodder_correct_ratio,json=sprinkleFodderCorrectRatio,proto3" json:"sprinkle_fodder_correct_ratio,omitempty"` // 撒料正确率 } func (x *Chart) Reset() { *x = Chart{} if protoimpl.UnsafeEnabled { mi := &file_backend_operation_statistic_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Chart) String() string { return protoimpl.X.MessageStringOf(x) } func (*Chart) ProtoMessage() {} func (x *Chart) ProtoReflect() protoreflect.Message { mi := &file_backend_operation_statistic_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Chart.ProtoReflect.Descriptor instead. func (*Chart) Descriptor() ([]byte, []int) { return file_backend_operation_statistic_proto_rawDescGZIP(), []int{7} } func (x *Chart) GetMixedFodderAccurateRatio() *CommonValueRatio { if x != nil { return x.MixedFodderAccurateRatio } return nil } func (x *Chart) GetMixedFodderCorrectRatio() *CommonValueRatio { if x != nil { return x.MixedFodderCorrectRatio } return nil } func (x *Chart) GetSprinkleFodderAccurateRatio() *CommonValueRatio { if x != nil { return x.SprinkleFodderAccurateRatio } return nil } func (x *Chart) GetSprinkleFodderCorrectRatio() *CommonValueRatio { if x != nil { return x.SprinkleFodderCorrectRatio } return nil } type Table struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields TableList []*Table_TableList `protobuf:"bytes,1,rep,name=table_list,json=tableList,proto3" json:"table_list,omitempty"` } func (x *Table) Reset() { *x = Table{} if protoimpl.UnsafeEnabled { mi := &file_backend_operation_statistic_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Table) String() string { return protoimpl.X.MessageStringOf(x) } func (*Table) ProtoMessage() {} func (x *Table) ProtoReflect() protoreflect.Message { mi := &file_backend_operation_statistic_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Table.ProtoReflect.Descriptor instead. func (*Table) Descriptor() ([]byte, []int) { return file_backend_operation_statistic_proto_rawDescGZIP(), []int{8} } func (x *Table) GetTableList() []*Table_TableList { if x != nil { return x.TableList } return nil } type CommonValueRatio struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields MaxValue string `protobuf:"bytes,1,opt,name=max_value,json=maxValue,proto3" json:"max_value,omitempty"` // 最高值 MiddleValue string `protobuf:"bytes,2,opt,name=middle_value,json=middleValue,proto3" json:"middle_value,omitempty"` // 中位值 MinValue string `protobuf:"bytes,3,opt,name=min_value,json=minValue,proto3" json:"min_value,omitempty"` // 最低值 DataList []*ValueRatio `protobuf:"bytes,4,rep,name=data_list,json=dataList,proto3" json:"data_list,omitempty"` // 数据集合 PastureName []string `protobuf:"bytes,5,rep,name=pasture_name,json=pastureName,proto3" json:"pasture_name,omitempty"` // 牧场名称集合 DateDay []string `protobuf:"bytes,6,rep,name=date_day,json=dateDay,proto3" json:"date_day,omitempty"` // 日期集合 } func (x *CommonValueRatio) Reset() { *x = CommonValueRatio{} if protoimpl.UnsafeEnabled { mi := &file_backend_operation_statistic_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CommonValueRatio) String() string { return protoimpl.X.MessageStringOf(x) } func (*CommonValueRatio) ProtoMessage() {} func (x *CommonValueRatio) ProtoReflect() protoreflect.Message { mi := &file_backend_operation_statistic_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CommonValueRatio.ProtoReflect.Descriptor instead. func (*CommonValueRatio) Descriptor() ([]byte, []int) { return file_backend_operation_statistic_proto_rawDescGZIP(), []int{9} } func (x *CommonValueRatio) GetMaxValue() string { if x != nil { return x.MaxValue } return "" } func (x *CommonValueRatio) GetMiddleValue() string { if x != nil { return x.MiddleValue } return "" } func (x *CommonValueRatio) GetMinValue() string { if x != nil { return x.MinValue } return "" } func (x *CommonValueRatio) GetDataList() []*ValueRatio { if x != nil { return x.DataList } return nil } func (x *CommonValueRatio) GetPastureName() []string { if x != nil { return x.PastureName } return nil } func (x *CommonValueRatio) GetDateDay() []string { if x != nil { return x.DateDay } return nil } type ValueRatio struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ValueRatio []string `protobuf:"bytes,1,rep,name=value_ratio,json=valueRatio,proto3" json:"value_ratio,omitempty"` } func (x *ValueRatio) Reset() { *x = ValueRatio{} if protoimpl.UnsafeEnabled { mi := &file_backend_operation_statistic_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ValueRatio) String() string { return protoimpl.X.MessageStringOf(x) } func (*ValueRatio) ProtoMessage() {} func (x *ValueRatio) ProtoReflect() protoreflect.Message { mi := &file_backend_operation_statistic_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ValueRatio.ProtoReflect.Descriptor instead. func (*ValueRatio) Descriptor() ([]byte, []int) { return file_backend_operation_statistic_proto_rawDescGZIP(), []int{10} } func (x *ValueRatio) GetValueRatio() []string { if x != nil { return x.ValueRatio } return nil } type Table_TableList struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` } func (x *Table_TableList) Reset() { *x = Table_TableList{} if protoimpl.UnsafeEnabled { mi := &file_backend_operation_statistic_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Table_TableList) String() string { return protoimpl.X.MessageStringOf(x) } func (*Table_TableList) ProtoMessage() {} func (x *Table_TableList) ProtoReflect() protoreflect.Message { mi := &file_backend_operation_statistic_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Table_TableList.ProtoReflect.Descriptor instead. func (*Table_TableList) Descriptor() ([]byte, []int) { return file_backend_operation_statistic_proto_rawDescGZIP(), []int{8, 0} } func (x *Table_TableList) GetId() int32 { if x != nil { return x.Id } return 0 } func (x *Table_TableList) GetName() string { if x != nil { return x.Name } return "" } var File_backend_operation_statistic_proto protoreflect.FileDescriptor var file_backend_operation_statistic_proto_rawDesc = []byte{ 0x0a, 0x21, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x2f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x11, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x2e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x22, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x2f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x2f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x65, 0x6e, 0x75, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x94, 0x11, 0x0a, 0x19, 0x41, 0x64, 0x64, 0x46, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x45, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x73, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x70, 0x61, 0x73, 0x74, 0x75, 0x72, 0x65, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x61, 0x73, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x61, 0x73, 0x74, 0x75, 0x72, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x62, 0x61, 0x72, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x62, 0x61, 0x72, 0x6e, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x66, 0x65, 0x65, 0x64, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x66, 0x65, 0x65, 0x64, 0x46, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x49, 0x64, 0x12, 0x2a, 0x0a, 0x11, 0x66, 0x65, 0x65, 0x64, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x66, 0x65, 0x65, 0x64, 0x46, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6f, 0x77, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x63, 0x6f, 0x77, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x2c, 0x0a, 0x12, 0x64, 0x72, 0x79, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x64, 0x72, 0x79, 0x46, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x20, 0x0a, 0x0c, 0x64, 0x72, 0x79, 0x5f, 0x74, 0x6d, 0x72, 0x5f, 0x66, 0x65, 0x65, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x64, 0x72, 0x79, 0x54, 0x6d, 0x72, 0x46, 0x65, 0x65, 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x64, 0x72, 0x79, 0x5f, 0x66, 0x6f, 0x6f, 0x64, 0x5f, 0x69, 0x6e, 0x74, 0x61, 0x6b, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x64, 0x72, 0x79, 0x46, 0x6f, 0x6f, 0x64, 0x49, 0x6e, 0x74, 0x61, 0x6b, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x6d, 0x6a, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x6d, 0x6a, 0x46, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1e, 0x0a, 0x0b, 0x6d, 0x6a, 0x5f, 0x74, 0x6d, 0x72, 0x5f, 0x66, 0x65, 0x65, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x6d, 0x6a, 0x54, 0x6d, 0x72, 0x46, 0x65, 0x65, 0x64, 0x12, 0x24, 0x0a, 0x0e, 0x6d, 0x6a, 0x5f, 0x66, 0x6f, 0x6f, 0x64, 0x5f, 0x69, 0x6e, 0x74, 0x61, 0x6b, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x6d, 0x6a, 0x46, 0x6f, 0x6f, 0x64, 0x49, 0x6e, 0x74, 0x61, 0x6b, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x6e, 0x6e, 0x64, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x6e, 0x6e, 0x64, 0x46, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x20, 0x0a, 0x0c, 0x6e, 0x6e, 0x64, 0x5f, 0x74, 0x6d, 0x72, 0x5f, 0x66, 0x65, 0x65, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6e, 0x6e, 0x64, 0x54, 0x6d, 0x72, 0x46, 0x65, 0x65, 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x6e, 0x64, 0x5f, 0x66, 0x6f, 0x6f, 0x64, 0x5f, 0x69, 0x6e, 0x74, 0x61, 0x6b, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x6e, 0x6e, 0x64, 0x46, 0x6f, 0x6f, 0x64, 0x49, 0x6e, 0x74, 0x61, 0x6b, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x63, 0x70, 0x67, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x11, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x63, 0x70, 0x67, 0x46, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x20, 0x0a, 0x0c, 0x63, 0x70, 0x67, 0x5f, 0x74, 0x6d, 0x72, 0x5f, 0x66, 0x65, 0x65, 0x64, 0x18, 0x12, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x63, 0x70, 0x67, 0x54, 0x6d, 0x72, 0x46, 0x65, 0x65, 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x63, 0x70, 0x67, 0x5f, 0x66, 0x6f, 0x6f, 0x64, 0x5f, 0x69, 0x6e, 0x74, 0x61, 0x6b, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x63, 0x70, 0x67, 0x46, 0x6f, 0x6f, 0x64, 0x49, 0x6e, 0x74, 0x61, 0x6b, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x70, 0x67, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x14, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x70, 0x67, 0x46, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1e, 0x0a, 0x0b, 0x70, 0x67, 0x5f, 0x74, 0x6d, 0x72, 0x5f, 0x66, 0x65, 0x65, 0x64, 0x18, 0x15, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x70, 0x67, 0x54, 0x6d, 0x72, 0x46, 0x65, 0x65, 0x64, 0x12, 0x24, 0x0a, 0x0e, 0x70, 0x67, 0x5f, 0x66, 0x6f, 0x6f, 0x64, 0x5f, 0x69, 0x6e, 0x74, 0x61, 0x6b, 0x65, 0x18, 0x16, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x70, 0x67, 0x46, 0x6f, 0x6f, 0x64, 0x49, 0x6e, 0x74, 0x61, 0x6b, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x64, 0x6d, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x17, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x64, 0x6d, 0x46, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1e, 0x0a, 0x0b, 0x64, 0x6d, 0x5f, 0x74, 0x6d, 0x72, 0x5f, 0x66, 0x65, 0x65, 0x64, 0x18, 0x18, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x64, 0x6d, 0x54, 0x6d, 0x72, 0x46, 0x65, 0x65, 0x64, 0x12, 0x24, 0x0a, 0x0e, 0x64, 0x6d, 0x5f, 0x66, 0x6f, 0x6f, 0x64, 0x5f, 0x69, 0x6e, 0x74, 0x61, 0x6b, 0x65, 0x18, 0x19, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x64, 0x6d, 0x46, 0x6f, 0x6f, 0x64, 0x49, 0x6e, 0x74, 0x61, 0x6b, 0x65, 0x12, 0x2e, 0x0a, 0x13, 0x63, 0x70, 0x64, 0x6d, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x11, 0x63, 0x70, 0x64, 0x6d, 0x46, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x22, 0x0a, 0x0d, 0x63, 0x70, 0x64, 0x6d, 0x5f, 0x74, 0x6d, 0x72, 0x5f, 0x66, 0x65, 0x65, 0x64, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x63, 0x70, 0x64, 0x6d, 0x54, 0x6d, 0x72, 0x46, 0x65, 0x65, 0x64, 0x12, 0x28, 0x0a, 0x10, 0x63, 0x70, 0x64, 0x6d, 0x5f, 0x66, 0x6f, 0x6f, 0x64, 0x5f, 0x69, 0x6e, 0x74, 0x61, 0x6b, 0x65, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x63, 0x70, 0x64, 0x6d, 0x46, 0x6f, 0x6f, 0x64, 0x49, 0x6e, 0x74, 0x61, 0x6b, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x66, 0x61, 0x74, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x66, 0x61, 0x74, 0x46, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x20, 0x0a, 0x0c, 0x66, 0x61, 0x74, 0x5f, 0x74, 0x6d, 0x72, 0x5f, 0x66, 0x65, 0x65, 0x64, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x66, 0x61, 0x74, 0x54, 0x6d, 0x72, 0x46, 0x65, 0x65, 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x66, 0x61, 0x74, 0x5f, 0x66, 0x6f, 0x6f, 0x64, 0x5f, 0x69, 0x6e, 0x74, 0x61, 0x6b, 0x65, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x66, 0x61, 0x74, 0x46, 0x6f, 0x6f, 0x64, 0x49, 0x6e, 0x74, 0x61, 0x6b, 0x65, 0x12, 0x32, 0x0a, 0x15, 0x73, 0x74, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x20, 0x20, 0x01, 0x28, 0x05, 0x52, 0x13, 0x73, 0x74, 0x61, 0x72, 0x63, 0x68, 0x46, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x26, 0x0a, 0x0f, 0x73, 0x74, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x74, 0x6d, 0x72, 0x5f, 0x66, 0x65, 0x65, 0x64, 0x18, 0x21, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x73, 0x74, 0x61, 0x72, 0x63, 0x68, 0x54, 0x6d, 0x72, 0x46, 0x65, 0x65, 0x64, 0x12, 0x2c, 0x0a, 0x12, 0x73, 0x74, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x66, 0x6f, 0x6f, 0x64, 0x5f, 0x69, 0x6e, 0x74, 0x61, 0x6b, 0x65, 0x18, 0x22, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x73, 0x74, 0x61, 0x72, 0x63, 0x68, 0x46, 0x6f, 0x6f, 0x64, 0x49, 0x6e, 0x74, 0x61, 0x6b, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x6e, 0x64, 0x66, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x23, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x6e, 0x64, 0x66, 0x46, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x20, 0x0a, 0x0c, 0x6e, 0x64, 0x66, 0x5f, 0x74, 0x6d, 0x72, 0x5f, 0x66, 0x65, 0x65, 0x64, 0x18, 0x24, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6e, 0x64, 0x66, 0x54, 0x6d, 0x72, 0x46, 0x65, 0x65, 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x64, 0x66, 0x5f, 0x66, 0x6f, 0x6f, 0x64, 0x5f, 0x69, 0x6e, 0x74, 0x61, 0x6b, 0x65, 0x18, 0x25, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x6e, 0x64, 0x66, 0x46, 0x6f, 0x6f, 0x64, 0x49, 0x6e, 0x74, 0x61, 0x6b, 0x65, 0x12, 0x31, 0x0a, 0x15, 0x63, 0x70, 0x5f, 0x6e, 0x64, 0x66, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x26, 0x20, 0x01, 0x28, 0x05, 0x52, 0x12, 0x63, 0x70, 0x4e, 0x64, 0x66, 0x46, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x25, 0x0a, 0x0f, 0x63, 0x70, 0x5f, 0x6e, 0x64, 0x66, 0x5f, 0x74, 0x6d, 0x72, 0x5f, 0x66, 0x65, 0x65, 0x64, 0x18, 0x27, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x63, 0x70, 0x4e, 0x64, 0x66, 0x54, 0x6d, 0x72, 0x46, 0x65, 0x65, 0x64, 0x12, 0x2b, 0x0a, 0x12, 0x63, 0x70, 0x5f, 0x6e, 0x64, 0x66, 0x5f, 0x66, 0x6f, 0x6f, 0x64, 0x5f, 0x69, 0x6e, 0x74, 0x61, 0x6b, 0x65, 0x18, 0x28, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x63, 0x70, 0x4e, 0x64, 0x66, 0x46, 0x6f, 0x6f, 0x64, 0x49, 0x6e, 0x74, 0x61, 0x6b, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x61, 0x64, 0x66, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x29, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x61, 0x64, 0x66, 0x46, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x20, 0x0a, 0x0c, 0x61, 0x64, 0x66, 0x5f, 0x74, 0x6d, 0x72, 0x5f, 0x66, 0x65, 0x65, 0x64, 0x18, 0x2a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x61, 0x64, 0x66, 0x54, 0x6d, 0x72, 0x46, 0x65, 0x65, 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x61, 0x64, 0x66, 0x5f, 0x66, 0x6f, 0x6f, 0x64, 0x5f, 0x69, 0x6e, 0x74, 0x61, 0x6b, 0x65, 0x18, 0x2b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x61, 0x64, 0x66, 0x46, 0x6f, 0x6f, 0x64, 0x49, 0x6e, 0x74, 0x61, 0x6b, 0x65, 0x12, 0x34, 0x0a, 0x16, 0x63, 0x61, 0x6c, 0x63, 0x69, 0x75, 0x6d, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x2c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x14, 0x63, 0x61, 0x6c, 0x63, 0x69, 0x75, 0x6d, 0x46, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x28, 0x0a, 0x10, 0x63, 0x61, 0x6c, 0x63, 0x69, 0x75, 0x6d, 0x5f, 0x74, 0x6d, 0x72, 0x5f, 0x66, 0x65, 0x65, 0x64, 0x18, 0x2d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x63, 0x61, 0x6c, 0x63, 0x69, 0x75, 0x6d, 0x54, 0x6d, 0x72, 0x46, 0x65, 0x65, 0x64, 0x12, 0x2e, 0x0a, 0x13, 0x63, 0x61, 0x6c, 0x63, 0x69, 0x75, 0x6d, 0x5f, 0x66, 0x6f, 0x6f, 0x64, 0x5f, 0x69, 0x6e, 0x74, 0x61, 0x6b, 0x65, 0x18, 0x2e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x11, 0x63, 0x61, 0x6c, 0x63, 0x69, 0x75, 0x6d, 0x46, 0x6f, 0x6f, 0x64, 0x49, 0x6e, 0x74, 0x61, 0x6b, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x70, 0x64, 0x6d, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x2f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x70, 0x64, 0x6d, 0x46, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x20, 0x0a, 0x0c, 0x70, 0x64, 0x6d, 0x5f, 0x74, 0x6d, 0x72, 0x5f, 0x66, 0x65, 0x65, 0x64, 0x18, 0x30, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x70, 0x64, 0x6d, 0x54, 0x6d, 0x72, 0x46, 0x65, 0x65, 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x70, 0x64, 0x6d, 0x5f, 0x66, 0x6f, 0x6f, 0x64, 0x5f, 0x69, 0x6e, 0x74, 0x61, 0x6b, 0x65, 0x18, 0x31, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x70, 0x64, 0x6d, 0x46, 0x6f, 0x6f, 0x64, 0x49, 0x6e, 0x74, 0x61, 0x6b, 0x65, 0x12, 0x35, 0x0a, 0x17, 0x63, 0x66, 0x5f, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x32, 0x20, 0x01, 0x28, 0x05, 0x52, 0x14, 0x63, 0x66, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x46, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x29, 0x0a, 0x11, 0x63, 0x66, 0x5f, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x5f, 0x74, 0x6d, 0x72, 0x5f, 0x66, 0x65, 0x65, 0x64, 0x18, 0x33, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x63, 0x66, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x54, 0x6d, 0x72, 0x46, 0x65, 0x65, 0x64, 0x12, 0x2f, 0x0a, 0x14, 0x63, 0x66, 0x5f, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x5f, 0x66, 0x6f, 0x6f, 0x64, 0x5f, 0x69, 0x6e, 0x74, 0x61, 0x6b, 0x65, 0x18, 0x34, 0x20, 0x01, 0x28, 0x05, 0x52, 0x11, 0x63, 0x66, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x46, 0x6f, 0x6f, 0x64, 0x49, 0x6e, 0x74, 0x61, 0x6b, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x35, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x2a, 0x0a, 0x11, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x36, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x22, 0xd1, 0x01, 0x0a, 0x1c, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x46, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x45, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x42, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x2e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x83, 0x01, 0x0a, 0x1d, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x46, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x45, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x3c, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x2e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x46, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x45, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0xa0, 0x01, 0x0a, 0x15, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x46, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x45, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x40, 0x0a, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x2e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x41, 0x64, 0x64, 0x46, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x45, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x22, 0x8b, 0x02, 0x0a, 0x1d, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x41, 0x63, 0x63, 0x75, 0x72, 0x61, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x67, 0x0a, 0x19, 0x63, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x5f, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x2e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x43, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2e, 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x16, 0x63, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x66, 0x65, 0x65, 0x64, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x66, 0x65, 0x65, 0x64, 0x46, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x44, 0x61, 0x74, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x44, 0x61, 0x74, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x61, 0x73, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0a, 0x70, 0x61, 0x73, 0x74, 0x75, 0x72, 0x65, 0x49, 0x64, 0x73, 0x22, 0x7f, 0x0a, 0x1e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x41, 0x63, 0x63, 0x75, 0x72, 0x61, 0x63, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x37, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x2e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x41, 0x63, 0x63, 0x75, 0x72, 0x61, 0x63, 0x79, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x72, 0x0a, 0x10, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x41, 0x63, 0x63, 0x75, 0x72, 0x61, 0x63, 0x79, 0x12, 0x2e, 0x0a, 0x05, 0x63, 0x68, 0x61, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x2e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x43, 0x68, 0x61, 0x72, 0x74, 0x52, 0x05, 0x63, 0x68, 0x61, 0x72, 0x74, 0x12, 0x2e, 0x0a, 0x05, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x2e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x05, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x22, 0x9f, 0x03, 0x0a, 0x05, 0x43, 0x68, 0x61, 0x72, 0x74, 0x12, 0x62, 0x0a, 0x1b, 0x6d, 0x69, 0x78, 0x65, 0x64, 0x5f, 0x66, 0x6f, 0x64, 0x64, 0x65, 0x72, 0x5f, 0x61, 0x63, 0x63, 0x75, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x2e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x52, 0x18, 0x6d, 0x69, 0x78, 0x65, 0x64, 0x46, 0x6f, 0x64, 0x64, 0x65, 0x72, 0x41, 0x63, 0x63, 0x75, 0x72, 0x61, 0x74, 0x65, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x12, 0x60, 0x0a, 0x1a, 0x6d, 0x69, 0x78, 0x65, 0x64, 0x5f, 0x66, 0x6f, 0x64, 0x64, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x72, 0x72, 0x65, 0x63, 0x74, 0x5f, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x2e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x52, 0x17, 0x6d, 0x69, 0x78, 0x65, 0x64, 0x46, 0x6f, 0x64, 0x64, 0x65, 0x72, 0x43, 0x6f, 0x72, 0x72, 0x65, 0x63, 0x74, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x12, 0x68, 0x0a, 0x1e, 0x73, 0x70, 0x72, 0x69, 0x6e, 0x6b, 0x6c, 0x65, 0x5f, 0x66, 0x6f, 0x64, 0x64, 0x65, 0x72, 0x5f, 0x61, 0x63, 0x63, 0x75, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x2e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x52, 0x1b, 0x73, 0x70, 0x72, 0x69, 0x6e, 0x6b, 0x6c, 0x65, 0x46, 0x6f, 0x64, 0x64, 0x65, 0x72, 0x41, 0x63, 0x63, 0x75, 0x72, 0x61, 0x74, 0x65, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x12, 0x66, 0x0a, 0x1d, 0x73, 0x70, 0x72, 0x69, 0x6e, 0x6b, 0x6c, 0x65, 0x5f, 0x66, 0x6f, 0x64, 0x64, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x72, 0x72, 0x65, 0x63, 0x74, 0x5f, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x2e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x52, 0x1a, 0x73, 0x70, 0x72, 0x69, 0x6e, 0x6b, 0x6c, 0x65, 0x46, 0x6f, 0x64, 0x64, 0x65, 0x72, 0x43, 0x6f, 0x72, 0x72, 0x65, 0x63, 0x74, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x22, 0x7b, 0x0a, 0x05, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x41, 0x0a, 0x0a, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x2e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x09, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x1a, 0x2f, 0x0a, 0x09, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xe9, 0x01, 0x0a, 0x10, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x78, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x78, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x6d, 0x69, 0x64, 0x64, 0x6c, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6d, 0x69, 0x64, 0x64, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x69, 0x6e, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x69, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x3a, 0x0a, 0x09, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x2e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x52, 0x08, 0x64, 0x61, 0x74, 0x61, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x61, 0x73, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x61, 0x73, 0x74, 0x75, 0x72, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x64, 0x61, 0x79, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x64, 0x61, 0x74, 0x65, 0x44, 0x61, 0x79, 0x22, 0x2d, 0x0a, 0x0a, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x12, 0x1f, 0x0a, 0x0b, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x42, 0x0f, 0x5a, 0x0d, 0x2e, 0x3b, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_backend_operation_statistic_proto_rawDescOnce sync.Once file_backend_operation_statistic_proto_rawDescData = file_backend_operation_statistic_proto_rawDesc ) func file_backend_operation_statistic_proto_rawDescGZIP() []byte { file_backend_operation_statistic_proto_rawDescOnce.Do(func() { file_backend_operation_statistic_proto_rawDescData = protoimpl.X.CompressGZIP(file_backend_operation_statistic_proto_rawDescData) }) return file_backend_operation_statistic_proto_rawDescData } var file_backend_operation_statistic_proto_msgTypes = make([]protoimpl.MessageInfo, 12) var file_backend_operation_statistic_proto_goTypes = []interface{}{ (*AddFormulaEstimateRequest)(nil), // 0: backend.operation.AddFormulaEstimateRequest (*SearchFormulaEstimateRequest)(nil), // 1: backend.operation.SearchFormulaEstimateRequest (*SearchFormulaEstimateResponse)(nil), // 2: backend.operation.SearchFormulaEstimateResponse (*SearchFormulaEstimate)(nil), // 3: backend.operation.SearchFormulaEstimate (*SearchAnalysisAccuracyRequest)(nil), // 4: backend.operation.SearchAnalysisAccuracyRequest (*SearchAnalysisAccuracyResponse)(nil), // 5: backend.operation.SearchAnalysisAccuracyResponse (*AnalysisAccuracy)(nil), // 6: backend.operation.AnalysisAccuracy (*Chart)(nil), // 7: backend.operation.Chart (*Table)(nil), // 8: backend.operation.Table (*CommonValueRatio)(nil), // 9: backend.operation.CommonValueRatio (*ValueRatio)(nil), // 10: backend.operation.ValueRatio (*Table_TableList)(nil), // 11: backend.operation.Table.TableList (*PaginationModel)(nil), // 12: backend.operation.PaginationModel (CattleCategoryParent_Kind)(0), // 13: backend.operation.CattleCategoryParent.Kind } var file_backend_operation_statistic_proto_depIdxs = []int32{ 12, // 0: backend.operation.SearchFormulaEstimateRequest.pagination:type_name -> backend.operation.PaginationModel 3, // 1: backend.operation.SearchFormulaEstimateResponse.data:type_name -> backend.operation.SearchFormulaEstimate 0, // 2: backend.operation.SearchFormulaEstimate.list:type_name -> backend.operation.AddFormulaEstimateRequest 13, // 3: backend.operation.SearchAnalysisAccuracyRequest.cattle_parent_category_id:type_name -> backend.operation.CattleCategoryParent.Kind 6, // 4: backend.operation.SearchAnalysisAccuracyResponse.data:type_name -> backend.operation.AnalysisAccuracy 7, // 5: backend.operation.AnalysisAccuracy.chart:type_name -> backend.operation.Chart 8, // 6: backend.operation.AnalysisAccuracy.table:type_name -> backend.operation.Table 9, // 7: backend.operation.Chart.mixed_fodder_accurate_ratio:type_name -> backend.operation.CommonValueRatio 9, // 8: backend.operation.Chart.mixed_fodder_correct_ratio:type_name -> backend.operation.CommonValueRatio 9, // 9: backend.operation.Chart.sprinkle_fodder_accurate_ratio:type_name -> backend.operation.CommonValueRatio 9, // 10: backend.operation.Chart.sprinkle_fodder_correct_ratio:type_name -> backend.operation.CommonValueRatio 11, // 11: backend.operation.Table.table_list:type_name -> backend.operation.Table.TableList 10, // 12: backend.operation.CommonValueRatio.data_list:type_name -> backend.operation.ValueRatio 13, // [13:13] is the sub-list for method output_type 13, // [13:13] is the sub-list for method input_type 13, // [13:13] is the sub-list for extension type_name 13, // [13:13] is the sub-list for extension extendee 0, // [0:13] is the sub-list for field type_name } func init() { file_backend_operation_statistic_proto_init() } func file_backend_operation_statistic_proto_init() { if File_backend_operation_statistic_proto != nil { return } file_backend_operation_pagination_proto_init() file_backend_operation_enum_proto_init() if !protoimpl.UnsafeEnabled { file_backend_operation_statistic_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AddFormulaEstimateRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_backend_operation_statistic_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SearchFormulaEstimateRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_backend_operation_statistic_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SearchFormulaEstimateResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_backend_operation_statistic_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SearchFormulaEstimate); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_backend_operation_statistic_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SearchAnalysisAccuracyRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_backend_operation_statistic_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SearchAnalysisAccuracyResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_backend_operation_statistic_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AnalysisAccuracy); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_backend_operation_statistic_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Chart); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_backend_operation_statistic_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Table); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_backend_operation_statistic_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CommonValueRatio); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_backend_operation_statistic_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ValueRatio); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_backend_operation_statistic_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Table_TableList); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_backend_operation_statistic_proto_rawDesc, NumEnums: 0, NumMessages: 12, NumExtensions: 0, NumServices: 0, }, GoTypes: file_backend_operation_statistic_proto_goTypes, DependencyIndexes: file_backend_operation_statistic_proto_depIdxs, MessageInfos: file_backend_operation_statistic_proto_msgTypes, }.Build() File_backend_operation_statistic_proto = out.File file_backend_operation_statistic_proto_rawDesc = nil file_backend_operation_statistic_proto_goTypes = nil file_backend_operation_statistic_proto_depIdxs = nil }