// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.34.2 // protoc v5.27.1 // source: matchmaking/v1/virtually/second.proto package v1 import ( _ "google.golang.org/genproto/googleapis/api/annotations" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" timestamppb "google.golang.org/protobuf/types/known/timestamppb" 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 GetBotSecondTradeRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Status int64 `protobuf:"varint,1,opt,name=status,proto3" json:"status,omitempty"` // 状态码 PageSize int64 `protobuf:"varint,2,opt,name=pageSize,proto3" json:"pageSize,omitempty"` // 每页显示条数 PageCount int64 `protobuf:"varint,3,opt,name=pageCount,proto3" json:"pageCount,omitempty"` // 开始的位置 State int64 `protobuf:"varint,4,opt,name=state,proto3" json:"state,omitempty"` // 订单类型 } func (x *GetBotSecondTradeRequest) Reset() { *x = GetBotSecondTradeRequest{} if protoimpl.UnsafeEnabled { mi := &file_matchmaking_v1_virtually_second_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetBotSecondTradeRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetBotSecondTradeRequest) ProtoMessage() {} func (x *GetBotSecondTradeRequest) ProtoReflect() protoreflect.Message { mi := &file_matchmaking_v1_virtually_second_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 GetBotSecondTradeRequest.ProtoReflect.Descriptor instead. func (*GetBotSecondTradeRequest) Descriptor() ([]byte, []int) { return file_matchmaking_v1_virtually_second_proto_rawDescGZIP(), []int{0} } func (x *GetBotSecondTradeRequest) GetStatus() int64 { if x != nil { return x.Status } return 0 } func (x *GetBotSecondTradeRequest) GetPageSize() int64 { if x != nil { return x.PageSize } return 0 } func (x *GetBotSecondTradeRequest) GetPageCount() int64 { if x != nil { return x.PageCount } return 0 } func (x *GetBotSecondTradeRequest) GetState() int64 { if x != nil { return x.State } return 0 } type GetBotSecondTradeReply struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Code int64 `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"` // 状态码 Data *BotSecondTradeData `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"` // 返回结果 Message string `protobuf:"bytes,3,opt,name=message,proto3" json:"message,omitempty"` // 返回消息提示 } func (x *GetBotSecondTradeReply) Reset() { *x = GetBotSecondTradeReply{} if protoimpl.UnsafeEnabled { mi := &file_matchmaking_v1_virtually_second_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetBotSecondTradeReply) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetBotSecondTradeReply) ProtoMessage() {} func (x *GetBotSecondTradeReply) ProtoReflect() protoreflect.Message { mi := &file_matchmaking_v1_virtually_second_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 GetBotSecondTradeReply.ProtoReflect.Descriptor instead. func (*GetBotSecondTradeReply) Descriptor() ([]byte, []int) { return file_matchmaking_v1_virtually_second_proto_rawDescGZIP(), []int{1} } func (x *GetBotSecondTradeReply) GetCode() int64 { if x != nil { return x.Code } return 0 } func (x *GetBotSecondTradeReply) GetData() *BotSecondTradeData { if x != nil { return x.Data } return nil } func (x *GetBotSecondTradeReply) GetMessage() string { if x != nil { return x.Message } return "" } type BotSecondTradeData struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields PageSize int64 `protobuf:"varint,1,opt,name=pageSize,proto3" json:"pageSize,omitempty"` // 每页显示条数 PageCount int64 `protobuf:"varint,2,opt,name=pageCount,proto3" json:"pageCount,omitempty"` // 开始的位置 Data []*BotSecondTrade `protobuf:"bytes,3,rep,name=data,proto3" json:"data,omitempty"` // 返回结果 TotalCount int64 `protobuf:"varint,4,opt,name=totalCount,proto3" json:"totalCount,omitempty"` // 总数据 } func (x *BotSecondTradeData) Reset() { *x = BotSecondTradeData{} if protoimpl.UnsafeEnabled { mi := &file_matchmaking_v1_virtually_second_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *BotSecondTradeData) String() string { return protoimpl.X.MessageStringOf(x) } func (*BotSecondTradeData) ProtoMessage() {} func (x *BotSecondTradeData) ProtoReflect() protoreflect.Message { mi := &file_matchmaking_v1_virtually_second_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 BotSecondTradeData.ProtoReflect.Descriptor instead. func (*BotSecondTradeData) Descriptor() ([]byte, []int) { return file_matchmaking_v1_virtually_second_proto_rawDescGZIP(), []int{2} } func (x *BotSecondTradeData) GetPageSize() int64 { if x != nil { return x.PageSize } return 0 } func (x *BotSecondTradeData) GetPageCount() int64 { if x != nil { return x.PageCount } return 0 } func (x *BotSecondTradeData) GetData() []*BotSecondTrade { if x != nil { return x.Data } return nil } func (x *BotSecondTradeData) GetTotalCount() int64 { if x != nil { return x.TotalCount } return 0 } type BotSecondTrade struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields OrderId string `protobuf:"bytes,1,opt,name=orderId,proto3" json:"orderId,omitempty"` // 订单ID ContractId string `protobuf:"bytes,2,opt,name=contractId,proto3" json:"contractId,omitempty"` // 合约ID TradeType int64 `protobuf:"varint,3,opt,name=tradeType,proto3" json:"tradeType,omitempty"` // 交易类型 DealType int64 `protobuf:"varint,4,opt,name=dealType,proto3" json:"dealType,omitempty"` // 交易方式 LimitPrice string `protobuf:"bytes,5,opt,name=limitPrice,proto3" json:"limitPrice,omitempty"` // 限价 MarketPrice string `protobuf:"bytes,6,opt,name=marketPrice,proto3" json:"marketPrice,omitempty"` // 市价 DealPrice string `protobuf:"bytes,7,opt,name=dealPrice,proto3" json:"dealPrice,omitempty"` // 开仓价 ClosingPrice string `protobuf:"bytes,8,opt,name=closingPrice,proto3" json:"closingPrice,omitempty"` // 平仓价 OrderNumber string `protobuf:"bytes,9,opt,name=orderNumber,proto3" json:"orderNumber,omitempty"` // 订单数量 StopType int64 `protobuf:"varint,10,opt,name=stopType,proto3" json:"stopType,omitempty"` // 止盈止损状态 StopLossPrice string `protobuf:"bytes,11,opt,name=stopLossPrice,proto3" json:"stopLossPrice,omitempty"` // 止损 StopWinPrice string `protobuf:"bytes,12,opt,name=stopWinPrice,proto3" json:"stopWinPrice,omitempty"` // 止盈 ServiceCost string `protobuf:"bytes,13,opt,name=serviceCost,proto3" json:"serviceCost,omitempty"` // 开仓手续费 EarnestMoney string `protobuf:"bytes,14,opt,name=earnestMoney,proto3" json:"earnestMoney,omitempty"` // 保证金 OrderMoney string `protobuf:"bytes,15,opt,name=orderMoney,proto3" json:"orderMoney,omitempty"` // 订单总额 Status int64 `protobuf:"varint,16,opt,name=status,proto3" json:"status,omitempty"` // 订单状态 CreateTime *timestamppb.Timestamp `protobuf:"bytes,17,opt,name=createTime,proto3" json:"createTime,omitempty"` // 订单创建时间 UpdateTime *timestamppb.Timestamp `protobuf:"bytes,18,opt,name=updateTime,proto3" json:"updateTime,omitempty"` // 订单更新时间 OpenTime *timestamppb.Timestamp `protobuf:"bytes,19,opt,name=openTime,proto3" json:"openTime,omitempty"` // 订单开仓时间 ClosingTime *timestamppb.Timestamp `protobuf:"bytes,20,opt,name=closingTime,proto3" json:"closingTime,omitempty"` // 订单平仓时间 ClosingCost string `protobuf:"bytes,21,opt,name=closingCost,proto3" json:"closingCost,omitempty"` // 平仓手续费 FaceValue string `protobuf:"bytes,22,opt,name=faceValue,proto3" json:"faceValue,omitempty"` // 面值 OvernightCost string `protobuf:"bytes,23,opt,name=overnightCost,proto3" json:"overnightCost,omitempty"` // 过夜手续费 PryNum string `protobuf:"bytes,24,opt,name=pryNum,proto3" json:"pryNum,omitempty"` // 杠杆值 KeepDecimal string `protobuf:"bytes,25,opt,name=keepDecimal,proto3" json:"keepDecimal,omitempty"` // 保留小数位 SecondTime string `protobuf:"bytes,26,opt,name=secondTime,proto3" json:"secondTime,omitempty"` // 秒合约时间 State int64 `protobuf:"varint,27,opt,name=state,proto3" json:"state,omitempty"` // 订单类型 OrderStatus int64 `protobuf:"varint,28,opt,name=orderStatus,proto3" json:"orderStatus,omitempty"` // 订单盈亏状态 OrderValue string `protobuf:"bytes,29,opt,name=orderValue,proto3" json:"orderValue,omitempty"` // 订单盈亏值 } func (x *BotSecondTrade) Reset() { *x = BotSecondTrade{} if protoimpl.UnsafeEnabled { mi := &file_matchmaking_v1_virtually_second_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *BotSecondTrade) String() string { return protoimpl.X.MessageStringOf(x) } func (*BotSecondTrade) ProtoMessage() {} func (x *BotSecondTrade) ProtoReflect() protoreflect.Message { mi := &file_matchmaking_v1_virtually_second_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 BotSecondTrade.ProtoReflect.Descriptor instead. func (*BotSecondTrade) Descriptor() ([]byte, []int) { return file_matchmaking_v1_virtually_second_proto_rawDescGZIP(), []int{3} } func (x *BotSecondTrade) GetOrderId() string { if x != nil { return x.OrderId } return "" } func (x *BotSecondTrade) GetContractId() string { if x != nil { return x.ContractId } return "" } func (x *BotSecondTrade) GetTradeType() int64 { if x != nil { return x.TradeType } return 0 } func (x *BotSecondTrade) GetDealType() int64 { if x != nil { return x.DealType } return 0 } func (x *BotSecondTrade) GetLimitPrice() string { if x != nil { return x.LimitPrice } return "" } func (x *BotSecondTrade) GetMarketPrice() string { if x != nil { return x.MarketPrice } return "" } func (x *BotSecondTrade) GetDealPrice() string { if x != nil { return x.DealPrice } return "" } func (x *BotSecondTrade) GetClosingPrice() string { if x != nil { return x.ClosingPrice } return "" } func (x *BotSecondTrade) GetOrderNumber() string { if x != nil { return x.OrderNumber } return "" } func (x *BotSecondTrade) GetStopType() int64 { if x != nil { return x.StopType } return 0 } func (x *BotSecondTrade) GetStopLossPrice() string { if x != nil { return x.StopLossPrice } return "" } func (x *BotSecondTrade) GetStopWinPrice() string { if x != nil { return x.StopWinPrice } return "" } func (x *BotSecondTrade) GetServiceCost() string { if x != nil { return x.ServiceCost } return "" } func (x *BotSecondTrade) GetEarnestMoney() string { if x != nil { return x.EarnestMoney } return "" } func (x *BotSecondTrade) GetOrderMoney() string { if x != nil { return x.OrderMoney } return "" } func (x *BotSecondTrade) GetStatus() int64 { if x != nil { return x.Status } return 0 } func (x *BotSecondTrade) GetCreateTime() *timestamppb.Timestamp { if x != nil { return x.CreateTime } return nil } func (x *BotSecondTrade) GetUpdateTime() *timestamppb.Timestamp { if x != nil { return x.UpdateTime } return nil } func (x *BotSecondTrade) GetOpenTime() *timestamppb.Timestamp { if x != nil { return x.OpenTime } return nil } func (x *BotSecondTrade) GetClosingTime() *timestamppb.Timestamp { if x != nil { return x.ClosingTime } return nil } func (x *BotSecondTrade) GetClosingCost() string { if x != nil { return x.ClosingCost } return "" } func (x *BotSecondTrade) GetFaceValue() string { if x != nil { return x.FaceValue } return "" } func (x *BotSecondTrade) GetOvernightCost() string { if x != nil { return x.OvernightCost } return "" } func (x *BotSecondTrade) GetPryNum() string { if x != nil { return x.PryNum } return "" } func (x *BotSecondTrade) GetKeepDecimal() string { if x != nil { return x.KeepDecimal } return "" } func (x *BotSecondTrade) GetSecondTime() string { if x != nil { return x.SecondTime } return "" } func (x *BotSecondTrade) GetState() int64 { if x != nil { return x.State } return 0 } func (x *BotSecondTrade) GetOrderStatus() int64 { if x != nil { return x.OrderStatus } return 0 } func (x *BotSecondTrade) GetOrderValue() string { if x != nil { return x.OrderValue } return "" } type SecondOrderRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ContractId string `protobuf:"bytes,1,opt,name=contractId,proto3" json:"contractId,omitempty"` // 交易对 TradeType int64 `protobuf:"varint,2,opt,name=tradeType,proto3" json:"tradeType,omitempty"` // 交易类型:1买入,2卖出 DealType int64 `protobuf:"varint,3,opt,name=dealType,proto3" json:"dealType,omitempty"` // 委托方式:1限价,2市价 LimitPrice string `protobuf:"bytes,4,opt,name=limitPrice,proto3" json:"limitPrice,omitempty"` // 限价 MarketPrice string `protobuf:"bytes,5,opt,name=marketPrice,proto3" json:"marketPrice,omitempty"` // 市价 OrderAmount string `protobuf:"bytes,6,opt,name=orderAmount,proto3" json:"orderAmount,omitempty"` // 订单金额 OrderNumber string `protobuf:"bytes,7,opt,name=orderNumber,proto3" json:"orderNumber,omitempty"` // 订单数量 EarnestMoney string `protobuf:"bytes,8,opt,name=earnestMoney,proto3" json:"earnestMoney,omitempty"` // 保证金 ServiceCost string `protobuf:"bytes,9,opt,name=serviceCost,proto3" json:"serviceCost,omitempty"` // 手续费 StopType int64 `protobuf:"varint,10,opt,name=stopType,proto3" json:"stopType,omitempty"` // 止损止盈设置:0无设置,1止损止盈 StopLossPrice string `protobuf:"bytes,11,opt,name=stopLossPrice,proto3" json:"stopLossPrice,omitempty"` // 止损 StopWinPrice string `protobuf:"bytes,12,opt,name=stopWinPrice,proto3" json:"stopWinPrice,omitempty"` // 止盈 PryNum string `protobuf:"bytes,13,opt,name=pryNum,proto3" json:"pryNum,omitempty"` //杠杆 Time int64 `protobuf:"varint,14,opt,name=time,proto3" json:"time,omitempty"` // 秒合约时间 } func (x *SecondOrderRequest) Reset() { *x = SecondOrderRequest{} if protoimpl.UnsafeEnabled { mi := &file_matchmaking_v1_virtually_second_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SecondOrderRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*SecondOrderRequest) ProtoMessage() {} func (x *SecondOrderRequest) ProtoReflect() protoreflect.Message { mi := &file_matchmaking_v1_virtually_second_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 SecondOrderRequest.ProtoReflect.Descriptor instead. func (*SecondOrderRequest) Descriptor() ([]byte, []int) { return file_matchmaking_v1_virtually_second_proto_rawDescGZIP(), []int{4} } func (x *SecondOrderRequest) GetContractId() string { if x != nil { return x.ContractId } return "" } func (x *SecondOrderRequest) GetTradeType() int64 { if x != nil { return x.TradeType } return 0 } func (x *SecondOrderRequest) GetDealType() int64 { if x != nil { return x.DealType } return 0 } func (x *SecondOrderRequest) GetLimitPrice() string { if x != nil { return x.LimitPrice } return "" } func (x *SecondOrderRequest) GetMarketPrice() string { if x != nil { return x.MarketPrice } return "" } func (x *SecondOrderRequest) GetOrderAmount() string { if x != nil { return x.OrderAmount } return "" } func (x *SecondOrderRequest) GetOrderNumber() string { if x != nil { return x.OrderNumber } return "" } func (x *SecondOrderRequest) GetEarnestMoney() string { if x != nil { return x.EarnestMoney } return "" } func (x *SecondOrderRequest) GetServiceCost() string { if x != nil { return x.ServiceCost } return "" } func (x *SecondOrderRequest) GetStopType() int64 { if x != nil { return x.StopType } return 0 } func (x *SecondOrderRequest) GetStopLossPrice() string { if x != nil { return x.StopLossPrice } return "" } func (x *SecondOrderRequest) GetStopWinPrice() string { if x != nil { return x.StopWinPrice } return "" } func (x *SecondOrderRequest) GetPryNum() string { if x != nil { return x.PryNum } return "" } func (x *SecondOrderRequest) GetTime() int64 { if x != nil { return x.Time } return 0 } type SecondOrderReply struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Code int64 `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"` // 状态码 Data *SecondResult `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"` // 返回结果 Message string `protobuf:"bytes,3,opt,name=message,proto3" json:"message,omitempty"` // 返回消息提示 } func (x *SecondOrderReply) Reset() { *x = SecondOrderReply{} if protoimpl.UnsafeEnabled { mi := &file_matchmaking_v1_virtually_second_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SecondOrderReply) String() string { return protoimpl.X.MessageStringOf(x) } func (*SecondOrderReply) ProtoMessage() {} func (x *SecondOrderReply) ProtoReflect() protoreflect.Message { mi := &file_matchmaking_v1_virtually_second_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 SecondOrderReply.ProtoReflect.Descriptor instead. func (*SecondOrderReply) Descriptor() ([]byte, []int) { return file_matchmaking_v1_virtually_second_proto_rawDescGZIP(), []int{5} } func (x *SecondOrderReply) GetCode() int64 { if x != nil { return x.Code } return 0 } func (x *SecondOrderReply) GetData() *SecondResult { if x != nil { return x.Data } return nil } func (x *SecondOrderReply) GetMessage() string { if x != nil { return x.Message } return "" } type SecondResult struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields OrderId string `protobuf:"bytes,1,opt,name=orderId,proto3" json:"orderId,omitempty"` // 订单Id } func (x *SecondResult) Reset() { *x = SecondResult{} if protoimpl.UnsafeEnabled { mi := &file_matchmaking_v1_virtually_second_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SecondResult) String() string { return protoimpl.X.MessageStringOf(x) } func (*SecondResult) ProtoMessage() {} func (x *SecondResult) ProtoReflect() protoreflect.Message { mi := &file_matchmaking_v1_virtually_second_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 SecondResult.ProtoReflect.Descriptor instead. func (*SecondResult) Descriptor() ([]byte, []int) { return file_matchmaking_v1_virtually_second_proto_rawDescGZIP(), []int{6} } func (x *SecondResult) GetOrderId() string { if x != nil { return x.OrderId } return "" } var File_matchmaking_v1_virtually_second_proto protoreflect.FileDescriptor var file_matchmaking_v1_virtually_second_proto_rawDesc = []byte{ 0x0a, 0x25, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x6d, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x2f, 0x76, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x6c, 0x79, 0x2f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x6d, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x82, 0x01, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x42, 0x6f, 0x74, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x54, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x22, 0x7e, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x42, 0x6f, 0x74, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x54, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x36, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x6d, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x74, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x54, 0x72, 0x61, 0x64, 0x65, 0x44, 0x61, 0x74, 0x61, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0xa2, 0x01, 0x0a, 0x12, 0x42, 0x6f, 0x74, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x54, 0x72, 0x61, 0x64, 0x65, 0x44, 0x61, 0x74, 0x61, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x32, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x6d, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x74, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x54, 0x72, 0x61, 0x64, 0x65, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x1e, 0x0a, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x94, 0x08, 0x0a, 0x0e, 0x42, 0x6f, 0x74, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x54, 0x72, 0x61, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x72, 0x61, 0x64, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x74, 0x72, 0x61, 0x64, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x65, 0x61, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x64, 0x65, 0x61, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x65, 0x61, 0x6c, 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x65, 0x61, 0x6c, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x63, 0x6c, 0x6f, 0x73, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x6c, 0x6f, 0x73, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x74, 0x6f, 0x70, 0x54, 0x79, 0x70, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x73, 0x74, 0x6f, 0x70, 0x54, 0x79, 0x70, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x73, 0x74, 0x6f, 0x70, 0x4c, 0x6f, 0x73, 0x73, 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x74, 0x6f, 0x70, 0x4c, 0x6f, 0x73, 0x73, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x73, 0x74, 0x6f, 0x70, 0x57, 0x69, 0x6e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x74, 0x6f, 0x70, 0x57, 0x69, 0x6e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x73, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x65, 0x61, 0x72, 0x6e, 0x65, 0x73, 0x74, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x65, 0x61, 0x72, 0x6e, 0x65, 0x73, 0x74, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x10, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x3a, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3a, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x36, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3c, 0x0a, 0x0b, 0x63, 0x6c, 0x6f, 0x73, 0x69, 0x6e, 0x67, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0b, 0x63, 0x6c, 0x6f, 0x73, 0x69, 0x6e, 0x67, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x6c, 0x6f, 0x73, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x73, 0x74, 0x18, 0x15, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6c, 0x6f, 0x73, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x66, 0x61, 0x63, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x16, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x66, 0x61, 0x63, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x69, 0x67, 0x68, 0x74, 0x43, 0x6f, 0x73, 0x74, 0x18, 0x17, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x69, 0x67, 0x68, 0x74, 0x43, 0x6f, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x72, 0x79, 0x4e, 0x75, 0x6d, 0x18, 0x18, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x72, 0x79, 0x4e, 0x75, 0x6d, 0x12, 0x20, 0x0a, 0x0b, 0x6b, 0x65, 0x65, 0x70, 0x44, 0x65, 0x63, 0x69, 0x6d, 0x61, 0x6c, 0x18, 0x19, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6b, 0x65, 0x65, 0x70, 0x44, 0x65, 0x63, 0x69, 0x6d, 0x61, 0x6c, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xcc, 0x03, 0x0a, 0x12, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x72, 0x61, 0x64, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x74, 0x72, 0x61, 0x64, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x65, 0x61, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x64, 0x65, 0x61, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x22, 0x0a, 0x0c, 0x65, 0x61, 0x72, 0x6e, 0x65, 0x73, 0x74, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x65, 0x61, 0x72, 0x6e, 0x65, 0x73, 0x74, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x12, 0x20, 0x0a, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x73, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x74, 0x6f, 0x70, 0x54, 0x79, 0x70, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x73, 0x74, 0x6f, 0x70, 0x54, 0x79, 0x70, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x73, 0x74, 0x6f, 0x70, 0x4c, 0x6f, 0x73, 0x73, 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x74, 0x6f, 0x70, 0x4c, 0x6f, 0x73, 0x73, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x73, 0x74, 0x6f, 0x70, 0x57, 0x69, 0x6e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x74, 0x6f, 0x70, 0x57, 0x69, 0x6e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x72, 0x79, 0x4e, 0x75, 0x6d, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x72, 0x79, 0x4e, 0x75, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x22, 0x72, 0x0a, 0x10, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x30, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x6d, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x28, 0x0a, 0x0c, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x64, 0x32, 0xa4, 0x02, 0x0a, 0x06, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x12, 0x93, 0x01, 0x0a, 0x19, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x47, 0x65, 0x74, 0x42, 0x6f, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x12, 0x28, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x6d, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x6f, 0x74, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x54, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x6d, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x6f, 0x74, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x54, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x24, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1e, 0x3a, 0x01, 0x2a, 0x22, 0x19, 0x2f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x2f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x83, 0x01, 0x0a, 0x0b, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x22, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x6d, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x6d, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x28, 0x3a, 0x01, 0x2a, 0x22, 0x23, 0x2f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x2a, 0x5a, 0x28, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x6d, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2d, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x6d, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x3b, 0x76, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_matchmaking_v1_virtually_second_proto_rawDescOnce sync.Once file_matchmaking_v1_virtually_second_proto_rawDescData = file_matchmaking_v1_virtually_second_proto_rawDesc ) func file_matchmaking_v1_virtually_second_proto_rawDescGZIP() []byte { file_matchmaking_v1_virtually_second_proto_rawDescOnce.Do(func() { file_matchmaking_v1_virtually_second_proto_rawDescData = protoimpl.X.CompressGZIP(file_matchmaking_v1_virtually_second_proto_rawDescData) }) return file_matchmaking_v1_virtually_second_proto_rawDescData } var file_matchmaking_v1_virtually_second_proto_msgTypes = make([]protoimpl.MessageInfo, 7) var file_matchmaking_v1_virtually_second_proto_goTypes = []any{ (*GetBotSecondTradeRequest)(nil), // 0: matchmaking.v1.GetBotSecondTradeRequest (*GetBotSecondTradeReply)(nil), // 1: matchmaking.v1.GetBotSecondTradeReply (*BotSecondTradeData)(nil), // 2: matchmaking.v1.BotSecondTradeData (*BotSecondTrade)(nil), // 3: matchmaking.v1.BotSecondTrade (*SecondOrderRequest)(nil), // 4: matchmaking.v1.SecondOrderRequest (*SecondOrderReply)(nil), // 5: matchmaking.v1.SecondOrderReply (*SecondResult)(nil), // 6: matchmaking.v1.SecondResult (*timestamppb.Timestamp)(nil), // 7: google.protobuf.Timestamp } var file_matchmaking_v1_virtually_second_proto_depIdxs = []int32{ 2, // 0: matchmaking.v1.GetBotSecondTradeReply.data:type_name -> matchmaking.v1.BotSecondTradeData 3, // 1: matchmaking.v1.BotSecondTradeData.data:type_name -> matchmaking.v1.BotSecondTrade 7, // 2: matchmaking.v1.BotSecondTrade.createTime:type_name -> google.protobuf.Timestamp 7, // 3: matchmaking.v1.BotSecondTrade.updateTime:type_name -> google.protobuf.Timestamp 7, // 4: matchmaking.v1.BotSecondTrade.openTime:type_name -> google.protobuf.Timestamp 7, // 5: matchmaking.v1.BotSecondTrade.closingTime:type_name -> google.protobuf.Timestamp 6, // 6: matchmaking.v1.SecondOrderReply.data:type_name -> matchmaking.v1.SecondResult 0, // 7: matchmaking.v1.Second.SecondGetBotContractTrade:input_type -> matchmaking.v1.GetBotSecondTradeRequest 4, // 8: matchmaking.v1.Second.SecondOrder:input_type -> matchmaking.v1.SecondOrderRequest 1, // 9: matchmaking.v1.Second.SecondGetBotContractTrade:output_type -> matchmaking.v1.GetBotSecondTradeReply 5, // 10: matchmaking.v1.Second.SecondOrder:output_type -> matchmaking.v1.SecondOrderReply 9, // [9:11] is the sub-list for method output_type 7, // [7:9] is the sub-list for method input_type 7, // [7:7] is the sub-list for extension type_name 7, // [7:7] is the sub-list for extension extendee 0, // [0:7] is the sub-list for field type_name } func init() { file_matchmaking_v1_virtually_second_proto_init() } func file_matchmaking_v1_virtually_second_proto_init() { if File_matchmaking_v1_virtually_second_proto != nil { return } if !protoimpl.UnsafeEnabled { file_matchmaking_v1_virtually_second_proto_msgTypes[0].Exporter = func(v any, i int) any { switch v := v.(*GetBotSecondTradeRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_matchmaking_v1_virtually_second_proto_msgTypes[1].Exporter = func(v any, i int) any { switch v := v.(*GetBotSecondTradeReply); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_matchmaking_v1_virtually_second_proto_msgTypes[2].Exporter = func(v any, i int) any { switch v := v.(*BotSecondTradeData); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_matchmaking_v1_virtually_second_proto_msgTypes[3].Exporter = func(v any, i int) any { switch v := v.(*BotSecondTrade); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_matchmaking_v1_virtually_second_proto_msgTypes[4].Exporter = func(v any, i int) any { switch v := v.(*SecondOrderRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_matchmaking_v1_virtually_second_proto_msgTypes[5].Exporter = func(v any, i int) any { switch v := v.(*SecondOrderReply); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_matchmaking_v1_virtually_second_proto_msgTypes[6].Exporter = func(v any, i int) any { switch v := v.(*SecondResult); 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_matchmaking_v1_virtually_second_proto_rawDesc, NumEnums: 0, NumMessages: 7, NumExtensions: 0, NumServices: 1, }, GoTypes: file_matchmaking_v1_virtually_second_proto_goTypes, DependencyIndexes: file_matchmaking_v1_virtually_second_proto_depIdxs, MessageInfos: file_matchmaking_v1_virtually_second_proto_msgTypes, }.Build() File_matchmaking_v1_virtually_second_proto = out.File file_matchmaking_v1_virtually_second_proto_rawDesc = nil file_matchmaking_v1_virtually_second_proto_goTypes = nil file_matchmaking_v1_virtually_second_proto_depIdxs = nil }