// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.27.1-devel // protoc v3.19.4 // source: tournament.proto package tournament 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 TOURNAMENTID int32 const ( TOURNAMENTID_PACKET_TM_ZERO TOURNAMENTID = 0 //弃用消息号 TOURNAMENTID_PACKET_TM_CSTMInfo TOURNAMENTID = 2740 //请求场次信息 TOURNAMENTID_PACKET_TM_SCTMInfos TOURNAMENTID = 2741 //返回场次信息 TOURNAMENTID_PACKET_TM_CSTMRankList TOURNAMENTID = 2742 //排行榜 TOURNAMENTID_PACKET_TM_SCTMRankList TOURNAMENTID = 2743 //排行榜 TOURNAMENTID_PACKET_TM_CSSignRace TOURNAMENTID = 2744 //报名请求 TOURNAMENTID_PACKET_TM_SCSignRace TOURNAMENTID = 2745 //报名返回 TOURNAMENTID_PACKET_TM_SCSyncSignNum TOURNAMENTID = 2746 //报名人数更新 TOURNAMENTID_PACKET_TM_SCPromotionInfo TOURNAMENTID = 2747 //晋级信息 TOURNAMENTID_PACKET_TM_SCTMStart TOURNAMENTID = 2748 //比赛开始 TOURNAMENTID_PACKET_TM_CSTMSeasonInfo TOURNAMENTID = 2751 //赛季信息 TOURNAMENTID_PACKET_TM_SCTMSeasonInfo TOURNAMENTID = 2752 //赛季信息 TOURNAMENTID_PACKET_TM_CSTMSeasonRank TOURNAMENTID = 2753 //赛季排行榜 TOURNAMENTID_PACKET_TM_SCTMSeasonRank TOURNAMENTID = 2754 //赛季排行榜 TOURNAMENTID_PACKET_TM_CSTMSeasonAward TOURNAMENTID = 2755 //领取赛季奖励 TOURNAMENTID_PACKET_TM_SCTMSeasonAward TOURNAMENTID = 2756 //领取赛季奖励 TOURNAMENTID_PACKET_TM_CSMatchList TOURNAMENTID = 2757 // 比赛列表 TOURNAMENTID_PACKET_TM_SCMatchList TOURNAMENTID = 2758 // 比赛列表 TOURNAMENTID_PACKET_TM_CSRoomList TOURNAMENTID = 2759 // 比赛房间列表 TOURNAMENTID_PACKET_TM_SCRoomList TOURNAMENTID = 2760 // 比赛房间列表 ) // Enum value maps for TOURNAMENTID. var ( TOURNAMENTID_name = map[int32]string{ 0: "PACKET_TM_ZERO", 2740: "PACKET_TM_CSTMInfo", 2741: "PACKET_TM_SCTMInfos", 2742: "PACKET_TM_CSTMRankList", 2743: "PACKET_TM_SCTMRankList", 2744: "PACKET_TM_CSSignRace", 2745: "PACKET_TM_SCSignRace", 2746: "PACKET_TM_SCSyncSignNum", 2747: "PACKET_TM_SCPromotionInfo", 2748: "PACKET_TM_SCTMStart", 2751: "PACKET_TM_CSTMSeasonInfo", 2752: "PACKET_TM_SCTMSeasonInfo", 2753: "PACKET_TM_CSTMSeasonRank", 2754: "PACKET_TM_SCTMSeasonRank", 2755: "PACKET_TM_CSTMSeasonAward", 2756: "PACKET_TM_SCTMSeasonAward", 2757: "PACKET_TM_CSMatchList", 2758: "PACKET_TM_SCMatchList", 2759: "PACKET_TM_CSRoomList", 2760: "PACKET_TM_SCRoomList", } TOURNAMENTID_value = map[string]int32{ "PACKET_TM_ZERO": 0, "PACKET_TM_CSTMInfo": 2740, "PACKET_TM_SCTMInfos": 2741, "PACKET_TM_CSTMRankList": 2742, "PACKET_TM_SCTMRankList": 2743, "PACKET_TM_CSSignRace": 2744, "PACKET_TM_SCSignRace": 2745, "PACKET_TM_SCSyncSignNum": 2746, "PACKET_TM_SCPromotionInfo": 2747, "PACKET_TM_SCTMStart": 2748, "PACKET_TM_CSTMSeasonInfo": 2751, "PACKET_TM_SCTMSeasonInfo": 2752, "PACKET_TM_CSTMSeasonRank": 2753, "PACKET_TM_SCTMSeasonRank": 2754, "PACKET_TM_CSTMSeasonAward": 2755, "PACKET_TM_SCTMSeasonAward": 2756, "PACKET_TM_CSMatchList": 2757, "PACKET_TM_SCMatchList": 2758, "PACKET_TM_CSRoomList": 2759, "PACKET_TM_SCRoomList": 2760, } ) func (x TOURNAMENTID) Enum() *TOURNAMENTID { p := new(TOURNAMENTID) *p = x return p } func (x TOURNAMENTID) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (TOURNAMENTID) Descriptor() protoreflect.EnumDescriptor { return file_tournament_proto_enumTypes[0].Descriptor() } func (TOURNAMENTID) Type() protoreflect.EnumType { return &file_tournament_proto_enumTypes[0] } func (x TOURNAMENTID) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use TOURNAMENTID.Descriptor instead. func (TOURNAMENTID) EnumDescriptor() ([]byte, []int) { return file_tournament_proto_rawDescGZIP(), []int{0} } //操作结果 // 0成功 1重复报名 2比赛没有开启 3道具不足 4不在报名时间段 5金币不足 6钻石不足 7免费次数不足 type SignRaceCode int32 const ( SignRaceCode_OPRC_Sucess SignRaceCode = 0 //成功 SignRaceCode_OPRC_Repeat SignRaceCode = 1 //重复报名 SignRaceCode_OPRC_Close SignRaceCode = 2 // 比赛没有开启 SignRaceCode_OPRC_NoItem SignRaceCode = 3 // 道具不足 SignRaceCode_OPRC_Time SignRaceCode = 4 // 不在报名时间内 SignRaceCode_OPRC_Coin SignRaceCode = 5 // 金币不足 SignRaceCode_OPRC_Diamond SignRaceCode = 6 // 钻石不足 SignRaceCode_OPRC_Free SignRaceCode = 7 // 免费次数不足 SignRaceCode_OPRC_NoAward SignRaceCode = 8 // 奖励不足 ) // Enum value maps for SignRaceCode. var ( SignRaceCode_name = map[int32]string{ 0: "OPRC_Sucess", 1: "OPRC_Repeat", 2: "OPRC_Close", 3: "OPRC_NoItem", 4: "OPRC_Time", 5: "OPRC_Coin", 6: "OPRC_Diamond", 7: "OPRC_Free", 8: "OPRC_NoAward", } SignRaceCode_value = map[string]int32{ "OPRC_Sucess": 0, "OPRC_Repeat": 1, "OPRC_Close": 2, "OPRC_NoItem": 3, "OPRC_Time": 4, "OPRC_Coin": 5, "OPRC_Diamond": 6, "OPRC_Free": 7, "OPRC_NoAward": 8, } ) func (x SignRaceCode) Enum() *SignRaceCode { p := new(SignRaceCode) *p = x return p } func (x SignRaceCode) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (SignRaceCode) Descriptor() protoreflect.EnumDescriptor { return file_tournament_proto_enumTypes[1].Descriptor() } func (SignRaceCode) Type() protoreflect.EnumType { return &file_tournament_proto_enumTypes[1] } func (x SignRaceCode) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use SignRaceCode.Descriptor instead. func (SignRaceCode) EnumDescriptor() ([]byte, []int) { return file_tournament_proto_rawDescGZIP(), []int{1} } //比赛场场次 //PACKET_TM_CSTMInfo type CSTMInfo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *CSTMInfo) Reset() { *x = CSTMInfo{} if protoimpl.UnsafeEnabled { mi := &file_tournament_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CSTMInfo) String() string { return protoimpl.X.MessageStringOf(x) } func (*CSTMInfo) ProtoMessage() {} func (x *CSTMInfo) ProtoReflect() protoreflect.Message { mi := &file_tournament_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 CSTMInfo.ProtoReflect.Descriptor instead. func (*CSTMInfo) Descriptor() ([]byte, []int) { return file_tournament_proto_rawDescGZIP(), []int{0} } type ItemInfo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ItemId int32 `protobuf:"varint,1,opt,name=ItemId,proto3" json:"ItemId,omitempty"` // 物品ID ItemNum int32 `protobuf:"varint,2,opt,name=ItemNum,proto3" json:"ItemNum,omitempty"` // 物品数量 Name string `protobuf:"bytes,3,opt,name=Name,proto3" json:"Name,omitempty"` // 名称 Code string `protobuf:"bytes,4,opt,name=Code,proto3" json:"Code,omitempty"` // 兑换码 Msg string `protobuf:"bytes,5,opt,name=Msg,proto3" json:"Msg,omitempty"` // 自定义参数 } func (x *ItemInfo) Reset() { *x = ItemInfo{} if protoimpl.UnsafeEnabled { mi := &file_tournament_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ItemInfo) String() string { return protoimpl.X.MessageStringOf(x) } func (*ItemInfo) ProtoMessage() {} func (x *ItemInfo) ProtoReflect() protoreflect.Message { mi := &file_tournament_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 ItemInfo.ProtoReflect.Descriptor instead. func (*ItemInfo) Descriptor() ([]byte, []int) { return file_tournament_proto_rawDescGZIP(), []int{1} } func (x *ItemInfo) GetItemId() int32 { if x != nil { return x.ItemId } return 0 } func (x *ItemInfo) GetItemNum() int32 { if x != nil { return x.ItemNum } return 0 } func (x *ItemInfo) GetName() string { if x != nil { return x.Name } return "" } func (x *ItemInfo) GetCode() string { if x != nil { return x.Code } return "" } func (x *ItemInfo) GetMsg() string { if x != nil { return x.Msg } return "" } type MatchInfoAward struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ItemInfo []*ItemInfo `protobuf:"bytes,1,rep,name=ItemInfo,proto3" json:"ItemInfo,omitempty"` // 道具 Coin int64 `protobuf:"varint,2,opt,name=Coin,proto3" json:"Coin,omitempty"` // 金币 Diamond int64 `protobuf:"varint,3,opt,name=Diamond,proto3" json:"Diamond,omitempty"` // 钻石、 UpLimit int32 `protobuf:"varint,4,opt,name=UpLimit,proto3" json:"UpLimit,omitempty"` // 名次上行 DownLimit int32 `protobuf:"varint,5,opt,name=DownLimit,proto3" json:"DownLimit,omitempty"` // 名次下行 例如 第一名为 UpLimit 1,DownLimit 1 4~10为 UpLimit 4,DownLimit 10 } func (x *MatchInfoAward) Reset() { *x = MatchInfoAward{} if protoimpl.UnsafeEnabled { mi := &file_tournament_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *MatchInfoAward) String() string { return protoimpl.X.MessageStringOf(x) } func (*MatchInfoAward) ProtoMessage() {} func (x *MatchInfoAward) ProtoReflect() protoreflect.Message { mi := &file_tournament_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 MatchInfoAward.ProtoReflect.Descriptor instead. func (*MatchInfoAward) Descriptor() ([]byte, []int) { return file_tournament_proto_rawDescGZIP(), []int{2} } func (x *MatchInfoAward) GetItemInfo() []*ItemInfo { if x != nil { return x.ItemInfo } return nil } func (x *MatchInfoAward) GetCoin() int64 { if x != nil { return x.Coin } return 0 } func (x *MatchInfoAward) GetDiamond() int64 { if x != nil { return x.Diamond } return 0 } func (x *MatchInfoAward) GetUpLimit() int32 { if x != nil { return x.UpLimit } return 0 } func (x *MatchInfoAward) GetDownLimit() int32 { if x != nil { return x.DownLimit } return 0 } type TMInfo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id int32 `protobuf:"varint,1,opt,name=Id,proto3" json:"Id,omitempty"` // 序号 GameFreeId int32 `protobuf:"varint,2,opt,name=GameFreeId,proto3" json:"GameFreeId,omitempty"` // 玩法类型 所用的玩法ID MatchType int32 `protobuf:"varint,3,opt,name=MatchType,proto3" json:"MatchType,omitempty"` // 比赛类型 1.锦标赛 2.冠军赛 3.vip比赛 MatchName string `protobuf:"bytes,4,opt,name=MatchName,proto3" json:"MatchName,omitempty"` // 场次名字 MatchNumebr int32 `protobuf:"varint,5,opt,name=MatchNumebr,proto3" json:"MatchNumebr,omitempty"` // 报名人数 MatchPromotion []int32 `protobuf:"varint,6,rep,packed,name=MatchPromotion,proto3" json:"MatchPromotion,omitempty"` // 晋级方式 MatchSwitch int32 `protobuf:"varint,7,opt,name=MatchSwitch,proto3" json:"MatchSwitch,omitempty"` // 1.开启 2.关闭 Award []*MatchInfoAward `protobuf:"bytes,8,rep,name=Award,proto3" json:"Award,omitempty"` // 比赛奖励 SignupCostCoin int64 `protobuf:"varint,9,opt,name=SignupCostCoin,proto3" json:"SignupCostCoin,omitempty"` //报名消耗金币 SignupCostDiamond int64 `protobuf:"varint,10,opt,name=SignupCostDiamond,proto3" json:"SignupCostDiamond,omitempty"` //报名消耗钻石 SignupCostItem *ItemInfo `protobuf:"bytes,11,opt,name=SignupCostItem,proto3" json:"SignupCostItem,omitempty"` //报名消耗道具 MatchTimeType int32 `protobuf:"varint,12,opt,name=MatchTimeType,proto3" json:"MatchTimeType,omitempty"` //冠军赛时效类型 0无时效 1重复时间段 2一次性时间段 MatchTimeWeek []int32 `protobuf:"varint,13,rep,packed,name=MatchTimeWeek,proto3" json:"MatchTimeWeek,omitempty"` //周几 MatchTimeStartHMS int32 `protobuf:"varint,14,opt,name=MatchTimeStartHMS,proto3" json:"MatchTimeStartHMS,omitempty"` //几点开始(时*10000 + 分*100 + 秒) MatchTimeEndHMS int32 `protobuf:"varint,15,opt,name=MatchTimeEndHMS,proto3" json:"MatchTimeEndHMS,omitempty"` //几点结束(时*10000 + 分*100 + 秒) MatchTimeStamp []int64 `protobuf:"varint,16,rep,packed,name=MatchTimeStamp,proto3" json:"MatchTimeStamp,omitempty"` //哪一天(时间戳:开始时间戳-结束时间戳) TitleURL string `protobuf:"bytes,17,opt,name=TitleURL,proto3" json:"TitleURL,omitempty"` //比赛标题后台自定义 AwardShow string `protobuf:"bytes,18,opt,name=AwardShow,proto3" json:"AwardShow,omitempty"` //主要奖励展示 Rule string `protobuf:"bytes,19,opt,name=Rule,proto3" json:"Rule,omitempty"` SortId int32 `protobuf:"varint,20,opt,name=SortId,proto3" json:"SortId,omitempty"` OnChannelName []string `protobuf:"bytes,21,rep,name=OnChannelName,proto3" json:"OnChannelName,omitempty"` //在哪个渠道开启 ShowId int32 `protobuf:"varint,22,opt,name=ShowId,proto3" json:"ShowId,omitempty"` // 比赛区分 AwardNum int32 `protobuf:"varint,23,opt,name=AwardNum,proto3" json:"AwardNum,omitempty"` //比赛奖励剩余数量 AudienceSwitch int32 `protobuf:"varint,27,opt,name=AudienceSwitch,proto3" json:"AudienceSwitch,omitempty"` // 观战开关 1开启 2关闭 } func (x *TMInfo) Reset() { *x = TMInfo{} if protoimpl.UnsafeEnabled { mi := &file_tournament_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *TMInfo) String() string { return protoimpl.X.MessageStringOf(x) } func (*TMInfo) ProtoMessage() {} func (x *TMInfo) ProtoReflect() protoreflect.Message { mi := &file_tournament_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 TMInfo.ProtoReflect.Descriptor instead. func (*TMInfo) Descriptor() ([]byte, []int) { return file_tournament_proto_rawDescGZIP(), []int{3} } func (x *TMInfo) GetId() int32 { if x != nil { return x.Id } return 0 } func (x *TMInfo) GetGameFreeId() int32 { if x != nil { return x.GameFreeId } return 0 } func (x *TMInfo) GetMatchType() int32 { if x != nil { return x.MatchType } return 0 } func (x *TMInfo) GetMatchName() string { if x != nil { return x.MatchName } return "" } func (x *TMInfo) GetMatchNumebr() int32 { if x != nil { return x.MatchNumebr } return 0 } func (x *TMInfo) GetMatchPromotion() []int32 { if x != nil { return x.MatchPromotion } return nil } func (x *TMInfo) GetMatchSwitch() int32 { if x != nil { return x.MatchSwitch } return 0 } func (x *TMInfo) GetAward() []*MatchInfoAward { if x != nil { return x.Award } return nil } func (x *TMInfo) GetSignupCostCoin() int64 { if x != nil { return x.SignupCostCoin } return 0 } func (x *TMInfo) GetSignupCostDiamond() int64 { if x != nil { return x.SignupCostDiamond } return 0 } func (x *TMInfo) GetSignupCostItem() *ItemInfo { if x != nil { return x.SignupCostItem } return nil } func (x *TMInfo) GetMatchTimeType() int32 { if x != nil { return x.MatchTimeType } return 0 } func (x *TMInfo) GetMatchTimeWeek() []int32 { if x != nil { return x.MatchTimeWeek } return nil } func (x *TMInfo) GetMatchTimeStartHMS() int32 { if x != nil { return x.MatchTimeStartHMS } return 0 } func (x *TMInfo) GetMatchTimeEndHMS() int32 { if x != nil { return x.MatchTimeEndHMS } return 0 } func (x *TMInfo) GetMatchTimeStamp() []int64 { if x != nil { return x.MatchTimeStamp } return nil } func (x *TMInfo) GetTitleURL() string { if x != nil { return x.TitleURL } return "" } func (x *TMInfo) GetAwardShow() string { if x != nil { return x.AwardShow } return "" } func (x *TMInfo) GetRule() string { if x != nil { return x.Rule } return "" } func (x *TMInfo) GetSortId() int32 { if x != nil { return x.SortId } return 0 } func (x *TMInfo) GetOnChannelName() []string { if x != nil { return x.OnChannelName } return nil } func (x *TMInfo) GetShowId() int32 { if x != nil { return x.ShowId } return 0 } func (x *TMInfo) GetAwardNum() int32 { if x != nil { return x.AwardNum } return 0 } func (x *TMInfo) GetAudienceSwitch() int32 { if x != nil { return x.AudienceSwitch } return 0 } type MatchTypeInfo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Name string `protobuf:"bytes,1,opt,name=Name,proto3" json:"Name,omitempty"` // 名称 SortId int32 `protobuf:"varint,2,opt,name=SortId,proto3" json:"SortId,omitempty"` // 排序序号 On bool `protobuf:"varint,3,opt,name=On,proto3" json:"On,omitempty"` // 开关 Id int32 `protobuf:"varint,4,opt,name=Id,proto3" json:"Id,omitempty"` // 类型id } func (x *MatchTypeInfo) Reset() { *x = MatchTypeInfo{} if protoimpl.UnsafeEnabled { mi := &file_tournament_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *MatchTypeInfo) String() string { return protoimpl.X.MessageStringOf(x) } func (*MatchTypeInfo) ProtoMessage() {} func (x *MatchTypeInfo) ProtoReflect() protoreflect.Message { mi := &file_tournament_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 MatchTypeInfo.ProtoReflect.Descriptor instead. func (*MatchTypeInfo) Descriptor() ([]byte, []int) { return file_tournament_proto_rawDescGZIP(), []int{4} } func (x *MatchTypeInfo) GetName() string { if x != nil { return x.Name } return "" } func (x *MatchTypeInfo) GetSortId() int32 { if x != nil { return x.SortId } return 0 } func (x *MatchTypeInfo) GetOn() bool { if x != nil { return x.On } return false } func (x *MatchTypeInfo) GetId() int32 { if x != nil { return x.Id } return 0 } //比赛场场次 //PACKET_TM_SCTMInfos type SCTMInfos struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields TMInfo []*TMInfo `protobuf:"bytes,1,rep,name=TMInfo,proto3" json:"TMInfo,omitempty"` //比赛场场次信息 TypeList []*MatchTypeInfo `protobuf:"bytes,2,rep,name=TypeList,proto3" json:"TypeList,omitempty"` // 比赛类型列表 } func (x *SCTMInfos) Reset() { *x = SCTMInfos{} if protoimpl.UnsafeEnabled { mi := &file_tournament_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SCTMInfos) String() string { return protoimpl.X.MessageStringOf(x) } func (*SCTMInfos) ProtoMessage() {} func (x *SCTMInfos) ProtoReflect() protoreflect.Message { mi := &file_tournament_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 SCTMInfos.ProtoReflect.Descriptor instead. func (*SCTMInfos) Descriptor() ([]byte, []int) { return file_tournament_proto_rawDescGZIP(), []int{5} } func (x *SCTMInfos) GetTMInfo() []*TMInfo { if x != nil { return x.TMInfo } return nil } func (x *SCTMInfos) GetTypeList() []*MatchTypeInfo { if x != nil { return x.TypeList } return nil } //单场次排行榜 //PACKET_TM_CSTMRankList type CSTMRankList struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields TMId int32 `protobuf:"varint,1,opt,name=TMId,proto3" json:"TMId,omitempty"` //比赛场次id } func (x *CSTMRankList) Reset() { *x = CSTMRankList{} if protoimpl.UnsafeEnabled { mi := &file_tournament_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CSTMRankList) String() string { return protoimpl.X.MessageStringOf(x) } func (*CSTMRankList) ProtoMessage() {} func (x *CSTMRankList) ProtoReflect() protoreflect.Message { mi := &file_tournament_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 CSTMRankList.ProtoReflect.Descriptor instead. func (*CSTMRankList) Descriptor() ([]byte, []int) { return file_tournament_proto_rawDescGZIP(), []int{6} } func (x *CSTMRankList) GetTMId() int32 { if x != nil { return x.TMId } return 0 } type TMRank struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields RankId int32 `protobuf:"varint,1,opt,name=RankId,proto3" json:"RankId,omitempty"` //名次 RankName string `protobuf:"bytes,2,opt,name=RankName,proto3" json:"RankName,omitempty"` //名字 WinnerNum int32 `protobuf:"varint,3,opt,name=WinnerNum,proto3" json:"WinnerNum,omitempty"` //夺冠次数 } func (x *TMRank) Reset() { *x = TMRank{} if protoimpl.UnsafeEnabled { mi := &file_tournament_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *TMRank) String() string { return protoimpl.X.MessageStringOf(x) } func (*TMRank) ProtoMessage() {} func (x *TMRank) ProtoReflect() protoreflect.Message { mi := &file_tournament_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 TMRank.ProtoReflect.Descriptor instead. func (*TMRank) Descriptor() ([]byte, []int) { return file_tournament_proto_rawDescGZIP(), []int{7} } func (x *TMRank) GetRankId() int32 { if x != nil { return x.RankId } return 0 } func (x *TMRank) GetRankName() string { if x != nil { return x.RankName } return "" } func (x *TMRank) GetWinnerNum() int32 { if x != nil { return x.WinnerNum } return 0 } //PACKET_TM_CSTMRankList type SCTMRankList struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields TMId int32 `protobuf:"varint,1,opt,name=TMId,proto3" json:"TMId,omitempty"` //比赛场次id TimeRange string `protobuf:"bytes,2,opt,name=TimeRange,proto3" json:"TimeRange,omitempty"` //时间周期 TMRank []*TMRank `protobuf:"bytes,3,rep,name=TMRank,proto3" json:"TMRank,omitempty"` //排行榜 } func (x *SCTMRankList) Reset() { *x = SCTMRankList{} if protoimpl.UnsafeEnabled { mi := &file_tournament_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SCTMRankList) String() string { return protoimpl.X.MessageStringOf(x) } func (*SCTMRankList) ProtoMessage() {} func (x *SCTMRankList) ProtoReflect() protoreflect.Message { mi := &file_tournament_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 SCTMRankList.ProtoReflect.Descriptor instead. func (*SCTMRankList) Descriptor() ([]byte, []int) { return file_tournament_proto_rawDescGZIP(), []int{8} } func (x *SCTMRankList) GetTMId() int32 { if x != nil { return x.TMId } return 0 } func (x *SCTMRankList) GetTimeRange() string { if x != nil { return x.TimeRange } return "" } func (x *SCTMRankList) GetTMRank() []*TMRank { if x != nil { return x.TMRank } return nil } //报名 //PACKET_TM_CSSignRace type CSSignRace struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields OpCode int32 `protobuf:"varint,1,opt,name=OpCode,proto3" json:"OpCode,omitempty"` //0.报名 1.取消报名 TMId int32 `protobuf:"varint,2,opt,name=TMId,proto3" json:"TMId,omitempty"` //报名场次 --比赛配置id } func (x *CSSignRace) Reset() { *x = CSSignRace{} if protoimpl.UnsafeEnabled { mi := &file_tournament_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CSSignRace) String() string { return protoimpl.X.MessageStringOf(x) } func (*CSSignRace) ProtoMessage() {} func (x *CSSignRace) ProtoReflect() protoreflect.Message { mi := &file_tournament_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 CSSignRace.ProtoReflect.Descriptor instead. func (*CSSignRace) Descriptor() ([]byte, []int) { return file_tournament_proto_rawDescGZIP(), []int{9} } func (x *CSSignRace) GetOpCode() int32 { if x != nil { return x.OpCode } return 0 } func (x *CSSignRace) GetTMId() int32 { if x != nil { return x.TMId } return 0 } //PACKET_TM_SCSignRace type SCSignRace struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields OpCode int32 `protobuf:"varint,1,opt,name=OpCode,proto3" json:"OpCode,omitempty"` //0.报名 1.取消报名 RetCode int32 `protobuf:"varint,2,opt,name=RetCode,proto3" json:"RetCode,omitempty"` //返回结果 WaitStartTime int64 `protobuf:"varint,3,opt,name=WaitStartTime,proto3" json:"WaitStartTime,omitempty"` //预计等待时间 } func (x *SCSignRace) Reset() { *x = SCSignRace{} if protoimpl.UnsafeEnabled { mi := &file_tournament_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SCSignRace) String() string { return protoimpl.X.MessageStringOf(x) } func (*SCSignRace) ProtoMessage() {} func (x *SCSignRace) ProtoReflect() protoreflect.Message { mi := &file_tournament_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 SCSignRace.ProtoReflect.Descriptor instead. func (*SCSignRace) Descriptor() ([]byte, []int) { return file_tournament_proto_rawDescGZIP(), []int{10} } func (x *SCSignRace) GetOpCode() int32 { if x != nil { return x.OpCode } return 0 } func (x *SCSignRace) GetRetCode() int32 { if x != nil { return x.RetCode } return 0 } func (x *SCSignRace) GetWaitStartTime() int64 { if x != nil { return x.WaitStartTime } return 0 } //报名人数更新 --报名那个场次通知那个 暂时只能报名一个场次 //PACKET_TM_SCSyncSignNum type SCSyncSignNum struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields SignNum int32 `protobuf:"varint,1,opt,name=SignNum,proto3" json:"SignNum,omitempty"` //当前报名人数 MaxSignNum int32 `protobuf:"varint,2,opt,name=MaxSignNum,proto3" json:"MaxSignNum,omitempty"` //最大报名人数 } func (x *SCSyncSignNum) Reset() { *x = SCSyncSignNum{} if protoimpl.UnsafeEnabled { mi := &file_tournament_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SCSyncSignNum) String() string { return protoimpl.X.MessageStringOf(x) } func (*SCSyncSignNum) ProtoMessage() {} func (x *SCSyncSignNum) ProtoReflect() protoreflect.Message { mi := &file_tournament_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 SCSyncSignNum.ProtoReflect.Descriptor instead. func (*SCSyncSignNum) Descriptor() ([]byte, []int) { return file_tournament_proto_rawDescGZIP(), []int{11} } func (x *SCSyncSignNum) GetSignNum() int32 { if x != nil { return x.SignNum } return 0 } func (x *SCSyncSignNum) GetMaxSignNum() int32 { if x != nil { return x.MaxSignNum } return 0 } //比赛开始 //PACKET_TM_SCTMStart type SCTMStart struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields MatchId int32 `protobuf:"varint,1,opt,name=MatchId,proto3" json:"MatchId,omitempty"` } func (x *SCTMStart) Reset() { *x = SCTMStart{} if protoimpl.UnsafeEnabled { mi := &file_tournament_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SCTMStart) String() string { return protoimpl.X.MessageStringOf(x) } func (*SCTMStart) ProtoMessage() {} func (x *SCTMStart) ProtoReflect() protoreflect.Message { mi := &file_tournament_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 SCTMStart.ProtoReflect.Descriptor instead. func (*SCTMStart) Descriptor() ([]byte, []int) { return file_tournament_proto_rawDescGZIP(), []int{12} } func (x *SCTMStart) GetMatchId() int32 { if x != nil { return x.MatchId } return 0 } type RankAward struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ItemInfo []*ItemInfo `protobuf:"bytes,1,rep,name=ItemInfo,proto3" json:"ItemInfo,omitempty"` // 道具 Coin int64 `protobuf:"varint,2,opt,name=Coin,proto3" json:"Coin,omitempty"` // 金币 Diamond int64 `protobuf:"varint,3,opt,name=Diamond,proto3" json:"Diamond,omitempty"` // 钻石 } func (x *RankAward) Reset() { *x = RankAward{} if protoimpl.UnsafeEnabled { mi := &file_tournament_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RankAward) String() string { return protoimpl.X.MessageStringOf(x) } func (*RankAward) ProtoMessage() {} func (x *RankAward) ProtoReflect() protoreflect.Message { mi := &file_tournament_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 RankAward.ProtoReflect.Descriptor instead. func (*RankAward) Descriptor() ([]byte, []int) { return file_tournament_proto_rawDescGZIP(), []int{13} } func (x *RankAward) GetItemInfo() []*ItemInfo { if x != nil { return x.ItemInfo } return nil } func (x *RankAward) GetCoin() int64 { if x != nil { return x.Coin } return 0 } func (x *RankAward) GetDiamond() int64 { if x != nil { return x.Diamond } return 0 } //晋级数据更新 //PACKET_TM_SCPromotionInfo type SCPromotionInfo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields RetCode int32 `protobuf:"varint,1,opt,name=RetCode,proto3" json:"RetCode,omitempty"` //0.晋级等待匹配 1.失败退出 2.等待判断是否晋级 Round int32 `protobuf:"varint,2,opt,name=Round,proto3" json:"Round,omitempty"` //当前第几轮 RoundCoin int32 `protobuf:"varint,3,opt,name=RoundCoin,proto3" json:"RoundCoin,omitempty"` //晋级奖励金币 RankId int32 `protobuf:"varint,4,opt,name=RankId,proto3" json:"RankId,omitempty"` //当前排名 Record map[int32]int32 `protobuf:"bytes,5,rep,name=Record,proto3" json:"Record,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` //战绩 key:-1输 0 和 1赢 value次数 MatchId int32 `protobuf:"varint,6,opt,name=MatchId,proto3" json:"MatchId,omitempty"` MatchPromotion []int32 `protobuf:"varint,7,rep,packed,name=MatchPromotion,proto3" json:"MatchPromotion,omitempty"` //晋级方式 RankAward *RankAward `protobuf:"bytes,8,opt,name=RankAward,proto3" json:"RankAward,omitempty"` //排名奖励 MatchName string `protobuf:"bytes,9,opt,name=MatchName,proto3" json:"MatchName,omitempty"` // 场次名字 } func (x *SCPromotionInfo) Reset() { *x = SCPromotionInfo{} if protoimpl.UnsafeEnabled { mi := &file_tournament_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SCPromotionInfo) String() string { return protoimpl.X.MessageStringOf(x) } func (*SCPromotionInfo) ProtoMessage() {} func (x *SCPromotionInfo) ProtoReflect() protoreflect.Message { mi := &file_tournament_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 SCPromotionInfo.ProtoReflect.Descriptor instead. func (*SCPromotionInfo) Descriptor() ([]byte, []int) { return file_tournament_proto_rawDescGZIP(), []int{14} } func (x *SCPromotionInfo) GetRetCode() int32 { if x != nil { return x.RetCode } return 0 } func (x *SCPromotionInfo) GetRound() int32 { if x != nil { return x.Round } return 0 } func (x *SCPromotionInfo) GetRoundCoin() int32 { if x != nil { return x.RoundCoin } return 0 } func (x *SCPromotionInfo) GetRankId() int32 { if x != nil { return x.RankId } return 0 } func (x *SCPromotionInfo) GetRecord() map[int32]int32 { if x != nil { return x.Record } return nil } func (x *SCPromotionInfo) GetMatchId() int32 { if x != nil { return x.MatchId } return 0 } func (x *SCPromotionInfo) GetMatchPromotion() []int32 { if x != nil { return x.MatchPromotion } return nil } func (x *SCPromotionInfo) GetRankAward() *RankAward { if x != nil { return x.RankAward } return nil } func (x *SCPromotionInfo) GetMatchName() string { if x != nil { return x.MatchName } return "" } //赛季信息 type CSTMSeasonInfo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *CSTMSeasonInfo) Reset() { *x = CSTMSeasonInfo{} if protoimpl.UnsafeEnabled { mi := &file_tournament_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CSTMSeasonInfo) String() string { return protoimpl.X.MessageStringOf(x) } func (*CSTMSeasonInfo) ProtoMessage() {} func (x *CSTMSeasonInfo) ProtoReflect() protoreflect.Message { mi := &file_tournament_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 CSTMSeasonInfo.ProtoReflect.Descriptor instead. func (*CSTMSeasonInfo) Descriptor() ([]byte, []int) { return file_tournament_proto_rawDescGZIP(), []int{15} } type SCTMSeasonInfo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id int32 `protobuf:"varint,1,opt,name=Id,proto3" json:"Id,omitempty"` //当前赛季 SeasonTimeStamp []int64 `protobuf:"varint,2,rep,packed,name=SeasonTimeStamp,proto3" json:"SeasonTimeStamp,omitempty"` //(时间戳:开始时间戳-结束时间戳) Lv int32 `protobuf:"varint,3,opt,name=Lv,proto3" json:"Lv,omitempty"` //段位 LastLv int32 `protobuf:"varint,4,opt,name=LastLv,proto3" json:"LastLv,omitempty"` //上赛季段位 IsAward bool `protobuf:"varint,5,opt,name=IsAward,proto3" json:"IsAward,omitempty"` //上赛季是否领奖 } func (x *SCTMSeasonInfo) Reset() { *x = SCTMSeasonInfo{} if protoimpl.UnsafeEnabled { mi := &file_tournament_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SCTMSeasonInfo) String() string { return protoimpl.X.MessageStringOf(x) } func (*SCTMSeasonInfo) ProtoMessage() {} func (x *SCTMSeasonInfo) ProtoReflect() protoreflect.Message { mi := &file_tournament_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 SCTMSeasonInfo.ProtoReflect.Descriptor instead. func (*SCTMSeasonInfo) Descriptor() ([]byte, []int) { return file_tournament_proto_rawDescGZIP(), []int{16} } func (x *SCTMSeasonInfo) GetId() int32 { if x != nil { return x.Id } return 0 } func (x *SCTMSeasonInfo) GetSeasonTimeStamp() []int64 { if x != nil { return x.SeasonTimeStamp } return nil } func (x *SCTMSeasonInfo) GetLv() int32 { if x != nil { return x.Lv } return 0 } func (x *SCTMSeasonInfo) GetLastLv() int32 { if x != nil { return x.LastLv } return 0 } func (x *SCTMSeasonInfo) GetIsAward() bool { if x != nil { return x.IsAward } return false } //赛季排行榜 type SeasonRank struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Snid int32 `protobuf:"varint,1,opt,name=Snid,proto3" json:"Snid,omitempty"` Name string `protobuf:"bytes,2,opt,name=Name,proto3" json:"Name,omitempty"` Lv int32 `protobuf:"varint,3,opt,name=Lv,proto3" json:"Lv,omitempty"` //段位 Rank int32 `protobuf:"varint,4,opt,name=Rank,proto3" json:"Rank,omitempty"` //段位排名 } func (x *SeasonRank) Reset() { *x = SeasonRank{} if protoimpl.UnsafeEnabled { mi := &file_tournament_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SeasonRank) String() string { return protoimpl.X.MessageStringOf(x) } func (*SeasonRank) ProtoMessage() {} func (x *SeasonRank) ProtoReflect() protoreflect.Message { mi := &file_tournament_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 SeasonRank.ProtoReflect.Descriptor instead. func (*SeasonRank) Descriptor() ([]byte, []int) { return file_tournament_proto_rawDescGZIP(), []int{17} } func (x *SeasonRank) GetSnid() int32 { if x != nil { return x.Snid } return 0 } func (x *SeasonRank) GetName() string { if x != nil { return x.Name } return "" } func (x *SeasonRank) GetLv() int32 { if x != nil { return x.Lv } return 0 } func (x *SeasonRank) GetRank() int32 { if x != nil { return x.Rank } return 0 } type CSTMSeasonRank struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *CSTMSeasonRank) Reset() { *x = CSTMSeasonRank{} if protoimpl.UnsafeEnabled { mi := &file_tournament_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CSTMSeasonRank) String() string { return protoimpl.X.MessageStringOf(x) } func (*CSTMSeasonRank) ProtoMessage() {} func (x *CSTMSeasonRank) ProtoReflect() protoreflect.Message { mi := &file_tournament_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 CSTMSeasonRank.ProtoReflect.Descriptor instead. func (*CSTMSeasonRank) Descriptor() ([]byte, []int) { return file_tournament_proto_rawDescGZIP(), []int{18} } type SCTMSeasonRank struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ReasonRanks []*SeasonRank `protobuf:"bytes,6,rep,name=ReasonRanks,proto3" json:"ReasonRanks,omitempty"` //排行榜 前100名 (包含自己) } func (x *SCTMSeasonRank) Reset() { *x = SCTMSeasonRank{} if protoimpl.UnsafeEnabled { mi := &file_tournament_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SCTMSeasonRank) String() string { return protoimpl.X.MessageStringOf(x) } func (*SCTMSeasonRank) ProtoMessage() {} func (x *SCTMSeasonRank) ProtoReflect() protoreflect.Message { mi := &file_tournament_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 SCTMSeasonRank.ProtoReflect.Descriptor instead. func (*SCTMSeasonRank) Descriptor() ([]byte, []int) { return file_tournament_proto_rawDescGZIP(), []int{19} } func (x *SCTMSeasonRank) GetReasonRanks() []*SeasonRank { if x != nil { return x.ReasonRanks } return nil } //领取赛季奖励 type CSTMSeasonAward struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Lv int32 `protobuf:"varint,1,opt,name=Lv,proto3" json:"Lv,omitempty"` //段位 } func (x *CSTMSeasonAward) Reset() { *x = CSTMSeasonAward{} if protoimpl.UnsafeEnabled { mi := &file_tournament_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CSTMSeasonAward) String() string { return protoimpl.X.MessageStringOf(x) } func (*CSTMSeasonAward) ProtoMessage() {} func (x *CSTMSeasonAward) ProtoReflect() protoreflect.Message { mi := &file_tournament_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 CSTMSeasonAward.ProtoReflect.Descriptor instead. func (*CSTMSeasonAward) Descriptor() ([]byte, []int) { return file_tournament_proto_rawDescGZIP(), []int{20} } func (x *CSTMSeasonAward) GetLv() int32 { if x != nil { return x.Lv } return 0 } type SCTMSeasonAward struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Lv int32 `protobuf:"varint,1,opt,name=Lv,proto3" json:"Lv,omitempty"` //段位 Code int32 `protobuf:"varint,2,opt,name=Code,proto3" json:"Code,omitempty"` //0成功 1失败 } func (x *SCTMSeasonAward) Reset() { *x = SCTMSeasonAward{} if protoimpl.UnsafeEnabled { mi := &file_tournament_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SCTMSeasonAward) String() string { return protoimpl.X.MessageStringOf(x) } func (*SCTMSeasonAward) ProtoMessage() {} func (x *SCTMSeasonAward) ProtoReflect() protoreflect.Message { mi := &file_tournament_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 SCTMSeasonAward.ProtoReflect.Descriptor instead. func (*SCTMSeasonAward) Descriptor() ([]byte, []int) { return file_tournament_proto_rawDescGZIP(), []int{21} } func (x *SCTMSeasonAward) GetLv() int32 { if x != nil { return x.Lv } return 0 } func (x *SCTMSeasonAward) GetCode() int32 { if x != nil { return x.Code } return 0 } //PACKET_TM_CSMatchList type CSMatchList struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields MatchId int64 `protobuf:"varint,1,opt,name=MatchId,proto3" json:"MatchId,omitempty"` // 比赛id 0表示所有比赛场 Tp int32 `protobuf:"varint,2,opt,name=Tp,proto3" json:"Tp,omitempty"` // 房间类型 0所有房间 1可观战房间 } func (x *CSMatchList) Reset() { *x = CSMatchList{} if protoimpl.UnsafeEnabled { mi := &file_tournament_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CSMatchList) String() string { return protoimpl.X.MessageStringOf(x) } func (*CSMatchList) ProtoMessage() {} func (x *CSMatchList) ProtoReflect() protoreflect.Message { mi := &file_tournament_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 CSMatchList.ProtoReflect.Descriptor instead. func (*CSMatchList) Descriptor() ([]byte, []int) { return file_tournament_proto_rawDescGZIP(), []int{22} } func (x *CSMatchList) GetMatchId() int64 { if x != nil { return x.MatchId } return 0 } func (x *CSMatchList) GetTp() int32 { if x != nil { return x.Tp } return 0 } type MatchPlayer struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields SnId int32 `protobuf:"varint,1,opt,name=SnId,proto3" json:"SnId,omitempty"` // 玩家id Name string `protobuf:"bytes,2,opt,name=Name,proto3" json:"Name,omitempty"` // 玩家名字 HeadUrl string `protobuf:"bytes,3,opt,name=HeadUrl,proto3" json:"HeadUrl,omitempty"` //头像地址 UseRoleId int32 `protobuf:"varint,4,opt,name=UseRoleId,proto3" json:"UseRoleId,omitempty"` //使用的人物模型id UseSkinId int32 `protobuf:"varint,5,opt,name=UseSkinId,proto3" json:"UseSkinId,omitempty"` // 皮肤id Rank int32 `protobuf:"varint,6,opt,name=Rank,proto3" json:"Rank,omitempty"` //排名 Score int32 `protobuf:"varint,7,opt,name=Score,proto3" json:"Score,omitempty"` //分数 } func (x *MatchPlayer) Reset() { *x = MatchPlayer{} if protoimpl.UnsafeEnabled { mi := &file_tournament_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *MatchPlayer) String() string { return protoimpl.X.MessageStringOf(x) } func (*MatchPlayer) ProtoMessage() {} func (x *MatchPlayer) ProtoReflect() protoreflect.Message { mi := &file_tournament_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 MatchPlayer.ProtoReflect.Descriptor instead. func (*MatchPlayer) Descriptor() ([]byte, []int) { return file_tournament_proto_rawDescGZIP(), []int{23} } func (x *MatchPlayer) GetSnId() int32 { if x != nil { return x.SnId } return 0 } func (x *MatchPlayer) GetName() string { if x != nil { return x.Name } return "" } func (x *MatchPlayer) GetHeadUrl() string { if x != nil { return x.HeadUrl } return "" } func (x *MatchPlayer) GetUseRoleId() int32 { if x != nil { return x.UseRoleId } return 0 } func (x *MatchPlayer) GetUseSkinId() int32 { if x != nil { return x.UseSkinId } return 0 } func (x *MatchPlayer) GetRank() int32 { if x != nil { return x.Rank } return 0 } func (x *MatchPlayer) GetScore() int32 { if x != nil { return x.Score } return 0 } type MatchInfo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields MatchId int64 `protobuf:"varint,1,opt,name=MatchId,proto3" json:"MatchId,omitempty"` // 比赛id InstanceId int64 `protobuf:"varint,2,opt,name=InstanceId,proto3" json:"InstanceId,omitempty"` // 本场比赛id Name string `protobuf:"bytes,3,opt,name=Name,proto3" json:"Name,omitempty"` // 比赛名字 Round int32 `protobuf:"varint,4,opt,name=Round,proto3" json:"Round,omitempty"` // 当前第几轮 TotalRound int32 `protobuf:"varint,5,opt,name=TotalRound,proto3" json:"TotalRound,omitempty"` // 总轮数 RemainNum int32 `protobuf:"varint,6,opt,name=RemainNum,proto3" json:"RemainNum,omitempty"` // 剩余人数 Players []*MatchPlayer `protobuf:"bytes,7,rep,name=Players,proto3" json:"Players,omitempty"` // 玩家列表 Icon string `protobuf:"bytes,8,opt,name=Icon,proto3" json:"Icon,omitempty"` // 比赛图标 } func (x *MatchInfo) Reset() { *x = MatchInfo{} if protoimpl.UnsafeEnabled { mi := &file_tournament_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *MatchInfo) String() string { return protoimpl.X.MessageStringOf(x) } func (*MatchInfo) ProtoMessage() {} func (x *MatchInfo) ProtoReflect() protoreflect.Message { mi := &file_tournament_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 MatchInfo.ProtoReflect.Descriptor instead. func (*MatchInfo) Descriptor() ([]byte, []int) { return file_tournament_proto_rawDescGZIP(), []int{24} } func (x *MatchInfo) GetMatchId() int64 { if x != nil { return x.MatchId } return 0 } func (x *MatchInfo) GetInstanceId() int64 { if x != nil { return x.InstanceId } return 0 } func (x *MatchInfo) GetName() string { if x != nil { return x.Name } return "" } func (x *MatchInfo) GetRound() int32 { if x != nil { return x.Round } return 0 } func (x *MatchInfo) GetTotalRound() int32 { if x != nil { return x.TotalRound } return 0 } func (x *MatchInfo) GetRemainNum() int32 { if x != nil { return x.RemainNum } return 0 } func (x *MatchInfo) GetPlayers() []*MatchPlayer { if x != nil { return x.Players } return nil } func (x *MatchInfo) GetIcon() string { if x != nil { return x.Icon } return "" } type SCTMMatchList struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields List []*MatchInfo `protobuf:"bytes,1,rep,name=List,proto3" json:"List,omitempty"` MatchId int64 `protobuf:"varint,2,opt,name=MatchId,proto3" json:"MatchId,omitempty"` Tp int32 `protobuf:"varint,3,opt,name=Tp,proto3" json:"Tp,omitempty"` } func (x *SCTMMatchList) Reset() { *x = SCTMMatchList{} if protoimpl.UnsafeEnabled { mi := &file_tournament_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SCTMMatchList) String() string { return protoimpl.X.MessageStringOf(x) } func (*SCTMMatchList) ProtoMessage() {} func (x *SCTMMatchList) ProtoReflect() protoreflect.Message { mi := &file_tournament_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 SCTMMatchList.ProtoReflect.Descriptor instead. func (*SCTMMatchList) Descriptor() ([]byte, []int) { return file_tournament_proto_rawDescGZIP(), []int{25} } func (x *SCTMMatchList) GetList() []*MatchInfo { if x != nil { return x.List } return nil } func (x *SCTMMatchList) GetMatchId() int64 { if x != nil { return x.MatchId } return 0 } func (x *SCTMMatchList) GetTp() int32 { if x != nil { return x.Tp } return 0 } //PACKET_TM_CSRoomList type CSRoomList struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id int64 `protobuf:"varint,1,opt,name=Id,proto3" json:"Id,omitempty"` // 本场比赛id 0表示所有房间 Tp int32 `protobuf:"varint,2,opt,name=Tp,proto3" json:"Tp,omitempty"` // 房间类型 0所有房间 1可观战房间 } func (x *CSRoomList) Reset() { *x = CSRoomList{} if protoimpl.UnsafeEnabled { mi := &file_tournament_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CSRoomList) String() string { return protoimpl.X.MessageStringOf(x) } func (*CSRoomList) ProtoMessage() {} func (x *CSRoomList) ProtoReflect() protoreflect.Message { mi := &file_tournament_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 CSRoomList.ProtoReflect.Descriptor instead. func (*CSRoomList) Descriptor() ([]byte, []int) { return file_tournament_proto_rawDescGZIP(), []int{26} } func (x *CSRoomList) GetId() int64 { if x != nil { return x.Id } return 0 } func (x *CSRoomList) GetTp() int32 { if x != nil { return x.Tp } return 0 } type MatchRoom struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields RoomId int64 `protobuf:"varint,1,opt,name=RoomId,proto3" json:"RoomId,omitempty"` // 房间id MatchId int64 `protobuf:"varint,2,opt,name=MatchId,proto3" json:"MatchId,omitempty"` // 比赛id InstanceId int64 `protobuf:"varint,3,opt,name=InstanceId,proto3" json:"InstanceId,omitempty"` // 本场比赛id Round int32 `protobuf:"varint,4,opt,name=Round,proto3" json:"Round,omitempty"` // 当前第几轮 TotalRound int32 `protobuf:"varint,5,opt,name=TotalRound,proto3" json:"TotalRound,omitempty"` // 总轮数 Players []*MatchPlayer `protobuf:"bytes,7,rep,name=Players,proto3" json:"Players,omitempty"` // 玩家列表 } func (x *MatchRoom) Reset() { *x = MatchRoom{} if protoimpl.UnsafeEnabled { mi := &file_tournament_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *MatchRoom) String() string { return protoimpl.X.MessageStringOf(x) } func (*MatchRoom) ProtoMessage() {} func (x *MatchRoom) ProtoReflect() protoreflect.Message { mi := &file_tournament_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 MatchRoom.ProtoReflect.Descriptor instead. func (*MatchRoom) Descriptor() ([]byte, []int) { return file_tournament_proto_rawDescGZIP(), []int{27} } func (x *MatchRoom) GetRoomId() int64 { if x != nil { return x.RoomId } return 0 } func (x *MatchRoom) GetMatchId() int64 { if x != nil { return x.MatchId } return 0 } func (x *MatchRoom) GetInstanceId() int64 { if x != nil { return x.InstanceId } return 0 } func (x *MatchRoom) GetRound() int32 { if x != nil { return x.Round } return 0 } func (x *MatchRoom) GetTotalRound() int32 { if x != nil { return x.TotalRound } return 0 } func (x *MatchRoom) GetPlayers() []*MatchPlayer { if x != nil { return x.Players } return nil } type SCRoomList struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields List []*MatchRoom `protobuf:"bytes,1,rep,name=List,proto3" json:"List,omitempty"` Id int64 `protobuf:"varint,2,opt,name=Id,proto3" json:"Id,omitempty"` Tp int32 `protobuf:"varint,3,opt,name=Tp,proto3" json:"Tp,omitempty"` } func (x *SCRoomList) Reset() { *x = SCRoomList{} if protoimpl.UnsafeEnabled { mi := &file_tournament_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SCRoomList) String() string { return protoimpl.X.MessageStringOf(x) } func (*SCRoomList) ProtoMessage() {} func (x *SCRoomList) ProtoReflect() protoreflect.Message { mi := &file_tournament_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 SCRoomList.ProtoReflect.Descriptor instead. func (*SCRoomList) Descriptor() ([]byte, []int) { return file_tournament_proto_rawDescGZIP(), []int{28} } func (x *SCRoomList) GetList() []*MatchRoom { if x != nil { return x.List } return nil } func (x *SCRoomList) GetId() int64 { if x != nil { return x.Id } return 0 } func (x *SCRoomList) GetTp() int32 { if x != nil { return x.Tp } return 0 } var File_tournament_proto protoreflect.FileDescriptor var file_tournament_proto_rawDesc = []byte{ 0x0a, 0x10, 0x74, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0a, 0x74, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x0a, 0x0a, 0x08, 0x43, 0x53, 0x54, 0x4d, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x76, 0x0a, 0x08, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x16, 0x0a, 0x06, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x49, 0x74, 0x65, 0x6d, 0x4e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x49, 0x74, 0x65, 0x6d, 0x4e, 0x75, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x22, 0xa8, 0x01, 0x0a, 0x0e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x41, 0x77, 0x61, 0x72, 0x64, 0x12, 0x30, 0x0a, 0x08, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x74, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x43, 0x6f, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x43, 0x6f, 0x69, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x55, 0x70, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x55, 0x70, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x44, 0x6f, 0x77, 0x6e, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x44, 0x6f, 0x77, 0x6e, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x22, 0xda, 0x06, 0x0a, 0x06, 0x54, 0x4d, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x47, 0x61, 0x6d, 0x65, 0x46, 0x72, 0x65, 0x65, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x47, 0x61, 0x6d, 0x65, 0x46, 0x72, 0x65, 0x65, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4e, 0x75, 0x6d, 0x65, 0x62, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4e, 0x75, 0x6d, 0x65, 0x62, 0x72, 0x12, 0x26, 0x0a, 0x0e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x12, 0x30, 0x0a, 0x05, 0x41, 0x77, 0x61, 0x72, 0x64, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x74, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x41, 0x77, 0x61, 0x72, 0x64, 0x52, 0x05, 0x41, 0x77, 0x61, 0x72, 0x64, 0x12, 0x26, 0x0a, 0x0e, 0x53, 0x69, 0x67, 0x6e, 0x75, 0x70, 0x43, 0x6f, 0x73, 0x74, 0x43, 0x6f, 0x69, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x53, 0x69, 0x67, 0x6e, 0x75, 0x70, 0x43, 0x6f, 0x73, 0x74, 0x43, 0x6f, 0x69, 0x6e, 0x12, 0x2c, 0x0a, 0x11, 0x53, 0x69, 0x67, 0x6e, 0x75, 0x70, 0x43, 0x6f, 0x73, 0x74, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x11, 0x53, 0x69, 0x67, 0x6e, 0x75, 0x70, 0x43, 0x6f, 0x73, 0x74, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x12, 0x3c, 0x0a, 0x0e, 0x53, 0x69, 0x67, 0x6e, 0x75, 0x70, 0x43, 0x6f, 0x73, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x74, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0e, 0x53, 0x69, 0x67, 0x6e, 0x75, 0x70, 0x43, 0x6f, 0x73, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x24, 0x0a, 0x0d, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x57, 0x65, 0x65, 0x6b, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0d, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x57, 0x65, 0x65, 0x6b, 0x12, 0x2c, 0x0a, 0x11, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x48, 0x4d, 0x53, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x11, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x48, 0x4d, 0x53, 0x12, 0x28, 0x0a, 0x0f, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x45, 0x6e, 0x64, 0x48, 0x4d, 0x53, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x45, 0x6e, 0x64, 0x48, 0x4d, 0x53, 0x12, 0x26, 0x0a, 0x0e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x10, 0x20, 0x03, 0x28, 0x03, 0x52, 0x0e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1a, 0x0a, 0x08, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x55, 0x52, 0x4c, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x55, 0x52, 0x4c, 0x12, 0x1c, 0x0a, 0x09, 0x41, 0x77, 0x61, 0x72, 0x64, 0x53, 0x68, 0x6f, 0x77, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x41, 0x77, 0x61, 0x72, 0x64, 0x53, 0x68, 0x6f, 0x77, 0x12, 0x12, 0x0a, 0x04, 0x52, 0x75, 0x6c, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x6f, 0x72, 0x74, 0x49, 0x64, 0x18, 0x14, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x53, 0x6f, 0x72, 0x74, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0d, 0x4f, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x15, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x4f, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x68, 0x6f, 0x77, 0x49, 0x64, 0x18, 0x16, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x53, 0x68, 0x6f, 0x77, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x41, 0x77, 0x61, 0x72, 0x64, 0x4e, 0x75, 0x6d, 0x18, 0x17, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x41, 0x77, 0x61, 0x72, 0x64, 0x4e, 0x75, 0x6d, 0x12, 0x26, 0x0a, 0x0e, 0x41, 0x75, 0x64, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x41, 0x75, 0x64, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x22, 0x5b, 0x0a, 0x0d, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x54, 0x79, 0x70, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x6f, 0x72, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x53, 0x6f, 0x72, 0x74, 0x49, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x4f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x02, 0x4f, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x22, 0x6e, 0x0a, 0x09, 0x53, 0x43, 0x54, 0x4d, 0x49, 0x6e, 0x66, 0x6f, 0x73, 0x12, 0x2a, 0x0a, 0x06, 0x54, 0x4d, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x74, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x54, 0x4d, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x54, 0x4d, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x35, 0x0a, 0x08, 0x54, 0x79, 0x70, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x74, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x54, 0x79, 0x70, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x54, 0x79, 0x70, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x22, 0x0a, 0x0c, 0x43, 0x53, 0x54, 0x4d, 0x52, 0x61, 0x6e, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x54, 0x4d, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x54, 0x4d, 0x49, 0x64, 0x22, 0x5a, 0x0a, 0x06, 0x54, 0x4d, 0x52, 0x61, 0x6e, 0x6b, 0x12, 0x16, 0x0a, 0x06, 0x52, 0x61, 0x6e, 0x6b, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x52, 0x61, 0x6e, 0x6b, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x52, 0x61, 0x6e, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x52, 0x61, 0x6e, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x57, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x57, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x22, 0x6c, 0x0a, 0x0c, 0x53, 0x43, 0x54, 0x4d, 0x52, 0x61, 0x6e, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x54, 0x4d, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x54, 0x4d, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x2a, 0x0a, 0x06, 0x54, 0x4d, 0x52, 0x61, 0x6e, 0x6b, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x74, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x54, 0x4d, 0x52, 0x61, 0x6e, 0x6b, 0x52, 0x06, 0x54, 0x4d, 0x52, 0x61, 0x6e, 0x6b, 0x22, 0x38, 0x0a, 0x0a, 0x43, 0x53, 0x53, 0x69, 0x67, 0x6e, 0x52, 0x61, 0x63, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x4f, 0x70, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x4f, 0x70, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x54, 0x4d, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x54, 0x4d, 0x49, 0x64, 0x22, 0x64, 0x0a, 0x0a, 0x53, 0x43, 0x53, 0x69, 0x67, 0x6e, 0x52, 0x61, 0x63, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x4f, 0x70, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x4f, 0x70, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x57, 0x61, 0x69, 0x74, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x57, 0x61, 0x69, 0x74, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x49, 0x0a, 0x0d, 0x53, 0x43, 0x53, 0x79, 0x6e, 0x63, 0x53, 0x69, 0x67, 0x6e, 0x4e, 0x75, 0x6d, 0x12, 0x18, 0x0a, 0x07, 0x53, 0x69, 0x67, 0x6e, 0x4e, 0x75, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x53, 0x69, 0x67, 0x6e, 0x4e, 0x75, 0x6d, 0x12, 0x1e, 0x0a, 0x0a, 0x4d, 0x61, 0x78, 0x53, 0x69, 0x67, 0x6e, 0x4e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x4d, 0x61, 0x78, 0x53, 0x69, 0x67, 0x6e, 0x4e, 0x75, 0x6d, 0x22, 0x25, 0x0a, 0x09, 0x53, 0x43, 0x54, 0x4d, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x22, 0x6b, 0x0a, 0x09, 0x52, 0x61, 0x6e, 0x6b, 0x41, 0x77, 0x61, 0x72, 0x64, 0x12, 0x30, 0x0a, 0x08, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x74, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x43, 0x6f, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x43, 0x6f, 0x69, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x22, 0x88, 0x03, 0x0a, 0x0f, 0x53, 0x43, 0x50, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x18, 0x0a, 0x07, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x43, 0x6f, 0x69, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x43, 0x6f, 0x69, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x52, 0x61, 0x6e, 0x6b, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x52, 0x61, 0x6e, 0x6b, 0x49, 0x64, 0x12, 0x3f, 0x0a, 0x06, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x74, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x43, 0x50, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x33, 0x0a, 0x09, 0x52, 0x61, 0x6e, 0x6b, 0x41, 0x77, 0x61, 0x72, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x52, 0x61, 0x6e, 0x6b, 0x41, 0x77, 0x61, 0x72, 0x64, 0x52, 0x09, 0x52, 0x61, 0x6e, 0x6b, 0x41, 0x77, 0x61, 0x72, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x1a, 0x39, 0x0a, 0x0b, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x10, 0x0a, 0x0e, 0x43, 0x53, 0x54, 0x4d, 0x53, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x8c, 0x01, 0x0a, 0x0e, 0x53, 0x43, 0x54, 0x4d, 0x53, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x0f, 0x53, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x02, 0x20, 0x03, 0x28, 0x03, 0x52, 0x0f, 0x53, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x0e, 0x0a, 0x02, 0x4c, 0x76, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x4c, 0x76, 0x12, 0x16, 0x0a, 0x06, 0x4c, 0x61, 0x73, 0x74, 0x4c, 0x76, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x4c, 0x61, 0x73, 0x74, 0x4c, 0x76, 0x12, 0x18, 0x0a, 0x07, 0x49, 0x73, 0x41, 0x77, 0x61, 0x72, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x49, 0x73, 0x41, 0x77, 0x61, 0x72, 0x64, 0x22, 0x58, 0x0a, 0x0a, 0x53, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x52, 0x61, 0x6e, 0x6b, 0x12, 0x12, 0x0a, 0x04, 0x53, 0x6e, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x53, 0x6e, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x4c, 0x76, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x4c, 0x76, 0x12, 0x12, 0x0a, 0x04, 0x52, 0x61, 0x6e, 0x6b, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x52, 0x61, 0x6e, 0x6b, 0x22, 0x10, 0x0a, 0x0e, 0x43, 0x53, 0x54, 0x4d, 0x53, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x52, 0x61, 0x6e, 0x6b, 0x22, 0x4a, 0x0a, 0x0e, 0x53, 0x43, 0x54, 0x4d, 0x53, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x52, 0x61, 0x6e, 0x6b, 0x12, 0x38, 0x0a, 0x0b, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x52, 0x61, 0x6e, 0x6b, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x74, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x52, 0x61, 0x6e, 0x6b, 0x52, 0x0b, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x52, 0x61, 0x6e, 0x6b, 0x73, 0x22, 0x21, 0x0a, 0x0f, 0x43, 0x53, 0x54, 0x4d, 0x53, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x41, 0x77, 0x61, 0x72, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x4c, 0x76, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x4c, 0x76, 0x22, 0x35, 0x0a, 0x0f, 0x53, 0x43, 0x54, 0x4d, 0x53, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x41, 0x77, 0x61, 0x72, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x4c, 0x76, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x4c, 0x76, 0x12, 0x12, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x22, 0x37, 0x0a, 0x0b, 0x43, 0x53, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x54, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x54, 0x70, 0x22, 0xb5, 0x01, 0x0a, 0x0b, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x53, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x53, 0x6e, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x48, 0x65, 0x61, 0x64, 0x55, 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x48, 0x65, 0x61, 0x64, 0x55, 0x72, 0x6c, 0x12, 0x1c, 0x0a, 0x09, 0x55, 0x73, 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x55, 0x73, 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x55, 0x73, 0x65, 0x53, 0x6b, 0x69, 0x6e, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x55, 0x73, 0x65, 0x53, 0x6b, 0x69, 0x6e, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x52, 0x61, 0x6e, 0x6b, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x52, 0x61, 0x6e, 0x6b, 0x12, 0x14, 0x0a, 0x05, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x22, 0xf4, 0x01, 0x0a, 0x09, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x18, 0x0a, 0x07, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x52, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x4e, 0x75, 0x6d, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x52, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x4e, 0x75, 0x6d, 0x12, 0x31, 0x0a, 0x07, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x74, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x52, 0x07, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x49, 0x63, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x49, 0x63, 0x6f, 0x6e, 0x22, 0x64, 0x0a, 0x0d, 0x53, 0x43, 0x54, 0x4d, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x29, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x54, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x54, 0x70, 0x22, 0x2c, 0x0a, 0x0a, 0x43, 0x53, 0x52, 0x6f, 0x6f, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x49, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x54, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x54, 0x70, 0x22, 0xc6, 0x01, 0x0a, 0x09, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x6f, 0x6f, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x31, 0x0a, 0x07, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x74, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x52, 0x07, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x22, 0x57, 0x0a, 0x0a, 0x53, 0x43, 0x52, 0x6f, 0x6f, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x29, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x49, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x54, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x54, 0x70, 0x2a, 0xc7, 0x04, 0x0a, 0x0c, 0x54, 0x4f, 0x55, 0x52, 0x4e, 0x41, 0x4d, 0x45, 0x4e, 0x54, 0x49, 0x44, 0x12, 0x12, 0x0a, 0x0e, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x54, 0x4d, 0x5f, 0x5a, 0x45, 0x52, 0x4f, 0x10, 0x00, 0x12, 0x17, 0x0a, 0x12, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x54, 0x4d, 0x5f, 0x43, 0x53, 0x54, 0x4d, 0x49, 0x6e, 0x66, 0x6f, 0x10, 0xb4, 0x15, 0x12, 0x18, 0x0a, 0x13, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x54, 0x4d, 0x5f, 0x53, 0x43, 0x54, 0x4d, 0x49, 0x6e, 0x66, 0x6f, 0x73, 0x10, 0xb5, 0x15, 0x12, 0x1b, 0x0a, 0x16, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x54, 0x4d, 0x5f, 0x43, 0x53, 0x54, 0x4d, 0x52, 0x61, 0x6e, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x10, 0xb6, 0x15, 0x12, 0x1b, 0x0a, 0x16, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x54, 0x4d, 0x5f, 0x53, 0x43, 0x54, 0x4d, 0x52, 0x61, 0x6e, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x10, 0xb7, 0x15, 0x12, 0x19, 0x0a, 0x14, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x54, 0x4d, 0x5f, 0x43, 0x53, 0x53, 0x69, 0x67, 0x6e, 0x52, 0x61, 0x63, 0x65, 0x10, 0xb8, 0x15, 0x12, 0x19, 0x0a, 0x14, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x54, 0x4d, 0x5f, 0x53, 0x43, 0x53, 0x69, 0x67, 0x6e, 0x52, 0x61, 0x63, 0x65, 0x10, 0xb9, 0x15, 0x12, 0x1c, 0x0a, 0x17, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x54, 0x4d, 0x5f, 0x53, 0x43, 0x53, 0x79, 0x6e, 0x63, 0x53, 0x69, 0x67, 0x6e, 0x4e, 0x75, 0x6d, 0x10, 0xba, 0x15, 0x12, 0x1e, 0x0a, 0x19, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x54, 0x4d, 0x5f, 0x53, 0x43, 0x50, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x10, 0xbb, 0x15, 0x12, 0x18, 0x0a, 0x13, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x54, 0x4d, 0x5f, 0x53, 0x43, 0x54, 0x4d, 0x53, 0x74, 0x61, 0x72, 0x74, 0x10, 0xbc, 0x15, 0x12, 0x1d, 0x0a, 0x18, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x54, 0x4d, 0x5f, 0x43, 0x53, 0x54, 0x4d, 0x53, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x10, 0xbf, 0x15, 0x12, 0x1d, 0x0a, 0x18, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x54, 0x4d, 0x5f, 0x53, 0x43, 0x54, 0x4d, 0x53, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x10, 0xc0, 0x15, 0x12, 0x1d, 0x0a, 0x18, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x54, 0x4d, 0x5f, 0x43, 0x53, 0x54, 0x4d, 0x53, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x52, 0x61, 0x6e, 0x6b, 0x10, 0xc1, 0x15, 0x12, 0x1d, 0x0a, 0x18, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x54, 0x4d, 0x5f, 0x53, 0x43, 0x54, 0x4d, 0x53, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x52, 0x61, 0x6e, 0x6b, 0x10, 0xc2, 0x15, 0x12, 0x1e, 0x0a, 0x19, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x54, 0x4d, 0x5f, 0x43, 0x53, 0x54, 0x4d, 0x53, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x41, 0x77, 0x61, 0x72, 0x64, 0x10, 0xc3, 0x15, 0x12, 0x1e, 0x0a, 0x19, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x54, 0x4d, 0x5f, 0x53, 0x43, 0x54, 0x4d, 0x53, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x41, 0x77, 0x61, 0x72, 0x64, 0x10, 0xc4, 0x15, 0x12, 0x1a, 0x0a, 0x15, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x54, 0x4d, 0x5f, 0x43, 0x53, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4c, 0x69, 0x73, 0x74, 0x10, 0xc5, 0x15, 0x12, 0x1a, 0x0a, 0x15, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x54, 0x4d, 0x5f, 0x53, 0x43, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4c, 0x69, 0x73, 0x74, 0x10, 0xc6, 0x15, 0x12, 0x19, 0x0a, 0x14, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x54, 0x4d, 0x5f, 0x43, 0x53, 0x52, 0x6f, 0x6f, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x10, 0xc7, 0x15, 0x12, 0x19, 0x0a, 0x14, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x54, 0x4d, 0x5f, 0x53, 0x43, 0x52, 0x6f, 0x6f, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x10, 0xc8, 0x15, 0x2a, 0xa2, 0x01, 0x0a, 0x0c, 0x53, 0x69, 0x67, 0x6e, 0x52, 0x61, 0x63, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x0f, 0x0a, 0x0b, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x53, 0x75, 0x63, 0x65, 0x73, 0x73, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x10, 0x02, 0x12, 0x0f, 0x0a, 0x0b, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x4e, 0x6f, 0x49, 0x74, 0x65, 0x6d, 0x10, 0x03, 0x12, 0x0d, 0x0a, 0x09, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x54, 0x69, 0x6d, 0x65, 0x10, 0x04, 0x12, 0x0d, 0x0a, 0x09, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x43, 0x6f, 0x69, 0x6e, 0x10, 0x05, 0x12, 0x10, 0x0a, 0x0c, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x10, 0x06, 0x12, 0x0d, 0x0a, 0x09, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x46, 0x72, 0x65, 0x65, 0x10, 0x07, 0x12, 0x10, 0x0a, 0x0c, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x4e, 0x6f, 0x41, 0x77, 0x61, 0x72, 0x64, 0x10, 0x08, 0x42, 0x2a, 0x5a, 0x28, 0x6d, 0x6f, 0x6e, 0x67, 0x6f, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x61, 0x6d, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2f, 0x74, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_tournament_proto_rawDescOnce sync.Once file_tournament_proto_rawDescData = file_tournament_proto_rawDesc ) func file_tournament_proto_rawDescGZIP() []byte { file_tournament_proto_rawDescOnce.Do(func() { file_tournament_proto_rawDescData = protoimpl.X.CompressGZIP(file_tournament_proto_rawDescData) }) return file_tournament_proto_rawDescData } var file_tournament_proto_enumTypes = make([]protoimpl.EnumInfo, 2) var file_tournament_proto_msgTypes = make([]protoimpl.MessageInfo, 30) var file_tournament_proto_goTypes = []interface{}{ (TOURNAMENTID)(0), // 0: tournament.TOURNAMENTID (SignRaceCode)(0), // 1: tournament.SignRaceCode (*CSTMInfo)(nil), // 2: tournament.CSTMInfo (*ItemInfo)(nil), // 3: tournament.ItemInfo (*MatchInfoAward)(nil), // 4: tournament.MatchInfoAward (*TMInfo)(nil), // 5: tournament.TMInfo (*MatchTypeInfo)(nil), // 6: tournament.MatchTypeInfo (*SCTMInfos)(nil), // 7: tournament.SCTMInfos (*CSTMRankList)(nil), // 8: tournament.CSTMRankList (*TMRank)(nil), // 9: tournament.TMRank (*SCTMRankList)(nil), // 10: tournament.SCTMRankList (*CSSignRace)(nil), // 11: tournament.CSSignRace (*SCSignRace)(nil), // 12: tournament.SCSignRace (*SCSyncSignNum)(nil), // 13: tournament.SCSyncSignNum (*SCTMStart)(nil), // 14: tournament.SCTMStart (*RankAward)(nil), // 15: tournament.RankAward (*SCPromotionInfo)(nil), // 16: tournament.SCPromotionInfo (*CSTMSeasonInfo)(nil), // 17: tournament.CSTMSeasonInfo (*SCTMSeasonInfo)(nil), // 18: tournament.SCTMSeasonInfo (*SeasonRank)(nil), // 19: tournament.SeasonRank (*CSTMSeasonRank)(nil), // 20: tournament.CSTMSeasonRank (*SCTMSeasonRank)(nil), // 21: tournament.SCTMSeasonRank (*CSTMSeasonAward)(nil), // 22: tournament.CSTMSeasonAward (*SCTMSeasonAward)(nil), // 23: tournament.SCTMSeasonAward (*CSMatchList)(nil), // 24: tournament.CSMatchList (*MatchPlayer)(nil), // 25: tournament.MatchPlayer (*MatchInfo)(nil), // 26: tournament.MatchInfo (*SCTMMatchList)(nil), // 27: tournament.SCTMMatchList (*CSRoomList)(nil), // 28: tournament.CSRoomList (*MatchRoom)(nil), // 29: tournament.MatchRoom (*SCRoomList)(nil), // 30: tournament.SCRoomList nil, // 31: tournament.SCPromotionInfo.RecordEntry } var file_tournament_proto_depIdxs = []int32{ 3, // 0: tournament.MatchInfoAward.ItemInfo:type_name -> tournament.ItemInfo 4, // 1: tournament.TMInfo.Award:type_name -> tournament.MatchInfoAward 3, // 2: tournament.TMInfo.SignupCostItem:type_name -> tournament.ItemInfo 5, // 3: tournament.SCTMInfos.TMInfo:type_name -> tournament.TMInfo 6, // 4: tournament.SCTMInfos.TypeList:type_name -> tournament.MatchTypeInfo 9, // 5: tournament.SCTMRankList.TMRank:type_name -> tournament.TMRank 3, // 6: tournament.RankAward.ItemInfo:type_name -> tournament.ItemInfo 31, // 7: tournament.SCPromotionInfo.Record:type_name -> tournament.SCPromotionInfo.RecordEntry 15, // 8: tournament.SCPromotionInfo.RankAward:type_name -> tournament.RankAward 19, // 9: tournament.SCTMSeasonRank.ReasonRanks:type_name -> tournament.SeasonRank 25, // 10: tournament.MatchInfo.Players:type_name -> tournament.MatchPlayer 26, // 11: tournament.SCTMMatchList.List:type_name -> tournament.MatchInfo 25, // 12: tournament.MatchRoom.Players:type_name -> tournament.MatchPlayer 29, // 13: tournament.SCRoomList.List:type_name -> tournament.MatchRoom 14, // [14:14] is the sub-list for method output_type 14, // [14:14] is the sub-list for method input_type 14, // [14:14] is the sub-list for extension type_name 14, // [14:14] is the sub-list for extension extendee 0, // [0:14] is the sub-list for field type_name } func init() { file_tournament_proto_init() } func file_tournament_proto_init() { if File_tournament_proto != nil { return } if !protoimpl.UnsafeEnabled { file_tournament_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CSTMInfo); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_tournament_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ItemInfo); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_tournament_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MatchInfoAward); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_tournament_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TMInfo); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_tournament_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MatchTypeInfo); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_tournament_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SCTMInfos); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_tournament_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CSTMRankList); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_tournament_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TMRank); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_tournament_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SCTMRankList); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_tournament_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CSSignRace); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_tournament_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SCSignRace); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_tournament_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SCSyncSignNum); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_tournament_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SCTMStart); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_tournament_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RankAward); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_tournament_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SCPromotionInfo); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_tournament_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CSTMSeasonInfo); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_tournament_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SCTMSeasonInfo); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_tournament_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SeasonRank); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_tournament_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CSTMSeasonRank); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_tournament_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SCTMSeasonRank); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_tournament_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CSTMSeasonAward); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_tournament_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SCTMSeasonAward); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_tournament_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CSMatchList); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_tournament_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MatchPlayer); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_tournament_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MatchInfo); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_tournament_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SCTMMatchList); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_tournament_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CSRoomList); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_tournament_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MatchRoom); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_tournament_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SCRoomList); 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_tournament_proto_rawDesc, NumEnums: 2, NumMessages: 30, NumExtensions: 0, NumServices: 0, }, GoTypes: file_tournament_proto_goTypes, DependencyIndexes: file_tournament_proto_depIdxs, EnumInfos: file_tournament_proto_enumTypes, MessageInfos: file_tournament_proto_msgTypes, }.Build() File_tournament_proto = out.File file_tournament_proto_rawDesc = nil file_tournament_proto_goTypes = nil file_tournament_proto_depIdxs = nil }