From 83305772e49061d02de722b1910877ee9312c369 Mon Sep 17 00:00:00 2001 From: hahwu <31872165+hahwu@users.noreply.github.com> Date: Mon, 17 Mar 2025 11:02:45 +0800 Subject: [PATCH] =?UTF-8?q?playroom=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/server/conf/playroom/playroomCfg.go | 64 + src/server/game/GameLogic.go | 2 + src/server/game/Gm.go | 17 + src/server/game/PlayerFunc.go | 11 + src/server/game/RegisterNetworkFunc.go | 26 + src/server/game/UnitTest.go | 5 +- src/server/game/mod/playroom/playroom.go | 76 + src/server/msg/Gameapi.pb.go | 1891 +++++++++++++--------- 8 files changed, 1310 insertions(+), 782 deletions(-) diff --git a/src/server/conf/playroom/playroomCfg.go b/src/server/conf/playroom/playroomCfg.go index 7a959ac0..ff169e85 100644 --- a/src/server/conf/playroom/playroomCfg.go +++ b/src/server/conf/playroom/playroomCfg.go @@ -13,6 +13,8 @@ const ( CFG_PLAYROOM_PHYSIOLOGY = "PlayroomPhysiology" CFG_PLAYROOM_PHYSIOLOGY_TYPE = "PlayroomPhysiologyType" CFG_PLAYROOM_SHOP = "PlayroomShop" + CFG_PLAYROOM_DRESS = "PlayroomDress" + CFG_PLAYROOM_AIR = "PlayroomAir" ) func init() { @@ -22,6 +24,8 @@ func init() { gamedata.InitCfg(CFG_PLAYROOM_PHYSIOLOGY) gamedata.InitCfg(CFG_PLAYROOM_PHYSIOLOGY_TYPE) gamedata.InitCfg(CFG_PLAYROOM_SHOP) + gamedata.InitCfg(CFG_PLAYROOM_DRESS) + gamedata.InitCfg(CFG_PLAYROOM_AIR) } func GetShopItem(Id int) (int, []*item.Item) { @@ -252,3 +256,63 @@ func IsPlayCat(Id int) bool { Ids := gamedata.GetIntSliceValue(data, "Value") return GoUtil.InArray(Id, Ids) } + +func GetInitAirList() []int { + r := make([]int, 0) + data, err := gamedata.GetData(CFG_PLAYROOM_AIR) + if err != nil { + return []int{} + } + for k, v := range data { + if gamedata.GetIntValue(v, "Init") == 1 { + r = append(r, GoUtil.Int(k)) + } + } + return r +} + +func GetAirList() []int { + r := make([]int, 0) + data, err := gamedata.GetData(CFG_PLAYROOM_AIR) + if err != nil { + return []int{} + } + for k := range data { + r = append(r, GoUtil.Int(k)) + } + return r +} + +func GetInitDressList() []int { + r := make([]int, 0) + data, err := gamedata.GetData(CFG_PLAYROOM_DRESS) + if err != nil { + return []int{} + } + for k, v := range data { + if gamedata.GetIntValue(v, "Init") == 1 { + r = append(r, GoUtil.Int(k)) + } + } + return r +} + +func GetDressList() []int { + r := make([]int, 0) + data, err := gamedata.GetData(CFG_PLAYROOM_DRESS) + if err != nil { + return []int{} + } + for k := range data { + r = append(r, GoUtil.Int(k)) + } + return r +} + +func GetDressPart(Id int) int { + data, err := gamedata.GetDataByIntKey(CFG_PLAYROOM_DRESS, Id) + if err != nil { + return 0 + } + return gamedata.GetIntValue(data, "IPart") +} diff --git a/src/server/game/GameLogic.go b/src/server/game/GameLogic.go index 43fe60e8..be156a54 100644 --- a/src/server/game/GameLogic.go +++ b/src/server/game/GameLogic.go @@ -774,6 +774,8 @@ func (ad *GameLogic) RegisterNetWorkFunc() { // #region playroom RegisterMsgProcessFunc("ReqPlayroom", ReqPlayroom) // 请求playroom数据 RegisterMsgProcessFunc("ReqPlayroomInfo", ReqPlayroomInfo) // 请求playroom拜访信息 + RegisterMsgProcessFunc("ReqPlayroomDressSet", ReqPlayroomDressSet) // 设置服装 + RegisterMsgProcessFunc("ReqPlayroomPetAirSet", ReqPlayroomPetAirSet) // 获取宠物空气 RegisterMsgProcessFunc("ReqPlayroomGame", ReqPlayroomGame) // 游戏结果 RegisterMsgProcessFunc("ReqPlayroomInteract", ReqPlayroomInteract) // 宠物交互 RegisterMsgProcessFunc("ReqPlayroomSetRoom", ReqPlayroomSetRoom) // playroom装饰 diff --git a/src/server/game/Gm.go b/src/server/game/Gm.go index 4d2db9e9..ae51b266 100644 --- a/src/server/game/Gm.go +++ b/src/server/game/Gm.go @@ -237,6 +237,23 @@ func ReqGmCommand_(player *Player, Command string) error { for _, v := range CollectList { PlayroomMod.AddCollect(v) } + case "playroomDress": + PlayroomMod := player.PlayMod.getPlayroomMod() + PlayroomMod.Dress = make(map[int][]int) + DressList := playroomCfg.GetDressList() + for _, v := range DressList { + Part := playroomCfg.GetDressPart(v) + PlayroomMod.UnlockDress(Part, v) + } + PlayroomBackData(player) + case "playroomAir": + PlayroomMod := player.PlayMod.getPlayroomMod() + PlayroomMod.PetAir = make([]int, 0) + AirList := playroomCfg.GetAirList() + for _, v := range AirList { + PlayroomMod.UnlockPetAir(v) + } + PlayroomBackData(player) case "resetRetire": ChessMod := player.PlayMod.getChessMod() ChessMod.Retire = make(map[string]int) diff --git a/src/server/game/PlayerFunc.go b/src/server/game/PlayerFunc.go index 4b3bc652..289ecb08 100644 --- a/src/server/game/PlayerFunc.go +++ b/src/server/game/PlayerFunc.go @@ -581,6 +581,7 @@ func PlayroomBackData(p *Player) { r.Items = item.ItemToMsg(PlayroomMod.Reward) Opponent := make([]*proto.RoomOpponent, 0) FriendList := make([]*proto.FriendRoom, 0) + for k, v := range PlayroomMod.Visitor { ps := G_GameLogicPtr.GetSimplePlayerByUid(k) if ps == nil { @@ -620,6 +621,16 @@ func PlayroomBackData(p *Player) { } } r.Collect = Collect + Dress := make(map[int32]*proto.PlayroomDress) + for k, v := range PlayroomMod.GetDress() { + Dress[int32(k)] = &proto.PlayroomDress{ + List: GoUtil.IntToInt32(v), + } + } + r.Dress = Dress + r.DressSet = GoUtil.MapIntToInt32(PlayroomMod.GetDressSet()) + r.PetAir = GoUtil.IntToInt32(PlayroomMod.GetPetAir()) + r.PetAirSet = int32(PlayroomMod.GetPetAirSet()) r.Chip = int32(PlayroomMod.Chip) r.StartTime = int32(PlayroomMod.Starttime) r.WorkStatus = int32(PlayroomMod.WorkStatus) diff --git a/src/server/game/RegisterNetworkFunc.go b/src/server/game/RegisterNetworkFunc.go index 34932589..76b578ee 100644 --- a/src/server/game/RegisterNetworkFunc.go +++ b/src/server/game/RegisterNetworkFunc.go @@ -3743,3 +3743,29 @@ func ReqSellChessNum(player *Player, buf []byte) error { }) return nil } + +func ReqPlayroomDressSet(player *Player, buf []byte) error { + req := &msg.ReqPlayroomDressSet{} + proto.Unmarshal(buf, req) + PlayroomMod := player.PlayMod.getPlayroomMod() + PlayroomMod.PlayroomDressSet(GoUtil.MapInt32ToInt(req.DressSet)) + player.PlayMod.save() + PlayroomBackData(player) + player.PushClientRes(&msg.ResPlayroomDressSet{ + Code: msg.RES_CODE_SUCCESS, + }) + return nil +} + +func ReqPlayroomPetAirSet(player *Player, buf []byte) error { + req := &msg.ReqPlayroomPetAirSet{} + proto.Unmarshal(buf, req) + PlayroomMod := player.PlayMod.getPlayroomMod() + PlayroomMod.PlayroomPetAirSet(int(req.PetAirSet)) + player.PlayMod.save() + PlayroomBackData(player) + player.PushClientRes(&msg.ResPlayroomPetAirSet{ + Code: msg.RES_CODE_SUCCESS, + }) + return nil +} diff --git a/src/server/game/UnitTest.go b/src/server/game/UnitTest.go index b775956b..ee67d3d7 100644 --- a/src/server/game/UnitTest.go +++ b/src/server/game/UnitTest.go @@ -198,8 +198,7 @@ func UnitOrder2(p *Player, Lv, EnergyMul int) float64 { func UnitPlayroom(p *Player) error { PlayroomMod := p.PlayMod.getPlayroomMod() - PlayroomMod.Physiology[1].Num = 10 - PlayroomMod.Physiology[1].Time = 1738978968 - LimitedTimePlayroomTrigger(p) + PlayroomMod.UnLock(15) + PlayroomBackData(p) return nil } diff --git a/src/server/game/mod/playroom/playroom.go b/src/server/game/mod/playroom/playroom.go index 00474f75..49b6d9ef 100644 --- a/src/server/game/mod/playroom/playroom.go +++ b/src/server/game/mod/playroom/playroom.go @@ -13,6 +13,10 @@ import ( type PlayroomMod struct { Collect map[int]int // 装饰 Room map[int]int // 房间 + Dress map[int][]int // 服装仓库 + DressSet map[int]int // 服装穿戴 + PetAir []int // 宠物空气背包 + PetAirSet int // 宠物空气背包穿戴 Status int // 0: 未拜访 1: 拜访 Endtime int64 // 结束时间 Starttime int64 // 开始时间 @@ -88,6 +92,12 @@ func (p *PlayroomMod) InitData() { if p.Collect == nil { p.Collect = make(map[int]int) } + if p.Dress == nil { + p.Dress = make(map[int][]int) + } + if p.DressSet == nil { + p.DressSet = make(map[int]int) + } InitCollect := playroomCfg.GetInitDecorate() for _, v := range InitCollect { p.Collect[v] = 1 @@ -521,6 +531,19 @@ func (p *PlayroomMod) UnLock(Lv int) { p.MoodInfo[k] = &Mood{Id: k, Num: 100} } } + if len(p.Dress) == 0 { + p.Dress = make(map[int][]int) + InitDressList := playroomCfg.GetInitDressList() + for _, v := range InitDressList { + Part := playroomCfg.GetDressPart(v) + p.Dress[Part] = append(p.Dress[Part], v) + } + } + if len(p.PetAir) == 0 { + p.PetAir = make([]int, 0) + InitPetAir := playroomCfg.GetInitAirList() + p.PetAir = append(p.PetAir, InitPetAir...) + } } // shop @@ -532,3 +555,56 @@ func (p *PlayroomMod) ShopBuy(Id, Num int) ([]*item.Item, []*item.Item, error) { NewCostItem := item.MutilItem(CostItem, Num) return []*item.Item{item.NewItem(AddItemId, Num)}, NewCostItem, nil } + +func (p *PlayroomMod) UnlockDress(Type, Id int) error { + _, ok := p.Dress[Type] + if !ok { + p.Dress[Type] = make([]int, 0) + } + p.Dress[Type] = append(p.Dress[Type], Id) + return nil +} + +func (p *PlayroomMod) UnlockPetAir(Id int) { + p.PetAir = append(p.PetAir, Id) +} + +func (p *PlayroomMod) PlayroomDressSet(DressSet map[int]int) error { + // 判断服装是否存在 + for Type, Id := range DressSet { + dresses, ok := p.Dress[Type] + if !ok { + return fmt.Errorf("dress type not found") + } + + if !GoUtil.InArray(Id, dresses) { + return fmt.Errorf("dress not found") + } + } + p.DressSet = DressSet + return nil +} + +func (p *PlayroomMod) PlayroomPetAirSet(Id int) error { + if !GoUtil.InArray(Id, p.PetAir) { + return fmt.Errorf("pet air not found") + } + p.PetAirSet = Id + return nil +} + +func (p *PlayroomMod) GetDressSet() map[int]int { + return p.DressSet +} + +func (p *PlayroomMod) GetPetAirSet() int { + return p.PetAirSet +} + +func (p *PlayroomMod) GetDress() map[int][]int { + return p.Dress +} + +func (p *PlayroomMod) GetPetAir() []int { + return p.PetAir +} diff --git a/src/server/msg/Gameapi.pb.go b/src/server/msg/Gameapi.pb.go index 861d0e66..30fdf1a6 100644 --- a/src/server/msg/Gameapi.pb.go +++ b/src/server/msg/Gameapi.pb.go @@ -16907,21 +16907,25 @@ type ResPlayroom struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Status int32 `protobuf:"varint,1,opt,name=status,proto3" json:"status,omitempty"` // 状态 - Items []*ItemInfo `protobuf:"bytes,2,rep,name=Items,proto3" json:"Items,omitempty"` // 触发式订单奖励 - Opponent []*RoomOpponent `protobuf:"bytes,3,rep,name=Opponent,proto3" json:"Opponent,omitempty"` // 对手 - Friend []*FriendRoom `protobuf:"bytes,4,rep,name=Friend,proto3" json:"Friend,omitempty"` // 好友 - Playroom map[int32]int32 `protobuf:"bytes,5,rep,name=Playroom,proto3" json:"Playroom,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` // 空间装饰 位置 =》 装饰id - Collect []int32 `protobuf:"varint,6,rep,packed,name=collect,proto3" json:"collect,omitempty"` // 已解锁的装饰 - Mood map[int32]int32 `protobuf:"bytes,7,rep,name=Mood,proto3" json:"Mood,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` // 心情 <位置, 心情> - LoseItem []*ItemInfo `protobuf:"bytes,8,rep,name=LoseItem,proto3" json:"LoseItem,omitempty"` // 损失的道具 - StartTime int32 `protobuf:"varint,9,opt,name=StartTime,proto3" json:"StartTime,omitempty"` // 开始时间 - WorkStatus int32 `protobuf:"varint,10,opt,name=WorkStatus,proto3" json:"WorkStatus,omitempty"` // 1 工作中 2 休息中 - AllMood int32 `protobuf:"varint,11,opt,name=AllMood,proto3" json:"AllMood,omitempty"` // 总心情 - Chip int32 `protobuf:"varint,12,opt,name=Chip,proto3" json:"Chip,omitempty"` // 碎片 - WorkOutline int32 `protobuf:"varint,13,opt,name=WorkOutline,proto3" json:"WorkOutline,omitempty"` // 离线打工状态 0 未离线 1 已离线 - Jackpot int32 `protobuf:"varint,14,opt,name=Jackpot,proto3" json:"Jackpot,omitempty"` // 每日转盘次数 - Physiology map[int32]int32 `protobuf:"bytes,15,rep,name=Physiology,proto3" json:"Physiology,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` + Status int32 `protobuf:"varint,1,opt,name=status,proto3" json:"status,omitempty"` // 状态 + Items []*ItemInfo `protobuf:"bytes,2,rep,name=Items,proto3" json:"Items,omitempty"` // 触发式订单奖励 + Opponent []*RoomOpponent `protobuf:"bytes,3,rep,name=Opponent,proto3" json:"Opponent,omitempty"` // 对手 + Friend []*FriendRoom `protobuf:"bytes,4,rep,name=Friend,proto3" json:"Friend,omitempty"` // 好友 + Playroom map[int32]int32 `protobuf:"bytes,5,rep,name=Playroom,proto3" json:"Playroom,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` // 空间装饰 位置 =》 装饰id + Collect []int32 `protobuf:"varint,6,rep,packed,name=collect,proto3" json:"collect,omitempty"` // 已解锁的装饰 + Mood map[int32]int32 `protobuf:"bytes,7,rep,name=Mood,proto3" json:"Mood,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` // 心情 <位置, 心情> + LoseItem []*ItemInfo `protobuf:"bytes,8,rep,name=LoseItem,proto3" json:"LoseItem,omitempty"` // 损失的道具 + StartTime int32 `protobuf:"varint,9,opt,name=StartTime,proto3" json:"StartTime,omitempty"` // 开始时间 + WorkStatus int32 `protobuf:"varint,10,opt,name=WorkStatus,proto3" json:"WorkStatus,omitempty"` // 1 工作中 2 休息中 + AllMood int32 `protobuf:"varint,11,opt,name=AllMood,proto3" json:"AllMood,omitempty"` // 总心情 + Chip int32 `protobuf:"varint,12,opt,name=Chip,proto3" json:"Chip,omitempty"` // 碎片 + WorkOutline int32 `protobuf:"varint,13,opt,name=WorkOutline,proto3" json:"WorkOutline,omitempty"` // 离线打工状态 0 未离线 1 已离线 + Jackpot int32 `protobuf:"varint,14,opt,name=Jackpot,proto3" json:"Jackpot,omitempty"` // 每日转盘次数 + Physiology map[int32]int32 `protobuf:"bytes,15,rep,name=Physiology,proto3" json:"Physiology,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` + Dress map[int32]*PlayroomDress `protobuf:"bytes,16,rep,name=Dress,proto3" json:"Dress,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // 服装仓库 位置 =》 服装id 位置ID: 1 帽子 2 眼镜 3 上衣 4 裤子 5 鞋子 6 连体 7 胡子 8 脸 9 美瞳 + DressSet map[int32]int32 `protobuf:"bytes,17,rep,name=DressSet,proto3" json:"DressSet,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` // 服装装饰 位置 =》 服装id + PetAir []int32 `protobuf:"varint,18,rep,packed,name=PetAir,proto3" json:"PetAir,omitempty"` // 宠物背包 + PetAirSet int32 `protobuf:"varint,19,opt,name=PetAirSet,proto3" json:"PetAirSet,omitempty"` // 宠物背包设置 } func (x *ResPlayroom) Reset() { @@ -17059,6 +17063,275 @@ func (x *ResPlayroom) GetPhysiology() map[int32]int32 { return nil } +func (x *ResPlayroom) GetDress() map[int32]*PlayroomDress { + if x != nil { + return x.Dress + } + return nil +} + +func (x *ResPlayroom) GetDressSet() map[int32]int32 { + if x != nil { + return x.DressSet + } + return nil +} + +func (x *ResPlayroom) GetPetAir() []int32 { + if x != nil { + return x.PetAir + } + return nil +} + +func (x *ResPlayroom) GetPetAirSet() int32 { + if x != nil { + return x.PetAirSet + } + return 0 +} + +type PlayroomDress struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + List []int32 `protobuf:"varint,1,rep,packed,name=List,proto3" json:"List,omitempty"` // 服装仓库 位置 =》 服装id +} + +func (x *PlayroomDress) Reset() { + *x = PlayroomDress{} + mi := &file_proto_Gameapi_proto_msgTypes[302] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *PlayroomDress) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PlayroomDress) ProtoMessage() {} + +func (x *PlayroomDress) ProtoReflect() protoreflect.Message { + mi := &file_proto_Gameapi_proto_msgTypes[302] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PlayroomDress.ProtoReflect.Descriptor instead. +func (*PlayroomDress) Descriptor() ([]byte, []int) { + return file_proto_Gameapi_proto_rawDescGZIP(), []int{302} +} + +func (x *PlayroomDress) GetList() []int32 { + if x != nil { + return x.List + } + return nil +} + +type ReqPlayroomDressSet struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + DressSet map[int32]int32 `protobuf:"bytes,1,rep,name=DressSet,proto3" json:"DressSet,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` // 服装装饰 位置 =》 服装id +} + +func (x *ReqPlayroomDressSet) Reset() { + *x = ReqPlayroomDressSet{} + mi := &file_proto_Gameapi_proto_msgTypes[303] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ReqPlayroomDressSet) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ReqPlayroomDressSet) ProtoMessage() {} + +func (x *ReqPlayroomDressSet) ProtoReflect() protoreflect.Message { + mi := &file_proto_Gameapi_proto_msgTypes[303] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ReqPlayroomDressSet.ProtoReflect.Descriptor instead. +func (*ReqPlayroomDressSet) Descriptor() ([]byte, []int) { + return file_proto_Gameapi_proto_rawDescGZIP(), []int{303} +} + +func (x *ReqPlayroomDressSet) GetDressSet() map[int32]int32 { + if x != nil { + return x.DressSet + } + return nil +} + +type ResPlayroomDressSet struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Code RES_CODE `protobuf:"varint,1,opt,name=Code,proto3,enum=tutorial.RES_CODE" json:"Code,omitempty"` + Msg string `protobuf:"bytes,2,opt,name=Msg,proto3" json:"Msg,omitempty"` +} + +func (x *ResPlayroomDressSet) Reset() { + *x = ResPlayroomDressSet{} + mi := &file_proto_Gameapi_proto_msgTypes[304] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ResPlayroomDressSet) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ResPlayroomDressSet) ProtoMessage() {} + +func (x *ResPlayroomDressSet) ProtoReflect() protoreflect.Message { + mi := &file_proto_Gameapi_proto_msgTypes[304] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ResPlayroomDressSet.ProtoReflect.Descriptor instead. +func (*ResPlayroomDressSet) Descriptor() ([]byte, []int) { + return file_proto_Gameapi_proto_rawDescGZIP(), []int{304} +} + +func (x *ResPlayroomDressSet) GetCode() RES_CODE { + if x != nil { + return x.Code + } + return RES_CODE_FAIL +} + +func (x *ResPlayroomDressSet) GetMsg() string { + if x != nil { + return x.Msg + } + return "" +} + +type ReqPlayroomPetAirSet struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + PetAirSet int32 `protobuf:"varint,1,opt,name=PetAirSet,proto3" json:"PetAirSet,omitempty"` // 宠物背包设置 +} + +func (x *ReqPlayroomPetAirSet) Reset() { + *x = ReqPlayroomPetAirSet{} + mi := &file_proto_Gameapi_proto_msgTypes[305] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ReqPlayroomPetAirSet) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ReqPlayroomPetAirSet) ProtoMessage() {} + +func (x *ReqPlayroomPetAirSet) ProtoReflect() protoreflect.Message { + mi := &file_proto_Gameapi_proto_msgTypes[305] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ReqPlayroomPetAirSet.ProtoReflect.Descriptor instead. +func (*ReqPlayroomPetAirSet) Descriptor() ([]byte, []int) { + return file_proto_Gameapi_proto_rawDescGZIP(), []int{305} +} + +func (x *ReqPlayroomPetAirSet) GetPetAirSet() int32 { + if x != nil { + return x.PetAirSet + } + return 0 +} + +type ResPlayroomPetAirSet struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Code RES_CODE `protobuf:"varint,1,opt,name=Code,proto3,enum=tutorial.RES_CODE" json:"Code,omitempty"` + Msg string `protobuf:"bytes,2,opt,name=Msg,proto3" json:"Msg,omitempty"` +} + +func (x *ResPlayroomPetAirSet) Reset() { + *x = ResPlayroomPetAirSet{} + mi := &file_proto_Gameapi_proto_msgTypes[306] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ResPlayroomPetAirSet) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ResPlayroomPetAirSet) ProtoMessage() {} + +func (x *ResPlayroomPetAirSet) ProtoReflect() protoreflect.Message { + mi := &file_proto_Gameapi_proto_msgTypes[306] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ResPlayroomPetAirSet.ProtoReflect.Descriptor instead. +func (*ResPlayroomPetAirSet) Descriptor() ([]byte, []int) { + return file_proto_Gameapi_proto_rawDescGZIP(), []int{306} +} + +func (x *ResPlayroomPetAirSet) GetCode() RES_CODE { + if x != nil { + return x.Code + } + return RES_CODE_FAIL +} + +func (x *ResPlayroomPetAirSet) GetMsg() string { + if x != nil { + return x.Msg + } + return "" +} + type ReqPlayroomWrokOutline struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -17067,7 +17340,7 @@ type ReqPlayroomWrokOutline struct { func (x *ReqPlayroomWrokOutline) Reset() { *x = ReqPlayroomWrokOutline{} - mi := &file_proto_Gameapi_proto_msgTypes[302] + mi := &file_proto_Gameapi_proto_msgTypes[307] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17079,7 +17352,7 @@ func (x *ReqPlayroomWrokOutline) String() string { func (*ReqPlayroomWrokOutline) ProtoMessage() {} func (x *ReqPlayroomWrokOutline) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[302] + mi := &file_proto_Gameapi_proto_msgTypes[307] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17092,7 +17365,7 @@ func (x *ReqPlayroomWrokOutline) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqPlayroomWrokOutline.ProtoReflect.Descriptor instead. func (*ReqPlayroomWrokOutline) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{302} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{307} } type ResPlayroomWrokOutline struct { @@ -17106,7 +17379,7 @@ type ResPlayroomWrokOutline struct { func (x *ResPlayroomWrokOutline) Reset() { *x = ResPlayroomWrokOutline{} - mi := &file_proto_Gameapi_proto_msgTypes[303] + mi := &file_proto_Gameapi_proto_msgTypes[308] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17118,7 +17391,7 @@ func (x *ResPlayroomWrokOutline) String() string { func (*ResPlayroomWrokOutline) ProtoMessage() {} func (x *ResPlayroomWrokOutline) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[303] + mi := &file_proto_Gameapi_proto_msgTypes[308] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17131,7 +17404,7 @@ func (x *ResPlayroomWrokOutline) ProtoReflect() protoreflect.Message { // Deprecated: Use ResPlayroomWrokOutline.ProtoReflect.Descriptor instead. func (*ResPlayroomWrokOutline) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{303} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{308} } func (x *ResPlayroomWrokOutline) GetCode() RES_CODE { @@ -17158,7 +17431,7 @@ type NofiPlayroomStatus struct { func (x *NofiPlayroomStatus) Reset() { *x = NofiPlayroomStatus{} - mi := &file_proto_Gameapi_proto_msgTypes[304] + mi := &file_proto_Gameapi_proto_msgTypes[309] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17170,7 +17443,7 @@ func (x *NofiPlayroomStatus) String() string { func (*NofiPlayroomStatus) ProtoMessage() {} func (x *NofiPlayroomStatus) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[304] + mi := &file_proto_Gameapi_proto_msgTypes[309] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17183,7 +17456,7 @@ func (x *NofiPlayroomStatus) ProtoReflect() protoreflect.Message { // Deprecated: Use NofiPlayroomStatus.ProtoReflect.Descriptor instead. func (*NofiPlayroomStatus) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{304} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{309} } func (x *NofiPlayroomStatus) GetWorkOutline() int32 { @@ -17204,7 +17477,7 @@ type NotifyPlayroomWork struct { func (x *NotifyPlayroomWork) Reset() { *x = NotifyPlayroomWork{} - mi := &file_proto_Gameapi_proto_msgTypes[305] + mi := &file_proto_Gameapi_proto_msgTypes[310] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17216,7 +17489,7 @@ func (x *NotifyPlayroomWork) String() string { func (*NotifyPlayroomWork) ProtoMessage() {} func (x *NotifyPlayroomWork) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[305] + mi := &file_proto_Gameapi_proto_msgTypes[310] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17229,7 +17502,7 @@ func (x *NotifyPlayroomWork) ProtoReflect() protoreflect.Message { // Deprecated: Use NotifyPlayroomWork.ProtoReflect.Descriptor instead. func (*NotifyPlayroomWork) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{305} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{310} } func (x *NotifyPlayroomWork) GetStartTime() int32 { @@ -17257,7 +17530,7 @@ type NotifyPlayroomLose struct { func (x *NotifyPlayroomLose) Reset() { *x = NotifyPlayroomLose{} - mi := &file_proto_Gameapi_proto_msgTypes[306] + mi := &file_proto_Gameapi_proto_msgTypes[311] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17269,7 +17542,7 @@ func (x *NotifyPlayroomLose) String() string { func (*NotifyPlayroomLose) ProtoMessage() {} func (x *NotifyPlayroomLose) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[306] + mi := &file_proto_Gameapi_proto_msgTypes[311] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17282,7 +17555,7 @@ func (x *NotifyPlayroomLose) ProtoReflect() protoreflect.Message { // Deprecated: Use NotifyPlayroomLose.ProtoReflect.Descriptor instead. func (*NotifyPlayroomLose) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{306} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{311} } func (x *NotifyPlayroomLose) GetLoseItem() []*ItemInfo { @@ -17311,7 +17584,7 @@ type NotifyPlayroomMood struct { func (x *NotifyPlayroomMood) Reset() { *x = NotifyPlayroomMood{} - mi := &file_proto_Gameapi_proto_msgTypes[307] + mi := &file_proto_Gameapi_proto_msgTypes[312] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17323,7 +17596,7 @@ func (x *NotifyPlayroomMood) String() string { func (*NotifyPlayroomMood) ProtoMessage() {} func (x *NotifyPlayroomMood) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[307] + mi := &file_proto_Gameapi_proto_msgTypes[312] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17336,7 +17609,7 @@ func (x *NotifyPlayroomMood) ProtoReflect() protoreflect.Message { // Deprecated: Use NotifyPlayroomMood.ProtoReflect.Descriptor instead. func (*NotifyPlayroomMood) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{307} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{312} } func (x *NotifyPlayroomMood) GetAllMood() int32 { @@ -17374,7 +17647,7 @@ type FriendRoom struct { func (x *FriendRoom) Reset() { *x = FriendRoom{} - mi := &file_proto_Gameapi_proto_msgTypes[308] + mi := &file_proto_Gameapi_proto_msgTypes[313] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17386,7 +17659,7 @@ func (x *FriendRoom) String() string { func (*FriendRoom) ProtoMessage() {} func (x *FriendRoom) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[308] + mi := &file_proto_Gameapi_proto_msgTypes[313] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17399,7 +17672,7 @@ func (x *FriendRoom) ProtoReflect() protoreflect.Message { // Deprecated: Use FriendRoom.ProtoReflect.Descriptor instead. func (*FriendRoom) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{308} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{313} } func (x *FriendRoom) GetUid() int64 { @@ -17451,7 +17724,7 @@ type RoomOpponent struct { func (x *RoomOpponent) Reset() { *x = RoomOpponent{} - mi := &file_proto_Gameapi_proto_msgTypes[309] + mi := &file_proto_Gameapi_proto_msgTypes[314] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17463,7 +17736,7 @@ func (x *RoomOpponent) String() string { func (*RoomOpponent) ProtoMessage() {} func (x *RoomOpponent) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[309] + mi := &file_proto_Gameapi_proto_msgTypes[314] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17476,7 +17749,7 @@ func (x *RoomOpponent) ProtoReflect() protoreflect.Message { // Deprecated: Use RoomOpponent.ProtoReflect.Descriptor instead. func (*RoomOpponent) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{309} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{314} } func (x *RoomOpponent) GetUid() int64 { @@ -17525,7 +17798,7 @@ type ReqPlayroomInfo struct { func (x *ReqPlayroomInfo) Reset() { *x = ReqPlayroomInfo{} - mi := &file_proto_Gameapi_proto_msgTypes[310] + mi := &file_proto_Gameapi_proto_msgTypes[315] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17537,7 +17810,7 @@ func (x *ReqPlayroomInfo) String() string { func (*ReqPlayroomInfo) ProtoMessage() {} func (x *ReqPlayroomInfo) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[310] + mi := &file_proto_Gameapi_proto_msgTypes[315] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17550,7 +17823,7 @@ func (x *ReqPlayroomInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqPlayroomInfo.ProtoReflect.Descriptor instead. func (*ReqPlayroomInfo) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{310} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{315} } func (x *ReqPlayroomInfo) GetUid() int64 { @@ -17582,7 +17855,7 @@ type ResPlayroomInfo struct { func (x *ResPlayroomInfo) Reset() { *x = ResPlayroomInfo{} - mi := &file_proto_Gameapi_proto_msgTypes[311] + mi := &file_proto_Gameapi_proto_msgTypes[316] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17594,7 +17867,7 @@ func (x *ResPlayroomInfo) String() string { func (*ResPlayroomInfo) ProtoMessage() {} func (x *ResPlayroomInfo) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[311] + mi := &file_proto_Gameapi_proto_msgTypes[316] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17607,7 +17880,7 @@ func (x *ResPlayroomInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use ResPlayroomInfo.ProtoReflect.Descriptor instead. func (*ResPlayroomInfo) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{311} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{316} } func (x *ResPlayroomInfo) GetUid() int64 { @@ -17712,7 +17985,7 @@ type ReqPlayroomFlip struct { func (x *ReqPlayroomFlip) Reset() { *x = ReqPlayroomFlip{} - mi := &file_proto_Gameapi_proto_msgTypes[312] + mi := &file_proto_Gameapi_proto_msgTypes[317] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17724,7 +17997,7 @@ func (x *ReqPlayroomFlip) String() string { func (*ReqPlayroomFlip) ProtoMessage() {} func (x *ReqPlayroomFlip) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[312] + mi := &file_proto_Gameapi_proto_msgTypes[317] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17737,7 +18010,7 @@ func (x *ReqPlayroomFlip) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqPlayroomFlip.ProtoReflect.Descriptor instead. func (*ReqPlayroomFlip) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{312} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{317} } func (x *ReqPlayroomFlip) GetId() int32 { @@ -17760,7 +18033,7 @@ type ResPlayroomFlip struct { func (x *ResPlayroomFlip) Reset() { *x = ResPlayroomFlip{} - mi := &file_proto_Gameapi_proto_msgTypes[313] + mi := &file_proto_Gameapi_proto_msgTypes[318] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17772,7 +18045,7 @@ func (x *ResPlayroomFlip) String() string { func (*ResPlayroomFlip) ProtoMessage() {} func (x *ResPlayroomFlip) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[313] + mi := &file_proto_Gameapi_proto_msgTypes[318] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17785,7 +18058,7 @@ func (x *ResPlayroomFlip) ProtoReflect() protoreflect.Message { // Deprecated: Use ResPlayroomFlip.ProtoReflect.Descriptor instead. func (*ResPlayroomFlip) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{313} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{318} } func (x *ResPlayroomFlip) GetCode() RES_CODE { @@ -17825,7 +18098,7 @@ type ReqPlayroomFlipReward struct { func (x *ReqPlayroomFlipReward) Reset() { *x = ReqPlayroomFlipReward{} - mi := &file_proto_Gameapi_proto_msgTypes[314] + mi := &file_proto_Gameapi_proto_msgTypes[319] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17837,7 +18110,7 @@ func (x *ReqPlayroomFlipReward) String() string { func (*ReqPlayroomFlipReward) ProtoMessage() {} func (x *ReqPlayroomFlipReward) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[314] + mi := &file_proto_Gameapi_proto_msgTypes[319] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17850,7 +18123,7 @@ func (x *ReqPlayroomFlipReward) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqPlayroomFlipReward.ProtoReflect.Descriptor instead. func (*ReqPlayroomFlipReward) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{314} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{319} } type ResPlayroomFlipReward struct { @@ -17864,7 +18137,7 @@ type ResPlayroomFlipReward struct { func (x *ResPlayroomFlipReward) Reset() { *x = ResPlayroomFlipReward{} - mi := &file_proto_Gameapi_proto_msgTypes[315] + mi := &file_proto_Gameapi_proto_msgTypes[320] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17876,7 +18149,7 @@ func (x *ResPlayroomFlipReward) String() string { func (*ResPlayroomFlipReward) ProtoMessage() {} func (x *ResPlayroomFlipReward) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[315] + mi := &file_proto_Gameapi_proto_msgTypes[320] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17889,7 +18162,7 @@ func (x *ResPlayroomFlipReward) ProtoReflect() protoreflect.Message { // Deprecated: Use ResPlayroomFlipReward.ProtoReflect.Descriptor instead. func (*ResPlayroomFlipReward) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{315} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{320} } func (x *ResPlayroomFlipReward) GetCode() RES_CODE { @@ -17916,7 +18189,7 @@ type ReqPlayroomGame struct { func (x *ReqPlayroomGame) Reset() { *x = ReqPlayroomGame{} - mi := &file_proto_Gameapi_proto_msgTypes[316] + mi := &file_proto_Gameapi_proto_msgTypes[321] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17928,7 +18201,7 @@ func (x *ReqPlayroomGame) String() string { func (*ReqPlayroomGame) ProtoMessage() {} func (x *ReqPlayroomGame) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[316] + mi := &file_proto_Gameapi_proto_msgTypes[321] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17941,7 +18214,7 @@ func (x *ReqPlayroomGame) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqPlayroomGame.ProtoReflect.Descriptor instead. func (*ReqPlayroomGame) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{316} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{321} } func (x *ReqPlayroomGame) GetType() int32 { @@ -17964,7 +18237,7 @@ type ResPlayroomGame struct { func (x *ResPlayroomGame) Reset() { *x = ResPlayroomGame{} - mi := &file_proto_Gameapi_proto_msgTypes[317] + mi := &file_proto_Gameapi_proto_msgTypes[322] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17976,7 +18249,7 @@ func (x *ResPlayroomGame) String() string { func (*ResPlayroomGame) ProtoMessage() {} func (x *ResPlayroomGame) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[317] + mi := &file_proto_Gameapi_proto_msgTypes[322] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17989,7 +18262,7 @@ func (x *ResPlayroomGame) ProtoReflect() protoreflect.Message { // Deprecated: Use ResPlayroomGame.ProtoReflect.Descriptor instead. func (*ResPlayroomGame) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{317} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{322} } func (x *ResPlayroomGame) GetCode() RES_CODE { @@ -18032,7 +18305,7 @@ type ReqPlayroomInteract struct { func (x *ReqPlayroomInteract) Reset() { *x = ReqPlayroomInteract{} - mi := &file_proto_Gameapi_proto_msgTypes[318] + mi := &file_proto_Gameapi_proto_msgTypes[323] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18044,7 +18317,7 @@ func (x *ReqPlayroomInteract) String() string { func (*ReqPlayroomInteract) ProtoMessage() {} func (x *ReqPlayroomInteract) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[318] + mi := &file_proto_Gameapi_proto_msgTypes[323] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18057,7 +18330,7 @@ func (x *ReqPlayroomInteract) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqPlayroomInteract.ProtoReflect.Descriptor instead. func (*ReqPlayroomInteract) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{318} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{323} } func (x *ReqPlayroomInteract) GetId() int32 { @@ -18085,7 +18358,7 @@ type ResPlayroomInteract struct { func (x *ResPlayroomInteract) Reset() { *x = ResPlayroomInteract{} - mi := &file_proto_Gameapi_proto_msgTypes[319] + mi := &file_proto_Gameapi_proto_msgTypes[324] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18097,7 +18370,7 @@ func (x *ResPlayroomInteract) String() string { func (*ResPlayroomInteract) ProtoMessage() {} func (x *ResPlayroomInteract) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[319] + mi := &file_proto_Gameapi_proto_msgTypes[324] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18110,7 +18383,7 @@ func (x *ResPlayroomInteract) ProtoReflect() protoreflect.Message { // Deprecated: Use ResPlayroomInteract.ProtoReflect.Descriptor instead. func (*ResPlayroomInteract) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{319} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{324} } func (x *ResPlayroomInteract) GetCode() RES_CODE { @@ -18138,7 +18411,7 @@ type ReqPlayroomSetRoom struct { func (x *ReqPlayroomSetRoom) Reset() { *x = ReqPlayroomSetRoom{} - mi := &file_proto_Gameapi_proto_msgTypes[320] + mi := &file_proto_Gameapi_proto_msgTypes[325] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18150,7 +18423,7 @@ func (x *ReqPlayroomSetRoom) String() string { func (*ReqPlayroomSetRoom) ProtoMessage() {} func (x *ReqPlayroomSetRoom) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[320] + mi := &file_proto_Gameapi_proto_msgTypes[325] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18163,7 +18436,7 @@ func (x *ReqPlayroomSetRoom) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqPlayroomSetRoom.ProtoReflect.Descriptor instead. func (*ReqPlayroomSetRoom) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{320} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{325} } func (x *ReqPlayroomSetRoom) GetPlayroom() map[int32]int32 { @@ -18184,7 +18457,7 @@ type ResPlayroomSetRoom struct { func (x *ResPlayroomSetRoom) Reset() { *x = ResPlayroomSetRoom{} - mi := &file_proto_Gameapi_proto_msgTypes[321] + mi := &file_proto_Gameapi_proto_msgTypes[326] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18196,7 +18469,7 @@ func (x *ResPlayroomSetRoom) String() string { func (*ResPlayroomSetRoom) ProtoMessage() {} func (x *ResPlayroomSetRoom) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[321] + mi := &file_proto_Gameapi_proto_msgTypes[326] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18209,7 +18482,7 @@ func (x *ResPlayroomSetRoom) ProtoReflect() protoreflect.Message { // Deprecated: Use ResPlayroomSetRoom.ProtoReflect.Descriptor instead. func (*ResPlayroomSetRoom) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{321} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{326} } func (x *ResPlayroomSetRoom) GetCode() RES_CODE { @@ -18236,7 +18509,7 @@ type ReqPlayroomSelectReward struct { func (x *ReqPlayroomSelectReward) Reset() { *x = ReqPlayroomSelectReward{} - mi := &file_proto_Gameapi_proto_msgTypes[322] + mi := &file_proto_Gameapi_proto_msgTypes[327] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18248,7 +18521,7 @@ func (x *ReqPlayroomSelectReward) String() string { func (*ReqPlayroomSelectReward) ProtoMessage() {} func (x *ReqPlayroomSelectReward) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[322] + mi := &file_proto_Gameapi_proto_msgTypes[327] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18261,7 +18534,7 @@ func (x *ReqPlayroomSelectReward) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqPlayroomSelectReward.ProtoReflect.Descriptor instead. func (*ReqPlayroomSelectReward) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{322} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{327} } func (x *ReqPlayroomSelectReward) GetId() int32 { @@ -18282,7 +18555,7 @@ type ResPlayroomSelectReward struct { func (x *ResPlayroomSelectReward) Reset() { *x = ResPlayroomSelectReward{} - mi := &file_proto_Gameapi_proto_msgTypes[323] + mi := &file_proto_Gameapi_proto_msgTypes[328] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18294,7 +18567,7 @@ func (x *ResPlayroomSelectReward) String() string { func (*ResPlayroomSelectReward) ProtoMessage() {} func (x *ResPlayroomSelectReward) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[323] + mi := &file_proto_Gameapi_proto_msgTypes[328] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18307,7 +18580,7 @@ func (x *ResPlayroomSelectReward) ProtoReflect() protoreflect.Message { // Deprecated: Use ResPlayroomSelectReward.ProtoReflect.Descriptor instead. func (*ResPlayroomSelectReward) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{323} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{328} } func (x *ResPlayroomSelectReward) GetCode() RES_CODE { @@ -18333,7 +18606,7 @@ type ReqPlayroomLose struct { func (x *ReqPlayroomLose) Reset() { *x = ReqPlayroomLose{} - mi := &file_proto_Gameapi_proto_msgTypes[324] + mi := &file_proto_Gameapi_proto_msgTypes[329] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18345,7 +18618,7 @@ func (x *ReqPlayroomLose) String() string { func (*ReqPlayroomLose) ProtoMessage() {} func (x *ReqPlayroomLose) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[324] + mi := &file_proto_Gameapi_proto_msgTypes[329] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18358,7 +18631,7 @@ func (x *ReqPlayroomLose) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqPlayroomLose.ProtoReflect.Descriptor instead. func (*ReqPlayroomLose) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{324} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{329} } type ResPlayroomLose struct { @@ -18372,7 +18645,7 @@ type ResPlayroomLose struct { func (x *ResPlayroomLose) Reset() { *x = ResPlayroomLose{} - mi := &file_proto_Gameapi_proto_msgTypes[325] + mi := &file_proto_Gameapi_proto_msgTypes[330] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18384,7 +18657,7 @@ func (x *ResPlayroomLose) String() string { func (*ResPlayroomLose) ProtoMessage() {} func (x *ResPlayroomLose) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[325] + mi := &file_proto_Gameapi_proto_msgTypes[330] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18397,7 +18670,7 @@ func (x *ResPlayroomLose) ProtoReflect() protoreflect.Message { // Deprecated: Use ResPlayroomLose.ProtoReflect.Descriptor instead. func (*ResPlayroomLose) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{325} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{330} } func (x *ResPlayroomLose) GetCode() RES_CODE { @@ -18423,7 +18696,7 @@ type ReqPlayroomWork struct { func (x *ReqPlayroomWork) Reset() { *x = ReqPlayroomWork{} - mi := &file_proto_Gameapi_proto_msgTypes[326] + mi := &file_proto_Gameapi_proto_msgTypes[331] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18435,7 +18708,7 @@ func (x *ReqPlayroomWork) String() string { func (*ReqPlayroomWork) ProtoMessage() {} func (x *ReqPlayroomWork) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[326] + mi := &file_proto_Gameapi_proto_msgTypes[331] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18448,7 +18721,7 @@ func (x *ReqPlayroomWork) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqPlayroomWork.ProtoReflect.Descriptor instead. func (*ReqPlayroomWork) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{326} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{331} } type ResPlayroomWork struct { @@ -18462,7 +18735,7 @@ type ResPlayroomWork struct { func (x *ResPlayroomWork) Reset() { *x = ResPlayroomWork{} - mi := &file_proto_Gameapi_proto_msgTypes[327] + mi := &file_proto_Gameapi_proto_msgTypes[332] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18474,7 +18747,7 @@ func (x *ResPlayroomWork) String() string { func (*ResPlayroomWork) ProtoMessage() {} func (x *ResPlayroomWork) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[327] + mi := &file_proto_Gameapi_proto_msgTypes[332] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18487,7 +18760,7 @@ func (x *ResPlayroomWork) ProtoReflect() protoreflect.Message { // Deprecated: Use ResPlayroomWork.ProtoReflect.Descriptor instead. func (*ResPlayroomWork) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{327} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{332} } func (x *ResPlayroomWork) GetCode() RES_CODE { @@ -18513,7 +18786,7 @@ type ReqPlayroomRest struct { func (x *ReqPlayroomRest) Reset() { *x = ReqPlayroomRest{} - mi := &file_proto_Gameapi_proto_msgTypes[328] + mi := &file_proto_Gameapi_proto_msgTypes[333] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18525,7 +18798,7 @@ func (x *ReqPlayroomRest) String() string { func (*ReqPlayroomRest) ProtoMessage() {} func (x *ReqPlayroomRest) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[328] + mi := &file_proto_Gameapi_proto_msgTypes[333] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18538,7 +18811,7 @@ func (x *ReqPlayroomRest) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqPlayroomRest.ProtoReflect.Descriptor instead. func (*ReqPlayroomRest) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{328} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{333} } type ResPlayroomRest struct { @@ -18552,7 +18825,7 @@ type ResPlayroomRest struct { func (x *ResPlayroomRest) Reset() { *x = ResPlayroomRest{} - mi := &file_proto_Gameapi_proto_msgTypes[329] + mi := &file_proto_Gameapi_proto_msgTypes[334] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18564,7 +18837,7 @@ func (x *ResPlayroomRest) String() string { func (*ResPlayroomRest) ProtoMessage() {} func (x *ResPlayroomRest) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[329] + mi := &file_proto_Gameapi_proto_msgTypes[334] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18577,7 +18850,7 @@ func (x *ResPlayroomRest) ProtoReflect() protoreflect.Message { // Deprecated: Use ResPlayroomRest.ProtoReflect.Descriptor instead. func (*ResPlayroomRest) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{329} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{334} } func (x *ResPlayroomRest) GetCode() RES_CODE { @@ -18603,7 +18876,7 @@ type ReqPlayroomDraw struct { func (x *ReqPlayroomDraw) Reset() { *x = ReqPlayroomDraw{} - mi := &file_proto_Gameapi_proto_msgTypes[330] + mi := &file_proto_Gameapi_proto_msgTypes[335] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18615,7 +18888,7 @@ func (x *ReqPlayroomDraw) String() string { func (*ReqPlayroomDraw) ProtoMessage() {} func (x *ReqPlayroomDraw) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[330] + mi := &file_proto_Gameapi_proto_msgTypes[335] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18628,7 +18901,7 @@ func (x *ReqPlayroomDraw) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqPlayroomDraw.ProtoReflect.Descriptor instead. func (*ReqPlayroomDraw) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{330} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{335} } type ResPlayroomDraw struct { @@ -18643,7 +18916,7 @@ type ResPlayroomDraw struct { func (x *ResPlayroomDraw) Reset() { *x = ResPlayroomDraw{} - mi := &file_proto_Gameapi_proto_msgTypes[331] + mi := &file_proto_Gameapi_proto_msgTypes[336] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18655,7 +18928,7 @@ func (x *ResPlayroomDraw) String() string { func (*ResPlayroomDraw) ProtoMessage() {} func (x *ResPlayroomDraw) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[331] + mi := &file_proto_Gameapi_proto_msgTypes[336] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18668,7 +18941,7 @@ func (x *ResPlayroomDraw) ProtoReflect() protoreflect.Message { // Deprecated: Use ResPlayroomDraw.ProtoReflect.Descriptor instead. func (*ResPlayroomDraw) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{331} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{336} } func (x *ResPlayroomDraw) GetCode() RES_CODE { @@ -18703,7 +18976,7 @@ type ReqPlayroomChip struct { func (x *ReqPlayroomChip) Reset() { *x = ReqPlayroomChip{} - mi := &file_proto_Gameapi_proto_msgTypes[332] + mi := &file_proto_Gameapi_proto_msgTypes[337] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18715,7 +18988,7 @@ func (x *ReqPlayroomChip) String() string { func (*ReqPlayroomChip) ProtoMessage() {} func (x *ReqPlayroomChip) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[332] + mi := &file_proto_Gameapi_proto_msgTypes[337] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18728,7 +19001,7 @@ func (x *ReqPlayroomChip) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqPlayroomChip.ProtoReflect.Descriptor instead. func (*ReqPlayroomChip) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{332} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{337} } func (x *ReqPlayroomChip) GetNum() int32 { @@ -18749,7 +19022,7 @@ type ResPlayroomChip struct { func (x *ResPlayroomChip) Reset() { *x = ResPlayroomChip{} - mi := &file_proto_Gameapi_proto_msgTypes[333] + mi := &file_proto_Gameapi_proto_msgTypes[338] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18761,7 +19034,7 @@ func (x *ResPlayroomChip) String() string { func (*ResPlayroomChip) ProtoMessage() {} func (x *ResPlayroomChip) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[333] + mi := &file_proto_Gameapi_proto_msgTypes[338] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18774,7 +19047,7 @@ func (x *ResPlayroomChip) ProtoReflect() protoreflect.Message { // Deprecated: Use ResPlayroomChip.ProtoReflect.Descriptor instead. func (*ResPlayroomChip) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{333} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{338} } func (x *ResPlayroomChip) GetCode() RES_CODE { @@ -18801,7 +19074,7 @@ type ReqPlayroomBuyItem struct { func (x *ReqPlayroomBuyItem) Reset() { *x = ReqPlayroomBuyItem{} - mi := &file_proto_Gameapi_proto_msgTypes[334] + mi := &file_proto_Gameapi_proto_msgTypes[339] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18813,7 +19086,7 @@ func (x *ReqPlayroomBuyItem) String() string { func (*ReqPlayroomBuyItem) ProtoMessage() {} func (x *ReqPlayroomBuyItem) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[334] + mi := &file_proto_Gameapi_proto_msgTypes[339] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18826,7 +19099,7 @@ func (x *ReqPlayroomBuyItem) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqPlayroomBuyItem.ProtoReflect.Descriptor instead. func (*ReqPlayroomBuyItem) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{334} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{339} } func (x *ReqPlayroomBuyItem) GetId() int32 { @@ -18847,7 +19120,7 @@ type ResPlayroomBuyItem struct { func (x *ResPlayroomBuyItem) Reset() { *x = ResPlayroomBuyItem{} - mi := &file_proto_Gameapi_proto_msgTypes[335] + mi := &file_proto_Gameapi_proto_msgTypes[340] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18859,7 +19132,7 @@ func (x *ResPlayroomBuyItem) String() string { func (*ResPlayroomBuyItem) ProtoMessage() {} func (x *ResPlayroomBuyItem) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[335] + mi := &file_proto_Gameapi_proto_msgTypes[340] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18872,7 +19145,7 @@ func (x *ResPlayroomBuyItem) ProtoReflect() protoreflect.Message { // Deprecated: Use ResPlayroomBuyItem.ProtoReflect.Descriptor instead. func (*ResPlayroomBuyItem) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{335} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{340} } func (x *ResPlayroomBuyItem) GetCode() RES_CODE { @@ -18901,7 +19174,7 @@ type ReqPlayroomShop struct { func (x *ReqPlayroomShop) Reset() { *x = ReqPlayroomShop{} - mi := &file_proto_Gameapi_proto_msgTypes[336] + mi := &file_proto_Gameapi_proto_msgTypes[341] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18913,7 +19186,7 @@ func (x *ReqPlayroomShop) String() string { func (*ReqPlayroomShop) ProtoMessage() {} func (x *ReqPlayroomShop) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[336] + mi := &file_proto_Gameapi_proto_msgTypes[341] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18926,7 +19199,7 @@ func (x *ReqPlayroomShop) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqPlayroomShop.ProtoReflect.Descriptor instead. func (*ReqPlayroomShop) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{336} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{341} } func (x *ReqPlayroomShop) GetId() int32 { @@ -18954,7 +19227,7 @@ type ResPlayroomShop struct { func (x *ResPlayroomShop) Reset() { *x = ResPlayroomShop{} - mi := &file_proto_Gameapi_proto_msgTypes[337] + mi := &file_proto_Gameapi_proto_msgTypes[342] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18966,7 +19239,7 @@ func (x *ResPlayroomShop) String() string { func (*ResPlayroomShop) ProtoMessage() {} func (x *ResPlayroomShop) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[337] + mi := &file_proto_Gameapi_proto_msgTypes[342] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18979,7 +19252,7 @@ func (x *ResPlayroomShop) ProtoReflect() protoreflect.Message { // Deprecated: Use ResPlayroomShop.ProtoReflect.Descriptor instead. func (*ResPlayroomShop) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{337} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{342} } func (x *ResPlayroomShop) GetCode() RES_CODE { @@ -19005,7 +19278,7 @@ type ReqFriendTreasure struct { func (x *ReqFriendTreasure) Reset() { *x = ReqFriendTreasure{} - mi := &file_proto_Gameapi_proto_msgTypes[338] + mi := &file_proto_Gameapi_proto_msgTypes[343] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -19017,7 +19290,7 @@ func (x *ReqFriendTreasure) String() string { func (*ReqFriendTreasure) ProtoMessage() {} func (x *ReqFriendTreasure) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[338] + mi := &file_proto_Gameapi_proto_msgTypes[343] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -19030,7 +19303,7 @@ func (x *ReqFriendTreasure) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqFriendTreasure.ProtoReflect.Descriptor instead. func (*ReqFriendTreasure) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{338} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{343} } type ResFriendTreasure struct { @@ -19047,7 +19320,7 @@ type ResFriendTreasure struct { func (x *ResFriendTreasure) Reset() { *x = ResFriendTreasure{} - mi := &file_proto_Gameapi_proto_msgTypes[339] + mi := &file_proto_Gameapi_proto_msgTypes[344] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -19059,7 +19332,7 @@ func (x *ResFriendTreasure) String() string { func (*ResFriendTreasure) ProtoMessage() {} func (x *ResFriendTreasure) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[339] + mi := &file_proto_Gameapi_proto_msgTypes[344] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -19072,7 +19345,7 @@ func (x *ResFriendTreasure) ProtoReflect() protoreflect.Message { // Deprecated: Use ResFriendTreasure.ProtoReflect.Descriptor instead. func (*ResFriendTreasure) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{339} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{344} } func (x *ResFriendTreasure) GetStatus() int32 { @@ -19126,7 +19399,7 @@ type TreasureInfo struct { func (x *TreasureInfo) Reset() { *x = TreasureInfo{} - mi := &file_proto_Gameapi_proto_msgTypes[340] + mi := &file_proto_Gameapi_proto_msgTypes[345] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -19138,7 +19411,7 @@ func (x *TreasureInfo) String() string { func (*TreasureInfo) ProtoMessage() {} func (x *TreasureInfo) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[340] + mi := &file_proto_Gameapi_proto_msgTypes[345] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -19151,7 +19424,7 @@ func (x *TreasureInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use TreasureInfo.ProtoReflect.Descriptor instead. func (*TreasureInfo) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{340} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{345} } func (x *TreasureInfo) GetPos() int32 { @@ -19214,7 +19487,7 @@ type ReqFriendTreasureStart struct { func (x *ReqFriendTreasureStart) Reset() { *x = ReqFriendTreasureStart{} - mi := &file_proto_Gameapi_proto_msgTypes[341] + mi := &file_proto_Gameapi_proto_msgTypes[346] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -19226,7 +19499,7 @@ func (x *ReqFriendTreasureStart) String() string { func (*ReqFriendTreasureStart) ProtoMessage() {} func (x *ReqFriendTreasureStart) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[341] + mi := &file_proto_Gameapi_proto_msgTypes[346] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -19239,7 +19512,7 @@ func (x *ReqFriendTreasureStart) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqFriendTreasureStart.ProtoReflect.Descriptor instead. func (*ReqFriendTreasureStart) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{341} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{346} } func (x *ReqFriendTreasureStart) GetList() []*TreasureInfo { @@ -19267,7 +19540,7 @@ type ResFriendTreasureStart struct { func (x *ResFriendTreasureStart) Reset() { *x = ResFriendTreasureStart{} - mi := &file_proto_Gameapi_proto_msgTypes[342] + mi := &file_proto_Gameapi_proto_msgTypes[347] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -19279,7 +19552,7 @@ func (x *ResFriendTreasureStart) String() string { func (*ResFriendTreasureStart) ProtoMessage() {} func (x *ResFriendTreasureStart) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[342] + mi := &file_proto_Gameapi_proto_msgTypes[347] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -19292,7 +19565,7 @@ func (x *ResFriendTreasureStart) ProtoReflect() protoreflect.Message { // Deprecated: Use ResFriendTreasureStart.ProtoReflect.Descriptor instead. func (*ResFriendTreasureStart) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{342} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{347} } func (x *ResFriendTreasureStart) GetCode() RES_CODE { @@ -19317,7 +19590,7 @@ type ReqFriendTreasureEnd struct { func (x *ReqFriendTreasureEnd) Reset() { *x = ReqFriendTreasureEnd{} - mi := &file_proto_Gameapi_proto_msgTypes[343] + mi := &file_proto_Gameapi_proto_msgTypes[348] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -19329,7 +19602,7 @@ func (x *ReqFriendTreasureEnd) String() string { func (*ReqFriendTreasureEnd) ProtoMessage() {} func (x *ReqFriendTreasureEnd) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[343] + mi := &file_proto_Gameapi_proto_msgTypes[348] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -19342,7 +19615,7 @@ func (x *ReqFriendTreasureEnd) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqFriendTreasureEnd.ProtoReflect.Descriptor instead. func (*ReqFriendTreasureEnd) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{343} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{348} } type ResFriendTreasureEnd struct { @@ -19356,7 +19629,7 @@ type ResFriendTreasureEnd struct { func (x *ResFriendTreasureEnd) Reset() { *x = ResFriendTreasureEnd{} - mi := &file_proto_Gameapi_proto_msgTypes[344] + mi := &file_proto_Gameapi_proto_msgTypes[349] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -19368,7 +19641,7 @@ func (x *ResFriendTreasureEnd) String() string { func (*ResFriendTreasureEnd) ProtoMessage() {} func (x *ResFriendTreasureEnd) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[344] + mi := &file_proto_Gameapi_proto_msgTypes[349] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -19381,7 +19654,7 @@ func (x *ResFriendTreasureEnd) ProtoReflect() protoreflect.Message { // Deprecated: Use ResFriendTreasureEnd.ProtoReflect.Descriptor instead. func (*ResFriendTreasureEnd) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{344} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{349} } func (x *ResFriendTreasureEnd) GetCode() RES_CODE { @@ -19408,7 +19681,7 @@ type ReqFriendTreasureFilp struct { func (x *ReqFriendTreasureFilp) Reset() { *x = ReqFriendTreasureFilp{} - mi := &file_proto_Gameapi_proto_msgTypes[345] + mi := &file_proto_Gameapi_proto_msgTypes[350] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -19420,7 +19693,7 @@ func (x *ReqFriendTreasureFilp) String() string { func (*ReqFriendTreasureFilp) ProtoMessage() {} func (x *ReqFriendTreasureFilp) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[345] + mi := &file_proto_Gameapi_proto_msgTypes[350] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -19433,7 +19706,7 @@ func (x *ReqFriendTreasureFilp) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqFriendTreasureFilp.ProtoReflect.Descriptor instead. func (*ReqFriendTreasureFilp) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{345} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{350} } func (x *ReqFriendTreasureFilp) GetPos() int32 { @@ -19454,7 +19727,7 @@ type ResFriendTreasureFilp struct { func (x *ResFriendTreasureFilp) Reset() { *x = ResFriendTreasureFilp{} - mi := &file_proto_Gameapi_proto_msgTypes[346] + mi := &file_proto_Gameapi_proto_msgTypes[351] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -19466,7 +19739,7 @@ func (x *ResFriendTreasureFilp) String() string { func (*ResFriendTreasureFilp) ProtoMessage() {} func (x *ResFriendTreasureFilp) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[346] + mi := &file_proto_Gameapi_proto_msgTypes[351] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -19479,7 +19752,7 @@ func (x *ResFriendTreasureFilp) ProtoReflect() protoreflect.Message { // Deprecated: Use ResFriendTreasureFilp.ProtoReflect.Descriptor instead. func (*ResFriendTreasureFilp) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{346} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{351} } func (x *ResFriendTreasureFilp) GetCode() RES_CODE { @@ -19506,7 +19779,7 @@ type ResFriendTreasureStar struct { func (x *ResFriendTreasureStar) Reset() { *x = ResFriendTreasureStar{} - mi := &file_proto_Gameapi_proto_msgTypes[347] + mi := &file_proto_Gameapi_proto_msgTypes[352] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -19518,7 +19791,7 @@ func (x *ResFriendTreasureStar) String() string { func (*ResFriendTreasureStar) ProtoMessage() {} func (x *ResFriendTreasureStar) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[347] + mi := &file_proto_Gameapi_proto_msgTypes[352] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -19531,7 +19804,7 @@ func (x *ResFriendTreasureStar) ProtoReflect() protoreflect.Message { // Deprecated: Use ResFriendTreasureStar.ProtoReflect.Descriptor instead. func (*ResFriendTreasureStar) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{347} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{352} } func (x *ResFriendTreasureStar) GetStar() int32 { @@ -19552,7 +19825,7 @@ type ReqKafkaLog struct { func (x *ReqKafkaLog) Reset() { *x = ReqKafkaLog{} - mi := &file_proto_Gameapi_proto_msgTypes[348] + mi := &file_proto_Gameapi_proto_msgTypes[353] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -19564,7 +19837,7 @@ func (x *ReqKafkaLog) String() string { func (*ReqKafkaLog) ProtoMessage() {} func (x *ReqKafkaLog) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[348] + mi := &file_proto_Gameapi_proto_msgTypes[353] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -19577,7 +19850,7 @@ func (x *ReqKafkaLog) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqKafkaLog.ProtoReflect.Descriptor instead. func (*ReqKafkaLog) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{348} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{353} } func (x *ReqKafkaLog) GetEvent() string { @@ -19602,7 +19875,7 @@ type ReqCollectInfo struct { func (x *ReqCollectInfo) Reset() { *x = ReqCollectInfo{} - mi := &file_proto_Gameapi_proto_msgTypes[349] + mi := &file_proto_Gameapi_proto_msgTypes[354] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -19614,7 +19887,7 @@ func (x *ReqCollectInfo) String() string { func (*ReqCollectInfo) ProtoMessage() {} func (x *ReqCollectInfo) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[349] + mi := &file_proto_Gameapi_proto_msgTypes[354] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -19627,7 +19900,7 @@ func (x *ReqCollectInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqCollectInfo.ProtoReflect.Descriptor instead. func (*ReqCollectInfo) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{349} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{354} } type ResCollectInfo struct { @@ -19641,7 +19914,7 @@ type ResCollectInfo struct { func (x *ResCollectInfo) Reset() { *x = ResCollectInfo{} - mi := &file_proto_Gameapi_proto_msgTypes[350] + mi := &file_proto_Gameapi_proto_msgTypes[355] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -19653,7 +19926,7 @@ func (x *ResCollectInfo) String() string { func (*ResCollectInfo) ProtoMessage() {} func (x *ResCollectInfo) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[350] + mi := &file_proto_Gameapi_proto_msgTypes[355] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -19666,7 +19939,7 @@ func (x *ResCollectInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use ResCollectInfo.ProtoReflect.Descriptor instead. func (*ResCollectInfo) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{350} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{355} } func (x *ResCollectInfo) GetId() []int32 { @@ -19694,7 +19967,7 @@ type CollectItem struct { func (x *CollectItem) Reset() { *x = CollectItem{} - mi := &file_proto_Gameapi_proto_msgTypes[351] + mi := &file_proto_Gameapi_proto_msgTypes[356] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -19706,7 +19979,7 @@ func (x *CollectItem) String() string { func (*CollectItem) ProtoMessage() {} func (x *CollectItem) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[351] + mi := &file_proto_Gameapi_proto_msgTypes[356] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -19719,7 +19992,7 @@ func (x *CollectItem) ProtoReflect() protoreflect.Message { // Deprecated: Use CollectItem.ProtoReflect.Descriptor instead. func (*CollectItem) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{351} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{356} } func (x *CollectItem) GetId() int32 { @@ -19746,7 +20019,7 @@ type ReqCollect struct { func (x *ReqCollect) Reset() { *x = ReqCollect{} - mi := &file_proto_Gameapi_proto_msgTypes[352] + mi := &file_proto_Gameapi_proto_msgTypes[357] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -19758,7 +20031,7 @@ func (x *ReqCollect) String() string { func (*ReqCollect) ProtoMessage() {} func (x *ReqCollect) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[352] + mi := &file_proto_Gameapi_proto_msgTypes[357] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -19771,7 +20044,7 @@ func (x *ReqCollect) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqCollect.ProtoReflect.Descriptor instead. func (*ReqCollect) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{352} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{357} } func (x *ReqCollect) GetId() int32 { @@ -19792,7 +20065,7 @@ type ResCollect struct { func (x *ResCollect) Reset() { *x = ResCollect{} - mi := &file_proto_Gameapi_proto_msgTypes[353] + mi := &file_proto_Gameapi_proto_msgTypes[358] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -19804,7 +20077,7 @@ func (x *ResCollect) String() string { func (*ResCollect) ProtoMessage() {} func (x *ResCollect) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[353] + mi := &file_proto_Gameapi_proto_msgTypes[358] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -19817,7 +20090,7 @@ func (x *ResCollect) ProtoReflect() protoreflect.Message { // Deprecated: Use ResCollect.ProtoReflect.Descriptor instead. func (*ResCollect) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{353} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{358} } func (x *ResCollect) GetCode() RES_CODE { @@ -19846,7 +20119,7 @@ type AdminReq struct { func (x *AdminReq) Reset() { *x = AdminReq{} - mi := &file_proto_Gameapi_proto_msgTypes[354] + mi := &file_proto_Gameapi_proto_msgTypes[359] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -19858,7 +20131,7 @@ func (x *AdminReq) String() string { func (*AdminReq) ProtoMessage() {} func (x *AdminReq) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[354] + mi := &file_proto_Gameapi_proto_msgTypes[359] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -19871,7 +20144,7 @@ func (x *AdminReq) ProtoReflect() protoreflect.Message { // Deprecated: Use AdminReq.ProtoReflect.Descriptor instead. func (*AdminReq) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{354} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{359} } func (x *AdminReq) GetFunc() string { @@ -19899,7 +20172,7 @@ type AdminRes struct { func (x *AdminRes) Reset() { *x = AdminRes{} - mi := &file_proto_Gameapi_proto_msgTypes[355] + mi := &file_proto_Gameapi_proto_msgTypes[360] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -19911,7 +20184,7 @@ func (x *AdminRes) String() string { func (*AdminRes) ProtoMessage() {} func (x *AdminRes) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[355] + mi := &file_proto_Gameapi_proto_msgTypes[360] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -19924,7 +20197,7 @@ func (x *AdminRes) ProtoReflect() protoreflect.Message { // Deprecated: Use AdminRes.ProtoReflect.Descriptor instead. func (*AdminRes) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{355} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{360} } func (x *AdminRes) GetFunc() string { @@ -19951,7 +20224,7 @@ type ReqAdminInfo struct { func (x *ReqAdminInfo) Reset() { *x = ReqAdminInfo{} - mi := &file_proto_Gameapi_proto_msgTypes[356] + mi := &file_proto_Gameapi_proto_msgTypes[361] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -19963,7 +20236,7 @@ func (x *ReqAdminInfo) String() string { func (*ReqAdminInfo) ProtoMessage() {} func (x *ReqAdminInfo) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[356] + mi := &file_proto_Gameapi_proto_msgTypes[361] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -19976,7 +20249,7 @@ func (x *ReqAdminInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqAdminInfo.ProtoReflect.Descriptor instead. func (*ReqAdminInfo) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{356} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{361} } func (x *ReqAdminInfo) GetUid() int64 { @@ -19994,7 +20267,7 @@ type ReqReloadServerMail struct { func (x *ReqReloadServerMail) Reset() { *x = ReqReloadServerMail{} - mi := &file_proto_Gameapi_proto_msgTypes[357] + mi := &file_proto_Gameapi_proto_msgTypes[362] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -20006,7 +20279,7 @@ func (x *ReqReloadServerMail) String() string { func (*ReqReloadServerMail) ProtoMessage() {} func (x *ReqReloadServerMail) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[357] + mi := &file_proto_Gameapi_proto_msgTypes[362] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -20019,7 +20292,7 @@ func (x *ReqReloadServerMail) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqReloadServerMail.ProtoReflect.Descriptor instead. func (*ReqReloadServerMail) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{357} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{362} } type ReqServerInfo struct { @@ -20030,7 +20303,7 @@ type ReqServerInfo struct { func (x *ReqServerInfo) Reset() { *x = ReqServerInfo{} - mi := &file_proto_Gameapi_proto_msgTypes[358] + mi := &file_proto_Gameapi_proto_msgTypes[363] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -20042,7 +20315,7 @@ func (x *ReqServerInfo) String() string { func (*ReqServerInfo) ProtoMessage() {} func (x *ReqServerInfo) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[358] + mi := &file_proto_Gameapi_proto_msgTypes[363] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -20055,7 +20328,7 @@ func (x *ReqServerInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqServerInfo.ProtoReflect.Descriptor instead. func (*ReqServerInfo) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{358} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{363} } type ReqReload struct { @@ -20066,7 +20339,7 @@ type ReqReload struct { func (x *ReqReload) Reset() { *x = ReqReload{} - mi := &file_proto_Gameapi_proto_msgTypes[359] + mi := &file_proto_Gameapi_proto_msgTypes[364] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -20078,7 +20351,7 @@ func (x *ReqReload) String() string { func (*ReqReload) ProtoMessage() {} func (x *ReqReload) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[359] + mi := &file_proto_Gameapi_proto_msgTypes[364] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -20091,7 +20364,7 @@ func (x *ReqReload) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqReload.ProtoReflect.Descriptor instead. func (*ReqReload) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{359} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{364} } type ReqAdminGm struct { @@ -20105,7 +20378,7 @@ type ReqAdminGm struct { func (x *ReqAdminGm) Reset() { *x = ReqAdminGm{} - mi := &file_proto_Gameapi_proto_msgTypes[360] + mi := &file_proto_Gameapi_proto_msgTypes[365] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -20117,7 +20390,7 @@ func (x *ReqAdminGm) String() string { func (*ReqAdminGm) ProtoMessage() {} func (x *ReqAdminGm) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[360] + mi := &file_proto_Gameapi_proto_msgTypes[365] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -20130,7 +20403,7 @@ func (x *ReqAdminGm) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqAdminGm.ProtoReflect.Descriptor instead. func (*ReqAdminGm) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{360} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{365} } func (x *ReqAdminGm) GetUid() int64 { @@ -21904,7 +22177,7 @@ var file_proto_Gameapi_proto_rawDesc = []byte{ 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x45, 0x53, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x22, 0x0d, 0x0a, 0x0b, 0x52, 0x65, - 0x71, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x22, 0x95, 0x06, 0x0a, 0x0b, 0x52, 0x65, + 0x71, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x22, 0xd4, 0x08, 0x0a, 0x0b, 0x52, 0x65, 0x73, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x28, 0x0a, 0x05, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, @@ -21942,401 +22215,447 @@ var file_proto_Gameapi_proto_rawDesc = []byte{ 0x6f, 0x67, 0x79, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x65, 0x73, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x2e, 0x50, 0x68, 0x79, 0x73, 0x69, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x45, 0x6e, 0x74, 0x72, 0x79, - 0x52, 0x0a, 0x50, 0x68, 0x79, 0x73, 0x69, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x1a, 0x3b, 0x0a, 0x0d, - 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 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, 0x1a, 0x37, 0x0a, 0x09, 0x4d, 0x6f, 0x6f, - 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, 0x1a, 0x3d, 0x0a, 0x0f, 0x50, 0x68, 0x79, 0x73, 0x69, 0x6f, 0x6c, 0x6f, 0x67, 0x79, + 0x52, 0x0a, 0x50, 0x68, 0x79, 0x73, 0x69, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x12, 0x36, 0x0a, 0x05, + 0x44, 0x72, 0x65, 0x73, 0x73, 0x18, 0x10, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x74, 0x75, + 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x65, 0x73, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, + 0x6f, 0x6d, 0x2e, 0x44, 0x72, 0x65, 0x73, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x44, + 0x72, 0x65, 0x73, 0x73, 0x12, 0x3f, 0x0a, 0x08, 0x44, 0x72, 0x65, 0x73, 0x73, 0x53, 0x65, 0x74, + 0x18, 0x11, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, + 0x6c, 0x2e, 0x52, 0x65, 0x73, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x2e, 0x44, 0x72, + 0x65, 0x73, 0x73, 0x53, 0x65, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x44, 0x72, 0x65, + 0x73, 0x73, 0x53, 0x65, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x50, 0x65, 0x74, 0x41, 0x69, 0x72, 0x18, + 0x12, 0x20, 0x03, 0x28, 0x05, 0x52, 0x06, 0x50, 0x65, 0x74, 0x41, 0x69, 0x72, 0x12, 0x1c, 0x0a, + 0x09, 0x50, 0x65, 0x74, 0x41, 0x69, 0x72, 0x53, 0x65, 0x74, 0x18, 0x13, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x09, 0x50, 0x65, 0x74, 0x41, 0x69, 0x72, 0x53, 0x65, 0x74, 0x1a, 0x3b, 0x0a, 0x0d, 0x50, + 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 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, 0x1a, 0x37, 0x0a, 0x09, 0x4d, 0x6f, 0x6f, 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, 0x18, 0x0a, 0x16, 0x52, 0x65, 0x71, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, - 0x57, 0x72, 0x6f, 0x6b, 0x4f, 0x75, 0x74, 0x6c, 0x69, 0x6e, 0x65, 0x22, 0x52, 0x0a, 0x16, 0x52, - 0x65, 0x73, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x57, 0x72, 0x6f, 0x6b, 0x4f, 0x75, - 0x74, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x26, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, - 0x45, 0x53, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, - 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x22, - 0x36, 0x0a, 0x12, 0x4e, 0x6f, 0x66, 0x69, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x53, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x57, 0x6f, 0x72, 0x6b, 0x4f, 0x75, 0x74, - 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x57, 0x6f, 0x72, 0x6b, - 0x4f, 0x75, 0x74, 0x6c, 0x69, 0x6e, 0x65, 0x22, 0x52, 0x0a, 0x12, 0x4e, 0x6f, 0x74, 0x69, 0x66, - 0x79, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x57, 0x6f, 0x72, 0x6b, 0x12, 0x1c, 0x0a, - 0x09, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x09, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x57, - 0x6f, 0x72, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x0a, 0x57, 0x6f, 0x72, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x58, 0x0a, 0x12, 0x4e, - 0x6f, 0x74, 0x69, 0x66, 0x79, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x4c, 0x6f, 0x73, - 0x65, 0x12, 0x2e, 0x0a, 0x08, 0x4c, 0x6f, 0x73, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x18, 0x01, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x49, - 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x4c, 0x6f, 0x73, 0x65, 0x49, 0x74, 0x65, - 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x43, 0x68, 0x69, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x04, 0x43, 0x68, 0x69, 0x70, 0x22, 0xb0, 0x02, 0x0a, 0x12, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, - 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x4d, 0x6f, 0x6f, 0x64, 0x12, 0x18, 0x0a, 0x07, - 0x41, 0x6c, 0x6c, 0x4d, 0x6f, 0x6f, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x41, - 0x6c, 0x6c, 0x4d, 0x6f, 0x6f, 0x64, 0x12, 0x3a, 0x0a, 0x04, 0x4d, 0x6f, 0x6f, 0x64, 0x18, 0x02, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, - 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x4d, 0x6f, - 0x6f, 0x64, 0x2e, 0x4d, 0x6f, 0x6f, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x04, 0x4d, 0x6f, - 0x6f, 0x64, 0x12, 0x4c, 0x0a, 0x0a, 0x50, 0x68, 0x79, 0x73, 0x69, 0x6f, 0x6c, 0x6f, 0x67, 0x79, - 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, - 0x6c, 0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, - 0x4d, 0x6f, 0x6f, 0x64, 0x2e, 0x50, 0x68, 0x79, 0x73, 0x69, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x45, - 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x50, 0x68, 0x79, 0x73, 0x69, 0x6f, 0x6c, 0x6f, 0x67, 0x79, - 0x1a, 0x37, 0x0a, 0x09, 0x4d, 0x6f, 0x6f, 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, 0x1a, 0x3d, 0x0a, 0x0f, 0x50, 0x68, 0x79, - 0x73, 0x69, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 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, 0x74, 0x0a, 0x0a, 0x46, 0x72, 0x69, 0x65, - 0x6e, 0x64, 0x52, 0x6f, 0x6f, 0x6d, 0x12, 0x10, 0x0a, 0x03, 0x55, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x03, 0x52, 0x03, 0x55, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, - 0x46, 0x61, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x46, 0x61, 0x63, 0x65, - 0x12, 0x16, 0x0a, 0x06, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x06, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x54, 0x69, 0x6d, 0x65, - 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x22, 0x7c, - 0x0a, 0x0c, 0x52, 0x6f, 0x6f, 0x6d, 0x4f, 0x70, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x12, 0x10, - 0x0a, 0x03, 0x55, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x55, 0x69, 0x64, - 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, - 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x46, 0x61, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x04, 0x46, 0x61, 0x63, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x41, 0x76, 0x61, 0x74, - 0x61, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, - 0x12, 0x1a, 0x0a, 0x08, 0x4c, 0x61, 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x08, 0x4c, 0x61, 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x23, 0x0a, 0x0f, - 0x52, 0x65, 0x71, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x12, - 0x10, 0x0a, 0x03, 0x55, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x55, 0x69, - 0x64, 0x22, 0xcf, 0x05, 0x0a, 0x0f, 0x52, 0x65, 0x73, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, - 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x10, 0x0a, 0x03, 0x55, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x03, 0x52, 0x03, 0x55, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x46, - 0x61, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x46, 0x61, 0x63, 0x65, 0x12, - 0x16, 0x0a, 0x06, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x06, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x12, 0x43, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x79, 0x72, - 0x6f, 0x6f, 0x6d, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x74, 0x75, 0x74, 0x6f, - 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x65, 0x73, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, - 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x45, 0x6e, 0x74, - 0x72, 0x79, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x12, 0x16, 0x0a, 0x06, - 0x47, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x47, 0x61, - 0x6d, 0x65, 0x49, 0x64, 0x12, 0x3a, 0x0a, 0x05, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x07, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, - 0x65, 0x73, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x49, - 0x74, 0x65, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x49, 0x74, 0x65, 0x6d, 0x73, - 0x12, 0x16, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x65, 0x66, 0x65, - 0x6e, 0x73, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x64, 0x65, 0x66, 0x65, 0x6e, - 0x73, 0x65, 0x12, 0x37, 0x0a, 0x04, 0x66, 0x6c, 0x69, 0x70, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x23, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x65, 0x73, 0x50, - 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x46, 0x6c, 0x69, 0x70, - 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x04, 0x66, 0x6c, 0x69, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x43, - 0x68, 0x69, 0x70, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x43, 0x68, 0x69, 0x70, 0x12, - 0x18, 0x0a, 0x07, 0x50, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x07, 0x50, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x3a, 0x0a, 0x05, 0x45, 0x6d, 0x6f, - 0x6a, 0x69, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, - 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x65, 0x73, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x49, - 0x6e, 0x66, 0x6f, 0x2e, 0x45, 0x6d, 0x6f, 0x6a, 0x69, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, - 0x45, 0x6d, 0x6f, 0x6a, 0x69, 0x1a, 0x3b, 0x0a, 0x0d, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, - 0x6d, 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, 0x1a, 0x4c, 0x0a, 0x0a, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, - 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, - 0x65, 0x79, 0x12, 0x28, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x49, 0x74, 0x65, - 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, - 0x1a, 0x37, 0x0a, 0x09, 0x46, 0x6c, 0x69, 0x70, 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, 0x1a, 0x38, 0x0a, 0x0a, 0x45, 0x6d, 0x6f, - 0x6a, 0x69, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, + 0x01, 0x1a, 0x3d, 0x0a, 0x0f, 0x50, 0x68, 0x79, 0x73, 0x69, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 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, + 0x1a, 0x51, 0x0a, 0x0a, 0x44, 0x72, 0x65, 0x73, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, + 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, + 0x12, 0x2d, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x17, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x72, + 0x6f, 0x6f, 0x6d, 0x44, 0x72, 0x65, 0x73, 0x73, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, + 0x02, 0x38, 0x01, 0x1a, 0x3b, 0x0a, 0x0d, 0x44, 0x72, 0x65, 0x73, 0x73, 0x53, 0x65, 0x74, 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, 0x23, 0x0a, 0x0d, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x44, 0x72, 0x65, 0x73, + 0x73, 0x12, 0x12, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x05, 0x52, + 0x04, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x9b, 0x01, 0x0a, 0x13, 0x52, 0x65, 0x71, 0x50, 0x6c, 0x61, + 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x44, 0x72, 0x65, 0x73, 0x73, 0x53, 0x65, 0x74, 0x12, 0x47, 0x0a, + 0x08, 0x44, 0x72, 0x65, 0x73, 0x73, 0x53, 0x65, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x2b, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x65, 0x71, 0x50, 0x6c, + 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x44, 0x72, 0x65, 0x73, 0x73, 0x53, 0x65, 0x74, 0x2e, 0x44, + 0x72, 0x65, 0x73, 0x73, 0x53, 0x65, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x44, 0x72, + 0x65, 0x73, 0x73, 0x53, 0x65, 0x74, 0x1a, 0x3b, 0x0a, 0x0d, 0x44, 0x72, 0x65, 0x73, 0x73, 0x53, + 0x65, 0x74, 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, 0x21, 0x0a, 0x0f, 0x52, 0x65, 0x71, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, - 0x6f, 0x6d, 0x46, 0x6c, 0x69, 0x70, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x22, 0x73, 0x0a, 0x0f, 0x52, 0x65, 0x73, 0x50, 0x6c, 0x61, - 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x46, 0x6c, 0x69, 0x70, 0x12, 0x26, 0x0a, 0x04, 0x43, 0x6f, 0x64, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, - 0x61, 0x6c, 0x2e, 0x52, 0x45, 0x53, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x52, 0x04, 0x43, 0x6f, 0x64, - 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, - 0x4d, 0x73, 0x67, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x02, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x43, 0x61, 0x72, 0x64, 0x49, 0x64, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x06, 0x43, 0x61, 0x72, 0x64, 0x49, 0x64, 0x22, 0x17, 0x0a, 0x15, 0x52, - 0x65, 0x71, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x46, 0x6c, 0x69, 0x70, 0x52, 0x65, - 0x77, 0x61, 0x72, 0x64, 0x22, 0x51, 0x0a, 0x15, 0x52, 0x65, 0x73, 0x50, 0x6c, 0x61, 0x79, 0x72, - 0x6f, 0x6f, 0x6d, 0x46, 0x6c, 0x69, 0x70, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x26, 0x0a, - 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x75, - 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x45, 0x53, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x52, - 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x22, 0x25, 0x0a, 0x0f, 0x52, 0x65, 0x71, 0x50, 0x6c, - 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x47, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x54, 0x79, - 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x54, 0x79, 0x70, 0x65, 0x22, 0xe9, - 0x01, 0x0a, 0x0f, 0x52, 0x65, 0x73, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x47, 0x61, - 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, - 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x45, 0x53, 0x5f, - 0x43, 0x4f, 0x44, 0x45, 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, - 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x12, 0x12, 0x0a, 0x04, - 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x54, 0x79, 0x70, 0x65, - 0x12, 0x3a, 0x0a, 0x05, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x24, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x65, 0x73, 0x50, 0x6c, - 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x47, 0x61, 0x6d, 0x65, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x73, - 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x1a, 0x4c, 0x0a, 0x0a, - 0x49, 0x74, 0x65, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, - 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x28, 0x0a, 0x05, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x74, 0x75, - 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x52, - 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x39, 0x0a, 0x13, 0x52, 0x65, - 0x71, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63, - 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, - 0x64, 0x12, 0x12, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x04, 0x54, 0x79, 0x70, 0x65, 0x22, 0x4f, 0x0a, 0x13, 0x52, 0x65, 0x73, 0x50, 0x6c, 0x61, 0x79, - 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63, 0x74, 0x12, 0x26, 0x0a, 0x04, - 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, - 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x45, 0x53, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x52, 0x04, - 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x22, 0x99, 0x01, 0x0a, 0x12, 0x52, 0x65, 0x71, 0x50, 0x6c, - 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x53, 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x12, 0x46, 0x0a, - 0x08, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x2a, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x65, 0x71, 0x50, 0x6c, - 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x53, 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x2e, 0x50, 0x6c, - 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x50, 0x6c, 0x61, - 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x1a, 0x3b, 0x0a, 0x0d, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, - 0x6d, 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, 0x4e, 0x0a, 0x12, 0x52, 0x65, 0x73, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, - 0x6d, 0x53, 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x12, 0x26, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, - 0x6c, 0x2e, 0x52, 0x45, 0x53, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, - 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, - 0x73, 0x67, 0x22, 0x29, 0x0a, 0x17, 0x52, 0x65, 0x71, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, - 0x6d, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x0e, 0x0a, - 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x22, 0x53, 0x0a, - 0x17, 0x52, 0x65, 0x73, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x53, 0x65, 0x6c, 0x65, - 0x63, 0x74, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x26, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, - 0x6c, 0x2e, 0x52, 0x45, 0x53, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, - 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, - 0x73, 0x67, 0x22, 0x11, 0x0a, 0x0f, 0x52, 0x65, 0x71, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, - 0x6d, 0x4c, 0x6f, 0x73, 0x65, 0x22, 0x4b, 0x0a, 0x0f, 0x52, 0x65, 0x73, 0x50, 0x6c, 0x61, 0x79, - 0x72, 0x6f, 0x6f, 0x6d, 0x4c, 0x6f, 0x73, 0x65, 0x12, 0x26, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, - 0x6c, 0x2e, 0x52, 0x45, 0x53, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, - 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, - 0x73, 0x67, 0x22, 0x11, 0x0a, 0x0f, 0x52, 0x65, 0x71, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, - 0x6d, 0x57, 0x6f, 0x72, 0x6b, 0x22, 0x4b, 0x0a, 0x0f, 0x52, 0x65, 0x73, 0x50, 0x6c, 0x61, 0x79, - 0x72, 0x6f, 0x6f, 0x6d, 0x57, 0x6f, 0x72, 0x6b, 0x12, 0x26, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, - 0x6c, 0x2e, 0x52, 0x45, 0x53, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, - 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, - 0x73, 0x67, 0x22, 0x11, 0x0a, 0x0f, 0x52, 0x65, 0x71, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, - 0x6d, 0x52, 0x65, 0x73, 0x74, 0x22, 0x4b, 0x0a, 0x0f, 0x52, 0x65, 0x73, 0x50, 0x6c, 0x61, 0x79, - 0x72, 0x6f, 0x6f, 0x6d, 0x52, 0x65, 0x73, 0x74, 0x12, 0x26, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, - 0x6c, 0x2e, 0x52, 0x45, 0x53, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, - 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, - 0x73, 0x67, 0x22, 0x11, 0x0a, 0x0f, 0x52, 0x65, 0x71, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, - 0x6d, 0x44, 0x72, 0x61, 0x77, 0x22, 0x5b, 0x0a, 0x0f, 0x52, 0x65, 0x73, 0x50, 0x6c, 0x61, 0x79, - 0x72, 0x6f, 0x6f, 0x6d, 0x44, 0x72, 0x61, 0x77, 0x12, 0x26, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, - 0x6c, 0x2e, 0x52, 0x45, 0x53, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, - 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, - 0x73, 0x67, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, - 0x49, 0x64, 0x22, 0x23, 0x0a, 0x0f, 0x52, 0x65, 0x71, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, - 0x6d, 0x43, 0x68, 0x69, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x4e, 0x75, 0x6d, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x03, 0x4e, 0x75, 0x6d, 0x22, 0x4b, 0x0a, 0x0f, 0x52, 0x65, 0x73, 0x50, 0x6c, - 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x43, 0x68, 0x69, 0x70, 0x12, 0x26, 0x0a, 0x04, 0x43, 0x6f, + 0x02, 0x38, 0x01, 0x22, 0x4f, 0x0a, 0x13, 0x52, 0x65, 0x73, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, + 0x6f, 0x6d, 0x44, 0x72, 0x65, 0x73, 0x73, 0x53, 0x65, 0x74, 0x12, 0x26, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x45, 0x53, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x03, 0x4d, 0x73, 0x67, 0x22, 0x24, 0x0a, 0x12, 0x52, 0x65, 0x71, 0x50, 0x6c, 0x61, 0x79, 0x72, - 0x6f, 0x6f, 0x6d, 0x42, 0x75, 0x79, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x22, 0x4e, 0x0a, 0x12, 0x52, 0x65, - 0x73, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x42, 0x75, 0x79, 0x49, 0x74, 0x65, 0x6d, + 0x03, 0x4d, 0x73, 0x67, 0x22, 0x34, 0x0a, 0x14, 0x52, 0x65, 0x71, 0x50, 0x6c, 0x61, 0x79, 0x72, + 0x6f, 0x6f, 0x6d, 0x50, 0x65, 0x74, 0x41, 0x69, 0x72, 0x53, 0x65, 0x74, 0x12, 0x1c, 0x0a, 0x09, + 0x50, 0x65, 0x74, 0x41, 0x69, 0x72, 0x53, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x09, 0x50, 0x65, 0x74, 0x41, 0x69, 0x72, 0x53, 0x65, 0x74, 0x22, 0x50, 0x0a, 0x14, 0x52, 0x65, + 0x73, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x50, 0x65, 0x74, 0x41, 0x69, 0x72, 0x53, + 0x65, 0x74, 0x12, 0x26, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, + 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x45, 0x53, 0x5f, + 0x43, 0x4f, 0x44, 0x45, 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, + 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x22, 0x18, 0x0a, 0x16, + 0x52, 0x65, 0x71, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x57, 0x72, 0x6f, 0x6b, 0x4f, + 0x75, 0x74, 0x6c, 0x69, 0x6e, 0x65, 0x22, 0x52, 0x0a, 0x16, 0x52, 0x65, 0x73, 0x50, 0x6c, 0x61, + 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x57, 0x72, 0x6f, 0x6b, 0x4f, 0x75, 0x74, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x26, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x45, 0x53, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x22, 0x33, 0x0a, 0x0f, 0x52, 0x65, - 0x71, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x53, 0x68, 0x6f, 0x70, 0x12, 0x0e, 0x0a, - 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x10, 0x0a, - 0x03, 0x4e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x4e, 0x75, 0x6d, 0x22, - 0x4b, 0x0a, 0x0f, 0x52, 0x65, 0x73, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x53, 0x68, - 0x6f, 0x70, 0x12, 0x26, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, - 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x45, 0x53, 0x5f, - 0x43, 0x4f, 0x44, 0x45, 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, - 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x22, 0x13, 0x0a, 0x11, - 0x52, 0x65, 0x71, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x54, 0x72, 0x65, 0x61, 0x73, 0x75, 0x72, - 0x65, 0x22, 0x97, 0x01, 0x0a, 0x11, 0x52, 0x65, 0x73, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x54, - 0x72, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, - 0x12, 0x0a, 0x04, 0x53, 0x74, 0x61, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x53, - 0x74, 0x61, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x53, 0x68, 0x69, 0x66, 0x74, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x05, 0x53, 0x68, 0x69, 0x66, 0x74, 0x12, 0x2a, 0x0a, 0x04, 0x4c, 0x69, 0x73, - 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, - 0x61, 0x6c, 0x2e, 0x54, 0x72, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, - 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x4c, 0x69, 0x73, 0x74, 0x32, 0x18, 0x05, - 0x20, 0x03, 0x28, 0x05, 0x52, 0x05, 0x4c, 0x69, 0x73, 0x74, 0x32, 0x22, 0xa6, 0x01, 0x0a, 0x0c, - 0x54, 0x72, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x10, 0x0a, 0x03, - 0x50, 0x6f, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x50, 0x6f, 0x73, 0x12, 0x12, - 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x54, 0x79, - 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x46, 0x61, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x04, 0x46, 0x61, 0x63, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x12, 0x10, - 0x0a, 0x03, 0x55, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x55, 0x69, 0x64, - 0x12, 0x16, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x4e, 0x69, 0x63, 0x6b, - 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x4e, 0x69, 0x63, 0x6b, - 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x5a, 0x0a, 0x16, 0x52, 0x65, 0x71, 0x46, 0x72, 0x69, 0x65, 0x6e, - 0x64, 0x54, 0x72, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x2a, - 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x74, - 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x54, 0x72, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, - 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x4c, 0x69, - 0x73, 0x74, 0x32, 0x18, 0x02, 0x20, 0x03, 0x28, 0x05, 0x52, 0x05, 0x4c, 0x69, 0x73, 0x74, 0x32, - 0x22, 0x52, 0x0a, 0x16, 0x52, 0x65, 0x73, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x54, 0x72, 0x65, - 0x61, 0x73, 0x75, 0x72, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x26, 0x0a, 0x04, 0x43, 0x6f, - 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, - 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x45, 0x53, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x52, 0x04, 0x43, 0x6f, - 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x03, 0x4d, 0x73, 0x67, 0x22, 0x16, 0x0a, 0x14, 0x52, 0x65, 0x71, 0x46, 0x72, 0x69, 0x65, 0x6e, - 0x64, 0x54, 0x72, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x45, 0x6e, 0x64, 0x22, 0x50, 0x0a, 0x14, - 0x52, 0x65, 0x73, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x54, 0x72, 0x65, 0x61, 0x73, 0x75, 0x72, - 0x65, 0x45, 0x6e, 0x64, 0x12, 0x26, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x22, 0x36, 0x0a, 0x12, 0x4e, 0x6f, + 0x66, 0x69, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x12, 0x20, 0x0a, 0x0b, 0x57, 0x6f, 0x72, 0x6b, 0x4f, 0x75, 0x74, 0x6c, 0x69, 0x6e, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x57, 0x6f, 0x72, 0x6b, 0x4f, 0x75, 0x74, 0x6c, 0x69, + 0x6e, 0x65, 0x22, 0x52, 0x0a, 0x12, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x50, 0x6c, 0x61, 0x79, + 0x72, 0x6f, 0x6f, 0x6d, 0x57, 0x6f, 0x72, 0x6b, 0x12, 0x1c, 0x0a, 0x09, 0x53, 0x74, 0x61, 0x72, + 0x74, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x53, 0x74, 0x61, + 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x57, 0x6f, 0x72, 0x6b, 0x53, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x57, 0x6f, 0x72, 0x6b, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x58, 0x0a, 0x12, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, + 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x4c, 0x6f, 0x73, 0x65, 0x12, 0x2e, 0x0a, 0x08, + 0x4c, 0x6f, 0x73, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, + 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x6e, + 0x66, 0x6f, 0x52, 0x08, 0x4c, 0x6f, 0x73, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x12, 0x0a, 0x04, + 0x43, 0x68, 0x69, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x43, 0x68, 0x69, 0x70, + 0x22, 0xb0, 0x02, 0x0a, 0x12, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x50, 0x6c, 0x61, 0x79, 0x72, + 0x6f, 0x6f, 0x6d, 0x4d, 0x6f, 0x6f, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x41, 0x6c, 0x6c, 0x4d, 0x6f, + 0x6f, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x41, 0x6c, 0x6c, 0x4d, 0x6f, 0x6f, + 0x64, 0x12, 0x3a, 0x0a, 0x04, 0x4d, 0x6f, 0x6f, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x26, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66, + 0x79, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x4d, 0x6f, 0x6f, 0x64, 0x2e, 0x4d, 0x6f, + 0x6f, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x04, 0x4d, 0x6f, 0x6f, 0x64, 0x12, 0x4c, 0x0a, + 0x0a, 0x50, 0x68, 0x79, 0x73, 0x69, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x18, 0x03, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x2c, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x4e, 0x6f, 0x74, + 0x69, 0x66, 0x79, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x4d, 0x6f, 0x6f, 0x64, 0x2e, + 0x50, 0x68, 0x79, 0x73, 0x69, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, + 0x0a, 0x50, 0x68, 0x79, 0x73, 0x69, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x1a, 0x37, 0x0a, 0x09, 0x4d, + 0x6f, 0x6f, 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, 0x1a, 0x3d, 0x0a, 0x0f, 0x50, 0x68, 0x79, 0x73, 0x69, 0x6f, 0x6c, 0x6f, + 0x67, 0x79, 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, 0x74, 0x0a, 0x0a, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x52, 0x6f, 0x6f, + 0x6d, 0x12, 0x10, 0x0a, 0x03, 0x55, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, + 0x55, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x46, 0x61, 0x63, 0x65, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x46, 0x61, 0x63, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x41, + 0x76, 0x61, 0x74, 0x61, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x41, 0x76, 0x61, + 0x74, 0x61, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x05, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x22, 0x7c, 0x0a, 0x0c, 0x52, 0x6f, 0x6f, + 0x6d, 0x4f, 0x70, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x55, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x55, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x4e, + 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, + 0x12, 0x0a, 0x04, 0x46, 0x61, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x46, + 0x61, 0x63, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x06, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x4c, + 0x61, 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x4c, + 0x61, 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x23, 0x0a, 0x0f, 0x52, 0x65, 0x71, 0x50, 0x6c, + 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x10, 0x0a, 0x03, 0x55, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x55, 0x69, 0x64, 0x22, 0xcf, 0x05, 0x0a, + 0x0f, 0x52, 0x65, 0x73, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x6e, 0x66, 0x6f, + 0x12, 0x10, 0x0a, 0x03, 0x55, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x55, + 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x46, 0x61, 0x63, 0x65, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x46, 0x61, 0x63, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x41, 0x76, + 0x61, 0x74, 0x61, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x41, 0x76, 0x61, 0x74, + 0x61, 0x72, 0x12, 0x43, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x18, 0x05, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, + 0x52, 0x65, 0x73, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x2e, + 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x50, + 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x47, 0x61, 0x6d, 0x65, 0x49, + 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x12, + 0x3a, 0x0a, 0x05, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, + 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x65, 0x73, 0x50, 0x6c, 0x61, + 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x65, 0x66, 0x65, 0x6e, 0x73, 0x65, 0x18, 0x09, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x64, 0x65, 0x66, 0x65, 0x6e, 0x73, 0x65, 0x12, 0x37, 0x0a, + 0x04, 0x66, 0x6c, 0x69, 0x70, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x74, 0x75, + 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x65, 0x73, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, + 0x6f, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x46, 0x6c, 0x69, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x52, 0x04, 0x66, 0x6c, 0x69, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x43, 0x68, 0x69, 0x70, 0x18, 0x0b, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x43, 0x68, 0x69, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x50, 0x65, + 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x50, 0x65, 0x74, + 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x3a, 0x0a, 0x05, 0x45, 0x6d, 0x6f, 0x6a, 0x69, 0x18, 0x0d, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, + 0x65, 0x73, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x45, + 0x6d, 0x6f, 0x6a, 0x69, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x45, 0x6d, 0x6f, 0x6a, 0x69, + 0x1a, 0x3b, 0x0a, 0x0d, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 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, 0x1a, 0x4c, 0x0a, + 0x0a, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, + 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x28, 0x0a, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x74, + 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, + 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x37, 0x0a, 0x09, 0x46, + 0x6c, 0x69, 0x70, 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, 0x1a, 0x38, 0x0a, 0x0a, 0x45, 0x6d, 0x6f, 0x6a, 0x69, 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, 0x21, + 0x0a, 0x0f, 0x52, 0x65, 0x71, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x46, 0x6c, 0x69, + 0x70, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, + 0x64, 0x22, 0x73, 0x0a, 0x0f, 0x52, 0x65, 0x73, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, + 0x46, 0x6c, 0x69, 0x70, 0x12, 0x26, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x45, 0x53, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, - 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x22, 0x29, - 0x0a, 0x15, 0x52, 0x65, 0x71, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x54, 0x72, 0x65, 0x61, 0x73, - 0x75, 0x72, 0x65, 0x46, 0x69, 0x6c, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x50, 0x6f, 0x73, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x50, 0x6f, 0x73, 0x22, 0x51, 0x0a, 0x15, 0x52, 0x65, 0x73, - 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x54, 0x72, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x46, 0x69, - 0x6c, 0x70, 0x12, 0x26, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, - 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x45, 0x53, 0x5f, - 0x43, 0x4f, 0x44, 0x45, 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, - 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x22, 0x2b, 0x0a, 0x15, - 0x52, 0x65, 0x73, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x54, 0x72, 0x65, 0x61, 0x73, 0x75, 0x72, - 0x65, 0x53, 0x74, 0x61, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x53, 0x74, 0x61, 0x72, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x04, 0x53, 0x74, 0x61, 0x72, 0x22, 0x37, 0x0a, 0x0b, 0x52, 0x65, 0x71, - 0x4b, 0x61, 0x66, 0x6b, 0x61, 0x4c, 0x6f, 0x67, 0x12, 0x14, 0x0a, 0x05, 0x45, 0x76, 0x65, 0x6e, - 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x12, - 0x0a, 0x04, 0x44, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x44, 0x61, - 0x74, 0x61, 0x22, 0x10, 0x0a, 0x0e, 0x52, 0x65, 0x71, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, - 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x4d, 0x0a, 0x0e, 0x52, 0x65, 0x73, 0x43, 0x6f, 0x6c, 0x6c, 0x65, - 0x63, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x03, - 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x2b, 0x0a, 0x05, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x18, - 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, - 0x2e, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x05, 0x49, 0x74, - 0x65, 0x6d, 0x73, 0x22, 0x47, 0x0a, 0x0b, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x49, 0x74, - 0x65, 0x6d, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, - 0x49, 0x64, 0x12, 0x28, 0x0a, 0x05, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x49, 0x74, 0x65, - 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x22, 0x1c, 0x0a, 0x0a, - 0x52, 0x65, 0x71, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x22, 0x46, 0x0a, 0x0a, 0x52, 0x65, - 0x73, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x12, 0x26, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, + 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x12, 0x0e, + 0x0a, 0x02, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x16, + 0x0a, 0x06, 0x43, 0x61, 0x72, 0x64, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, + 0x43, 0x61, 0x72, 0x64, 0x49, 0x64, 0x22, 0x17, 0x0a, 0x15, 0x52, 0x65, 0x71, 0x50, 0x6c, 0x61, + 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x46, 0x6c, 0x69, 0x70, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x22, + 0x51, 0x0a, 0x15, 0x52, 0x65, 0x73, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x46, 0x6c, + 0x69, 0x70, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x26, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x45, 0x53, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, - 0x73, 0x67, 0x22, 0x32, 0x0a, 0x08, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x12, 0x12, - 0x0a, 0x04, 0x46, 0x75, 0x6e, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x46, 0x75, - 0x6e, 0x63, 0x12, 0x12, 0x0a, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, - 0x52, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x32, 0x0a, 0x08, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, - 0x65, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x46, 0x75, 0x6e, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x46, 0x75, 0x6e, 0x63, 0x12, 0x12, 0x0a, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x20, 0x0a, 0x0c, 0x52, 0x65, - 0x71, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x10, 0x0a, 0x03, 0x55, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x55, 0x69, 0x64, 0x22, 0x15, 0x0a, 0x13, - 0x52, 0x65, 0x71, 0x52, 0x65, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4d, - 0x61, 0x69, 0x6c, 0x22, 0x0f, 0x0a, 0x0d, 0x52, 0x65, 0x71, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, - 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x0b, 0x0a, 0x09, 0x52, 0x65, 0x71, 0x52, 0x65, 0x6c, 0x6f, 0x61, - 0x64, 0x22, 0x38, 0x0a, 0x0a, 0x52, 0x65, 0x71, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x47, 0x6d, 0x12, - 0x10, 0x0a, 0x03, 0x55, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x55, 0x69, - 0x64, 0x12, 0x18, 0x0a, 0x07, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x07, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x2a, 0xe8, 0x08, 0x0a, 0x0e, - 0x49, 0x54, 0x45, 0x4d, 0x5f, 0x50, 0x4f, 0x50, 0x5f, 0x4c, 0x41, 0x42, 0x45, 0x4c, 0x12, 0x0c, - 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, - 0x50, 0x69, 0x67, 0x67, 0x79, 0x42, 0x61, 0x6e, 0x6b, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x43, - 0x68, 0x61, 0x72, 0x67, 0x65, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x45, 0x6e, 0x64, 0x6c, 0x65, - 0x73, 0x73, 0x10, 0x03, 0x12, 0x0f, 0x0a, 0x0b, 0x4c, 0x65, 0x76, 0x55, 0x70, 0x52, 0x65, 0x77, - 0x61, 0x72, 0x64, 0x10, 0x04, 0x12, 0x0f, 0x0a, 0x0b, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x43, - 0x68, 0x65, 0x73, 0x73, 0x10, 0x05, 0x12, 0x12, 0x0a, 0x0e, 0x48, 0x61, 0x6e, 0x64, 0x62, 0x6f, - 0x6f, 0x6b, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, 0x06, 0x12, 0x0f, 0x0a, 0x0b, 0x4f, 0x72, - 0x64, 0x65, 0x72, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, 0x07, 0x12, 0x10, 0x0a, 0x0c, 0x44, - 0x65, 0x63, 0x6f, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x73, 0x74, 0x10, 0x08, 0x12, 0x0f, 0x0a, - 0x0b, 0x44, 0x65, 0x63, 0x6f, 0x72, 0x61, 0x74, 0x65, 0x41, 0x64, 0x64, 0x10, 0x09, 0x12, 0x13, - 0x0a, 0x0f, 0x42, 0x75, 0x79, 0x43, 0x68, 0x65, 0x73, 0x73, 0x42, 0x61, 0x67, 0x47, 0x72, 0x69, - 0x64, 0x10, 0x0a, 0x12, 0x0b, 0x0a, 0x07, 0x43, 0x68, 0x65, 0x73, 0x73, 0x45, 0x78, 0x10, 0x0b, - 0x12, 0x15, 0x0a, 0x11, 0x43, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x52, - 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, 0x0c, 0x12, 0x10, 0x0a, 0x0c, 0x45, 0x78, 0x53, 0x74, 0x61, - 0x72, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, 0x0d, 0x12, 0x14, 0x0a, 0x10, 0x41, 0x6c, 0x6c, - 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, 0x0e, 0x12, - 0x0f, 0x0a, 0x0b, 0x47, 0x75, 0x69, 0x64, 0x65, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, 0x0f, - 0x12, 0x13, 0x0a, 0x0f, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x77, - 0x61, 0x72, 0x64, 0x10, 0x10, 0x12, 0x13, 0x0a, 0x0f, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x57, 0x65, - 0x65, 0x6b, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, 0x11, 0x12, 0x0d, 0x0a, 0x09, 0x42, 0x75, - 0x79, 0x45, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x10, 0x12, 0x12, 0x19, 0x0a, 0x15, 0x53, 0x65, 0x76, - 0x65, 0x6e, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x4c, 0x61, 0x62, - 0x65, 0x6c, 0x10, 0x13, 0x12, 0x14, 0x0a, 0x10, 0x4d, 0x6f, 0x6e, 0x74, 0x68, 0x4c, 0x6f, 0x67, - 0x69, 0x6e, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, 0x14, 0x12, 0x15, 0x0a, 0x11, 0x46, 0x61, - 0x73, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, - 0x15, 0x12, 0x14, 0x0a, 0x10, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x53, 0x65, 0x6e, 0x63, 0x65, 0x52, - 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, 0x16, 0x12, 0x0e, 0x0a, 0x0a, 0x4d, 0x61, 0x69, 0x6c, 0x52, - 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, 0x17, 0x12, 0x0c, 0x0a, 0x08, 0x46, 0x72, 0x65, 0x65, 0x53, - 0x68, 0x6f, 0x70, 0x10, 0x18, 0x12, 0x0d, 0x0a, 0x09, 0x43, 0x68, 0x65, 0x73, 0x73, 0x53, 0x68, - 0x6f, 0x70, 0x10, 0x19, 0x12, 0x14, 0x0a, 0x10, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x43, - 0x68, 0x65, 0x73, 0x73, 0x53, 0x68, 0x6f, 0x70, 0x10, 0x1a, 0x12, 0x11, 0x0a, 0x0d, 0x45, 0x6e, - 0x64, 0x6c, 0x65, 0x73, 0x73, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, 0x1b, 0x12, 0x13, 0x0a, - 0x0f, 0x50, 0x69, 0x67, 0x67, 0x79, 0x42, 0x61, 0x6e, 0x6b, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, - 0x10, 0x1c, 0x12, 0x13, 0x0a, 0x0f, 0x43, 0x68, 0x61, 0x6d, 0x70, 0x73, 0x68, 0x69, 0x70, 0x52, - 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, 0x1d, 0x12, 0x14, 0x0a, 0x10, 0x4c, 0x69, 0x6d, 0x69, 0x74, - 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, 0x1e, 0x12, 0x17, 0x0a, - 0x13, 0x43, 0x68, 0x61, 0x6d, 0x70, 0x73, 0x68, 0x69, 0x70, 0x52, 0x61, 0x6e, 0x6b, 0x52, 0x65, - 0x77, 0x61, 0x72, 0x64, 0x10, 0x1f, 0x12, 0x0a, 0x0a, 0x06, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, - 0x10, 0x20, 0x12, 0x14, 0x0a, 0x10, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x4c, 0x69, 0x6d, 0x69, - 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x10, 0x21, 0x12, 0x0e, 0x0a, 0x0a, 0x4d, 0x69, 0x6e, 0x69, - 0x6e, 0x67, 0x54, 0x61, 0x6b, 0x65, 0x10, 0x22, 0x12, 0x10, 0x0a, 0x0c, 0x4d, 0x69, 0x6e, 0x69, - 0x6e, 0x67, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, 0x23, 0x12, 0x0e, 0x0a, 0x0a, 0x47, 0x75, - 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x10, 0x24, 0x12, 0x14, 0x0a, 0x10, 0x47, 0x75, - 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, 0x25, - 0x12, 0x0e, 0x0a, 0x0a, 0x52, 0x61, 0x63, 0x65, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, 0x26, - 0x12, 0x10, 0x0a, 0x0c, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x47, 0x61, 0x6d, 0x65, - 0x10, 0x27, 0x12, 0x10, 0x0a, 0x0c, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x44, 0x72, - 0x61, 0x77, 0x10, 0x28, 0x12, 0x10, 0x0a, 0x0c, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, - 0x43, 0x68, 0x69, 0x70, 0x10, 0x29, 0x12, 0x10, 0x0a, 0x0c, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, - 0x6f, 0x6d, 0x46, 0x6c, 0x69, 0x70, 0x10, 0x2a, 0x12, 0x16, 0x0a, 0x12, 0x46, 0x72, 0x69, 0x65, - 0x6e, 0x64, 0x74, 0x72, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x46, 0x69, 0x6c, 0x70, 0x10, 0x2b, - 0x12, 0x15, 0x0a, 0x11, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x74, 0x72, 0x65, 0x61, 0x73, 0x75, - 0x72, 0x65, 0x45, 0x6e, 0x64, 0x10, 0x2c, 0x12, 0x06, 0x0a, 0x02, 0x47, 0x4d, 0x10, 0x2d, 0x12, - 0x12, 0x0a, 0x0e, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x74, 0x72, 0x65, 0x61, 0x73, 0x75, 0x72, - 0x65, 0x10, 0x2e, 0x12, 0x16, 0x0a, 0x12, 0x43, 0x61, 0x72, 0x64, 0x48, 0x61, 0x6e, 0x64, 0x62, - 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, 0x2f, 0x12, 0x17, 0x0a, 0x13, 0x4c, - 0x69, 0x6d, 0x69, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x43, 0x68, 0x65, 0x73, 0x74, 0x52, 0x61, - 0x69, 0x6e, 0x10, 0x30, 0x12, 0x11, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x45, 0x6e, 0x65, 0x72, 0x67, - 0x79, 0x42, 0x79, 0x41, 0x44, 0x10, 0x31, 0x12, 0x0f, 0x0a, 0x0b, 0x53, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x43, 0x68, 0x65, 0x73, 0x74, 0x10, 0x32, 0x12, 0x13, 0x0a, 0x0f, 0x50, 0x6c, 0x61, 0x79, - 0x72, 0x6f, 0x6f, 0x6d, 0x42, 0x75, 0x79, 0x49, 0x74, 0x65, 0x6d, 0x10, 0x33, 0x12, 0x19, 0x0a, - 0x15, 0x43, 0x61, 0x72, 0x64, 0x53, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x46, 0x69, 0x72, 0x73, 0x74, - 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, 0x34, 0x12, 0x16, 0x0a, 0x12, 0x41, 0x6c, 0x6c, 0x43, - 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x48, 0x42, 0x10, 0x35, - 0x12, 0x10, 0x0a, 0x0c, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x53, 0x68, 0x6f, 0x70, - 0x10, 0x36, 0x12, 0x15, 0x0a, 0x11, 0x48, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x6f, 0x6b, 0x41, 0x6c, - 0x6c, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, 0x37, 0x12, 0x0c, 0x0a, 0x08, 0x54, 0x4c, 0x55, - 0x70, 0x76, 0x6f, 0x74, 0x65, 0x10, 0x38, 0x12, 0x0b, 0x0a, 0x07, 0x43, 0x6f, 0x6c, 0x6c, 0x65, - 0x63, 0x74, 0x10, 0x39, 0x12, 0x10, 0x0a, 0x0c, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, - 0x47, 0x69, 0x66, 0x74, 0x10, 0x3a, 0x2a, 0x42, 0x0a, 0x0b, 0x48, 0x41, 0x4e, 0x44, 0x4c, 0x45, - 0x5f, 0x54, 0x59, 0x50, 0x45, 0x12, 0x07, 0x0a, 0x03, 0x41, 0x44, 0x44, 0x10, 0x00, 0x12, 0x0b, - 0x0a, 0x07, 0x43, 0x4f, 0x4d, 0x50, 0x4f, 0x53, 0x45, 0x10, 0x01, 0x12, 0x07, 0x0a, 0x03, 0x42, - 0x55, 0x59, 0x10, 0x02, 0x12, 0x08, 0x0a, 0x04, 0x53, 0x45, 0x4c, 0x4c, 0x10, 0x03, 0x12, 0x0a, - 0x0a, 0x06, 0x52, 0x45, 0x4d, 0x4f, 0x56, 0x45, 0x10, 0x04, 0x2a, 0x21, 0x0a, 0x08, 0x52, 0x45, - 0x53, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x12, 0x08, 0x0a, 0x04, 0x46, 0x41, 0x49, 0x4c, 0x10, 0x00, - 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x01, 0x2a, 0x2e, 0x0a, - 0x09, 0x49, 0x54, 0x45, 0x4d, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x12, 0x0a, 0x0a, 0x06, 0x45, 0x4e, - 0x45, 0x52, 0x47, 0x59, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x53, 0x54, 0x41, 0x52, 0x10, 0x01, - 0x12, 0x0b, 0x0a, 0x07, 0x44, 0x49, 0x41, 0x4d, 0x4f, 0x4e, 0x44, 0x10, 0x02, 0x42, 0x08, 0x5a, - 0x06, 0x2e, 0x2e, 0x2f, 0x6d, 0x73, 0x67, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x73, 0x67, 0x22, 0x25, 0x0a, 0x0f, 0x52, 0x65, 0x71, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, + 0x6d, 0x47, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x04, 0x54, 0x79, 0x70, 0x65, 0x22, 0xe9, 0x01, 0x0a, 0x0f, 0x52, 0x65, + 0x73, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x47, 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, + 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x75, + 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x45, 0x53, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x52, + 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x3a, 0x0a, 0x05, 0x49, + 0x74, 0x65, 0x6d, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x74, 0x75, 0x74, + 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x65, 0x73, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, + 0x6d, 0x47, 0x61, 0x6d, 0x65, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x52, 0x05, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x1a, 0x4c, 0x0a, 0x0a, 0x49, 0x74, 0x65, 0x6d, 0x73, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x28, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, + 0x6c, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x39, 0x0a, 0x13, 0x52, 0x65, 0x71, 0x50, 0x6c, 0x61, 0x79, + 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63, 0x74, 0x12, 0x0e, 0x0a, 0x02, + 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, + 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x54, 0x79, 0x70, 0x65, + 0x22, 0x4f, 0x0a, 0x13, 0x52, 0x65, 0x73, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x49, + 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63, 0x74, 0x12, 0x26, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, + 0x2e, 0x52, 0x45, 0x53, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, + 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, + 0x67, 0x22, 0x99, 0x01, 0x0a, 0x12, 0x52, 0x65, 0x71, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, + 0x6d, 0x53, 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x12, 0x46, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x79, + 0x72, 0x6f, 0x6f, 0x6d, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x74, 0x75, 0x74, + 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x65, 0x71, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, + 0x6d, 0x53, 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, + 0x6d, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, + 0x1a, 0x3b, 0x0a, 0x0d, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 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, 0x4e, 0x0a, + 0x12, 0x52, 0x65, 0x73, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x53, 0x65, 0x74, 0x52, + 0x6f, 0x6f, 0x6d, 0x12, 0x26, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x45, 0x53, + 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, + 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x22, 0x29, 0x0a, + 0x17, 0x52, 0x65, 0x71, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x53, 0x65, 0x6c, 0x65, + 0x63, 0x74, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x22, 0x53, 0x0a, 0x17, 0x52, 0x65, 0x73, 0x50, + 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x52, 0x65, 0x77, + 0x61, 0x72, 0x64, 0x12, 0x26, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x45, 0x53, + 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, + 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x22, 0x11, 0x0a, + 0x0f, 0x52, 0x65, 0x71, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x4c, 0x6f, 0x73, 0x65, + 0x22, 0x4b, 0x0a, 0x0f, 0x52, 0x65, 0x73, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x4c, + 0x6f, 0x73, 0x65, 0x12, 0x26, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x45, 0x53, + 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, + 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x22, 0x11, 0x0a, + 0x0f, 0x52, 0x65, 0x71, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x57, 0x6f, 0x72, 0x6b, + 0x22, 0x4b, 0x0a, 0x0f, 0x52, 0x65, 0x73, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x57, + 0x6f, 0x72, 0x6b, 0x12, 0x26, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x45, 0x53, + 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, + 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x22, 0x11, 0x0a, + 0x0f, 0x52, 0x65, 0x71, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x52, 0x65, 0x73, 0x74, + 0x22, 0x4b, 0x0a, 0x0f, 0x52, 0x65, 0x73, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x52, + 0x65, 0x73, 0x74, 0x12, 0x26, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x45, 0x53, + 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, + 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x22, 0x11, 0x0a, + 0x0f, 0x52, 0x65, 0x71, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x44, 0x72, 0x61, 0x77, + 0x22, 0x5b, 0x0a, 0x0f, 0x52, 0x65, 0x73, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x44, + 0x72, 0x61, 0x77, 0x12, 0x26, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x45, 0x53, + 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, + 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x12, 0x0e, 0x0a, + 0x02, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x22, 0x23, 0x0a, + 0x0f, 0x52, 0x65, 0x71, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x43, 0x68, 0x69, 0x70, + 0x12, 0x10, 0x0a, 0x03, 0x4e, 0x75, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x4e, + 0x75, 0x6d, 0x22, 0x4b, 0x0a, 0x0f, 0x52, 0x65, 0x73, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, + 0x6d, 0x43, 0x68, 0x69, 0x70, 0x12, 0x26, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, + 0x45, 0x53, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, + 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x22, + 0x24, 0x0a, 0x12, 0x52, 0x65, 0x71, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x42, 0x75, + 0x79, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x02, 0x49, 0x64, 0x22, 0x4e, 0x0a, 0x12, 0x52, 0x65, 0x73, 0x50, 0x6c, 0x61, 0x79, + 0x72, 0x6f, 0x6f, 0x6d, 0x42, 0x75, 0x79, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x26, 0x0a, 0x04, 0x43, + 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, + 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x45, 0x53, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x52, 0x04, 0x43, + 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x03, 0x4d, 0x73, 0x67, 0x22, 0x33, 0x0a, 0x0f, 0x52, 0x65, 0x71, 0x50, 0x6c, 0x61, 0x79, + 0x72, 0x6f, 0x6f, 0x6d, 0x53, 0x68, 0x6f, 0x70, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x4e, 0x75, 0x6d, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x4e, 0x75, 0x6d, 0x22, 0x4b, 0x0a, 0x0f, 0x52, 0x65, + 0x73, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x53, 0x68, 0x6f, 0x70, 0x12, 0x26, 0x0a, + 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x75, + 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x45, 0x53, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x52, + 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x22, 0x13, 0x0a, 0x11, 0x52, 0x65, 0x71, 0x46, 0x72, + 0x69, 0x65, 0x6e, 0x64, 0x54, 0x72, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x22, 0x97, 0x01, 0x0a, + 0x11, 0x52, 0x65, 0x73, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x54, 0x72, 0x65, 0x61, 0x73, 0x75, + 0x72, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x53, 0x74, + 0x61, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x53, 0x74, 0x61, 0x72, 0x12, 0x14, + 0x0a, 0x05, 0x53, 0x68, 0x69, 0x66, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x53, + 0x68, 0x69, 0x66, 0x74, 0x12, 0x2a, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x04, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x54, 0x72, + 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x4c, 0x69, 0x73, 0x74, + 0x12, 0x14, 0x0a, 0x05, 0x4c, 0x69, 0x73, 0x74, 0x32, 0x18, 0x05, 0x20, 0x03, 0x28, 0x05, 0x52, + 0x05, 0x4c, 0x69, 0x73, 0x74, 0x32, 0x22, 0xa6, 0x01, 0x0a, 0x0c, 0x54, 0x72, 0x65, 0x61, 0x73, + 0x75, 0x72, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x10, 0x0a, 0x03, 0x50, 0x6f, 0x73, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x50, 0x6f, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x54, 0x79, 0x70, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, + 0x04, 0x46, 0x61, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x46, 0x61, 0x63, + 0x65, 0x12, 0x16, 0x0a, 0x06, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x06, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x55, 0x69, 0x64, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x55, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x4e, 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x4e, 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x22, + 0x5a, 0x0a, 0x16, 0x52, 0x65, 0x71, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x54, 0x72, 0x65, 0x61, + 0x73, 0x75, 0x72, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x2a, 0x0a, 0x04, 0x4c, 0x69, 0x73, + 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, + 0x61, 0x6c, 0x2e, 0x54, 0x72, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, + 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x4c, 0x69, 0x73, 0x74, 0x32, 0x18, 0x02, + 0x20, 0x03, 0x28, 0x05, 0x52, 0x05, 0x4c, 0x69, 0x73, 0x74, 0x32, 0x22, 0x52, 0x0a, 0x16, 0x52, + 0x65, 0x73, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x54, 0x72, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, + 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x26, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, + 0x45, 0x53, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, + 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x22, + 0x16, 0x0a, 0x14, 0x52, 0x65, 0x71, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x54, 0x72, 0x65, 0x61, + 0x73, 0x75, 0x72, 0x65, 0x45, 0x6e, 0x64, 0x22, 0x50, 0x0a, 0x14, 0x52, 0x65, 0x73, 0x46, 0x72, + 0x69, 0x65, 0x6e, 0x64, 0x54, 0x72, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x45, 0x6e, 0x64, 0x12, + 0x26, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, + 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x45, 0x53, 0x5f, 0x43, 0x4f, 0x44, + 0x45, 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x22, 0x29, 0x0a, 0x15, 0x52, 0x65, 0x71, + 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x54, 0x72, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x46, 0x69, + 0x6c, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x50, 0x6f, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x03, 0x50, 0x6f, 0x73, 0x22, 0x51, 0x0a, 0x15, 0x52, 0x65, 0x73, 0x46, 0x72, 0x69, 0x65, 0x6e, + 0x64, 0x54, 0x72, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x46, 0x69, 0x6c, 0x70, 0x12, 0x26, 0x0a, + 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x75, + 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x45, 0x53, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x52, + 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x22, 0x2b, 0x0a, 0x15, 0x52, 0x65, 0x73, 0x46, 0x72, + 0x69, 0x65, 0x6e, 0x64, 0x54, 0x72, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x53, 0x74, 0x61, 0x72, + 0x12, 0x12, 0x0a, 0x04, 0x53, 0x74, 0x61, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, + 0x53, 0x74, 0x61, 0x72, 0x22, 0x37, 0x0a, 0x0b, 0x52, 0x65, 0x71, 0x4b, 0x61, 0x66, 0x6b, 0x61, + 0x4c, 0x6f, 0x67, 0x12, 0x14, 0x0a, 0x05, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x05, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x44, 0x61, 0x74, + 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x44, 0x61, 0x74, 0x61, 0x22, 0x10, 0x0a, + 0x0e, 0x52, 0x65, 0x71, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x22, + 0x4d, 0x0a, 0x0e, 0x52, 0x65, 0x73, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x49, 0x6e, 0x66, + 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x03, 0x28, 0x05, 0x52, 0x02, 0x49, + 0x64, 0x12, 0x2b, 0x0a, 0x05, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x15, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x43, 0x6f, 0x6c, 0x6c, + 0x65, 0x63, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x05, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x22, 0x47, + 0x0a, 0x0b, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x0e, 0x0a, + 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x28, 0x0a, + 0x05, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x74, + 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, + 0x52, 0x05, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x22, 0x1c, 0x0a, 0x0a, 0x52, 0x65, 0x71, 0x43, 0x6f, + 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x02, 0x49, 0x64, 0x22, 0x46, 0x0a, 0x0a, 0x52, 0x65, 0x73, 0x43, 0x6f, 0x6c, 0x6c, + 0x65, 0x63, 0x74, 0x12, 0x26, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x45, 0x53, + 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, + 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x22, 0x32, 0x0a, + 0x08, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x46, 0x75, 0x6e, + 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x46, 0x75, 0x6e, 0x63, 0x12, 0x12, 0x0a, + 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x49, 0x6e, 0x66, + 0x6f, 0x22, 0x32, 0x0a, 0x08, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x12, 0x12, 0x0a, + 0x04, 0x46, 0x75, 0x6e, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x46, 0x75, 0x6e, + 0x63, 0x12, 0x12, 0x0a, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, + 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x20, 0x0a, 0x0c, 0x52, 0x65, 0x71, 0x41, 0x64, 0x6d, 0x69, + 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x10, 0x0a, 0x03, 0x55, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x03, 0x52, 0x03, 0x55, 0x69, 0x64, 0x22, 0x15, 0x0a, 0x13, 0x52, 0x65, 0x71, 0x52, 0x65, + 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4d, 0x61, 0x69, 0x6c, 0x22, 0x0f, + 0x0a, 0x0d, 0x52, 0x65, 0x71, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x22, + 0x0b, 0x0a, 0x09, 0x52, 0x65, 0x71, 0x52, 0x65, 0x6c, 0x6f, 0x61, 0x64, 0x22, 0x38, 0x0a, 0x0a, + 0x52, 0x65, 0x71, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x47, 0x6d, 0x12, 0x10, 0x0a, 0x03, 0x55, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x55, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, + 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x43, + 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x2a, 0xe8, 0x08, 0x0a, 0x0e, 0x49, 0x54, 0x45, 0x4d, 0x5f, + 0x50, 0x4f, 0x50, 0x5f, 0x4c, 0x41, 0x42, 0x45, 0x4c, 0x12, 0x0c, 0x0a, 0x08, 0x50, 0x6c, 0x61, + 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x50, 0x69, 0x67, 0x67, 0x79, + 0x42, 0x61, 0x6e, 0x6b, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, + 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x45, 0x6e, 0x64, 0x6c, 0x65, 0x73, 0x73, 0x10, 0x03, 0x12, + 0x0f, 0x0a, 0x0b, 0x4c, 0x65, 0x76, 0x55, 0x70, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, 0x04, + 0x12, 0x0f, 0x0a, 0x0b, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x43, 0x68, 0x65, 0x73, 0x73, 0x10, + 0x05, 0x12, 0x12, 0x0a, 0x0e, 0x48, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x77, + 0x61, 0x72, 0x64, 0x10, 0x06, 0x12, 0x0f, 0x0a, 0x0b, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x65, + 0x77, 0x61, 0x72, 0x64, 0x10, 0x07, 0x12, 0x10, 0x0a, 0x0c, 0x44, 0x65, 0x63, 0x6f, 0x72, 0x61, + 0x74, 0x65, 0x43, 0x6f, 0x73, 0x74, 0x10, 0x08, 0x12, 0x0f, 0x0a, 0x0b, 0x44, 0x65, 0x63, 0x6f, + 0x72, 0x61, 0x74, 0x65, 0x41, 0x64, 0x64, 0x10, 0x09, 0x12, 0x13, 0x0a, 0x0f, 0x42, 0x75, 0x79, + 0x43, 0x68, 0x65, 0x73, 0x73, 0x42, 0x61, 0x67, 0x47, 0x72, 0x69, 0x64, 0x10, 0x0a, 0x12, 0x0b, + 0x0a, 0x07, 0x43, 0x68, 0x65, 0x73, 0x73, 0x45, 0x78, 0x10, 0x0b, 0x12, 0x15, 0x0a, 0x11, 0x43, + 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, + 0x10, 0x0c, 0x12, 0x10, 0x0a, 0x0c, 0x45, 0x78, 0x53, 0x74, 0x61, 0x72, 0x52, 0x65, 0x77, 0x61, + 0x72, 0x64, 0x10, 0x0d, 0x12, 0x14, 0x0a, 0x10, 0x41, 0x6c, 0x6c, 0x43, 0x6f, 0x6c, 0x6c, 0x65, + 0x63, 0x74, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, 0x0e, 0x12, 0x0f, 0x0a, 0x0b, 0x47, 0x75, + 0x69, 0x64, 0x65, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, 0x0f, 0x12, 0x13, 0x0a, 0x0f, 0x44, + 0x61, 0x69, 0x6c, 0x79, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, 0x10, + 0x12, 0x13, 0x0a, 0x0f, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x57, 0x65, 0x65, 0x6b, 0x52, 0x65, 0x77, + 0x61, 0x72, 0x64, 0x10, 0x11, 0x12, 0x0d, 0x0a, 0x09, 0x42, 0x75, 0x79, 0x45, 0x6e, 0x65, 0x72, + 0x67, 0x79, 0x10, 0x12, 0x12, 0x19, 0x0a, 0x15, 0x53, 0x65, 0x76, 0x65, 0x6e, 0x4c, 0x6f, 0x67, + 0x69, 0x6e, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x10, 0x13, 0x12, + 0x14, 0x0a, 0x10, 0x4d, 0x6f, 0x6e, 0x74, 0x68, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x77, + 0x61, 0x72, 0x64, 0x10, 0x14, 0x12, 0x15, 0x0a, 0x11, 0x46, 0x61, 0x73, 0x74, 0x50, 0x72, 0x6f, + 0x64, 0x75, 0x63, 0x65, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, 0x15, 0x12, 0x14, 0x0a, 0x10, + 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x53, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, + 0x10, 0x16, 0x12, 0x0e, 0x0a, 0x0a, 0x4d, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, + 0x10, 0x17, 0x12, 0x0c, 0x0a, 0x08, 0x46, 0x72, 0x65, 0x65, 0x53, 0x68, 0x6f, 0x70, 0x10, 0x18, + 0x12, 0x0d, 0x0a, 0x09, 0x43, 0x68, 0x65, 0x73, 0x73, 0x53, 0x68, 0x6f, 0x70, 0x10, 0x19, 0x12, + 0x14, 0x0a, 0x10, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x43, 0x68, 0x65, 0x73, 0x73, 0x53, + 0x68, 0x6f, 0x70, 0x10, 0x1a, 0x12, 0x11, 0x0a, 0x0d, 0x45, 0x6e, 0x64, 0x6c, 0x65, 0x73, 0x73, + 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, 0x1b, 0x12, 0x13, 0x0a, 0x0f, 0x50, 0x69, 0x67, 0x67, + 0x79, 0x42, 0x61, 0x6e, 0x6b, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, 0x1c, 0x12, 0x13, 0x0a, + 0x0f, 0x43, 0x68, 0x61, 0x6d, 0x70, 0x73, 0x68, 0x69, 0x70, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, + 0x10, 0x1d, 0x12, 0x14, 0x0a, 0x10, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, + 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, 0x1e, 0x12, 0x17, 0x0a, 0x13, 0x43, 0x68, 0x61, 0x6d, + 0x70, 0x73, 0x68, 0x69, 0x70, 0x52, 0x61, 0x6e, 0x6b, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, + 0x1f, 0x12, 0x0a, 0x0a, 0x06, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x10, 0x20, 0x12, 0x14, 0x0a, + 0x10, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x45, 0x76, 0x65, 0x6e, + 0x74, 0x10, 0x21, 0x12, 0x0e, 0x0a, 0x0a, 0x4d, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x6b, + 0x65, 0x10, 0x22, 0x12, 0x10, 0x0a, 0x0c, 0x4d, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x77, + 0x61, 0x72, 0x64, 0x10, 0x23, 0x12, 0x0e, 0x0a, 0x0a, 0x47, 0x75, 0x65, 0x73, 0x73, 0x43, 0x6f, + 0x6c, 0x6f, 0x72, 0x10, 0x24, 0x12, 0x14, 0x0a, 0x10, 0x47, 0x75, 0x65, 0x73, 0x73, 0x43, 0x6f, + 0x6c, 0x6f, 0x72, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, 0x25, 0x12, 0x0e, 0x0a, 0x0a, 0x52, + 0x61, 0x63, 0x65, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, 0x26, 0x12, 0x10, 0x0a, 0x0c, 0x50, + 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x47, 0x61, 0x6d, 0x65, 0x10, 0x27, 0x12, 0x10, 0x0a, + 0x0c, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x44, 0x72, 0x61, 0x77, 0x10, 0x28, 0x12, + 0x10, 0x0a, 0x0c, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x43, 0x68, 0x69, 0x70, 0x10, + 0x29, 0x12, 0x10, 0x0a, 0x0c, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x46, 0x6c, 0x69, + 0x70, 0x10, 0x2a, 0x12, 0x16, 0x0a, 0x12, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x74, 0x72, 0x65, + 0x61, 0x73, 0x75, 0x72, 0x65, 0x46, 0x69, 0x6c, 0x70, 0x10, 0x2b, 0x12, 0x15, 0x0a, 0x11, 0x46, + 0x72, 0x69, 0x65, 0x6e, 0x64, 0x74, 0x72, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x45, 0x6e, 0x64, + 0x10, 0x2c, 0x12, 0x06, 0x0a, 0x02, 0x47, 0x4d, 0x10, 0x2d, 0x12, 0x12, 0x0a, 0x0e, 0x46, 0x72, + 0x69, 0x65, 0x6e, 0x64, 0x74, 0x72, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x10, 0x2e, 0x12, 0x16, + 0x0a, 0x12, 0x43, 0x61, 0x72, 0x64, 0x48, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x65, + 0x77, 0x61, 0x72, 0x64, 0x10, 0x2f, 0x12, 0x17, 0x0a, 0x13, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x45, + 0x76, 0x65, 0x6e, 0x74, 0x43, 0x68, 0x65, 0x73, 0x74, 0x52, 0x61, 0x69, 0x6e, 0x10, 0x30, 0x12, + 0x11, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x45, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x42, 0x79, 0x41, 0x44, + 0x10, 0x31, 0x12, 0x0f, 0x0a, 0x0b, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x68, 0x65, 0x73, + 0x74, 0x10, 0x32, 0x12, 0x13, 0x0a, 0x0f, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x42, + 0x75, 0x79, 0x49, 0x74, 0x65, 0x6d, 0x10, 0x33, 0x12, 0x19, 0x0a, 0x15, 0x43, 0x61, 0x72, 0x64, + 0x53, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x46, 0x69, 0x72, 0x73, 0x74, 0x52, 0x65, 0x77, 0x61, 0x72, + 0x64, 0x10, 0x34, 0x12, 0x16, 0x0a, 0x12, 0x41, 0x6c, 0x6c, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, + 0x74, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x48, 0x42, 0x10, 0x35, 0x12, 0x10, 0x0a, 0x0c, 0x50, + 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x53, 0x68, 0x6f, 0x70, 0x10, 0x36, 0x12, 0x15, 0x0a, + 0x11, 0x48, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x6f, 0x6b, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x77, 0x61, + 0x72, 0x64, 0x10, 0x37, 0x12, 0x0c, 0x0a, 0x08, 0x54, 0x4c, 0x55, 0x70, 0x76, 0x6f, 0x74, 0x65, + 0x10, 0x38, 0x12, 0x0b, 0x0a, 0x07, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x10, 0x39, 0x12, + 0x10, 0x0a, 0x0c, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x47, 0x69, 0x66, 0x74, 0x10, + 0x3a, 0x2a, 0x42, 0x0a, 0x0b, 0x48, 0x41, 0x4e, 0x44, 0x4c, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, + 0x12, 0x07, 0x0a, 0x03, 0x41, 0x44, 0x44, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x43, 0x4f, 0x4d, + 0x50, 0x4f, 0x53, 0x45, 0x10, 0x01, 0x12, 0x07, 0x0a, 0x03, 0x42, 0x55, 0x59, 0x10, 0x02, 0x12, + 0x08, 0x0a, 0x04, 0x53, 0x45, 0x4c, 0x4c, 0x10, 0x03, 0x12, 0x0a, 0x0a, 0x06, 0x52, 0x45, 0x4d, + 0x4f, 0x56, 0x45, 0x10, 0x04, 0x2a, 0x21, 0x0a, 0x08, 0x52, 0x45, 0x53, 0x5f, 0x43, 0x4f, 0x44, + 0x45, 0x12, 0x08, 0x0a, 0x04, 0x46, 0x41, 0x49, 0x4c, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x53, + 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x01, 0x2a, 0x2e, 0x0a, 0x09, 0x49, 0x54, 0x45, 0x4d, + 0x5f, 0x54, 0x59, 0x50, 0x45, 0x12, 0x0a, 0x0a, 0x06, 0x45, 0x4e, 0x45, 0x52, 0x47, 0x59, 0x10, + 0x00, 0x12, 0x08, 0x0a, 0x04, 0x53, 0x54, 0x41, 0x52, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x44, + 0x49, 0x41, 0x4d, 0x4f, 0x4e, 0x44, 0x10, 0x02, 0x42, 0x08, 0x5a, 0x06, 0x2e, 0x2e, 0x2f, 0x6d, + 0x73, 0x67, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -22352,7 +22671,7 @@ func file_proto_Gameapi_proto_rawDescGZIP() []byte { } var file_proto_Gameapi_proto_enumTypes = make([]protoimpl.EnumInfo, 4) -var file_proto_Gameapi_proto_msgTypes = make([]protoimpl.MessageInfo, 413) +var file_proto_Gameapi_proto_msgTypes = make([]protoimpl.MessageInfo, 421) var file_proto_Gameapi_proto_goTypes = []any{ (ITEM_POP_LABEL)(0), // 0: tutorial.ITEM_POP_LABEL (HANDLE_TYPE)(0), // 1: tutorial.HANDLE_TYPE @@ -22660,150 +22979,158 @@ var file_proto_Gameapi_proto_goTypes = []any{ (*ResRaceReward)(nil), // 303: tutorial.ResRaceReward (*ReqPlayroom)(nil), // 304: tutorial.ReqPlayroom (*ResPlayroom)(nil), // 305: tutorial.ResPlayroom - (*ReqPlayroomWrokOutline)(nil), // 306: tutorial.ReqPlayroomWrokOutline - (*ResPlayroomWrokOutline)(nil), // 307: tutorial.ResPlayroomWrokOutline - (*NofiPlayroomStatus)(nil), // 308: tutorial.NofiPlayroomStatus - (*NotifyPlayroomWork)(nil), // 309: tutorial.NotifyPlayroomWork - (*NotifyPlayroomLose)(nil), // 310: tutorial.NotifyPlayroomLose - (*NotifyPlayroomMood)(nil), // 311: tutorial.NotifyPlayroomMood - (*FriendRoom)(nil), // 312: tutorial.FriendRoom - (*RoomOpponent)(nil), // 313: tutorial.RoomOpponent - (*ReqPlayroomInfo)(nil), // 314: tutorial.ReqPlayroomInfo - (*ResPlayroomInfo)(nil), // 315: tutorial.ResPlayroomInfo - (*ReqPlayroomFlip)(nil), // 316: tutorial.ReqPlayroomFlip - (*ResPlayroomFlip)(nil), // 317: tutorial.ResPlayroomFlip - (*ReqPlayroomFlipReward)(nil), // 318: tutorial.ReqPlayroomFlipReward - (*ResPlayroomFlipReward)(nil), // 319: tutorial.ResPlayroomFlipReward - (*ReqPlayroomGame)(nil), // 320: tutorial.ReqPlayroomGame - (*ResPlayroomGame)(nil), // 321: tutorial.ResPlayroomGame - (*ReqPlayroomInteract)(nil), // 322: tutorial.ReqPlayroomInteract - (*ResPlayroomInteract)(nil), // 323: tutorial.ResPlayroomInteract - (*ReqPlayroomSetRoom)(nil), // 324: tutorial.ReqPlayroomSetRoom - (*ResPlayroomSetRoom)(nil), // 325: tutorial.ResPlayroomSetRoom - (*ReqPlayroomSelectReward)(nil), // 326: tutorial.ReqPlayroomSelectReward - (*ResPlayroomSelectReward)(nil), // 327: tutorial.ResPlayroomSelectReward - (*ReqPlayroomLose)(nil), // 328: tutorial.ReqPlayroomLose - (*ResPlayroomLose)(nil), // 329: tutorial.ResPlayroomLose - (*ReqPlayroomWork)(nil), // 330: tutorial.ReqPlayroomWork - (*ResPlayroomWork)(nil), // 331: tutorial.ResPlayroomWork - (*ReqPlayroomRest)(nil), // 332: tutorial.ReqPlayroomRest - (*ResPlayroomRest)(nil), // 333: tutorial.ResPlayroomRest - (*ReqPlayroomDraw)(nil), // 334: tutorial.ReqPlayroomDraw - (*ResPlayroomDraw)(nil), // 335: tutorial.ResPlayroomDraw - (*ReqPlayroomChip)(nil), // 336: tutorial.ReqPlayroomChip - (*ResPlayroomChip)(nil), // 337: tutorial.ResPlayroomChip - (*ReqPlayroomBuyItem)(nil), // 338: tutorial.ReqPlayroomBuyItem - (*ResPlayroomBuyItem)(nil), // 339: tutorial.ResPlayroomBuyItem - (*ReqPlayroomShop)(nil), // 340: tutorial.ReqPlayroomShop - (*ResPlayroomShop)(nil), // 341: tutorial.ResPlayroomShop - (*ReqFriendTreasure)(nil), // 342: tutorial.ReqFriendTreasure - (*ResFriendTreasure)(nil), // 343: tutorial.ResFriendTreasure - (*TreasureInfo)(nil), // 344: tutorial.TreasureInfo - (*ReqFriendTreasureStart)(nil), // 345: tutorial.ReqFriendTreasureStart - (*ResFriendTreasureStart)(nil), // 346: tutorial.ResFriendTreasureStart - (*ReqFriendTreasureEnd)(nil), // 347: tutorial.ReqFriendTreasureEnd - (*ResFriendTreasureEnd)(nil), // 348: tutorial.ResFriendTreasureEnd - (*ReqFriendTreasureFilp)(nil), // 349: tutorial.ReqFriendTreasureFilp - (*ResFriendTreasureFilp)(nil), // 350: tutorial.ResFriendTreasureFilp - (*ResFriendTreasureStar)(nil), // 351: tutorial.ResFriendTreasureStar - (*ReqKafkaLog)(nil), // 352: tutorial.ReqKafkaLog - (*ReqCollectInfo)(nil), // 353: tutorial.ReqCollectInfo - (*ResCollectInfo)(nil), // 354: tutorial.ResCollectInfo - (*CollectItem)(nil), // 355: tutorial.CollectItem - (*ReqCollect)(nil), // 356: tutorial.ReqCollect - (*ResCollect)(nil), // 357: tutorial.ResCollect - (*AdminReq)(nil), // 358: tutorial.AdminReq - (*AdminRes)(nil), // 359: tutorial.AdminRes - (*ReqAdminInfo)(nil), // 360: tutorial.ReqAdminInfo - (*ReqReloadServerMail)(nil), // 361: tutorial.ReqReloadServerMail - (*ReqServerInfo)(nil), // 362: tutorial.ReqServerInfo - (*ReqReload)(nil), // 363: tutorial.ReqReload - (*ReqAdminGm)(nil), // 364: tutorial.ReqAdminGm - nil, // 365: tutorial.ResChessColorData.MChessColorDataEntry - nil, // 366: tutorial.UpdateBaseItemInfo.MUpdateItemEntry - nil, // 367: tutorial.ResPlayerChessData.MChessDataEntry - nil, // 368: tutorial.UpdatePlayerChessData.MChessDataEntry - nil, // 369: tutorial.ReqSeparateChess.MChessDataEntry - nil, // 370: tutorial.ReqUpgradeChess.MChessDataEntry - nil, // 371: tutorial.ReqGetChessFromBuff.MChessDataEntry - nil, // 372: tutorial.ReqChessEx.MChessDataEntry - nil, // 373: tutorial.ReqSourceChest.MChessDataEntry - nil, // 374: tutorial.ReqPlayroomOutline.MChessDataEntry - nil, // 375: tutorial.ReqPutChessInBag.MChessDataEntry - nil, // 376: tutorial.ReqTakeChessOutBag.MChessDataEntry - nil, // 377: tutorial.UserInfo.SetEmojiEntry - nil, // 378: tutorial.ReqRewardOrder.MChessDataEntry - nil, // 379: tutorial.ResCardInfo.AllCardEntry - nil, // 380: tutorial.ResCardInfo.HandbookEntry - nil, // 381: tutorial.ResGuildInfo.RewardEntry - nil, // 382: tutorial.ResDailyTask.WeekRewardEntry - nil, // 383: tutorial.ResDailyTask.DailyTaskEntry - nil, // 384: tutorial.ResLimitEvent.LimitEventListEntry - nil, // 385: tutorial.ResLimitEventProgress.ProgressRewardEntry - nil, // 386: tutorial.ResPlayerSimple.EmojiEntry - nil, // 387: tutorial.ResKv.KvEntry - nil, // 388: tutorial.ResRank.RankListEntry - nil, // 389: tutorial.ResMailList.MailListEntry - nil, // 390: tutorial.ResCharge.SpecialShopEntry - nil, // 391: tutorial.ResCharge.ChessShopEntry - nil, // 392: tutorial.ResCharge.GiftEntry - nil, // 393: tutorial.ReqBuyChessShop2.MChessDataEntry - nil, // 394: tutorial.ResEndless.EndlessListEntry - nil, // 395: tutorial.ResChampshipRank.RankListEntry - nil, // 396: tutorial.ResChampshipPreRank.RankListEntry - nil, // 397: tutorial.ResNotifyCard.CardEntry - nil, // 398: tutorial.ResNotifyCard.MasterEntry - nil, // 399: tutorial.ResNotifyCard.HandbookEntry - nil, // 400: tutorial.ResMining.MapEntry - nil, // 401: tutorial.ReqMiningTake.MapEntry - nil, // 402: tutorial.ResActRed.RedEntry - nil, // 403: tutorial.ResItem.ItemEntry - nil, // 404: tutorial.ItemNotify.ItemEntry - nil, // 405: tutorial.ReqGuessColorTake.MapEntry - nil, // 406: tutorial.ResPlayroom.PlayroomEntry - nil, // 407: tutorial.ResPlayroom.MoodEntry - nil, // 408: tutorial.ResPlayroom.PhysiologyEntry - nil, // 409: tutorial.NotifyPlayroomMood.MoodEntry - nil, // 410: tutorial.NotifyPlayroomMood.PhysiologyEntry - nil, // 411: tutorial.ResPlayroomInfo.PlayroomEntry - nil, // 412: tutorial.ResPlayroomInfo.ItemsEntry - nil, // 413: tutorial.ResPlayroomInfo.FlipEntry - nil, // 414: tutorial.ResPlayroomInfo.EmojiEntry - nil, // 415: tutorial.ResPlayroomGame.ItemsEntry - nil, // 416: tutorial.ReqPlayroomSetRoom.PlayroomEntry + (*PlayroomDress)(nil), // 306: tutorial.PlayroomDress + (*ReqPlayroomDressSet)(nil), // 307: tutorial.ReqPlayroomDressSet + (*ResPlayroomDressSet)(nil), // 308: tutorial.ResPlayroomDressSet + (*ReqPlayroomPetAirSet)(nil), // 309: tutorial.ReqPlayroomPetAirSet + (*ResPlayroomPetAirSet)(nil), // 310: tutorial.ResPlayroomPetAirSet + (*ReqPlayroomWrokOutline)(nil), // 311: tutorial.ReqPlayroomWrokOutline + (*ResPlayroomWrokOutline)(nil), // 312: tutorial.ResPlayroomWrokOutline + (*NofiPlayroomStatus)(nil), // 313: tutorial.NofiPlayroomStatus + (*NotifyPlayroomWork)(nil), // 314: tutorial.NotifyPlayroomWork + (*NotifyPlayroomLose)(nil), // 315: tutorial.NotifyPlayroomLose + (*NotifyPlayroomMood)(nil), // 316: tutorial.NotifyPlayroomMood + (*FriendRoom)(nil), // 317: tutorial.FriendRoom + (*RoomOpponent)(nil), // 318: tutorial.RoomOpponent + (*ReqPlayroomInfo)(nil), // 319: tutorial.ReqPlayroomInfo + (*ResPlayroomInfo)(nil), // 320: tutorial.ResPlayroomInfo + (*ReqPlayroomFlip)(nil), // 321: tutorial.ReqPlayroomFlip + (*ResPlayroomFlip)(nil), // 322: tutorial.ResPlayroomFlip + (*ReqPlayroomFlipReward)(nil), // 323: tutorial.ReqPlayroomFlipReward + (*ResPlayroomFlipReward)(nil), // 324: tutorial.ResPlayroomFlipReward + (*ReqPlayroomGame)(nil), // 325: tutorial.ReqPlayroomGame + (*ResPlayroomGame)(nil), // 326: tutorial.ResPlayroomGame + (*ReqPlayroomInteract)(nil), // 327: tutorial.ReqPlayroomInteract + (*ResPlayroomInteract)(nil), // 328: tutorial.ResPlayroomInteract + (*ReqPlayroomSetRoom)(nil), // 329: tutorial.ReqPlayroomSetRoom + (*ResPlayroomSetRoom)(nil), // 330: tutorial.ResPlayroomSetRoom + (*ReqPlayroomSelectReward)(nil), // 331: tutorial.ReqPlayroomSelectReward + (*ResPlayroomSelectReward)(nil), // 332: tutorial.ResPlayroomSelectReward + (*ReqPlayroomLose)(nil), // 333: tutorial.ReqPlayroomLose + (*ResPlayroomLose)(nil), // 334: tutorial.ResPlayroomLose + (*ReqPlayroomWork)(nil), // 335: tutorial.ReqPlayroomWork + (*ResPlayroomWork)(nil), // 336: tutorial.ResPlayroomWork + (*ReqPlayroomRest)(nil), // 337: tutorial.ReqPlayroomRest + (*ResPlayroomRest)(nil), // 338: tutorial.ResPlayroomRest + (*ReqPlayroomDraw)(nil), // 339: tutorial.ReqPlayroomDraw + (*ResPlayroomDraw)(nil), // 340: tutorial.ResPlayroomDraw + (*ReqPlayroomChip)(nil), // 341: tutorial.ReqPlayroomChip + (*ResPlayroomChip)(nil), // 342: tutorial.ResPlayroomChip + (*ReqPlayroomBuyItem)(nil), // 343: tutorial.ReqPlayroomBuyItem + (*ResPlayroomBuyItem)(nil), // 344: tutorial.ResPlayroomBuyItem + (*ReqPlayroomShop)(nil), // 345: tutorial.ReqPlayroomShop + (*ResPlayroomShop)(nil), // 346: tutorial.ResPlayroomShop + (*ReqFriendTreasure)(nil), // 347: tutorial.ReqFriendTreasure + (*ResFriendTreasure)(nil), // 348: tutorial.ResFriendTreasure + (*TreasureInfo)(nil), // 349: tutorial.TreasureInfo + (*ReqFriendTreasureStart)(nil), // 350: tutorial.ReqFriendTreasureStart + (*ResFriendTreasureStart)(nil), // 351: tutorial.ResFriendTreasureStart + (*ReqFriendTreasureEnd)(nil), // 352: tutorial.ReqFriendTreasureEnd + (*ResFriendTreasureEnd)(nil), // 353: tutorial.ResFriendTreasureEnd + (*ReqFriendTreasureFilp)(nil), // 354: tutorial.ReqFriendTreasureFilp + (*ResFriendTreasureFilp)(nil), // 355: tutorial.ResFriendTreasureFilp + (*ResFriendTreasureStar)(nil), // 356: tutorial.ResFriendTreasureStar + (*ReqKafkaLog)(nil), // 357: tutorial.ReqKafkaLog + (*ReqCollectInfo)(nil), // 358: tutorial.ReqCollectInfo + (*ResCollectInfo)(nil), // 359: tutorial.ResCollectInfo + (*CollectItem)(nil), // 360: tutorial.CollectItem + (*ReqCollect)(nil), // 361: tutorial.ReqCollect + (*ResCollect)(nil), // 362: tutorial.ResCollect + (*AdminReq)(nil), // 363: tutorial.AdminReq + (*AdminRes)(nil), // 364: tutorial.AdminRes + (*ReqAdminInfo)(nil), // 365: tutorial.ReqAdminInfo + (*ReqReloadServerMail)(nil), // 366: tutorial.ReqReloadServerMail + (*ReqServerInfo)(nil), // 367: tutorial.ReqServerInfo + (*ReqReload)(nil), // 368: tutorial.ReqReload + (*ReqAdminGm)(nil), // 369: tutorial.ReqAdminGm + nil, // 370: tutorial.ResChessColorData.MChessColorDataEntry + nil, // 371: tutorial.UpdateBaseItemInfo.MUpdateItemEntry + nil, // 372: tutorial.ResPlayerChessData.MChessDataEntry + nil, // 373: tutorial.UpdatePlayerChessData.MChessDataEntry + nil, // 374: tutorial.ReqSeparateChess.MChessDataEntry + nil, // 375: tutorial.ReqUpgradeChess.MChessDataEntry + nil, // 376: tutorial.ReqGetChessFromBuff.MChessDataEntry + nil, // 377: tutorial.ReqChessEx.MChessDataEntry + nil, // 378: tutorial.ReqSourceChest.MChessDataEntry + nil, // 379: tutorial.ReqPlayroomOutline.MChessDataEntry + nil, // 380: tutorial.ReqPutChessInBag.MChessDataEntry + nil, // 381: tutorial.ReqTakeChessOutBag.MChessDataEntry + nil, // 382: tutorial.UserInfo.SetEmojiEntry + nil, // 383: tutorial.ReqRewardOrder.MChessDataEntry + nil, // 384: tutorial.ResCardInfo.AllCardEntry + nil, // 385: tutorial.ResCardInfo.HandbookEntry + nil, // 386: tutorial.ResGuildInfo.RewardEntry + nil, // 387: tutorial.ResDailyTask.WeekRewardEntry + nil, // 388: tutorial.ResDailyTask.DailyTaskEntry + nil, // 389: tutorial.ResLimitEvent.LimitEventListEntry + nil, // 390: tutorial.ResLimitEventProgress.ProgressRewardEntry + nil, // 391: tutorial.ResPlayerSimple.EmojiEntry + nil, // 392: tutorial.ResKv.KvEntry + nil, // 393: tutorial.ResRank.RankListEntry + nil, // 394: tutorial.ResMailList.MailListEntry + nil, // 395: tutorial.ResCharge.SpecialShopEntry + nil, // 396: tutorial.ResCharge.ChessShopEntry + nil, // 397: tutorial.ResCharge.GiftEntry + nil, // 398: tutorial.ReqBuyChessShop2.MChessDataEntry + nil, // 399: tutorial.ResEndless.EndlessListEntry + nil, // 400: tutorial.ResChampshipRank.RankListEntry + nil, // 401: tutorial.ResChampshipPreRank.RankListEntry + nil, // 402: tutorial.ResNotifyCard.CardEntry + nil, // 403: tutorial.ResNotifyCard.MasterEntry + nil, // 404: tutorial.ResNotifyCard.HandbookEntry + nil, // 405: tutorial.ResMining.MapEntry + nil, // 406: tutorial.ReqMiningTake.MapEntry + nil, // 407: tutorial.ResActRed.RedEntry + nil, // 408: tutorial.ResItem.ItemEntry + nil, // 409: tutorial.ItemNotify.ItemEntry + nil, // 410: tutorial.ReqGuessColorTake.MapEntry + nil, // 411: tutorial.ResPlayroom.PlayroomEntry + nil, // 412: tutorial.ResPlayroom.MoodEntry + nil, // 413: tutorial.ResPlayroom.PhysiologyEntry + nil, // 414: tutorial.ResPlayroom.DressEntry + nil, // 415: tutorial.ResPlayroom.DressSetEntry + nil, // 416: tutorial.ReqPlayroomDressSet.DressSetEntry + nil, // 417: tutorial.NotifyPlayroomMood.MoodEntry + nil, // 418: tutorial.NotifyPlayroomMood.PhysiologyEntry + nil, // 419: tutorial.ResPlayroomInfo.PlayroomEntry + nil, // 420: tutorial.ResPlayroomInfo.ItemsEntry + nil, // 421: tutorial.ResPlayroomInfo.FlipEntry + nil, // 422: tutorial.ResPlayroomInfo.EmojiEntry + nil, // 423: tutorial.ResPlayroomGame.ItemsEntry + nil, // 424: tutorial.ReqPlayroomSetRoom.PlayroomEntry } var file_proto_Gameapi_proto_depIdxs = []int32{ - 365, // 0: tutorial.ResChessColorData.mChessColorData:type_name -> tutorial.ResChessColorData.MChessColorDataEntry - 366, // 1: tutorial.UpdateBaseItemInfo.mUpdateItem:type_name -> tutorial.UpdateBaseItemInfo.MUpdateItemEntry - 367, // 2: tutorial.ResPlayerChessData.mChessData:type_name -> tutorial.ResPlayerChessData.MChessDataEntry + 370, // 0: tutorial.ResChessColorData.mChessColorData:type_name -> tutorial.ResChessColorData.MChessColorDataEntry + 371, // 1: tutorial.UpdateBaseItemInfo.mUpdateItem:type_name -> tutorial.UpdateBaseItemInfo.MUpdateItemEntry + 372, // 2: tutorial.ResPlayerChessData.mChessData:type_name -> tutorial.ResPlayerChessData.MChessDataEntry 52, // 3: tutorial.ResPlayerChessInfo.ChessBag:type_name -> tutorial.ChessBag 1, // 4: tutorial.ChessHandle.type:type_name -> tutorial.HANDLE_TYPE - 368, // 5: tutorial.UpdatePlayerChessData.mChessData:type_name -> tutorial.UpdatePlayerChessData.MChessDataEntry + 373, // 5: tutorial.UpdatePlayerChessData.mChessData:type_name -> tutorial.UpdatePlayerChessData.MChessDataEntry 37, // 6: tutorial.UpdatePlayerChessData.mChessHandle:type_name -> tutorial.ChessHandle 2, // 7: tutorial.ResUpdatePlayerChessData.code:type_name -> tutorial.RES_CODE - 369, // 8: tutorial.ReqSeparateChess.mChessData:type_name -> tutorial.ReqSeparateChess.MChessDataEntry + 374, // 8: tutorial.ReqSeparateChess.mChessData:type_name -> tutorial.ReqSeparateChess.MChessDataEntry 2, // 9: tutorial.ResSeparateChess.code:type_name -> tutorial.RES_CODE - 370, // 10: tutorial.ReqUpgradeChess.mChessData:type_name -> tutorial.ReqUpgradeChess.MChessDataEntry + 375, // 10: tutorial.ReqUpgradeChess.mChessData:type_name -> tutorial.ReqUpgradeChess.MChessDataEntry 2, // 11: tutorial.ResUpgradeChess.code:type_name -> tutorial.RES_CODE - 371, // 12: tutorial.ReqGetChessFromBuff.mChessData:type_name -> tutorial.ReqGetChessFromBuff.MChessDataEntry + 376, // 12: tutorial.ReqGetChessFromBuff.mChessData:type_name -> tutorial.ReqGetChessFromBuff.MChessDataEntry 2, // 13: tutorial.ResGetChessFromBuff.code:type_name -> tutorial.RES_CODE - 372, // 14: tutorial.ReqChessEx.mChessData:type_name -> tutorial.ReqChessEx.MChessDataEntry + 377, // 14: tutorial.ReqChessEx.mChessData:type_name -> tutorial.ReqChessEx.MChessDataEntry 2, // 15: tutorial.ResChessEx.code:type_name -> tutorial.RES_CODE - 373, // 16: tutorial.ReqSourceChest.mChessData:type_name -> tutorial.ReqSourceChest.MChessDataEntry + 378, // 16: tutorial.ReqSourceChest.mChessData:type_name -> tutorial.ReqSourceChest.MChessDataEntry 2, // 17: tutorial.ResSourceChest.code:type_name -> tutorial.RES_CODE - 374, // 18: tutorial.ReqPlayroomOutline.mChessData:type_name -> tutorial.ReqPlayroomOutline.MChessDataEntry + 379, // 18: tutorial.ReqPlayroomOutline.mChessData:type_name -> tutorial.ReqPlayroomOutline.MChessDataEntry 2, // 19: tutorial.ResPlayroomOutline.code:type_name -> tutorial.RES_CODE 53, // 20: tutorial.ChessBag.ChessBagGrids:type_name -> tutorial.ChessBagGrid - 375, // 21: tutorial.ReqPutChessInBag.mChessData:type_name -> tutorial.ReqPutChessInBag.MChessDataEntry + 380, // 21: tutorial.ReqPutChessInBag.mChessData:type_name -> tutorial.ReqPutChessInBag.MChessDataEntry 2, // 22: tutorial.ResPutChessInBag.code:type_name -> tutorial.RES_CODE - 376, // 23: tutorial.ReqTakeChessOutBag.mChessData:type_name -> tutorial.ReqTakeChessOutBag.MChessDataEntry + 381, // 23: tutorial.ReqTakeChessOutBag.mChessData:type_name -> tutorial.ReqTakeChessOutBag.MChessDataEntry 2, // 24: tutorial.ResTakeChessOutBag.code:type_name -> tutorial.RES_CODE 2, // 25: tutorial.ResBuyChessBagGrid.code:type_name -> tutorial.RES_CODE 2, // 26: tutorial.ResSetEnergyMul.ResultCode:type_name -> tutorial.RES_CODE 156, // 27: tutorial.UserInfo.AvatarList:type_name -> tutorial.AvatarInfo 152, // 28: tutorial.UserInfo.FaceList:type_name -> tutorial.FaceInfo 159, // 29: tutorial.UserInfo.EmojiList:type_name -> tutorial.EmojiInfo - 377, // 30: tutorial.UserInfo.SetEmoji:type_name -> tutorial.UserInfo.SetEmojiEntry + 382, // 30: tutorial.UserInfo.SetEmoji:type_name -> tutorial.UserInfo.SetEmojiEntry 2, // 31: tutorial.ResSetName.ResultCode:type_name -> tutorial.RES_CODE 2, // 32: tutorial.ResSetPetName.ResultCode:type_name -> tutorial.RES_CODE 2, // 33: tutorial.ResBuyEnergy.Code:type_name -> tutorial.RES_CODE @@ -22811,15 +23138,15 @@ var file_proto_Gameapi_proto_depIdxs = []int32{ 2, // 35: tutorial.ResGetHandbookReward.Code:type_name -> tutorial.RES_CODE 79, // 36: tutorial.Handbook.Handbooks:type_name -> tutorial.HandbookInfo 2, // 37: tutorial.ResHandbookAllReward.Code:type_name -> tutorial.RES_CODE - 378, // 38: tutorial.ReqRewardOrder.mChessData:type_name -> tutorial.ReqRewardOrder.MChessDataEntry + 383, // 38: tutorial.ReqRewardOrder.mChessData:type_name -> tutorial.ReqRewardOrder.MChessDataEntry 2, // 39: tutorial.ResRewardOrder.Code:type_name -> tutorial.RES_CODE 2, // 40: tutorial.ResDelOrder.Code:type_name -> tutorial.RES_CODE 89, // 41: tutorial.ResOrderList.OrderList:type_name -> tutorial.Order 2, // 42: tutorial.ResDecorate.Code:type_name -> tutorial.RES_CODE 2, // 43: tutorial.ResDecorateAll.Code:type_name -> tutorial.RES_CODE 97, // 44: tutorial.ResCardInfo.CardList:type_name -> tutorial.Card - 379, // 45: tutorial.ResCardInfo.AllCard:type_name -> tutorial.ResCardInfo.AllCardEntry - 380, // 46: tutorial.ResCardInfo.Handbook:type_name -> tutorial.ResCardInfo.HandbookEntry + 384, // 45: tutorial.ResCardInfo.AllCard:type_name -> tutorial.ResCardInfo.AllCardEntry + 385, // 46: tutorial.ResCardInfo.Handbook:type_name -> tutorial.ResCardInfo.HandbookEntry 2, // 47: tutorial.ResCardSeasonFirstReward.Code:type_name -> tutorial.RES_CODE 2, // 48: tutorial.ResCardHandbookReward.Code:type_name -> tutorial.RES_CODE 2, // 49: tutorial.ResMasterCard.Code:type_name -> tutorial.RES_CODE @@ -22837,11 +23164,11 @@ var file_proto_Gameapi_proto_depIdxs = []int32{ 2, // 61: tutorial.ResRefuseCardExchange.Code:type_name -> tutorial.RES_CODE 2, // 62: tutorial.ResGetFriendCard.Code:type_name -> tutorial.RES_CODE 2, // 63: tutorial.ResGuideReward.Code:type_name -> tutorial.RES_CODE - 381, // 64: tutorial.ResGuildInfo.Reward:type_name -> tutorial.ResGuildInfo.RewardEntry + 386, // 64: tutorial.ResGuildInfo.Reward:type_name -> tutorial.ResGuildInfo.RewardEntry 139, // 65: tutorial.ResItemPop.Items:type_name -> tutorial.ItemInfo 140, // 66: tutorial.ResItemPop.CardPacks:type_name -> tutorial.CardPack - 382, // 67: tutorial.ResDailyTask.WeekReward:type_name -> tutorial.ResDailyTask.WeekRewardEntry - 383, // 68: tutorial.ResDailyTask.DailyTask:type_name -> tutorial.ResDailyTask.DailyTaskEntry + 387, // 67: tutorial.ResDailyTask.WeekReward:type_name -> tutorial.ResDailyTask.WeekRewardEntry + 388, // 68: tutorial.ResDailyTask.DailyTask:type_name -> tutorial.ResDailyTask.DailyTaskEntry 139, // 69: tutorial.DailyWeek.Items:type_name -> tutorial.ItemInfo 144, // 70: tutorial.DailyTask.Progress:type_name -> tutorial.QuestProgress 139, // 71: tutorial.DailyTask.Items:type_name -> tutorial.ItemInfo @@ -22861,19 +23188,19 @@ var file_proto_Gameapi_proto_depIdxs = []int32{ 2, // 85: tutorial.ResGetSevenLoginReward.Code:type_name -> tutorial.RES_CODE 2, // 86: tutorial.ResGetMonthLoginReward.Code:type_name -> tutorial.RES_CODE 169, // 87: tutorial.ResActivity.ActiveList:type_name -> tutorial.ActivityInfo - 384, // 88: tutorial.ResLimitEvent.LimitEventList:type_name -> tutorial.ResLimitEvent.LimitEventListEntry - 385, // 89: tutorial.ResLimitEventProgress.ProgressReward:type_name -> tutorial.ResLimitEventProgress.ProgressRewardEntry + 389, // 88: tutorial.ResLimitEvent.LimitEventList:type_name -> tutorial.ResLimitEvent.LimitEventListEntry + 390, // 89: tutorial.ResLimitEventProgress.ProgressReward:type_name -> tutorial.ResLimitEventProgress.ProgressRewardEntry 2, // 90: tutorial.ResLimitEventReward.Code:type_name -> tutorial.RES_CODE 2, // 91: tutorial.ResSelectLimitEvent.Code:type_name -> tutorial.RES_CODE 2, // 92: tutorial.ResLimitSenceReward.Code:type_name -> tutorial.RES_CODE 139, // 93: tutorial.ResChessRainReward.Items:type_name -> tutorial.ItemInfo 2, // 94: tutorial.ResFastProduceReward.Code:type_name -> tutorial.RES_CODE 188, // 95: tutorial.ResSearchPlayer.List:type_name -> tutorial.ResPlayerSimple - 386, // 96: tutorial.ResPlayerSimple.Emoji:type_name -> tutorial.ResPlayerSimple.EmojiEntry + 391, // 96: tutorial.ResPlayerSimple.Emoji:type_name -> tutorial.ResPlayerSimple.EmojiEntry 188, // 97: tutorial.ResFriendLog.Player:type_name -> tutorial.ResPlayerSimple 190, // 98: tutorial.NotifyFriendLog.info:type_name -> tutorial.ResFriendLog 193, // 99: tutorial.NotifyFriendCard.Info:type_name -> tutorial.ResFriendCard - 387, // 100: tutorial.ResKv.kv:type_name -> tutorial.ResKv.KvEntry + 392, // 100: tutorial.ResKv.kv:type_name -> tutorial.ResKv.KvEntry 188, // 101: tutorial.ResFriendRecommend.List:type_name -> tutorial.ResPlayerSimple 2, // 102: tutorial.ResFriendIgnore.Code:type_name -> tutorial.RES_CODE 188, // 103: tutorial.ResFriendList.FriendList:type_name -> tutorial.ResPlayerSimple @@ -22888,104 +23215,110 @@ var file_proto_Gameapi_proto_depIdxs = []int32{ 188, // 112: tutorial.ResAgreeFriend.Player:type_name -> tutorial.ResPlayerSimple 2, // 113: tutorial.ResRefuseFriend.Code:type_name -> tutorial.RES_CODE 2, // 114: tutorial.ResDelFriend.Code:type_name -> tutorial.RES_CODE - 388, // 115: tutorial.ResRank.RankList:type_name -> tutorial.ResRank.RankListEntry - 389, // 116: tutorial.ResMailList.MailList:type_name -> tutorial.ResMailList.MailListEntry + 393, // 115: tutorial.ResRank.RankList:type_name -> tutorial.ResRank.RankListEntry + 394, // 116: tutorial.ResMailList.MailList:type_name -> tutorial.ResMailList.MailListEntry 139, // 117: tutorial.MailInfo.Items:type_name -> tutorial.ItemInfo 224, // 118: tutorial.MailNotify.Info:type_name -> tutorial.MailInfo 2, // 119: tutorial.ResReadMail.Code:type_name -> tutorial.RES_CODE 2, // 120: tutorial.ResGetMailReward.Code:type_name -> tutorial.RES_CODE 2, // 121: tutorial.ResDeleteMail.Code:type_name -> tutorial.RES_CODE - 390, // 122: tutorial.ResCharge.SpecialShop:type_name -> tutorial.ResCharge.SpecialShopEntry - 391, // 123: tutorial.ResCharge.ChessShop:type_name -> tutorial.ResCharge.ChessShopEntry - 392, // 124: tutorial.ResCharge.Gift:type_name -> tutorial.ResCharge.GiftEntry + 395, // 122: tutorial.ResCharge.SpecialShop:type_name -> tutorial.ResCharge.SpecialShopEntry + 396, // 123: tutorial.ResCharge.ChessShop:type_name -> tutorial.ResCharge.ChessShopEntry + 397, // 124: tutorial.ResCharge.Gift:type_name -> tutorial.ResCharge.GiftEntry 2, // 125: tutorial.ResFreeShop.Code:type_name -> tutorial.RES_CODE 2, // 126: tutorial.ResBuyChessShop.Code:type_name -> tutorial.RES_CODE - 393, // 127: tutorial.ReqBuyChessShop2.mChessData:type_name -> tutorial.ReqBuyChessShop2.MChessDataEntry + 398, // 127: tutorial.ReqBuyChessShop2.mChessData:type_name -> tutorial.ReqBuyChessShop2.MChessDataEntry 2, // 128: tutorial.ResBuyChessShop2.Code:type_name -> tutorial.RES_CODE 2, // 129: tutorial.ResRefreshChessShop.Code:type_name -> tutorial.RES_CODE - 394, // 130: tutorial.ResEndless.EndlessList:type_name -> tutorial.ResEndless.EndlessListEntry + 399, // 130: tutorial.ResEndless.EndlessList:type_name -> tutorial.ResEndless.EndlessListEntry 139, // 131: tutorial.ResEndlessInfo.Items:type_name -> tutorial.ItemInfo 2, // 132: tutorial.ResEndlessReward.Code:type_name -> tutorial.RES_CODE 2, // 133: tutorial.ResPiggyBankReward.Code:type_name -> tutorial.RES_CODE 2, // 134: tutorial.ResShippingOrder.Code:type_name -> tutorial.RES_CODE 2, // 135: tutorial.ResChampshipReward.Code:type_name -> tutorial.RES_CODE 2, // 136: tutorial.ResChampshipRankReward.Code:type_name -> tutorial.RES_CODE - 395, // 137: tutorial.ResChampshipRank.RankList:type_name -> tutorial.ResChampshipRank.RankListEntry - 396, // 138: tutorial.ResChampshipPreRank.RankList:type_name -> tutorial.ResChampshipPreRank.RankListEntry - 397, // 139: tutorial.ResNotifyCard.Card:type_name -> tutorial.ResNotifyCard.CardEntry - 398, // 140: tutorial.ResNotifyCard.Master:type_name -> tutorial.ResNotifyCard.MasterEntry - 399, // 141: tutorial.ResNotifyCard.Handbook:type_name -> tutorial.ResNotifyCard.HandbookEntry + 400, // 137: tutorial.ResChampshipRank.RankList:type_name -> tutorial.ResChampshipRank.RankListEntry + 401, // 138: tutorial.ResChampshipPreRank.RankList:type_name -> tutorial.ResChampshipPreRank.RankListEntry + 402, // 139: tutorial.ResNotifyCard.Card:type_name -> tutorial.ResNotifyCard.CardEntry + 403, // 140: tutorial.ResNotifyCard.Master:type_name -> tutorial.ResNotifyCard.MasterEntry + 404, // 141: tutorial.ResNotifyCard.Handbook:type_name -> tutorial.ResNotifyCard.HandbookEntry 2, // 142: tutorial.ResSetFacebookUrl.Code:type_name -> tutorial.RES_CODE - 400, // 143: tutorial.ResMining.Map:type_name -> tutorial.ResMining.MapEntry - 401, // 144: tutorial.ReqMiningTake.Map:type_name -> tutorial.ReqMiningTake.MapEntry + 405, // 143: tutorial.ResMining.Map:type_name -> tutorial.ResMining.MapEntry + 406, // 144: tutorial.ReqMiningTake.Map:type_name -> tutorial.ReqMiningTake.MapEntry 2, // 145: tutorial.ResMiningTake.Code:type_name -> tutorial.RES_CODE 2, // 146: tutorial.ResMiningReward.Code:type_name -> tutorial.RES_CODE - 402, // 147: tutorial.ResActRed.Red:type_name -> tutorial.ResActRed.RedEntry + 407, // 147: tutorial.ResActRed.Red:type_name -> tutorial.ResActRed.RedEntry 169, // 148: tutorial.ActivityNotify.Info:type_name -> tutorial.ActivityInfo - 403, // 149: tutorial.ResItem.Item:type_name -> tutorial.ResItem.ItemEntry - 404, // 150: tutorial.ItemNotify.Item:type_name -> tutorial.ItemNotify.ItemEntry + 408, // 149: tutorial.ResItem.Item:type_name -> tutorial.ResItem.ItemEntry + 409, // 150: tutorial.ItemNotify.Item:type_name -> tutorial.ItemNotify.ItemEntry 292, // 151: tutorial.ResGuessColor.Opponent:type_name -> tutorial.opponent - 405, // 152: tutorial.ReqGuessColorTake.Map:type_name -> tutorial.ReqGuessColorTake.MapEntry + 410, // 152: tutorial.ReqGuessColorTake.Map:type_name -> tutorial.ReqGuessColorTake.MapEntry 2, // 153: tutorial.ResGuessColorTake.Code:type_name -> tutorial.RES_CODE 2, // 154: tutorial.ResGuessColorReward.Code:type_name -> tutorial.RES_CODE 299, // 155: tutorial.ResRace.Opponent:type_name -> tutorial.raceopponent 2, // 156: tutorial.ResRaceStart.Code:type_name -> tutorial.RES_CODE 2, // 157: tutorial.ResRaceReward.Code:type_name -> tutorial.RES_CODE 139, // 158: tutorial.ResPlayroom.Items:type_name -> tutorial.ItemInfo - 313, // 159: tutorial.ResPlayroom.Opponent:type_name -> tutorial.RoomOpponent - 312, // 160: tutorial.ResPlayroom.Friend:type_name -> tutorial.FriendRoom - 406, // 161: tutorial.ResPlayroom.Playroom:type_name -> tutorial.ResPlayroom.PlayroomEntry - 407, // 162: tutorial.ResPlayroom.Mood:type_name -> tutorial.ResPlayroom.MoodEntry + 318, // 159: tutorial.ResPlayroom.Opponent:type_name -> tutorial.RoomOpponent + 317, // 160: tutorial.ResPlayroom.Friend:type_name -> tutorial.FriendRoom + 411, // 161: tutorial.ResPlayroom.Playroom:type_name -> tutorial.ResPlayroom.PlayroomEntry + 412, // 162: tutorial.ResPlayroom.Mood:type_name -> tutorial.ResPlayroom.MoodEntry 139, // 163: tutorial.ResPlayroom.LoseItem:type_name -> tutorial.ItemInfo - 408, // 164: tutorial.ResPlayroom.Physiology:type_name -> tutorial.ResPlayroom.PhysiologyEntry - 2, // 165: tutorial.ResPlayroomWrokOutline.Code:type_name -> tutorial.RES_CODE - 139, // 166: tutorial.NotifyPlayroomLose.LoseItem:type_name -> tutorial.ItemInfo - 409, // 167: tutorial.NotifyPlayroomMood.Mood:type_name -> tutorial.NotifyPlayroomMood.MoodEntry - 410, // 168: tutorial.NotifyPlayroomMood.Physiology:type_name -> tutorial.NotifyPlayroomMood.PhysiologyEntry - 411, // 169: tutorial.ResPlayroomInfo.Playroom:type_name -> tutorial.ResPlayroomInfo.PlayroomEntry - 412, // 170: tutorial.ResPlayroomInfo.Items:type_name -> tutorial.ResPlayroomInfo.ItemsEntry - 413, // 171: tutorial.ResPlayroomInfo.flip:type_name -> tutorial.ResPlayroomInfo.FlipEntry - 414, // 172: tutorial.ResPlayroomInfo.Emoji:type_name -> tutorial.ResPlayroomInfo.EmojiEntry - 2, // 173: tutorial.ResPlayroomFlip.Code:type_name -> tutorial.RES_CODE - 2, // 174: tutorial.ResPlayroomFlipReward.Code:type_name -> tutorial.RES_CODE - 2, // 175: tutorial.ResPlayroomGame.Code:type_name -> tutorial.RES_CODE - 415, // 176: tutorial.ResPlayroomGame.Items:type_name -> tutorial.ResPlayroomGame.ItemsEntry - 2, // 177: tutorial.ResPlayroomInteract.Code:type_name -> tutorial.RES_CODE - 416, // 178: tutorial.ReqPlayroomSetRoom.Playroom:type_name -> tutorial.ReqPlayroomSetRoom.PlayroomEntry - 2, // 179: tutorial.ResPlayroomSetRoom.Code:type_name -> tutorial.RES_CODE - 2, // 180: tutorial.ResPlayroomSelectReward.Code:type_name -> tutorial.RES_CODE - 2, // 181: tutorial.ResPlayroomLose.Code:type_name -> tutorial.RES_CODE - 2, // 182: tutorial.ResPlayroomWork.Code:type_name -> tutorial.RES_CODE - 2, // 183: tutorial.ResPlayroomRest.Code:type_name -> tutorial.RES_CODE - 2, // 184: tutorial.ResPlayroomDraw.Code:type_name -> tutorial.RES_CODE - 2, // 185: tutorial.ResPlayroomChip.Code:type_name -> tutorial.RES_CODE - 2, // 186: tutorial.ResPlayroomBuyItem.Code:type_name -> tutorial.RES_CODE - 2, // 187: tutorial.ResPlayroomShop.Code:type_name -> tutorial.RES_CODE - 344, // 188: tutorial.ResFriendTreasure.List:type_name -> tutorial.TreasureInfo - 344, // 189: tutorial.ReqFriendTreasureStart.List:type_name -> tutorial.TreasureInfo - 2, // 190: tutorial.ResFriendTreasureStart.Code:type_name -> tutorial.RES_CODE - 2, // 191: tutorial.ResFriendTreasureEnd.Code:type_name -> tutorial.RES_CODE - 2, // 192: tutorial.ResFriendTreasureFilp.Code:type_name -> tutorial.RES_CODE - 355, // 193: tutorial.ResCollectInfo.Items:type_name -> tutorial.CollectItem - 139, // 194: tutorial.CollectItem.Items:type_name -> tutorial.ItemInfo - 2, // 195: tutorial.ResCollect.Code:type_name -> tutorial.RES_CODE - 142, // 196: tutorial.ResDailyTask.WeekRewardEntry.value:type_name -> tutorial.DailyWeek - 143, // 197: tutorial.ResDailyTask.DailyTaskEntry.value:type_name -> tutorial.DailyTask - 177, // 198: tutorial.ResLimitEvent.LimitEventListEntry.value:type_name -> tutorial.LimitEvent - 188, // 199: tutorial.ResRank.RankListEntry.value:type_name -> tutorial.ResPlayerSimple - 224, // 200: tutorial.ResMailList.MailListEntry.value:type_name -> tutorial.MailInfo - 233, // 201: tutorial.ResCharge.SpecialShopEntry.value:type_name -> tutorial.ResSpecialShop - 234, // 202: tutorial.ResCharge.ChessShopEntry.value:type_name -> tutorial.ResChessShop - 245, // 203: tutorial.ResEndless.EndlessListEntry.value:type_name -> tutorial.ResEndlessInfo - 189, // 204: tutorial.ResChampshipRank.RankListEntry.value:type_name -> tutorial.ResPlayerRank - 189, // 205: tutorial.ResChampshipPreRank.RankListEntry.value:type_name -> tutorial.ResPlayerRank - 139, // 206: tutorial.ResPlayroomInfo.ItemsEntry.value:type_name -> tutorial.ItemInfo - 139, // 207: tutorial.ResPlayroomGame.ItemsEntry.value:type_name -> tutorial.ItemInfo - 208, // [208:208] is the sub-list for method output_type - 208, // [208:208] is the sub-list for method input_type - 208, // [208:208] is the sub-list for extension type_name - 208, // [208:208] is the sub-list for extension extendee - 0, // [0:208] is the sub-list for field type_name + 413, // 164: tutorial.ResPlayroom.Physiology:type_name -> tutorial.ResPlayroom.PhysiologyEntry + 414, // 165: tutorial.ResPlayroom.Dress:type_name -> tutorial.ResPlayroom.DressEntry + 415, // 166: tutorial.ResPlayroom.DressSet:type_name -> tutorial.ResPlayroom.DressSetEntry + 416, // 167: tutorial.ReqPlayroomDressSet.DressSet:type_name -> tutorial.ReqPlayroomDressSet.DressSetEntry + 2, // 168: tutorial.ResPlayroomDressSet.Code:type_name -> tutorial.RES_CODE + 2, // 169: tutorial.ResPlayroomPetAirSet.Code:type_name -> tutorial.RES_CODE + 2, // 170: tutorial.ResPlayroomWrokOutline.Code:type_name -> tutorial.RES_CODE + 139, // 171: tutorial.NotifyPlayroomLose.LoseItem:type_name -> tutorial.ItemInfo + 417, // 172: tutorial.NotifyPlayroomMood.Mood:type_name -> tutorial.NotifyPlayroomMood.MoodEntry + 418, // 173: tutorial.NotifyPlayroomMood.Physiology:type_name -> tutorial.NotifyPlayroomMood.PhysiologyEntry + 419, // 174: tutorial.ResPlayroomInfo.Playroom:type_name -> tutorial.ResPlayroomInfo.PlayroomEntry + 420, // 175: tutorial.ResPlayroomInfo.Items:type_name -> tutorial.ResPlayroomInfo.ItemsEntry + 421, // 176: tutorial.ResPlayroomInfo.flip:type_name -> tutorial.ResPlayroomInfo.FlipEntry + 422, // 177: tutorial.ResPlayroomInfo.Emoji:type_name -> tutorial.ResPlayroomInfo.EmojiEntry + 2, // 178: tutorial.ResPlayroomFlip.Code:type_name -> tutorial.RES_CODE + 2, // 179: tutorial.ResPlayroomFlipReward.Code:type_name -> tutorial.RES_CODE + 2, // 180: tutorial.ResPlayroomGame.Code:type_name -> tutorial.RES_CODE + 423, // 181: tutorial.ResPlayroomGame.Items:type_name -> tutorial.ResPlayroomGame.ItemsEntry + 2, // 182: tutorial.ResPlayroomInteract.Code:type_name -> tutorial.RES_CODE + 424, // 183: tutorial.ReqPlayroomSetRoom.Playroom:type_name -> tutorial.ReqPlayroomSetRoom.PlayroomEntry + 2, // 184: tutorial.ResPlayroomSetRoom.Code:type_name -> tutorial.RES_CODE + 2, // 185: tutorial.ResPlayroomSelectReward.Code:type_name -> tutorial.RES_CODE + 2, // 186: tutorial.ResPlayroomLose.Code:type_name -> tutorial.RES_CODE + 2, // 187: tutorial.ResPlayroomWork.Code:type_name -> tutorial.RES_CODE + 2, // 188: tutorial.ResPlayroomRest.Code:type_name -> tutorial.RES_CODE + 2, // 189: tutorial.ResPlayroomDraw.Code:type_name -> tutorial.RES_CODE + 2, // 190: tutorial.ResPlayroomChip.Code:type_name -> tutorial.RES_CODE + 2, // 191: tutorial.ResPlayroomBuyItem.Code:type_name -> tutorial.RES_CODE + 2, // 192: tutorial.ResPlayroomShop.Code:type_name -> tutorial.RES_CODE + 349, // 193: tutorial.ResFriendTreasure.List:type_name -> tutorial.TreasureInfo + 349, // 194: tutorial.ReqFriendTreasureStart.List:type_name -> tutorial.TreasureInfo + 2, // 195: tutorial.ResFriendTreasureStart.Code:type_name -> tutorial.RES_CODE + 2, // 196: tutorial.ResFriendTreasureEnd.Code:type_name -> tutorial.RES_CODE + 2, // 197: tutorial.ResFriendTreasureFilp.Code:type_name -> tutorial.RES_CODE + 360, // 198: tutorial.ResCollectInfo.Items:type_name -> tutorial.CollectItem + 139, // 199: tutorial.CollectItem.Items:type_name -> tutorial.ItemInfo + 2, // 200: tutorial.ResCollect.Code:type_name -> tutorial.RES_CODE + 142, // 201: tutorial.ResDailyTask.WeekRewardEntry.value:type_name -> tutorial.DailyWeek + 143, // 202: tutorial.ResDailyTask.DailyTaskEntry.value:type_name -> tutorial.DailyTask + 177, // 203: tutorial.ResLimitEvent.LimitEventListEntry.value:type_name -> tutorial.LimitEvent + 188, // 204: tutorial.ResRank.RankListEntry.value:type_name -> tutorial.ResPlayerSimple + 224, // 205: tutorial.ResMailList.MailListEntry.value:type_name -> tutorial.MailInfo + 233, // 206: tutorial.ResCharge.SpecialShopEntry.value:type_name -> tutorial.ResSpecialShop + 234, // 207: tutorial.ResCharge.ChessShopEntry.value:type_name -> tutorial.ResChessShop + 245, // 208: tutorial.ResEndless.EndlessListEntry.value:type_name -> tutorial.ResEndlessInfo + 189, // 209: tutorial.ResChampshipRank.RankListEntry.value:type_name -> tutorial.ResPlayerRank + 189, // 210: tutorial.ResChampshipPreRank.RankListEntry.value:type_name -> tutorial.ResPlayerRank + 306, // 211: tutorial.ResPlayroom.DressEntry.value:type_name -> tutorial.PlayroomDress + 139, // 212: tutorial.ResPlayroomInfo.ItemsEntry.value:type_name -> tutorial.ItemInfo + 139, // 213: tutorial.ResPlayroomGame.ItemsEntry.value:type_name -> tutorial.ItemInfo + 214, // [214:214] is the sub-list for method output_type + 214, // [214:214] is the sub-list for method input_type + 214, // [214:214] is the sub-list for extension type_name + 214, // [214:214] is the sub-list for extension extendee + 0, // [0:214] is the sub-list for field type_name } func init() { file_proto_Gameapi_proto_init() } @@ -22999,7 +23332,7 @@ func file_proto_Gameapi_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_proto_Gameapi_proto_rawDesc, NumEnums: 4, - NumMessages: 413, + NumMessages: 421, NumExtensions: 0, NumServices: 0, },