// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.28.1 // protoc v3.21.9 // source: backend/operation/pasture.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) ) type AddPastureRequest 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"` // 牧场名称 Account string `protobuf:"bytes,3,opt,name=account,proto3" json:"account,omitempty"` // 登录账号名称 ManagerUser string `protobuf:"bytes,4,opt,name=manager_user,json=managerUser,proto3" json:"manager_user,omitempty"` // 牧场负责人名称 ManagerPhone string `protobuf:"bytes,5,opt,name=manager_phone,json=managerPhone,proto3" json:"manager_phone,omitempty"` // 牧场负责人手机号 Address string `protobuf:"bytes,6,opt,name=address,proto3" json:"address,omitempty"` // 牧场地址 IsShow IsShow_Kind `protobuf:"varint,7,opt,name=is_show,json=isShow,proto3,enum=backend.operation.IsShow_Kind" json:"is_show,omitempty"` // 是否启用 CreatedAt int32 `protobuf:"varint,8,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` // 创建时间 CreatedAtFormat string `protobuf:"bytes,9,opt,name=created_at_format,json=createdAtFormat,proto3" json:"created_at_format,omitempty"` // 创建时间格式化 } func (x *AddPastureRequest) Reset() { *x = AddPastureRequest{} if protoimpl.UnsafeEnabled { mi := &file_backend_operation_pasture_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *AddPastureRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*AddPastureRequest) ProtoMessage() {} func (x *AddPastureRequest) ProtoReflect() protoreflect.Message { mi := &file_backend_operation_pasture_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 AddPastureRequest.ProtoReflect.Descriptor instead. func (*AddPastureRequest) Descriptor() ([]byte, []int) { return file_backend_operation_pasture_proto_rawDescGZIP(), []int{0} } func (x *AddPastureRequest) GetId() int32 { if x != nil { return x.Id } return 0 } func (x *AddPastureRequest) GetName() string { if x != nil { return x.Name } return "" } func (x *AddPastureRequest) GetAccount() string { if x != nil { return x.Account } return "" } func (x *AddPastureRequest) GetManagerUser() string { if x != nil { return x.ManagerUser } return "" } func (x *AddPastureRequest) GetManagerPhone() string { if x != nil { return x.ManagerPhone } return "" } func (x *AddPastureRequest) GetAddress() string { if x != nil { return x.Address } return "" } func (x *AddPastureRequest) GetIsShow() IsShow_Kind { if x != nil { return x.IsShow } return IsShow_INVALID } func (x *AddPastureRequest) GetCreatedAt() int32 { if x != nil { return x.CreatedAt } return 0 } func (x *AddPastureRequest) GetCreatedAtFormat() string { if x != nil { return x.CreatedAtFormat } return "" } type SearchPastureRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // 牧场名称 ManagerUser string `protobuf:"bytes,2,opt,name=manager_user,json=managerUser,proto3" json:"manager_user,omitempty"` // 牧场负责人名称 ManagerPhone string `protobuf:"bytes,3,opt,name=manager_phone,json=managerPhone,proto3" json:"manager_phone,omitempty"` // 牧场负责人手机号 StartTime uint32 `protobuf:"varint,4,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"` // 开始时间 EndTime uint32 `protobuf:"varint,5,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"` // 结束时间 Pagination *PaginationModel `protobuf:"bytes,6,opt,name=pagination,proto3" json:"pagination,omitempty"` // 分页 } func (x *SearchPastureRequest) Reset() { *x = SearchPastureRequest{} if protoimpl.UnsafeEnabled { mi := &file_backend_operation_pasture_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SearchPastureRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*SearchPastureRequest) ProtoMessage() {} func (x *SearchPastureRequest) ProtoReflect() protoreflect.Message { mi := &file_backend_operation_pasture_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 SearchPastureRequest.ProtoReflect.Descriptor instead. func (*SearchPastureRequest) Descriptor() ([]byte, []int) { return file_backend_operation_pasture_proto_rawDescGZIP(), []int{1} } func (x *SearchPastureRequest) GetName() string { if x != nil { return x.Name } return "" } func (x *SearchPastureRequest) GetManagerUser() string { if x != nil { return x.ManagerUser } return "" } func (x *SearchPastureRequest) GetManagerPhone() string { if x != nil { return x.ManagerPhone } return "" } func (x *SearchPastureRequest) GetStartTime() uint32 { if x != nil { return x.StartTime } return 0 } func (x *SearchPastureRequest) GetEndTime() uint32 { if x != nil { return x.EndTime } return 0 } func (x *SearchPastureRequest) GetPagination() *PaginationModel { if x != nil { return x.Pagination } return nil } type SearchPastureResponse 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 *SearchPastureData `protobuf:"bytes,3,opt,name=data,proto3" json:"data,omitempty"` } func (x *SearchPastureResponse) Reset() { *x = SearchPastureResponse{} if protoimpl.UnsafeEnabled { mi := &file_backend_operation_pasture_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SearchPastureResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*SearchPastureResponse) ProtoMessage() {} func (x *SearchPastureResponse) ProtoReflect() protoreflect.Message { mi := &file_backend_operation_pasture_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 SearchPastureResponse.ProtoReflect.Descriptor instead. func (*SearchPastureResponse) Descriptor() ([]byte, []int) { return file_backend_operation_pasture_proto_rawDescGZIP(), []int{2} } func (x *SearchPastureResponse) GetCode() int32 { if x != nil { return x.Code } return 0 } func (x *SearchPastureResponse) GetMsg() string { if x != nil { return x.Msg } return "" } func (x *SearchPastureResponse) GetData() *SearchPastureData { if x != nil { return x.Data } return nil } type SearchPastureData 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 []*AddPastureRequest `protobuf:"bytes,4,rep,name=list,proto3" json:"list,omitempty"` } func (x *SearchPastureData) Reset() { *x = SearchPastureData{} if protoimpl.UnsafeEnabled { mi := &file_backend_operation_pasture_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SearchPastureData) String() string { return protoimpl.X.MessageStringOf(x) } func (*SearchPastureData) ProtoMessage() {} func (x *SearchPastureData) ProtoReflect() protoreflect.Message { mi := &file_backend_operation_pasture_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 SearchPastureData.ProtoReflect.Descriptor instead. func (*SearchPastureData) Descriptor() ([]byte, []int) { return file_backend_operation_pasture_proto_rawDescGZIP(), []int{3} } func (x *SearchPastureData) GetPage() int32 { if x != nil { return x.Page } return 0 } func (x *SearchPastureData) GetTotal() int32 { if x != nil { return x.Total } return 0 } func (x *SearchPastureData) GetPageSize() int32 { if x != nil { return x.PageSize } return 0 } func (x *SearchPastureData) GetList() []*AddPastureRequest { if x != nil { return x.List } return nil } type UserPasture 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 *UserPasture) Reset() { *x = UserPasture{} if protoimpl.UnsafeEnabled { mi := &file_backend_operation_pasture_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UserPasture) String() string { return protoimpl.X.MessageStringOf(x) } func (*UserPasture) ProtoMessage() {} func (x *UserPasture) ProtoReflect() protoreflect.Message { mi := &file_backend_operation_pasture_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 UserPasture.ProtoReflect.Descriptor instead. func (*UserPasture) Descriptor() ([]byte, []int) { return file_backend_operation_pasture_proto_rawDescGZIP(), []int{4} } func (x *UserPasture) GetId() int32 { if x != nil { return x.Id } return 0 } func (x *UserPasture) GetName() string { if x != nil { return x.Name } return "" } type IsShowGroupPasture struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields PastureId int32 `protobuf:"varint,1,opt,name=pasture_id,json=pastureId,proto3" json:"pasture_id,omitempty"` // 牧场id IsShow IsShow_Kind `protobuf:"varint,2,opt,name=is_show,json=isShow,proto3,enum=backend.operation.IsShow_Kind" json:"is_show,omitempty"` // 是否开启 } func (x *IsShowGroupPasture) Reset() { *x = IsShowGroupPasture{} if protoimpl.UnsafeEnabled { mi := &file_backend_operation_pasture_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *IsShowGroupPasture) String() string { return protoimpl.X.MessageStringOf(x) } func (*IsShowGroupPasture) ProtoMessage() {} func (x *IsShowGroupPasture) ProtoReflect() protoreflect.Message { mi := &file_backend_operation_pasture_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 IsShowGroupPasture.ProtoReflect.Descriptor instead. func (*IsShowGroupPasture) Descriptor() ([]byte, []int) { return file_backend_operation_pasture_proto_rawDescGZIP(), []int{5} } func (x *IsShowGroupPasture) GetPastureId() int32 { if x != nil { return x.PastureId } return 0 } func (x *IsShowGroupPasture) GetIsShow() IsShow_Kind { if x != nil { return x.IsShow } return IsShow_INVALID } // 添加牧畜分类 type AddCattleCategoryRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id uint32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` ParentId CattleCategoryParent_Kind `protobuf:"varint,2,opt,name=parent_id,json=parentId,proto3,enum=backend.operation.CattleCategoryParent_Kind" json:"parent_id,omitempty"` // 父类id ParentName string `protobuf:"bytes,3,opt,name=parent_name,json=parentName,proto3" json:"parent_name,omitempty"` // 父类名称 Name string `protobuf:"bytes,4,opt,name=name,proto3" json:"name,omitempty"` // 牧畜分类名称 Number string `protobuf:"bytes,5,opt,name=number,proto3" json:"number,omitempty"` // 畜牧类别编号 IsShow IsShow_Kind `protobuf:"varint,6,opt,name=is_show,json=isShow,proto3,enum=backend.operation.IsShow_Kind" json:"is_show,omitempty"` // 是否启用 CreatedAt uint32 `protobuf:"varint,7,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` // 创建时间 CreatedAtFormat string `protobuf:"bytes,8,opt,name=created_at_format,json=createdAtFormat,proto3" json:"created_at_format,omitempty"` // 创建时间格式 } func (x *AddCattleCategoryRequest) Reset() { *x = AddCattleCategoryRequest{} if protoimpl.UnsafeEnabled { mi := &file_backend_operation_pasture_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *AddCattleCategoryRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*AddCattleCategoryRequest) ProtoMessage() {} func (x *AddCattleCategoryRequest) ProtoReflect() protoreflect.Message { mi := &file_backend_operation_pasture_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 AddCattleCategoryRequest.ProtoReflect.Descriptor instead. func (*AddCattleCategoryRequest) Descriptor() ([]byte, []int) { return file_backend_operation_pasture_proto_rawDescGZIP(), []int{6} } func (x *AddCattleCategoryRequest) GetId() uint32 { if x != nil { return x.Id } return 0 } func (x *AddCattleCategoryRequest) GetParentId() CattleCategoryParent_Kind { if x != nil { return x.ParentId } return CattleCategoryParent_INVALID } func (x *AddCattleCategoryRequest) GetParentName() string { if x != nil { return x.ParentName } return "" } func (x *AddCattleCategoryRequest) GetName() string { if x != nil { return x.Name } return "" } func (x *AddCattleCategoryRequest) GetNumber() string { if x != nil { return x.Number } return "" } func (x *AddCattleCategoryRequest) GetIsShow() IsShow_Kind { if x != nil { return x.IsShow } return IsShow_INVALID } func (x *AddCattleCategoryRequest) GetCreatedAt() uint32 { if x != nil { return x.CreatedAt } return 0 } func (x *AddCattleCategoryRequest) GetCreatedAtFormat() string { if x != nil { return x.CreatedAtFormat } return "" } // 是否启用 type IsShowCattleCategory struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields CattleCategoryId int32 `protobuf:"varint,1,opt,name=cattle_category_id,json=cattleCategoryId,proto3" json:"cattle_category_id,omitempty"` IsShow IsShow_Kind `protobuf:"varint,2,opt,name=is_show,json=isShow,proto3,enum=backend.operation.IsShow_Kind" json:"is_show,omitempty"` } func (x *IsShowCattleCategory) Reset() { *x = IsShowCattleCategory{} if protoimpl.UnsafeEnabled { mi := &file_backend_operation_pasture_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *IsShowCattleCategory) String() string { return protoimpl.X.MessageStringOf(x) } func (*IsShowCattleCategory) ProtoMessage() {} func (x *IsShowCattleCategory) ProtoReflect() protoreflect.Message { mi := &file_backend_operation_pasture_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 IsShowCattleCategory.ProtoReflect.Descriptor instead. func (*IsShowCattleCategory) Descriptor() ([]byte, []int) { return file_backend_operation_pasture_proto_rawDescGZIP(), []int{7} } func (x *IsShowCattleCategory) GetCattleCategoryId() int32 { if x != nil { return x.CattleCategoryId } return 0 } func (x *IsShowCattleCategory) GetIsShow() IsShow_Kind { if x != nil { return x.IsShow } return IsShow_INVALID } // 畜牧分类查询列表 type SearchCattleCategoryRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ParentName string `protobuf:"bytes,1,opt,name=parent_name,json=parentName,proto3" json:"parent_name,omitempty"` IsShow IsShow_Kind `protobuf:"varint,2,opt,name=is_show,json=isShow,proto3,enum=backend.operation.IsShow_Kind" json:"is_show,omitempty"` Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` Pagination *PaginationModel `protobuf:"bytes,4,opt,name=pagination,proto3" json:"pagination,omitempty"` // 分页 } func (x *SearchCattleCategoryRequest) Reset() { *x = SearchCattleCategoryRequest{} if protoimpl.UnsafeEnabled { mi := &file_backend_operation_pasture_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SearchCattleCategoryRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*SearchCattleCategoryRequest) ProtoMessage() {} func (x *SearchCattleCategoryRequest) ProtoReflect() protoreflect.Message { mi := &file_backend_operation_pasture_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 SearchCattleCategoryRequest.ProtoReflect.Descriptor instead. func (*SearchCattleCategoryRequest) Descriptor() ([]byte, []int) { return file_backend_operation_pasture_proto_rawDescGZIP(), []int{8} } func (x *SearchCattleCategoryRequest) GetParentName() string { if x != nil { return x.ParentName } return "" } func (x *SearchCattleCategoryRequest) GetIsShow() IsShow_Kind { if x != nil { return x.IsShow } return IsShow_INVALID } func (x *SearchCattleCategoryRequest) GetName() string { if x != nil { return x.Name } return "" } func (x *SearchCattleCategoryRequest) GetPagination() *PaginationModel { if x != nil { return x.Pagination } return nil } type SearchCattleCategoryResponse 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 *SearchCattleCategoryData `protobuf:"bytes,3,opt,name=data,proto3" json:"data,omitempty"` } func (x *SearchCattleCategoryResponse) Reset() { *x = SearchCattleCategoryResponse{} if protoimpl.UnsafeEnabled { mi := &file_backend_operation_pasture_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SearchCattleCategoryResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*SearchCattleCategoryResponse) ProtoMessage() {} func (x *SearchCattleCategoryResponse) ProtoReflect() protoreflect.Message { mi := &file_backend_operation_pasture_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 SearchCattleCategoryResponse.ProtoReflect.Descriptor instead. func (*SearchCattleCategoryResponse) Descriptor() ([]byte, []int) { return file_backend_operation_pasture_proto_rawDescGZIP(), []int{9} } func (x *SearchCattleCategoryResponse) GetCode() int32 { if x != nil { return x.Code } return 0 } func (x *SearchCattleCategoryResponse) GetMsg() string { if x != nil { return x.Msg } return "" } func (x *SearchCattleCategoryResponse) GetData() *SearchCattleCategoryData { if x != nil { return x.Data } return nil } type SearchCattleCategoryData 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 []*AddCattleCategoryRequest `protobuf:"bytes,4,rep,name=list,proto3" json:"list,omitempty"` } func (x *SearchCattleCategoryData) Reset() { *x = SearchCattleCategoryData{} if protoimpl.UnsafeEnabled { mi := &file_backend_operation_pasture_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SearchCattleCategoryData) String() string { return protoimpl.X.MessageStringOf(x) } func (*SearchCattleCategoryData) ProtoMessage() {} func (x *SearchCattleCategoryData) ProtoReflect() protoreflect.Message { mi := &file_backend_operation_pasture_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 SearchCattleCategoryData.ProtoReflect.Descriptor instead. func (*SearchCattleCategoryData) Descriptor() ([]byte, []int) { return file_backend_operation_pasture_proto_rawDescGZIP(), []int{10} } func (x *SearchCattleCategoryData) GetPage() int32 { if x != nil { return x.Page } return 0 } func (x *SearchCattleCategoryData) GetTotal() int32 { if x != nil { return x.Total } return 0 } func (x *SearchCattleCategoryData) GetPageSize() int32 { if x != nil { return x.PageSize } return 0 } func (x *SearchCattleCategoryData) GetList() []*AddCattleCategoryRequest { if x != nil { return x.List } return nil } // 添加饲料分类 type AddForageCategoryRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id uint32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` ParentId ForageCategoryParent_Kind `protobuf:"varint,2,opt,name=parent_id,json=parentId,proto3,enum=backend.operation.ForageCategoryParent_Kind" json:"parent_id,omitempty"` // 父类id ParentName string `protobuf:"bytes,3,opt,name=parent_name,json=parentName,proto3" json:"parent_name,omitempty"` // 父类名称 Name string `protobuf:"bytes,4,opt,name=name,proto3" json:"name,omitempty"` // 牧畜分类名称 Number string `protobuf:"bytes,5,opt,name=number,proto3" json:"number,omitempty"` // 畜牧类别编号 IsShow IsShow_Kind `protobuf:"varint,6,opt,name=is_show,json=isShow,proto3,enum=backend.operation.IsShow_Kind" json:"is_show,omitempty"` // 是否启用 CreatedAt uint32 `protobuf:"varint,7,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` // 创建时间 CreatedAtFormat string `protobuf:"bytes,8,opt,name=created_at_format,json=createdAtFormat,proto3" json:"created_at_format,omitempty"` // 创建时间格式 } func (x *AddForageCategoryRequest) Reset() { *x = AddForageCategoryRequest{} if protoimpl.UnsafeEnabled { mi := &file_backend_operation_pasture_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *AddForageCategoryRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*AddForageCategoryRequest) ProtoMessage() {} func (x *AddForageCategoryRequest) ProtoReflect() protoreflect.Message { mi := &file_backend_operation_pasture_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 AddForageCategoryRequest.ProtoReflect.Descriptor instead. func (*AddForageCategoryRequest) Descriptor() ([]byte, []int) { return file_backend_operation_pasture_proto_rawDescGZIP(), []int{11} } func (x *AddForageCategoryRequest) GetId() uint32 { if x != nil { return x.Id } return 0 } func (x *AddForageCategoryRequest) GetParentId() ForageCategoryParent_Kind { if x != nil { return x.ParentId } return ForageCategoryParent_INVALID } func (x *AddForageCategoryRequest) GetParentName() string { if x != nil { return x.ParentName } return "" } func (x *AddForageCategoryRequest) GetName() string { if x != nil { return x.Name } return "" } func (x *AddForageCategoryRequest) GetNumber() string { if x != nil { return x.Number } return "" } func (x *AddForageCategoryRequest) GetIsShow() IsShow_Kind { if x != nil { return x.IsShow } return IsShow_INVALID } func (x *AddForageCategoryRequest) GetCreatedAt() uint32 { if x != nil { return x.CreatedAt } return 0 } func (x *AddForageCategoryRequest) GetCreatedAtFormat() string { if x != nil { return x.CreatedAtFormat } return "" } // 是否启用 type IsShowForageCategory struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ForageCategoryId int32 `protobuf:"varint,1,opt,name=forage_category_id,json=forageCategoryId,proto3" json:"forage_category_id,omitempty"` IsShow IsShow_Kind `protobuf:"varint,2,opt,name=is_show,json=isShow,proto3,enum=backend.operation.IsShow_Kind" json:"is_show,omitempty"` } func (x *IsShowForageCategory) Reset() { *x = IsShowForageCategory{} if protoimpl.UnsafeEnabled { mi := &file_backend_operation_pasture_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *IsShowForageCategory) String() string { return protoimpl.X.MessageStringOf(x) } func (*IsShowForageCategory) ProtoMessage() {} func (x *IsShowForageCategory) ProtoReflect() protoreflect.Message { mi := &file_backend_operation_pasture_proto_msgTypes[12] 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 IsShowForageCategory.ProtoReflect.Descriptor instead. func (*IsShowForageCategory) Descriptor() ([]byte, []int) { return file_backend_operation_pasture_proto_rawDescGZIP(), []int{12} } func (x *IsShowForageCategory) GetForageCategoryId() int32 { if x != nil { return x.ForageCategoryId } return 0 } func (x *IsShowForageCategory) GetIsShow() IsShow_Kind { if x != nil { return x.IsShow } return IsShow_INVALID } // 饲料分类查询列表 type SearchForageCategoryRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ParentName string `protobuf:"bytes,1,opt,name=parent_name,json=parentName,proto3" json:"parent_name,omitempty"` IsShow IsShow_Kind `protobuf:"varint,2,opt,name=is_show,json=isShow,proto3,enum=backend.operation.IsShow_Kind" json:"is_show,omitempty"` Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` Number string `protobuf:"bytes,4,opt,name=number,proto3" json:"number,omitempty"` Pagination *PaginationModel `protobuf:"bytes,5,opt,name=pagination,proto3" json:"pagination,omitempty"` // 分页 } func (x *SearchForageCategoryRequest) Reset() { *x = SearchForageCategoryRequest{} if protoimpl.UnsafeEnabled { mi := &file_backend_operation_pasture_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SearchForageCategoryRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*SearchForageCategoryRequest) ProtoMessage() {} func (x *SearchForageCategoryRequest) ProtoReflect() protoreflect.Message { mi := &file_backend_operation_pasture_proto_msgTypes[13] 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 SearchForageCategoryRequest.ProtoReflect.Descriptor instead. func (*SearchForageCategoryRequest) Descriptor() ([]byte, []int) { return file_backend_operation_pasture_proto_rawDescGZIP(), []int{13} } func (x *SearchForageCategoryRequest) GetParentName() string { if x != nil { return x.ParentName } return "" } func (x *SearchForageCategoryRequest) GetIsShow() IsShow_Kind { if x != nil { return x.IsShow } return IsShow_INVALID } func (x *SearchForageCategoryRequest) GetName() string { if x != nil { return x.Name } return "" } func (x *SearchForageCategoryRequest) GetNumber() string { if x != nil { return x.Number } return "" } func (x *SearchForageCategoryRequest) GetPagination() *PaginationModel { if x != nil { return x.Pagination } return nil } type SearchForageCategoryResponse 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 *SearchForageCategoryData `protobuf:"bytes,3,opt,name=data,proto3" json:"data,omitempty"` } func (x *SearchForageCategoryResponse) Reset() { *x = SearchForageCategoryResponse{} if protoimpl.UnsafeEnabled { mi := &file_backend_operation_pasture_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SearchForageCategoryResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*SearchForageCategoryResponse) ProtoMessage() {} func (x *SearchForageCategoryResponse) ProtoReflect() protoreflect.Message { mi := &file_backend_operation_pasture_proto_msgTypes[14] 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 SearchForageCategoryResponse.ProtoReflect.Descriptor instead. func (*SearchForageCategoryResponse) Descriptor() ([]byte, []int) { return file_backend_operation_pasture_proto_rawDescGZIP(), []int{14} } func (x *SearchForageCategoryResponse) GetCode() int32 { if x != nil { return x.Code } return 0 } func (x *SearchForageCategoryResponse) GetMsg() string { if x != nil { return x.Msg } return "" } func (x *SearchForageCategoryResponse) GetData() *SearchForageCategoryData { if x != nil { return x.Data } return nil } type SearchForageCategoryData 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 []*AddForageCategoryRequest `protobuf:"bytes,4,rep,name=list,proto3" json:"list,omitempty"` } func (x *SearchForageCategoryData) Reset() { *x = SearchForageCategoryData{} if protoimpl.UnsafeEnabled { mi := &file_backend_operation_pasture_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SearchForageCategoryData) String() string { return protoimpl.X.MessageStringOf(x) } func (*SearchForageCategoryData) ProtoMessage() {} func (x *SearchForageCategoryData) ProtoReflect() protoreflect.Message { mi := &file_backend_operation_pasture_proto_msgTypes[15] 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 SearchForageCategoryData.ProtoReflect.Descriptor instead. func (*SearchForageCategoryData) Descriptor() ([]byte, []int) { return file_backend_operation_pasture_proto_rawDescGZIP(), []int{15} } func (x *SearchForageCategoryData) GetPage() int32 { if x != nil { return x.Page } return 0 } func (x *SearchForageCategoryData) GetTotal() int32 { if x != nil { return x.Total } return 0 } func (x *SearchForageCategoryData) GetPageSize() int32 { if x != nil { return x.PageSize } return 0 } func (x *SearchForageCategoryData) GetList() []*AddForageCategoryRequest { if x != nil { return x.List } return nil } // 饲料列表 type AddForageRequest 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"` // 饲料名称 CategoryId int32 `protobuf:"varint,3,opt,name=category_id,json=categoryId,proto3" json:"category_id,omitempty"` // 饲料分类id CategoryName string `protobuf:"bytes,4,opt,name=category_name,json=categoryName,proto3" json:"category_name,omitempty"` // 饲料分类名称 MaterialType int32 `protobuf:"varint,5,opt,name=material_type,json=materialType,proto3" json:"material_type,omitempty"` // 物料类型 UniqueEncode string `protobuf:"bytes,7,opt,name=unique_encode,json=uniqueEncode,proto3" json:"unique_encode,omitempty"` // 唯一编码 ForageSourceId ForageSource_Kind `protobuf:"varint,8,opt,name=forage_source_id,json=forageSourceId,proto3,enum=backend.operation.ForageSource_Kind" json:"forage_source_id,omitempty"` // 饲料来源id ForageSourceName string `protobuf:"bytes,9,opt,name=forage_source_name,json=forageSourceName,proto3" json:"forage_source_name,omitempty"` // 饲料来源名称 PlanTypeId ForagePlanType_Kind `protobuf:"varint,10,opt,name=plan_type_id,json=planTypeId,proto3,enum=backend.operation.ForagePlanType_Kind" json:"plan_type_id,omitempty"` // 计划类型id PlanTypeName string `protobuf:"bytes,11,opt,name=plan_type_name,json=planTypeName,proto3" json:"plan_type_name,omitempty"` // 计划类型名称 SmallMaterialScale string `protobuf:"bytes,12,opt,name=small_material_scale,json=smallMaterialScale,proto3" json:"small_material_scale,omitempty"` // 小料称 AllowError int32 `protobuf:"varint,13,opt,name=allow_error,json=allowError,proto3" json:"allow_error,omitempty"` // 允许误差 (单位kg) PackageWeight int32 `protobuf:"varint,14,opt,name=package_weight,json=packageWeight,proto3" json:"package_weight,omitempty"` // 包装重量 (单位kg) Price int32 `protobuf:"varint,15,opt,name=price,proto3" json:"price,omitempty"` // 单价(单位分) JumpWeight int32 `protobuf:"varint,16,opt,name=jump_weight,json=jumpWeight,proto3" json:"jump_weight,omitempty"` // 跳转重量域(单位kg) JumpDelay JumpDelaType_Kind `protobuf:"varint,17,opt,name=jump_delay,json=jumpDelay,proto3,enum=backend.operation.JumpDelaType_Kind" json:"jump_delay,omitempty"` // 跳转延迟 ConfirmStart IsShow_Kind `protobuf:"varint,18,opt,name=confirm_start,json=confirmStart,proto3,enum=backend.operation.IsShow_Kind" json:"confirm_start,omitempty"` // 确认开始 RelayLocations int32 `protobuf:"varint,19,opt,name=relay_locations,json=relayLocations,proto3" json:"relay_locations,omitempty"` // 继电器位置 Jmp IsShow_Kind `protobuf:"varint,20,opt,name=jmp,proto3,enum=backend.operation.IsShow_Kind" json:"jmp,omitempty"` // 无上域 Backup1 string `protobuf:"bytes,21,opt,name=backup1,proto3" json:"backup1,omitempty"` // 备用字段1 Backup2 string `protobuf:"bytes,22,opt,name=backup2,proto3" json:"backup2,omitempty"` // 备用字段2 Backup3 string `protobuf:"bytes,23,opt,name=backup3,proto3" json:"backup3,omitempty"` // 备用字段3 CreatedAt int32 `protobuf:"varint,24,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` // 创建时间 CreatedAtFormat string `protobuf:"bytes,25,opt,name=created_at_format,json=createdAtFormat,proto3" json:"created_at_format,omitempty"` // 创建时间格式化 IsShow IsShow_Kind `protobuf:"varint,26,opt,name=is_show,json=isShow,proto3,enum=backend.operation.IsShow_Kind" json:"is_show,omitempty"` // 是否启用 } func (x *AddForageRequest) Reset() { *x = AddForageRequest{} if protoimpl.UnsafeEnabled { mi := &file_backend_operation_pasture_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *AddForageRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*AddForageRequest) ProtoMessage() {} func (x *AddForageRequest) ProtoReflect() protoreflect.Message { mi := &file_backend_operation_pasture_proto_msgTypes[16] 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 AddForageRequest.ProtoReflect.Descriptor instead. func (*AddForageRequest) Descriptor() ([]byte, []int) { return file_backend_operation_pasture_proto_rawDescGZIP(), []int{16} } func (x *AddForageRequest) GetId() int32 { if x != nil { return x.Id } return 0 } func (x *AddForageRequest) GetName() string { if x != nil { return x.Name } return "" } func (x *AddForageRequest) GetCategoryId() int32 { if x != nil { return x.CategoryId } return 0 } func (x *AddForageRequest) GetCategoryName() string { if x != nil { return x.CategoryName } return "" } func (x *AddForageRequest) GetMaterialType() int32 { if x != nil { return x.MaterialType } return 0 } func (x *AddForageRequest) GetUniqueEncode() string { if x != nil { return x.UniqueEncode } return "" } func (x *AddForageRequest) GetForageSourceId() ForageSource_Kind { if x != nil { return x.ForageSourceId } return ForageSource_INVALID } func (x *AddForageRequest) GetForageSourceName() string { if x != nil { return x.ForageSourceName } return "" } func (x *AddForageRequest) GetPlanTypeId() ForagePlanType_Kind { if x != nil { return x.PlanTypeId } return ForagePlanType_INVALID } func (x *AddForageRequest) GetPlanTypeName() string { if x != nil { return x.PlanTypeName } return "" } func (x *AddForageRequest) GetSmallMaterialScale() string { if x != nil { return x.SmallMaterialScale } return "" } func (x *AddForageRequest) GetAllowError() int32 { if x != nil { return x.AllowError } return 0 } func (x *AddForageRequest) GetPackageWeight() int32 { if x != nil { return x.PackageWeight } return 0 } func (x *AddForageRequest) GetPrice() int32 { if x != nil { return x.Price } return 0 } func (x *AddForageRequest) GetJumpWeight() int32 { if x != nil { return x.JumpWeight } return 0 } func (x *AddForageRequest) GetJumpDelay() JumpDelaType_Kind { if x != nil { return x.JumpDelay } return JumpDelaType_INVALID } func (x *AddForageRequest) GetConfirmStart() IsShow_Kind { if x != nil { return x.ConfirmStart } return IsShow_INVALID } func (x *AddForageRequest) GetRelayLocations() int32 { if x != nil { return x.RelayLocations } return 0 } func (x *AddForageRequest) GetJmp() IsShow_Kind { if x != nil { return x.Jmp } return IsShow_INVALID } func (x *AddForageRequest) GetBackup1() string { if x != nil { return x.Backup1 } return "" } func (x *AddForageRequest) GetBackup2() string { if x != nil { return x.Backup2 } return "" } func (x *AddForageRequest) GetBackup3() string { if x != nil { return x.Backup3 } return "" } func (x *AddForageRequest) GetCreatedAt() int32 { if x != nil { return x.CreatedAt } return 0 } func (x *AddForageRequest) GetCreatedAtFormat() string { if x != nil { return x.CreatedAtFormat } return "" } func (x *AddForageRequest) GetIsShow() IsShow_Kind { if x != nil { return x.IsShow } return IsShow_INVALID } type SearchForageListRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // 饲料名称 CategoryId string `protobuf:"bytes,2,opt,name=category_id,json=categoryId,proto3" json:"category_id,omitempty"` // 饲料分类id ForageSourceId uint32 `protobuf:"varint,3,opt,name=forage_source_id,json=forageSourceId,proto3" json:"forage_source_id,omitempty"` // 饲料来源 IsShow IsShow_Kind `protobuf:"varint,4,opt,name=is_show,json=isShow,proto3,enum=backend.operation.IsShow_Kind" json:"is_show,omitempty"` // 是否启用 AllowError uint32 `protobuf:"varint,5,opt,name=allow_error,json=allowError,proto3" json:"allow_error,omitempty"` // 允许误差 JumpWeight uint32 `protobuf:"varint,6,opt,name=jump_weight,json=jumpWeight,proto3" json:"jump_weight,omitempty"` // 跳转重量域 JumpDelay JumpDelaType_Kind `protobuf:"varint,7,opt,name=jump_delay,json=jumpDelay,proto3,enum=backend.operation.JumpDelaType_Kind" json:"jump_delay,omitempty"` // 跳转延迟 Pagination *PaginationModel `protobuf:"bytes,8,opt,name=pagination,proto3" json:"pagination,omitempty"` // 分页 } func (x *SearchForageListRequest) Reset() { *x = SearchForageListRequest{} if protoimpl.UnsafeEnabled { mi := &file_backend_operation_pasture_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SearchForageListRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*SearchForageListRequest) ProtoMessage() {} func (x *SearchForageListRequest) ProtoReflect() protoreflect.Message { mi := &file_backend_operation_pasture_proto_msgTypes[17] 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 SearchForageListRequest.ProtoReflect.Descriptor instead. func (*SearchForageListRequest) Descriptor() ([]byte, []int) { return file_backend_operation_pasture_proto_rawDescGZIP(), []int{17} } func (x *SearchForageListRequest) GetName() string { if x != nil { return x.Name } return "" } func (x *SearchForageListRequest) GetCategoryId() string { if x != nil { return x.CategoryId } return "" } func (x *SearchForageListRequest) GetForageSourceId() uint32 { if x != nil { return x.ForageSourceId } return 0 } func (x *SearchForageListRequest) GetIsShow() IsShow_Kind { if x != nil { return x.IsShow } return IsShow_INVALID } func (x *SearchForageListRequest) GetAllowError() uint32 { if x != nil { return x.AllowError } return 0 } func (x *SearchForageListRequest) GetJumpWeight() uint32 { if x != nil { return x.JumpWeight } return 0 } func (x *SearchForageListRequest) GetJumpDelay() JumpDelaType_Kind { if x != nil { return x.JumpDelay } return JumpDelaType_INVALID } func (x *SearchForageListRequest) GetPagination() *PaginationModel { if x != nil { return x.Pagination } return nil } type SearchForageListResponse 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 *SearchForageList `protobuf:"bytes,3,opt,name=data,proto3" json:"data,omitempty"` } func (x *SearchForageListResponse) Reset() { *x = SearchForageListResponse{} if protoimpl.UnsafeEnabled { mi := &file_backend_operation_pasture_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SearchForageListResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*SearchForageListResponse) ProtoMessage() {} func (x *SearchForageListResponse) ProtoReflect() protoreflect.Message { mi := &file_backend_operation_pasture_proto_msgTypes[18] 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 SearchForageListResponse.ProtoReflect.Descriptor instead. func (*SearchForageListResponse) Descriptor() ([]byte, []int) { return file_backend_operation_pasture_proto_rawDescGZIP(), []int{18} } func (x *SearchForageListResponse) GetCode() int32 { if x != nil { return x.Code } return 0 } func (x *SearchForageListResponse) GetMsg() string { if x != nil { return x.Msg } return "" } func (x *SearchForageListResponse) GetData() *SearchForageList { if x != nil { return x.Data } return nil } type SearchForageList struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Page int32 `protobuf:"varint,1,opt,name=page,proto3" json:"page,omitempty"` PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` Total int32 `protobuf:"varint,3,opt,name=total,proto3" json:"total,omitempty"` List []*AddForageRequest `protobuf:"bytes,4,rep,name=list,proto3" json:"list,omitempty"` } func (x *SearchForageList) Reset() { *x = SearchForageList{} if protoimpl.UnsafeEnabled { mi := &file_backend_operation_pasture_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SearchForageList) String() string { return protoimpl.X.MessageStringOf(x) } func (*SearchForageList) ProtoMessage() {} func (x *SearchForageList) ProtoReflect() protoreflect.Message { mi := &file_backend_operation_pasture_proto_msgTypes[19] 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 SearchForageList.ProtoReflect.Descriptor instead. func (*SearchForageList) Descriptor() ([]byte, []int) { return file_backend_operation_pasture_proto_rawDescGZIP(), []int{19} } func (x *SearchForageList) GetPage() int32 { if x != nil { return x.Page } return 0 } func (x *SearchForageList) GetPageSize() int32 { if x != nil { return x.PageSize } return 0 } func (x *SearchForageList) GetTotal() int32 { if x != nil { return x.Total } return 0 } func (x *SearchForageList) GetList() []*AddForageRequest { if x != nil { return x.List } return nil } // 是否启用 type IsShowForage struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ForageId int32 `protobuf:"varint,1,opt,name=forage_id,json=forageId,proto3" json:"forage_id,omitempty"` IsShow IsShow_Kind `protobuf:"varint,2,opt,name=is_show,json=isShow,proto3,enum=backend.operation.IsShow_Kind" json:"is_show,omitempty"` } func (x *IsShowForage) Reset() { *x = IsShowForage{} if protoimpl.UnsafeEnabled { mi := &file_backend_operation_pasture_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *IsShowForage) String() string { return protoimpl.X.MessageStringOf(x) } func (*IsShowForage) ProtoMessage() {} func (x *IsShowForage) ProtoReflect() protoreflect.Message { mi := &file_backend_operation_pasture_proto_msgTypes[20] 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 IsShowForage.ProtoReflect.Descriptor instead. func (*IsShowForage) Descriptor() ([]byte, []int) { return file_backend_operation_pasture_proto_rawDescGZIP(), []int{20} } func (x *IsShowForage) GetForageId() int32 { if x != nil { return x.ForageId } return 0 } func (x *IsShowForage) GetIsShow() IsShow_Kind { if x != nil { return x.IsShow } return IsShow_INVALID } type ForageEnumListResponse 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 *ForageEnumList `protobuf:"bytes,3,opt,name=data,proto3" json:"data,omitempty"` } func (x *ForageEnumListResponse) Reset() { *x = ForageEnumListResponse{} if protoimpl.UnsafeEnabled { mi := &file_backend_operation_pasture_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ForageEnumListResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*ForageEnumListResponse) ProtoMessage() {} func (x *ForageEnumListResponse) ProtoReflect() protoreflect.Message { mi := &file_backend_operation_pasture_proto_msgTypes[21] 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 ForageEnumListResponse.ProtoReflect.Descriptor instead. func (*ForageEnumListResponse) Descriptor() ([]byte, []int) { return file_backend_operation_pasture_proto_rawDescGZIP(), []int{21} } func (x *ForageEnumListResponse) GetCode() int32 { if x != nil { return x.Code } return 0 } func (x *ForageEnumListResponse) GetMsg() string { if x != nil { return x.Msg } return "" } func (x *ForageEnumListResponse) GetData() *ForageEnumList { if x != nil { return x.Data } return nil } type ForageEnumList struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ForageSource []*ForageSourceEnum `protobuf:"bytes,1,rep,name=forage_source,json=forageSource,proto3" json:"forage_source,omitempty"` // 饲料来源 ForagePlanType []*ForagePlanTypeEnum `protobuf:"bytes,2,rep,name=forage_plan_type,json=foragePlanType,proto3" json:"forage_plan_type,omitempty"` // 饲料计划类型 JumpDelaType []*JumpDelaTypeEnum `protobuf:"bytes,3,rep,name=jump_dela_type,json=jumpDelaType,proto3" json:"jump_dela_type,omitempty"` // 跳转延迟类型 CattleParentCategory []*CattleParentCategoryEnum `protobuf:"bytes,4,rep,name=cattle_parent_category,json=cattleParentCategory,proto3" json:"cattle_parent_category,omitempty"` // 畜牧分类 ForageParentCategory []*ForageParentCategoryEnum `protobuf:"bytes,5,rep,name=forage_parent_category,json=forageParentCategory,proto3" json:"forage_parent_category,omitempty"` // 饲料分类 IsShow []*IsShowEnum `protobuf:"bytes,6,rep,name=is_show,json=isShow,proto3" json:"is_show,omitempty"` FormulaType []*FormulaTypeEnum `protobuf:"bytes,7,rep,name=formula_type,json=formulaType,proto3" json:"formula_type,omitempty"` // 配方类型 FormulaList []*FormulaOptionEnum `protobuf:"bytes,8,rep,name=formula_list,json=formulaList,proto3" json:"formula_list,omitempty"` // 所有配方列表 ConfirmStart []*IsShowEnum `protobuf:"bytes,9,rep,name=confirm_start,json=confirmStart,proto3" json:"confirm_start,omitempty"` // 确认开始 FormulationEvaluation []*FormulaOptionEnum `protobuf:"bytes,10,rep,name=formulation_evaluation,json=formulationEvaluation,proto3" json:"formulation_evaluation,omitempty"` // 配方评估查询方式 UseMaterialsList []*FormulaOptionEnum `protobuf:"bytes,11,rep,name=use_materials_list,json=useMaterialsList,proto3" json:"use_materials_list,omitempty"` // 用料分析-列表显示 UseMaterialsType []*FormulaOptionEnum `protobuf:"bytes,12,rep,name=use_materials_type,json=useMaterialsType,proto3" json:"use_materials_type,omitempty"` // 用料分析-统计类型 PriceMaterialsType []*FormulaOptionEnum `protobuf:"bytes,13,rep,name=price_materials_type,json=priceMaterialsType,proto3" json:"price_materials_type,omitempty"` // 价格分析-统计类型 JumpType []*FormulaOptionEnum `protobuf:"bytes,14,rep,name=jump_type,json=jumpType,proto3" json:"jump_type,omitempty"` // 准确性-跳转方式 StatisticsType []*FormulaOptionEnum `protobuf:"bytes,15,rep,name=statistics_type,json=statisticsType,proto3" json:"statistics_type,omitempty"` // 准确性-统计类型 } func (x *ForageEnumList) Reset() { *x = ForageEnumList{} if protoimpl.UnsafeEnabled { mi := &file_backend_operation_pasture_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ForageEnumList) String() string { return protoimpl.X.MessageStringOf(x) } func (*ForageEnumList) ProtoMessage() {} func (x *ForageEnumList) ProtoReflect() protoreflect.Message { mi := &file_backend_operation_pasture_proto_msgTypes[22] 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 ForageEnumList.ProtoReflect.Descriptor instead. func (*ForageEnumList) Descriptor() ([]byte, []int) { return file_backend_operation_pasture_proto_rawDescGZIP(), []int{22} } func (x *ForageEnumList) GetForageSource() []*ForageSourceEnum { if x != nil { return x.ForageSource } return nil } func (x *ForageEnumList) GetForagePlanType() []*ForagePlanTypeEnum { if x != nil { return x.ForagePlanType } return nil } func (x *ForageEnumList) GetJumpDelaType() []*JumpDelaTypeEnum { if x != nil { return x.JumpDelaType } return nil } func (x *ForageEnumList) GetCattleParentCategory() []*CattleParentCategoryEnum { if x != nil { return x.CattleParentCategory } return nil } func (x *ForageEnumList) GetForageParentCategory() []*ForageParentCategoryEnum { if x != nil { return x.ForageParentCategory } return nil } func (x *ForageEnumList) GetIsShow() []*IsShowEnum { if x != nil { return x.IsShow } return nil } func (x *ForageEnumList) GetFormulaType() []*FormulaTypeEnum { if x != nil { return x.FormulaType } return nil } func (x *ForageEnumList) GetFormulaList() []*FormulaOptionEnum { if x != nil { return x.FormulaList } return nil } func (x *ForageEnumList) GetConfirmStart() []*IsShowEnum { if x != nil { return x.ConfirmStart } return nil } func (x *ForageEnumList) GetFormulationEvaluation() []*FormulaOptionEnum { if x != nil { return x.FormulationEvaluation } return nil } func (x *ForageEnumList) GetUseMaterialsList() []*FormulaOptionEnum { if x != nil { return x.UseMaterialsList } return nil } func (x *ForageEnumList) GetUseMaterialsType() []*FormulaOptionEnum { if x != nil { return x.UseMaterialsType } return nil } func (x *ForageEnumList) GetPriceMaterialsType() []*FormulaOptionEnum { if x != nil { return x.PriceMaterialsType } return nil } func (x *ForageEnumList) GetJumpType() []*FormulaOptionEnum { if x != nil { return x.JumpType } return nil } func (x *ForageEnumList) GetStatisticsType() []*FormulaOptionEnum { if x != nil { return x.StatisticsType } return nil } type ForageSourceEnum struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Value ForageSource_Kind `protobuf:"varint,1,opt,name=value,proto3,enum=backend.operation.ForageSource_Kind" json:"value,omitempty"` Label string `protobuf:"bytes,2,opt,name=label,proto3" json:"label,omitempty"` } func (x *ForageSourceEnum) Reset() { *x = ForageSourceEnum{} if protoimpl.UnsafeEnabled { mi := &file_backend_operation_pasture_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ForageSourceEnum) String() string { return protoimpl.X.MessageStringOf(x) } func (*ForageSourceEnum) ProtoMessage() {} func (x *ForageSourceEnum) ProtoReflect() protoreflect.Message { mi := &file_backend_operation_pasture_proto_msgTypes[23] 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 ForageSourceEnum.ProtoReflect.Descriptor instead. func (*ForageSourceEnum) Descriptor() ([]byte, []int) { return file_backend_operation_pasture_proto_rawDescGZIP(), []int{23} } func (x *ForageSourceEnum) GetValue() ForageSource_Kind { if x != nil { return x.Value } return ForageSource_INVALID } func (x *ForageSourceEnum) GetLabel() string { if x != nil { return x.Label } return "" } type ForagePlanTypeEnum struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Value ForagePlanType_Kind `protobuf:"varint,1,opt,name=value,proto3,enum=backend.operation.ForagePlanType_Kind" json:"value,omitempty"` Label string `protobuf:"bytes,2,opt,name=label,proto3" json:"label,omitempty"` } func (x *ForagePlanTypeEnum) Reset() { *x = ForagePlanTypeEnum{} if protoimpl.UnsafeEnabled { mi := &file_backend_operation_pasture_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ForagePlanTypeEnum) String() string { return protoimpl.X.MessageStringOf(x) } func (*ForagePlanTypeEnum) ProtoMessage() {} func (x *ForagePlanTypeEnum) ProtoReflect() protoreflect.Message { mi := &file_backend_operation_pasture_proto_msgTypes[24] 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 ForagePlanTypeEnum.ProtoReflect.Descriptor instead. func (*ForagePlanTypeEnum) Descriptor() ([]byte, []int) { return file_backend_operation_pasture_proto_rawDescGZIP(), []int{24} } func (x *ForagePlanTypeEnum) GetValue() ForagePlanType_Kind { if x != nil { return x.Value } return ForagePlanType_INVALID } func (x *ForagePlanTypeEnum) GetLabel() string { if x != nil { return x.Label } return "" } type JumpDelaTypeEnum struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Value JumpDelaType_Kind `protobuf:"varint,1,opt,name=value,proto3,enum=backend.operation.JumpDelaType_Kind" json:"value,omitempty"` Label string `protobuf:"bytes,2,opt,name=label,proto3" json:"label,omitempty"` } func (x *JumpDelaTypeEnum) Reset() { *x = JumpDelaTypeEnum{} if protoimpl.UnsafeEnabled { mi := &file_backend_operation_pasture_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *JumpDelaTypeEnum) String() string { return protoimpl.X.MessageStringOf(x) } func (*JumpDelaTypeEnum) ProtoMessage() {} func (x *JumpDelaTypeEnum) ProtoReflect() protoreflect.Message { mi := &file_backend_operation_pasture_proto_msgTypes[25] 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 JumpDelaTypeEnum.ProtoReflect.Descriptor instead. func (*JumpDelaTypeEnum) Descriptor() ([]byte, []int) { return file_backend_operation_pasture_proto_rawDescGZIP(), []int{25} } func (x *JumpDelaTypeEnum) GetValue() JumpDelaType_Kind { if x != nil { return x.Value } return JumpDelaType_INVALID } func (x *JumpDelaTypeEnum) GetLabel() string { if x != nil { return x.Label } return "" } type CattleParentCategoryEnum struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Value CattleCategoryParent_Kind `protobuf:"varint,1,opt,name=value,proto3,enum=backend.operation.CattleCategoryParent_Kind" json:"value,omitempty"` Label string `protobuf:"bytes,2,opt,name=label,proto3" json:"label,omitempty"` } func (x *CattleParentCategoryEnum) Reset() { *x = CattleParentCategoryEnum{} if protoimpl.UnsafeEnabled { mi := &file_backend_operation_pasture_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CattleParentCategoryEnum) String() string { return protoimpl.X.MessageStringOf(x) } func (*CattleParentCategoryEnum) ProtoMessage() {} func (x *CattleParentCategoryEnum) ProtoReflect() protoreflect.Message { mi := &file_backend_operation_pasture_proto_msgTypes[26] 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 CattleParentCategoryEnum.ProtoReflect.Descriptor instead. func (*CattleParentCategoryEnum) Descriptor() ([]byte, []int) { return file_backend_operation_pasture_proto_rawDescGZIP(), []int{26} } func (x *CattleParentCategoryEnum) GetValue() CattleCategoryParent_Kind { if x != nil { return x.Value } return CattleCategoryParent_INVALID } func (x *CattleParentCategoryEnum) GetLabel() string { if x != nil { return x.Label } return "" } type ForageParentCategoryEnum struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Value ForageCategoryParent_Kind `protobuf:"varint,1,opt,name=value,proto3,enum=backend.operation.ForageCategoryParent_Kind" json:"value,omitempty"` Label string `protobuf:"bytes,2,opt,name=label,proto3" json:"label,omitempty"` } func (x *ForageParentCategoryEnum) Reset() { *x = ForageParentCategoryEnum{} if protoimpl.UnsafeEnabled { mi := &file_backend_operation_pasture_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ForageParentCategoryEnum) String() string { return protoimpl.X.MessageStringOf(x) } func (*ForageParentCategoryEnum) ProtoMessage() {} func (x *ForageParentCategoryEnum) ProtoReflect() protoreflect.Message { mi := &file_backend_operation_pasture_proto_msgTypes[27] 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 ForageParentCategoryEnum.ProtoReflect.Descriptor instead. func (*ForageParentCategoryEnum) Descriptor() ([]byte, []int) { return file_backend_operation_pasture_proto_rawDescGZIP(), []int{27} } func (x *ForageParentCategoryEnum) GetValue() ForageCategoryParent_Kind { if x != nil { return x.Value } return ForageCategoryParent_INVALID } func (x *ForageParentCategoryEnum) GetLabel() string { if x != nil { return x.Label } return "" } type IsShowEnum struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Value IsShow_Kind `protobuf:"varint,1,opt,name=value,proto3,enum=backend.operation.IsShow_Kind" json:"value,omitempty"` Label string `protobuf:"bytes,2,opt,name=label,proto3" json:"label,omitempty"` } func (x *IsShowEnum) Reset() { *x = IsShowEnum{} if protoimpl.UnsafeEnabled { mi := &file_backend_operation_pasture_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *IsShowEnum) String() string { return protoimpl.X.MessageStringOf(x) } func (*IsShowEnum) ProtoMessage() {} func (x *IsShowEnum) ProtoReflect() protoreflect.Message { mi := &file_backend_operation_pasture_proto_msgTypes[28] 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 IsShowEnum.ProtoReflect.Descriptor instead. func (*IsShowEnum) Descriptor() ([]byte, []int) { return file_backend_operation_pasture_proto_rawDescGZIP(), []int{28} } func (x *IsShowEnum) GetValue() IsShow_Kind { if x != nil { return x.Value } return IsShow_INVALID } func (x *IsShowEnum) GetLabel() string { if x != nil { return x.Label } return "" } type FormulaTypeEnum struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Value FormulaType_Kind `protobuf:"varint,1,opt,name=value,proto3,enum=backend.operation.FormulaType_Kind" json:"value,omitempty"` Label string `protobuf:"bytes,2,opt,name=label,proto3" json:"label,omitempty"` } func (x *FormulaTypeEnum) Reset() { *x = FormulaTypeEnum{} if protoimpl.UnsafeEnabled { mi := &file_backend_operation_pasture_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FormulaTypeEnum) String() string { return protoimpl.X.MessageStringOf(x) } func (*FormulaTypeEnum) ProtoMessage() {} func (x *FormulaTypeEnum) ProtoReflect() protoreflect.Message { mi := &file_backend_operation_pasture_proto_msgTypes[29] 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 FormulaTypeEnum.ProtoReflect.Descriptor instead. func (*FormulaTypeEnum) Descriptor() ([]byte, []int) { return file_backend_operation_pasture_proto_rawDescGZIP(), []int{29} } func (x *FormulaTypeEnum) GetValue() FormulaType_Kind { if x != nil { return x.Value } return FormulaType_INVALID } func (x *FormulaTypeEnum) GetLabel() string { if x != nil { return x.Label } return "" } type FormulaOptionEnum struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Value int32 `protobuf:"varint,1,opt,name=value,proto3" json:"value,omitempty"` Label string `protobuf:"bytes,2,opt,name=label,proto3" json:"label,omitempty"` } func (x *FormulaOptionEnum) Reset() { *x = FormulaOptionEnum{} if protoimpl.UnsafeEnabled { mi := &file_backend_operation_pasture_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FormulaOptionEnum) String() string { return protoimpl.X.MessageStringOf(x) } func (*FormulaOptionEnum) ProtoMessage() {} func (x *FormulaOptionEnum) ProtoReflect() protoreflect.Message { mi := &file_backend_operation_pasture_proto_msgTypes[30] 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 FormulaOptionEnum.ProtoReflect.Descriptor instead. func (*FormulaOptionEnum) Descriptor() ([]byte, []int) { return file_backend_operation_pasture_proto_rawDescGZIP(), []int{30} } func (x *FormulaOptionEnum) GetValue() int32 { if x != nil { return x.Value } return 0 } func (x *FormulaOptionEnum) GetLabel() string { if x != nil { return x.Label } return "" } var File_backend_operation_pasture_proto protoreflect.FileDescriptor var file_backend_operation_pasture_proto_rawDesc = []byte{ 0x0a, 0x1f, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x2f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x70, 0x61, 0x73, 0x74, 0x75, 0x72, 0x65, 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, 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, 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, 0x22, 0xb7, 0x02, 0x0a, 0x11, 0x41, 0x64, 0x64, 0x50, 0x61, 0x73, 0x74, 0x75, 0x72, 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, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x12, 0x23, 0x0a, 0x0d, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x5f, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x37, 0x0a, 0x07, 0x69, 0x73, 0x5f, 0x73, 0x68, 0x6f, 0x77, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x2e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x49, 0x73, 0x53, 0x68, 0x6f, 0x77, 0x2e, 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x06, 0x69, 0x73, 0x53, 0x68, 0x6f, 0x77, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x08, 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, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x22, 0xf0, 0x01, 0x0a, 0x14, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x50, 0x61, 0x73, 0x74, 0x75, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x12, 0x23, 0x0a, 0x0d, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x5f, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x42, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 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, 0x77, 0x0a, 0x15, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x50, 0x61, 0x73, 0x74, 0x75, 0x72, 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, 0x38, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 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, 0x50, 0x61, 0x73, 0x74, 0x75, 0x72, 0x65, 0x44, 0x61, 0x74, 0x61, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x94, 0x01, 0x0a, 0x11, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x50, 0x61, 0x73, 0x74, 0x75, 0x72, 0x65, 0x44, 0x61, 0x74, 0x61, 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, 0x38, 0x0a, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x2e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x41, 0x64, 0x64, 0x50, 0x61, 0x73, 0x74, 0x75, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x22, 0x31, 0x0a, 0x0b, 0x55, 0x73, 0x65, 0x72, 0x50, 0x61, 0x73, 0x74, 0x75, 0x72, 0x65, 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, 0x6c, 0x0a, 0x12, 0x49, 0x73, 0x53, 0x68, 0x6f, 0x77, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x50, 0x61, 0x73, 0x74, 0x75, 0x72, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x73, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x70, 0x61, 0x73, 0x74, 0x75, 0x72, 0x65, 0x49, 0x64, 0x12, 0x37, 0x0a, 0x07, 0x69, 0x73, 0x5f, 0x73, 0x68, 0x6f, 0x77, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x2e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x49, 0x73, 0x53, 0x68, 0x6f, 0x77, 0x2e, 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x06, 0x69, 0x73, 0x53, 0x68, 0x6f, 0x77, 0x22, 0xc6, 0x02, 0x0a, 0x18, 0x41, 0x64, 0x64, 0x43, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x69, 0x64, 0x12, 0x49, 0x0a, 0x09, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 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, 0x08, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x37, 0x0a, 0x07, 0x69, 0x73, 0x5f, 0x73, 0x68, 0x6f, 0x77, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x2e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x49, 0x73, 0x53, 0x68, 0x6f, 0x77, 0x2e, 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x06, 0x69, 0x73, 0x53, 0x68, 0x6f, 0x77, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 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, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x22, 0x7d, 0x0a, 0x14, 0x49, 0x73, 0x53, 0x68, 0x6f, 0x77, 0x43, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x2c, 0x0a, 0x12, 0x63, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x5f, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x63, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x49, 0x64, 0x12, 0x37, 0x0a, 0x07, 0x69, 0x73, 0x5f, 0x73, 0x68, 0x6f, 0x77, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x2e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x49, 0x73, 0x53, 0x68, 0x6f, 0x77, 0x2e, 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x06, 0x69, 0x73, 0x53, 0x68, 0x6f, 0x77, 0x22, 0xcf, 0x01, 0x0a, 0x1b, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x43, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x37, 0x0a, 0x07, 0x69, 0x73, 0x5f, 0x73, 0x68, 0x6f, 0x77, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x2e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x49, 0x73, 0x53, 0x68, 0x6f, 0x77, 0x2e, 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x06, 0x69, 0x73, 0x53, 0x68, 0x6f, 0x77, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 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, 0x04, 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, 0x85, 0x01, 0x0a, 0x1c, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x43, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 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, 0x3f, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 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, 0x43, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0xa2, 0x01, 0x0a, 0x18, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x43, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 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, 0x3f, 0x0a, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x2e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x41, 0x64, 0x64, 0x43, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x22, 0xc6, 0x02, 0x0a, 0x18, 0x41, 0x64, 0x64, 0x46, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x69, 0x64, 0x12, 0x49, 0x0a, 0x09, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 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, 0x46, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2e, 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x08, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x37, 0x0a, 0x07, 0x69, 0x73, 0x5f, 0x73, 0x68, 0x6f, 0x77, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x2e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x49, 0x73, 0x53, 0x68, 0x6f, 0x77, 0x2e, 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x06, 0x69, 0x73, 0x53, 0x68, 0x6f, 0x77, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 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, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x22, 0x7d, 0x0a, 0x14, 0x49, 0x73, 0x53, 0x68, 0x6f, 0x77, 0x46, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x2c, 0x0a, 0x12, 0x66, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x66, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x49, 0x64, 0x12, 0x37, 0x0a, 0x07, 0x69, 0x73, 0x5f, 0x73, 0x68, 0x6f, 0x77, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x2e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x49, 0x73, 0x53, 0x68, 0x6f, 0x77, 0x2e, 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x06, 0x69, 0x73, 0x53, 0x68, 0x6f, 0x77, 0x22, 0xe7, 0x01, 0x0a, 0x1b, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x46, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x37, 0x0a, 0x07, 0x69, 0x73, 0x5f, 0x73, 0x68, 0x6f, 0x77, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x2e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x49, 0x73, 0x53, 0x68, 0x6f, 0x77, 0x2e, 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x06, 0x69, 0x73, 0x53, 0x68, 0x6f, 0x77, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 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, 0x85, 0x01, 0x0a, 0x1c, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x46, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 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, 0x3f, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 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, 0x61, 0x67, 0x65, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0xa2, 0x01, 0x0a, 0x18, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x46, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 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, 0x3f, 0x0a, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 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, 0x61, 0x67, 0x65, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x22, 0x9c, 0x08, 0x0a, 0x10, 0x41, 0x64, 0x64, 0x46, 0x6f, 0x72, 0x61, 0x67, 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, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x6d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x6d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x5f, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x4e, 0x0a, 0x10, 0x66, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x2e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x46, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x0e, 0x66, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x12, 0x2c, 0x0a, 0x12, 0x66, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x66, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x48, 0x0a, 0x0c, 0x70, 0x6c, 0x61, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x26, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x2e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x46, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x0a, 0x70, 0x6c, 0x61, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0e, 0x70, 0x6c, 0x61, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x70, 0x6c, 0x61, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x30, 0x0a, 0x14, 0x73, 0x6d, 0x61, 0x6c, 0x6c, 0x5f, 0x6d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x73, 0x6d, 0x61, 0x6c, 0x6c, 0x4d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x53, 0x63, 0x61, 0x6c, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x25, 0x0a, 0x0e, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x5f, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x6a, 0x75, 0x6d, 0x70, 0x5f, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x10, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6a, 0x75, 0x6d, 0x70, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x43, 0x0a, 0x0a, 0x6a, 0x75, 0x6d, 0x70, 0x5f, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x2e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x4a, 0x75, 0x6d, 0x70, 0x44, 0x65, 0x6c, 0x61, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x09, 0x6a, 0x75, 0x6d, 0x70, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x12, 0x43, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x2e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x49, 0x73, 0x53, 0x68, 0x6f, 0x77, 0x2e, 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x13, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x30, 0x0a, 0x03, 0x6a, 0x6d, 0x70, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x2e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x49, 0x73, 0x53, 0x68, 0x6f, 0x77, 0x2e, 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x03, 0x6a, 0x6d, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x31, 0x18, 0x15, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x31, 0x12, 0x18, 0x0a, 0x07, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x32, 0x18, 0x16, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x32, 0x12, 0x18, 0x0a, 0x07, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x33, 0x18, 0x17, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x33, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x18, 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, 0x19, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x37, 0x0a, 0x07, 0x69, 0x73, 0x5f, 0x73, 0x68, 0x6f, 0x77, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x2e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x49, 0x73, 0x53, 0x68, 0x6f, 0x77, 0x2e, 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x06, 0x69, 0x73, 0x53, 0x68, 0x6f, 0x77, 0x22, 0xfc, 0x02, 0x0a, 0x17, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x46, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x10, 0x66, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x66, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x12, 0x37, 0x0a, 0x07, 0x69, 0x73, 0x5f, 0x73, 0x68, 0x6f, 0x77, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x2e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x49, 0x73, 0x53, 0x68, 0x6f, 0x77, 0x2e, 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x06, 0x69, 0x73, 0x53, 0x68, 0x6f, 0x77, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x6a, 0x75, 0x6d, 0x70, 0x5f, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x6a, 0x75, 0x6d, 0x70, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x43, 0x0a, 0x0a, 0x6a, 0x75, 0x6d, 0x70, 0x5f, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x2e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x4a, 0x75, 0x6d, 0x70, 0x44, 0x65, 0x6c, 0x61, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x09, 0x6a, 0x75, 0x6d, 0x70, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x12, 0x42, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 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, 0x79, 0x0a, 0x18, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x46, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x4c, 0x69, 0x73, 0x74, 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, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x46, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x92, 0x01, 0x0a, 0x10, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x46, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x37, 0x0a, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 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, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x22, 0x64, 0x0a, 0x0c, 0x49, 0x73, 0x53, 0x68, 0x6f, 0x77, 0x46, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x66, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x66, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x49, 0x64, 0x12, 0x37, 0x0a, 0x07, 0x69, 0x73, 0x5f, 0x73, 0x68, 0x6f, 0x77, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x2e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x49, 0x73, 0x53, 0x68, 0x6f, 0x77, 0x2e, 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x06, 0x69, 0x73, 0x53, 0x68, 0x6f, 0x77, 0x22, 0x75, 0x0a, 0x16, 0x46, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x45, 0x6e, 0x75, 0x6d, 0x4c, 0x69, 0x73, 0x74, 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, 0x35, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x2e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x46, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x45, 0x6e, 0x75, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0xb7, 0x09, 0x0a, 0x0e, 0x46, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x45, 0x6e, 0x75, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x48, 0x0a, 0x0d, 0x66, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x2e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x46, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x0c, 0x66, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x4f, 0x0a, 0x10, 0x66, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x70, 0x6c, 0x61, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x2e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x46, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x0e, 0x66, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x49, 0x0a, 0x0e, 0x6a, 0x75, 0x6d, 0x70, 0x5f, 0x64, 0x65, 0x6c, 0x61, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x2e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x4a, 0x75, 0x6d, 0x70, 0x44, 0x65, 0x6c, 0x61, 0x54, 0x79, 0x70, 0x65, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x0c, 0x6a, 0x75, 0x6d, 0x70, 0x44, 0x65, 0x6c, 0x61, 0x54, 0x79, 0x70, 0x65, 0x12, 0x61, 0x0a, 0x16, 0x63, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x5f, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 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, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x14, 0x63, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x61, 0x0a, 0x16, 0x66, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x2e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x46, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x14, 0x66, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x36, 0x0a, 0x07, 0x69, 0x73, 0x5f, 0x73, 0x68, 0x6f, 0x77, 0x18, 0x06, 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, 0x49, 0x73, 0x53, 0x68, 0x6f, 0x77, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x06, 0x69, 0x73, 0x53, 0x68, 0x6f, 0x77, 0x12, 0x45, 0x0a, 0x0c, 0x66, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x07, 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, 0x46, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x54, 0x79, 0x70, 0x65, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x0b, 0x66, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x54, 0x79, 0x70, 0x65, 0x12, 0x47, 0x0a, 0x0c, 0x66, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x2e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x46, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x0b, 0x66, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x42, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x09, 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, 0x49, 0x73, 0x53, 0x68, 0x6f, 0x77, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x5b, 0x0a, 0x16, 0x66, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x2e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x46, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x15, 0x66, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x52, 0x0a, 0x12, 0x75, 0x73, 0x65, 0x5f, 0x6d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x73, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x2e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x46, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x10, 0x75, 0x73, 0x65, 0x4d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x52, 0x0a, 0x12, 0x75, 0x73, 0x65, 0x5f, 0x6d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x73, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x2e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x46, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x10, 0x75, 0x73, 0x65, 0x4d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x73, 0x54, 0x79, 0x70, 0x65, 0x12, 0x56, 0x0a, 0x14, 0x70, 0x72, 0x69, 0x63, 0x65, 0x5f, 0x6d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x73, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x2e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x46, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x12, 0x70, 0x72, 0x69, 0x63, 0x65, 0x4d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x73, 0x54, 0x79, 0x70, 0x65, 0x12, 0x41, 0x0a, 0x09, 0x6a, 0x75, 0x6d, 0x70, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x2e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x46, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x08, 0x6a, 0x75, 0x6d, 0x70, 0x54, 0x79, 0x70, 0x65, 0x12, 0x4d, 0x0a, 0x0f, 0x73, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x2e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x46, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x0e, 0x73, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x54, 0x79, 0x70, 0x65, 0x22, 0x64, 0x0a, 0x10, 0x46, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x3a, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x2e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x46, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x22, 0x68, 0x0a, 0x12, 0x46, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x3c, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x26, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x2e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x46, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x22, 0x64, 0x0a, 0x10, 0x4a, 0x75, 0x6d, 0x70, 0x44, 0x65, 0x6c, 0x61, 0x54, 0x79, 0x70, 0x65, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x3a, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x2e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x4a, 0x75, 0x6d, 0x70, 0x44, 0x65, 0x6c, 0x61, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x22, 0x74, 0x0a, 0x18, 0x43, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x42, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 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, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x22, 0x74, 0x0a, 0x18, 0x46, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x42, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 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, 0x46, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2e, 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x22, 0x58, 0x0a, 0x0a, 0x49, 0x73, 0x53, 0x68, 0x6f, 0x77, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x34, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x2e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x49, 0x73, 0x53, 0x68, 0x6f, 0x77, 0x2e, 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x22, 0x62, 0x0a, 0x0f, 0x46, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x54, 0x79, 0x70, 0x65, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x39, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x23, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x2e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x46, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x22, 0x3f, 0x0a, 0x11, 0x46, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 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_pasture_proto_rawDescOnce sync.Once file_backend_operation_pasture_proto_rawDescData = file_backend_operation_pasture_proto_rawDesc ) func file_backend_operation_pasture_proto_rawDescGZIP() []byte { file_backend_operation_pasture_proto_rawDescOnce.Do(func() { file_backend_operation_pasture_proto_rawDescData = protoimpl.X.CompressGZIP(file_backend_operation_pasture_proto_rawDescData) }) return file_backend_operation_pasture_proto_rawDescData } var file_backend_operation_pasture_proto_msgTypes = make([]protoimpl.MessageInfo, 31) var file_backend_operation_pasture_proto_goTypes = []interface{}{ (*AddPastureRequest)(nil), // 0: backend.operation.AddPastureRequest (*SearchPastureRequest)(nil), // 1: backend.operation.SearchPastureRequest (*SearchPastureResponse)(nil), // 2: backend.operation.SearchPastureResponse (*SearchPastureData)(nil), // 3: backend.operation.SearchPastureData (*UserPasture)(nil), // 4: backend.operation.UserPasture (*IsShowGroupPasture)(nil), // 5: backend.operation.IsShowGroupPasture (*AddCattleCategoryRequest)(nil), // 6: backend.operation.AddCattleCategoryRequest (*IsShowCattleCategory)(nil), // 7: backend.operation.IsShowCattleCategory (*SearchCattleCategoryRequest)(nil), // 8: backend.operation.SearchCattleCategoryRequest (*SearchCattleCategoryResponse)(nil), // 9: backend.operation.SearchCattleCategoryResponse (*SearchCattleCategoryData)(nil), // 10: backend.operation.SearchCattleCategoryData (*AddForageCategoryRequest)(nil), // 11: backend.operation.AddForageCategoryRequest (*IsShowForageCategory)(nil), // 12: backend.operation.IsShowForageCategory (*SearchForageCategoryRequest)(nil), // 13: backend.operation.SearchForageCategoryRequest (*SearchForageCategoryResponse)(nil), // 14: backend.operation.SearchForageCategoryResponse (*SearchForageCategoryData)(nil), // 15: backend.operation.SearchForageCategoryData (*AddForageRequest)(nil), // 16: backend.operation.AddForageRequest (*SearchForageListRequest)(nil), // 17: backend.operation.SearchForageListRequest (*SearchForageListResponse)(nil), // 18: backend.operation.SearchForageListResponse (*SearchForageList)(nil), // 19: backend.operation.SearchForageList (*IsShowForage)(nil), // 20: backend.operation.IsShowForage (*ForageEnumListResponse)(nil), // 21: backend.operation.ForageEnumListResponse (*ForageEnumList)(nil), // 22: backend.operation.ForageEnumList (*ForageSourceEnum)(nil), // 23: backend.operation.ForageSourceEnum (*ForagePlanTypeEnum)(nil), // 24: backend.operation.ForagePlanTypeEnum (*JumpDelaTypeEnum)(nil), // 25: backend.operation.JumpDelaTypeEnum (*CattleParentCategoryEnum)(nil), // 26: backend.operation.CattleParentCategoryEnum (*ForageParentCategoryEnum)(nil), // 27: backend.operation.ForageParentCategoryEnum (*IsShowEnum)(nil), // 28: backend.operation.IsShowEnum (*FormulaTypeEnum)(nil), // 29: backend.operation.FormulaTypeEnum (*FormulaOptionEnum)(nil), // 30: backend.operation.FormulaOptionEnum (IsShow_Kind)(0), // 31: backend.operation.IsShow.Kind (*PaginationModel)(nil), // 32: backend.operation.PaginationModel (CattleCategoryParent_Kind)(0), // 33: backend.operation.CattleCategoryParent.Kind (ForageCategoryParent_Kind)(0), // 34: backend.operation.ForageCategoryParent.Kind (ForageSource_Kind)(0), // 35: backend.operation.ForageSource.Kind (ForagePlanType_Kind)(0), // 36: backend.operation.ForagePlanType.Kind (JumpDelaType_Kind)(0), // 37: backend.operation.JumpDelaType.Kind (FormulaType_Kind)(0), // 38: backend.operation.FormulaType.Kind } var file_backend_operation_pasture_proto_depIdxs = []int32{ 31, // 0: backend.operation.AddPastureRequest.is_show:type_name -> backend.operation.IsShow.Kind 32, // 1: backend.operation.SearchPastureRequest.pagination:type_name -> backend.operation.PaginationModel 3, // 2: backend.operation.SearchPastureResponse.data:type_name -> backend.operation.SearchPastureData 0, // 3: backend.operation.SearchPastureData.list:type_name -> backend.operation.AddPastureRequest 31, // 4: backend.operation.IsShowGroupPasture.is_show:type_name -> backend.operation.IsShow.Kind 33, // 5: backend.operation.AddCattleCategoryRequest.parent_id:type_name -> backend.operation.CattleCategoryParent.Kind 31, // 6: backend.operation.AddCattleCategoryRequest.is_show:type_name -> backend.operation.IsShow.Kind 31, // 7: backend.operation.IsShowCattleCategory.is_show:type_name -> backend.operation.IsShow.Kind 31, // 8: backend.operation.SearchCattleCategoryRequest.is_show:type_name -> backend.operation.IsShow.Kind 32, // 9: backend.operation.SearchCattleCategoryRequest.pagination:type_name -> backend.operation.PaginationModel 10, // 10: backend.operation.SearchCattleCategoryResponse.data:type_name -> backend.operation.SearchCattleCategoryData 6, // 11: backend.operation.SearchCattleCategoryData.list:type_name -> backend.operation.AddCattleCategoryRequest 34, // 12: backend.operation.AddForageCategoryRequest.parent_id:type_name -> backend.operation.ForageCategoryParent.Kind 31, // 13: backend.operation.AddForageCategoryRequest.is_show:type_name -> backend.operation.IsShow.Kind 31, // 14: backend.operation.IsShowForageCategory.is_show:type_name -> backend.operation.IsShow.Kind 31, // 15: backend.operation.SearchForageCategoryRequest.is_show:type_name -> backend.operation.IsShow.Kind 32, // 16: backend.operation.SearchForageCategoryRequest.pagination:type_name -> backend.operation.PaginationModel 15, // 17: backend.operation.SearchForageCategoryResponse.data:type_name -> backend.operation.SearchForageCategoryData 11, // 18: backend.operation.SearchForageCategoryData.list:type_name -> backend.operation.AddForageCategoryRequest 35, // 19: backend.operation.AddForageRequest.forage_source_id:type_name -> backend.operation.ForageSource.Kind 36, // 20: backend.operation.AddForageRequest.plan_type_id:type_name -> backend.operation.ForagePlanType.Kind 37, // 21: backend.operation.AddForageRequest.jump_delay:type_name -> backend.operation.JumpDelaType.Kind 31, // 22: backend.operation.AddForageRequest.confirm_start:type_name -> backend.operation.IsShow.Kind 31, // 23: backend.operation.AddForageRequest.jmp:type_name -> backend.operation.IsShow.Kind 31, // 24: backend.operation.AddForageRequest.is_show:type_name -> backend.operation.IsShow.Kind 31, // 25: backend.operation.SearchForageListRequest.is_show:type_name -> backend.operation.IsShow.Kind 37, // 26: backend.operation.SearchForageListRequest.jump_delay:type_name -> backend.operation.JumpDelaType.Kind 32, // 27: backend.operation.SearchForageListRequest.pagination:type_name -> backend.operation.PaginationModel 19, // 28: backend.operation.SearchForageListResponse.data:type_name -> backend.operation.SearchForageList 16, // 29: backend.operation.SearchForageList.list:type_name -> backend.operation.AddForageRequest 31, // 30: backend.operation.IsShowForage.is_show:type_name -> backend.operation.IsShow.Kind 22, // 31: backend.operation.ForageEnumListResponse.data:type_name -> backend.operation.ForageEnumList 23, // 32: backend.operation.ForageEnumList.forage_source:type_name -> backend.operation.ForageSourceEnum 24, // 33: backend.operation.ForageEnumList.forage_plan_type:type_name -> backend.operation.ForagePlanTypeEnum 25, // 34: backend.operation.ForageEnumList.jump_dela_type:type_name -> backend.operation.JumpDelaTypeEnum 26, // 35: backend.operation.ForageEnumList.cattle_parent_category:type_name -> backend.operation.CattleParentCategoryEnum 27, // 36: backend.operation.ForageEnumList.forage_parent_category:type_name -> backend.operation.ForageParentCategoryEnum 28, // 37: backend.operation.ForageEnumList.is_show:type_name -> backend.operation.IsShowEnum 29, // 38: backend.operation.ForageEnumList.formula_type:type_name -> backend.operation.FormulaTypeEnum 30, // 39: backend.operation.ForageEnumList.formula_list:type_name -> backend.operation.FormulaOptionEnum 28, // 40: backend.operation.ForageEnumList.confirm_start:type_name -> backend.operation.IsShowEnum 30, // 41: backend.operation.ForageEnumList.formulation_evaluation:type_name -> backend.operation.FormulaOptionEnum 30, // 42: backend.operation.ForageEnumList.use_materials_list:type_name -> backend.operation.FormulaOptionEnum 30, // 43: backend.operation.ForageEnumList.use_materials_type:type_name -> backend.operation.FormulaOptionEnum 30, // 44: backend.operation.ForageEnumList.price_materials_type:type_name -> backend.operation.FormulaOptionEnum 30, // 45: backend.operation.ForageEnumList.jump_type:type_name -> backend.operation.FormulaOptionEnum 30, // 46: backend.operation.ForageEnumList.statistics_type:type_name -> backend.operation.FormulaOptionEnum 35, // 47: backend.operation.ForageSourceEnum.value:type_name -> backend.operation.ForageSource.Kind 36, // 48: backend.operation.ForagePlanTypeEnum.value:type_name -> backend.operation.ForagePlanType.Kind 37, // 49: backend.operation.JumpDelaTypeEnum.value:type_name -> backend.operation.JumpDelaType.Kind 33, // 50: backend.operation.CattleParentCategoryEnum.value:type_name -> backend.operation.CattleCategoryParent.Kind 34, // 51: backend.operation.ForageParentCategoryEnum.value:type_name -> backend.operation.ForageCategoryParent.Kind 31, // 52: backend.operation.IsShowEnum.value:type_name -> backend.operation.IsShow.Kind 38, // 53: backend.operation.FormulaTypeEnum.value:type_name -> backend.operation.FormulaType.Kind 54, // [54:54] is the sub-list for method output_type 54, // [54:54] is the sub-list for method input_type 54, // [54:54] is the sub-list for extension type_name 54, // [54:54] is the sub-list for extension extendee 0, // [0:54] is the sub-list for field type_name } func init() { file_backend_operation_pasture_proto_init() } func file_backend_operation_pasture_proto_init() { if File_backend_operation_pasture_proto != nil { return } file_backend_operation_enum_proto_init() file_backend_operation_pagination_proto_init() if !protoimpl.UnsafeEnabled { file_backend_operation_pasture_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AddPastureRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_backend_operation_pasture_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SearchPastureRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_backend_operation_pasture_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SearchPastureResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_backend_operation_pasture_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SearchPastureData); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_backend_operation_pasture_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UserPasture); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_backend_operation_pasture_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*IsShowGroupPasture); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_backend_operation_pasture_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AddCattleCategoryRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_backend_operation_pasture_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*IsShowCattleCategory); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_backend_operation_pasture_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SearchCattleCategoryRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_backend_operation_pasture_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SearchCattleCategoryResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_backend_operation_pasture_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SearchCattleCategoryData); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_backend_operation_pasture_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AddForageCategoryRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_backend_operation_pasture_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*IsShowForageCategory); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_backend_operation_pasture_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SearchForageCategoryRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_backend_operation_pasture_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SearchForageCategoryResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_backend_operation_pasture_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SearchForageCategoryData); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_backend_operation_pasture_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AddForageRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_backend_operation_pasture_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SearchForageListRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_backend_operation_pasture_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SearchForageListResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_backend_operation_pasture_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SearchForageList); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_backend_operation_pasture_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*IsShowForage); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_backend_operation_pasture_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ForageEnumListResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_backend_operation_pasture_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ForageEnumList); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_backend_operation_pasture_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ForageSourceEnum); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_backend_operation_pasture_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ForagePlanTypeEnum); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_backend_operation_pasture_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*JumpDelaTypeEnum); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_backend_operation_pasture_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CattleParentCategoryEnum); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_backend_operation_pasture_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ForageParentCategoryEnum); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_backend_operation_pasture_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*IsShowEnum); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_backend_operation_pasture_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FormulaTypeEnum); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_backend_operation_pasture_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FormulaOptionEnum); 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_pasture_proto_rawDesc, NumEnums: 0, NumMessages: 31, NumExtensions: 0, NumServices: 0, }, GoTypes: file_backend_operation_pasture_proto_goTypes, DependencyIndexes: file_backend_operation_pasture_proto_depIdxs, MessageInfos: file_backend_operation_pasture_proto_msgTypes, }.Build() File_backend_operation_pasture_proto = out.File file_backend_operation_pasture_proto_rawDesc = nil file_backend_operation_pasture_proto_goTypes = nil file_backend_operation_pasture_proto_depIdxs = nil }