From 78d6a109fe7ef7282c97ce05379005c278c90063 Mon Sep 17 00:00:00 2001 From: sk <123456@qq.com> Date: Tue, 2 Jul 2024 17:33:57 +0800 Subject: [PATCH 01/10] =?UTF-8?q?=E8=B5=9B=E5=AD=A3=E9=80=9A=E8=A1=8C?= =?UTF-8?q?=E8=AF=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- common/constant.go | 2 - common/time.go | 4 + data/DB_PropExchange.dat | Bin 384 -> 384 bytes data/DB_Task.dat | Bin 2441 -> 2441 bytes data/gameparam.json | 3 +- data/i18n/languages.json | 4 +- model/gameparam.go | 1 + model/player.go | 6 + protocol/login/login.pb.go | 542 ++++++------ protocol/login/login.proto | 1 + protocol/webapi/common.pb.go | 1497 ++++++++++++++++---------------- protocol/webapi/common.proto | 3 + protocol/welfare/welfare.pb.go | 346 ++++---- protocol/welfare/welfare.proto | 3 +- public | 2 +- ranksrv/main.go | 6 +- worldsrv/action_task.go | 18 +- worldsrv/action_welfare.go | 3 +- worldsrv/etcd.go | 17 +- worldsrv/permitmgr.go | 79 ++ worldsrv/player.go | 18 +- worldsrv/task_login.go | 1 + worldsrv/trascate_webapi.go | 16 + xlsx/DB_Task.xlsx | Bin 21800 -> 21852 bytes 24 files changed, 1374 insertions(+), 1198 deletions(-) diff --git a/common/constant.go b/common/constant.go index c2a5393..2f35173 100644 --- a/common/constant.go +++ b/common/constant.go @@ -793,5 +793,3 @@ const ( ) const PermitStartTsKey = "permit_start_ts" - -const PermitTaskScore = 100 diff --git a/common/time.go b/common/time.go index 9fd5a72..be32bd5 100644 --- a/common/time.go +++ b/common/time.go @@ -162,6 +162,10 @@ func GetDayStartTs(ts int64) int64 { return today.Unix() } +func GetDayNextStartTs(ts int64) int64 { + return GetDayStartTs(ts) + 86400 +} + func GetMonthTimestamp() []int64 { now := time.Now().Local() year, month, _ := now.Date() diff --git a/data/DB_PropExchange.dat b/data/DB_PropExchange.dat index 3380e58ac4e0ac74e689abcbc37cf50700cb970a..87e9e17f77928c832e86f670fe276fd24eb6ce73 100644 GIT binary patch literal 384 zcmd-w<6snElw#w!-o^~3FGJ}oQ2HvAz6PR|I5-yevI!h$vE|a^U;?YZ0hPZArEfv$ z+i2>;IUweP#ew$0>_IUf$sM@N1-na$6YP$LwU1c1VmVmA4neUPXwV&~L$G=TC=YWm X%ptG<09&lY&anvS(J#zg477y+X4*V8 literal 384 zcmd-w<6snElw#w!*2WB`uS4m}Q2Gj#z6zq1I5-yevI!h$vE|a^U;?YZ0hPZArEfv$ z+i2>;IUwf4Eh6c3;q0JHE8)L}4-VFtq- TfNB9d$0DFdzc6z#&=vv!Wr{pC diff --git a/data/DB_Task.dat b/data/DB_Task.dat index b34fe2f74097867ddc69598302bb3ccdd6e558ba..8f2cd4ed4b42f93babf4680bc4d13715a2ea073a 100644 GIT binary patch delta 279 zcmeAa?i8LdQnVMsaRsj!i%jPLRlC9~K$T%|ISMm{-UmGdYL#B-lJpwpc+7 x^CoX+yN*S4KD+4TQbs`~psyZXVHV&48pf|7V!#M>EECj02WIhXe$Kv#5dhTCNg4nE delta 316 zcmeAa?i8Ld)0l%}VK1A&f?hT&HjX7gmYf44mjVZy0GkA(0-FY-0izYV3XzFtItAG{ z76BC_Np4PKyvv9wJUN8f7AndNHR-`}p~;JwyRoRXW3ikZ#ws?smnC}gaaJ*xjjtF5 zm?c;hSTs_A?!d4T=u%~lO+YoAU^Oq;;fk1`RvnndGuestGuTjXHjtqrlXtOQ0n&n# k=d+6%V;Bka`lBn%0z5zi`87n~o(Gx(wVrA7bM{4y0L2+l(f|Me diff --git a/data/gameparam.json b/data/gameparam.json index ac32d61..48db513 100644 --- a/data/gameparam.json +++ b/data/gameparam.json @@ -23,5 +23,6 @@ "ClosePreCreateRoom": true, "AgoraAddress": "http://47.105.78.29:8081", "InviteUrl": "http://47.105.78.29:8000/", - "RankTimeout": 2 + "RankTimeout": 2, + "PermitInitScore": 1234 } \ No newline at end of file diff --git a/data/i18n/languages.json b/data/i18n/languages.json index 1dad26b..042c100 100644 --- a/data/i18n/languages.json +++ b/data/i18n/languages.json @@ -7,5 +7,7 @@ "RankAwardTitle": "{\"zh\":\"赛季奖励-%v\",\"vi\":\"Hạng bạc-%v\",\"en\":\"Season rewards-%v\",\"kh\":\"រង្វាន់រដូវកាល-%v\"}", "RankAward": "{\"zh\":\"您上赛季有未领取的奖励\",\"vi\":\"Bạn có phần thưởng chưa được nhận từ mùa giải trước\",\"en\":\"You have unclaimed rewards from last season\",\"kh\":\"អ្នកមិនទាន់បានយករង្វាន់តាំងពីរដូវកាលមុន\"}", "MatchAwardTitle": "{\"zh\":\"话费充值兑换码\",\"vi\":\"Mã nạp tiền ĐT\",\"en\":\"Phone recharge code\",\"kh\":\"កូដបញ្ចូលទូរស័ព្ទ\"}", - "MatchAward": "{\"zh\":\"恭喜您获得电话预付卡“%v$”话费充值奖励,兑换码:%v,请尽快使用\",\"vi\":\"Chúc mừng bạn đã nhận được Thẻ trả trước ĐT “%v$” phần thưởng nạp tiền tín dụng ĐT, mã đổi thưởng %v xin sử dụng ngay lập tức\",\"en\":\"Congratulations, you have received the phone prepaid card “%v$” mobile credit top-up reward, redemption code: %v please use it immediately.\",\"kh\":\"សូមអបអរសាទរ អ្នកទទួលបានរង្វាន់កាតបញ្ចូលទូរស័ព្ទ កាតទូរស័ព្ទបង់ប្រាក់ជាមុន “%v$”លេខកូដដោះដូរ %v សូមប្រើវាភ្លាមៗ\"}" + "MatchAward": "{\"zh\":\"恭喜您获得电话预付卡“%v$”话费充值奖励,兑换码:%v,请尽快使用\",\"vi\":\"Chúc mừng bạn đã nhận được Thẻ trả trước ĐT “%v$” phần thưởng nạp tiền tín dụng ĐT, mã đổi thưởng %v xin sử dụng ngay lập tức\",\"en\":\"Congratulations, you have received the phone prepaid card “%v$” mobile credit top-up reward, redemption code: %v please use it immediately.\",\"kh\":\"សូមអបអរសាទរ អ្នកទទួលបានរង្វាន់កាតបញ្ចូលទូរស័ព្ទ កាតទូរស័ព្ទបង់ប្រាក់ជាមុន “%v$”លេខកូដដោះដូរ %v សូមប្រើវាភ្លាមៗ\"}", + "PermitAwardTitle": "{\"zh\":\"赛季通行证排行榜奖励\",\"vi\":\"赛季通行证排行榜奖励\",\"en\":\"赛季通行证排行榜奖励\",\"kh\":\"赛季通行证排行榜奖励\"}", + "PermitAward": "{\"zh\":\"恭喜您在上个赛季通行证排行中名次达到%v名,排行奖励已发放,请查收\",\"vi\":\"恭喜您在上个赛季通行证排行中名次达到%v名,排行奖励已发放,请查收\",\"en\":\"恭喜您在上个赛季通行证排行中名次达到%v名,排行奖励已发放,请查收\",\"kh\":\"恭喜您在上个赛季通行证排行中名次达到%v名,排行奖励已发放,请查收\"}" } \ No newline at end of file diff --git a/model/gameparam.go b/model/gameparam.go index 93aede1..2bcf0bd 100644 --- a/model/gameparam.go +++ b/model/gameparam.go @@ -81,6 +81,7 @@ type GameParam struct { GameStaticsFightVersion int // 对战场统计数据版本 TestRankMatchAward bool // 测试段位奖励领取通知,直接改玩家排位积分使玩家获得奖励 RankPlayerPermitMaxNum int32 // 赛季通行证积分排行榜最大人数 + PermitInitScore int64 // 赛季通行证初始积分 } var GameParamPath = "../data/gameparam.json" diff --git a/model/player.go b/model/player.go index 12bf622..b5f0c0f 100644 --- a/model/player.go +++ b/model/player.go @@ -563,6 +563,7 @@ type PlayerBaseInfo struct { TelephoneCallNum int32 LastLogoutTime time.Time Roles *RolePetInfo + LastChannel string // 最后包类型 } type PlayerBaseInfo2 struct { @@ -619,6 +620,8 @@ type WebPlayerDataParam struct { PlayerPoolUpper, PlayerPoolLower, PlayerPoolCurrent, PlayerPoolOdds int64 RoleAdded, VipAdded, VipExp int64 Items []*WebItem + IsPermit bool + Long, PermitScore int64 } func ConvertPlayerDataToWebData(param *WebPlayerDataParam) *webapi.PlayerData { @@ -695,6 +698,9 @@ func ConvertPlayerDataToWebData(param *WebPlayerDataParam) *webapi.PlayerData { Name: v.Name, }) } + pdfw.IsPermit = param.IsPermit + pdfw.PermitScore = param.PermitScore + pdfw.Long = param.Long return pdfw } func (this *PlayerData) IsMarkFlag(flag int) bool { diff --git a/protocol/login/login.pb.go b/protocol/login/login.pb.go index cbb7165..bc517af 100644 --- a/protocol/login/login.pb.go +++ b/protocol/login/login.pb.go @@ -1107,6 +1107,7 @@ type SCLogin struct { Token string `protobuf:"bytes,16,opt,name=Token,proto3" json:"Token,omitempty"` // md5(密码+AppId) ClientParam string `protobuf:"bytes,17,opt,name=ClientParam,proto3" json:"ClientParam,omitempty"` // 客户端配置文件 GameSwitch []*EntrySwitch `protobuf:"bytes,18,rep,name=GameSwitch,proto3" json:"GameSwitch,omitempty"` //入口开关 + NextDayTs int64 `protobuf:"varint,19,opt,name=NextDayTs,proto3" json:"NextDayTs,omitempty"` // 服务器的下一天时间戳 } func (x *SCLogin) Reset() { @@ -1267,6 +1268,13 @@ func (x *SCLogin) GetGameSwitch() []*EntrySwitch { return nil } +func (x *SCLogin) GetNextDayTs() int64 { + if x != nil { + return x.NextDayTs + } + return 0 +} + //公告参数 type Bulletion struct { state protoimpl.MessageState @@ -2917,7 +2925,7 @@ var file_login_proto_rawDesc = []byte{ 0x63, 0x68, 0x12, 0x14, 0x0a, 0x05, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x18, 0x02, 0x20, 0x03, 0x28, 0x08, 0x52, 0x06, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, - 0x22, 0xf4, 0x04, 0x0a, 0x07, 0x53, 0x43, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x12, 0x31, 0x0a, 0x09, + 0x22, 0x92, 0x05, 0x0a, 0x07, 0x53, 0x43, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x12, 0x31, 0x0a, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x13, 0x2e, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x2e, 0x4f, 0x70, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, @@ -2956,273 +2964,275 @@ var file_login_proto_rawDesc = []byte{ 0x72, 0x61, 0x6d, 0x12, 0x32, 0x0a, 0x0a, 0x47, 0x61, 0x6d, 0x65, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x18, 0x12, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x2e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x52, 0x0a, 0x47, 0x61, 0x6d, - 0x65, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x22, 0x97, 0x01, 0x0a, 0x09, 0x42, 0x75, 0x6c, 0x6c, - 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x4e, 0x6f, 0x74, 0x69, 0x63, 0x65, 0x54, - 0x69, 0x74, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x4e, 0x6f, 0x74, 0x69, - 0x63, 0x65, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x4e, 0x6f, 0x74, 0x69, 0x63, - 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, - 0x4e, 0x6f, 0x74, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x1e, 0x0a, - 0x0a, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0a, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x12, 0x0a, - 0x04, 0x53, 0x6f, 0x72, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x53, 0x6f, 0x72, - 0x74, 0x22, 0x59, 0x0a, 0x0f, 0x53, 0x43, 0x42, 0x75, 0x6c, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, - 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x02, 0x69, 0x64, 0x12, 0x36, 0x0a, 0x0d, 0x62, 0x75, 0x6c, 0x6c, 0x65, 0x74, 0x69, 0x6f, - 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x6c, 0x6f, - 0x67, 0x69, 0x6e, 0x2e, 0x42, 0x75, 0x6c, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0d, 0x62, - 0x75, 0x6c, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x33, 0x0a, 0x0f, - 0x43, 0x53, 0x42, 0x75, 0x6c, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, - 0x20, 0x0a, 0x0b, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x54, 0x61, 0x67, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x54, 0x61, - 0x67, 0x22, 0xa8, 0x01, 0x0a, 0x08, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x12, 0x0e, - 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x25, - 0x0a, 0x0e, 0x77, 0x65, 0x69, 0x78, 0x69, 0x6e, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x77, 0x65, 0x69, 0x78, 0x69, 0x6e, 0x41, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x68, 0x65, 0x61, 0x64, 0x75, 0x72, 0x6c, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x68, 0x65, 0x61, 0x64, 0x75, 0x72, 0x6c, 0x12, - 0x1a, 0x0a, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x65, - 0x78, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x65, 0x78, 0x74, 0x12, 0x1d, 0x0a, - 0x0a, 0x71, 0x71, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x09, 0x71, 0x71, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x49, 0x0a, 0x12, - 0x53, 0x43, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, - 0x73, 0x74, 0x12, 0x33, 0x0a, 0x0c, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x4c, 0x69, - 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x6c, 0x6f, 0x67, 0x69, 0x6e, - 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x52, 0x0c, 0x63, 0x75, 0x73, 0x74, 0x6f, - 0x6d, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x14, 0x0a, 0x12, 0x43, 0x53, 0x43, 0x75, 0x73, - 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x30, 0x0a, - 0x08, 0x43, 0x53, 0x4c, 0x6f, 0x67, 0x6f, 0x75, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x54, 0x79, 0x70, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x10, 0x0a, - 0x03, 0x53, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x53, 0x69, 0x64, 0x22, - 0x51, 0x0a, 0x08, 0x53, 0x43, 0x4c, 0x6f, 0x67, 0x6f, 0x75, 0x74, 0x12, 0x31, 0x0a, 0x09, 0x4f, - 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x13, - 0x2e, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x2e, 0x4f, 0x70, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, - 0x6f, 0x64, 0x65, 0x52, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x12, - 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x54, 0x79, - 0x70, 0x65, 0x22, 0x11, 0x0a, 0x0f, 0x43, 0x53, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x53, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x22, 0x5f, 0x0a, 0x0f, 0x53, 0x43, 0x43, 0x75, 0x73, 0x74, 0x6f, - 0x6d, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x55, 0x72, 0x6c, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x55, 0x72, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x4f, 0x70, - 0x65, 0x6e, 0x46, 0x6c, 0x61, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x4f, 0x70, - 0x65, 0x6e, 0x46, 0x6c, 0x61, 0x67, 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, - 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x43, 0x75, 0x73, 0x74, - 0x6f, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x22, 0x40, 0x0a, 0x0c, 0x53, 0x53, 0x44, 0x69, 0x73, 0x63, - 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, - 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x53, 0x65, 0x73, 0x73, 0x69, - 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x04, 0x54, 0x79, 0x70, 0x65, 0x22, 0x34, 0x0a, 0x10, 0x43, 0x53, 0x50, 0x6c, - 0x61, 0x74, 0x46, 0x6f, 0x72, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x20, 0x0a, 0x0b, - 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x54, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0b, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x54, 0x61, 0x67, 0x22, 0x79, - 0x0a, 0x09, 0x52, 0x65, 0x62, 0x61, 0x74, 0x65, 0x43, 0x66, 0x67, 0x12, 0x22, 0x0a, 0x0c, 0x52, - 0x65, 0x62, 0x61, 0x74, 0x65, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x0c, 0x52, 0x65, 0x62, 0x61, 0x74, 0x65, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x12, - 0x20, 0x0a, 0x0b, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x4d, 0x6f, 0x64, - 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x4e, 0x6f, 0x74, 0x47, 0x69, 0x76, 0x65, 0x4f, 0x76, 0x65, 0x72, - 0x64, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x4e, 0x6f, 0x74, 0x47, 0x69, - 0x76, 0x65, 0x4f, 0x76, 0x65, 0x72, 0x64, 0x75, 0x65, 0x22, 0x8f, 0x03, 0x0a, 0x07, 0x43, 0x6c, - 0x75, 0x62, 0x43, 0x66, 0x67, 0x12, 0x1e, 0x0a, 0x0a, 0x49, 0x73, 0x4f, 0x70, 0x65, 0x6e, 0x43, - 0x6c, 0x75, 0x62, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x49, 0x73, 0x4f, 0x70, 0x65, - 0x6e, 0x43, 0x6c, 0x75, 0x62, 0x12, 0x22, 0x0a, 0x0c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x43, 0x6f, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x69, 0x6e, 0x12, 0x22, 0x0a, 0x0c, 0x49, 0x6e, 0x63, - 0x72, 0x65, 0x61, 0x73, 0x65, 0x43, 0x6f, 0x69, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, - 0x0c, 0x49, 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x43, 0x6f, 0x69, 0x6e, 0x12, 0x2c, 0x0a, - 0x11, 0x43, 0x6c, 0x75, 0x62, 0x49, 0x6e, 0x69, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4e, - 0x75, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x11, 0x43, 0x6c, 0x75, 0x62, 0x49, 0x6e, - 0x69, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x12, 0x2c, 0x0a, 0x11, 0x49, - 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4e, 0x75, 0x6d, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x11, 0x49, 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, - 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x12, 0x38, 0x0a, 0x17, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x43, 0x6c, 0x75, 0x62, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x42, 0x79, 0x4d, 0x61, - 0x6e, 0x75, 0x61, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x17, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x43, 0x6c, 0x75, 0x62, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x42, 0x79, 0x4d, 0x61, 0x6e, - 0x75, 0x61, 0x6c, 0x12, 0x36, 0x0a, 0x16, 0x45, 0x64, 0x69, 0x74, 0x43, 0x6c, 0x75, 0x62, 0x4e, - 0x6f, 0x74, 0x69, 0x63, 0x65, 0x42, 0x79, 0x4d, 0x61, 0x6e, 0x75, 0x61, 0x6c, 0x18, 0x07, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x16, 0x45, 0x64, 0x69, 0x74, 0x43, 0x6c, 0x75, 0x62, 0x4e, 0x6f, 0x74, - 0x69, 0x63, 0x65, 0x42, 0x79, 0x4d, 0x61, 0x6e, 0x75, 0x61, 0x6c, 0x12, 0x2a, 0x0a, 0x10, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x6f, 0x6d, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, - 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x10, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x6f, - 0x6d, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x47, 0x69, 0x76, 0x65, 0x43, - 0x6f, 0x69, 0x6e, 0x52, 0x61, 0x74, 0x65, 0x18, 0x09, 0x20, 0x03, 0x28, 0x03, 0x52, 0x0c, 0x47, - 0x69, 0x76, 0x65, 0x43, 0x6f, 0x69, 0x6e, 0x52, 0x61, 0x74, 0x65, 0x22, 0x81, 0x05, 0x0a, 0x10, - 0x53, 0x43, 0x50, 0x6c, 0x61, 0x74, 0x46, 0x6f, 0x72, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x31, 0x0a, 0x09, - 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, - 0x13, 0x2e, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x2e, 0x4f, 0x70, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, - 0x43, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, - 0x36, 0x0a, 0x16, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x47, 0x69, 0x76, 0x65, 0x43, 0x6f, 0x69, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x16, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x47, - 0x69, 0x76, 0x65, 0x43, 0x6f, 0x69, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x45, 0x78, 0x63, 0x68, 0x61, - 0x6e, 0x67, 0x65, 0x4d, 0x69, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x45, 0x78, - 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4d, 0x69, 0x6e, 0x12, 0x24, 0x0a, 0x0d, 0x45, 0x78, 0x63, - 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x0d, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, - 0x20, 0x0a, 0x0b, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x61, 0x78, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x61, - 0x78, 0x12, 0x1a, 0x0a, 0x08, 0x56, 0x69, 0x70, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x07, 0x20, - 0x03, 0x28, 0x05, 0x52, 0x08, 0x56, 0x69, 0x70, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x20, 0x0a, - 0x0b, 0x4f, 0x74, 0x68, 0x65, 0x72, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x08, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0b, 0x4f, 0x74, 0x68, 0x65, 0x72, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, - 0x22, 0x0a, 0x0c, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x46, 0x6c, 0x6f, 0x77, 0x18, - 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x46, - 0x6c, 0x6f, 0x77, 0x12, 0x22, 0x0a, 0x0c, 0x53, 0x70, 0x72, 0x65, 0x61, 0x64, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x53, 0x70, 0x72, 0x65, 0x61, - 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x24, 0x0a, 0x0d, 0x43, 0x75, 0x73, 0x74, 0x6f, - 0x6d, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, - 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x28, 0x0a, - 0x06, 0x52, 0x65, 0x62, 0x61, 0x74, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, - 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x2e, 0x52, 0x65, 0x62, 0x61, 0x74, 0x65, 0x43, 0x66, 0x67, 0x52, - 0x06, 0x52, 0x65, 0x62, 0x61, 0x74, 0x65, 0x12, 0x22, 0x0a, 0x04, 0x43, 0x6c, 0x75, 0x62, 0x18, - 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x2e, 0x43, 0x6c, - 0x75, 0x62, 0x43, 0x66, 0x67, 0x52, 0x04, 0x43, 0x6c, 0x75, 0x62, 0x12, 0x28, 0x0a, 0x0f, 0x45, - 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x42, 0x61, 0x6e, 0x6b, 0x4d, 0x61, 0x78, 0x18, 0x0e, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x42, 0x61, - 0x6e, 0x6b, 0x4d, 0x61, 0x78, 0x12, 0x2c, 0x0a, 0x11, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, - 0x65, 0x41, 0x6c, 0x69, 0x70, 0x61, 0x79, 0x4d, 0x61, 0x78, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x11, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x41, 0x6c, 0x69, 0x70, 0x61, 0x79, - 0x4d, 0x61, 0x78, 0x12, 0x2a, 0x0a, 0x10, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4d, - 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x45, - 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x22, - 0x44, 0x0a, 0x0f, 0x53, 0x43, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x43, 0x68, 0x65, - 0x63, 0x6b, 0x12, 0x31, 0x0a, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x13, 0x2e, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x2e, 0x4f, 0x70, - 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x4f, 0x70, 0x52, 0x65, - 0x74, 0x43, 0x6f, 0x64, 0x65, 0x22, 0x42, 0x0a, 0x0c, 0x43, 0x53, 0x56, 0x65, 0x72, 0x69, 0x66, - 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, - 0x6d, 0x54, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x50, 0x6c, 0x61, 0x74, - 0x66, 0x6f, 0x72, 0x6d, 0x54, 0x61, 0x67, 0x12, 0x10, 0x0a, 0x03, 0x54, 0x65, 0x6c, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x54, 0x65, 0x6c, 0x22, 0x61, 0x0a, 0x0c, 0x53, 0x43, 0x56, - 0x65, 0x72, 0x69, 0x66, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x31, 0x0a, 0x09, 0x4f, 0x70, 0x52, + 0x65, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x12, 0x1c, 0x0a, 0x09, 0x4e, 0x65, 0x78, 0x74, 0x44, + 0x61, 0x79, 0x54, 0x73, 0x18, 0x13, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x4e, 0x65, 0x78, 0x74, + 0x44, 0x61, 0x79, 0x54, 0x73, 0x22, 0x97, 0x01, 0x0a, 0x09, 0x42, 0x75, 0x6c, 0x6c, 0x65, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x02, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x4e, 0x6f, 0x74, 0x69, 0x63, 0x65, 0x54, 0x69, 0x74, + 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x4e, 0x6f, 0x74, 0x69, 0x63, 0x65, + 0x54, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x4e, 0x6f, 0x74, 0x69, 0x63, 0x65, 0x43, + 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x4e, 0x6f, + 0x74, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0a, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x53, + 0x6f, 0x72, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x53, 0x6f, 0x72, 0x74, 0x22, + 0x59, 0x0a, 0x0f, 0x53, 0x43, 0x42, 0x75, 0x6c, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, + 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, + 0x69, 0x64, 0x12, 0x36, 0x0a, 0x0d, 0x62, 0x75, 0x6c, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x4c, + 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x6c, 0x6f, 0x67, 0x69, + 0x6e, 0x2e, 0x42, 0x75, 0x6c, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0d, 0x62, 0x75, 0x6c, + 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x33, 0x0a, 0x0f, 0x43, 0x53, + 0x42, 0x75, 0x6c, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x20, 0x0a, + 0x0b, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x54, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0b, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x54, 0x61, 0x67, 0x22, + 0xa8, 0x01, 0x0a, 0x08, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x12, 0x0e, 0x0a, 0x02, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x25, 0x0a, 0x0e, + 0x77, 0x65, 0x69, 0x78, 0x69, 0x6e, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x77, 0x65, 0x69, 0x78, 0x69, 0x6e, 0x41, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x68, 0x65, 0x61, 0x64, 0x75, 0x72, 0x6c, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x68, 0x65, 0x61, 0x64, 0x75, 0x72, 0x6c, 0x12, 0x1a, 0x0a, + 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x65, 0x78, 0x74, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x65, 0x78, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x71, + 0x71, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x09, 0x71, 0x71, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x49, 0x0a, 0x12, 0x53, 0x43, + 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, + 0x12, 0x33, 0x0a, 0x0c, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x2e, 0x43, + 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x52, 0x0c, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, + 0x72, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x14, 0x0a, 0x12, 0x43, 0x53, 0x43, 0x75, 0x73, 0x74, 0x6f, + 0x6d, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x30, 0x0a, 0x08, 0x43, + 0x53, 0x4c, 0x6f, 0x67, 0x6f, 0x75, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x53, + 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x53, 0x69, 0x64, 0x22, 0x51, 0x0a, + 0x08, 0x53, 0x43, 0x4c, 0x6f, 0x67, 0x6f, 0x75, 0x74, 0x12, 0x31, 0x0a, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x13, 0x2e, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x2e, 0x4f, 0x70, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, - 0x65, 0x52, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x1e, 0x0a, 0x0a, - 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x0a, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x54, 0x79, 0x70, 0x65, 0x22, 0x38, 0x0a, 0x14, - 0x43, 0x53, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, - 0x54, 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, - 0x54, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x50, 0x6c, 0x61, 0x74, 0x66, - 0x6f, 0x72, 0x6d, 0x54, 0x61, 0x67, 0x22, 0x69, 0x0a, 0x14, 0x53, 0x43, 0x52, 0x65, 0x67, 0x69, - 0x73, 0x74, 0x65, 0x72, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x31, - 0x0a, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x13, 0x2e, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x2e, 0x4f, 0x70, 0x52, 0x65, 0x73, 0x75, - 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, - 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x54, 0x79, 0x70, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x54, 0x79, 0x70, - 0x65, 0x22, 0x37, 0x0a, 0x0e, 0x53, 0x43, 0x53, 0x79, 0x6e, 0x63, 0x47, 0x61, 0x6d, 0x65, 0x46, - 0x72, 0x65, 0x65, 0x12, 0x25, 0x0a, 0x04, 0x44, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x11, 0x2e, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x2e, 0x47, 0x61, 0x6d, 0x65, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x52, 0x04, 0x44, 0x61, 0x74, 0x61, 0x22, 0x34, 0x0a, 0x0e, 0x53, 0x43, - 0x41, 0x63, 0x74, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x43, 0x66, 0x67, 0x12, 0x22, 0x0a, 0x0c, - 0x41, 0x63, 0x74, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x43, 0x66, 0x67, 0x18, 0x01, 0x20, 0x03, - 0x28, 0x05, 0x52, 0x0c, 0x41, 0x63, 0x74, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x43, 0x66, 0x67, - 0x22, 0x47, 0x0a, 0x0f, 0x43, 0x53, 0x47, 0x65, 0x74, 0x54, 0x68, 0x72, 0x47, 0x61, 0x6d, 0x65, - 0x43, 0x66, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, - 0x18, 0x0a, 0x07, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x07, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x22, 0x4c, 0x0a, 0x0f, 0x53, 0x43, 0x47, - 0x65, 0x74, 0x54, 0x68, 0x72, 0x47, 0x61, 0x6d, 0x65, 0x43, 0x66, 0x67, 0x12, 0x39, 0x0a, 0x0a, - 0x54, 0x68, 0x72, 0x47, 0x61, 0x6d, 0x65, 0x43, 0x66, 0x67, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x19, 0x2e, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x2e, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x54, 0x68, - 0x72, 0x47, 0x61, 0x6d, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0a, 0x54, 0x68, 0x72, - 0x47, 0x61, 0x6d, 0x65, 0x43, 0x66, 0x67, 0x22, 0x24, 0x0a, 0x10, 0x43, 0x53, 0x41, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x41, - 0x63, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x41, 0x63, 0x63, 0x2a, 0xf7, 0x03, - 0x0a, 0x0c, 0x4f, 0x70, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x0f, - 0x0a, 0x0b, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x53, 0x75, 0x63, 0x65, 0x73, 0x73, 0x10, 0x00, 0x12, - 0x0e, 0x0a, 0x0a, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0x01, 0x12, - 0x15, 0x0a, 0x10, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x46, 0x61, 0x69, - 0x6c, 0x65, 0x64, 0x10, 0xe8, 0x07, 0x12, 0x16, 0x0a, 0x11, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x4c, - 0x6f, 0x67, 0x69, 0x6e, 0x53, 0x69, 0x67, 0x6e, 0x45, 0x72, 0x72, 0x10, 0xe9, 0x07, 0x12, 0x19, - 0x0a, 0x14, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x4f, 0x74, 0x68, 0x65, - 0x72, 0x50, 0x6c, 0x61, 0x63, 0x65, 0x10, 0xea, 0x07, 0x12, 0x18, 0x0a, 0x13, 0x4f, 0x50, 0x52, - 0x43, 0x5f, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x50, 0x61, 0x73, 0x73, 0x45, 0x72, 0x72, 0x6f, 0x72, - 0x10, 0xeb, 0x07, 0x12, 0x20, 0x0a, 0x1b, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x4c, 0x6f, 0x67, 0x69, - 0x6e, 0x5f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x53, 0x75, 0x63, 0x63, 0x65, - 0x73, 0x73, 0x10, 0xec, 0x07, 0x12, 0x1e, 0x0a, 0x19, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x4c, 0x6f, - 0x67, 0x69, 0x6e, 0x5f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x45, 0x72, 0x72, - 0x6f, 0x72, 0x10, 0xed, 0x07, 0x12, 0x18, 0x0a, 0x13, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x4c, 0x6f, - 0x67, 0x69, 0x6e, 0x5f, 0x4e, 0x61, 0x6d, 0x65, 0x4c, 0x61, 0x6e, 0x67, 0x10, 0xee, 0x07, 0x12, - 0x18, 0x0a, 0x13, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x5f, 0x4e, 0x61, - 0x6d, 0x65, 0x53, 0x61, 0x6d, 0x65, 0x10, 0xef, 0x07, 0x12, 0x19, 0x0a, 0x14, 0x4f, 0x50, 0x52, - 0x43, 0x5f, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x5f, 0x4e, 0x61, 0x6d, 0x65, 0x45, 0x72, 0x72, 0x6f, - 0x72, 0x10, 0xf0, 0x07, 0x12, 0x1c, 0x0a, 0x17, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x4c, 0x6f, 0x67, - 0x69, 0x6e, 0x5f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x10, - 0xf1, 0x07, 0x12, 0x19, 0x0a, 0x14, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x41, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x42, 0x65, 0x46, 0x72, 0x65, 0x65, 0x7a, 0x65, 0x10, 0xf2, 0x07, 0x12, 0x19, 0x0a, - 0x14, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x59, 0x6f, 0x75, 0x72, 0x52, 0x65, 0x73, 0x56, 0x65, 0x72, - 0x49, 0x73, 0x4c, 0x6f, 0x77, 0x10, 0x94, 0x08, 0x12, 0x19, 0x0a, 0x14, 0x4f, 0x50, 0x52, 0x43, - 0x5f, 0x59, 0x6f, 0x75, 0x72, 0x41, 0x70, 0x70, 0x56, 0x65, 0x72, 0x49, 0x73, 0x4c, 0x6f, 0x77, - 0x10, 0x95, 0x08, 0x12, 0x1d, 0x0a, 0x18, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x53, 0x63, 0x65, 0x6e, - 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4d, 0x61, 0x69, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x10, - 0x9e, 0x08, 0x12, 0x12, 0x0a, 0x0d, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x54, 0x65, 0x6c, 0x45, 0x72, - 0x72, 0x6f, 0x72, 0x10, 0xa9, 0x08, 0x12, 0x17, 0x0a, 0x12, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x54, - 0x65, 0x6c, 0x43, 0x6f, 0x64, 0x65, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x10, 0xaa, 0x08, 0x12, - 0x16, 0x0a, 0x11, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x54, 0x65, 0x6c, 0x43, 0x6f, 0x64, 0x65, 0x45, - 0x72, 0x72, 0x6f, 0x72, 0x10, 0xab, 0x08, 0x2a, 0xbc, 0x05, 0x0a, 0x0d, 0x4c, 0x6f, 0x67, 0x69, - 0x6e, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x49, 0x44, 0x12, 0x15, 0x0a, 0x11, 0x50, 0x41, 0x43, - 0x4b, 0x45, 0x54, 0x5f, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x5f, 0x5a, 0x45, 0x52, 0x4f, 0x10, 0x00, - 0x12, 0x14, 0x0a, 0x0f, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x4c, 0x4f, - 0x47, 0x49, 0x4e, 0x10, 0x83, 0x10, 0x12, 0x14, 0x0a, 0x0f, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, - 0x5f, 0x53, 0x43, 0x5f, 0x4c, 0x4f, 0x47, 0x49, 0x4e, 0x10, 0x84, 0x10, 0x12, 0x15, 0x0a, 0x10, - 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x4c, 0x4f, 0x47, 0x4f, 0x55, 0x54, - 0x10, 0x85, 0x10, 0x12, 0x15, 0x0a, 0x10, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, - 0x5f, 0x4c, 0x4f, 0x47, 0x4f, 0x55, 0x54, 0x10, 0x86, 0x10, 0x12, 0x19, 0x0a, 0x14, 0x50, 0x41, - 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x47, 0x41, 0x4d, 0x45, 0x43, 0x4f, 0x4e, 0x46, - 0x49, 0x47, 0x10, 0x87, 0x10, 0x12, 0x1c, 0x0a, 0x17, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, - 0x53, 0x43, 0x5f, 0x42, 0x55, 0x4c, 0x4c, 0x45, 0x54, 0x49, 0x4f, 0x4e, 0x49, 0x4e, 0x46, 0x4f, - 0x10, 0x88, 0x10, 0x12, 0x1c, 0x0a, 0x17, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, - 0x5f, 0x42, 0x55, 0x4c, 0x4c, 0x45, 0x54, 0x49, 0x4f, 0x4e, 0x49, 0x4e, 0x46, 0x4f, 0x10, 0x89, - 0x10, 0x12, 0x1f, 0x0a, 0x1a, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x43, - 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x45, 0x52, 0x49, 0x4e, 0x46, 0x4f, 0x4c, 0x49, 0x53, 0x54, 0x10, - 0x8a, 0x10, 0x12, 0x1f, 0x0a, 0x1a, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, - 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x45, 0x52, 0x49, 0x4e, 0x46, 0x4f, 0x4c, 0x49, 0x53, 0x54, - 0x10, 0x8b, 0x10, 0x12, 0x1c, 0x0a, 0x17, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, - 0x5f, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x53, 0x45, 0x52, 0x56, 0x49, 0x43, 0x45, 0x10, 0x8c, - 0x10, 0x12, 0x1c, 0x0a, 0x17, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x43, - 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x53, 0x45, 0x52, 0x56, 0x49, 0x43, 0x45, 0x10, 0x8d, 0x10, 0x12, - 0x1a, 0x0a, 0x15, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x50, 0x4c, 0x41, - 0x54, 0x46, 0x4f, 0x52, 0x4d, 0x43, 0x46, 0x47, 0x10, 0x8e, 0x10, 0x12, 0x1a, 0x0a, 0x15, 0x50, - 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x50, 0x4c, 0x41, 0x54, 0x46, 0x4f, 0x52, - 0x4d, 0x43, 0x46, 0x47, 0x10, 0x8f, 0x10, 0x12, 0x1c, 0x0a, 0x17, 0x50, 0x41, 0x43, 0x4b, 0x45, - 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x49, 0x54, 0x59, 0x43, 0x48, 0x45, - 0x43, 0x4b, 0x10, 0x90, 0x10, 0x12, 0x19, 0x0a, 0x14, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, - 0x43, 0x53, 0x5f, 0x56, 0x45, 0x52, 0x49, 0x46, 0x59, 0x54, 0x59, 0x50, 0x45, 0x10, 0x91, 0x10, - 0x12, 0x19, 0x0a, 0x14, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x56, 0x45, - 0x52, 0x49, 0x46, 0x59, 0x54, 0x59, 0x50, 0x45, 0x10, 0x92, 0x10, 0x12, 0x21, 0x0a, 0x1c, 0x50, - 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x52, 0x45, 0x47, 0x49, 0x53, 0x54, 0x45, - 0x52, 0x56, 0x45, 0x52, 0x49, 0x46, 0x59, 0x54, 0x59, 0x50, 0x45, 0x10, 0x93, 0x10, 0x12, 0x21, - 0x0a, 0x1c, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x52, 0x45, 0x47, 0x49, - 0x53, 0x54, 0x45, 0x52, 0x56, 0x45, 0x52, 0x49, 0x46, 0x59, 0x54, 0x59, 0x50, 0x45, 0x10, 0x94, - 0x10, 0x12, 0x1b, 0x0a, 0x16, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x53, - 0x59, 0x4e, 0x43, 0x47, 0x41, 0x4d, 0x45, 0x46, 0x52, 0x45, 0x45, 0x10, 0x95, 0x10, 0x12, 0x1b, - 0x0a, 0x16, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x41, 0x43, 0x54, 0x53, - 0x57, 0x49, 0x54, 0x43, 0x48, 0x43, 0x46, 0x47, 0x10, 0x96, 0x10, 0x12, 0x1c, 0x0a, 0x17, 0x50, - 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x47, 0x45, 0x54, 0x54, 0x48, 0x52, 0x47, - 0x41, 0x4d, 0x45, 0x43, 0x46, 0x47, 0x10, 0x97, 0x10, 0x12, 0x1c, 0x0a, 0x17, 0x50, 0x41, 0x43, - 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x47, 0x45, 0x54, 0x54, 0x48, 0x52, 0x47, 0x41, 0x4d, - 0x45, 0x43, 0x46, 0x47, 0x10, 0x98, 0x10, 0x12, 0x1d, 0x0a, 0x18, 0x50, 0x41, 0x43, 0x4b, 0x45, - 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x41, 0x43, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x49, 0x4e, 0x56, 0x41, - 0x4c, 0x49, 0x44, 0x10, 0x99, 0x10, 0x2a, 0xbf, 0x01, 0x0a, 0x14, 0x53, 0x53, 0x44, 0x69, 0x73, - 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x12, - 0x0e, 0x0a, 0x0a, 0x53, 0x53, 0x44, 0x54, 0x43, 0x5f, 0x5a, 0x45, 0x52, 0x4f, 0x10, 0x00, 0x12, - 0x11, 0x0a, 0x0d, 0x53, 0x53, 0x44, 0x54, 0x43, 0x5f, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, - 0x10, 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x53, 0x53, 0x44, 0x54, 0x43, 0x5f, 0x46, 0x72, 0x65, 0x65, - 0x7a, 0x65, 0x10, 0x02, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x53, 0x44, 0x54, 0x43, 0x5f, 0x53, 0x65, - 0x72, 0x76, 0x65, 0x72, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0x03, 0x12, 0x1b, 0x0a, 0x17, 0x53, - 0x53, 0x44, 0x54, 0x43, 0x5f, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4d, 0x61, 0x69, 0x6e, 0x74, - 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x10, 0x04, 0x12, 0x13, 0x0a, 0x0f, 0x53, 0x53, 0x44, 0x54, - 0x43, 0x5f, 0x52, 0x65, 0x73, 0x56, 0x65, 0x72, 0x4c, 0x6f, 0x77, 0x10, 0x05, 0x12, 0x14, 0x0a, - 0x10, 0x53, 0x53, 0x44, 0x54, 0x43, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x56, 0x65, 0x72, 0x4c, 0x6f, - 0x77, 0x10, 0x06, 0x12, 0x13, 0x0a, 0x0f, 0x53, 0x53, 0x44, 0x54, 0x43, 0x5f, 0x42, 0x6c, 0x61, - 0x63, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x10, 0x07, 0x42, 0x25, 0x5a, 0x23, 0x6d, 0x6f, 0x6e, 0x67, - 0x6f, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x61, 0x6d, 0x65, - 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2f, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x62, - 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x65, 0x52, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x12, 0x0a, 0x04, + 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x54, 0x79, 0x70, 0x65, + 0x22, 0x11, 0x0a, 0x0f, 0x43, 0x53, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x53, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x22, 0x5f, 0x0a, 0x0f, 0x53, 0x43, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x53, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x55, 0x72, 0x6c, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x03, 0x55, 0x72, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x4f, 0x70, 0x65, 0x6e, + 0x46, 0x6c, 0x61, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x4f, 0x70, 0x65, 0x6e, + 0x46, 0x6c, 0x61, 0x67, 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x54, 0x79, + 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, + 0x54, 0x79, 0x70, 0x65, 0x22, 0x40, 0x0a, 0x0c, 0x53, 0x53, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, + 0x6e, 0x65, 0x63, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, + 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x04, 0x54, 0x79, 0x70, 0x65, 0x22, 0x34, 0x0a, 0x10, 0x43, 0x53, 0x50, 0x6c, 0x61, 0x74, + 0x46, 0x6f, 0x72, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x20, 0x0a, 0x0b, 0x50, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x54, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0b, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x54, 0x61, 0x67, 0x22, 0x79, 0x0a, 0x09, + 0x52, 0x65, 0x62, 0x61, 0x74, 0x65, 0x43, 0x66, 0x67, 0x12, 0x22, 0x0a, 0x0c, 0x52, 0x65, 0x62, + 0x61, 0x74, 0x65, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x0c, 0x52, 0x65, 0x62, 0x61, 0x74, 0x65, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x12, 0x20, 0x0a, + 0x0b, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x0b, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x12, + 0x26, 0x0a, 0x0e, 0x4e, 0x6f, 0x74, 0x47, 0x69, 0x76, 0x65, 0x4f, 0x76, 0x65, 0x72, 0x64, 0x75, + 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x4e, 0x6f, 0x74, 0x47, 0x69, 0x76, 0x65, + 0x4f, 0x76, 0x65, 0x72, 0x64, 0x75, 0x65, 0x22, 0x8f, 0x03, 0x0a, 0x07, 0x43, 0x6c, 0x75, 0x62, + 0x43, 0x66, 0x67, 0x12, 0x1e, 0x0a, 0x0a, 0x49, 0x73, 0x4f, 0x70, 0x65, 0x6e, 0x43, 0x6c, 0x75, + 0x62, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x49, 0x73, 0x4f, 0x70, 0x65, 0x6e, 0x43, + 0x6c, 0x75, 0x62, 0x12, 0x22, 0x0a, 0x0c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, + 0x6f, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x69, 0x6e, 0x12, 0x22, 0x0a, 0x0c, 0x49, 0x6e, 0x63, 0x72, 0x65, + 0x61, 0x73, 0x65, 0x43, 0x6f, 0x69, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x49, + 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x43, 0x6f, 0x69, 0x6e, 0x12, 0x2c, 0x0a, 0x11, 0x43, + 0x6c, 0x75, 0x62, 0x49, 0x6e, 0x69, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4e, 0x75, 0x6d, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x11, 0x43, 0x6c, 0x75, 0x62, 0x49, 0x6e, 0x69, 0x74, + 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x12, 0x2c, 0x0a, 0x11, 0x49, 0x6e, 0x63, + 0x72, 0x65, 0x61, 0x73, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x11, 0x49, 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x50, 0x6c, + 0x61, 0x79, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x12, 0x38, 0x0a, 0x17, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x43, 0x6c, 0x75, 0x62, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x42, 0x79, 0x4d, 0x61, 0x6e, 0x75, + 0x61, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x17, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x43, 0x6c, 0x75, 0x62, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x42, 0x79, 0x4d, 0x61, 0x6e, 0x75, 0x61, + 0x6c, 0x12, 0x36, 0x0a, 0x16, 0x45, 0x64, 0x69, 0x74, 0x43, 0x6c, 0x75, 0x62, 0x4e, 0x6f, 0x74, + 0x69, 0x63, 0x65, 0x42, 0x79, 0x4d, 0x61, 0x6e, 0x75, 0x61, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x16, 0x45, 0x64, 0x69, 0x74, 0x43, 0x6c, 0x75, 0x62, 0x4e, 0x6f, 0x74, 0x69, 0x63, + 0x65, 0x42, 0x79, 0x4d, 0x61, 0x6e, 0x75, 0x61, 0x6c, 0x12, 0x2a, 0x0a, 0x10, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x52, 0x6f, 0x6f, 0x6d, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x08, 0x20, + 0x01, 0x28, 0x03, 0x52, 0x10, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x6f, 0x6d, 0x41, + 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x47, 0x69, 0x76, 0x65, 0x43, 0x6f, 0x69, + 0x6e, 0x52, 0x61, 0x74, 0x65, 0x18, 0x09, 0x20, 0x03, 0x28, 0x03, 0x52, 0x0c, 0x47, 0x69, 0x76, + 0x65, 0x43, 0x6f, 0x69, 0x6e, 0x52, 0x61, 0x74, 0x65, 0x22, 0x81, 0x05, 0x0a, 0x10, 0x53, 0x43, + 0x50, 0x6c, 0x61, 0x74, 0x46, 0x6f, 0x72, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1a, + 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x31, 0x0a, 0x09, 0x4f, 0x70, + 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x13, 0x2e, + 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x2e, 0x4f, 0x70, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, + 0x64, 0x65, 0x52, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x36, 0x0a, + 0x16, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x47, + 0x69, 0x76, 0x65, 0x43, 0x6f, 0x69, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x16, 0x55, + 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x47, 0x69, 0x76, + 0x65, 0x43, 0x6f, 0x69, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, + 0x65, 0x4d, 0x69, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x45, 0x78, 0x63, 0x68, + 0x61, 0x6e, 0x67, 0x65, 0x4d, 0x69, 0x6e, 0x12, 0x24, 0x0a, 0x0d, 0x45, 0x78, 0x63, 0x68, 0x61, + 0x6e, 0x67, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, + 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x20, 0x0a, + 0x0b, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x61, 0x78, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x0b, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x61, 0x78, 0x12, + 0x1a, 0x0a, 0x08, 0x56, 0x69, 0x70, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x07, 0x20, 0x03, 0x28, + 0x05, 0x52, 0x08, 0x56, 0x69, 0x70, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x4f, + 0x74, 0x68, 0x65, 0x72, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0b, 0x4f, 0x74, 0x68, 0x65, 0x72, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x22, 0x0a, + 0x0c, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x46, 0x6c, 0x6f, 0x77, 0x18, 0x09, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x0c, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x46, 0x6c, 0x6f, + 0x77, 0x12, 0x22, 0x0a, 0x0c, 0x53, 0x70, 0x72, 0x65, 0x61, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x53, 0x70, 0x72, 0x65, 0x61, 0x64, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x24, 0x0a, 0x0d, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x53, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x43, 0x75, + 0x73, 0x74, 0x6f, 0x6d, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x28, 0x0a, 0x06, 0x52, + 0x65, 0x62, 0x61, 0x74, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x6c, 0x6f, + 0x67, 0x69, 0x6e, 0x2e, 0x52, 0x65, 0x62, 0x61, 0x74, 0x65, 0x43, 0x66, 0x67, 0x52, 0x06, 0x52, + 0x65, 0x62, 0x61, 0x74, 0x65, 0x12, 0x22, 0x0a, 0x04, 0x43, 0x6c, 0x75, 0x62, 0x18, 0x0d, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x2e, 0x43, 0x6c, 0x75, 0x62, + 0x43, 0x66, 0x67, 0x52, 0x04, 0x43, 0x6c, 0x75, 0x62, 0x12, 0x28, 0x0a, 0x0f, 0x45, 0x78, 0x63, + 0x68, 0x61, 0x6e, 0x67, 0x65, 0x42, 0x61, 0x6e, 0x6b, 0x4d, 0x61, 0x78, 0x18, 0x0e, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x0f, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x42, 0x61, 0x6e, 0x6b, + 0x4d, 0x61, 0x78, 0x12, 0x2c, 0x0a, 0x11, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x41, + 0x6c, 0x69, 0x70, 0x61, 0x79, 0x4d, 0x61, 0x78, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x11, + 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x41, 0x6c, 0x69, 0x70, 0x61, 0x79, 0x4d, 0x61, + 0x78, 0x12, 0x2a, 0x0a, 0x10, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4d, 0x75, 0x6c, + 0x74, 0x69, 0x70, 0x6c, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x45, 0x78, 0x63, + 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x22, 0x44, 0x0a, + 0x0f, 0x53, 0x43, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x43, 0x68, 0x65, 0x63, 0x6b, + 0x12, 0x31, 0x0a, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0e, 0x32, 0x13, 0x2e, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x2e, 0x4f, 0x70, 0x52, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, + 0x6f, 0x64, 0x65, 0x22, 0x42, 0x0a, 0x0c, 0x43, 0x53, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x54, + 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x54, + 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x54, 0x61, 0x67, 0x12, 0x10, 0x0a, 0x03, 0x54, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x03, 0x54, 0x65, 0x6c, 0x22, 0x61, 0x0a, 0x0c, 0x53, 0x43, 0x56, 0x65, 0x72, + 0x69, 0x66, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x31, 0x0a, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, + 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x13, 0x2e, 0x6c, 0x6f, 0x67, + 0x69, 0x6e, 0x2e, 0x4f, 0x70, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x52, + 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x56, 0x65, + 0x72, 0x69, 0x66, 0x79, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, + 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x54, 0x79, 0x70, 0x65, 0x22, 0x38, 0x0a, 0x14, 0x43, 0x53, + 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x54, 0x79, + 0x70, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x54, 0x61, + 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x54, 0x61, 0x67, 0x22, 0x69, 0x0a, 0x14, 0x53, 0x43, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, + 0x65, 0x72, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x31, 0x0a, 0x09, + 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x13, 0x2e, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x2e, 0x4f, 0x70, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, + 0x43, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, + 0x1e, 0x0a, 0x0a, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x0a, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x54, 0x79, 0x70, 0x65, 0x22, + 0x37, 0x0a, 0x0e, 0x53, 0x43, 0x53, 0x79, 0x6e, 0x63, 0x47, 0x61, 0x6d, 0x65, 0x46, 0x72, 0x65, + 0x65, 0x12, 0x25, 0x0a, 0x04, 0x44, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x11, 0x2e, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x2e, 0x47, 0x61, 0x6d, 0x65, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x52, 0x04, 0x44, 0x61, 0x74, 0x61, 0x22, 0x34, 0x0a, 0x0e, 0x53, 0x43, 0x41, 0x63, + 0x74, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x43, 0x66, 0x67, 0x12, 0x22, 0x0a, 0x0c, 0x41, 0x63, + 0x74, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x43, 0x66, 0x67, 0x18, 0x01, 0x20, 0x03, 0x28, 0x05, + 0x52, 0x0c, 0x41, 0x63, 0x74, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x43, 0x66, 0x67, 0x22, 0x47, + 0x0a, 0x0f, 0x43, 0x53, 0x47, 0x65, 0x74, 0x54, 0x68, 0x72, 0x47, 0x61, 0x6d, 0x65, 0x43, 0x66, + 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x18, 0x0a, + 0x07, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, + 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x22, 0x4c, 0x0a, 0x0f, 0x53, 0x43, 0x47, 0x65, 0x74, + 0x54, 0x68, 0x72, 0x47, 0x61, 0x6d, 0x65, 0x43, 0x66, 0x67, 0x12, 0x39, 0x0a, 0x0a, 0x54, 0x68, + 0x72, 0x47, 0x61, 0x6d, 0x65, 0x43, 0x66, 0x67, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, + 0x2e, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x2e, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x54, 0x68, 0x72, 0x47, + 0x61, 0x6d, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0a, 0x54, 0x68, 0x72, 0x47, 0x61, + 0x6d, 0x65, 0x43, 0x66, 0x67, 0x22, 0x24, 0x0a, 0x10, 0x43, 0x53, 0x41, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x41, 0x63, 0x63, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x41, 0x63, 0x63, 0x2a, 0xf7, 0x03, 0x0a, 0x0c, + 0x4f, 0x70, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x0f, 0x0a, 0x0b, + 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x53, 0x75, 0x63, 0x65, 0x73, 0x73, 0x10, 0x00, 0x12, 0x0e, 0x0a, + 0x0a, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0x01, 0x12, 0x15, 0x0a, + 0x10, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x46, 0x61, 0x69, 0x6c, 0x65, + 0x64, 0x10, 0xe8, 0x07, 0x12, 0x16, 0x0a, 0x11, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x4c, 0x6f, 0x67, + 0x69, 0x6e, 0x53, 0x69, 0x67, 0x6e, 0x45, 0x72, 0x72, 0x10, 0xe9, 0x07, 0x12, 0x19, 0x0a, 0x14, + 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x4f, 0x74, 0x68, 0x65, 0x72, 0x50, + 0x6c, 0x61, 0x63, 0x65, 0x10, 0xea, 0x07, 0x12, 0x18, 0x0a, 0x13, 0x4f, 0x50, 0x52, 0x43, 0x5f, + 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x50, 0x61, 0x73, 0x73, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0xeb, + 0x07, 0x12, 0x20, 0x0a, 0x1b, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x5f, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x10, 0xec, 0x07, 0x12, 0x1e, 0x0a, 0x19, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x4c, 0x6f, 0x67, 0x69, + 0x6e, 0x5f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x45, 0x72, 0x72, 0x6f, 0x72, + 0x10, 0xed, 0x07, 0x12, 0x18, 0x0a, 0x13, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x4c, 0x6f, 0x67, 0x69, + 0x6e, 0x5f, 0x4e, 0x61, 0x6d, 0x65, 0x4c, 0x61, 0x6e, 0x67, 0x10, 0xee, 0x07, 0x12, 0x18, 0x0a, + 0x13, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x5f, 0x4e, 0x61, 0x6d, 0x65, + 0x53, 0x61, 0x6d, 0x65, 0x10, 0xef, 0x07, 0x12, 0x19, 0x0a, 0x14, 0x4f, 0x50, 0x52, 0x43, 0x5f, + 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x5f, 0x4e, 0x61, 0x6d, 0x65, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, + 0xf0, 0x07, 0x12, 0x1c, 0x0a, 0x17, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x4c, 0x6f, 0x67, 0x69, 0x6e, + 0x5f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x10, 0xf1, 0x07, + 0x12, 0x19, 0x0a, 0x14, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x42, 0x65, 0x46, 0x72, 0x65, 0x65, 0x7a, 0x65, 0x10, 0xf2, 0x07, 0x12, 0x19, 0x0a, 0x14, 0x4f, + 0x50, 0x52, 0x43, 0x5f, 0x59, 0x6f, 0x75, 0x72, 0x52, 0x65, 0x73, 0x56, 0x65, 0x72, 0x49, 0x73, + 0x4c, 0x6f, 0x77, 0x10, 0x94, 0x08, 0x12, 0x19, 0x0a, 0x14, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x59, + 0x6f, 0x75, 0x72, 0x41, 0x70, 0x70, 0x56, 0x65, 0x72, 0x49, 0x73, 0x4c, 0x6f, 0x77, 0x10, 0x95, + 0x08, 0x12, 0x1d, 0x0a, 0x18, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x53, + 0x65, 0x72, 0x76, 0x65, 0x72, 0x4d, 0x61, 0x69, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x10, 0x9e, 0x08, + 0x12, 0x12, 0x0a, 0x0d, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x54, 0x65, 0x6c, 0x45, 0x72, 0x72, 0x6f, + 0x72, 0x10, 0xa9, 0x08, 0x12, 0x17, 0x0a, 0x12, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x54, 0x65, 0x6c, + 0x43, 0x6f, 0x64, 0x65, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x10, 0xaa, 0x08, 0x12, 0x16, 0x0a, + 0x11, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x54, 0x65, 0x6c, 0x43, 0x6f, 0x64, 0x65, 0x45, 0x72, 0x72, + 0x6f, 0x72, 0x10, 0xab, 0x08, 0x2a, 0xbc, 0x05, 0x0a, 0x0d, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x50, + 0x61, 0x63, 0x6b, 0x65, 0x74, 0x49, 0x44, 0x12, 0x15, 0x0a, 0x11, 0x50, 0x41, 0x43, 0x4b, 0x45, + 0x54, 0x5f, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x5f, 0x5a, 0x45, 0x52, 0x4f, 0x10, 0x00, 0x12, 0x14, + 0x0a, 0x0f, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x4c, 0x4f, 0x47, 0x49, + 0x4e, 0x10, 0x83, 0x10, 0x12, 0x14, 0x0a, 0x0f, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, + 0x43, 0x5f, 0x4c, 0x4f, 0x47, 0x49, 0x4e, 0x10, 0x84, 0x10, 0x12, 0x15, 0x0a, 0x10, 0x50, 0x41, + 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x4c, 0x4f, 0x47, 0x4f, 0x55, 0x54, 0x10, 0x85, + 0x10, 0x12, 0x15, 0x0a, 0x10, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x4c, + 0x4f, 0x47, 0x4f, 0x55, 0x54, 0x10, 0x86, 0x10, 0x12, 0x19, 0x0a, 0x14, 0x50, 0x41, 0x43, 0x4b, + 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x47, 0x41, 0x4d, 0x45, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, + 0x10, 0x87, 0x10, 0x12, 0x1c, 0x0a, 0x17, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, + 0x5f, 0x42, 0x55, 0x4c, 0x4c, 0x45, 0x54, 0x49, 0x4f, 0x4e, 0x49, 0x4e, 0x46, 0x4f, 0x10, 0x88, + 0x10, 0x12, 0x1c, 0x0a, 0x17, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x42, + 0x55, 0x4c, 0x4c, 0x45, 0x54, 0x49, 0x4f, 0x4e, 0x49, 0x4e, 0x46, 0x4f, 0x10, 0x89, 0x10, 0x12, + 0x1f, 0x0a, 0x1a, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x43, 0x55, 0x53, + 0x54, 0x4f, 0x4d, 0x45, 0x52, 0x49, 0x4e, 0x46, 0x4f, 0x4c, 0x49, 0x53, 0x54, 0x10, 0x8a, 0x10, + 0x12, 0x1f, 0x0a, 0x1a, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x43, 0x55, + 0x53, 0x54, 0x4f, 0x4d, 0x45, 0x52, 0x49, 0x4e, 0x46, 0x4f, 0x4c, 0x49, 0x53, 0x54, 0x10, 0x8b, + 0x10, 0x12, 0x1c, 0x0a, 0x17, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x43, + 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x53, 0x45, 0x52, 0x56, 0x49, 0x43, 0x45, 0x10, 0x8c, 0x10, 0x12, + 0x1c, 0x0a, 0x17, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x43, 0x55, 0x53, + 0x54, 0x4f, 0x4d, 0x53, 0x45, 0x52, 0x56, 0x49, 0x43, 0x45, 0x10, 0x8d, 0x10, 0x12, 0x1a, 0x0a, + 0x15, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x50, 0x4c, 0x41, 0x54, 0x46, + 0x4f, 0x52, 0x4d, 0x43, 0x46, 0x47, 0x10, 0x8e, 0x10, 0x12, 0x1a, 0x0a, 0x15, 0x50, 0x41, 0x43, + 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x50, 0x4c, 0x41, 0x54, 0x46, 0x4f, 0x52, 0x4d, 0x43, + 0x46, 0x47, 0x10, 0x8f, 0x10, 0x12, 0x1c, 0x0a, 0x17, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, + 0x53, 0x43, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x49, 0x54, 0x59, 0x43, 0x48, 0x45, 0x43, 0x4b, + 0x10, 0x90, 0x10, 0x12, 0x19, 0x0a, 0x14, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, + 0x5f, 0x56, 0x45, 0x52, 0x49, 0x46, 0x59, 0x54, 0x59, 0x50, 0x45, 0x10, 0x91, 0x10, 0x12, 0x19, + 0x0a, 0x14, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x56, 0x45, 0x52, 0x49, + 0x46, 0x59, 0x54, 0x59, 0x50, 0x45, 0x10, 0x92, 0x10, 0x12, 0x21, 0x0a, 0x1c, 0x50, 0x41, 0x43, + 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x52, 0x45, 0x47, 0x49, 0x53, 0x54, 0x45, 0x52, 0x56, + 0x45, 0x52, 0x49, 0x46, 0x59, 0x54, 0x59, 0x50, 0x45, 0x10, 0x93, 0x10, 0x12, 0x21, 0x0a, 0x1c, + 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x52, 0x45, 0x47, 0x49, 0x53, 0x54, + 0x45, 0x52, 0x56, 0x45, 0x52, 0x49, 0x46, 0x59, 0x54, 0x59, 0x50, 0x45, 0x10, 0x94, 0x10, 0x12, + 0x1b, 0x0a, 0x16, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x53, 0x59, 0x4e, + 0x43, 0x47, 0x41, 0x4d, 0x45, 0x46, 0x52, 0x45, 0x45, 0x10, 0x95, 0x10, 0x12, 0x1b, 0x0a, 0x16, + 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x41, 0x43, 0x54, 0x53, 0x57, 0x49, + 0x54, 0x43, 0x48, 0x43, 0x46, 0x47, 0x10, 0x96, 0x10, 0x12, 0x1c, 0x0a, 0x17, 0x50, 0x41, 0x43, + 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x47, 0x45, 0x54, 0x54, 0x48, 0x52, 0x47, 0x41, 0x4d, + 0x45, 0x43, 0x46, 0x47, 0x10, 0x97, 0x10, 0x12, 0x1c, 0x0a, 0x17, 0x50, 0x41, 0x43, 0x4b, 0x45, + 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x47, 0x45, 0x54, 0x54, 0x48, 0x52, 0x47, 0x41, 0x4d, 0x45, 0x43, + 0x46, 0x47, 0x10, 0x98, 0x10, 0x12, 0x1d, 0x0a, 0x18, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, + 0x43, 0x53, 0x5f, 0x41, 0x43, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, + 0x44, 0x10, 0x99, 0x10, 0x2a, 0xbf, 0x01, 0x0a, 0x14, 0x53, 0x53, 0x44, 0x69, 0x73, 0x63, 0x6f, + 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x0e, 0x0a, + 0x0a, 0x53, 0x53, 0x44, 0x54, 0x43, 0x5f, 0x5a, 0x45, 0x52, 0x4f, 0x10, 0x00, 0x12, 0x11, 0x0a, + 0x0d, 0x53, 0x53, 0x44, 0x54, 0x43, 0x5f, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x10, 0x01, + 0x12, 0x10, 0x0a, 0x0c, 0x53, 0x53, 0x44, 0x54, 0x43, 0x5f, 0x46, 0x72, 0x65, 0x65, 0x7a, 0x65, + 0x10, 0x02, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x53, 0x44, 0x54, 0x43, 0x5f, 0x53, 0x65, 0x72, 0x76, + 0x65, 0x72, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0x03, 0x12, 0x1b, 0x0a, 0x17, 0x53, 0x53, 0x44, + 0x54, 0x43, 0x5f, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4d, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x6e, + 0x61, 0x6e, 0x63, 0x65, 0x10, 0x04, 0x12, 0x13, 0x0a, 0x0f, 0x53, 0x53, 0x44, 0x54, 0x43, 0x5f, + 0x52, 0x65, 0x73, 0x56, 0x65, 0x72, 0x4c, 0x6f, 0x77, 0x10, 0x05, 0x12, 0x14, 0x0a, 0x10, 0x53, + 0x53, 0x44, 0x54, 0x43, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x56, 0x65, 0x72, 0x4c, 0x6f, 0x77, 0x10, + 0x06, 0x12, 0x13, 0x0a, 0x0f, 0x53, 0x53, 0x44, 0x54, 0x43, 0x5f, 0x42, 0x6c, 0x61, 0x63, 0x6b, + 0x4c, 0x69, 0x73, 0x74, 0x10, 0x07, 0x42, 0x25, 0x5a, 0x23, 0x6d, 0x6f, 0x6e, 0x67, 0x6f, 0x2e, + 0x67, 0x61, 0x6d, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x61, 0x6d, 0x65, 0x2f, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2f, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x62, 0x06, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/protocol/login/login.proto b/protocol/login/login.proto index f1ebb76..0710823 100644 --- a/protocol/login/login.proto +++ b/protocol/login/login.proto @@ -159,6 +159,7 @@ message SCLogin { string Token = 16;// md5(密码+AppId) string ClientParam = 17;// 客户端配置文件 repeated EntrySwitch GameSwitch = 18;//入口开关 + int64 NextDayTs = 19; // 服务器的下一天时间戳 } //公告参数 message Bulletion{ diff --git a/protocol/webapi/common.pb.go b/protocol/webapi/common.pb.go index e316c79..590dc15 100644 --- a/protocol/webapi/common.pb.go +++ b/protocol/webapi/common.pb.go @@ -1313,6 +1313,9 @@ type PlayerData struct { Channel string `protobuf:"bytes,53,opt,name=Channel,proto3" json:"Channel,omitempty"` // 首次安装渠道 LastChannel string `protobuf:"bytes,54,opt,name=LastChannel,proto3" json:"LastChannel,omitempty"` // 最近使用的包渠道 Items []*ItemInfo `protobuf:"bytes,55,rep,name=Items,proto3" json:"Items,omitempty"` // 背包物品 + IsPermit bool `protobuf:"varint,56,opt,name=IsPermit,proto3" json:"IsPermit,omitempty"` // 是否已购买典藏通行证 + Long int64 `protobuf:"varint,57,opt,name=Long,proto3" json:"Long,omitempty"` // 龙币数量 + PermitScore int64 `protobuf:"varint,58,opt,name=PermitScore,proto3" json:"PermitScore,omitempty"` // 赛季通行证积分 } func (x *PlayerData) Reset() { @@ -1732,6 +1735,27 @@ func (x *PlayerData) GetItems() []*ItemInfo { return nil } +func (x *PlayerData) GetIsPermit() bool { + if x != nil { + return x.IsPermit + } + return false +} + +func (x *PlayerData) GetLong() int64 { + if x != nil { + return x.Long + } + return 0 +} + +func (x *PlayerData) GetPermitScore() int64 { + if x != nil { + return x.PermitScore + } + return 0 +} + type RoomInfo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -6829,7 +6853,7 @@ var file_common_proto_rawDesc = []byte{ 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x43, 0x75, 0x72, 0x72, - 0x65, 0x6e, 0x63, 0x79, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x22, 0xbf, 0x0d, 0x0a, 0x0a, 0x50, 0x6c, + 0x65, 0x6e, 0x63, 0x79, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x22, 0x91, 0x0e, 0x0a, 0x0a, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x12, 0x12, 0x0a, 0x04, 0x53, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x53, 0x6e, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x54, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x54, 0x65, 0x6c, 0x12, 0x10, @@ -6933,747 +6957,752 @@ var file_common_proto_rawDesc = []byte{ 0x65, 0x6c, 0x18, 0x36, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x4c, 0x61, 0x73, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x26, 0x0a, 0x05, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x37, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x49, 0x74, - 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x1a, 0x3c, 0x0a, - 0x0e, 0x52, 0x61, 0x6e, 0x6b, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, - 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x6b, 0x65, - 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, - 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xfa, 0x03, 0x0a, 0x08, - 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, - 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, - 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x18, 0x0a, 0x07, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x49, 0x64, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x49, 0x64, 0x12, 0x16, - 0x0a, 0x06, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, - 0x47, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x47, 0x61, 0x6d, 0x65, 0x4d, 0x6f, - 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x47, 0x61, 0x6d, 0x65, 0x4d, 0x6f, - 0x64, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x4d, 0x6f, 0x64, 0x65, - 0x12, 0x18, 0x0a, 0x07, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1a, 0x0a, + 0x08, 0x49, 0x73, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x18, 0x38, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x08, 0x49, 0x73, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x4c, 0x6f, 0x6e, + 0x67, 0x18, 0x39, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x4c, 0x6f, 0x6e, 0x67, 0x12, 0x20, 0x0a, + 0x0b, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x3a, 0x20, 0x01, + 0x28, 0x03, 0x52, 0x0b, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x1a, + 0x3c, 0x0a, 0x0e, 0x52, 0x61, 0x6e, 0x6b, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, + 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x03, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xfa, 0x03, + 0x0a, 0x08, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x18, 0x0a, 0x07, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x49, + 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x49, 0x64, + 0x12, 0x16, 0x0a, 0x06, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x06, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x47, 0x61, 0x6d, 0x65, + 0x4d, 0x6f, 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x47, 0x61, 0x6d, 0x65, + 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x4d, 0x6f, 0x64, + 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x4d, 0x6f, + 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x07, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, + 0x47, 0x61, 0x6d, 0x65, 0x46, 0x72, 0x65, 0x65, 0x49, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x0a, 0x47, 0x61, 0x6d, 0x65, 0x46, 0x72, 0x65, 0x65, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, + 0x53, 0x72, 0x76, 0x49, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x53, 0x72, 0x76, + 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x09, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x07, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x18, 0x0a, 0x07, + 0x41, 0x67, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x41, + 0x67, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x79, + 0x43, 0x6f, 0x64, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x52, 0x65, 0x70, 0x6c, + 0x61, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, + 0x18, 0x0c, 0x20, 0x03, 0x28, 0x05, 0x52, 0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x1c, + 0x0a, 0x09, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, + 0x05, 0x52, 0x09, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x73, 0x12, 0x1c, 0x0a, 0x09, + 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x6e, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x09, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x52, 0x6f, + 0x62, 0x6f, 0x74, 0x43, 0x6e, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x52, 0x6f, + 0x62, 0x6f, 0x74, 0x43, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x72, 0x74, 0x18, + 0x10, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x1e, 0x0a, 0x0a, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x03, + 0x52, 0x0a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, + 0x42, 0x61, 0x73, 0x65, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x09, 0x42, 0x61, 0x73, 0x65, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x22, 0xb4, 0x04, 0x0a, 0x12, 0x50, + 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x41, 0x64, 0x6a, 0x75, 0x73, + 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x49, + 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x1e, 0x0a, + 0x0a, 0x47, 0x61, 0x6d, 0x65, 0x46, 0x72, 0x65, 0x65, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x0a, 0x47, 0x61, 0x6d, 0x65, 0x46, 0x72, 0x65, 0x65, 0x49, 0x64, 0x12, 0x12, 0x0a, + 0x04, 0x53, 0x6e, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x53, 0x6e, 0x49, + 0x64, 0x12, 0x12, 0x0a, 0x04, 0x4d, 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x04, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x54, 0x69, + 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x54, + 0x69, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x43, 0x75, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x07, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x43, 0x75, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x16, 0x0a, + 0x06, 0x42, 0x65, 0x74, 0x4d, 0x69, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x42, + 0x65, 0x74, 0x4d, 0x69, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x42, 0x65, 0x74, 0x4d, 0x61, 0x78, 0x18, + 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x42, 0x65, 0x74, 0x4d, 0x61, 0x78, 0x12, 0x24, 0x0a, + 0x0d, 0x42, 0x61, 0x6e, 0x6b, 0x65, 0x72, 0x4c, 0x6f, 0x73, 0x65, 0x4d, 0x69, 0x6e, 0x18, 0x0a, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x42, 0x61, 0x6e, 0x6b, 0x65, 0x72, 0x4c, 0x6f, 0x73, 0x65, + 0x4d, 0x69, 0x6e, 0x12, 0x22, 0x0a, 0x0c, 0x42, 0x61, 0x6e, 0x6b, 0x65, 0x72, 0x57, 0x69, 0x6e, + 0x4d, 0x69, 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x42, 0x61, 0x6e, 0x6b, 0x65, + 0x72, 0x57, 0x69, 0x6e, 0x4d, 0x69, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x43, 0x61, 0x72, 0x64, 0x4d, + 0x69, 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x43, 0x61, 0x72, 0x64, 0x4d, 0x69, + 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x43, 0x61, 0x72, 0x64, 0x4d, 0x61, 0x78, 0x18, 0x0d, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x07, 0x43, 0x61, 0x72, 0x64, 0x4d, 0x61, 0x78, 0x12, 0x1a, 0x0a, 0x08, 0x50, + 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x50, + 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x57, 0x69, 0x6e, 0x52, 0x61, + 0x74, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x57, 0x69, 0x6e, 0x52, 0x61, 0x74, + 0x65, 0x12, 0x16, 0x0a, 0x06, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x18, 0x10, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x06, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x47, 0x61, 0x6d, + 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x47, 0x61, 0x6d, + 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, + 0x72, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, + 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, + 0x13, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, + 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, + 0x14, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, + 0x65, 0x22, 0xbc, 0x01, 0x0a, 0x0a, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, + 0x12, 0x14, 0x0a, 0x05, 0x53, 0x72, 0x76, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x05, 0x53, 0x72, 0x76, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x53, 0x72, 0x76, 0x54, 0x79, 0x70, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x53, 0x72, 0x76, 0x54, 0x79, 0x70, 0x65, + 0x12, 0x14, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, + 0x4e, 0x75, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x50, 0x6c, 0x61, 0x79, 0x65, + 0x72, 0x4e, 0x75, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x52, 0x6f, 0x62, 0x6f, 0x74, 0x4e, 0x75, 0x6d, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x52, 0x6f, 0x62, 0x6f, 0x74, 0x4e, 0x75, 0x6d, + 0x12, 0x1a, 0x0a, 0x08, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x4e, 0x75, 0x6d, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x08, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x4e, 0x75, 0x6d, 0x12, 0x12, 0x0a, 0x04, + 0x44, 0x61, 0x74, 0x61, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x44, 0x61, 0x74, 0x61, + 0x22, 0xfd, 0x04, 0x0a, 0x0f, 0x43, 0x6f, 0x69, 0x6e, 0x50, 0x6f, 0x6f, 0x6c, 0x53, 0x65, 0x74, + 0x74, 0x69, 0x6e, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x12, 0x18, 0x0a, 0x07, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x47, 0x61, - 0x6d, 0x65, 0x46, 0x72, 0x65, 0x65, 0x49, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, - 0x47, 0x61, 0x6d, 0x65, 0x46, 0x72, 0x65, 0x65, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x53, 0x72, - 0x76, 0x49, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x53, 0x72, 0x76, 0x49, 0x64, - 0x12, 0x18, 0x0a, 0x07, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x07, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x41, 0x67, - 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x41, 0x67, 0x65, - 0x6e, 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x43, 0x6f, - 0x64, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x79, - 0x43, 0x6f, 0x64, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x0c, - 0x20, 0x03, 0x28, 0x05, 0x52, 0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x1c, 0x0a, 0x09, - 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x05, 0x52, - 0x09, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x50, 0x6c, - 0x61, 0x79, 0x65, 0x72, 0x43, 0x6e, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x50, - 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x52, 0x6f, 0x62, 0x6f, - 0x74, 0x43, 0x6e, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x52, 0x6f, 0x62, 0x6f, - 0x74, 0x43, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x72, 0x74, 0x18, 0x10, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x05, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x42, 0x61, - 0x73, 0x65, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x42, - 0x61, 0x73, 0x65, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x22, 0xb4, 0x04, 0x0a, 0x12, 0x50, 0x6c, 0x61, - 0x79, 0x65, 0x72, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x41, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x12, - 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x49, 0x64, 0x12, - 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x1e, 0x0a, 0x0a, 0x47, - 0x61, 0x6d, 0x65, 0x46, 0x72, 0x65, 0x65, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x0a, 0x47, 0x61, 0x6d, 0x65, 0x46, 0x72, 0x65, 0x65, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x53, - 0x6e, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x53, 0x6e, 0x49, 0x64, 0x12, - 0x12, 0x0a, 0x04, 0x4d, 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x4d, - 0x6f, 0x64, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x54, 0x69, 0x6d, 0x65, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x54, 0x69, 0x6d, - 0x65, 0x12, 0x18, 0x0a, 0x07, 0x43, 0x75, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x07, 0x43, 0x75, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x42, - 0x65, 0x74, 0x4d, 0x69, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x42, 0x65, 0x74, - 0x4d, 0x69, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x42, 0x65, 0x74, 0x4d, 0x61, 0x78, 0x18, 0x09, 0x20, - 0x01, 0x28, 0x03, 0x52, 0x06, 0x42, 0x65, 0x74, 0x4d, 0x61, 0x78, 0x12, 0x24, 0x0a, 0x0d, 0x42, - 0x61, 0x6e, 0x6b, 0x65, 0x72, 0x4c, 0x6f, 0x73, 0x65, 0x4d, 0x69, 0x6e, 0x18, 0x0a, 0x20, 0x01, - 0x28, 0x03, 0x52, 0x0d, 0x42, 0x61, 0x6e, 0x6b, 0x65, 0x72, 0x4c, 0x6f, 0x73, 0x65, 0x4d, 0x69, - 0x6e, 0x12, 0x22, 0x0a, 0x0c, 0x42, 0x61, 0x6e, 0x6b, 0x65, 0x72, 0x57, 0x69, 0x6e, 0x4d, 0x69, - 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x42, 0x61, 0x6e, 0x6b, 0x65, 0x72, 0x57, - 0x69, 0x6e, 0x4d, 0x69, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x43, 0x61, 0x72, 0x64, 0x4d, 0x69, 0x6e, - 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x43, 0x61, 0x72, 0x64, 0x4d, 0x69, 0x6e, 0x12, - 0x18, 0x0a, 0x07, 0x43, 0x61, 0x72, 0x64, 0x4d, 0x61, 0x78, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x07, 0x43, 0x61, 0x72, 0x64, 0x4d, 0x61, 0x78, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x72, 0x69, - 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x50, 0x72, 0x69, - 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x57, 0x69, 0x6e, 0x52, 0x61, 0x74, 0x65, - 0x18, 0x0f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x57, 0x69, 0x6e, 0x52, 0x61, 0x74, 0x65, 0x12, - 0x16, 0x0a, 0x06, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x18, 0x10, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x06, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x47, 0x61, 0x6d, 0x65, 0x4d, - 0x6f, 0x64, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x47, 0x61, 0x6d, 0x65, 0x4d, - 0x6f, 0x64, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, - 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, - 0x1e, 0x0a, 0x0a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x13, 0x20, - 0x01, 0x28, 0x03, 0x52, 0x0a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, - 0x1e, 0x0a, 0x0a, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x14, 0x20, - 0x01, 0x28, 0x03, 0x52, 0x0a, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x22, - 0xbc, 0x01, 0x0a, 0x0a, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x14, - 0x0a, 0x05, 0x53, 0x72, 0x76, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x53, - 0x72, 0x76, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x53, 0x72, 0x76, 0x54, 0x79, 0x70, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x53, 0x72, 0x76, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, - 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x53, - 0x74, 0x61, 0x74, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4e, 0x75, - 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4e, - 0x75, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x52, 0x6f, 0x62, 0x6f, 0x74, 0x4e, 0x75, 0x6d, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x52, 0x6f, 0x62, 0x6f, 0x74, 0x4e, 0x75, 0x6d, 0x12, 0x1a, - 0x0a, 0x08, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x4e, 0x75, 0x6d, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x08, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x4e, 0x75, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x44, 0x61, - 0x74, 0x61, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x44, 0x61, 0x74, 0x61, 0x22, 0xfd, - 0x04, 0x0a, 0x0f, 0x43, 0x6f, 0x69, 0x6e, 0x50, 0x6f, 0x6f, 0x6c, 0x53, 0x65, 0x74, 0x74, 0x69, - 0x6e, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x18, - 0x0a, 0x07, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x07, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x47, 0x61, 0x6d, 0x65, - 0x46, 0x72, 0x65, 0x65, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x47, 0x61, - 0x6d, 0x65, 0x46, 0x72, 0x65, 0x65, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x53, 0x65, 0x72, 0x76, - 0x65, 0x72, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x53, 0x65, 0x72, 0x76, - 0x65, 0x72, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x49, 0x6e, 0x69, 0x74, 0x56, 0x61, 0x6c, 0x75, - 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x49, 0x6e, 0x69, 0x74, 0x56, 0x61, 0x6c, - 0x75, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x4c, 0x6f, 0x77, 0x65, 0x72, 0x4c, 0x69, 0x6d, 0x69, 0x74, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x4c, 0x6f, 0x77, 0x65, 0x72, 0x4c, 0x69, 0x6d, - 0x69, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x55, 0x70, 0x70, 0x65, 0x72, 0x4c, 0x69, 0x6d, 0x69, 0x74, - 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x55, 0x70, 0x70, 0x65, 0x72, 0x4c, 0x69, 0x6d, - 0x69, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x51, 0x75, 0x44, 0x75, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, - 0x52, 0x04, 0x51, 0x75, 0x44, 0x75, 0x12, 0x1c, 0x0a, 0x09, 0x55, 0x70, 0x70, 0x65, 0x72, 0x4f, - 0x64, 0x64, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x55, 0x70, 0x70, 0x65, 0x72, - 0x4f, 0x64, 0x64, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x55, 0x70, 0x70, 0x65, 0x72, 0x4f, 0x64, 0x64, - 0x73, 0x4d, 0x61, 0x78, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x55, 0x70, 0x70, 0x65, - 0x72, 0x4f, 0x64, 0x64, 0x73, 0x4d, 0x61, 0x78, 0x12, 0x1c, 0x0a, 0x09, 0x4c, 0x6f, 0x77, 0x65, - 0x72, 0x4f, 0x64, 0x64, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x4c, 0x6f, 0x77, - 0x65, 0x72, 0x4f, 0x64, 0x64, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x4c, 0x6f, 0x77, 0x65, 0x72, 0x4f, - 0x64, 0x64, 0x73, 0x4d, 0x61, 0x78, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x4c, 0x6f, - 0x77, 0x65, 0x72, 0x4f, 0x64, 0x64, 0x73, 0x4d, 0x61, 0x78, 0x12, 0x1e, 0x0a, 0x0a, 0x50, 0x72, - 0x6f, 0x66, 0x69, 0x74, 0x52, 0x61, 0x74, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, - 0x50, 0x72, 0x6f, 0x66, 0x69, 0x74, 0x52, 0x61, 0x74, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x52, 0x65, - 0x73, 0x65, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x52, - 0x65, 0x73, 0x65, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x77, 0x69, 0x74, - 0x63, 0x68, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, - 0x12, 0x1c, 0x0a, 0x09, 0x43, 0x6f, 0x69, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x10, 0x20, - 0x01, 0x28, 0x03, 0x52, 0x09, 0x43, 0x6f, 0x69, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1e, - 0x0a, 0x0a, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x18, 0x11, 0x20, 0x01, - 0x28, 0x03, 0x52, 0x0a, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x12, 0x1a, - 0x0a, 0x08, 0x43, 0x74, 0x72, 0x6c, 0x52, 0x61, 0x74, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x08, 0x43, 0x74, 0x72, 0x6c, 0x52, 0x61, 0x74, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x49, 0x6e, - 0x69, 0x74, 0x4e, 0x6f, 0x76, 0x69, 0x63, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x13, 0x20, - 0x01, 0x28, 0x03, 0x52, 0x0f, 0x49, 0x6e, 0x69, 0x74, 0x4e, 0x6f, 0x76, 0x69, 0x63, 0x65, 0x56, - 0x61, 0x6c, 0x75, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x4e, 0x6f, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, - 0x69, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x14, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0f, 0x4e, - 0x6f, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x69, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xb5, - 0x02, 0x0a, 0x0b, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, - 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x49, 0x64, 0x12, 0x14, - 0x0a, 0x05, 0x4d, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x4d, - 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x05, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x43, 0x6f, - 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x43, 0x6f, 0x6e, - 0x74, 0x65, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x53, 0x72, - 0x63, 0x53, 0x6e, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x53, 0x72, 0x63, - 0x53, 0x6e, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x44, 0x65, 0x73, 0x74, 0x53, 0x6e, 0x69, 0x64, - 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x44, 0x65, 0x73, 0x74, 0x53, 0x6e, 0x69, 0x64, - 0x12, 0x12, 0x0a, 0x04, 0x43, 0x6f, 0x69, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, - 0x43, 0x6f, 0x69, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x47, 0x69, 0x66, 0x74, 0x49, 0x64, 0x18, 0x0a, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x47, 0x69, 0x66, 0x74, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, - 0x47, 0x69, 0x66, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x09, 0x47, 0x69, 0x66, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, - 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, - 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x22, 0xf5, 0x02, 0x0a, 0x0d, 0x48, 0x6f, 0x72, 0x73, 0x65, - 0x52, 0x61, 0x63, 0x65, 0x4c, 0x61, 0x6d, 0x70, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, - 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, - 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x14, 0x0a, 0x05, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x05, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x43, 0x6f, - 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x43, 0x6f, 0x6e, - 0x74, 0x65, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x46, 0x6f, 0x6f, 0x74, 0x65, 0x72, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x46, 0x6f, 0x6f, 0x74, 0x65, 0x72, 0x12, 0x1c, 0x0a, 0x09, - 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, - 0x09, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x46, 0x72, - 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x46, - 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, - 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1e, - 0x0a, 0x0a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, - 0x28, 0x03, 0x52, 0x0a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x14, - 0x0a, 0x05, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x43, - 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, - 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, - 0x12, 0x18, 0x0a, 0x07, 0x4d, 0x73, 0x67, 0x54, 0x79, 0x70, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x07, 0x4d, 0x73, 0x67, 0x54, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x54, 0x61, - 0x72, 0x67, 0x65, 0x74, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x05, 0x52, 0x06, 0x54, 0x61, 0x72, 0x67, - 0x65, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x53, 0x65, 0x63, 0x18, 0x0e, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x53, 0x65, 0x63, 0x22, 0x39, - 0x0a, 0x0d, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x47, 0x61, 0x6d, 0x65, 0x43, 0x6e, 0x74, 0x12, - 0x16, 0x0a, 0x06, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x06, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x43, 0x6e, 0x74, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x43, 0x6e, 0x74, 0x22, 0xe5, 0x02, 0x0a, 0x0c, 0x4f, 0x6e, - 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x54, 0x6f, - 0x74, 0x61, 0x6c, 0x43, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x54, 0x6f, - 0x74, 0x61, 0x6c, 0x43, 0x6e, 0x74, 0x12, 0x2a, 0x0a, 0x10, 0x41, 0x6e, 0x64, 0x72, 0x6f, 0x69, - 0x64, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x43, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x10, 0x41, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x43, - 0x6e, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x49, 0x6f, 0x73, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x43, - 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x49, 0x6f, 0x73, 0x4f, 0x6e, 0x6c, - 0x69, 0x6e, 0x65, 0x43, 0x6e, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x44, 0x61, 0x74, 0x69, 0x6e, 0x67, - 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x44, - 0x61, 0x74, 0x69, 0x6e, 0x67, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x12, 0x24, 0x0a, 0x0d, - 0x4f, 0x6e, 0x52, 0x6f, 0x6f, 0x6d, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x0d, 0x4f, 0x6e, 0x52, 0x6f, 0x6f, 0x6d, 0x50, 0x6c, 0x61, 0x79, 0x65, - 0x72, 0x73, 0x12, 0x30, 0x0a, 0x13, 0x54, 0x6f, 0x64, 0x61, 0x79, 0x52, 0x65, 0x67, 0x69, 0x73, - 0x74, 0x65, 0x72, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x13, 0x54, 0x6f, 0x64, 0x61, 0x79, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x4f, 0x6e, - 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x36, 0x0a, 0x16, 0x53, 0x65, 0x76, 0x65, 0x6e, 0x44, 0x61, 0x79, - 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x07, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x16, 0x53, 0x65, 0x76, 0x65, 0x6e, 0x44, 0x61, 0x79, 0x52, 0x65, - 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x33, 0x0a, 0x09, - 0x47, 0x61, 0x6d, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x15, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x47, - 0x61, 0x6d, 0x65, 0x43, 0x6e, 0x74, 0x52, 0x09, 0x47, 0x61, 0x6d, 0x65, 0x43, 0x6f, 0x75, 0x6e, - 0x74, 0x22, 0x88, 0x03, 0x0a, 0x0c, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x69, - 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x53, 0x6f, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x04, 0x53, 0x6f, 0x72, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x18, 0x0a, 0x07, - 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x43, - 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x54, 0x79, 0x70, 0x65, 0x4e, 0x61, - 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x54, 0x79, 0x70, 0x65, 0x4e, 0x61, - 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, - 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x53, 0x74, 0x61, 0x72, 0x74, - 0x54, 0x69, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x45, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x18, - 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x45, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1a, - 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x22, 0x0a, 0x0c, 0x43, 0x61, - 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x54, 0x79, 0x70, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x0c, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x16, - 0x0a, 0x06, 0x49, 0x6d, 0x67, 0x55, 0x72, 0x6c, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, - 0x49, 0x6d, 0x67, 0x55, 0x72, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x4e, 0x6f, 0x74, 0x69, 0x63, 0x65, - 0x49, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x4e, 0x6f, 0x74, 0x69, 0x63, 0x65, - 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x49, 0x73, 0x4c, 0x6f, 0x6f, 0x70, 0x18, 0x0c, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x06, 0x49, 0x73, 0x4c, 0x6f, 0x6f, 0x70, 0x12, 0x1a, 0x0a, 0x08, 0x4c, 0x6f, - 0x6f, 0x70, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x4c, 0x6f, - 0x6f, 0x70, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x4f, 0x6e, 0x43, 0x68, 0x61, 0x6e, - 0x6e, 0x65, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x4f, - 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x58, 0x0a, 0x10, - 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x69, 0x63, 0x65, 0x4c, 0x69, 0x73, 0x74, - 0x12, 0x28, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, - 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4e, 0x6f, - 0x74, 0x69, 0x63, 0x65, 0x52, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, + 0x6d, 0x65, 0x46, 0x72, 0x65, 0x65, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, + 0x47, 0x61, 0x6d, 0x65, 0x46, 0x72, 0x65, 0x65, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x53, 0x65, + 0x72, 0x76, 0x65, 0x72, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x53, 0x65, + 0x72, 0x76, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x49, 0x6e, 0x69, 0x74, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x49, 0x6e, 0x69, 0x74, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x4c, 0x6f, 0x77, 0x65, 0x72, 0x4c, 0x69, 0x6d, + 0x69, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x4c, 0x6f, 0x77, 0x65, 0x72, 0x4c, + 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x55, 0x70, 0x70, 0x65, 0x72, 0x4c, 0x69, 0x6d, + 0x69, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x55, 0x70, 0x70, 0x65, 0x72, 0x4c, + 0x69, 0x6d, 0x69, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x51, 0x75, 0x44, 0x75, 0x18, 0x08, 0x20, 0x01, + 0x28, 0x03, 0x52, 0x04, 0x51, 0x75, 0x44, 0x75, 0x12, 0x1c, 0x0a, 0x09, 0x55, 0x70, 0x70, 0x65, + 0x72, 0x4f, 0x64, 0x64, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x55, 0x70, 0x70, + 0x65, 0x72, 0x4f, 0x64, 0x64, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x55, 0x70, 0x70, 0x65, 0x72, 0x4f, + 0x64, 0x64, 0x73, 0x4d, 0x61, 0x78, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x55, 0x70, + 0x70, 0x65, 0x72, 0x4f, 0x64, 0x64, 0x73, 0x4d, 0x61, 0x78, 0x12, 0x1c, 0x0a, 0x09, 0x4c, 0x6f, + 0x77, 0x65, 0x72, 0x4f, 0x64, 0x64, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x4c, + 0x6f, 0x77, 0x65, 0x72, 0x4f, 0x64, 0x64, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x4c, 0x6f, 0x77, 0x65, + 0x72, 0x4f, 0x64, 0x64, 0x73, 0x4d, 0x61, 0x78, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, + 0x4c, 0x6f, 0x77, 0x65, 0x72, 0x4f, 0x64, 0x64, 0x73, 0x4d, 0x61, 0x78, 0x12, 0x1e, 0x0a, 0x0a, + 0x50, 0x72, 0x6f, 0x66, 0x69, 0x74, 0x52, 0x61, 0x74, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x0a, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x74, 0x52, 0x61, 0x74, 0x65, 0x12, 0x1c, 0x0a, 0x09, + 0x52, 0x65, 0x73, 0x65, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x09, 0x52, 0x65, 0x73, 0x65, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x77, + 0x69, 0x74, 0x63, 0x68, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x53, 0x77, 0x69, 0x74, + 0x63, 0x68, 0x12, 0x1c, 0x0a, 0x09, 0x43, 0x6f, 0x69, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, + 0x10, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x43, 0x6f, 0x69, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x12, 0x1e, 0x0a, 0x0a, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x18, 0x11, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x74, 0x50, 0x6f, 0x6f, 0x6c, + 0x12, 0x1a, 0x0a, 0x08, 0x43, 0x74, 0x72, 0x6c, 0x52, 0x61, 0x74, 0x65, 0x18, 0x12, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x08, 0x43, 0x74, 0x72, 0x6c, 0x52, 0x61, 0x74, 0x65, 0x12, 0x28, 0x0a, 0x0f, + 0x49, 0x6e, 0x69, 0x74, 0x4e, 0x6f, 0x76, 0x69, 0x63, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, + 0x13, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0f, 0x49, 0x6e, 0x69, 0x74, 0x4e, 0x6f, 0x76, 0x69, 0x63, + 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x4e, 0x6f, 0x76, 0x69, 0x63, 0x65, + 0x43, 0x6f, 0x69, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x14, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x0f, 0x4e, 0x6f, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x69, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x22, 0xb5, 0x02, 0x0a, 0x0b, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, + 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x49, 0x64, + 0x12, 0x14, 0x0a, 0x05, 0x4d, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x05, 0x4d, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x18, 0x0a, 0x07, + 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x43, + 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1e, 0x0a, 0x0a, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, + 0x52, 0x0a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, + 0x53, 0x72, 0x63, 0x53, 0x6e, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x53, + 0x72, 0x63, 0x53, 0x6e, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x44, 0x65, 0x73, 0x74, 0x53, 0x6e, + 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x44, 0x65, 0x73, 0x74, 0x53, 0x6e, + 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x43, 0x6f, 0x69, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, + 0x52, 0x04, 0x43, 0x6f, 0x69, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x47, 0x69, 0x66, 0x74, 0x49, 0x64, + 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x47, 0x69, 0x66, 0x74, 0x49, 0x64, 0x12, 0x1c, + 0x0a, 0x09, 0x47, 0x69, 0x66, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x09, 0x47, 0x69, 0x66, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x08, + 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x22, 0xf5, 0x02, 0x0a, 0x0d, 0x48, 0x6f, 0x72, + 0x73, 0x65, 0x52, 0x61, 0x63, 0x65, 0x4c, 0x61, 0x6d, 0x70, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, - 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x22, 0xa6, 0x03, 0x0a, 0x0c, 0x45, 0x78, 0x63, 0x68, 0x61, - 0x6e, 0x67, 0x65, 0x53, 0x68, 0x6f, 0x70, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x50, 0x69, 0x63, 0x74, 0x75, - 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x50, 0x69, 0x63, 0x74, 0x75, 0x72, - 0x65, 0x12, 0x12, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x43, 0x6f, 0x6e, - 0x74, 0x65, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x43, 0x6f, 0x6e, 0x74, - 0x65, 0x6e, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x44, 0x61, 0x79, 0x50, 0x6c, 0x61, 0x79, 0x4c, 0x69, - 0x6d, 0x69, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x44, 0x61, 0x79, 0x50, 0x6c, - 0x61, 0x79, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x2c, 0x0a, 0x06, 0x45, 0x78, 0x54, 0x79, 0x70, - 0x65, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, - 0x2e, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x06, 0x45, - 0x78, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x54, 0x65, 0x6c, 0x43, 0x68, 0x61, 0x72, - 0x67, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x54, 0x65, 0x6c, 0x43, 0x68, 0x61, - 0x72, 0x67, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x18, 0x0b, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x06, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0e, 0x56, - 0x69, 0x70, 0x44, 0x61, 0x79, 0x4d, 0x61, 0x78, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x0c, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x0e, 0x56, 0x69, 0x70, 0x44, 0x61, 0x79, 0x4d, 0x61, 0x78, 0x4c, 0x69, - 0x6d, 0x69, 0x74, 0x12, 0x2c, 0x0a, 0x11, 0x4e, 0x6f, 0x74, 0x56, 0x69, 0x70, 0x44, 0x61, 0x79, - 0x4d, 0x61, 0x78, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x11, - 0x4e, 0x6f, 0x74, 0x56, 0x69, 0x70, 0x44, 0x61, 0x79, 0x4d, 0x61, 0x78, 0x4c, 0x69, 0x6d, 0x69, - 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x56, 0x69, 0x70, 0x53, 0x68, 0x6f, 0x70, 0x4c, 0x69, 0x6d, 0x69, - 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x56, 0x69, 0x70, 0x53, 0x68, 0x6f, 0x70, - 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x28, 0x0a, 0x0f, 0x4e, 0x6f, 0x74, 0x56, 0x69, 0x70, 0x53, - 0x68, 0x6f, 0x70, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, - 0x4e, 0x6f, 0x74, 0x56, 0x69, 0x70, 0x53, 0x68, 0x6f, 0x70, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x22, - 0x60, 0x0a, 0x0c, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, - 0x14, 0x0a, 0x05, 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, - 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x4a, 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x4a, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x12, 0x0a, - 0x04, 0x43, 0x61, 0x73, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x43, 0x61, 0x73, - 0x68, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, - 0x64, 0x22, 0x58, 0x0a, 0x10, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x53, 0x68, 0x6f, - 0x70, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x28, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x45, 0x78, 0x63, - 0x68, 0x61, 0x6e, 0x67, 0x65, 0x53, 0x68, 0x6f, 0x70, 0x52, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, - 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x22, 0x83, 0x05, 0x0a, 0x08, - 0x49, 0x74, 0x65, 0x6d, 0x53, 0x68, 0x6f, 0x70, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x49, 0x74, 0x65, 0x6d, - 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, - 0x12, 0x12, 0x0a, 0x04, 0x50, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, - 0x50, 0x61, 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x05, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x54, 0x79, - 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, - 0x0a, 0x08, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x03, 0x28, 0x05, - 0x52, 0x08, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x50, 0x69, - 0x63, 0x74, 0x75, 0x72, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x50, 0x69, 0x63, - 0x74, 0x75, 0x72, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x41, 0x64, 0x18, 0x09, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x41, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x41, 0x64, 0x54, 0x69, - 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x41, 0x64, 0x54, 0x69, 0x6d, 0x65, - 0x12, 0x20, 0x0a, 0x0b, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x18, - 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x54, 0x69, 0x6d, - 0x65, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x43, 0x6f, 0x6f, 0x6c, 0x69, 0x6e, 0x67, 0x54, 0x69, 0x6d, - 0x65, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0b, 0x43, 0x6f, 0x6f, 0x6c, 0x69, 0x6e, 0x67, - 0x54, 0x69, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x0d, 0x20, - 0x03, 0x28, 0x05, 0x52, 0x05, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x41, 0x64, - 0x64, 0x41, 0x72, 0x65, 0x61, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x05, 0x52, 0x07, 0x41, 0x64, 0x64, - 0x41, 0x72, 0x65, 0x61, 0x12, 0x16, 0x0a, 0x06, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0f, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1c, 0x0a, 0x09, - 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x54, 0x79, 0x70, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x09, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x43, 0x6f, - 0x73, 0x74, 0x41, 0x72, 0x65, 0x61, 0x18, 0x11, 0x20, 0x03, 0x28, 0x05, 0x52, 0x08, 0x43, 0x6f, - 0x73, 0x74, 0x41, 0x72, 0x65, 0x61, 0x12, 0x31, 0x0a, 0x05, 0x41, 0x77, 0x61, 0x72, 0x64, 0x18, - 0x12, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x49, - 0x74, 0x65, 0x6d, 0x53, 0x68, 0x6f, 0x70, 0x2e, 0x41, 0x77, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, - 0x72, 0x79, 0x52, 0x05, 0x41, 0x77, 0x61, 0x72, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x56, 0x69, 0x70, - 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x13, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x56, 0x69, 0x70, - 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x18, 0x14, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x12, 0x18, 0x0a, 0x07, 0x45, - 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x15, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x45, 0x6e, - 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x46, 0x69, 0x72, 0x73, 0x74, 0x53, 0x77, - 0x69, 0x74, 0x63, 0x68, 0x18, 0x16, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x46, 0x69, 0x72, 0x73, - 0x74, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x1a, 0x38, 0x0a, 0x0a, 0x41, 0x77, 0x61, 0x72, 0x64, - 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x03, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, - 0x01, 0x22, 0x50, 0x0a, 0x0c, 0x49, 0x74, 0x65, 0x6d, 0x53, 0x68, 0x6f, 0x70, 0x4c, 0x69, 0x73, - 0x74, 0x12, 0x24, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x10, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x53, 0x68, 0x6f, - 0x70, 0x52, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, - 0x6f, 0x72, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, - 0x6f, 0x72, 0x6d, 0x22, 0x50, 0x0a, 0x08, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x12, - 0x16, 0x0a, 0x06, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x06, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x49, 0x74, 0x65, 0x6d, 0x4e, - 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x49, 0x74, 0x65, 0x6d, 0x4e, 0x75, - 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0xa0, 0x01, 0x0a, 0x0e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x49, - 0x6e, 0x66, 0x6f, 0x41, 0x77, 0x61, 0x72, 0x64, 0x12, 0x28, 0x0a, 0x06, 0x49, 0x74, 0x65, 0x6d, - 0x49, 0x64, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, - 0x69, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x49, 0x74, 0x65, 0x6d, - 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x43, 0x6f, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, - 0x52, 0x04, 0x43, 0x6f, 0x69, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, - 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, - 0x12, 0x18, 0x0a, 0x07, 0x55, 0x70, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x07, 0x55, 0x70, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x44, 0x6f, - 0x77, 0x6e, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x44, - 0x6f, 0x77, 0x6e, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x22, 0xed, 0x06, 0x0a, 0x0d, 0x47, 0x61, 0x6d, - 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x44, 0x61, 0x74, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x47, 0x61, - 0x6d, 0x65, 0x46, 0x72, 0x65, 0x65, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, - 0x47, 0x61, 0x6d, 0x65, 0x46, 0x72, 0x65, 0x65, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x4d, 0x61, - 0x74, 0x63, 0x68, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x4d, - 0x61, 0x74, 0x63, 0x68, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x4d, 0x61, 0x74, 0x63, - 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x4d, 0x61, 0x74, - 0x63, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4e, - 0x75, 0x6d, 0x65, 0x62, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x4d, 0x61, 0x74, - 0x63, 0x68, 0x4e, 0x75, 0x6d, 0x65, 0x62, 0x72, 0x12, 0x26, 0x0a, 0x0e, 0x4d, 0x61, 0x74, 0x63, - 0x68, 0x50, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x03, 0x28, 0x05, - 0x52, 0x0e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x69, 0x6f, 0x6e, - 0x12, 0x20, 0x0a, 0x0b, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x18, - 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x77, 0x69, 0x74, - 0x63, 0x68, 0x12, 0x2c, 0x0a, 0x05, 0x41, 0x77, 0x61, 0x72, 0x64, 0x18, 0x08, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x16, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, - 0x49, 0x6e, 0x66, 0x6f, 0x41, 0x77, 0x61, 0x72, 0x64, 0x52, 0x05, 0x41, 0x77, 0x61, 0x72, 0x64, - 0x12, 0x26, 0x0a, 0x0e, 0x53, 0x69, 0x67, 0x6e, 0x75, 0x70, 0x43, 0x6f, 0x73, 0x74, 0x43, 0x6f, - 0x69, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x53, 0x69, 0x67, 0x6e, 0x75, 0x70, - 0x43, 0x6f, 0x73, 0x74, 0x43, 0x6f, 0x69, 0x6e, 0x12, 0x2c, 0x0a, 0x11, 0x53, 0x69, 0x67, 0x6e, - 0x75, 0x70, 0x43, 0x6f, 0x73, 0x74, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x18, 0x0a, 0x20, - 0x01, 0x28, 0x03, 0x52, 0x11, 0x53, 0x69, 0x67, 0x6e, 0x75, 0x70, 0x43, 0x6f, 0x73, 0x74, 0x44, - 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x12, 0x38, 0x0a, 0x0e, 0x53, 0x69, 0x67, 0x6e, 0x75, 0x70, - 0x43, 0x6f, 0x73, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, - 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, - 0x52, 0x0e, 0x53, 0x69, 0x67, 0x6e, 0x75, 0x70, 0x43, 0x6f, 0x73, 0x74, 0x49, 0x74, 0x65, 0x6d, - 0x12, 0x24, 0x0a, 0x0d, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x54, 0x79, 0x70, - 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x54, 0x69, - 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x54, - 0x69, 0x6d, 0x65, 0x57, 0x65, 0x65, 0x6b, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0d, 0x4d, - 0x61, 0x74, 0x63, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x57, 0x65, 0x65, 0x6b, 0x12, 0x2c, 0x0a, 0x11, - 0x4d, 0x61, 0x74, 0x63, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x48, 0x4d, - 0x53, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x11, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x54, 0x69, - 0x6d, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x48, 0x4d, 0x53, 0x12, 0x28, 0x0a, 0x0f, 0x4d, 0x61, - 0x74, 0x63, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x45, 0x6e, 0x64, 0x48, 0x4d, 0x53, 0x18, 0x0f, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x0f, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x45, 0x6e, - 0x64, 0x48, 0x4d, 0x53, 0x12, 0x26, 0x0a, 0x0e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x54, 0x69, 0x6d, - 0x65, 0x53, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x10, 0x20, 0x03, 0x28, 0x03, 0x52, 0x0e, 0x4d, 0x61, - 0x74, 0x63, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1a, 0x0a, 0x08, - 0x54, 0x69, 0x74, 0x6c, 0x65, 0x55, 0x52, 0x4c, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, - 0x54, 0x69, 0x74, 0x6c, 0x65, 0x55, 0x52, 0x4c, 0x12, 0x1c, 0x0a, 0x09, 0x41, 0x77, 0x61, 0x72, - 0x64, 0x53, 0x68, 0x6f, 0x77, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x41, 0x77, 0x61, - 0x72, 0x64, 0x53, 0x68, 0x6f, 0x77, 0x12, 0x12, 0x0a, 0x04, 0x52, 0x75, 0x6c, 0x65, 0x18, 0x13, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x6f, - 0x72, 0x74, 0x49, 0x64, 0x18, 0x14, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x53, 0x6f, 0x72, 0x74, - 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x55, 0x73, 0x65, 0x52, 0x6f, 0x62, 0x6f, 0x74, 0x18, 0x15, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x55, 0x73, 0x65, 0x52, 0x6f, 0x62, 0x6f, 0x74, 0x12, 0x1e, - 0x0a, 0x0a, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x16, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x0a, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x24, - 0x0a, 0x0d, 0x4f, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x18, - 0x17, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x4f, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, - 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x43, 0x61, 0x72, 0x64, 0x54, 0x79, 0x70, 0x65, - 0x18, 0x18, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x43, 0x61, 0x72, 0x64, 0x54, 0x79, 0x70, 0x65, - 0x12, 0x16, 0x0a, 0x06, 0x53, 0x68, 0x6f, 0x77, 0x49, 0x64, 0x18, 0x19, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x06, 0x53, 0x68, 0x6f, 0x77, 0x49, 0x64, 0x22, 0x5a, 0x0a, 0x11, 0x47, 0x61, 0x6d, 0x65, - 0x4d, 0x61, 0x74, 0x63, 0x68, 0x44, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x29, 0x0a, - 0x04, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x77, 0x65, - 0x62, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x61, 0x6d, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x44, 0x61, - 0x74, 0x65, 0x52, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, - 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, - 0x66, 0x6f, 0x72, 0x6d, 0x22, 0x5b, 0x0a, 0x0d, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x54, 0x79, 0x70, - 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x6f, 0x72, - 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x53, 0x6f, 0x72, 0x74, 0x49, - 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x4f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x02, 0x4f, - 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, - 0x64, 0x22, 0x56, 0x0a, 0x0d, 0x47, 0x61, 0x6d, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x54, 0x79, - 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x29, - 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x77, - 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x54, 0x79, 0x70, 0x65, 0x49, - 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x64, 0x0a, 0x0b, 0x57, 0x65, 0x6c, - 0x66, 0x61, 0x72, 0x65, 0x44, 0x61, 0x74, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x47, 0x72, 0x61, 0x64, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x47, 0x72, 0x61, 0x64, 0x65, 0x12, 0x12, - 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x54, 0x79, - 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x49, 0x74, 0x65, 0x6d, 0x5f, 0x49, - 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x22, - 0x4f, 0x0a, 0x14, 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x54, 0x75, 0x72, 0x6e, 0x70, 0x6c, - 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x04, 0x44, 0x61, 0x74, 0x65, 0x18, - 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x57, - 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x44, 0x61, 0x74, 0x65, 0x52, 0x04, 0x44, 0x61, 0x74, 0x65, - 0x22, 0x2a, 0x0a, 0x14, 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x54, 0x75, 0x72, 0x6e, 0x70, - 0x6c, 0x61, 0x74, 0x65, 0x52, 0x61, 0x74, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x52, 0x61, 0x74, 0x65, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x05, 0x52, 0x04, 0x52, 0x61, 0x74, 0x65, 0x22, 0xba, 0x01, 0x0a, - 0x18, 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x54, 0x75, 0x72, 0x6e, 0x70, 0x6c, 0x61, 0x74, - 0x65, 0x44, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x04, 0x4c, 0x69, 0x73, - 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, - 0x2e, 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x54, 0x75, 0x72, 0x6e, 0x70, 0x6c, 0x61, 0x74, - 0x65, 0x44, 0x61, 0x74, 0x65, 0x52, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x08, 0x52, - 0x61, 0x74, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, - 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x54, 0x75, - 0x72, 0x6e, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x61, 0x74, 0x65, 0x52, 0x08, 0x52, 0x61, 0x74, - 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, - 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, - 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x06, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x22, 0x61, 0x0a, 0x10, 0x41, 0x64, 0x64, - 0x55, 0x70, 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x44, 0x61, 0x74, 0x65, 0x12, 0x1a, 0x0a, - 0x08, 0x41, 0x64, 0x64, 0x55, 0x70, 0x44, 0x61, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x08, 0x41, 0x64, 0x64, 0x55, 0x70, 0x44, 0x61, 0x79, 0x12, 0x31, 0x0a, 0x09, 0x41, 0x64, 0x64, - 0x55, 0x70, 0x44, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x77, - 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x44, 0x61, 0x74, - 0x65, 0x52, 0x09, 0x41, 0x64, 0x64, 0x55, 0x70, 0x44, 0x61, 0x74, 0x65, 0x22, 0x48, 0x0a, 0x12, - 0x41, 0x64, 0x64, 0x55, 0x70, 0x44, 0x61, 0x74, 0x65, 0x32, 0x54, 0x79, 0x70, 0x65, 0x44, 0x61, - 0x74, 0x61, 0x12, 0x10, 0x0a, 0x03, 0x44, 0x61, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x03, 0x44, 0x61, 0x79, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x02, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x4e, 0x75, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x03, 0x4e, 0x75, 0x6d, 0x22, 0xc9, 0x02, 0x0a, 0x10, 0x57, 0x65, 0x6c, 0x66, 0x61, - 0x72, 0x65, 0x37, 0x53, 0x69, 0x67, 0x6e, 0x44, 0x61, 0x74, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x44, - 0x61, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x44, 0x61, 0x79, 0x12, 0x27, 0x0a, - 0x04, 0x44, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x77, 0x65, - 0x62, 0x61, 0x70, 0x69, 0x2e, 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x44, 0x61, 0x74, 0x65, - 0x52, 0x04, 0x44, 0x61, 0x74, 0x65, 0x12, 0x36, 0x0a, 0x09, 0x41, 0x64, 0x64, 0x55, 0x70, 0x44, - 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x77, 0x65, 0x62, 0x61, - 0x70, 0x69, 0x2e, 0x41, 0x64, 0x64, 0x55, 0x70, 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x44, - 0x61, 0x74, 0x65, 0x52, 0x09, 0x41, 0x64, 0x64, 0x55, 0x70, 0x44, 0x61, 0x74, 0x65, 0x12, 0x38, - 0x0a, 0x0a, 0x41, 0x64, 0x64, 0x55, 0x70, 0x44, 0x61, 0x74, 0x65, 0x32, 0x18, 0x04, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x41, 0x64, 0x64, 0x55, - 0x70, 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x44, 0x61, 0x74, 0x65, 0x52, 0x0a, 0x41, 0x64, - 0x64, 0x55, 0x70, 0x44, 0x61, 0x74, 0x65, 0x32, 0x12, 0x44, 0x0a, 0x10, 0x41, 0x64, 0x64, 0x55, - 0x70, 0x44, 0x61, 0x74, 0x65, 0x32, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x18, 0x05, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x41, 0x64, 0x64, 0x55, - 0x70, 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x44, 0x61, 0x74, 0x65, 0x52, 0x10, 0x41, 0x64, - 0x64, 0x55, 0x70, 0x44, 0x61, 0x74, 0x65, 0x32, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x12, 0x42, - 0x0a, 0x0e, 0x41, 0x64, 0x64, 0x55, 0x70, 0x44, 0x61, 0x74, 0x65, 0x32, 0x54, 0x79, 0x70, 0x65, - 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, - 0x41, 0x64, 0x64, 0x55, 0x70, 0x44, 0x61, 0x74, 0x65, 0x32, 0x54, 0x79, 0x70, 0x65, 0x44, 0x61, - 0x74, 0x61, 0x52, 0x0e, 0x41, 0x64, 0x64, 0x55, 0x70, 0x44, 0x61, 0x74, 0x65, 0x32, 0x54, 0x79, - 0x70, 0x65, 0x22, 0x78, 0x0a, 0x14, 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x37, 0x53, 0x69, - 0x67, 0x6e, 0x44, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x04, 0x4c, 0x69, - 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, - 0x69, 0x2e, 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x37, 0x53, 0x69, 0x67, 0x6e, 0x44, 0x61, - 0x74, 0x65, 0x52, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, - 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, - 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x22, 0xdb, 0x01, 0x0a, - 0x0c, 0x42, 0x6c, 0x69, 0x6e, 0x64, 0x42, 0x6f, 0x78, 0x44, 0x61, 0x74, 0x61, 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, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x47, 0x72, 0x61, 0x64, 0x65, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x47, 0x72, 0x61, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x43, - 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x43, 0x6f, - 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x72, 0x69, 0x63, 0x65, 0x31, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x70, 0x72, 0x69, 0x63, 0x65, 0x31, 0x12, 0x16, 0x0a, - 0x06, 0x70, 0x72, 0x69, 0x63, 0x65, 0x32, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x70, - 0x72, 0x69, 0x63, 0x65, 0x32, 0x12, 0x1a, 0x0a, 0x08, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x01, 0x52, 0x08, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x12, 0x17, 0x0a, 0x07, 0x49, 0x74, 0x65, 0x6d, 0x5f, 0x49, 0x64, 0x18, 0x09, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x06, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x22, 0xa3, 0x01, 0x0a, 0x17, 0x57, - 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x42, 0x6c, 0x69, 0x6e, 0x64, 0x42, 0x6f, 0x78, 0x44, 0x61, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x14, 0x0a, 0x05, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x18, 0x0a, 0x07, + 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x43, + 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x46, 0x6f, 0x6f, 0x74, 0x65, 0x72, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x46, 0x6f, 0x6f, 0x74, 0x65, 0x72, 0x12, 0x1c, + 0x0a, 0x09, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x03, 0x52, 0x09, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, + 0x46, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x09, 0x46, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x53, 0x74, + 0x61, 0x74, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, + 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x09, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, + 0x12, 0x14, 0x0a, 0x05, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x05, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, + 0x74, 0x79, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, + 0x74, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x4d, 0x73, 0x67, 0x54, 0x79, 0x70, 0x65, 0x18, 0x0c, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x07, 0x4d, 0x73, 0x67, 0x54, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, + 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x05, 0x52, 0x06, 0x54, 0x61, + 0x72, 0x67, 0x65, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x53, 0x65, 0x63, + 0x18, 0x0e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x53, 0x65, 0x63, + 0x22, 0x39, 0x0a, 0x0d, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x47, 0x61, 0x6d, 0x65, 0x43, 0x6e, + 0x74, 0x12, 0x16, 0x0a, 0x06, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x06, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x43, 0x6e, 0x74, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x43, 0x6e, 0x74, 0x22, 0xe5, 0x02, 0x0a, 0x0c, + 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x1a, 0x0a, 0x08, + 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x43, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, + 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x43, 0x6e, 0x74, 0x12, 0x2a, 0x0a, 0x10, 0x41, 0x6e, 0x64, 0x72, + 0x6f, 0x69, 0x64, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x43, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x10, 0x41, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, + 0x65, 0x43, 0x6e, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x49, 0x6f, 0x73, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, + 0x65, 0x43, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x49, 0x6f, 0x73, 0x4f, + 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x43, 0x6e, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x44, 0x61, 0x74, 0x69, + 0x6e, 0x67, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x0d, 0x44, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x12, 0x24, + 0x0a, 0x0d, 0x4f, 0x6e, 0x52, 0x6f, 0x6f, 0x6d, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x4f, 0x6e, 0x52, 0x6f, 0x6f, 0x6d, 0x50, 0x6c, 0x61, + 0x79, 0x65, 0x72, 0x73, 0x12, 0x30, 0x0a, 0x13, 0x54, 0x6f, 0x64, 0x61, 0x79, 0x52, 0x65, 0x67, + 0x69, 0x73, 0x74, 0x65, 0x72, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x13, 0x54, 0x6f, 0x64, 0x61, 0x79, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, + 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x36, 0x0a, 0x16, 0x53, 0x65, 0x76, 0x65, 0x6e, 0x44, + 0x61, 0x79, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x16, 0x53, 0x65, 0x76, 0x65, 0x6e, 0x44, 0x61, 0x79, + 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x33, + 0x0a, 0x09, 0x47, 0x61, 0x6d, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x08, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x15, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, + 0x65, 0x47, 0x61, 0x6d, 0x65, 0x43, 0x6e, 0x74, 0x52, 0x09, 0x47, 0x61, 0x6d, 0x65, 0x43, 0x6f, + 0x75, 0x6e, 0x74, 0x22, 0x88, 0x03, 0x0a, 0x0c, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4e, 0x6f, + 0x74, 0x69, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x53, 0x6f, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x04, 0x53, 0x6f, 0x72, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x54, 0x69, 0x74, 0x6c, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x18, + 0x0a, 0x07, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x07, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x54, 0x79, 0x70, 0x65, + 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x54, 0x79, 0x70, 0x65, + 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x53, 0x74, 0x61, 0x72, + 0x74, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x53, 0x74, 0x61, + 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x45, 0x6e, 0x64, 0x54, 0x69, 0x6d, + 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x45, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, + 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x08, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x22, 0x0a, 0x0c, + 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x54, 0x79, 0x70, 0x65, 0x18, 0x09, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x0c, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x54, 0x79, 0x70, 0x65, + 0x12, 0x16, 0x0a, 0x06, 0x49, 0x6d, 0x67, 0x55, 0x72, 0x6c, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x06, 0x49, 0x6d, 0x67, 0x55, 0x72, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x4e, 0x6f, 0x74, 0x69, + 0x63, 0x65, 0x49, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x4e, 0x6f, 0x74, 0x69, + 0x63, 0x65, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x49, 0x73, 0x4c, 0x6f, 0x6f, 0x70, 0x18, 0x0c, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x49, 0x73, 0x4c, 0x6f, 0x6f, 0x70, 0x12, 0x1a, 0x0a, 0x08, + 0x4c, 0x6f, 0x6f, 0x70, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, + 0x4c, 0x6f, 0x6f, 0x70, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x4f, 0x6e, 0x43, 0x68, + 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x09, 0x52, + 0x0d, 0x4f, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x58, + 0x0a, 0x10, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x69, 0x63, 0x65, 0x4c, 0x69, + 0x73, 0x74, 0x12, 0x28, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x14, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, + 0x4e, 0x6f, 0x74, 0x69, 0x63, 0x65, 0x52, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, + 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x22, 0xa6, 0x03, 0x0a, 0x0c, 0x45, 0x78, 0x63, + 0x68, 0x61, 0x6e, 0x67, 0x65, 0x53, 0x68, 0x6f, 0x70, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x50, 0x69, 0x63, + 0x74, 0x75, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x50, 0x69, 0x63, 0x74, + 0x75, 0x72, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x43, + 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x43, 0x6f, + 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x44, 0x61, 0x79, 0x50, 0x6c, 0x61, 0x79, + 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x44, 0x61, 0x79, + 0x50, 0x6c, 0x61, 0x79, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x2c, 0x0a, 0x06, 0x45, 0x78, 0x54, + 0x79, 0x70, 0x65, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x77, 0x65, 0x62, 0x61, + 0x70, 0x69, 0x2e, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, + 0x06, 0x45, 0x78, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x54, 0x65, 0x6c, 0x43, 0x68, + 0x61, 0x72, 0x67, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x54, 0x65, 0x6c, 0x43, + 0x68, 0x61, 0x72, 0x67, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x18, + 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x26, 0x0a, + 0x0e, 0x56, 0x69, 0x70, 0x44, 0x61, 0x79, 0x4d, 0x61, 0x78, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x18, + 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x56, 0x69, 0x70, 0x44, 0x61, 0x79, 0x4d, 0x61, 0x78, + 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x2c, 0x0a, 0x11, 0x4e, 0x6f, 0x74, 0x56, 0x69, 0x70, 0x44, + 0x61, 0x79, 0x4d, 0x61, 0x78, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x11, 0x4e, 0x6f, 0x74, 0x56, 0x69, 0x70, 0x44, 0x61, 0x79, 0x4d, 0x61, 0x78, 0x4c, 0x69, + 0x6d, 0x69, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x56, 0x69, 0x70, 0x53, 0x68, 0x6f, 0x70, 0x4c, 0x69, + 0x6d, 0x69, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x56, 0x69, 0x70, 0x53, 0x68, + 0x6f, 0x70, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x28, 0x0a, 0x0f, 0x4e, 0x6f, 0x74, 0x56, 0x69, + 0x70, 0x53, 0x68, 0x6f, 0x70, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x0f, 0x4e, 0x6f, 0x74, 0x56, 0x69, 0x70, 0x53, 0x68, 0x6f, 0x70, 0x4c, 0x69, 0x6d, 0x69, + 0x74, 0x22, 0x60, 0x0a, 0x0c, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x79, 0x70, + 0x65, 0x12, 0x14, 0x0a, 0x05, 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x05, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x4a, 0x50, 0x72, 0x69, 0x63, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x4a, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, + 0x12, 0x0a, 0x04, 0x43, 0x61, 0x73, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x43, + 0x61, 0x73, 0x68, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x02, 0x49, 0x64, 0x22, 0x58, 0x0a, 0x10, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x53, + 0x68, 0x6f, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x28, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x45, + 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x53, 0x68, 0x6f, 0x70, 0x52, 0x04, 0x4c, 0x69, 0x73, + 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x22, 0x83, 0x05, + 0x0a, 0x08, 0x49, 0x74, 0x65, 0x6d, 0x53, 0x68, 0x6f, 0x70, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x49, 0x74, + 0x65, 0x6d, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x49, 0x74, 0x65, 0x6d, + 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x50, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x04, 0x50, 0x61, 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, + 0x54, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x54, 0x79, 0x70, 0x65, + 0x12, 0x1a, 0x0a, 0x08, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x03, + 0x28, 0x05, 0x52, 0x08, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, + 0x50, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x50, + 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x08, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x41, 0x64, + 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x41, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x41, 0x64, + 0x54, 0x69, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x41, 0x64, 0x54, 0x69, + 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x54, 0x69, 0x6d, 0x65, + 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x54, + 0x69, 0x6d, 0x65, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x43, 0x6f, 0x6f, 0x6c, 0x69, 0x6e, 0x67, 0x54, + 0x69, 0x6d, 0x65, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0b, 0x43, 0x6f, 0x6f, 0x6c, 0x69, + 0x6e, 0x67, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x18, + 0x0d, 0x20, 0x03, 0x28, 0x05, 0x52, 0x05, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x18, 0x0a, 0x07, + 0x41, 0x64, 0x64, 0x41, 0x72, 0x65, 0x61, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x05, 0x52, 0x07, 0x41, + 0x64, 0x64, 0x41, 0x72, 0x65, 0x61, 0x12, 0x16, 0x0a, 0x06, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, + 0x18, 0x0f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1c, + 0x0a, 0x09, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x54, 0x79, 0x70, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x09, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, + 0x43, 0x6f, 0x73, 0x74, 0x41, 0x72, 0x65, 0x61, 0x18, 0x11, 0x20, 0x03, 0x28, 0x05, 0x52, 0x08, + 0x43, 0x6f, 0x73, 0x74, 0x41, 0x72, 0x65, 0x61, 0x12, 0x31, 0x0a, 0x05, 0x41, 0x77, 0x61, 0x72, + 0x64, 0x18, 0x12, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, + 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x53, 0x68, 0x6f, 0x70, 0x2e, 0x41, 0x77, 0x61, 0x72, 0x64, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x41, 0x77, 0x61, 0x72, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x56, + 0x69, 0x70, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x13, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x56, + 0x69, 0x70, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x52, 0x61, 0x74, 0x69, 0x6f, + 0x18, 0x14, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x12, 0x18, 0x0a, + 0x07, 0x45, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x15, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, + 0x45, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x46, 0x69, 0x72, 0x73, 0x74, + 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x18, 0x16, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x46, 0x69, + 0x72, 0x73, 0x74, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x1a, 0x38, 0x0a, 0x0a, 0x41, 0x77, 0x61, + 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, + 0x02, 0x38, 0x01, 0x22, 0x50, 0x0a, 0x0c, 0x49, 0x74, 0x65, 0x6d, 0x53, 0x68, 0x6f, 0x70, 0x4c, + 0x69, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x10, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x53, + 0x68, 0x6f, 0x70, 0x52, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x22, 0x50, 0x0a, 0x08, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, + 0x6f, 0x12, 0x16, 0x0a, 0x06, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x06, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x49, 0x74, 0x65, + 0x6d, 0x4e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x49, 0x74, 0x65, 0x6d, + 0x4e, 0x75, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0xa0, 0x01, 0x0a, 0x0e, 0x4d, 0x61, 0x74, 0x63, + 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x41, 0x77, 0x61, 0x72, 0x64, 0x12, 0x28, 0x0a, 0x06, 0x49, 0x74, + 0x65, 0x6d, 0x49, 0x64, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x77, 0x65, 0x62, + 0x61, 0x70, 0x69, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x49, 0x74, + 0x65, 0x6d, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x43, 0x6f, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x03, 0x52, 0x04, 0x43, 0x6f, 0x69, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x44, 0x69, 0x61, 0x6d, + 0x6f, 0x6e, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x44, 0x69, 0x61, 0x6d, 0x6f, + 0x6e, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x55, 0x70, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x07, 0x55, 0x70, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1c, 0x0a, 0x09, + 0x44, 0x6f, 0x77, 0x6e, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x09, 0x44, 0x6f, 0x77, 0x6e, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x22, 0xed, 0x06, 0x0a, 0x0d, 0x47, + 0x61, 0x6d, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x44, 0x61, 0x74, 0x65, 0x12, 0x0e, 0x0a, 0x02, + 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, + 0x47, 0x61, 0x6d, 0x65, 0x46, 0x72, 0x65, 0x65, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x0a, 0x47, 0x61, 0x6d, 0x65, 0x46, 0x72, 0x65, 0x65, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, + 0x4d, 0x61, 0x74, 0x63, 0x68, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x09, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x4d, 0x61, + 0x74, 0x63, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x4d, + 0x61, 0x74, 0x63, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x4d, 0x61, 0x74, 0x63, + 0x68, 0x4e, 0x75, 0x6d, 0x65, 0x62, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x4d, + 0x61, 0x74, 0x63, 0x68, 0x4e, 0x75, 0x6d, 0x65, 0x62, 0x72, 0x12, 0x26, 0x0a, 0x0e, 0x4d, 0x61, + 0x74, 0x63, 0x68, 0x50, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x03, + 0x28, 0x05, 0x52, 0x0e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x77, 0x69, 0x74, 0x63, + 0x68, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x77, + 0x69, 0x74, 0x63, 0x68, 0x12, 0x2c, 0x0a, 0x05, 0x41, 0x77, 0x61, 0x72, 0x64, 0x18, 0x08, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x4d, 0x61, 0x74, + 0x63, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x41, 0x77, 0x61, 0x72, 0x64, 0x52, 0x05, 0x41, 0x77, 0x61, + 0x72, 0x64, 0x12, 0x26, 0x0a, 0x0e, 0x53, 0x69, 0x67, 0x6e, 0x75, 0x70, 0x43, 0x6f, 0x73, 0x74, + 0x43, 0x6f, 0x69, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x53, 0x69, 0x67, 0x6e, + 0x75, 0x70, 0x43, 0x6f, 0x73, 0x74, 0x43, 0x6f, 0x69, 0x6e, 0x12, 0x2c, 0x0a, 0x11, 0x53, 0x69, + 0x67, 0x6e, 0x75, 0x70, 0x43, 0x6f, 0x73, 0x74, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x18, + 0x0a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x11, 0x53, 0x69, 0x67, 0x6e, 0x75, 0x70, 0x43, 0x6f, 0x73, + 0x74, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x12, 0x38, 0x0a, 0x0e, 0x53, 0x69, 0x67, 0x6e, + 0x75, 0x70, 0x43, 0x6f, 0x73, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x10, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x6e, + 0x66, 0x6f, 0x52, 0x0e, 0x53, 0x69, 0x67, 0x6e, 0x75, 0x70, 0x43, 0x6f, 0x73, 0x74, 0x49, 0x74, + 0x65, 0x6d, 0x12, 0x24, 0x0a, 0x0d, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x54, + 0x79, 0x70, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x4d, 0x61, 0x74, 0x63, 0x68, + 0x54, 0x69, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x4d, 0x61, 0x74, 0x63, + 0x68, 0x54, 0x69, 0x6d, 0x65, 0x57, 0x65, 0x65, 0x6b, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x05, 0x52, + 0x0d, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x57, 0x65, 0x65, 0x6b, 0x12, 0x2c, + 0x0a, 0x11, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, + 0x48, 0x4d, 0x53, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x11, 0x4d, 0x61, 0x74, 0x63, 0x68, + 0x54, 0x69, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x48, 0x4d, 0x53, 0x12, 0x28, 0x0a, 0x0f, + 0x4d, 0x61, 0x74, 0x63, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x45, 0x6e, 0x64, 0x48, 0x4d, 0x53, 0x18, + 0x0f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x54, 0x69, 0x6d, 0x65, + 0x45, 0x6e, 0x64, 0x48, 0x4d, 0x53, 0x12, 0x26, 0x0a, 0x0e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x54, + 0x69, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x10, 0x20, 0x03, 0x28, 0x03, 0x52, 0x0e, + 0x4d, 0x61, 0x74, 0x63, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1a, + 0x0a, 0x08, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x55, 0x52, 0x4c, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x55, 0x52, 0x4c, 0x12, 0x1c, 0x0a, 0x09, 0x41, 0x77, + 0x61, 0x72, 0x64, 0x53, 0x68, 0x6f, 0x77, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x41, + 0x77, 0x61, 0x72, 0x64, 0x53, 0x68, 0x6f, 0x77, 0x12, 0x12, 0x0a, 0x04, 0x52, 0x75, 0x6c, 0x65, + 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x16, 0x0a, 0x06, + 0x53, 0x6f, 0x72, 0x74, 0x49, 0x64, 0x18, 0x14, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x53, 0x6f, + 0x72, 0x74, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x55, 0x73, 0x65, 0x52, 0x6f, 0x62, 0x6f, 0x74, + 0x18, 0x15, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x55, 0x73, 0x65, 0x52, 0x6f, 0x62, 0x6f, 0x74, + 0x12, 0x1e, 0x0a, 0x0a, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x16, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4c, 0x65, 0x76, 0x65, 0x6c, + 0x12, 0x24, 0x0a, 0x0d, 0x4f, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4e, 0x61, 0x6d, + 0x65, 0x18, 0x17, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x4f, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x6e, + 0x65, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x43, 0x61, 0x72, 0x64, 0x54, 0x79, + 0x70, 0x65, 0x18, 0x18, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x43, 0x61, 0x72, 0x64, 0x54, 0x79, + 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x68, 0x6f, 0x77, 0x49, 0x64, 0x18, 0x19, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x06, 0x53, 0x68, 0x6f, 0x77, 0x49, 0x64, 0x22, 0x5a, 0x0a, 0x11, 0x47, 0x61, + 0x6d, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x44, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, + 0x29, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, + 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x61, 0x6d, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, + 0x44, 0x61, 0x74, 0x65, 0x52, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x22, 0x5b, 0x0a, 0x0d, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x54, + 0x79, 0x70, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x53, + 0x6f, 0x72, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x53, 0x6f, 0x72, + 0x74, 0x49, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x4f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x02, 0x4f, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x02, 0x49, 0x64, 0x22, 0x56, 0x0a, 0x0d, 0x47, 0x61, 0x6d, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, + 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x12, 0x29, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, + 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x54, 0x79, 0x70, + 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x64, 0x0a, 0x0b, 0x57, + 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x44, 0x61, 0x74, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x47, 0x72, + 0x61, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x47, 0x72, 0x61, 0x64, 0x65, + 0x12, 0x12, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, + 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x49, 0x74, 0x65, 0x6d, + 0x5f, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x49, 0x74, 0x65, 0x6d, 0x49, + 0x64, 0x22, 0x4f, 0x0a, 0x14, 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x54, 0x75, 0x72, 0x6e, + 0x70, 0x6c, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x04, 0x44, 0x61, 0x74, + 0x65, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, + 0x2e, 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x44, 0x61, 0x74, 0x65, 0x52, 0x04, 0x44, 0x61, + 0x74, 0x65, 0x22, 0x2a, 0x0a, 0x14, 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x54, 0x75, 0x72, + 0x6e, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x61, 0x74, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x52, 0x61, + 0x74, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x05, 0x52, 0x04, 0x52, 0x61, 0x74, 0x65, 0x22, 0xba, + 0x01, 0x0a, 0x18, 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x54, 0x75, 0x72, 0x6e, 0x70, 0x6c, + 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x04, 0x4c, + 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x77, 0x65, 0x62, 0x61, + 0x70, 0x69, 0x2e, 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x54, 0x75, 0x72, 0x6e, 0x70, 0x6c, + 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x65, 0x52, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x38, 0x0a, + 0x08, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x1c, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, + 0x54, 0x75, 0x72, 0x6e, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x61, 0x74, 0x65, 0x52, 0x08, 0x52, + 0x61, 0x74, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x06, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x22, 0x61, 0x0a, 0x10, 0x41, + 0x64, 0x64, 0x55, 0x70, 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x44, 0x61, 0x74, 0x65, 0x12, + 0x1a, 0x0a, 0x08, 0x41, 0x64, 0x64, 0x55, 0x70, 0x44, 0x61, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x08, 0x41, 0x64, 0x64, 0x55, 0x70, 0x44, 0x61, 0x79, 0x12, 0x31, 0x0a, 0x09, 0x41, + 0x64, 0x64, 0x55, 0x70, 0x44, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, + 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x44, + 0x61, 0x74, 0x65, 0x52, 0x09, 0x41, 0x64, 0x64, 0x55, 0x70, 0x44, 0x61, 0x74, 0x65, 0x22, 0x48, + 0x0a, 0x12, 0x41, 0x64, 0x64, 0x55, 0x70, 0x44, 0x61, 0x74, 0x65, 0x32, 0x54, 0x79, 0x70, 0x65, + 0x44, 0x61, 0x74, 0x61, 0x12, 0x10, 0x0a, 0x03, 0x44, 0x61, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x03, 0x44, 0x61, 0x79, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x4e, 0x75, 0x6d, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x03, 0x4e, 0x75, 0x6d, 0x22, 0xc9, 0x02, 0x0a, 0x10, 0x57, 0x65, 0x6c, + 0x66, 0x61, 0x72, 0x65, 0x37, 0x53, 0x69, 0x67, 0x6e, 0x44, 0x61, 0x74, 0x65, 0x12, 0x10, 0x0a, + 0x03, 0x44, 0x61, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x44, 0x61, 0x79, 0x12, + 0x27, 0x0a, 0x04, 0x44, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, + 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x44, 0x61, + 0x74, 0x65, 0x52, 0x04, 0x44, 0x61, 0x74, 0x65, 0x12, 0x36, 0x0a, 0x09, 0x41, 0x64, 0x64, 0x55, + 0x70, 0x44, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x77, 0x65, + 0x62, 0x61, 0x70, 0x69, 0x2e, 0x41, 0x64, 0x64, 0x55, 0x70, 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, + 0x65, 0x44, 0x61, 0x74, 0x65, 0x52, 0x09, 0x41, 0x64, 0x64, 0x55, 0x70, 0x44, 0x61, 0x74, 0x65, + 0x12, 0x38, 0x0a, 0x0a, 0x41, 0x64, 0x64, 0x55, 0x70, 0x44, 0x61, 0x74, 0x65, 0x32, 0x18, 0x04, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x41, 0x64, + 0x64, 0x55, 0x70, 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x44, 0x61, 0x74, 0x65, 0x52, 0x0a, + 0x41, 0x64, 0x64, 0x55, 0x70, 0x44, 0x61, 0x74, 0x65, 0x32, 0x12, 0x44, 0x0a, 0x10, 0x41, 0x64, + 0x64, 0x55, 0x70, 0x44, 0x61, 0x74, 0x65, 0x32, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x18, 0x05, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x41, 0x64, + 0x64, 0x55, 0x70, 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x44, 0x61, 0x74, 0x65, 0x52, 0x10, + 0x41, 0x64, 0x64, 0x55, 0x70, 0x44, 0x61, 0x74, 0x65, 0x32, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x12, 0x42, 0x0a, 0x0e, 0x41, 0x64, 0x64, 0x55, 0x70, 0x44, 0x61, 0x74, 0x65, 0x32, 0x54, 0x79, + 0x70, 0x65, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, + 0x69, 0x2e, 0x41, 0x64, 0x64, 0x55, 0x70, 0x44, 0x61, 0x74, 0x65, 0x32, 0x54, 0x79, 0x70, 0x65, + 0x44, 0x61, 0x74, 0x61, 0x52, 0x0e, 0x41, 0x64, 0x64, 0x55, 0x70, 0x44, 0x61, 0x74, 0x65, 0x32, + 0x54, 0x79, 0x70, 0x65, 0x22, 0x78, 0x0a, 0x14, 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x37, + 0x53, 0x69, 0x67, 0x6e, 0x44, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x04, + 0x4c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x77, 0x65, 0x62, + 0x61, 0x70, 0x69, 0x2e, 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x37, 0x53, 0x69, 0x67, 0x6e, + 0x44, 0x61, 0x74, 0x65, 0x52, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x22, 0xdb, + 0x01, 0x0a, 0x0c, 0x42, 0x6c, 0x69, 0x6e, 0x64, 0x42, 0x6f, 0x78, 0x44, 0x61, 0x74, 0x61, 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, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x47, 0x72, 0x61, 0x64, 0x65, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x47, 0x72, 0x61, 0x64, 0x65, 0x12, 0x18, 0x0a, + 0x07, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, + 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x72, 0x69, 0x63, 0x65, + 0x31, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x70, 0x72, 0x69, 0x63, 0x65, 0x31, 0x12, + 0x16, 0x0a, 0x06, 0x70, 0x72, 0x69, 0x63, 0x65, 0x32, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x06, 0x70, 0x72, 0x69, 0x63, 0x65, 0x32, 0x12, 0x1a, 0x0a, 0x08, 0x44, 0x69, 0x73, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x01, 0x52, 0x08, 0x44, 0x69, 0x73, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x49, 0x74, 0x65, 0x6d, 0x5f, 0x49, 0x64, 0x18, 0x09, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x22, 0xa3, 0x01, 0x0a, + 0x17, 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x42, 0x6c, 0x69, 0x6e, 0x64, 0x42, 0x6f, 0x78, + 0x44, 0x61, 0x74, 0x61, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x28, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, + 0x42, 0x6c, 0x69, 0x6e, 0x64, 0x42, 0x6f, 0x78, 0x44, 0x61, 0x74, 0x61, 0x52, 0x04, 0x4c, 0x69, + 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x16, + 0x0a, 0x06, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, + 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x12, 0x14, 0x0a, 0x05, 0x43, 0x79, 0x63, 0x6c, 0x65, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x43, 0x79, 0x63, 0x6c, 0x65, 0x12, 0x14, 0x0a, 0x05, + 0x4d, 0x69, 0x6e, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x4d, 0x69, 0x6e, + 0x49, 0x64, 0x22, 0xc5, 0x01, 0x0a, 0x0c, 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x53, 0x70, + 0x72, 0x65, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x44, 0x61, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x03, 0x44, 0x61, 0x79, 0x12, 0x27, 0x0a, 0x04, 0x49, 0x74, 0x65, 0x6d, 0x18, 0x02, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x57, 0x65, 0x6c, + 0x66, 0x61, 0x72, 0x65, 0x44, 0x61, 0x74, 0x65, 0x52, 0x04, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x14, + 0x0a, 0x05, 0x56, 0x49, 0x50, 0x45, 0x58, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x56, + 0x49, 0x50, 0x45, 0x58, 0x12, 0x18, 0x0a, 0x07, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x12, 0x16, + 0x0a, 0x06, 0x70, 0x72, 0x69, 0x63, 0x65, 0x31, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, + 0x70, 0x72, 0x69, 0x63, 0x65, 0x31, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x72, 0x69, 0x63, 0x65, 0x32, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x70, 0x72, 0x69, 0x63, 0x65, 0x32, 0x12, 0x1a, + 0x0a, 0x08, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x01, + 0x52, 0x08, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x8d, 0x01, 0x0a, 0x17, 0x57, + 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x46, 0x69, 0x72, 0x73, 0x74, 0x50, 0x61, 0x79, 0x44, 0x61, 0x74, 0x61, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x28, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x01, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x42, 0x6c, - 0x69, 0x6e, 0x64, 0x42, 0x6f, 0x78, 0x44, 0x61, 0x74, 0x61, 0x52, 0x04, 0x4c, 0x69, 0x73, 0x74, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x57, 0x65, + 0x6c, 0x66, 0x61, 0x72, 0x65, 0x53, 0x70, 0x72, 0x65, 0x65, 0x52, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x12, 0x14, 0x0a, 0x05, 0x43, 0x79, 0x63, 0x6c, 0x65, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x05, 0x43, 0x79, 0x63, 0x6c, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x4d, 0x69, - 0x6e, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x4d, 0x69, 0x6e, 0x49, 0x64, - 0x22, 0xc5, 0x01, 0x0a, 0x0c, 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x53, 0x70, 0x72, 0x65, - 0x65, 0x12, 0x10, 0x0a, 0x03, 0x44, 0x61, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, - 0x44, 0x61, 0x79, 0x12, 0x27, 0x0a, 0x04, 0x49, 0x74, 0x65, 0x6d, 0x18, 0x02, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x13, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x57, 0x65, 0x6c, 0x66, 0x61, - 0x72, 0x65, 0x44, 0x61, 0x74, 0x65, 0x52, 0x04, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x14, 0x0a, 0x05, - 0x56, 0x49, 0x50, 0x45, 0x58, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x56, 0x49, 0x50, - 0x45, 0x58, 0x12, 0x18, 0x0a, 0x07, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x07, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, - 0x70, 0x72, 0x69, 0x63, 0x65, 0x31, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x70, 0x72, - 0x69, 0x63, 0x65, 0x31, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x72, 0x69, 0x63, 0x65, 0x32, 0x18, 0x07, - 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x70, 0x72, 0x69, 0x63, 0x65, 0x32, 0x12, 0x1a, 0x0a, 0x08, - 0x44, 0x69, 0x73, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x01, 0x52, 0x08, - 0x44, 0x69, 0x73, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x8d, 0x01, 0x0a, 0x17, 0x57, 0x65, 0x6c, - 0x66, 0x61, 0x72, 0x65, 0x46, 0x69, 0x72, 0x73, 0x74, 0x50, 0x61, 0x79, 0x44, 0x61, 0x74, 0x61, - 0x4c, 0x69, 0x73, 0x74, 0x12, 0x28, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x57, 0x65, 0x6c, 0x66, - 0x61, 0x72, 0x65, 0x53, 0x70, 0x72, 0x65, 0x65, 0x52, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1a, - 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x77, - 0x69, 0x74, 0x63, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x53, 0x77, 0x69, 0x74, - 0x63, 0x68, 0x12, 0x14, 0x0a, 0x05, 0x43, 0x79, 0x63, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x05, 0x43, 0x79, 0x63, 0x6c, 0x65, 0x22, 0xa8, 0x01, 0x0a, 0x1c, 0x57, 0x65, 0x6c, - 0x66, 0x61, 0x72, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x6f, 0x75, 0x73, 0x50, 0x61, - 0x79, 0x44, 0x61, 0x74, 0x61, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x28, 0x0a, 0x04, 0x4c, 0x69, 0x73, - 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, - 0x2e, 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x53, 0x70, 0x72, 0x65, 0x65, 0x52, 0x04, 0x4c, - 0x69, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, - 0x16, 0x0a, 0x06, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x06, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x12, 0x14, 0x0a, 0x05, 0x43, 0x79, 0x63, 0x6c, 0x65, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x43, 0x79, 0x63, 0x6c, 0x65, 0x12, 0x14, 0x0a, - 0x05, 0x42, 0x72, 0x65, 0x61, 0x6b, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x42, 0x72, - 0x65, 0x61, 0x6b, 0x22, 0xc4, 0x05, 0x0a, 0x06, 0x56, 0x49, 0x50, 0x63, 0x66, 0x67, 0x12, 0x14, - 0x0a, 0x05, 0x56, 0x69, 0x70, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x56, - 0x69, 0x70, 0x49, 0x64, 0x12, 0x2f, 0x0a, 0x05, 0x41, 0x77, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x56, 0x49, 0x50, - 0x63, 0x66, 0x67, 0x2e, 0x41, 0x77, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, - 0x41, 0x77, 0x61, 0x72, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x56, 0x69, 0x70, 0x45, 0x78, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x56, 0x69, 0x70, 0x45, 0x78, 0x12, 0x14, 0x0a, 0x05, 0x50, - 0x72, 0x69, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x50, 0x72, 0x69, 0x63, - 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x31, 0x18, - 0x05, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, - 0x31, 0x12, 0x1e, 0x0a, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x32, 0x18, - 0x06, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, - 0x32, 0x12, 0x1e, 0x0a, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x33, 0x18, - 0x07, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, - 0x33, 0x12, 0x1e, 0x0a, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x34, 0x18, - 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, - 0x34, 0x12, 0x1e, 0x0a, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x35, 0x18, - 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, - 0x35, 0x12, 0x1e, 0x0a, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x36, 0x18, - 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, - 0x36, 0x12, 0x3e, 0x0a, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x37, 0x18, - 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x56, - 0x49, 0x50, 0x63, 0x66, 0x67, 0x2e, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x37, - 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, - 0x37, 0x12, 0x28, 0x0a, 0x0f, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x37, 0x50, - 0x72, 0x69, 0x63, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x50, 0x72, 0x69, 0x76, - 0x69, 0x6c, 0x65, 0x67, 0x65, 0x37, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x50, - 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x38, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x38, 0x12, 0x28, 0x0a, 0x0f, 0x52, - 0x65, 0x77, 0x61, 0x72, 0x64, 0x4f, 0x75, 0x74, 0x6c, 0x69, 0x6e, 0x65, 0x49, 0x44, 0x18, 0x0e, - 0x20, 0x03, 0x28, 0x05, 0x52, 0x0f, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x4f, 0x75, 0x74, 0x6c, - 0x69, 0x6e, 0x65, 0x49, 0x44, 0x12, 0x18, 0x0a, 0x07, 0x53, 0x68, 0x6f, 0x70, 0x49, 0x64, 0x32, - 0x18, 0x0f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x53, 0x68, 0x6f, 0x70, 0x49, 0x64, 0x32, 0x12, - 0x18, 0x0a, 0x07, 0x53, 0x68, 0x6f, 0x70, 0x49, 0x64, 0x37, 0x18, 0x10, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x07, 0x53, 0x68, 0x6f, 0x70, 0x49, 0x64, 0x37, 0x12, 0x26, 0x0a, 0x0e, 0x4d, 0x61, 0x74, - 0x63, 0x68, 0x46, 0x72, 0x65, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x18, 0x11, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x0e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x46, 0x72, 0x65, 0x65, 0x54, 0x69, 0x6d, 0x65, - 0x73, 0x1a, 0x38, 0x0a, 0x0a, 0x41, 0x77, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, - 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x6b, 0x65, - 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, - 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x3d, 0x0a, 0x0f, 0x50, - 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x37, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, - 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x6b, 0x65, 0x79, - 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, - 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x70, 0x0a, 0x0e, 0x56, 0x49, - 0x50, 0x63, 0x66, 0x67, 0x44, 0x61, 0x74, 0x61, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x04, - 0x4c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x77, 0x65, 0x62, - 0x61, 0x70, 0x69, 0x2e, 0x56, 0x49, 0x50, 0x63, 0x66, 0x67, 0x52, 0x04, 0x4c, 0x69, 0x73, 0x74, - 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x1e, 0x0a, 0x0a, - 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, - 0x52, 0x0a, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x22, 0x95, 0x01, 0x0a, - 0x09, 0x57, 0x62, 0x43, 0x74, 0x72, 0x6c, 0x43, 0x66, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, - 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, - 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x52, 0x65, 0x61, 0x6c, 0x43, 0x74, - 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x52, 0x65, 0x61, 0x6c, 0x43, 0x74, - 0x72, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x4e, 0x6f, 0x76, 0x69, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x06, 0x4e, 0x6f, 0x76, 0x69, 0x63, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x57, 0x65, - 0x6c, 0x66, 0x61, 0x72, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x57, 0x65, 0x6c, - 0x66, 0x61, 0x72, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x4b, 0x69, 0x6c, 0x6c, 0x50, 0x6f, 0x69, 0x6e, - 0x74, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x4b, 0x69, 0x6c, 0x6c, 0x50, 0x6f, - 0x69, 0x6e, 0x74, 0x73, 0x22, 0x57, 0x0a, 0x0b, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x53, 0x77, 0x69, - 0x74, 0x63, 0x68, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, - 0x14, 0x0a, 0x05, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, - 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x18, - 0x03, 0x20, 0x03, 0x28, 0x08, 0x52, 0x06, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x22, 0x64, 0x0a, - 0x0f, 0x43, 0x68, 0x65, 0x73, 0x73, 0x52, 0x61, 0x6e, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, - 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x05, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x27, 0x0a, 0x04, 0x49, 0x74, - 0x65, 0x6d, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, - 0x69, 0x2e, 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x44, 0x61, 0x74, 0x65, 0x52, 0x04, 0x49, - 0x74, 0x65, 0x6d, 0x22, 0x75, 0x0a, 0x10, 0x43, 0x68, 0x65, 0x73, 0x73, 0x52, 0x61, 0x6e, 0x6b, - 0x63, 0x66, 0x67, 0x44, 0x61, 0x74, 0x61, 0x12, 0x2d, 0x0a, 0x05, 0x44, 0x61, 0x74, 0x61, 0x73, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, - 0x43, 0x68, 0x65, 0x73, 0x73, 0x52, 0x61, 0x6e, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, - 0x05, 0x44, 0x61, 0x74, 0x61, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, - 0x72, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, - 0x72, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x06, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x22, 0xb4, 0x03, 0x0a, 0x0a, 0x50, - 0x6c, 0x61, 0x79, 0x65, 0x72, 0x50, 0x6f, 0x6f, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, - 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, - 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x1e, 0x0a, 0x0a, 0x55, 0x70, 0x70, 0x65, 0x72, 0x4c, 0x69, - 0x6d, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x55, 0x70, 0x70, 0x65, 0x72, - 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x4c, 0x6f, 0x77, 0x65, 0x72, 0x4c, 0x69, - 0x6d, 0x69, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x4c, 0x6f, 0x77, 0x65, 0x72, - 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x51, 0x75, 0x44, 0x75, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x03, 0x52, 0x04, 0x51, 0x75, 0x44, 0x75, 0x12, 0x1c, 0x0a, 0x09, 0x55, 0x70, 0x70, - 0x65, 0x72, 0x4f, 0x64, 0x64, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x55, 0x70, - 0x70, 0x65, 0x72, 0x4f, 0x64, 0x64, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x55, 0x70, 0x70, 0x65, 0x72, - 0x4f, 0x64, 0x64, 0x73, 0x4d, 0x61, 0x78, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x55, - 0x70, 0x70, 0x65, 0x72, 0x4f, 0x64, 0x64, 0x73, 0x4d, 0x61, 0x78, 0x12, 0x1c, 0x0a, 0x09, 0x4c, - 0x6f, 0x77, 0x65, 0x72, 0x4f, 0x64, 0x64, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, - 0x4c, 0x6f, 0x77, 0x65, 0x72, 0x4f, 0x64, 0x64, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x4c, 0x6f, 0x77, - 0x65, 0x72, 0x4f, 0x64, 0x64, 0x73, 0x4d, 0x61, 0x78, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x0c, 0x4c, 0x6f, 0x77, 0x65, 0x72, 0x4f, 0x64, 0x64, 0x73, 0x4d, 0x61, 0x78, 0x12, 0x18, 0x0a, - 0x07, 0x46, 0x69, 0x67, 0x68, 0x74, 0x55, 0x70, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, - 0x46, 0x69, 0x67, 0x68, 0x74, 0x55, 0x70, 0x12, 0x1c, 0x0a, 0x09, 0x46, 0x69, 0x67, 0x68, 0x74, - 0x44, 0x6f, 0x77, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x46, 0x69, 0x67, 0x68, - 0x74, 0x44, 0x6f, 0x77, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x50, 0x61, 0x79, 0x55, 0x70, 0x18, 0x0b, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x50, 0x61, 0x79, 0x55, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x50, - 0x61, 0x79, 0x44, 0x6f, 0x77, 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x50, 0x61, - 0x79, 0x44, 0x6f, 0x77, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x54, 0x69, 0x61, 0x6e, 0x48, 0x75, 0x52, - 0x61, 0x74, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x54, 0x69, 0x61, 0x6e, 0x48, - 0x75, 0x52, 0x61, 0x74, 0x65, 0x12, 0x2a, 0x0a, 0x10, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x50, - 0x6f, 0x6f, 0x6c, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x10, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x50, 0x6f, 0x6f, 0x6c, 0x53, 0x77, 0x69, 0x74, 0x63, - 0x68, 0x22, 0xc8, 0x01, 0x0a, 0x0a, 0x47, 0x61, 0x6d, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x16, 0x0a, 0x06, - 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x53, 0x77, - 0x69, 0x74, 0x63, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x54, 0x69, 0x61, 0x6e, 0x48, 0x75, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x54, 0x69, 0x61, 0x6e, 0x48, 0x75, 0x12, 0x14, 0x0a, 0x05, - 0x50, 0x61, 0x69, 0x4b, 0x75, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x50, 0x61, 0x69, - 0x4b, 0x75, 0x12, 0x16, 0x0a, 0x06, 0x46, 0x65, 0x6e, 0x43, 0x68, 0x61, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x06, 0x46, 0x65, 0x6e, 0x43, 0x68, 0x61, 0x12, 0x20, 0x0a, 0x0b, 0x46, 0x65, - 0x6e, 0x43, 0x68, 0x61, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x0b, 0x46, 0x65, 0x6e, 0x43, 0x68, 0x61, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x1e, 0x0a, 0x0a, - 0x47, 0x6f, 0x6f, 0x64, 0x46, 0x65, 0x6e, 0x43, 0x68, 0x61, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x0a, 0x47, 0x6f, 0x6f, 0x64, 0x46, 0x65, 0x6e, 0x43, 0x68, 0x61, 0x22, 0x4f, 0x0a, 0x19, - 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x4c, 0x6f, 0x74, 0x74, - 0x65, 0x72, 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, - 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, - 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x22, 0x4a, 0x0a, - 0x14, 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x01, 0x28, 0x05, 0x52, 0x05, 0x43, 0x79, 0x63, 0x6c, 0x65, 0x22, 0xa8, 0x01, 0x0a, 0x1c, 0x57, + 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x6f, 0x75, 0x73, + 0x50, 0x61, 0x79, 0x44, 0x61, 0x74, 0x61, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x28, 0x0a, 0x04, 0x4c, + 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x77, 0x65, 0x62, 0x61, + 0x70, 0x69, 0x2e, 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x53, 0x70, 0x72, 0x65, 0x65, 0x52, + 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x06, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x12, 0x14, 0x0a, 0x05, 0x43, 0x79, 0x63, + 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x43, 0x79, 0x63, 0x6c, 0x65, 0x12, + 0x14, 0x0a, 0x05, 0x42, 0x72, 0x65, 0x61, 0x6b, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, + 0x42, 0x72, 0x65, 0x61, 0x6b, 0x22, 0xc4, 0x05, 0x0a, 0x06, 0x56, 0x49, 0x50, 0x63, 0x66, 0x67, + 0x12, 0x14, 0x0a, 0x05, 0x56, 0x69, 0x70, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x05, 0x56, 0x69, 0x70, 0x49, 0x64, 0x12, 0x2f, 0x0a, 0x05, 0x41, 0x77, 0x61, 0x72, 0x64, 0x18, + 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x56, + 0x49, 0x50, 0x63, 0x66, 0x67, 0x2e, 0x41, 0x77, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x52, 0x05, 0x41, 0x77, 0x61, 0x72, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x56, 0x69, 0x70, 0x45, 0x78, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x56, 0x69, 0x70, 0x45, 0x78, 0x12, 0x14, 0x0a, + 0x05, 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x50, 0x72, + 0x69, 0x63, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, + 0x31, 0x18, 0x05, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, + 0x67, 0x65, 0x31, 0x12, 0x1e, 0x0a, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, + 0x32, 0x18, 0x06, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, + 0x67, 0x65, 0x32, 0x12, 0x1e, 0x0a, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, + 0x33, 0x18, 0x07, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, + 0x67, 0x65, 0x33, 0x12, 0x1e, 0x0a, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, + 0x34, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, + 0x67, 0x65, 0x34, 0x12, 0x1e, 0x0a, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, + 0x35, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, + 0x67, 0x65, 0x35, 0x12, 0x1e, 0x0a, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, + 0x36, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, + 0x67, 0x65, 0x36, 0x12, 0x3e, 0x0a, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, + 0x37, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, + 0x2e, 0x56, 0x49, 0x50, 0x63, 0x66, 0x67, 0x2e, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, + 0x65, 0x37, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, + 0x67, 0x65, 0x37, 0x12, 0x28, 0x0a, 0x0f, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, + 0x37, 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x50, 0x72, + 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x37, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x1e, 0x0a, + 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x38, 0x18, 0x0d, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x38, 0x12, 0x28, 0x0a, + 0x0f, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x4f, 0x75, 0x74, 0x6c, 0x69, 0x6e, 0x65, 0x49, 0x44, + 0x18, 0x0e, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0f, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x4f, 0x75, + 0x74, 0x6c, 0x69, 0x6e, 0x65, 0x49, 0x44, 0x12, 0x18, 0x0a, 0x07, 0x53, 0x68, 0x6f, 0x70, 0x49, + 0x64, 0x32, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x53, 0x68, 0x6f, 0x70, 0x49, 0x64, + 0x32, 0x12, 0x18, 0x0a, 0x07, 0x53, 0x68, 0x6f, 0x70, 0x49, 0x64, 0x37, 0x18, 0x10, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x07, 0x53, 0x68, 0x6f, 0x70, 0x49, 0x64, 0x37, 0x12, 0x26, 0x0a, 0x0e, 0x4d, + 0x61, 0x74, 0x63, 0x68, 0x46, 0x72, 0x65, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x18, 0x11, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x0e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x46, 0x72, 0x65, 0x65, 0x54, 0x69, + 0x6d, 0x65, 0x73, 0x1a, 0x38, 0x0a, 0x0a, 0x41, 0x77, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, + 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x03, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x3d, 0x0a, + 0x0f, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x37, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x6b, + 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x03, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x70, 0x0a, 0x0e, + 0x56, 0x49, 0x50, 0x63, 0x66, 0x67, 0x44, 0x61, 0x74, 0x61, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x22, + 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x77, + 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x56, 0x49, 0x50, 0x63, 0x66, 0x67, 0x52, 0x04, 0x4c, 0x69, + 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x1e, + 0x0a, 0x0a, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x01, 0x52, 0x0a, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x22, 0x95, + 0x01, 0x0a, 0x09, 0x57, 0x62, 0x43, 0x74, 0x72, 0x6c, 0x43, 0x66, 0x67, 0x12, 0x1a, 0x0a, 0x08, + 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x52, 0x65, 0x61, 0x6c, + 0x43, 0x74, 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x52, 0x65, 0x61, 0x6c, + 0x43, 0x74, 0x72, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x4e, 0x6f, 0x76, 0x69, 0x63, 0x65, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x4e, 0x6f, 0x76, 0x69, 0x63, 0x65, 0x12, 0x18, 0x0a, 0x07, + 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x57, + 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x4b, 0x69, 0x6c, 0x6c, 0x50, 0x6f, + 0x69, 0x6e, 0x74, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x4b, 0x69, 0x6c, 0x6c, + 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x22, 0x57, 0x0a, 0x0b, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x53, + 0x77, 0x69, 0x74, 0x63, 0x68, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, - 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x06, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x22, 0x67, 0x0a, 0x13, 0x43, 0x68, 0x61, - 0x6e, 0x6e, 0x65, 0x6c, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x12, 0x0e, 0x0a, 0x02, 0x54, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x54, 0x70, - 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x24, 0x0a, 0x0d, - 0x4f, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, - 0x03, 0x28, 0x09, 0x52, 0x0d, 0x4f, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4e, 0x61, - 0x6d, 0x65, 0x22, 0x45, 0x0a, 0x09, 0x52, 0x61, 0x6e, 0x6b, 0x41, 0x77, 0x61, 0x72, 0x64, 0x12, - 0x14, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, - 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x45, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x03, 0x52, 0x03, 0x45, 0x6e, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x4e, 0x75, 0x6d, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x4e, 0x75, 0x6d, 0x22, 0x8e, 0x03, 0x0a, 0x0f, 0x41, 0x63, - 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1a, 0x0a, - 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x1c, 0x0a, 0x09, 0x42, 0x69, 0x6e, - 0x64, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x42, 0x69, - 0x6e, 0x64, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x52, 0x65, 0x63, 0x68, 0x61, - 0x72, 0x67, 0x65, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, - 0x52, 0x65, 0x63, 0x68, 0x61, 0x72, 0x67, 0x65, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x41, 0x0a, - 0x08, 0x50, 0x61, 0x79, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x25, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x41, 0x63, 0x74, 0x49, 0x6e, 0x76, 0x69, - 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x50, 0x61, 0x79, 0x53, 0x63, 0x6f, 0x72, - 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x50, 0x61, 0x79, 0x53, 0x63, 0x6f, 0x72, 0x65, - 0x12, 0x14, 0x0a, 0x05, 0x52, 0x61, 0x74, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x03, 0x52, - 0x05, 0x52, 0x61, 0x74, 0x65, 0x73, 0x12, 0x2b, 0x0a, 0x07, 0x41, 0x77, 0x61, 0x72, 0x64, 0x73, - 0x31, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, - 0x2e, 0x52, 0x61, 0x6e, 0x6b, 0x41, 0x77, 0x61, 0x72, 0x64, 0x52, 0x07, 0x41, 0x77, 0x61, 0x72, - 0x64, 0x73, 0x31, 0x12, 0x2b, 0x0a, 0x07, 0x41, 0x77, 0x61, 0x72, 0x64, 0x73, 0x32, 0x18, 0x07, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x52, 0x61, - 0x6e, 0x6b, 0x41, 0x77, 0x61, 0x72, 0x64, 0x52, 0x07, 0x41, 0x77, 0x61, 0x72, 0x64, 0x73, 0x32, - 0x12, 0x2b, 0x0a, 0x07, 0x41, 0x77, 0x61, 0x72, 0x64, 0x73, 0x33, 0x18, 0x08, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x11, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x52, 0x61, 0x6e, 0x6b, 0x41, - 0x77, 0x61, 0x72, 0x64, 0x52, 0x07, 0x41, 0x77, 0x61, 0x72, 0x64, 0x73, 0x33, 0x1a, 0x3b, 0x0a, - 0x0d, 0x50, 0x61, 0x79, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, - 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x6b, 0x65, 0x79, - 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, - 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x91, 0x01, 0x0a, 0x11, 0x50, - 0x65, 0x72, 0x6d, 0x69, 0x74, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x12, 0x12, 0x0a, 0x04, 0x52, 0x61, 0x6e, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, - 0x52, 0x61, 0x6e, 0x6b, 0x12, 0x14, 0x0a, 0x05, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x03, 0x52, 0x05, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x28, 0x0a, 0x06, 0x41, 0x77, - 0x61, 0x72, 0x64, 0x31, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x77, 0x65, 0x62, - 0x61, 0x70, 0x69, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x41, 0x77, - 0x61, 0x72, 0x64, 0x31, 0x12, 0x28, 0x0a, 0x06, 0x41, 0x77, 0x61, 0x72, 0x64, 0x32, 0x18, 0x04, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x49, 0x74, - 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x41, 0x77, 0x61, 0x72, 0x64, 0x32, 0x22, 0xea, - 0x01, 0x0a, 0x14, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, - 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x6f, 0x72, 0x74, 0x49, - 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x53, 0x6f, 0x72, 0x74, 0x49, 0x64, 0x12, - 0x24, 0x0a, 0x04, 0x47, 0x61, 0x69, 0x6e, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, - 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x52, - 0x04, 0x47, 0x61, 0x69, 0x6e, 0x12, 0x24, 0x0a, 0x04, 0x43, 0x6f, 0x73, 0x74, 0x18, 0x04, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x49, 0x74, 0x65, - 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x43, 0x6f, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x49, - 0x73, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x49, - 0x73, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x4c, 0x65, 0x76, 0x65, 0x6c, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x14, 0x0a, - 0x05, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x54, 0x69, - 0x6d, 0x65, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x49, 0x73, 0x53, 0x68, 0x6f, 0x77, 0x18, 0x08, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x06, 0x49, 0x73, 0x53, 0x68, 0x6f, 0x77, 0x22, 0x64, 0x0a, 0x10, 0x50, - 0x65, 0x72, 0x6d, 0x69, 0x74, 0x52, 0x61, 0x6e, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, - 0x14, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, - 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x45, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x03, 0x45, 0x6e, 0x64, 0x12, 0x28, 0x0a, 0x06, 0x49, 0x74, 0x65, 0x6d, 0x49, - 0x64, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, - 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x49, 0x74, 0x65, 0x6d, 0x49, - 0x64, 0x22, 0xec, 0x01, 0x0a, 0x13, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x43, 0x68, 0x61, 0x6e, - 0x6e, 0x65, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x43, 0x68, 0x61, - 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x43, 0x68, 0x61, 0x6e, - 0x6e, 0x65, 0x6c, 0x12, 0x3b, 0x0a, 0x0b, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, - 0x69, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x52, 0x0b, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x12, 0x44, 0x0a, 0x0e, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, - 0x69, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0e, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x38, 0x0a, 0x0a, 0x52, 0x61, 0x6e, 0x6b, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x77, 0x65, 0x62, - 0x61, 0x70, 0x69, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x52, 0x61, 0x6e, 0x6b, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0a, 0x52, 0x61, 0x6e, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x22, 0x92, 0x01, 0x0a, 0x0f, 0x41, 0x63, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, - 0x12, 0x18, 0x0a, 0x07, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x03, 0x52, 0x07, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x44, 0x61, - 0x79, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x44, 0x61, 0x79, 0x73, 0x12, 0x35, - 0x0a, 0x07, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x1b, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x43, - 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x07, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x73, 0x42, 0x26, 0x5a, 0x24, 0x6d, 0x6f, 0x6e, 0x67, 0x6f, 0x2e, 0x67, - 0x61, 0x6d, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x61, 0x6d, 0x65, 0x2f, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2f, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x62, 0x06, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x6d, 0x12, 0x14, 0x0a, 0x05, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x05, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x77, 0x69, 0x74, 0x63, + 0x68, 0x18, 0x03, 0x20, 0x03, 0x28, 0x08, 0x52, 0x06, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x22, + 0x64, 0x0a, 0x0f, 0x43, 0x68, 0x65, 0x73, 0x73, 0x52, 0x61, 0x6e, 0x6b, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x27, 0x0a, 0x04, + 0x49, 0x74, 0x65, 0x6d, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x77, 0x65, 0x62, + 0x61, 0x70, 0x69, 0x2e, 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x44, 0x61, 0x74, 0x65, 0x52, + 0x04, 0x49, 0x74, 0x65, 0x6d, 0x22, 0x75, 0x0a, 0x10, 0x43, 0x68, 0x65, 0x73, 0x73, 0x52, 0x61, + 0x6e, 0x6b, 0x63, 0x66, 0x67, 0x44, 0x61, 0x74, 0x61, 0x12, 0x2d, 0x0a, 0x05, 0x44, 0x61, 0x74, + 0x61, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, + 0x69, 0x2e, 0x43, 0x68, 0x65, 0x73, 0x73, 0x52, 0x61, 0x6e, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x52, 0x05, 0x44, 0x61, 0x74, 0x61, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x22, 0xb4, 0x03, 0x0a, + 0x0a, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x50, 0x6f, 0x6f, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x50, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x1e, 0x0a, 0x0a, 0x55, 0x70, 0x70, 0x65, 0x72, + 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x55, 0x70, 0x70, + 0x65, 0x72, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x4c, 0x6f, 0x77, 0x65, 0x72, + 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x4c, 0x6f, 0x77, + 0x65, 0x72, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x51, 0x75, 0x44, 0x75, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x51, 0x75, 0x44, 0x75, 0x12, 0x1c, 0x0a, 0x09, 0x55, + 0x70, 0x70, 0x65, 0x72, 0x4f, 0x64, 0x64, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, + 0x55, 0x70, 0x70, 0x65, 0x72, 0x4f, 0x64, 0x64, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x55, 0x70, 0x70, + 0x65, 0x72, 0x4f, 0x64, 0x64, 0x73, 0x4d, 0x61, 0x78, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x0c, 0x55, 0x70, 0x70, 0x65, 0x72, 0x4f, 0x64, 0x64, 0x73, 0x4d, 0x61, 0x78, 0x12, 0x1c, 0x0a, + 0x09, 0x4c, 0x6f, 0x77, 0x65, 0x72, 0x4f, 0x64, 0x64, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x09, 0x4c, 0x6f, 0x77, 0x65, 0x72, 0x4f, 0x64, 0x64, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x4c, + 0x6f, 0x77, 0x65, 0x72, 0x4f, 0x64, 0x64, 0x73, 0x4d, 0x61, 0x78, 0x18, 0x08, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x0c, 0x4c, 0x6f, 0x77, 0x65, 0x72, 0x4f, 0x64, 0x64, 0x73, 0x4d, 0x61, 0x78, 0x12, + 0x18, 0x0a, 0x07, 0x46, 0x69, 0x67, 0x68, 0x74, 0x55, 0x70, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x07, 0x46, 0x69, 0x67, 0x68, 0x74, 0x55, 0x70, 0x12, 0x1c, 0x0a, 0x09, 0x46, 0x69, 0x67, + 0x68, 0x74, 0x44, 0x6f, 0x77, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x46, 0x69, + 0x67, 0x68, 0x74, 0x44, 0x6f, 0x77, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x50, 0x61, 0x79, 0x55, 0x70, + 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x50, 0x61, 0x79, 0x55, 0x70, 0x12, 0x18, 0x0a, + 0x07, 0x50, 0x61, 0x79, 0x44, 0x6f, 0x77, 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, + 0x50, 0x61, 0x79, 0x44, 0x6f, 0x77, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x54, 0x69, 0x61, 0x6e, 0x48, + 0x75, 0x52, 0x61, 0x74, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x54, 0x69, 0x61, + 0x6e, 0x48, 0x75, 0x52, 0x61, 0x74, 0x65, 0x12, 0x2a, 0x0a, 0x10, 0x50, 0x6c, 0x61, 0x79, 0x65, + 0x72, 0x50, 0x6f, 0x6f, 0x6c, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x18, 0x0e, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x10, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x50, 0x6f, 0x6f, 0x6c, 0x53, 0x77, 0x69, + 0x74, 0x63, 0x68, 0x22, 0xc8, 0x01, 0x0a, 0x0a, 0x47, 0x61, 0x6d, 0x65, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x16, + 0x0a, 0x06, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, + 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x54, 0x69, 0x61, 0x6e, 0x48, 0x75, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x54, 0x69, 0x61, 0x6e, 0x48, 0x75, 0x12, 0x14, + 0x0a, 0x05, 0x50, 0x61, 0x69, 0x4b, 0x75, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x50, + 0x61, 0x69, 0x4b, 0x75, 0x12, 0x16, 0x0a, 0x06, 0x46, 0x65, 0x6e, 0x43, 0x68, 0x61, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x46, 0x65, 0x6e, 0x43, 0x68, 0x61, 0x12, 0x20, 0x0a, 0x0b, + 0x46, 0x65, 0x6e, 0x43, 0x68, 0x61, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x0b, 0x46, 0x65, 0x6e, 0x43, 0x68, 0x61, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x1e, + 0x0a, 0x0a, 0x47, 0x6f, 0x6f, 0x64, 0x46, 0x65, 0x6e, 0x43, 0x68, 0x61, 0x18, 0x07, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x0a, 0x47, 0x6f, 0x6f, 0x64, 0x46, 0x65, 0x6e, 0x43, 0x68, 0x61, 0x22, 0x4f, + 0x0a, 0x19, 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x4c, 0x6f, + 0x74, 0x74, 0x65, 0x72, 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x50, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x77, 0x69, 0x74, 0x63, + 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x22, + 0x4a, 0x0a, 0x14, 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, + 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x06, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x22, 0x67, 0x0a, 0x13, 0x43, + 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x12, 0x0e, 0x0a, 0x02, 0x54, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, + 0x54, 0x70, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x24, + 0x0a, 0x0d, 0x4f, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x18, + 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x4f, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, + 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x45, 0x0a, 0x09, 0x52, 0x61, 0x6e, 0x6b, 0x41, 0x77, 0x61, 0x72, + 0x64, 0x12, 0x14, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, + 0x52, 0x05, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x45, 0x6e, 0x64, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x45, 0x6e, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x4e, 0x75, 0x6d, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x4e, 0x75, 0x6d, 0x22, 0x8e, 0x03, 0x0a, 0x0f, + 0x41, 0x63, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, + 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x1c, 0x0a, 0x09, 0x42, + 0x69, 0x6e, 0x64, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, + 0x42, 0x69, 0x6e, 0x64, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x52, 0x65, 0x63, + 0x68, 0x61, 0x72, 0x67, 0x65, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, + 0x52, 0x0d, 0x52, 0x65, 0x63, 0x68, 0x61, 0x72, 0x67, 0x65, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, + 0x41, 0x0a, 0x08, 0x50, 0x61, 0x79, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x04, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x25, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x41, 0x63, 0x74, 0x49, 0x6e, + 0x76, 0x69, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x50, 0x61, 0x79, 0x53, 0x63, + 0x6f, 0x72, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x50, 0x61, 0x79, 0x53, 0x63, 0x6f, + 0x72, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x52, 0x61, 0x74, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, + 0x03, 0x52, 0x05, 0x52, 0x61, 0x74, 0x65, 0x73, 0x12, 0x2b, 0x0a, 0x07, 0x41, 0x77, 0x61, 0x72, + 0x64, 0x73, 0x31, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x77, 0x65, 0x62, 0x61, + 0x70, 0x69, 0x2e, 0x52, 0x61, 0x6e, 0x6b, 0x41, 0x77, 0x61, 0x72, 0x64, 0x52, 0x07, 0x41, 0x77, + 0x61, 0x72, 0x64, 0x73, 0x31, 0x12, 0x2b, 0x0a, 0x07, 0x41, 0x77, 0x61, 0x72, 0x64, 0x73, 0x32, + 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, + 0x52, 0x61, 0x6e, 0x6b, 0x41, 0x77, 0x61, 0x72, 0x64, 0x52, 0x07, 0x41, 0x77, 0x61, 0x72, 0x64, + 0x73, 0x32, 0x12, 0x2b, 0x0a, 0x07, 0x41, 0x77, 0x61, 0x72, 0x64, 0x73, 0x33, 0x18, 0x08, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x52, 0x61, 0x6e, + 0x6b, 0x41, 0x77, 0x61, 0x72, 0x64, 0x52, 0x07, 0x41, 0x77, 0x61, 0x72, 0x64, 0x73, 0x33, 0x1a, + 0x3b, 0x0a, 0x0d, 0x50, 0x61, 0x79, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x6b, + 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x03, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x91, 0x01, 0x0a, + 0x11, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x52, 0x61, 0x6e, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x04, 0x52, 0x61, 0x6e, 0x6b, 0x12, 0x14, 0x0a, 0x05, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x28, 0x0a, 0x06, + 0x41, 0x77, 0x61, 0x72, 0x64, 0x31, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x77, + 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, + 0x41, 0x77, 0x61, 0x72, 0x64, 0x31, 0x12, 0x28, 0x0a, 0x06, 0x41, 0x77, 0x61, 0x72, 0x64, 0x32, + 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, + 0x49, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x41, 0x77, 0x61, 0x72, 0x64, 0x32, + 0x22, 0xea, 0x01, 0x0a, 0x14, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x45, 0x78, 0x63, 0x68, 0x61, + 0x6e, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x6f, 0x72, + 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x53, 0x6f, 0x72, 0x74, 0x49, + 0x64, 0x12, 0x24, 0x0a, 0x04, 0x47, 0x61, 0x69, 0x6e, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x10, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, + 0x6f, 0x52, 0x04, 0x47, 0x61, 0x69, 0x6e, 0x12, 0x24, 0x0a, 0x04, 0x43, 0x6f, 0x73, 0x74, 0x18, + 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x49, + 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x43, 0x6f, 0x73, 0x74, 0x12, 0x1a, 0x0a, + 0x08, 0x49, 0x73, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x08, 0x49, 0x73, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x4c, 0x65, 0x76, + 0x65, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, + 0x14, 0x0a, 0x05, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, + 0x54, 0x69, 0x6d, 0x65, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x49, 0x73, 0x53, 0x68, 0x6f, 0x77, 0x18, + 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x49, 0x73, 0x53, 0x68, 0x6f, 0x77, 0x22, 0x64, 0x0a, + 0x10, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x52, 0x61, 0x6e, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x12, 0x14, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x05, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x45, 0x6e, 0x64, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x45, 0x6e, 0x64, 0x12, 0x28, 0x0a, 0x06, 0x49, 0x74, 0x65, + 0x6d, 0x49, 0x64, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x77, 0x65, 0x62, 0x61, + 0x70, 0x69, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x49, 0x74, 0x65, + 0x6d, 0x49, 0x64, 0x22, 0xec, 0x01, 0x0a, 0x13, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x43, 0x68, + 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x43, + 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x43, 0x68, + 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x3b, 0x0a, 0x0b, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x77, 0x65, 0x62, + 0x61, 0x70, 0x69, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0b, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x12, 0x44, 0x0a, 0x0e, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x77, 0x65, 0x62, + 0x61, 0x70, 0x69, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, + 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0e, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, + 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x38, 0x0a, 0x0a, 0x52, 0x61, 0x6e, 0x6b, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x77, + 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x52, 0x61, 0x6e, 0x6b, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0a, 0x52, 0x61, 0x6e, 0x6b, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x22, 0x92, 0x01, 0x0a, 0x0f, 0x41, 0x63, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x12, 0x18, 0x0a, 0x07, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, 0x73, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x03, 0x52, 0x07, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, 0x73, 0x12, 0x12, 0x0a, 0x04, + 0x44, 0x61, 0x79, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x44, 0x61, 0x79, 0x73, + 0x12, 0x35, 0x0a, 0x07, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x1b, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, + 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x07, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x42, 0x26, 0x5a, 0x24, 0x6d, 0x6f, 0x6e, 0x67, 0x6f, + 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x61, 0x6d, 0x65, 0x2f, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2f, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x62, + 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/protocol/webapi/common.proto b/protocol/webapi/common.proto index 4602244..766b57f 100644 --- a/protocol/webapi/common.proto +++ b/protocol/webapi/common.proto @@ -202,6 +202,9 @@ message PlayerData{ string Channel = 53; // 首次安装渠道 string LastChannel = 54; // 最近使用的包渠道 repeated ItemInfo Items = 55; // 背包物品 + bool IsPermit = 56; // 是否已购买典藏通行证 + int64 Long = 57; // 龙币数量 + int64 PermitScore = 58; // 赛季通行证积分 } message RoomInfo{ diff --git a/protocol/welfare/welfare.pb.go b/protocol/welfare/welfare.pb.go index 8606f7c..e346e95 100644 --- a/protocol/welfare/welfare.pb.go +++ b/protocol/welfare/welfare.pb.go @@ -3404,7 +3404,7 @@ type PermitRankAward struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Start int32 `protobuf:"varint,1,opt,name=Start,proto3" json:"Start,omitempty"` // 开始排名;第一名为0 + Start int32 `protobuf:"varint,1,opt,name=Start,proto3" json:"Start,omitempty"` // 开始排名;第一名为1 End int32 `protobuf:"varint,2,opt,name=End,proto3" json:"End,omitempty"` // 结束排名 ItemId []*PropInfo `protobuf:"bytes,3,rep,name=ItemId,proto3" json:"ItemId,omitempty"` // 奖励 } @@ -3475,6 +3475,7 @@ type SCPermitInfo struct { ShowList []*PermitShow `protobuf:"bytes,5,rep,name=ShowList,proto3" json:"ShowList,omitempty"` // 展示列表 IsPermit bool `protobuf:"varint,6,opt,name=IsPermit,proto3" json:"IsPermit,omitempty"` // 是否已购买典藏通行证 RankAward []*PermitRankAward `protobuf:"bytes,7,rep,name=RankAward,proto3" json:"RankAward,omitempty"` // 排行榜奖励 + RefreshTs int64 `protobuf:"varint,8,opt,name=RefreshTs,proto3" json:"RefreshTs,omitempty"` // 下次刷新时间戳 } func (x *SCPermitInfo) Reset() { @@ -3558,6 +3559,13 @@ func (x *SCPermitInfo) GetRankAward() []*PermitRankAward { return nil } +func (x *SCPermitInfo) GetRefreshTs() int64 { + if x != nil { + return x.RefreshTs + } + return 0 +} + // 领取赛季通行证奖励 //PACKET_CSPermitAward type CSPermitAward struct { @@ -4449,7 +4457,7 @@ var file_welfare_proto_rawDesc = []byte{ 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x45, 0x6e, 0x64, 0x12, 0x29, 0x0a, 0x06, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x77, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x52, - 0x06, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x22, 0x85, 0x02, 0x0a, 0x0c, 0x53, 0x43, 0x50, 0x65, + 0x06, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x22, 0xa3, 0x02, 0x0a, 0x0c, 0x53, 0x43, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x10, 0x0a, 0x03, 0x45, 0x78, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x45, 0x78, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x4c, 0x65, 0x76, 0x65, 0x6c, @@ -4465,174 +4473,176 @@ var file_welfare_proto_rawDesc = []byte{ 0x73, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x12, 0x36, 0x0a, 0x09, 0x52, 0x61, 0x6e, 0x6b, 0x41, 0x77, 0x61, 0x72, 0x64, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x77, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x52, 0x61, 0x6e, 0x6b, 0x41, - 0x77, 0x61, 0x72, 0x64, 0x52, 0x09, 0x52, 0x61, 0x6e, 0x6b, 0x41, 0x77, 0x61, 0x72, 0x64, 0x22, - 0x2f, 0x0a, 0x0d, 0x43, 0x53, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x41, 0x77, 0x61, 0x72, 0x64, - 0x12, 0x0e, 0x0a, 0x02, 0x54, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x54, 0x70, - 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, - 0x22, 0xba, 0x01, 0x0a, 0x0d, 0x53, 0x43, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x41, 0x77, 0x61, - 0x72, 0x64, 0x12, 0x33, 0x0a, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x77, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x2e, - 0x4f, 0x70, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x4f, 0x70, - 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x29, 0x0a, 0x06, 0x41, 0x77, 0x61, 0x72, 0x64, - 0x31, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x77, 0x65, 0x6c, 0x66, 0x61, 0x72, - 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x41, 0x77, 0x61, 0x72, - 0x64, 0x31, 0x12, 0x29, 0x0a, 0x06, 0x41, 0x77, 0x61, 0x72, 0x64, 0x32, 0x18, 0x03, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x77, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x2e, 0x50, 0x72, 0x6f, - 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x41, 0x77, 0x61, 0x72, 0x64, 0x32, 0x12, 0x0e, 0x0a, - 0x02, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x0e, 0x0a, - 0x02, 0x54, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x54, 0x70, 0x22, 0x16, 0x0a, - 0x14, 0x43, 0x53, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, - 0x65, 0x4c, 0x69, 0x73, 0x74, 0x22, 0xfe, 0x01, 0x0a, 0x08, 0x53, 0x68, 0x6f, 0x70, 0x49, 0x6e, - 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, - 0x49, 0x64, 0x12, 0x25, 0x0a, 0x04, 0x47, 0x61, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, + 0x77, 0x61, 0x72, 0x64, 0x52, 0x09, 0x52, 0x61, 0x6e, 0x6b, 0x41, 0x77, 0x61, 0x72, 0x64, 0x12, + 0x1c, 0x0a, 0x09, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x54, 0x73, 0x18, 0x08, 0x20, 0x01, + 0x28, 0x03, 0x52, 0x09, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x54, 0x73, 0x22, 0x2f, 0x0a, + 0x0d, 0x43, 0x53, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x41, 0x77, 0x61, 0x72, 0x64, 0x12, 0x0e, + 0x0a, 0x02, 0x54, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x54, 0x70, 0x12, 0x0e, + 0x0a, 0x02, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x22, 0xba, + 0x01, 0x0a, 0x0d, 0x53, 0x43, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x41, 0x77, 0x61, 0x72, 0x64, + 0x12, 0x33, 0x0a, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x77, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x2e, 0x4f, 0x70, + 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x4f, 0x70, 0x52, 0x65, + 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x29, 0x0a, 0x06, 0x41, 0x77, 0x61, 0x72, 0x64, 0x31, 0x18, + 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x77, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x2e, + 0x50, 0x72, 0x6f, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x41, 0x77, 0x61, 0x72, 0x64, 0x31, + 0x12, 0x29, 0x0a, 0x06, 0x41, 0x77, 0x61, 0x72, 0x64, 0x32, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x77, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x49, - 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x47, 0x61, 0x69, 0x6e, 0x12, 0x25, 0x0a, 0x04, 0x43, 0x6f, 0x73, - 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x77, 0x65, 0x6c, 0x66, 0x61, 0x72, - 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x43, 0x6f, 0x73, 0x74, - 0x12, 0x24, 0x0a, 0x0d, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x69, 0x6d, 0x65, - 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, - 0x65, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x52, 0x65, 0x6d, 0x61, 0x69, 0x6e, - 0x54, 0x69, 0x6d, 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x52, 0x65, 0x6d, - 0x61, 0x69, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x4c, 0x65, 0x76, 0x65, - 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x1e, - 0x0a, 0x0a, 0x4e, 0x65, 0x65, 0x64, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x18, 0x07, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x0a, 0x4e, 0x65, 0x65, 0x64, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x12, 0x16, - 0x0a, 0x06, 0x53, 0x6f, 0x72, 0x74, 0x49, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, - 0x53, 0x6f, 0x72, 0x74, 0x49, 0x64, 0x22, 0x3d, 0x0a, 0x14, 0x53, 0x43, 0x50, 0x65, 0x72, 0x6d, - 0x69, 0x74, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x25, - 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x77, - 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x2e, 0x53, 0x68, 0x6f, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x52, - 0x04, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x22, 0x0a, 0x10, 0x43, 0x53, 0x50, 0x65, 0x72, 0x6d, 0x69, - 0x74, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x22, 0x47, 0x0a, 0x10, 0x53, 0x43, 0x50, - 0x65, 0x72, 0x6d, 0x69, 0x74, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x33, 0x0a, - 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, - 0x32, 0x15, 0x2e, 0x77, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x2e, 0x4f, 0x70, 0x52, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, - 0x64, 0x65, 0x22, 0x0e, 0x0a, 0x0c, 0x43, 0x53, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x53, 0x68, - 0x6f, 0x70, 0x22, 0x62, 0x0a, 0x0c, 0x53, 0x43, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x53, 0x68, - 0x6f, 0x70, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, - 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6d, - 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, - 0x12, 0x14, 0x0a, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, - 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x2a, 0xf5, 0x02, 0x0a, 0x0c, 0x4f, 0x70, 0x52, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x0f, 0x0a, 0x0b, 0x4f, 0x50, 0x52, 0x43, 0x5f, - 0x53, 0x75, 0x63, 0x65, 0x73, 0x73, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x4f, 0x50, 0x52, 0x43, - 0x5f, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x4f, 0x50, 0x52, 0x43, - 0x5f, 0x4e, 0x6f, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x10, 0x02, 0x12, 0x14, 0x0a, 0x10, 0x4f, 0x50, - 0x52, 0x43, 0x5f, 0x43, 0x6f, 0x69, 0x6e, 0x54, 0x6f, 0x6f, 0x4d, 0x6f, 0x72, 0x65, 0x10, 0x03, - 0x12, 0x10, 0x0a, 0x0c, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x45, 0x72, 0x72, 0x43, 0x6f, 0x69, 0x6e, - 0x10, 0x04, 0x12, 0x14, 0x0a, 0x10, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x41, 0x6c, 0x72, 0x65, 0x61, - 0x64, 0x79, 0x42, 0x69, 0x6e, 0x64, 0x10, 0x05, 0x12, 0x11, 0x0a, 0x0d, 0x4f, 0x50, 0x52, 0x43, - 0x5f, 0x42, 0x69, 0x6e, 0x64, 0x53, 0x65, 0x6c, 0x66, 0x10, 0x06, 0x12, 0x11, 0x0a, 0x0d, 0x4f, - 0x50, 0x52, 0x43, 0x5f, 0x4d, 0x79, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x10, 0x07, 0x12, 0x11, - 0x0a, 0x0d, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x4e, 0x6f, 0x74, 0x45, 0x78, 0x69, 0x73, 0x74, 0x10, - 0x08, 0x12, 0x14, 0x0a, 0x10, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, - 0x64, 0x4c, 0x65, 0x73, 0x73, 0x10, 0x09, 0x12, 0x17, 0x0a, 0x13, 0x4f, 0x50, 0x52, 0x43, 0x5f, - 0x50, 0x69, 0x67, 0x62, 0x61, 0x6e, 0x6b, 0x4e, 0x6f, 0x74, 0x46, 0x75, 0x6c, 0x6c, 0x10, 0x0a, - 0x12, 0x1d, 0x0a, 0x19, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x50, 0x69, 0x67, 0x62, 0x61, 0x6e, 0x6b, - 0x4f, 0x76, 0x65, 0x72, 0x54, 0x61, 0x6b, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x10, 0x0b, 0x12, - 0x16, 0x0a, 0x12, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, - 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x10, 0x0c, 0x12, 0x1b, 0x0a, 0x17, 0x4f, 0x50, 0x52, 0x43, 0x5f, - 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x4c, 0x69, 0x6d, - 0x69, 0x74, 0x10, 0x0d, 0x12, 0x13, 0x0a, 0x0f, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x4e, 0x65, 0x65, - 0x64, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x10, 0x0e, 0x12, 0x10, 0x0a, 0x0c, 0x4f, 0x50, 0x52, - 0x43, 0x5f, 0x45, 0x72, 0x72, 0x43, 0x6f, 0x73, 0x74, 0x10, 0x0f, 0x12, 0x11, 0x0a, 0x0d, 0x4f, - 0x50, 0x52, 0x43, 0x5f, 0x4e, 0x6f, 0x74, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x10, 0x10, 0x2a, 0x9d, - 0x0b, 0x0a, 0x09, 0x53, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x49, 0x44, 0x12, 0x14, 0x0a, 0x10, - 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x48, 0x4f, 0x50, 0x5f, 0x5a, 0x45, 0x52, 0x4f, - 0x10, 0x00, 0x12, 0x21, 0x0a, 0x1c, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, - 0x57, 0x45, 0x4c, 0x46, 0x5f, 0x47, 0x45, 0x54, 0x52, 0x45, 0x4c, 0x49, 0x45, 0x46, 0x46, 0x55, - 0x4e, 0x44, 0x10, 0x94, 0x14, 0x12, 0x21, 0x0a, 0x1c, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, - 0x53, 0x43, 0x5f, 0x57, 0x45, 0x4c, 0x46, 0x5f, 0x47, 0x45, 0x54, 0x52, 0x45, 0x4c, 0x49, 0x45, - 0x46, 0x46, 0x55, 0x4e, 0x44, 0x10, 0x95, 0x14, 0x12, 0x20, 0x0a, 0x1b, 0x50, 0x41, 0x43, 0x4b, - 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x57, 0x45, 0x4c, 0x46, 0x5f, 0x47, 0x45, 0x54, 0x54, 0x55, - 0x52, 0x4e, 0x50, 0x4c, 0x41, 0x54, 0x45, 0x10, 0x96, 0x14, 0x12, 0x20, 0x0a, 0x1b, 0x50, 0x41, - 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x57, 0x45, 0x4c, 0x46, 0x5f, 0x47, 0x45, 0x54, - 0x54, 0x55, 0x52, 0x4e, 0x50, 0x4c, 0x41, 0x54, 0x45, 0x10, 0x97, 0x14, 0x12, 0x20, 0x0a, 0x1b, - 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x57, 0x45, 0x4c, 0x46, 0x5f, 0x47, - 0x45, 0x54, 0x41, 0x44, 0x44, 0x55, 0x50, 0x53, 0x49, 0x47, 0x4e, 0x10, 0x98, 0x14, 0x12, 0x20, - 0x0a, 0x1b, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x57, 0x45, 0x4c, 0x46, - 0x5f, 0x47, 0x45, 0x54, 0x41, 0x44, 0x44, 0x55, 0x50, 0x53, 0x49, 0x47, 0x4e, 0x10, 0x99, 0x14, - 0x12, 0x1f, 0x0a, 0x1a, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x57, 0x45, - 0x4c, 0x46, 0x5f, 0x57, 0x45, 0x4c, 0x46, 0x41, 0x52, 0x45, 0x49, 0x4e, 0x46, 0x4f, 0x10, 0x9a, - 0x14, 0x12, 0x1f, 0x0a, 0x1a, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x57, - 0x45, 0x4c, 0x46, 0x5f, 0x57, 0x45, 0x4c, 0x46, 0x41, 0x52, 0x45, 0x49, 0x4e, 0x46, 0x4f, 0x10, - 0x9b, 0x14, 0x12, 0x1f, 0x0a, 0x1a, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, - 0x57, 0x45, 0x4c, 0x46, 0x5f, 0x42, 0x4c, 0x49, 0x4e, 0x42, 0x4f, 0x58, 0x49, 0x4e, 0x46, 0x4f, - 0x10, 0x9c, 0x14, 0x12, 0x1f, 0x0a, 0x1a, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, - 0x5f, 0x57, 0x45, 0x4c, 0x46, 0x5f, 0x42, 0x4c, 0x49, 0x4e, 0x42, 0x4f, 0x58, 0x49, 0x4e, 0x46, - 0x4f, 0x10, 0x9d, 0x14, 0x12, 0x1e, 0x0a, 0x19, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, - 0x53, 0x5f, 0x57, 0x45, 0x4c, 0x46, 0x5f, 0x47, 0x45, 0x54, 0x42, 0x4c, 0x49, 0x4e, 0x42, 0x4f, - 0x58, 0x10, 0x9e, 0x14, 0x12, 0x1e, 0x0a, 0x19, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, - 0x43, 0x5f, 0x57, 0x45, 0x4c, 0x46, 0x5f, 0x47, 0x45, 0x54, 0x42, 0x4c, 0x49, 0x4e, 0x42, 0x4f, - 0x58, 0x10, 0x9f, 0x14, 0x12, 0x20, 0x0a, 0x1b, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, - 0x53, 0x5f, 0x57, 0x45, 0x4c, 0x46, 0x5f, 0x46, 0x49, 0x52, 0x53, 0x54, 0x50, 0x41, 0x59, 0x49, - 0x4e, 0x46, 0x4f, 0x10, 0xa0, 0x14, 0x12, 0x20, 0x0a, 0x1b, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, - 0x5f, 0x53, 0x43, 0x5f, 0x57, 0x45, 0x4c, 0x46, 0x5f, 0x46, 0x49, 0x52, 0x53, 0x54, 0x50, 0x41, - 0x59, 0x49, 0x4e, 0x46, 0x4f, 0x10, 0xa1, 0x14, 0x12, 0x1c, 0x0a, 0x17, 0x50, 0x41, 0x43, 0x4b, - 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x57, 0x45, 0x4c, 0x46, 0x5f, 0x46, 0x49, 0x52, 0x53, 0x54, - 0x50, 0x41, 0x59, 0x10, 0xa2, 0x14, 0x12, 0x1c, 0x0a, 0x17, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, - 0x5f, 0x53, 0x43, 0x5f, 0x57, 0x45, 0x4c, 0x46, 0x5f, 0x46, 0x49, 0x52, 0x53, 0x54, 0x50, 0x41, - 0x59, 0x10, 0xa3, 0x14, 0x12, 0x21, 0x0a, 0x1c, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, - 0x53, 0x5f, 0x57, 0x45, 0x4c, 0x46, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x49, 0x4e, 0x50, 0x41, 0x59, - 0x49, 0x4e, 0x46, 0x4f, 0x10, 0xa4, 0x14, 0x12, 0x21, 0x0a, 0x1c, 0x50, 0x41, 0x43, 0x4b, 0x45, - 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x57, 0x45, 0x4c, 0x46, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x49, 0x4e, - 0x50, 0x41, 0x59, 0x49, 0x4e, 0x46, 0x4f, 0x10, 0xa5, 0x14, 0x12, 0x1d, 0x0a, 0x18, 0x50, 0x41, - 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x57, 0x45, 0x4c, 0x46, 0x5f, 0x43, 0x4f, 0x4e, - 0x54, 0x49, 0x4e, 0x50, 0x41, 0x59, 0x10, 0xa6, 0x14, 0x12, 0x1d, 0x0a, 0x18, 0x50, 0x41, 0x43, - 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x57, 0x45, 0x4c, 0x46, 0x5f, 0x43, 0x4f, 0x4e, 0x54, - 0x49, 0x4e, 0x50, 0x41, 0x59, 0x10, 0xa7, 0x14, 0x12, 0x22, 0x0a, 0x1d, 0x50, 0x41, 0x43, 0x4b, - 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x53, 0x69, 0x67, 0x6e, 0x44, 0x61, 0x79, 0x5f, 0x41, 0x64, - 0x64, 0x75, 0x70, 0x32, 0x41, 0x77, 0x61, 0x72, 0x64, 0x10, 0xa8, 0x14, 0x12, 0x22, 0x0a, 0x1d, - 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x53, 0x69, 0x67, 0x6e, 0x44, 0x61, - 0x79, 0x5f, 0x41, 0x64, 0x64, 0x75, 0x70, 0x32, 0x41, 0x77, 0x61, 0x72, 0x64, 0x10, 0xa9, 0x14, - 0x12, 0x18, 0x0a, 0x13, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x57, 0x65, 0x6c, - 0x66, 0x52, 0x65, 0x6c, 0x69, 0x65, 0x66, 0x10, 0xd4, 0x16, 0x12, 0x18, 0x0a, 0x13, 0x50, 0x41, - 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x57, 0x65, 0x6c, 0x66, 0x52, 0x65, 0x6c, 0x69, 0x65, - 0x66, 0x10, 0xd5, 0x16, 0x12, 0x18, 0x0a, 0x13, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, - 0x53, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x10, 0xd6, 0x16, 0x12, 0x18, - 0x0a, 0x13, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x49, 0x6e, 0x76, 0x69, 0x74, - 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x10, 0xd7, 0x16, 0x12, 0x18, 0x0a, 0x13, 0x50, 0x41, 0x43, 0x4b, - 0x45, 0x54, 0x5f, 0x43, 0x53, 0x42, 0x69, 0x6e, 0x64, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x10, - 0xd8, 0x16, 0x12, 0x18, 0x0a, 0x13, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x42, - 0x69, 0x6e, 0x64, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x10, 0xd9, 0x16, 0x12, 0x1c, 0x0a, 0x17, - 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x50, 0x69, 0x67, 0x62, 0x61, 0x6e, 0x6b, - 0x47, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x10, 0xde, 0x16, 0x12, 0x1c, 0x0a, 0x17, 0x50, 0x41, - 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x50, 0x69, 0x67, 0x62, 0x61, 0x6e, 0x6b, 0x47, 0x65, - 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x10, 0xdf, 0x16, 0x12, 0x1d, 0x0a, 0x18, 0x50, 0x41, 0x43, 0x4b, - 0x45, 0x54, 0x5f, 0x43, 0x53, 0x50, 0x69, 0x67, 0x62, 0x61, 0x6e, 0x6b, 0x54, 0x61, 0x6b, 0x65, - 0x43, 0x6f, 0x69, 0x6e, 0x10, 0xe0, 0x16, 0x12, 0x1d, 0x0a, 0x18, 0x50, 0x41, 0x43, 0x4b, 0x45, - 0x54, 0x5f, 0x53, 0x43, 0x50, 0x69, 0x67, 0x62, 0x61, 0x6e, 0x6b, 0x54, 0x61, 0x6b, 0x65, 0x43, - 0x6f, 0x69, 0x6e, 0x10, 0xe1, 0x16, 0x12, 0x20, 0x0a, 0x1b, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, - 0x5f, 0x43, 0x53, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x42, 0x61, 0x6e, 0x6b, 0x47, 0x65, - 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x10, 0xe2, 0x16, 0x12, 0x20, 0x0a, 0x1b, 0x50, 0x41, 0x43, 0x4b, - 0x45, 0x54, 0x5f, 0x53, 0x43, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x42, 0x61, 0x6e, 0x6b, - 0x47, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x10, 0xe3, 0x16, 0x12, 0x24, 0x0a, 0x1f, 0x50, 0x41, - 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x42, 0x61, - 0x6e, 0x6b, 0x54, 0x61, 0x6b, 0x65, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x10, 0xe4, 0x16, - 0x12, 0x18, 0x0a, 0x13, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x50, 0x65, 0x72, - 0x6d, 0x69, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x10, 0xe5, 0x16, 0x12, 0x18, 0x0a, 0x13, 0x50, 0x41, - 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x49, 0x6e, 0x66, - 0x6f, 0x10, 0xe6, 0x16, 0x12, 0x20, 0x0a, 0x1b, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, + 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x41, 0x77, 0x61, 0x72, 0x64, 0x32, 0x12, 0x0e, 0x0a, 0x02, 0x49, + 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x54, + 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x54, 0x70, 0x22, 0x16, 0x0a, 0x14, 0x43, 0x53, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4c, - 0x69, 0x73, 0x74, 0x10, 0xe7, 0x16, 0x12, 0x20, 0x0a, 0x1b, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, - 0x5f, 0x53, 0x43, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, - 0x65, 0x4c, 0x69, 0x73, 0x74, 0x10, 0xe8, 0x16, 0x12, 0x19, 0x0a, 0x14, 0x50, 0x41, 0x43, 0x4b, - 0x45, 0x54, 0x5f, 0x43, 0x53, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x41, 0x77, 0x61, 0x72, 0x64, - 0x10, 0xe9, 0x16, 0x12, 0x19, 0x0a, 0x14, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, - 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x41, 0x77, 0x61, 0x72, 0x64, 0x10, 0xea, 0x16, 0x12, 0x1c, - 0x0a, 0x17, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x50, 0x65, 0x72, 0x6d, 0x69, - 0x74, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x10, 0xeb, 0x16, 0x12, 0x1c, 0x0a, 0x17, - 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x45, - 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x10, 0xec, 0x16, 0x12, 0x18, 0x0a, 0x13, 0x50, 0x41, - 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x53, 0x68, 0x6f, - 0x70, 0x10, 0xed, 0x16, 0x12, 0x18, 0x0a, 0x13, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, - 0x43, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x53, 0x68, 0x6f, 0x70, 0x10, 0x8c, 0x17, 0x42, 0x27, - 0x5a, 0x25, 0x6d, 0x6f, 0x6e, 0x67, 0x6f, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x73, 0x2e, 0x63, 0x6f, - 0x6d, 0x2f, 0x67, 0x61, 0x6d, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2f, - 0x77, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x69, 0x73, 0x74, 0x22, 0xfe, 0x01, 0x0a, 0x08, 0x53, 0x68, 0x6f, 0x70, 0x49, 0x6e, 0x66, 0x6f, + 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, + 0x12, 0x25, 0x0a, 0x04, 0x47, 0x61, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, + 0x2e, 0x77, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x49, 0x6e, 0x66, + 0x6f, 0x52, 0x04, 0x47, 0x61, 0x69, 0x6e, 0x12, 0x25, 0x0a, 0x04, 0x43, 0x6f, 0x73, 0x74, 0x18, + 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x77, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x2e, + 0x50, 0x72, 0x6f, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x43, 0x6f, 0x73, 0x74, 0x12, 0x24, + 0x0a, 0x0d, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x54, + 0x69, 0x6d, 0x65, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x52, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x54, 0x69, + 0x6d, 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x52, 0x65, 0x6d, 0x61, 0x69, + 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x1e, 0x0a, 0x0a, + 0x4e, 0x65, 0x65, 0x64, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x0a, 0x4e, 0x65, 0x65, 0x64, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x12, 0x16, 0x0a, 0x06, + 0x53, 0x6f, 0x72, 0x74, 0x49, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x53, 0x6f, + 0x72, 0x74, 0x49, 0x64, 0x22, 0x3d, 0x0a, 0x14, 0x53, 0x43, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, + 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x25, 0x0a, 0x04, + 0x4c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x77, 0x65, 0x6c, + 0x66, 0x61, 0x72, 0x65, 0x2e, 0x53, 0x68, 0x6f, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x4c, + 0x69, 0x73, 0x74, 0x22, 0x22, 0x0a, 0x10, 0x43, 0x53, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x45, + 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x22, 0x47, 0x0a, 0x10, 0x53, 0x43, 0x50, 0x65, 0x72, + 0x6d, 0x69, 0x74, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x33, 0x0a, 0x09, 0x4f, + 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, + 0x2e, 0x77, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x2e, 0x4f, 0x70, 0x52, 0x65, 0x73, 0x75, 0x6c, + 0x74, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, + 0x22, 0x0e, 0x0a, 0x0c, 0x43, 0x53, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x53, 0x68, 0x6f, 0x70, + 0x22, 0x62, 0x0a, 0x0c, 0x53, 0x43, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x53, 0x68, 0x6f, 0x70, + 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, + 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x12, 0x14, + 0x0a, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x70, + 0x72, 0x69, 0x63, 0x65, 0x2a, 0xf5, 0x02, 0x0a, 0x0c, 0x4f, 0x70, 0x52, 0x65, 0x73, 0x75, 0x6c, + 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x0f, 0x0a, 0x0b, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x53, 0x75, + 0x63, 0x65, 0x73, 0x73, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x45, + 0x72, 0x72, 0x6f, 0x72, 0x10, 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x4e, + 0x6f, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x10, 0x02, 0x12, 0x14, 0x0a, 0x10, 0x4f, 0x50, 0x52, 0x43, + 0x5f, 0x43, 0x6f, 0x69, 0x6e, 0x54, 0x6f, 0x6f, 0x4d, 0x6f, 0x72, 0x65, 0x10, 0x03, 0x12, 0x10, + 0x0a, 0x0c, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x45, 0x72, 0x72, 0x43, 0x6f, 0x69, 0x6e, 0x10, 0x04, + 0x12, 0x14, 0x0a, 0x10, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x41, 0x6c, 0x72, 0x65, 0x61, 0x64, 0x79, + 0x42, 0x69, 0x6e, 0x64, 0x10, 0x05, 0x12, 0x11, 0x0a, 0x0d, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x42, + 0x69, 0x6e, 0x64, 0x53, 0x65, 0x6c, 0x66, 0x10, 0x06, 0x12, 0x11, 0x0a, 0x0d, 0x4f, 0x50, 0x52, + 0x43, 0x5f, 0x4d, 0x79, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x10, 0x07, 0x12, 0x11, 0x0a, 0x0d, + 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x4e, 0x6f, 0x74, 0x45, 0x78, 0x69, 0x73, 0x74, 0x10, 0x08, 0x12, + 0x14, 0x0a, 0x10, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x4c, + 0x65, 0x73, 0x73, 0x10, 0x09, 0x12, 0x17, 0x0a, 0x13, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x50, 0x69, + 0x67, 0x62, 0x61, 0x6e, 0x6b, 0x4e, 0x6f, 0x74, 0x46, 0x75, 0x6c, 0x6c, 0x10, 0x0a, 0x12, 0x1d, + 0x0a, 0x19, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x50, 0x69, 0x67, 0x62, 0x61, 0x6e, 0x6b, 0x4f, 0x76, + 0x65, 0x72, 0x54, 0x61, 0x6b, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x10, 0x0b, 0x12, 0x16, 0x0a, + 0x12, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4c, 0x69, + 0x6d, 0x69, 0x74, 0x10, 0x0c, 0x12, 0x1b, 0x0a, 0x17, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x45, 0x78, + 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x4c, 0x69, 0x6d, 0x69, 0x74, + 0x10, 0x0d, 0x12, 0x13, 0x0a, 0x0f, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x4e, 0x65, 0x65, 0x64, 0x50, + 0x65, 0x72, 0x6d, 0x69, 0x74, 0x10, 0x0e, 0x12, 0x10, 0x0a, 0x0c, 0x4f, 0x50, 0x52, 0x43, 0x5f, + 0x45, 0x72, 0x72, 0x43, 0x6f, 0x73, 0x74, 0x10, 0x0f, 0x12, 0x11, 0x0a, 0x0d, 0x4f, 0x50, 0x52, + 0x43, 0x5f, 0x4e, 0x6f, 0x74, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x10, 0x10, 0x2a, 0x9d, 0x0b, 0x0a, + 0x09, 0x53, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x49, 0x44, 0x12, 0x14, 0x0a, 0x10, 0x50, 0x41, + 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x48, 0x4f, 0x50, 0x5f, 0x5a, 0x45, 0x52, 0x4f, 0x10, 0x00, + 0x12, 0x21, 0x0a, 0x1c, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x57, 0x45, + 0x4c, 0x46, 0x5f, 0x47, 0x45, 0x54, 0x52, 0x45, 0x4c, 0x49, 0x45, 0x46, 0x46, 0x55, 0x4e, 0x44, + 0x10, 0x94, 0x14, 0x12, 0x21, 0x0a, 0x1c, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, + 0x5f, 0x57, 0x45, 0x4c, 0x46, 0x5f, 0x47, 0x45, 0x54, 0x52, 0x45, 0x4c, 0x49, 0x45, 0x46, 0x46, + 0x55, 0x4e, 0x44, 0x10, 0x95, 0x14, 0x12, 0x20, 0x0a, 0x1b, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, + 0x5f, 0x43, 0x53, 0x5f, 0x57, 0x45, 0x4c, 0x46, 0x5f, 0x47, 0x45, 0x54, 0x54, 0x55, 0x52, 0x4e, + 0x50, 0x4c, 0x41, 0x54, 0x45, 0x10, 0x96, 0x14, 0x12, 0x20, 0x0a, 0x1b, 0x50, 0x41, 0x43, 0x4b, + 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x57, 0x45, 0x4c, 0x46, 0x5f, 0x47, 0x45, 0x54, 0x54, 0x55, + 0x52, 0x4e, 0x50, 0x4c, 0x41, 0x54, 0x45, 0x10, 0x97, 0x14, 0x12, 0x20, 0x0a, 0x1b, 0x50, 0x41, + 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x57, 0x45, 0x4c, 0x46, 0x5f, 0x47, 0x45, 0x54, + 0x41, 0x44, 0x44, 0x55, 0x50, 0x53, 0x49, 0x47, 0x4e, 0x10, 0x98, 0x14, 0x12, 0x20, 0x0a, 0x1b, + 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x57, 0x45, 0x4c, 0x46, 0x5f, 0x47, + 0x45, 0x54, 0x41, 0x44, 0x44, 0x55, 0x50, 0x53, 0x49, 0x47, 0x4e, 0x10, 0x99, 0x14, 0x12, 0x1f, + 0x0a, 0x1a, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x57, 0x45, 0x4c, 0x46, + 0x5f, 0x57, 0x45, 0x4c, 0x46, 0x41, 0x52, 0x45, 0x49, 0x4e, 0x46, 0x4f, 0x10, 0x9a, 0x14, 0x12, + 0x1f, 0x0a, 0x1a, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x57, 0x45, 0x4c, + 0x46, 0x5f, 0x57, 0x45, 0x4c, 0x46, 0x41, 0x52, 0x45, 0x49, 0x4e, 0x46, 0x4f, 0x10, 0x9b, 0x14, + 0x12, 0x1f, 0x0a, 0x1a, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x57, 0x45, + 0x4c, 0x46, 0x5f, 0x42, 0x4c, 0x49, 0x4e, 0x42, 0x4f, 0x58, 0x49, 0x4e, 0x46, 0x4f, 0x10, 0x9c, + 0x14, 0x12, 0x1f, 0x0a, 0x1a, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x57, + 0x45, 0x4c, 0x46, 0x5f, 0x42, 0x4c, 0x49, 0x4e, 0x42, 0x4f, 0x58, 0x49, 0x4e, 0x46, 0x4f, 0x10, + 0x9d, 0x14, 0x12, 0x1e, 0x0a, 0x19, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, + 0x57, 0x45, 0x4c, 0x46, 0x5f, 0x47, 0x45, 0x54, 0x42, 0x4c, 0x49, 0x4e, 0x42, 0x4f, 0x58, 0x10, + 0x9e, 0x14, 0x12, 0x1e, 0x0a, 0x19, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, + 0x57, 0x45, 0x4c, 0x46, 0x5f, 0x47, 0x45, 0x54, 0x42, 0x4c, 0x49, 0x4e, 0x42, 0x4f, 0x58, 0x10, + 0x9f, 0x14, 0x12, 0x20, 0x0a, 0x1b, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, + 0x57, 0x45, 0x4c, 0x46, 0x5f, 0x46, 0x49, 0x52, 0x53, 0x54, 0x50, 0x41, 0x59, 0x49, 0x4e, 0x46, + 0x4f, 0x10, 0xa0, 0x14, 0x12, 0x20, 0x0a, 0x1b, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, + 0x43, 0x5f, 0x57, 0x45, 0x4c, 0x46, 0x5f, 0x46, 0x49, 0x52, 0x53, 0x54, 0x50, 0x41, 0x59, 0x49, + 0x4e, 0x46, 0x4f, 0x10, 0xa1, 0x14, 0x12, 0x1c, 0x0a, 0x17, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, + 0x5f, 0x43, 0x53, 0x5f, 0x57, 0x45, 0x4c, 0x46, 0x5f, 0x46, 0x49, 0x52, 0x53, 0x54, 0x50, 0x41, + 0x59, 0x10, 0xa2, 0x14, 0x12, 0x1c, 0x0a, 0x17, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, + 0x43, 0x5f, 0x57, 0x45, 0x4c, 0x46, 0x5f, 0x46, 0x49, 0x52, 0x53, 0x54, 0x50, 0x41, 0x59, 0x10, + 0xa3, 0x14, 0x12, 0x21, 0x0a, 0x1c, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, + 0x57, 0x45, 0x4c, 0x46, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x49, 0x4e, 0x50, 0x41, 0x59, 0x49, 0x4e, + 0x46, 0x4f, 0x10, 0xa4, 0x14, 0x12, 0x21, 0x0a, 0x1c, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, + 0x53, 0x43, 0x5f, 0x57, 0x45, 0x4c, 0x46, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x49, 0x4e, 0x50, 0x41, + 0x59, 0x49, 0x4e, 0x46, 0x4f, 0x10, 0xa5, 0x14, 0x12, 0x1d, 0x0a, 0x18, 0x50, 0x41, 0x43, 0x4b, + 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x57, 0x45, 0x4c, 0x46, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x49, + 0x4e, 0x50, 0x41, 0x59, 0x10, 0xa6, 0x14, 0x12, 0x1d, 0x0a, 0x18, 0x50, 0x41, 0x43, 0x4b, 0x45, + 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x57, 0x45, 0x4c, 0x46, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x49, 0x4e, + 0x50, 0x41, 0x59, 0x10, 0xa7, 0x14, 0x12, 0x22, 0x0a, 0x1d, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, + 0x5f, 0x43, 0x53, 0x5f, 0x53, 0x69, 0x67, 0x6e, 0x44, 0x61, 0x79, 0x5f, 0x41, 0x64, 0x64, 0x75, + 0x70, 0x32, 0x41, 0x77, 0x61, 0x72, 0x64, 0x10, 0xa8, 0x14, 0x12, 0x22, 0x0a, 0x1d, 0x50, 0x41, + 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x53, 0x69, 0x67, 0x6e, 0x44, 0x61, 0x79, 0x5f, + 0x41, 0x64, 0x64, 0x75, 0x70, 0x32, 0x41, 0x77, 0x61, 0x72, 0x64, 0x10, 0xa9, 0x14, 0x12, 0x18, + 0x0a, 0x13, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x57, 0x65, 0x6c, 0x66, 0x52, + 0x65, 0x6c, 0x69, 0x65, 0x66, 0x10, 0xd4, 0x16, 0x12, 0x18, 0x0a, 0x13, 0x50, 0x41, 0x43, 0x4b, + 0x45, 0x54, 0x5f, 0x53, 0x43, 0x57, 0x65, 0x6c, 0x66, 0x52, 0x65, 0x6c, 0x69, 0x65, 0x66, 0x10, + 0xd5, 0x16, 0x12, 0x18, 0x0a, 0x13, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x49, + 0x6e, 0x76, 0x69, 0x74, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x10, 0xd6, 0x16, 0x12, 0x18, 0x0a, 0x13, + 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x49, + 0x6e, 0x66, 0x6f, 0x10, 0xd7, 0x16, 0x12, 0x18, 0x0a, 0x13, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, + 0x5f, 0x43, 0x53, 0x42, 0x69, 0x6e, 0x64, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x10, 0xd8, 0x16, + 0x12, 0x18, 0x0a, 0x13, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x42, 0x69, 0x6e, + 0x64, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x10, 0xd9, 0x16, 0x12, 0x1c, 0x0a, 0x17, 0x50, 0x41, + 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x50, 0x69, 0x67, 0x62, 0x61, 0x6e, 0x6b, 0x47, 0x65, + 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x10, 0xde, 0x16, 0x12, 0x1c, 0x0a, 0x17, 0x50, 0x41, 0x43, 0x4b, + 0x45, 0x54, 0x5f, 0x53, 0x43, 0x50, 0x69, 0x67, 0x62, 0x61, 0x6e, 0x6b, 0x47, 0x65, 0x74, 0x49, + 0x6e, 0x66, 0x6f, 0x10, 0xdf, 0x16, 0x12, 0x1d, 0x0a, 0x18, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, + 0x5f, 0x43, 0x53, 0x50, 0x69, 0x67, 0x62, 0x61, 0x6e, 0x6b, 0x54, 0x61, 0x6b, 0x65, 0x43, 0x6f, + 0x69, 0x6e, 0x10, 0xe0, 0x16, 0x12, 0x1d, 0x0a, 0x18, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, + 0x53, 0x43, 0x50, 0x69, 0x67, 0x62, 0x61, 0x6e, 0x6b, 0x54, 0x61, 0x6b, 0x65, 0x43, 0x6f, 0x69, + 0x6e, 0x10, 0xe1, 0x16, 0x12, 0x20, 0x0a, 0x1b, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, + 0x53, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x42, 0x61, 0x6e, 0x6b, 0x47, 0x65, 0x74, 0x49, + 0x6e, 0x66, 0x6f, 0x10, 0xe2, 0x16, 0x12, 0x20, 0x0a, 0x1b, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, + 0x5f, 0x53, 0x43, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x42, 0x61, 0x6e, 0x6b, 0x47, 0x65, + 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x10, 0xe3, 0x16, 0x12, 0x24, 0x0a, 0x1f, 0x50, 0x41, 0x43, 0x4b, + 0x45, 0x54, 0x5f, 0x53, 0x43, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x42, 0x61, 0x6e, 0x6b, + 0x54, 0x61, 0x6b, 0x65, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x10, 0xe4, 0x16, 0x12, 0x18, + 0x0a, 0x13, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x50, 0x65, 0x72, 0x6d, 0x69, + 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x10, 0xe5, 0x16, 0x12, 0x18, 0x0a, 0x13, 0x50, 0x41, 0x43, 0x4b, + 0x45, 0x54, 0x5f, 0x53, 0x43, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x10, + 0xe6, 0x16, 0x12, 0x20, 0x0a, 0x1b, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x50, + 0x65, 0x72, 0x6d, 0x69, 0x74, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4c, 0x69, 0x73, + 0x74, 0x10, 0xe7, 0x16, 0x12, 0x20, 0x0a, 0x1b, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, + 0x43, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4c, + 0x69, 0x73, 0x74, 0x10, 0xe8, 0x16, 0x12, 0x19, 0x0a, 0x14, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, + 0x5f, 0x43, 0x53, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x41, 0x77, 0x61, 0x72, 0x64, 0x10, 0xe9, + 0x16, 0x12, 0x19, 0x0a, 0x14, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x50, 0x65, + 0x72, 0x6d, 0x69, 0x74, 0x41, 0x77, 0x61, 0x72, 0x64, 0x10, 0xea, 0x16, 0x12, 0x1c, 0x0a, 0x17, + 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x45, + 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x10, 0xeb, 0x16, 0x12, 0x1c, 0x0a, 0x17, 0x50, 0x41, + 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x45, 0x78, 0x63, + 0x68, 0x61, 0x6e, 0x67, 0x65, 0x10, 0xec, 0x16, 0x12, 0x18, 0x0a, 0x13, 0x50, 0x41, 0x43, 0x4b, + 0x45, 0x54, 0x5f, 0x43, 0x53, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x53, 0x68, 0x6f, 0x70, 0x10, + 0xed, 0x16, 0x12, 0x18, 0x0a, 0x13, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x50, + 0x65, 0x72, 0x6d, 0x69, 0x74, 0x53, 0x68, 0x6f, 0x70, 0x10, 0x8c, 0x17, 0x42, 0x27, 0x5a, 0x25, + 0x6d, 0x6f, 0x6e, 0x67, 0x6f, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x67, 0x61, 0x6d, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2f, 0x77, 0x65, + 0x6c, 0x66, 0x61, 0x72, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/protocol/welfare/welfare.proto b/protocol/welfare/welfare.proto index 369b3dd..220fafc 100644 --- a/protocol/welfare/welfare.proto +++ b/protocol/welfare/welfare.proto @@ -425,7 +425,7 @@ message PermitShow{ } message PermitRankAward{ - int32 Start = 1; // 开始排名;第一名为0 + int32 Start = 1; // 开始排名;第一名为1 int32 End = 2; // 结束排名 repeated PropInfo ItemId = 3; // 奖励 } @@ -439,6 +439,7 @@ message SCPermitInfo{ repeated PermitShow ShowList = 5; // 展示列表 bool IsPermit = 6; // 是否已购买典藏通行证 repeated PermitRankAward RankAward = 7; // 排行榜奖励 + int64 RefreshTs = 8; // 下次刷新时间戳 } // 领取赛季通行证奖励 diff --git a/public b/public index 65710a7..8c59aeb 160000 --- a/public +++ b/public @@ -1 +1 @@ -Subproject commit 65710a75b2bc39d1e899c49492db6b9978ab52e9 +Subproject commit 8c59aeb37871428f135c6423cde777c09ad0e3f0 diff --git a/ranksrv/main.go b/ranksrv/main.go index c30cfb7..f84d4a0 100644 --- a/ranksrv/main.go +++ b/ranksrv/main.go @@ -21,9 +21,13 @@ func main() { defer core.ClosePackages() // core hook core.RegisteHook(core.HOOK_BEFORE_START, func() error { - etcd.Start() model.StartupRPClient(common.CustomConfig.GetString("MgoRpcCliNet"), common.CustomConfig.GetString("MgoRpcCliAddr"), time.Duration(common.CustomConfig.GetInt("MgoRpcCliReconnInterV"))*time.Second) mq.StartConsumer(common.CustomConfig.GetString("RabbitMQURL"), common.CustomConfig.GetString("RMQExchange"), true) + err := model.InitGameKVData() + if err != nil { + panic(err) + } + etcd.Start() return nil }) core.RegisteHook(core.HOOK_AFTER_STOP, func() error { diff --git a/worldsrv/action_task.go b/worldsrv/action_task.go index 8ae5c59..93242b5 100644 --- a/worldsrv/action_task.go +++ b/worldsrv/action_task.go @@ -52,7 +52,7 @@ func IsTaskReward(p *Player, id int32) bool { if data := p.WelfData.Task[id]; data != nil && data.Ts > 0 { t := srvdata.PBDB_TaskMgr.GetData(id) switch t.ActivityType { - case common.TaskActivityTypeEveryDay: + case common.TaskActivityTypeEveryDay, common.TaskActivityTypePermit: if common.TsInSameDay(time.Now().Unix(), data.Ts) { return true } @@ -73,8 +73,12 @@ func IsTaskReward(p *Player, id int32) bool { } func SendReward(p *Player, m map[int64]int64, tp int32) { + isPermit := p.GetIsPermit() var items []*Item for k, v := range m { + if k == common.ItemIDPermit && isPermit { + v += v / 2 // 增加50% + } items = append(items, &Item{ ItemId: int32(k), ItemNum: v, @@ -167,8 +171,6 @@ func CSTaskReward(s *netlib.Session, packetId int, data interface{}, sid int64) return nil } - isPermit := p.GetIsPermit() - ret := &taskproto.SCTaskReward{ OpCode: taskproto.OpResultCode_OPRC_Error, Tp: msg.GetTp(), @@ -185,16 +187,6 @@ func CSTaskReward(s *netlib.Session, packetId int, data interface{}, sid int64) for k, vv := range data.GetAward() { ret.Reward[k] = ret.Reward[k] + vv } - // 赛季通行证积分 - if data.GetActivityType() == common.TaskActivityTypePermit { - ret.Reward[common.ItemIDPermit] = common.PermitTaskScore - if isPermit { - ret.Reward[common.ItemIDPermit] = common.PermitTaskScore * 1.5 - } - BagMgrSingleton.AddItem( - p, common.ItemIDPermit, ret.Reward[common.ItemIDPermit], 0, 0, - "system", "任务获得赛季通行证积分", 0, 0, true) - } } ret.OpCode = taskproto.OpResultCode_OPRC_Success } diff --git a/worldsrv/action_welfare.go b/worldsrv/action_welfare.go index 3bd20fa..9806911 100644 --- a/worldsrv/action_welfare.go +++ b/worldsrv/action_welfare.go @@ -597,6 +597,7 @@ func CSPermitInfo(s *netlib.Session, packetid int, data interface{}, sid int64) Level: level, Timestamp: []int64{startTs, endTs}, IsPermit: p.GetIsPermit(), + RefreshTs: common.GetDayNextStartTs(time.Now().Unix()), } // 等级奖励 for _, v := range channelConfig.GetLevelConfig() { @@ -705,7 +706,7 @@ func CSPermitAward(s *netlib.Session, packetid int, data interface{}, sid int64) now := time.Now() pack := &welfare.SCPermitAward{ - OpRetCode: welfare.OpResultCode_OPRC_Error, + OpRetCode: welfare.OpResultCode_OPRC_Sucess, Tp: msg.GetTp(), Id: msg.GetId(), } diff --git a/worldsrv/etcd.go b/worldsrv/etcd.go index 6a791cb..8c9bda6 100644 --- a/worldsrv/etcd.go +++ b/worldsrv/etcd.go @@ -272,7 +272,7 @@ func platformConfigEvent(ctx context.Context, completeKey string, isInit bool, e }, Award2: []*webapi.ItemInfo{ { - ItemId: common.ItemIDCoin, + ItemId: common.ItemIDLong, ItemNum: 100, }, { @@ -340,6 +340,21 @@ func platformConfigEvent(ctx context.Context, completeKey string, isInit bool, e PlatformMgrSingleton.GetConfig("1").ActPermitConfig = actConfig PlatformMgrSingleton.GetConfig("1").PermitStartTs = common.GetDayStartTs(1719646575) PlatformMgrSingleton.GetConfig("1").PermitEndTs = common.GetDayStartTs(1719646575) + int64(actConfig.GetDays()*24*3600) + task.New(nil, task.CallableWrapper(func(o *basic.Object) interface{} { + b, err := json.Marshal(&model.PermitStartTs{ + StartTs: common.GetDayStartTs(1719646575), + EndTs: common.GetDayStartTs(1719646575) + int64(actConfig.GetDays()*24*3600), + }) + if err != nil { + logger.Logger.Errorf("permit startts save error: %v", err) + } else { + err := model.UptStrKVGameData(common.PermitStartTsKey+"1", string(b)) + if err != nil { + logger.Logger.Errorf("permit startts update error:%v", err) + } + } + return nil + }), nil).StartByExecutor("permit_start_ts") logger.Logger.Tracef("==> PermitConfig: %v ", actConfig) // test } diff --git a/worldsrv/permitmgr.go b/worldsrv/permitmgr.go index 1ab39c3..ecba445 100644 --- a/worldsrv/permitmgr.go +++ b/worldsrv/permitmgr.go @@ -5,6 +5,7 @@ import ( "time" "mongo.games.com/goserver/core/basic" + "mongo.games.com/goserver/core/i18n" "mongo.games.com/goserver/core/logger" "mongo.games.com/goserver/core/task" @@ -49,6 +50,84 @@ func (r *PermitMgr) OnDayTimer() { continue } if now.Unix() >= se.EndTs { + // 活动结束,发送排行榜奖励 + startTs := se.StartTs + var err error + var list *model.FindPlayerPermitListReply + var players []*model.PlayerBaseInfo + task.New(nil, task.CallableWrapper(func(o *basic.Object) interface{} { + list, err = model.FindPlayerPermitList(&model.FindPlayerPermitListArgs{ + Platform: v.IdStr, + StartTs: startTs, + }) + for _, vv := range list.List { + player := PlayerMgrSington.GetPlayerBySnId(vv.SnId) + if player != nil { + players = append(players, &model.PlayerBaseInfo{ + SnId: 0, + LastChannel: player.LastChannel, + }) + } else { + baseInfo := model.GetPlayerBaseInfo(v.IdStr, vv.SnId) + players = append(players, baseInfo) + } + } + return nil + }), task.CompleteNotifyWrapper(func(i interface{}, t task.Task) { + if err != nil { + logger.Logger.Errorf("PermitMgr OnDayTimer FindPlayerPermitList err:%v", err) + return + } + for k, player := range players { + if player == nil { + logger.Logger.Errorf("PermitMgr OnDayTimer FindPlayerPermitList player is nil %v", list.List[k].SnId) + continue + } + // 发送奖励 + cfg := PlatformMgrSingleton.GetPermitConfig(v.IdStr, player.LastChannel).GetRankConfig() + rank := k + 1 + for _, rankInfo := range cfg { + var has bool + var items []int32 + for r := rankInfo.GetStart(); r <= rankInfo.GetEnd(); r++ { + if rank == int(r) { + has = true + for _, item := range rankInfo.GetItemId() { + items = append(items, item.GetItemId()) + items = append(items, int32(item.GetItemNum())) + } + if len(items) == 0 { + break + } + // 发邮件 + var newMsg *model.Message + task.New(nil, task.CallableWrapper(func(o *basic.Object) interface{} { + title := i18n.Tr("languages", "PermitAwardTitle") + content := i18n.Tr("languages", "PermitAward", []int{rank, rank, rank, rank}) + newMsg = model.NewMessage("", 0, "", player.SnId, model.MSGTYPE_RANK_REWARD, + title, content, 0, 0, model.MSGSTATE_UNREAD, time.Now().Unix(), 0, "", items, v.IdStr, model.HallTienlen, nil) + err := model.InsertMessage(v.IdStr, newMsg) + if err != nil { + logger.Logger.Errorf("发送邮件失败 snid:%v err:%v", player.SnId, err) + return err + } + return nil + }), task.CompleteNotifyWrapper(func(i interface{}, t task.Task) { + p := PlayerMgrSington.GetPlayerBySnId(player.SnId) + if p != nil { + p.AddMessage(newMsg) + } + })).Start() + break + } + } + if has { + break + } + } + } + })).StartByExecutor("permit_rank_award") + // 活动已结束, 新开始 se.StartTs = se.EndTs se.EndTs = se.EndTs + int64(pl.Days*24*3600) diff --git a/worldsrv/player.go b/worldsrv/player.go index 4e30568..da5ec0f 100644 --- a/worldsrv/player.go +++ b/worldsrv/player.go @@ -2273,19 +2273,21 @@ func (this *Player) ResetPermit() { bag := BagMgrSingleton.GetBagInfo(this.SnId) if bag != nil { delete(bag.BagItem, common.ItemIDPermit) - //todo 上线前删除 - bagInfo := BagMgrSingleton.GetBagInfo(this.SnId) - if bagInfo != nil { - bagInfo.BagItem[common.ItemIDPermit] = &Item{ - ItemId: common.ItemIDPermit, - ItemNum: 845, - ObtainTime: time.Now().Unix(), + if model.GameParamData.PermitInitScore > 0 { + bagInfo := BagMgrSingleton.GetBagInfo(this.SnId) + if bagInfo != nil { + bagInfo.BagItem[common.ItemIDPermit] = &Item{ + ItemId: common.ItemIDPermit, + ItemNum: model.GameParamData.PermitInitScore, + ObtainTime: time.Now().Unix(), + } } } - //todo 上线前删除 } + this.Permit = time.Time{} this.WelfData.PermitAward = make(map[int32]int64) this.WelfData.PermitExchange = make(map[int32][]int64) + this.dirty = true } } diff --git a/worldsrv/task_login.go b/worldsrv/task_login.go index 00784a5..432079a 100644 --- a/worldsrv/task_login.go +++ b/worldsrv/task_login.go @@ -278,6 +278,7 @@ func SCLogin(s *netlib.Session, sid int64, csLogin *login_proto.CSLogin, acc *mo sclogin := &login_proto.SCLogin{ OpRetCode: code, ClientParam: string(model.ClinetBuf), + NextDayTs: common.GetDayNextStartTs(time.Now().Unix()), } if acc != nil { now := time.Now() diff --git a/worldsrv/trascate_webapi.go b/worldsrv/trascate_webapi.go index 32524a2..16693b1 100644 --- a/worldsrv/trascate_webapi.go +++ b/worldsrv/trascate_webapi.go @@ -4448,6 +4448,7 @@ func getPlayerDataParam(param *playerDataParam) *model.WebPlayerDataParam { } } } + var long, permitScore int64 var items []*model.WebItem if param.Items == nil { b := BagMgrSingleton.GetBagInfo(param.P.SnId) @@ -4461,6 +4462,12 @@ func getPlayerDataParam(param *playerDataParam) *model.WebPlayerDataParam { N: v.ItemNum, Name: e.Name, }) + if e.Id == common.ItemIDLong { + long += v.ItemNum + } + if e.Id == common.ItemIDPermit { + permitScore += v.ItemNum + } } } else { for _, v := range param.Items.BagItem { @@ -4473,6 +4480,12 @@ func getPlayerDataParam(param *playerDataParam) *model.WebPlayerDataParam { N: v.ItemNum, Name: e.Name, }) + if e.Id == common.ItemIDLong { + long += v.ItemNum + } + if e.Id == common.ItemIDPermit { + permitScore += v.ItemNum + } } } @@ -4502,6 +4515,9 @@ func getPlayerDataParam(param *playerDataParam) *model.WebPlayerDataParam { VipAdded: int64(vipAdded), VipExp: vipExp, Items: items, + IsPermit: !param.P.Permit.IsZero(), + Long: long, + PermitScore: permitScore, } return ret diff --git a/xlsx/DB_Task.xlsx b/xlsx/DB_Task.xlsx index a78e7696eab153f5094445974658f07a11ba7299..b86342579cbfbd3e0e8055fef55c93ced4bc4813 100644 GIT binary patch delta 15059 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 delta 14936 zcmZ8oWk8%e*2dl4-QC^Y-QC??J7}R4A1LlnytqSgDMgFBySvkGy7$|=cXxhdCV7)% zdCtkno5^Ygcv%H_Z7w*VXN?cT1{@5`83GIp9SjW2%GFZM!`01`)za0&n#IrADL7eG zv7Zeu>LP5TV0WGR?CZpo_hVEJ5u6H^E4hCQbXFtPv@>rn>X!WFwswulD-Xx5VS4k* zs+!Q(Zqr%#D%32ZFOpTqg-&W|7Ox7c`N_yJs$MrPPQmeRAy&C!^8>ftI5lx~h z?`KD~-8nM2XvP%){V%eQ^#Bi@I06OZ^B714%wBrl9wV1ukOjqG<}N@ZJYefY)*NCHU#a13X|`gj5Rf|?vS9yMgI{&@~(h=oV*;4Bf(u$L-%z{UEs zo3-R*h{dPDm}KH-|4lBC*>v!bxRob7nZE}df+S7JJA8F-)4t;ha}$4M^c!*NEfhOYCDqIK~(zyst?lSRYkFNrWU zq$Q^+jQ86}NZa*ov)?hNSb|F#Hi6mME=j?C2_~$kQ+u1$U$u=jrGo2K7)dERuV>i0 zuGGWO^phNbUru~Cl}p*cbDbh9KNxbyd)Iz;4`A29wbrsQNHfQxrYfXYpin?p*-3Y* zsIB;EtHkk0Jh>^oLzySBC4G2)wSISMW21Y+=7YQ-`U+P#Fihp9itI)-H0{cB*{$3Q~;c@%3%{bPC@f?YF`+F`b=Sbsr2IPlX9#^)#{VyNZvIs90`nR@vZSHssMO=RE-87tRjx`yqy5_zc ze3`g7*}ABV0}$%&Oj$I$|Jn(-tJ!lDjBaM-ZMPA-ei5Gm=P3@E?LX|hdwK_)?QwN? ze3e}rjOhLuxz-r+|6Z)bb*K)F5OeWNsLe6l7=H>z;1(sXBUCL!-U2BtLc;~COg zO|CKA!|(94()|g3AwT_BpiN|^DG|wPOT)w#%($Kaz>Ifve&g*``aLa=Wo^~f(X-Ea zRn>(P?*l>WmXo8`XdI}<<%Qd9ZN*|F$nl^V!2ja)3+XKQ=Aj|$IkXbpa5>L2@IiAq zFKD@=DXXd3_d(OZ^lW1pyRy0Ig}!>y9yo$X3>XiVmg1Yg&$|yrn|q}IXL-nL51j)2 z!Ueo0fy3EDCM@?DkL5PdE+Rv?Oo*}tf!l8W!2b}^5t={qN-^U*y?XLu5>m@~d6|uT zG_>T=f)ts#k9+j6JLCV`I9N)%l-W+1{rA0f*R%H~iI+?6%CQvZzCv*z8LCJ}`nO#! z!2L$16yJ|GH|f*0AAn%NcaPh&%IJsFee=@ga^Hm9^DSEZ-&<#7sxzg+hmJziv zd6#?KtNpf&rMQCt+Lpyi%!aRtjqk`&TrIntWIZY9c0`Z#`%r`vAu9u z_LkT72nD1i*BObE@^U+B(|p!>pU-VN&r-^hM(u^zH)ID^*3FP(BmHgpZ_4xff z_FC8p8hQZxBdVC>I#OKb_#ZAiI(E-Nv&uP1lWtRp$ar&?GGbNJ1%=!*Y<;!6hX-6%3&$MW#Gfqhb4{opbb| z7F%rVcpo;O%=M$h+|R#A(FFvl%u3Qz=D}f^Y4x)ZhN?@}jq{OHin$j;DE$}~pS~gM zJd3SY$gSJ<GjiZmyY7vMBf5~RJ8C%Mra}6{xZVDZ@(;e37JjHvO?7#w0*L+r;lcX2Tp%v z4nh4NnJ>3cM18KdRP?MW71#UC4Q1vO7{QAa#71RWrsM3p_hS_ZK z4SPw`9UkFyYY>{8~)WTC?J5`f!c9w&)<8ldmnz zuUY4!DiCLjN0U<`_p8?dIANpkT&^s@qx-;%iVyszmKUR$?iCYoT!J4c{_6*0qQ{B0 zUU{R2bqN8Lk^r&cS&o;-LGcN-_ODKstz(!hZGYv#cHt8uiZKCzVp3K3oK4Pn${lBx zx6`)<6`iqmi{Q}(?Bd6H1 z&3s-z#)`O#=fvr2Ro+UKrDu+Jy~MogoP*iu0<`{t&sLWThSi!J|1d%)0%NL9MU_@~ zgnlW&lj>o1qoxP=lE~Y0+?&J2YQm*|u|`^I;T>6Gh?>LT_HFP-+=yWL2M!+rdy|9b zldOQ`)qHK-;w0V|l8+Tpb$o3EtH_dq%8N&{)HR+0+C>=(RH!}GsWup+{UR+IE+u^m zC8-RIb7bV0Ua^h5n7b_Ux(j(oJyrYs*e5;!8a^ntf?O(mS%HG4D1t#`18re~0&PrA z9UEhOJ1;>xGFphmOGw2upmmaFxxJr^N*voT0NB$M1nnQ_ zj8<#?d&VL{C!+5^hOR=xq!th4phL6KX=&8CM1@L%Avv6+x)kz z+!$|0m~AM$G7t=6%*b>m8VcPbY_#i!?6l!?Yq9C4RAEUAi+U6|;jz`sN>&vjQxzDs zbt=Rq5DpJV$Dd3(6dpK~-C9l_?x^f^e9b|K#d1Rx3k{e6*b>ppfJY`;n9+$fFmPFZ z8b>O(=+PMvOX9jC7lJV^r5LBuiU#+O9PA0e)?ujD(l3XBXU_-Lcd>6;@(Kv!RoqgY zm(k}-3A2NobT~v342A)SFB@YnMh*ojy(35Ple55imuqkh#kd|q z@?Y2l{2QFGUhPf1u)8d%(B7m}l58h?ehm9(WNt`c;=-mJ@mP?d5>nz|4Z@aRHj~1{ zs?nhamuI6At2PYmhcH5Vri0@~s&&mvekr7;IwYb+B;@e4r}>8onsk53&DZb#!H<38 zgVu@&CO-EimU2)mA59%?>J$az@+&Do@fHq#mPn3Im;9?p1Z}~IPBDHUI6RRsRj*v6 zvz|eDy#_KyvY4$t3-3!c+K4ev+_8%Ca)P7OWX@8+cG*QU;(-IT&)SLA{3o}VQW7;@ zj4;gd<9oS`EKF);hzMQEY_~uvac>T6+TZhchK%D@biINIRsV@70694b;(;?|h-?xR zEoG(UNoQ}Wvey!)HF1bMBnTFUg$$`eBgPYCgS%lG89Sdz7)6L&6$)BRmjtS^;a#n4 z2@Ja9@-!QcltifW6~(qYhAORp%S@{m2oyWlz|@*n$tDpJnhj2__lAYXg2);3NXnt0 z3Ykj=vv~kaACh483}QjoQy^3bsXSSPcYV(V>T!`ih&E2daiIz$nsL~Ix2?kZuTIcJEVIDp_62$A(Sc8HYIjdC z)d6<`8vD&0w^*?4Smp|l;yPe`og(AJZQD~1xjwFUKjqG6!r9V#1L#{c{tbl?-MZ_PK(d1d>%<%TdD`+-~Liw1j((7_ORTUofs&VlNm>K8$yL{>w>Y$RSA%x=UoQJ z%R~G4c?t0jYK%$)iVa0v2T{+A$I`X?wJ*+iG)-`ADvoTu2kq*4*W(Z0pkI` z(5l#oW-#z?ChCR#on7h_4`9@(KL>;n+M}}MWncKcdB+{p6FrKE>8{!+^NV%+G3diE zqM{3=_BkJlR?18PW$gk(B(t2peL7S!)iYnWvFJs(V$7O^fFi<(o{W1se*+3*M(gA) zZOGaEf@fenuIxOI>NXmkQ!7rxr7;|jfI)!%p5qf1`A5ltXmU<8&vG0`%hO&oN%D|% z#XYV)v^s)*^4H7&n&6KEmnDAmEhhgTp#b6%7Kc)<7X*^$;&JM{{M8}p<#_DRML_!w zr{{o0q?wIX2JMAll{6b+DM+stxf>%bt97|(JoZ_eC( z=<6#<5jtf3 zb}ce1ka^&Bq9^&l$+Y)D<^qof zNZuOAE;jq0Qczm%g@D{8l&mAF5Pg6|A!m*?$bW<+tqrMP@gK_$)O7FOI#g1iSYpM} zrxzt>QSkw!vjVMDm9}XVJvt6P;|gngnxp{t)+GmGdPh_yAqa$TIG}hDUt1Q#gIy}u zR)CVf>Xw%q+ZHKlN1<^f9jJV#Cw7wIK_@|?)Y^g0{cv!hbjxjG=~hvIYyT9m>u z=gf&lx2l3D!yNy^><|Xa)`Raa_C6rGKVb|?2Yh7DN_$pi=Vza3_i9({k38Eop2h~s z^S)HiqZ_O&7xpEjer8~Ck~Y%1%8AhwWm#X|q6iKE@a+FH_ZWy&L3m(h89$J=Ha_`v z?jq_PMO_fJLeQ34?G!hQKx;io9D6Bmqo@8&D=$MThOLi$q@td;ui3}3_>=%G200|X z8a*nS$*F4&vX2r4oLz&3^5)-A7ncw_d~|aa8_7A5hm2-G{`A7-9tA)X3bu3f67VuC zvN6ACmZ5b4RSuhFj>VHbiiyG0eK);IhEn8<;lzk2Akg#zn`Q8f>IBUh(X5(fK)%Y( z73TH^Qsck1pc+~0Ak{nL;S8mg!H%c81q+MDUnVG*RvnECfoxbl1DR&cb{i`+^5Z0+ z(pb~EXSq`w0dW*BoKUaKe`gn!crI0iU#e==Eqc>U_Zi82%N-O`|D%T9;iB7x2gqUD z)H!ooTcUjU2F<4P78L#<@G*i@X(;tr1Sp5D$0t=>AJXLN7%`2^Jo`PvN%iwOfqOI_ zGZ95`r0m{w`cJmbf9C&kh&klv%7|^Sjb(wf?lZMnINmzRpvcvD>28}I%QzQIlSI+z z77fR2b{2?BBg5OM7MMTi6vr3wGW~E);CiQsPm(HY$k{)k9h80fZ5;WPVPH282s>MjR2a&#c@}s`JBYblw0HGOYXI~wI0){Mal4y z!rWIS3TeD8G%M|(xLW7Qc{qct00|wi0hhQ%dI&k&yAS|~{Kqz=Kd$(H)vaei8a>E}?L0@6Y0TdS?miDVQ8Wx%aNxWK}MnBPAnH zsm^DB>}ig-|1dl_lPzhWFIxv}ZP~CAM!$(2Fnt<}#_*RWW1a_GO(?bfNJt?x}GPgy?it0nr~Wm&ZF!iBA6 z^hzMq89jP&Rxv|%eHf+Eg2IiTHZ{^R^!0w;g%%%%p zd0j%Sv!O8(D_YN`gwC$C@o7rnC!x5`xisAKnSS=Pq<^L#iMYNEAI$CoWzNSGZ@hFh zzeJFX-yasPkd#ZL)E~rWN)Q9WW;XSz(>UOqR=M0R7Y`xW{aXn7dN7bZZxsZ zhqU5EMSd(c3!Lx4D&dyithU?O;Ga;HDak_Ts(?dy07K(}h-$IqCF)N=)8+L5dqR1k z#zZR0Jr1#pzxU8opC&LKXg;k%CeM!NWkZvQVbn=xQF||xuG+zJ2Av+cT%R8X=i_Q+ zM8vT5vr~+PH2F)IhvHkhK_YX@+G*wFc)-z#u1>rivW$HpCCM5#XDPb+f2;uhwKL`N zDs1KD+9eSya=G1Qx{MYt>b_yzlM&3{>Q{}BVOIWQo{yGN`QVNhU*Uxl%i$m5X3MaD zYi0LoNU9Udt(0wj6Q=NN)A{G3uOT@c8>lIH4$gh7qc8!HK*xQ|MGc}^wuPx)ETdhm zBq3e4g$F=)=vjUk#gO4``nU|q?Q=1pLe8Dj7)L;oEo=23G5;kc_jtYK?}zoKO00FV zHq`f4jBn@O2Ezl*YG+Dq%qbGgd$odP1qFX5bZr!53N?@^W<#0)h>T`ah zlo7I6Eh{EYt&Wo;MlAD+ZGiu{{o)jU5#h8+RFCcM#Ng1|7HkI)L148`;H0my+5hn8+%ym^FnuO+C|CE}**~%zv$H zJ=?FA!(FE&W(B+|1+YTlb~|3@-;uTfo%$;saln@%iXR!jIif=mQa#GfR&V){y<9l2 zjt^j}KN51CB=E&fSLG=>LA#6%$!9~jRB-|0LFIpTF>)iwIb`RCDic41H)ULb5~!OW zKt2lph&6h0Lfm-}>Kg7NX&DAkU4Z zM})VB@Y3hyWn#4QC=xJM(#(#CAApw~5AD))=jROxpx5xMZduCil;A5YRU#UNPg@}8vat!nI* z)SvNeZYN#C3&_8?`6XDSWFej0!_EiqcN14zowsD zG}v?j02&Q_`qhNAju!W@K!sIxo&=}%VwPy%{AFT%}q;ik@bH4p?vauG_3j* z+z{ZX&D*}An>Btc{eI`!=BM{93((ea=ianDB5FjcyxOt1KiLxAGPvRq{BUbnWBsyV zrF&AkS4mh;xUkUA%lm$}Z9l_QLcgd?IQVws|77X@`{6F&>g4EdxcB*HrhlRTZnxm= zYfh1Aj_sL?DAGYDT^@% z<*D%%Cb{q?D|ALiJ?;}N7h~s{=4tNUCKiF|Z{v|qtc3HXq9>y-iN>bQ%KM)Oe?3@f zHonyJ+q|0szJKt)?D{a06>QQJH}-l_|IqF7;oUyix#QuTYHt&~;E3}#7t%o~+2Lnk z72xK>bgng|E{e160p#mxyg1<8>bvgeV+OdipW12%);o@Unh%t*_il8EZH}K6nX|+t z1@!kIcQ^7zJpo0*=YZ&zi)+T&fS+bX8`{uH@;x@po2_h;sMSkA@_Gn{6ij0TBMQ|pd9jR&}Dk(Lt6MX8#U8wa& z?)cP;fK~@SmHAZX(2B50;DZ@H7=9iPA7u&b5wM>unjtX?pQaJHI<%NJr@{*;ToGYW z=iP@6Ha_;at*d3k>CjkoGb*e*Jh2!&v^1ZA{{lm!y=eDWOU{(wSrK5sb+GsCH&6QP z4J>vPLHSO84Plf=U2VPt%u8AAC!ol4yB>nGIkb!5jaP5%wm!ev-dQqzyRr;6yH&wR zx#E0g!*G1xid71#1!N%7A6?F)RgCMFUkOqB_xft6(CE^QTAGNYIkh?0GVE zEy_~qDTS%0EIDQ5c%opY-aofqn!l&94HMQrf1aD5+ z(!VH$nqxiTt8(N^uT>}RFAdD;&RiXJa=)|HVdAUNo+|lW^{FFY1ju2!gt2ccmtpc` z;=0UgxTG)Q0!*GI1NUe;;l;z!Yu+egB! zGEVJfPEJN0!~u`?1sM}$bU-mw!%J*-*~~=tg2VtRL+@!=Q6TefD%#bs0$a!CV?4@b zH~F`PSAGru6-aMYfEjuX1lvxTMutr`ANtgozHqJ9(m}@iTTHJ~3tJ9A+N}9uHe;HZBfFtqF2{YP zPUQh6BTWuzpM7Bo2v;*v-^%F%UxUS^38tXpYsfqrbog{gsgdblxdP9M$2GGJOJIZv zuG<#Y#u2Oy<X0U&hI4CL8 zcraW0W}B+N%tVGnmX;&ni!2u@iNEWtF7U>qn5l_`wJ}e(D$!XctTzbCI;7q=TR~Ym zn%zg^1Pb~wfO$F(Q{9X-jRwTkuXv-f$qMgGh5Xos$$}vp1Tx^K9N~B*b07`Tk6ynN zIGS4L*w_P}G0giwd5C@~W#uh(9}>Ier?@fdzHCuO!Z-ZS-!4uQW0ly$zE|bs;8gSA zk5n9AX2lt&o$T@w>I)L;-sMy-jX+p&)dRh~J5qU2)*R#+gJaNc2Ooc|+BF#{dlxM^ zH8*BvcD)LWxXxu($1#+t%M(`I+%Jd)6`8os&*=cPHD_4BzrDteRo!IfD5fX98ui8Q z9$@Up!U)+tCjFy9W>k2RnZRx=?H_HiG?=yX$H65_BgC+8w={p=#B_#q0sU)U|Xfks+^g#}% zT|{$vXDO^7PEt_tpzqJiiw!ij`lG`|gz^Jw8YUL@`)9G#NqPi|z}flqproJE-ix+k zY48P1dDN^W85FyLo#TC5>JF{d07wD#1w5p0z%N%_-#6lqi;0Qvr)@awLalD#mTF{7 z`YNJclAB2GVP0v_?7ePqi^4wX!lnM==ffj9>dCpbxex;bv?ym$0|5SJ=W!olXj*Ly z7C zz`3SZBGDNyuWfMJ)1tw)Xv(ilerMFg7fI;*rbenU#B$UDt&9EzrkEk@So+E$Jw^>5 zqcXjh4iT4GOIIFzClcG~6JUzpny>GZCF^{#jC-}%+H0dku*ocgu4#eEHwpLM?+~>6 z`;`uQoKU1PbS1WWHx=gNs6+->*y;_G#u39j?S)RIqMDN2#WBx>PO@|rU&;o{6KkRG zs2#`|usXsVK6SvPWMEHW9IJ>o4WQ$G<%t}1FQzU(1NG>mroUj!2b4_JArf9~-;>1t z{8K1S`9Ztsudatvnt+NXCYOueR!|{sFdwrLs5am@cqXj(rz6pyAywAyfvE9(oh)`2 zy#`^Xh!xcFexR25`qnO3+0NQ7*ftGJ1JpGSouSHmCuCCA4c*Dcpc4MTSt z*0mYHT`$GCdV{ClX#~LBL;O1;jdpTjbMYbQvr_qW5*;XtMi?@EhTgg4Tz+YTl4$D52M^Wbw>b@kH$ zhuG{TUkc3FN`84t`y^{9YU~nm-5JQ>f!JCXx%uQrPpQcF!XXug*iZ>o1xkN5Eje!j zQNWrMHpRIxu|py}d$DTx8to-M@hOA9^~OeL>(Pk(b4=7K`1AD@d*`Rjny+l1SgtSQ zjbgP8h#cX-r;D_%jEtJ$#1w|e#6ke}2ykSXt)=Q@+_-|ALmtw%mhB7_-GflROEX_@ zir9Cq^o|h_N5;s4B^-PP6>tMv;E>eos08R48~6^6)_ds{ODV>X0$b3 zx)WFjp`8;TU zq7lUA9$aUTObbJ6OHNqBg4vAO3bFcp?0I8>IPy*WEbWwbc6qzWf9z-5WqN78YZ#a^7y1(;(I0Sh zZFuITJ8!*>>u~{-d+J?ho&?wCHtesTStX+c!YKI(V#Vo`}%fV-e6ac*q>F zg>|?bdXgo%wbtM%v;M18J-Q)7^!8HpW2kct1`pwtla$h2F(5rTedmC>6+Ezn z23n^~H;Bi}lN}Z*P)8AMrNCs%3F1s4rbDg9jpq_UdpeUS{zmT#5w%s^jBL=hOqY)k zy@8wFMzX7KDSD(@K8f%cdqPHv#c32MrV@tTT|X~1)@KPrg(UH(LwY1(n%rVUKx6}Y z5@O47QZ4*l%;ZPFx$^GFT=AUxHg+`p3GeQaFPu{*R>L3GQezGpV;}$3zw$5IFt6cp z$rQTV*dggB*k+OVa_s-&IKZ?zFORYNM@kBh6OG-!#u%ni_}(8b-443?Z-kbUAC5hA z^g;EICpZ?jR9)MGvAvz)zfD*HHdimZozfmpTxU8C!FSh+zGbv9Mb+DZT6{-{ahF2I z_`KHf`<*eiYB=h~eU4~#TL`Neb?=T18tT`KW*lUKtF<@2*Xu0!G}jnS8>Tu~AC#hr zUOWB#997}dd?2f1u!j>kM7^4?Fvk)Pdzm7?!acA3F7Ug`Si&{^dDfUZpNDUpvryMB)}LkR=_Vj+g}sKz$ld)F+d1RWv?caro4QX3Tepd*dU%< z2-e6T7ZeA4v%MVK_ny3Ig=zIw?{8 zmN6Vx&Rh%$@$mX4-xIUYq!yp3X|4UC-&0&<_Tc3=XRg!9=$5YRgm4IBY@TBAP~!Go zK8?EZp?6@RtYL6=uVH*2W?UT%bz`8n)sUz577iAnWH6;JQeeR6PP@ET)i6j*7u1za z9XpHl0KK=4=%K>f+B1dZDFI}KaU}mhsQ34?3)v20rnK3uBa5l*zR`FN`jVGF@!n$# zZ932E;UNRAntee1Nk?CSx`gmD;nnt#M-*j!yKh>{gNrv8D1op@vT9i^x8PA2Ca>nN z;w)T0GUO+Zb85}PZuU)@nUA`Jhrq5m;>?lb$xnpxRgdMT?~bSN+7@8zx~RD}_E`E? zhaOF%-jr{}sc^L(mr9xN8JO47+ymj^6447$;3VIY*q!dO<_eOn`NtS+t=xs{&&w;x z%@S9VE0uOWdAr4P4hG*x_9INr^CMqCBs6B{o7dj?Fb5Vh=6Mfhm#N^w;#H=8G5ts_ z!m+sIM8oeK%jkAX5(nIf#vHO9XS>&yl4!G6-uF{$Wfh`i$U!FgjfFPzsV%Y-5LTA` zUK6XvcA_D5V$pMAOZKTLW9^(@ug)JuU(Vw?cPV^zL>b$OT1@(44@Z#n`6--Qz|3iG zdY?tAd6@z4f_HYA1P47U1q+q=Ok$BB%6BQgB?s1e=9L^Zs{-Jb#MgFu-?~vCzF*)+ zCC)yrQ@K1wWGK{C7cqKrb|hcqQ8s^~q{I>y7g0n_Qb2)10dB;fj6UElZk1^)T86im zT;~=YQ)zTM98&9*o|L?J2nL?iw+pTxZ71O7(wnfhH zR3p|SFF8X+ITUT=aBiN=x?U%GXA+bICO@PZGkorhIvU+tf(;JKkTj@;cgq?Yocg&S z4t3=M6}|>XCe?lkM%}KKF8+heUiBMciGLA?v;$yjJpimLVmhGGRcQKQjFzM$gV&wE z!Jh`4jO6zDQ}ca6mq%X#L*qHA9L53Do@vKmbEaO9=@a)i8pq>I4^r7c)#aZr0gmi& zq3tFlkUefsShbdAS1Z+@j`= zBEtdL+qdb$y$U~?Mb^NlZ6x#gzfF3dMdKPm95U+V!18jG?~Wo(1afi%I( z*~8u2OTZ`FYOo#VyW%Qgk>l5;4|-y(h*a$WP7dk?bE?QFbu{MKE4+A3qD?1+2dZdg z@C8n!88gK5d)U0FerX)HvOkq?44kKGd~?9gcaKiQ;;H8b z1amM#&B(U4J2o)Wow<-tE~8B9nZJ<;QpN7bK0kNmn@!D^HZ|cooJavW5z8ZRaBqil zGmPeA)R%_jOPhJ-42Xy9!46bpH25FpB+l6#Mdb%rF6JXrsLl*Le?X4aE1*AVsU%Mr z<1BGczwt*2#bwDj$$QjzUcoBQcFk1@a-f45w*8C3I7koGz-g)RZF|qPj%iuyBj(;ZrgVKkWN}N(UE1*coBOdM zrEW%Fd*PnHAx_JA{KE^Imn+O8>EXq5@lhNLwR8}ep!0qcKyi5=i9vJ*x1yAL9RIop z*<`zc=%$~MlUn^94Z)&A>mdjxwhwoI_J5X66aznkThNs_BH)uOEdT?ZK_gnHTnpRU zD=>3)fLsStuzoy0^Bys9-SoC(gX@gbCr9k(to`WBxUh)G_k;DUtEcZwQ@UTd(kKR8 z7J8#UNqsePl6ZB;_Laf2my}jOq}Pik%@{fWK3oh5mXn;91c{N6c}06#R)nDC>{b=G zGcwX_QUNQ9VKkb^+W{J}Uj=N(QlPJh4q{VM5LfA-D&jtlapcx!C^b`KennTW%7+5|4E@dcIroNYoVJ>5{91f`aI=7x&0KF(3IUVc;s(jG;L z$U5_P#>1dvy_GCR=i}(+n5aiXE<91z!PmulWlk8+TVWFI(Ij@z*!L z{x0pYb)@>;Psuh0Hea(wlDRm88c@!oXIt>O4WSKr@Od3VrFS5oA#9M{>}E|-p?+pG zd9=QXZZkXi_ZlSccq?uX-dQx+{piZ9`Mx^n{9{I%E35fHHSOoo!QAW275w$&M~rm- zs%`h{-A7B+cd$f)1{#HOXz+I6l&ToSqC5~ojRWFU9w?)h4FC5PN#K?m58n4c3X@I;dc=&FVSP6aGh=K)s)uBgj`7XT?W zgu$Umg*nji(0>iXg$E|mV1usEK__dY5&eCHg!8}s(r7^a2!Jx$XfW=oe<=JP_MDZe From aaf15d2b3d2c8747c9970455d57ecd4428b7fbfd Mon Sep 17 00:00:00 2001 From: sk <123456@qq.com> Date: Tue, 2 Jul 2024 18:33:28 +0800 Subject: [PATCH 02/10] =?UTF-8?q?=E9=BE=99=E5=B8=81=E5=8F=98=E5=8C=96?= =?UTF-8?q?=E9=80=9A=E7=9F=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- data/DB_GameItem.dat | Bin 8958 -> 8958 bytes data/DB_GameItem.json | 2 +- data/DB_PropExchange.dat | Bin 384 -> 384 bytes data/DB_Task.dat | Bin 2441 -> 2441 bytes model/player.go | 1 + protocol/player/player.pb.go | 2316 +++++++++++++++++----------------- protocol/player/player.proto | 2 + public | 2 +- worldsrv/action_welfare.go | 26 +- worldsrv/bagmgr.go | 3 + worldsrv/permitmgr.go | 1 + worldsrv/player.go | 26 +- xlsx/DB_GameItem.xlsx | Bin 23736 -> 23766 bytes 13 files changed, 1206 insertions(+), 1173 deletions(-) diff --git a/data/DB_GameItem.dat b/data/DB_GameItem.dat index 4a0081f400cd1de9159db854c72976a30fc392f6..8aa980bdbd719074b854f9cf973447a2d34de6ef 100644 GIT binary patch delta 18 acmez8`ph($ diff --git a/data/DB_GameItem.json b/data/DB_GameItem.json index 5cd9737..5dc275c 100644 --- a/data/DB_GameItem.json +++ b/data/DB_GameItem.json @@ -801,7 +801,7 @@ 1, 0 ], - "Type": 13, + "Type": 19, "Effect0": [ 0, 0, diff --git a/data/DB_PropExchange.dat b/data/DB_PropExchange.dat index 87e9e17f77928c832e86f670fe276fd24eb6ce73..c59706a5f2c44b54ad2d0048ea099f6b89f58874 100644 GIT binary patch literal 384 zcmd-w<6snElw#w!+Qtl~uR-bSQ2H{Iz5=3^I5-yevI!h$vE|a^U;?YZ0hPZArEfv$ z+i2>;IUwf4%!TO#s{`7PVh;IUweP#ew$0>_IUf$sM@N1-na$6YP$LwU1c1VmVmA4neUPXwV&~L$G=TC=YWm X%ptG<09&lY&anvS(J#zg477y+X4*V8 diff --git a/data/DB_Task.dat b/data/DB_Task.dat index 8f2cd4ed4b42f93babf4680bc4d13715a2ea073a..98a04dd7c8920acdb50854baeb78b413491e2613 100644 GIT binary patch delta 252 zcmeAa?iAi|h0%bGV^J@g0HYNL$3h@|pv9I;jzd&{O@diLNQ29O(Ta`ZVjDADe#PO* zEKC8DMVN#X31FHnt z$O=`t;EjZrKo%pH9EYd?n*_6hkOr3lqZLGc#bHLE{KYnA zfypdP0Y(re6I61-LVhlJ4oLwnu%<7}a9tOc`apGYZEj=w$mjyGf*Gps!Ezx7MlNNJ zC36@BL?l=hST!d2!SyaUBnNd7D^QUN$5NmoDUhPc@$3?6V4-C|AqB9$1-)!QjS$mC zpr$u;R!#oNvSM-?yC5G}`L RankScore = 12; // 排位积分 int64 PhoneScore = 13; //手机积分 int64 InviteScore = 14; // 邀请积分 + int64 Long = 15; // 龙币 } //获取第三方玩家信息 diff --git a/public b/public index 8c59aeb..63eadb8 160000 --- a/public +++ b/public @@ -1 +1 @@ -Subproject commit 8c59aeb37871428f135c6423cde777c09ad0e3f0 +Subproject commit 63eadb869736b9d3e16c993cd99675c0e0de638c diff --git a/worldsrv/action_welfare.go b/worldsrv/action_welfare.go index 9806911..ecd8e72 100644 --- a/worldsrv/action_welfare.go +++ b/worldsrv/action_welfare.go @@ -595,7 +595,7 @@ func CSPermitInfo(s *netlib.Session, packetid int, data interface{}, sid int64) pack := &welfare.SCPermitInfo{ Exp: exp, Level: level, - Timestamp: []int64{startTs, endTs}, + Timestamp: []int64{startTs, endTs - 1}, IsPermit: p.GetIsPermit(), RefreshTs: common.GetDayNextStartTs(time.Now().Unix()), } @@ -777,8 +777,8 @@ func CSPermitAward(s *netlib.Session, packetid int, data interface{}, sid int64) p.WelfData.PermitAward[v.GetRank()*1000] = now.Unix() } } else { - if v.GetRank() == msg.GetId() { - if IsPermitCanReward(p, v.GetRank()*1000) { + if v.GetRank()*1000 == msg.GetId() { + if IsPermitCanReward(p, msg.GetId()) { for _, vv := range v.GetAward2() { pack.Award2 = append(pack.Award2, &welfare.PropInfo{ ItemId: vv.GetItemId(), @@ -1020,26 +1020,26 @@ func CSPermitExchange(s *netlib.Session, packetid int, data interface{}, sid int // 检查背包是否足够 var items []*Item var costItems []*Item - for k, v := range exchangeConfig.GetCost() { - item := BagMgrSingleton.GetItem(p.SnId, int32(k)) + for _, v := range exchangeConfig.GetCost() { + item := BagMgrSingleton.GetItem(p.SnId, v.GetItemId()) if item == nil || item.ItemNum < v.GetItemNum() { send(welfare.OpResultCode_OPRC_ErrCost) return nil } - info := srvdata.PBDB_GameItemMgr.GetData(int32(k)) + info := srvdata.PBDB_GameItemMgr.GetData(v.GetItemId()) if info != nil { costItems = append(costItems, &Item{ - ItemId: int32(k), + ItemId: v.GetItemId(), ItemNum: v.GetItemNum(), Name: info.Name, }) } } - for k, v := range exchangeConfig.GetGain() { - info := srvdata.PBDB_GameItemMgr.GetData(int32(k)) + for _, v := range exchangeConfig.GetGain() { + info := srvdata.PBDB_GameItemMgr.GetData(v.GetItemId()) if info != nil { items = append(items, &Item{ - ItemId: int32(k), + ItemId: v.GetItemId(), ItemNum: v.GetItemNum(), Name: info.Name, }) @@ -1055,11 +1055,7 @@ func CSPermitExchange(s *netlib.Session, packetid int, data interface{}, sid int } } - if !isExchange { - pack.OpRetCode = welfare.OpResultCode_OPRC_Error - } - p.SendToClient(int(welfare.SPacketID_PACKET_SCPermitExchange), pack) - logger.Logger.Tracef("SCPermitExchange: %v", pack) + send(welfare.OpResultCode_OPRC_Sucess) return nil } diff --git a/worldsrv/bagmgr.go b/worldsrv/bagmgr.go index cd91af7..abf8d40 100644 --- a/worldsrv/bagmgr.go +++ b/worldsrv/bagmgr.go @@ -314,6 +314,9 @@ func (this *BagMgr) AddItems(p *Player, addItems []*Item, add int64, gainWay int }) } } + if v == common.ItemIDLong { + p.SendDiffData() + } } if code != bag.OpResultCode_OPRC_Sucess { diff --git a/worldsrv/permitmgr.go b/worldsrv/permitmgr.go index ecba445..d0d67c8 100644 --- a/worldsrv/permitmgr.go +++ b/worldsrv/permitmgr.go @@ -99,6 +99,7 @@ func (r *PermitMgr) OnDayTimer() { if len(items) == 0 { break } + logger.Logger.Infof("PermitMgr rank award snid:%v rank:%v", player.SnId, rank) // 发邮件 var newMsg *model.Message task.New(nil, task.CallableWrapper(func(o *basic.Object) interface{} { diff --git a/worldsrv/player.go b/worldsrv/player.go index da5ec0f..aa9051f 100644 --- a/worldsrv/player.go +++ b/worldsrv/player.go @@ -60,6 +60,7 @@ const ( UpdateField_RankScore UpdateField_PhoneScore UpdateField_InviteScore + UpdateField_Long ) const ( @@ -2269,6 +2270,10 @@ func (this *Player) ResetPermit() { permitStartTs := PlatformMgrSingleton.GetConfig(this.Platform).PermitStartTs if (this.PermitStartTs == 0 || this.PermitStartTs < permitStartTs) && permitStartTs > 0 { this.PermitStartTs = permitStartTs + this.Permit = time.Time{} + this.WelfData.PermitAward = make(map[int32]int64) + this.WelfData.PermitExchange = make(map[int32][]int64) + this.dirty = true // 清理数据 bag := BagMgrSingleton.GetBagInfo(this.SnId) if bag != nil { @@ -2281,13 +2286,10 @@ func (this *Player) ResetPermit() { ItemNum: model.GameParamData.PermitInitScore, ObtainTime: time.Now().Unix(), } + this.Permit = time.Now() } } } - this.Permit = time.Time{} - this.WelfData.PermitAward = make(map[int32]int64) - this.WelfData.PermitExchange = make(map[int32][]int64) - this.dirty = true } } @@ -2557,6 +2559,14 @@ func (this *Player) SendDiffData() { if len(pack.RankScore) == 0 { pack.RankScore = nil } + // 龙币 + itemLong := BagMgrSingleton.GetItem(this.SnId, common.ItemIDLong) + if itemLong != nil && this.diffData.Long != itemLong.ItemNum { + dirty = true + pack.Long = proto.Int64(itemLong.ItemNum) + this.diffData.Long = itemLong.ItemNum + pack.UpdateField += UpdateField_Long + } if dirty { FriendMgrSington.UpdateInfo(this.Platform, this.SnId) @@ -2996,10 +3006,12 @@ func (this *Player) SendPlayerInfo() { scPlayerData.Data.ReliefFundTimes = this.WelfData.ReliefFundTimes } if item := BagMgrSingleton.GetItem(this.SnId, VCard); item != nil { - scPlayerData.Data.VCoin = int64(item.ItemNum) //V卡 - + scPlayerData.Data.VCoin = item.ItemNum //V卡 + } + // 龙币 + if item := BagMgrSingleton.GetItem(this.SnId, common.ItemIDLong); item != nil { + scPlayerData.Data.Long = item.ItemNum } - // 排位积分 scPlayerData.Data.RankScore = RankMgrSingleton.GetPlayerRankScore(this.SnId) diff --git a/xlsx/DB_GameItem.xlsx b/xlsx/DB_GameItem.xlsx index b6efdb70f7a303288e47c9a07d415389b49c8c01..69910f2eb8a5f3b66a00ddb44c37166a7114fa66 100644 GIT binary patch delta 7499 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 JqxYBP{{ce2{5=2w From 83cfbe6381b9fdf580122d4ad393fa7434761cc2 Mon Sep 17 00:00:00 2001 From: sk <123456@qq.com> Date: Tue, 2 Jul 2024 20:30:35 +0800 Subject: [PATCH 03/10] =?UTF-8?q?=E8=B5=9B=E5=AD=A3=E9=80=9A=E8=A1=8C?= =?UTF-8?q?=E8=AF=81=E6=8E=92=E8=A1=8C=E6=A6=9C=E5=A5=96=E5=8A=B1=E5=8F=91?= =?UTF-8?q?=E6=94=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- worldsrv/action_welfare.go | 10 +- worldsrv/etcd.go | 211 +++++++++++++++++++------------------ worldsrv/permitmgr.go | 31 +++--- 3 files changed, 127 insertions(+), 125 deletions(-) diff --git a/worldsrv/action_welfare.go b/worldsrv/action_welfare.go index ecd8e72..13d5533 100644 --- a/worldsrv/action_welfare.go +++ b/worldsrv/action_welfare.go @@ -698,13 +698,12 @@ func CSPermitAward(s *netlib.Session, packetid int, data interface{}, sid int64) } startTs := PlatformMgrSingleton.GetConfig(p.Platform).PermitStartTs endTs := PlatformMgrSingleton.GetConfig(p.Platform).PermitEndTs - if startTs == 0 || endTs == 0 { + now := time.Now() + if startTs == 0 || endTs == 0 || now.Unix() < startTs || now.Unix() >= endTs { logger.Logger.Errorf("CSPermitAward not startTs %v", p.SnId) return nil } - now := time.Now() - pack := &welfare.SCPermitAward{ OpRetCode: welfare.OpResultCode_OPRC_Sucess, Tp: msg.GetTp(), @@ -978,13 +977,12 @@ func CSPermitExchange(s *netlib.Session, packetid int, data interface{}, sid int } startTs := PlatformMgrSingleton.GetConfig(p.Platform).PermitStartTs endTs := PlatformMgrSingleton.GetConfig(p.Platform).PermitEndTs - if startTs == 0 || endTs == 0 { + now := time.Now() + if startTs == 0 || endTs == 0 || now.Unix() < startTs || now.Unix() >= endTs { logger.Logger.Errorf("CSPermitExchange not startTs %v", p.SnId) return nil } - now := time.Now() - isExchange, code := GetPermitCanExchange(p, msg.GetId()) pack := &welfare.SCPermitExchange{ OpRetCode: welfare.OpResultCode_OPRC_Sucess, diff --git a/worldsrv/etcd.go b/worldsrv/etcd.go index 8c9bda6..34edc88 100644 --- a/worldsrv/etcd.go +++ b/worldsrv/etcd.go @@ -207,6 +207,112 @@ func platformConfigEvent(ctx context.Context, completeKey string, isInit bool, e case *webapi.ActInviteConfig: PlatformMgrSingleton.GetConfig(config.Platform).ActInviteConfig = config case *webapi.ActPermitConfig: + // test + actConfig := &webapi.ActPermitConfig{ + Platform: "1", + StartTs: 1719646575, + Days: 7, + } + channelConfig := webapi.PermitChannelConfig{ + Channel: "Official", + } + for i := 0; i < 100; i++ { + channelConfig.LevelConfig = append(channelConfig.LevelConfig, &webapi.PermitLevelConfig{ + Rank: int32(i + 1), + Score: int64((i + 1) * 100), + Award1: []*webapi.ItemInfo{ + { + ItemId: common.ItemIDCoin, + ItemNum: 100, + }, + }, + Award2: []*webapi.ItemInfo{ + { + ItemId: common.ItemIDLong, + ItemNum: 100, + }, + { + ItemId: common.ItemIDDiamond, + ItemNum: 100, + }, + }, + }) + } + itemId := []int32{100001, 100002, 10001, 20001, 20002, 20003} + for i := 0; i < 10; i++ { + level := 0 + if common.RandInt(0, 3) == 0 { + level = common.RandInt(1, 101) + } + channelConfig.ExchangeConfig = append(channelConfig.ExchangeConfig, &webapi.PermitExchangeConfig{ + Id: int32(i + 1), + SortId: int32(100 - i), + Gain: []*webapi.ItemInfo{ + { + ItemId: itemId[common.RandInt(len(itemId))], + ItemNum: 1, + }, + }, + Cost: []*webapi.ItemInfo{{ + ItemId: common.ItemIDLong, + ItemNum: int64(common.RandInt(50, 101)), + }}, + IsPermit: common.RandInt(0, 3) == 0, + Level: int64(level), + Times: int64(common.RandInt(0, 5)), + IsShow: common.RandInt(0, 4) != 0, + }) + } + rankN := 1 + for i := 0; i < 3; i++ { + sub := common.RandInt(0, 3) + items := []*webapi.ItemInfo{ + { + ItemId: common.ItemIDCoin, + ItemNum: 100, + }, + } + if common.RandInt(2) == 0 { + items = append(items, &webapi.ItemInfo{ + ItemId: common.ItemIDDiamond, + ItemNum: 100, + }) + } + channelConfig.RankConfig = append(channelConfig.RankConfig, &webapi.PermitRankConfig{ + Start: int32(rankN), + End: int32(rankN + sub), + ItemId: items, + }) + rankN = rankN + sub + 1 + } + + actConfig.Configs = append(actConfig.Configs, &channelConfig) + webConfig := channelConfig + webConfig.Channel = "Web" + actConfig.Configs = append(actConfig.Configs, &webConfig) + googleConfig := channelConfig + googleConfig.Channel = "GooglePlay" + actConfig.Configs = append(actConfig.Configs, &googleConfig) + PlatformMgrSingleton.GetConfig("1").ActPermitConfig = actConfig + PlatformMgrSingleton.GetConfig("1").PermitStartTs = common.GetDayStartTs(1719646575) + PlatformMgrSingleton.GetConfig("1").PermitEndTs = common.GetDayStartTs(1719646575) + int64(actConfig.GetDays()*24*3600) + task.New(nil, task.CallableWrapper(func(o *basic.Object) interface{} { + b, err := json.Marshal(&model.PermitStartTs{ + StartTs: common.GetDayStartTs(1719646575), + EndTs: common.GetDayStartTs(1719646575) + int64(actConfig.GetDays()*24*3600), + }) + if err != nil { + logger.Logger.Errorf("permit startts save error: %v", err) + } else { + err := model.UptStrKVGameData(common.PermitStartTsKey+"1", string(b)) + if err != nil { + logger.Logger.Errorf("permit startts update error:%v", err) + } + } + return nil + }), nil).StartByExecutor("permit_start_ts") + logger.Logger.Tracef("==> PermitConfig: %v ", actConfig) + // test break PlatformMgrSingleton.GetConfig(config.Platform).ActPermitConfig = config st := new(model.PermitStartTs) @@ -251,112 +357,7 @@ func platformConfigEvent(ctx context.Context, completeKey string, isInit bool, e default: logger.Logger.Errorf("etcd completeKey:%s, Not processed", completeKey) } - // test - actConfig := &webapi.ActPermitConfig{ - Platform: "1", - StartTs: 1719646575, - Days: 7, - } - channelConfig := webapi.PermitChannelConfig{ - Channel: "Official", - } - for i := 0; i < 100; i++ { - channelConfig.LevelConfig = append(channelConfig.LevelConfig, &webapi.PermitLevelConfig{ - Rank: int32(i + 1), - Score: int64((i + 1) * 100), - Award1: []*webapi.ItemInfo{ - { - ItemId: common.ItemIDCoin, - ItemNum: 100, - }, - }, - Award2: []*webapi.ItemInfo{ - { - ItemId: common.ItemIDLong, - ItemNum: 100, - }, - { - ItemId: common.ItemIDDiamond, - ItemNum: 100, - }, - }, - }) - } - itemId := []int32{100001, 100002, 10001, 20001, 20002, 20003} - for i := 0; i < 10; i++ { - level := 0 - if common.RandInt(0, 3) == 0 { - level = common.RandInt(1, 101) - } - channelConfig.ExchangeConfig = append(channelConfig.ExchangeConfig, &webapi.PermitExchangeConfig{ - Id: int32(i + 1), - SortId: int32(100 - i), - Gain: []*webapi.ItemInfo{ - { - ItemId: itemId[common.RandInt(len(itemId))], - ItemNum: 1, - }, - }, - Cost: []*webapi.ItemInfo{{ - ItemId: common.ItemIDLong, - ItemNum: int64(common.RandInt(50, 101)), - }}, - IsPermit: common.RandInt(0, 3) == 0, - Level: int64(level), - Times: int64(common.RandInt(0, 5)), - IsShow: common.RandInt(0, 4) != 0, - }) - } - rankN := 1 - for i := 0; i < 3; i++ { - sub := common.RandInt(0, 3) - items := []*webapi.ItemInfo{ - { - ItemId: common.ItemIDCoin, - ItemNum: 100, - }, - } - if common.RandInt(2) == 0 { - items = append(items, &webapi.ItemInfo{ - ItemId: common.ItemIDDiamond, - ItemNum: 100, - }) - } - channelConfig.RankConfig = append(channelConfig.RankConfig, &webapi.PermitRankConfig{ - Start: int32(rankN), - End: int32(rankN + sub), - ItemId: items, - }) - rankN = rankN + sub + 1 - } - actConfig.Configs = append(actConfig.Configs, &channelConfig) - webConfig := channelConfig - webConfig.Channel = "Web" - actConfig.Configs = append(actConfig.Configs, &webConfig) - googleConfig := channelConfig - googleConfig.Channel = "GooglePlay" - actConfig.Configs = append(actConfig.Configs, &googleConfig) - PlatformMgrSingleton.GetConfig("1").ActPermitConfig = actConfig - PlatformMgrSingleton.GetConfig("1").PermitStartTs = common.GetDayStartTs(1719646575) - PlatformMgrSingleton.GetConfig("1").PermitEndTs = common.GetDayStartTs(1719646575) + int64(actConfig.GetDays()*24*3600) - task.New(nil, task.CallableWrapper(func(o *basic.Object) interface{} { - b, err := json.Marshal(&model.PermitStartTs{ - StartTs: common.GetDayStartTs(1719646575), - EndTs: common.GetDayStartTs(1719646575) + int64(actConfig.GetDays()*24*3600), - }) - if err != nil { - logger.Logger.Errorf("permit startts save error: %v", err) - } else { - err := model.UptStrKVGameData(common.PermitStartTsKey+"1", string(b)) - if err != nil { - logger.Logger.Errorf("permit startts update error:%v", err) - } - } - return nil - }), nil).StartByExecutor("permit_start_ts") - logger.Logger.Tracef("==> PermitConfig: %v ", actConfig) - // test } func handlerEvent(ctx context.Context, completeKey string, isInit bool, event *clientv3.Event, data interface{}) { diff --git a/worldsrv/permitmgr.go b/worldsrv/permitmgr.go index d0d67c8..6a8d655 100644 --- a/worldsrv/permitmgr.go +++ b/worldsrv/permitmgr.go @@ -27,11 +27,12 @@ func (r *PermitMgr) OnDayTimer() { logger.Logger.Info("(this *PermitMgr) OnDayTimer") now := time.Now() for _, v := range PlatformMgrSingleton.GetPlatforms() { - pl := PlatformMgrSingleton.GetConfig(v.IdStr).ActPermitConfig + platform := v.IdStr + pl := PlatformMgrSingleton.GetConfig(platform).ActPermitConfig if pl == nil { continue } - b := model.GetStrKVGameData(common.PermitStartTsKey + v.IdStr) + b := model.GetStrKVGameData(common.PermitStartTsKey + platform) if b == "" { logger.Logger.Errorf("(this *PermitMgr) OnDayTimer GetStrKVGameData not found") continue @@ -41,6 +42,7 @@ func (r *PermitMgr) OnDayTimer() { logger.Logger.Errorf("(this *PermitMgr) OnDayTimer json.Unmarshal err:%v", err) continue } + logger.Logger.Tracef("(this *PermitMgr) OnDayTimer se:%+v now:%v", *se, now) if se.StartTs <= now.Unix() && now.Unix() < se.EndTs { // 在活动内 continue @@ -57,18 +59,18 @@ func (r *PermitMgr) OnDayTimer() { var players []*model.PlayerBaseInfo task.New(nil, task.CallableWrapper(func(o *basic.Object) interface{} { list, err = model.FindPlayerPermitList(&model.FindPlayerPermitListArgs{ - Platform: v.IdStr, + Platform: platform, StartTs: startTs, }) for _, vv := range list.List { player := PlayerMgrSington.GetPlayerBySnId(vv.SnId) if player != nil { players = append(players, &model.PlayerBaseInfo{ - SnId: 0, + SnId: player.SnId, LastChannel: player.LastChannel, }) } else { - baseInfo := model.GetPlayerBaseInfo(v.IdStr, vv.SnId) + baseInfo := model.GetPlayerBaseInfo(platform, vv.SnId) players = append(players, baseInfo) } } @@ -83,8 +85,9 @@ func (r *PermitMgr) OnDayTimer() { logger.Logger.Errorf("PermitMgr OnDayTimer FindPlayerPermitList player is nil %v", list.List[k].SnId) continue } + curPlayer := player // 发送奖励 - cfg := PlatformMgrSingleton.GetPermitConfig(v.IdStr, player.LastChannel).GetRankConfig() + cfg := PlatformMgrSingleton.GetPermitConfig(platform, player.LastChannel).GetRankConfig() rank := k + 1 for _, rankInfo := range cfg { var has bool @@ -105,16 +108,16 @@ func (r *PermitMgr) OnDayTimer() { task.New(nil, task.CallableWrapper(func(o *basic.Object) interface{} { title := i18n.Tr("languages", "PermitAwardTitle") content := i18n.Tr("languages", "PermitAward", []int{rank, rank, rank, rank}) - newMsg = model.NewMessage("", 0, "", player.SnId, model.MSGTYPE_RANK_REWARD, - title, content, 0, 0, model.MSGSTATE_UNREAD, time.Now().Unix(), 0, "", items, v.IdStr, model.HallTienlen, nil) - err := model.InsertMessage(v.IdStr, newMsg) + newMsg = model.NewMessage("", 0, "", curPlayer.SnId, model.MSGTYPE_RANK_REWARD, + title, content, 0, 0, model.MSGSTATE_UNREAD, time.Now().Unix(), 0, "", items, platform, model.HallTienlen, nil) + err := model.InsertMessage(platform, newMsg) if err != nil { - logger.Logger.Errorf("发送邮件失败 snid:%v err:%v", player.SnId, err) + logger.Logger.Errorf("发送邮件失败 snid:%v err:%v", curPlayer.SnId, err) return err } return nil }), task.CompleteNotifyWrapper(func(i interface{}, t task.Task) { - p := PlayerMgrSington.GetPlayerBySnId(player.SnId) + p := PlayerMgrSington.GetPlayerBySnId(curPlayer.SnId) if p != nil { p.AddMessage(newMsg) } @@ -136,15 +139,15 @@ func (r *PermitMgr) OnDayTimer() { se.StartTs = common.GetDayStartTs(now.Unix()) se.EndTs = se.StartTs + int64(pl.Days*24*3600) } - PlatformMgrSingleton.GetConfig(v.IdStr).PermitStartTs = se.StartTs - PlatformMgrSingleton.GetConfig(v.IdStr).PermitEndTs = se.EndTs + PlatformMgrSingleton.GetConfig(platform).PermitStartTs = se.StartTs + PlatformMgrSingleton.GetConfig(platform).PermitEndTs = se.EndTs b, err := json.Marshal(se) if err != nil { logger.Logger.Errorf("(this *PermitMgr) OnDayTimer json.Marshal err:%v", err) continue } task.New(nil, task.CallableWrapper(func(o *basic.Object) interface{} { - model.UptStrKVGameData(common.PermitStartTsKey+v.IdStr, string(b)) + model.UptStrKVGameData(common.PermitStartTsKey+platform, string(b)) return nil }), nil).StartByExecutor("permit_start_ts") } From 2e34c337686fa4e2f65e37c64a80c72bfaf5de53 Mon Sep 17 00:00:00 2001 From: sk <123456@qq.com> Date: Tue, 2 Jul 2024 20:51:10 +0800 Subject: [PATCH 04/10] =?UTF-8?q?=E8=B5=9B=E5=AD=A3=E9=80=9A=E8=A1=8C?= =?UTF-8?q?=E8=AF=81=E8=B4=A6=E5=8F=98=E8=AE=B0=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- common/constant.go | 4 ++-- model/message.go | 1 + model/player.go | 3 +-- worldsrv/action_welfare.go | 4 ++-- worldsrv/permitmgr.go | 2 +- worldsrv/player.go | 4 ++++ 6 files changed, 11 insertions(+), 7 deletions(-) diff --git a/common/constant.go b/common/constant.go index 2f35173..730ae3d 100644 --- a/common/constant.go +++ b/common/constant.go @@ -287,8 +287,8 @@ const ( GainWaySign7Add = 91 // 累计签到进阶奖励获得 GainWayItemChange = 92 //背包内使用道具兑换话费 GainWayPetSkillLevelUp = 93 //宠物技能升级 - GainWayPermitAward = 94 // 赛季通行证普通奖励 - GainWayPermitAwardSupper = 95 // 赛季通行证典藏奖励 + GainWayPermitAward = 94 // 赛季通行证奖励 + GainWayItemPermitRank = 95 // 赛季通行证排行奖励 GainWayPermitExchangeCost = 96 // 赛季通行证兑换消耗 GainWayPermitExchangeGain = 97 // 赛季通行证兑换获得 GainWayItemTaskPermit = 98 // 赛季通行证任务 diff --git a/model/message.go b/model/message.go index 8894614..b8e99e4 100644 --- a/model/message.go +++ b/model/message.go @@ -38,6 +38,7 @@ const ( MSGTYPE_ITEM //获取道具 MSGTYPE_RANK_REWARD //排行榜奖励 MSGTYPE_ITEM_CHANGE //背包使用兑换 + MSGTYPE_RANK_PermitReward // 通行证排行奖励 ) const ( diff --git a/model/player.go b/model/player.go index b6cabe2..00339ae 100644 --- a/model/player.go +++ b/model/player.go @@ -110,8 +110,7 @@ const ( SystemFreeGive_GiveType_TaskAchievement // 成就任务 SystemFreeGive_GiveType_TaskEveryDay // 每日任务 SystemFreeGive_GiveType_TaskWeekActive // 周活跃奖励 - SystemFreeGive_GiveType_PermitAward // 赛季通行证普通奖励 - SystemFreeGive_GiveType_PermitAwardSupper // 赛季通行证典藏奖励 + SystemFreeGive_GiveType_PermitAward // 赛季通行证奖励 SystemFreeGive_GiveType_TaskPermit // 赛季通行证任务 ) const ( diff --git a/worldsrv/action_welfare.go b/worldsrv/action_welfare.go index 13d5533..6f950b9 100644 --- a/worldsrv/action_welfare.go +++ b/worldsrv/action_welfare.go @@ -539,8 +539,8 @@ func SendPermitReward(p *Player, m map[int64]int64, tp int32) { gain = common.GainWayPermitAward giveType = model.SystemFreeGive_GiveType_PermitAward case 2: - gain = common.GainWayPermitAwardSupper - giveType = model.SystemFreeGive_GiveType_PermitAwardSupper + gain = common.GainWayPermitAward + giveType = model.SystemFreeGive_GiveType_PermitAward } BagMgrSingleton.AddItems(p, items, 0, gain, "system", "通行证奖励", 0, 0, false) for _, v := range items { diff --git a/worldsrv/permitmgr.go b/worldsrv/permitmgr.go index 6a8d655..f7adf96 100644 --- a/worldsrv/permitmgr.go +++ b/worldsrv/permitmgr.go @@ -108,7 +108,7 @@ func (r *PermitMgr) OnDayTimer() { task.New(nil, task.CallableWrapper(func(o *basic.Object) interface{} { title := i18n.Tr("languages", "PermitAwardTitle") content := i18n.Tr("languages", "PermitAward", []int{rank, rank, rank, rank}) - newMsg = model.NewMessage("", 0, "", curPlayer.SnId, model.MSGTYPE_RANK_REWARD, + newMsg = model.NewMessage("", 0, "", curPlayer.SnId, model.MSGTYPE_RANK_PermitReward, title, content, 0, 0, model.MSGSTATE_UNREAD, time.Now().Unix(), 0, "", items, platform, model.HallTienlen, nil) err := model.InsertMessage(platform, newMsg) if err != nil { diff --git a/worldsrv/player.go b/worldsrv/player.go index aa9051f..2aeeb75 100644 --- a/worldsrv/player.go +++ b/worldsrv/player.go @@ -1216,6 +1216,10 @@ func (this *Player) GetMessageAttach(id string) { remark = "排位赛段位奖励" gainWay = common.GainWay_RankMatch addItem() + case model.MSGTYPE_RANK_PermitReward: + remark = "通行证排行奖励" + gainWay = common.GainWayItemPermitRank + addItem() } if msg.Coin > 0 { this.AddCoin(msg.Coin, 0, gainWay, msg.Id.Hex(), remark) From 8117f1af54a24ab1a59bda79a91cfc1c75181a1d Mon Sep 17 00:00:00 2001 From: sk <123456@qq.com> Date: Wed, 3 Jul 2024 10:08:04 +0800 Subject: [PATCH 05/10] =?UTF-8?q?=E8=B5=9B=E5=AD=A3=E9=80=9A=E8=A1=8C?= =?UTF-8?q?=E8=AF=81=E6=95=B0=E6=8D=AE=E8=AE=B0=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- model/permit.go | 38 + mq/keyconf.go | 20 +- protocol/player/player.pb.go | 2320 +++++++++++++++++----------------- protocol/player/player.proto | 2 - worldsrv/action_welfare.go | 24 +- worldsrv/bagmgr.go | 9 + worldsrv/etcd.go | 17 +- worldsrv/logchannel.go | 4 + worldsrv/permitmgr.go | 23 +- worldsrv/player.go | 18 +- worldsrv/trascate_webapi.go | 5 + 11 files changed, 1284 insertions(+), 1196 deletions(-) create mode 100644 model/permit.go diff --git a/model/permit.go b/model/permit.go new file mode 100644 index 0000000..e418199 --- /dev/null +++ b/model/permit.go @@ -0,0 +1,38 @@ +package model + +// BackendPermitCycle 赛季周期 +type BackendPermitCycle struct { + Platform string // 平台 + StartTs, EndTs int64 // 活动开始时间 +} + +type AwardItem struct { + Id int32 // 道具id + Num int64 +} + +// BackendPermitRank 玩家排名奖励 +type BackendPermitRank struct { + Platform string // 平台 + StartTs int64 // 活动开始时间 + SnId int32 // 玩家id + Rank int32 // 排名 1~100 + Awards []AwardItem // 奖励 +} + +// BackendPermitExchange 玩家兑换 +type BackendPermitExchange struct { + Platform string // 平台 + StartTs int64 // 活动开始时间 + SnId int32 // 玩家id + Cost []AwardItem // 消耗 + Gain []AwardItem // 获得 + Ts int64 // 时间戳 +} + +// BackendPermitJoin 玩家参与活动 +type BackendPermitJoin struct { + Platform string // 平台 + StartTs int64 // 活动开始时间 + SnId int32 // 玩家id +} diff --git a/mq/keyconf.go b/mq/keyconf.go index 7183046..5b23879 100644 --- a/mq/keyconf.go +++ b/mq/keyconf.go @@ -2,14 +2,18 @@ package mq // 后台消息 const ( - BackBankrupt = "log_bankrupt" - BackClientLog = "log_clientlog_mysql" - BackGameRecord = "evt_gamerec" - BackLogin = "evt_login" - BackOnline = "evt_online" - BackPhoneLottery = "evt_phonelottery" - BackReliefund = "log_relieffund" - BackSystemFreeGive = "evt_systemfreegive" + BackBankrupt = "log_bankrupt" + BackClientLog = "log_clientlog_mysql" + BackGameRecord = "evt_gamerec" + BackLogin = "evt_login" + BackOnline = "evt_online" + BackPhoneLottery = "evt_phonelottery" + BackReliefund = "log_relieffund" + BackSystemFreeGive = "evt_systemfreegive" + BackSystemPermitCycle = "back_permitcycle" + BackSystemPermitRank = "back_permitrank" + BackSystemPermitExchange = "back_permitexchange" + BackSystemPermitJoin = "back_permitjoin" ) // dbproxy 消息 diff --git a/protocol/player/player.pb.go b/protocol/player/player.pb.go index c45caba..ec978fe 100644 --- a/protocol/player/player.pb.go +++ b/protocol/player/player.pb.go @@ -1223,7 +1223,6 @@ type PlayerData struct { Age int32 `protobuf:"varint,47,opt,name=Age,proto3" json:"Age,omitempty"` // 年龄 WeekCard []*WeekInfo `protobuf:"bytes,48,rep,name=WeekCard,proto3" json:"WeekCard,omitempty"` //周卡 RequestAddFriend []int32 `protobuf:"varint,49,rep,packed,name=RequestAddFriend,proto3" json:"RequestAddFriend,omitempty"` //请求添加好友信息 - Long int64 `protobuf:"varint,50,opt,name=Long,proto3" json:"Long,omitempty"` // 龙币 } func (x *PlayerData) Reset() { @@ -1601,13 +1600,6 @@ func (x *PlayerData) GetRequestAddFriend() []int32 { return nil } -func (x *PlayerData) GetLong() int64 { - if x != nil { - return x.Long - } - return 0 -} - //周卡数据 type WeekInfo struct { state protoimpl.MessageState @@ -1852,7 +1844,6 @@ type SCPlayerDataUpdate struct { RankScore map[int32]int64 `protobuf:"bytes,12,rep,name=RankScore,proto3" json:"RankScore,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` // 排位积分 PhoneScore int64 `protobuf:"varint,13,opt,name=PhoneScore,proto3" json:"PhoneScore,omitempty"` //手机积分 InviteScore int64 `protobuf:"varint,14,opt,name=InviteScore,proto3" json:"InviteScore,omitempty"` // 邀请积分 - Long int64 `protobuf:"varint,15,opt,name=Long,proto3" json:"Long,omitempty"` // 龙币 } func (x *SCPlayerDataUpdate) Reset() { @@ -1985,13 +1976,6 @@ func (x *SCPlayerDataUpdate) GetInviteScore() int64 { return 0 } -func (x *SCPlayerDataUpdate) GetLong() int64 { - if x != nil { - return x.Long - } - return 0 -} - //获取第三方玩家信息 //PACKET_CS_THIRDPLAYERDATA type CSThirdPlayerData struct { @@ -9791,7 +9775,7 @@ var file_player_proto_rawDesc = []byte{ 0x6c, 0x64, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x41, 0x70, 0x70, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x0b, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0a, 0x41, 0x70, 0x70, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x22, 0xb7, 0x0c, + 0x09, 0x52, 0x0a, 0x41, 0x70, 0x70, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x22, 0xa3, 0x0c, 0x0a, 0x0a, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x12, 0x14, 0x0a, 0x05, 0x41, 0x63, 0x63, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x41, 0x63, 0x63, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x02, @@ -9886,383 +9870,757 @@ var file_player_proto_rawDesc = []byte{ 0x08, 0x57, 0x65, 0x65, 0x6b, 0x43, 0x61, 0x72, 0x64, 0x12, 0x2a, 0x0a, 0x10, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x41, 0x64, 0x64, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x18, 0x31, 0x20, 0x03, 0x28, 0x05, 0x52, 0x10, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x41, 0x64, 0x64, 0x46, - 0x72, 0x69, 0x65, 0x6e, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x4c, 0x6f, 0x6e, 0x67, 0x18, 0x32, 0x20, - 0x01, 0x28, 0x03, 0x52, 0x04, 0x4c, 0x6f, 0x6e, 0x67, 0x1a, 0x3c, 0x0a, 0x0e, 0x52, 0x61, 0x6e, - 0x6b, 0x53, 0x63, 0x6f, 0x72, 0x65, 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, 0x03, 0x52, 0x05, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x64, 0x0a, 0x08, 0x57, 0x65, 0x65, 0x6b, 0x49, - 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x02, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x57, 0x65, 0x65, 0x6b, 0x43, 0x61, 0x72, 0x64, 0x54, - 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x57, 0x65, 0x65, 0x6b, 0x43, - 0x61, 0x72, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x77, 0x65, 0x65, 0x6b, 0x43, - 0x61, 0x72, 0x64, 0x41, 0x77, 0x61, 0x72, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, - 0x77, 0x65, 0x65, 0x6b, 0x43, 0x61, 0x72, 0x64, 0x41, 0x77, 0x61, 0x72, 0x64, 0x22, 0x58, 0x0a, - 0x0c, 0x4d, 0x69, 0x6e, 0x69, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x16, 0x0a, - 0x06, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x52, - 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x12, 0x18, 0x0a, - 0x07, 0x4c, 0x6f, 0x67, 0x69, 0x63, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, - 0x4c, 0x6f, 0x67, 0x69, 0x63, 0x49, 0x64, 0x22, 0x8c, 0x02, 0x0a, 0x0c, 0x53, 0x43, 0x50, 0x6c, - 0x61, 0x79, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x12, 0x32, 0x0a, 0x09, 0x4f, 0x70, 0x52, 0x65, + 0x72, 0x69, 0x65, 0x6e, 0x64, 0x1a, 0x3c, 0x0a, 0x0e, 0x52, 0x61, 0x6e, 0x6b, 0x53, 0x63, 0x6f, + 0x72, 0x65, 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, 0x03, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, + 0x02, 0x38, 0x01, 0x22, 0x64, 0x0a, 0x08, 0x57, 0x65, 0x65, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x12, + 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, + 0x22, 0x0a, 0x0c, 0x57, 0x65, 0x65, 0x6b, 0x43, 0x61, 0x72, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x57, 0x65, 0x65, 0x6b, 0x43, 0x61, 0x72, 0x64, 0x54, + 0x69, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x77, 0x65, 0x65, 0x6b, 0x43, 0x61, 0x72, 0x64, 0x41, + 0x77, 0x61, 0x72, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x77, 0x65, 0x65, 0x6b, + 0x43, 0x61, 0x72, 0x64, 0x41, 0x77, 0x61, 0x72, 0x64, 0x22, 0x58, 0x0a, 0x0c, 0x4d, 0x69, 0x6e, + 0x69, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x16, 0x0a, 0x06, 0x52, 0x6f, 0x6f, + 0x6d, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x52, 0x6f, 0x6f, 0x6d, 0x49, + 0x64, 0x12, 0x16, 0x0a, 0x06, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x06, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x4c, 0x6f, 0x67, + 0x69, 0x63, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x4c, 0x6f, 0x67, 0x69, + 0x63, 0x49, 0x64, 0x22, 0x8c, 0x02, 0x0a, 0x0c, 0x53, 0x43, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, + 0x44, 0x61, 0x74, 0x61, 0x12, 0x32, 0x0a, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, + 0x2e, 0x4f, 0x70, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x4f, + 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x26, 0x0a, 0x04, 0x44, 0x61, 0x74, 0x61, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, + 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x52, 0x04, 0x44, 0x61, 0x74, 0x61, + 0x12, 0x16, 0x0a, 0x06, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x06, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x47, 0x61, 0x6d, 0x65, + 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x64, + 0x12, 0x18, 0x0a, 0x07, 0x4c, 0x6f, 0x67, 0x69, 0x63, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x07, 0x4c, 0x6f, 0x67, 0x69, 0x63, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x42, 0x69, + 0x6e, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, + 0x42, 0x69, 0x6e, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x36, 0x0a, 0x0b, 0x4d, 0x69, + 0x6e, 0x69, 0x47, 0x61, 0x6d, 0x65, 0x41, 0x72, 0x72, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x14, 0x2e, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x4d, 0x69, 0x6e, 0x69, 0x47, 0x61, 0x6d, + 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0b, 0x4d, 0x69, 0x6e, 0x69, 0x47, 0x61, 0x6d, 0x65, 0x41, + 0x72, 0x72, 0x22, 0x9d, 0x04, 0x0a, 0x12, 0x53, 0x43, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x44, + 0x61, 0x74, 0x61, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x43, + 0x6f, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x43, 0x6f, 0x69, 0x6e, 0x12, + 0x20, 0x0a, 0x0b, 0x53, 0x61, 0x66, 0x65, 0x42, 0x6f, 0x78, 0x43, 0x6f, 0x69, 0x6e, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x53, 0x61, 0x66, 0x65, 0x42, 0x6f, 0x78, 0x43, 0x6f, 0x69, + 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x56, 0x69, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, + 0x56, 0x69, 0x70, 0x12, 0x22, 0x0a, 0x0c, 0x43, 0x6f, 0x69, 0x6e, 0x50, 0x61, 0x79, 0x54, 0x6f, + 0x74, 0x61, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x43, 0x6f, 0x69, 0x6e, 0x50, + 0x61, 0x79, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x32, 0x0a, 0x14, 0x54, 0x6f, 0x74, 0x61, 0x6c, + 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x69, 0x62, 0x6c, 0x65, 0x46, 0x6c, 0x6f, 0x77, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x14, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x43, 0x6f, 0x6e, 0x76, + 0x65, 0x72, 0x74, 0x69, 0x62, 0x6c, 0x65, 0x46, 0x6c, 0x6f, 0x77, 0x12, 0x16, 0x0a, 0x06, 0x54, + 0x69, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x54, 0x69, 0x63, + 0x6b, 0x65, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x47, 0x72, 0x61, 0x64, 0x65, 0x18, 0x08, 0x20, 0x01, + 0x28, 0x03, 0x52, 0x05, 0x47, 0x72, 0x61, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x44, 0x69, 0x61, + 0x6d, 0x6f, 0x6e, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x44, 0x69, 0x61, 0x6d, + 0x6f, 0x6e, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x56, 0x43, 0x6f, 0x69, 0x6e, 0x18, 0x0a, 0x20, 0x01, + 0x28, 0x03, 0x52, 0x05, 0x56, 0x43, 0x6f, 0x69, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x68, 0x65, + 0x73, 0x73, 0x47, 0x72, 0x61, 0x64, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x43, + 0x68, 0x65, 0x73, 0x73, 0x47, 0x72, 0x61, 0x64, 0x65, 0x12, 0x47, 0x0a, 0x09, 0x52, 0x61, 0x6e, + 0x6b, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x70, + 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x43, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x44, 0x61, + 0x74, 0x61, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x52, 0x61, 0x6e, 0x6b, 0x53, 0x63, 0x6f, + 0x72, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x09, 0x52, 0x61, 0x6e, 0x6b, 0x53, 0x63, 0x6f, + 0x72, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x53, 0x63, 0x6f, 0x72, 0x65, + 0x18, 0x0d, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x53, 0x63, 0x6f, + 0x72, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x53, 0x63, 0x6f, 0x72, + 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x53, + 0x63, 0x6f, 0x72, 0x65, 0x1a, 0x3c, 0x0a, 0x0e, 0x52, 0x61, 0x6e, 0x6b, 0x53, 0x63, 0x6f, 0x72, + 0x65, 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, 0x03, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, + 0x38, 0x01, 0x22, 0x23, 0x0a, 0x11, 0x43, 0x53, 0x54, 0x68, 0x69, 0x72, 0x64, 0x50, 0x6c, 0x61, + 0x79, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x22, 0x3b, 0x0a, 0x11, 0x53, 0x43, 0x54, 0x68, 0x69, + 0x72, 0x64, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x12, 0x26, 0x0a, 0x04, + 0x44, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x6c, 0x61, + 0x79, 0x65, 0x72, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x52, 0x04, + 0x44, 0x61, 0x74, 0x61, 0x22, 0x22, 0x0a, 0x0c, 0x43, 0x53, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, + 0x4e, 0x69, 0x63, 0x6b, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x69, 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x4e, 0x69, 0x63, 0x6b, 0x22, 0x56, 0x0a, 0x0c, 0x53, 0x43, 0x43, 0x68, + 0x61, 0x6e, 0x67, 0x65, 0x4e, 0x69, 0x63, 0x6b, 0x12, 0x32, 0x0a, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x4f, 0x70, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, - 0x65, 0x52, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x26, 0x0a, 0x04, - 0x44, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x6c, 0x61, - 0x79, 0x65, 0x72, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x52, 0x04, - 0x44, 0x61, 0x74, 0x61, 0x12, 0x16, 0x0a, 0x06, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, - 0x47, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x47, 0x61, - 0x6d, 0x65, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x4c, 0x6f, 0x67, 0x69, 0x63, 0x49, 0x64, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x4c, 0x6f, 0x67, 0x69, 0x63, 0x49, 0x64, 0x12, 0x1e, - 0x0a, 0x0a, 0x42, 0x69, 0x6e, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x0a, 0x42, 0x69, 0x6e, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x36, - 0x0a, 0x0b, 0x4d, 0x69, 0x6e, 0x69, 0x47, 0x61, 0x6d, 0x65, 0x41, 0x72, 0x72, 0x18, 0x07, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x4d, 0x69, 0x6e, - 0x69, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0b, 0x4d, 0x69, 0x6e, 0x69, 0x47, - 0x61, 0x6d, 0x65, 0x41, 0x72, 0x72, 0x22, 0xb1, 0x04, 0x0a, 0x12, 0x53, 0x43, 0x50, 0x6c, 0x61, - 0x79, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x20, 0x0a, - 0x0b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x03, 0x52, 0x0b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x12, - 0x12, 0x0a, 0x04, 0x43, 0x6f, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x43, - 0x6f, 0x69, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x53, 0x61, 0x66, 0x65, 0x42, 0x6f, 0x78, 0x43, 0x6f, - 0x69, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x53, 0x61, 0x66, 0x65, 0x42, 0x6f, - 0x78, 0x43, 0x6f, 0x69, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x56, 0x69, 0x70, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x03, 0x56, 0x69, 0x70, 0x12, 0x22, 0x0a, 0x0c, 0x43, 0x6f, 0x69, 0x6e, 0x50, - 0x61, 0x79, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x43, - 0x6f, 0x69, 0x6e, 0x50, 0x61, 0x79, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x32, 0x0a, 0x14, 0x54, - 0x6f, 0x74, 0x61, 0x6c, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x69, 0x62, 0x6c, 0x65, 0x46, - 0x6c, 0x6f, 0x77, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x14, 0x54, 0x6f, 0x74, 0x61, 0x6c, - 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x69, 0x62, 0x6c, 0x65, 0x46, 0x6c, 0x6f, 0x77, 0x12, - 0x16, 0x0a, 0x06, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, - 0x06, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x47, 0x72, 0x61, 0x64, 0x65, - 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x47, 0x72, 0x61, 0x64, 0x65, 0x12, 0x18, 0x0a, - 0x07, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, - 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x56, 0x43, 0x6f, 0x69, 0x6e, - 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x56, 0x43, 0x6f, 0x69, 0x6e, 0x12, 0x1e, 0x0a, - 0x0a, 0x43, 0x68, 0x65, 0x73, 0x73, 0x47, 0x72, 0x61, 0x64, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, - 0x03, 0x52, 0x0a, 0x43, 0x68, 0x65, 0x73, 0x73, 0x47, 0x72, 0x61, 0x64, 0x65, 0x12, 0x47, 0x0a, - 0x09, 0x52, 0x61, 0x6e, 0x6b, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x29, 0x2e, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x43, 0x50, 0x6c, 0x61, 0x79, - 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x52, 0x61, 0x6e, - 0x6b, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x09, 0x52, 0x61, 0x6e, - 0x6b, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x53, - 0x63, 0x6f, 0x72, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x50, 0x68, 0x6f, 0x6e, - 0x65, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, - 0x53, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x49, 0x6e, 0x76, - 0x69, 0x74, 0x65, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x4c, 0x6f, 0x6e, 0x67, - 0x18, 0x0f, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x4c, 0x6f, 0x6e, 0x67, 0x1a, 0x3c, 0x0a, 0x0e, - 0x52, 0x61, 0x6e, 0x6b, 0x53, 0x63, 0x6f, 0x72, 0x65, 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, 0x03, 0x52, - 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x23, 0x0a, 0x11, 0x43, 0x53, - 0x54, 0x68, 0x69, 0x72, 0x64, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x12, - 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x22, - 0x3b, 0x0a, 0x11, 0x53, 0x43, 0x54, 0x68, 0x69, 0x72, 0x64, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, - 0x44, 0x61, 0x74, 0x61, 0x12, 0x26, 0x0a, 0x04, 0x44, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x50, 0x6c, 0x61, 0x79, - 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x52, 0x04, 0x44, 0x61, 0x74, 0x61, 0x22, 0x22, 0x0a, 0x0c, - 0x43, 0x53, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4e, 0x69, 0x63, 0x6b, 0x12, 0x12, 0x0a, 0x04, - 0x4e, 0x69, 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x69, 0x63, 0x6b, - 0x22, 0x56, 0x0a, 0x0c, 0x53, 0x43, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4e, 0x69, 0x63, 0x6b, - 0x12, 0x32, 0x0a, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x4f, 0x70, 0x52, - 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, - 0x43, 0x6f, 0x64, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x69, 0x63, 0x6b, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x04, 0x4e, 0x69, 0x63, 0x6b, 0x22, 0x94, 0x01, 0x0a, 0x10, 0x43, 0x53, 0x43, - 0x68, 0x61, 0x6e, 0x67, 0x65, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x1e, 0x0a, - 0x0a, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x0a, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, - 0x0b, 0x4f, 0x6c, 0x64, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0b, 0x4f, 0x6c, 0x64, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, - 0x20, 0x0a, 0x0b, 0x4e, 0x65, 0x77, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x4e, 0x65, 0x77, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, - 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x6d, 0x70, 0x22, - 0x66, 0x0a, 0x10, 0x53, 0x43, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x50, 0x61, 0x73, 0x73, 0x77, - 0x6f, 0x72, 0x64, 0x12, 0x32, 0x0a, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, - 0x4f, 0x70, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x4f, 0x70, - 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x68, 0x61, 0x6e, 0x67, - 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x43, 0x68, 0x61, - 0x6e, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x22, 0x28, 0x0a, 0x12, 0x43, 0x53, 0x50, 0x6c, 0x61, - 0x79, 0x65, 0x72, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x49, 0x63, 0x6f, 0x6e, 0x12, 0x12, 0x0a, - 0x04, 0x49, 0x63, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x49, 0x63, 0x6f, - 0x6e, 0x22, 0x5c, 0x0a, 0x12, 0x53, 0x43, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x68, 0x61, - 0x6e, 0x67, 0x65, 0x49, 0x63, 0x6f, 0x6e, 0x12, 0x32, 0x0a, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, - 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x70, 0x6c, 0x61, - 0x79, 0x65, 0x72, 0x2e, 0x4f, 0x70, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, - 0x52, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x49, - 0x63, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x49, 0x63, 0x6f, 0x6e, 0x22, - 0x3d, 0x0a, 0x19, 0x43, 0x53, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x68, 0x61, 0x6e, 0x67, - 0x65, 0x48, 0x65, 0x61, 0x64, 0x4f, 0x75, 0x74, 0x4c, 0x69, 0x6e, 0x65, 0x12, 0x20, 0x0a, 0x0b, - 0x48, 0x65, 0x61, 0x64, 0x4f, 0x75, 0x74, 0x4c, 0x69, 0x6e, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x0b, 0x48, 0x65, 0x61, 0x64, 0x4f, 0x75, 0x74, 0x4c, 0x69, 0x6e, 0x65, 0x22, 0x71, - 0x0a, 0x19, 0x53, 0x43, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, - 0x48, 0x65, 0x61, 0x64, 0x4f, 0x75, 0x74, 0x4c, 0x69, 0x6e, 0x65, 0x12, 0x32, 0x0a, 0x09, 0x4f, + 0x65, 0x52, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x12, 0x0a, 0x04, + 0x4e, 0x69, 0x63, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x69, 0x63, 0x6b, + 0x22, 0x94, 0x01, 0x0a, 0x10, 0x43, 0x53, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x50, 0x61, 0x73, + 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x54, + 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x43, 0x68, 0x61, 0x6e, 0x67, + 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x4f, 0x6c, 0x64, 0x50, 0x61, 0x73, 0x73, + 0x77, 0x6f, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x4f, 0x6c, 0x64, 0x50, + 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x4e, 0x65, 0x77, 0x50, 0x61, + 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x4e, 0x65, + 0x77, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x54, 0x69, 0x6d, + 0x65, 0x53, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x54, 0x69, + 0x6d, 0x65, 0x53, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x66, 0x0a, 0x10, 0x53, 0x43, 0x43, 0x68, 0x61, + 0x6e, 0x67, 0x65, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x32, 0x0a, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x4f, 0x70, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, - 0x20, 0x0a, 0x0b, 0x48, 0x65, 0x61, 0x64, 0x4f, 0x75, 0x74, 0x4c, 0x69, 0x6e, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x48, 0x65, 0x61, 0x64, 0x4f, 0x75, 0x74, 0x4c, 0x69, 0x6e, - 0x65, 0x22, 0x25, 0x0a, 0x11, 0x43, 0x53, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x68, 0x61, - 0x6e, 0x67, 0x65, 0x53, 0x65, 0x78, 0x12, 0x10, 0x0a, 0x03, 0x53, 0x65, 0x78, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x03, 0x53, 0x65, 0x78, 0x22, 0x59, 0x0a, 0x11, 0x53, 0x43, 0x50, 0x6c, - 0x61, 0x79, 0x65, 0x72, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x53, 0x65, 0x78, 0x12, 0x32, 0x0a, - 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, - 0x32, 0x14, 0x2e, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x4f, 0x70, 0x52, 0x65, 0x73, 0x75, - 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, - 0x65, 0x12, 0x10, 0x0a, 0x03, 0x53, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, - 0x53, 0x65, 0x78, 0x22, 0x1d, 0x0a, 0x09, 0x43, 0x53, 0x48, 0x65, 0x61, 0x64, 0x55, 0x72, 0x6c, - 0x12, 0x10, 0x0a, 0x03, 0x55, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x55, - 0x72, 0x6c, 0x22, 0x51, 0x0a, 0x09, 0x53, 0x43, 0x48, 0x65, 0x61, 0x64, 0x55, 0x72, 0x6c, 0x12, + 0x1e, 0x0a, 0x0a, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x0a, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x22, + 0x28, 0x0a, 0x12, 0x43, 0x53, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x68, 0x61, 0x6e, 0x67, + 0x65, 0x49, 0x63, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x49, 0x63, 0x6f, 0x6e, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x04, 0x49, 0x63, 0x6f, 0x6e, 0x22, 0x5c, 0x0a, 0x12, 0x53, 0x43, 0x50, + 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x49, 0x63, 0x6f, 0x6e, 0x12, 0x32, 0x0a, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x4f, 0x70, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, - 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x55, 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x03, 0x55, 0x72, 0x6c, 0x22, 0xc2, 0x01, 0x0a, 0x18, 0x43, 0x53, 0x50, 0x6c, 0x61, 0x79, - 0x65, 0x72, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, - 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x54, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x03, 0x54, 0x65, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x4f, 0x70, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x4f, 0x70, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x20, 0x0a, 0x0b, - 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x54, 0x61, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0b, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x54, 0x61, 0x67, 0x12, 0x10, - 0x0a, 0x03, 0x45, 0x6e, 0x76, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x45, 0x6e, 0x76, - 0x12, 0x18, 0x0a, 0x07, 0x49, 0x6d, 0x67, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x07, 0x49, 0x6d, 0x67, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x54, 0x73, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x54, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x44, 0x65, - 0x76, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, - 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x7a, 0x0a, 0x18, 0x53, 0x43, - 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x32, 0x0a, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, - 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x70, 0x6c, 0x61, 0x79, - 0x65, 0x72, 0x2e, 0x4f, 0x70, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x52, - 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x2a, 0x0a, 0x10, 0x56, 0x65, - 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x43, 0x6f, 0x64, 0x65, 0x22, 0xae, 0x04, 0x0a, 0x0a, 0x43, 0x53, 0x52, 0x65, 0x67, - 0x69, 0x73, 0x74, 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x55, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x55, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, - 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x1c, 0x0a, - 0x09, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, - 0x52, 0x09, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x50, - 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x50, 0x61, 0x72, - 0x61, 0x6d, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x53, 0x69, 0x67, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x04, 0x53, 0x69, 0x67, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, - 0x6f, 0x72, 0x6d, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, - 0x6f, 0x72, 0x6d, 0x12, 0x18, 0x0a, 0x07, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x07, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x1c, 0x0a, - 0x09, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x09, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x41, - 0x70, 0x6b, 0x56, 0x65, 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x41, 0x70, 0x6b, - 0x56, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x52, 0x65, 0x73, 0x56, 0x65, 0x72, 0x18, 0x0a, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x06, 0x52, 0x65, 0x73, 0x56, 0x65, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x54, - 0x65, 0x6c, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x54, 0x65, 0x6c, 0x12, 0x20, 0x0a, - 0x0b, 0x54, 0x65, 0x6c, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x0c, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0b, 0x54, 0x65, 0x6c, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, - 0x2a, 0x0a, 0x10, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, - 0x6f, 0x64, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x56, 0x65, 0x72, 0x69, 0x66, - 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x50, - 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x54, 0x61, 0x67, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0b, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x54, 0x61, 0x67, 0x12, 0x1a, 0x0a, - 0x08, 0x50, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x65, 0x72, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x08, 0x50, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x50, 0x61, 0x63, - 0x6b, 0x61, 0x67, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x50, 0x61, 0x63, 0x6b, - 0x61, 0x67, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x50, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x65, 0x72, 0x54, - 0x72, 0x65, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x50, 0x72, 0x6f, 0x6d, 0x6f, - 0x74, 0x65, 0x72, 0x54, 0x72, 0x65, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x44, 0x65, 0x76, 0x69, 0x63, - 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x44, 0x65, 0x76, - 0x69, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1e, 0x0a, 0x0a, 0x52, 0x65, 0x67, 0x69, 0x73, - 0x74, 0x54, 0x79, 0x70, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x52, 0x65, 0x67, - 0x69, 0x73, 0x74, 0x54, 0x79, 0x70, 0x65, 0x22, 0x6c, 0x0a, 0x0a, 0x53, 0x43, 0x52, 0x65, 0x67, - 0x69, 0x73, 0x74, 0x65, 0x72, 0x12, 0x32, 0x0a, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, + 0x6f, 0x64, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x49, 0x63, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x04, 0x49, 0x63, 0x6f, 0x6e, 0x22, 0x3d, 0x0a, 0x19, 0x43, 0x53, 0x50, 0x6c, 0x61, + 0x79, 0x65, 0x72, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x48, 0x65, 0x61, 0x64, 0x4f, 0x75, 0x74, + 0x4c, 0x69, 0x6e, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x48, 0x65, 0x61, 0x64, 0x4f, 0x75, 0x74, 0x4c, + 0x69, 0x6e, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x48, 0x65, 0x61, 0x64, 0x4f, + 0x75, 0x74, 0x4c, 0x69, 0x6e, 0x65, 0x22, 0x71, 0x0a, 0x19, 0x53, 0x43, 0x50, 0x6c, 0x61, 0x79, + 0x65, 0x72, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x48, 0x65, 0x61, 0x64, 0x4f, 0x75, 0x74, 0x4c, + 0x69, 0x6e, 0x65, 0x12, 0x32, 0x0a, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, + 0x4f, 0x70, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x4f, 0x70, + 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x48, 0x65, 0x61, 0x64, 0x4f, + 0x75, 0x74, 0x4c, 0x69, 0x6e, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x48, 0x65, + 0x61, 0x64, 0x4f, 0x75, 0x74, 0x4c, 0x69, 0x6e, 0x65, 0x22, 0x25, 0x0a, 0x11, 0x43, 0x53, 0x50, + 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x53, 0x65, 0x78, 0x12, 0x10, + 0x0a, 0x03, 0x53, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x53, 0x65, 0x78, + 0x22, 0x59, 0x0a, 0x11, 0x53, 0x43, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x68, 0x61, 0x6e, + 0x67, 0x65, 0x53, 0x65, 0x78, 0x12, 0x32, 0x0a, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x4f, 0x70, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x09, - 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x41, 0x63, 0x63, - 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x41, 0x63, 0x63, 0x49, 0x64, 0x12, - 0x14, 0x0a, 0x05, 0x53, 0x72, 0x76, 0x54, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, - 0x53, 0x72, 0x76, 0x54, 0x73, 0x22, 0xcc, 0x01, 0x0a, 0x10, 0x43, 0x53, 0x55, 0x70, 0x67, 0x72, - 0x61, 0x64, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x68, - 0x61, 0x6e, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, - 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x54, 0x65, - 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x54, 0x65, 0x6c, 0x12, 0x2a, 0x0a, 0x10, + 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x53, 0x65, 0x78, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x53, 0x65, 0x78, 0x22, 0x1d, 0x0a, 0x09, 0x43, + 0x53, 0x48, 0x65, 0x61, 0x64, 0x55, 0x72, 0x6c, 0x12, 0x10, 0x0a, 0x03, 0x55, 0x72, 0x6c, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x55, 0x72, 0x6c, 0x22, 0x51, 0x0a, 0x09, 0x53, 0x43, + 0x48, 0x65, 0x61, 0x64, 0x55, 0x72, 0x6c, 0x12, 0x32, 0x0a, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, + 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x70, 0x6c, 0x61, + 0x79, 0x65, 0x72, 0x2e, 0x4f, 0x70, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, + 0x52, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x55, + 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x55, 0x72, 0x6c, 0x22, 0xc2, 0x01, + 0x0a, 0x18, 0x43, 0x53, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x54, 0x65, + 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x54, 0x65, 0x6c, 0x12, 0x16, 0x0a, 0x06, + 0x4f, 0x70, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x4f, 0x70, + 0x43, 0x6f, 0x64, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x54, 0x61, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x50, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x54, 0x61, 0x67, 0x12, 0x10, 0x0a, 0x03, 0x45, 0x6e, 0x76, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x03, 0x45, 0x6e, 0x76, 0x12, 0x18, 0x0a, 0x07, 0x49, 0x6d, 0x67, 0x43, + 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x49, 0x6d, 0x67, 0x43, 0x6f, + 0x64, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x54, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, + 0x54, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x6e, + 0x66, 0x6f, 0x22, 0x7a, 0x0a, 0x18, 0x53, 0x43, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x56, 0x65, + 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x32, + 0x0a, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x14, 0x2e, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x4f, 0x70, 0x52, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, + 0x64, 0x65, 0x12, 0x2a, 0x0a, 0x10, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x56, 0x65, + 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x64, 0x65, 0x22, 0xae, + 0x04, 0x0a, 0x0a, 0x43, 0x53, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x12, 0x1a, 0x0a, + 0x08, 0x55, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x55, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x61, 0x73, + 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x61, 0x73, + 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x74, 0x61, + 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x74, + 0x61, 0x6d, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x53, + 0x69, 0x67, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x53, 0x69, 0x67, 0x6e, 0x12, + 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x18, 0x0a, 0x07, 0x43, + 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x43, 0x68, + 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x1c, 0x0a, 0x09, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x72, + 0x49, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, + 0x72, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x41, 0x70, 0x6b, 0x56, 0x65, 0x72, 0x18, 0x09, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x06, 0x41, 0x70, 0x6b, 0x56, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x52, + 0x65, 0x73, 0x56, 0x65, 0x72, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x52, 0x65, 0x73, + 0x56, 0x65, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x54, 0x65, 0x6c, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x03, 0x54, 0x65, 0x6c, 0x12, 0x20, 0x0a, 0x0b, 0x54, 0x65, 0x6c, 0x50, 0x61, 0x73, 0x73, + 0x77, 0x6f, 0x72, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x54, 0x65, 0x6c, 0x50, + 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x2a, 0x0a, 0x10, 0x56, 0x65, 0x72, 0x69, 0x66, + 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x10, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, + 0x6f, 0x64, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x54, + 0x61, 0x67, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x54, 0x61, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x65, + 0x72, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x65, + 0x72, 0x12, 0x18, 0x0a, 0x07, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x18, 0x10, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x07, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x50, + 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x65, 0x72, 0x54, 0x72, 0x65, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x0c, 0x50, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x65, 0x72, 0x54, 0x72, 0x65, 0x65, 0x12, + 0x1e, 0x0a, 0x0a, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x12, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0a, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, + 0x1e, 0x0a, 0x0a, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x54, 0x79, 0x70, 0x65, 0x18, 0x13, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x0a, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x54, 0x79, 0x70, 0x65, 0x22, + 0x6c, 0x0a, 0x0a, 0x53, 0x43, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x12, 0x32, 0x0a, + 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, + 0x32, 0x14, 0x2e, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x4f, 0x70, 0x52, 0x65, 0x73, 0x75, + 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, + 0x65, 0x12, 0x14, 0x0a, 0x05, 0x41, 0x63, 0x63, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x05, 0x41, 0x63, 0x63, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x53, 0x72, 0x76, 0x54, 0x73, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x53, 0x72, 0x76, 0x54, 0x73, 0x22, 0xcc, 0x01, + 0x0a, 0x10, 0x43, 0x53, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x79, + 0x70, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x54, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x03, 0x54, 0x65, 0x6c, 0x12, 0x2a, 0x0a, 0x10, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x64, 0x65, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x61, 0x73, 0x73, - 0x77, 0x6f, 0x72, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x61, 0x73, 0x73, - 0x77, 0x6f, 0x72, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x6d, - 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x74, 0x61, - 0x6d, 0x70, 0x12, 0x20, 0x0a, 0x0b, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x54, 0x61, - 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, - 0x6d, 0x54, 0x61, 0x67, 0x22, 0x78, 0x0a, 0x10, 0x53, 0x43, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, - 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x32, 0x0a, 0x09, 0x4f, 0x70, 0x52, 0x65, + 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x1c, 0x0a, 0x09, + 0x54, 0x69, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x09, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x20, 0x0a, 0x0b, 0x50, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x54, 0x61, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0b, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x54, 0x61, 0x67, 0x22, 0x78, 0x0a, 0x10, + 0x53, 0x43, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x12, 0x32, 0x0a, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x4f, 0x70, 0x52, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, + 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x54, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x03, 0x54, 0x65, 0x6c, 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, + 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x43, 0x68, 0x61, 0x6e, + 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x22, 0x94, 0x01, 0x0a, 0x0c, 0x43, 0x53, 0x42, 0x69, 0x6e, + 0x64, 0x41, 0x6c, 0x69, 0x70, 0x61, 0x79, 0x12, 0x24, 0x0a, 0x0d, 0x41, 0x6c, 0x69, 0x70, 0x61, + 0x79, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, + 0x41, 0x6c, 0x69, 0x70, 0x61, 0x79, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x24, 0x0a, + 0x0d, 0x41, 0x6c, 0x69, 0x70, 0x61, 0x79, 0x41, 0x63, 0x63, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x41, 0x6c, 0x69, 0x70, 0x61, 0x79, 0x41, 0x63, 0x63, 0x4e, + 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x6d, 0x70, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x6d, + 0x70, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x22, 0x8e, 0x01, + 0x0a, 0x0c, 0x53, 0x43, 0x42, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x69, 0x70, 0x61, 0x79, 0x12, 0x32, + 0x0a, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x14, 0x2e, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x4f, 0x70, 0x52, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, + 0x64, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x41, 0x6c, 0x69, 0x70, 0x61, 0x79, 0x41, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x41, 0x6c, 0x69, 0x70, 0x61, + 0x79, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x41, 0x6c, 0x69, 0x70, + 0x61, 0x79, 0x41, 0x63, 0x63, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0d, 0x41, 0x6c, 0x69, 0x70, 0x61, 0x79, 0x41, 0x63, 0x63, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x9e, + 0x01, 0x0a, 0x0a, 0x43, 0x53, 0x42, 0x69, 0x6e, 0x64, 0x42, 0x61, 0x6e, 0x6b, 0x12, 0x12, 0x0a, + 0x04, 0x42, 0x61, 0x6e, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x42, 0x61, 0x6e, + 0x6b, 0x12, 0x20, 0x0a, 0x0b, 0x42, 0x61, 0x6e, 0x6b, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x42, 0x61, 0x6e, 0x6b, 0x41, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x42, 0x61, 0x6e, 0x6b, 0x41, 0x63, 0x63, 0x4e, 0x61, + 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x42, 0x61, 0x6e, 0x6b, 0x41, 0x63, + 0x63, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x74, 0x61, + 0x6d, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x74, + 0x61, 0x6d, 0x70, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x22, + 0x98, 0x01, 0x0a, 0x0a, 0x53, 0x43, 0x42, 0x69, 0x6e, 0x64, 0x42, 0x61, 0x6e, 0x6b, 0x12, 0x32, + 0x0a, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x14, 0x2e, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x4f, 0x70, 0x52, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, + 0x64, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x42, 0x61, 0x6e, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x42, 0x61, 0x6e, 0x6b, 0x12, 0x20, 0x0a, 0x0b, 0x42, 0x61, 0x6e, 0x6b, 0x41, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x42, 0x61, 0x6e, + 0x6b, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x42, 0x61, 0x6e, 0x6b, + 0x41, 0x63, 0x63, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x42, + 0x61, 0x6e, 0x6b, 0x41, 0x63, 0x63, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x3e, 0x0a, 0x0c, 0x53, 0x43, + 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x46, 0x6c, 0x61, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, + 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x50, 0x6c, + 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x46, 0x6c, 0x61, 0x67, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x46, 0x6c, 0x61, 0x67, 0x22, 0x5e, 0x0a, 0x12, 0x53, 0x43, + 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x6f, 0x69, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, + 0x12, 0x12, 0x0a, 0x04, 0x53, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, + 0x53, 0x6e, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x41, 0x64, 0x64, 0x43, 0x6f, 0x69, 0x6e, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x41, 0x64, 0x64, 0x43, 0x6f, 0x69, 0x6e, 0x12, 0x1a, + 0x0a, 0x08, 0x52, 0x65, 0x73, 0x74, 0x43, 0x6f, 0x69, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, + 0x52, 0x08, 0x52, 0x65, 0x73, 0x74, 0x43, 0x6f, 0x69, 0x6e, 0x22, 0x82, 0x01, 0x0a, 0x16, 0x53, + 0x43, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x52, 0x65, 0x63, 0x68, 0x61, 0x72, 0x67, 0x65, 0x41, + 0x6e, 0x73, 0x77, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x4f, 0x70, 0x50, 0x61, 0x72, 0x61, 0x6d, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x4f, 0x70, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x12, + 0x18, 0x0a, 0x07, 0x41, 0x64, 0x64, 0x43, 0x6f, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, + 0x52, 0x07, 0x41, 0x64, 0x64, 0x43, 0x6f, 0x69, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x43, 0x6f, 0x69, + 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x43, 0x6f, 0x69, 0x6e, 0x12, 0x20, 0x0a, + 0x0b, 0x53, 0x61, 0x66, 0x65, 0x42, 0x6f, 0x78, 0x43, 0x6f, 0x69, 0x6e, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x03, 0x52, 0x0b, 0x53, 0x61, 0x66, 0x65, 0x42, 0x6f, 0x78, 0x43, 0x6f, 0x69, 0x6e, 0x22, + 0x8b, 0x01, 0x0a, 0x07, 0x44, 0x61, 0x74, 0x61, 0x4c, 0x6f, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x4c, + 0x6f, 0x67, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x4c, 0x6f, + 0x67, 0x54, 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x43, + 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x43, 0x68, 0x61, 0x6e, + 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x52, 0x65, 0x73, 0x74, 0x43, + 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x52, 0x65, 0x73, 0x74, + 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x54, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x02, 0x54, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x52, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x52, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x22, 0x3c, 0x0a, + 0x0c, 0x43, 0x53, 0x47, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x4c, 0x6f, 0x67, 0x12, 0x1a, 0x0a, + 0x08, 0x44, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x08, 0x44, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x56, 0x65, 0x72, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x56, 0x65, 0x72, 0x22, 0x63, 0x0a, 0x0c, 0x53, + 0x43, 0x47, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x4c, 0x6f, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x44, + 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x44, + 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x56, 0x65, 0x72, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x56, 0x65, 0x72, 0x12, 0x25, 0x0a, 0x05, 0x44, 0x61, 0x74, + 0x61, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x6c, 0x61, 0x79, 0x65, + 0x72, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x4c, 0x6f, 0x67, 0x52, 0x05, 0x44, 0x61, 0x74, 0x61, 0x73, + 0x22, 0x99, 0x01, 0x0a, 0x0b, 0x47, 0x61, 0x6d, 0x65, 0x43, 0x6f, 0x69, 0x6e, 0x4c, 0x6f, 0x67, + 0x12, 0x16, 0x0a, 0x06, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x06, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x45, 0x6e, 0x74, 0x65, + 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x45, 0x6e, + 0x74, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x4c, 0x65, 0x61, 0x76, + 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x4c, 0x65, + 0x61, 0x76, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x45, 0x6e, 0x74, 0x65, + 0x72, 0x54, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x45, 0x6e, 0x74, 0x65, 0x72, + 0x54, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x54, 0x73, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x03, 0x52, 0x07, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x54, 0x73, 0x22, 0x22, 0x0a, 0x10, + 0x43, 0x53, 0x47, 0x65, 0x74, 0x47, 0x61, 0x6d, 0x65, 0x43, 0x6f, 0x69, 0x6e, 0x4c, 0x6f, 0x67, + 0x12, 0x0e, 0x0a, 0x02, 0x54, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x54, 0x73, + 0x22, 0x6f, 0x0a, 0x10, 0x53, 0x43, 0x47, 0x65, 0x74, 0x47, 0x61, 0x6d, 0x65, 0x43, 0x6f, 0x69, + 0x6e, 0x4c, 0x6f, 0x67, 0x12, 0x32, 0x0a, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, + 0x2e, 0x4f, 0x70, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x4f, + 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x27, 0x0a, 0x04, 0x4c, 0x6f, 0x67, 0x73, + 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, + 0x47, 0x61, 0x6d, 0x65, 0x43, 0x6f, 0x69, 0x6e, 0x4c, 0x6f, 0x67, 0x52, 0x04, 0x4c, 0x6f, 0x67, + 0x73, 0x22, 0x6e, 0x0a, 0x0e, 0x43, 0x53, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4f, 0x70, 0x43, + 0x6f, 0x69, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x4f, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x02, 0x4f, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x43, 0x6f, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x03, 0x52, 0x04, 0x43, 0x6f, 0x69, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x61, 0x73, 0x73, 0x77, + 0x6f, 0x72, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x61, 0x73, 0x73, 0x77, + 0x6f, 0x72, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x6d, 0x70, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x6d, + 0x70, 0x22, 0x8a, 0x01, 0x0a, 0x0e, 0x53, 0x43, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4f, 0x70, + 0x43, 0x6f, 0x69, 0x6e, 0x12, 0x32, 0x0a, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, + 0x2e, 0x4f, 0x70, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x4f, + 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x4f, 0x70, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x4f, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x43, 0x6f, 0x69, 0x6e, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x43, 0x6f, 0x69, 0x6e, 0x12, 0x20, 0x0a, 0x0b, + 0x53, 0x61, 0x66, 0x65, 0x42, 0x6f, 0x78, 0x43, 0x6f, 0x69, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x03, 0x52, 0x0b, 0x53, 0x61, 0x66, 0x65, 0x42, 0x6f, 0x78, 0x43, 0x6f, 0x69, 0x6e, 0x22, 0x94, + 0x01, 0x0a, 0x0e, 0x53, 0x61, 0x66, 0x65, 0x42, 0x6f, 0x78, 0x43, 0x6f, 0x69, 0x6e, 0x4c, 0x6f, + 0x67, 0x12, 0x18, 0x0a, 0x07, 0x4c, 0x6f, 0x67, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x07, 0x4c, 0x6f, 0x67, 0x54, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x4f, + 0x50, 0x43, 0x6f, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x4f, 0x50, 0x43, + 0x6f, 0x69, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x4f, 0x50, 0x43, 0x6f, 0x69, 0x6e, 0x46, 0x72, 0x6f, + 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x4f, 0x50, 0x43, 0x6f, 0x69, 0x6e, + 0x46, 0x72, 0x6f, 0x6e, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x4f, 0x50, 0x43, 0x6f, 0x69, 0x6e, 0x4c, + 0x61, 0x73, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x4f, 0x50, 0x43, 0x6f, 0x69, + 0x6e, 0x4c, 0x61, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x54, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x03, 0x52, 0x02, 0x54, 0x73, 0x22, 0x25, 0x0a, 0x13, 0x43, 0x53, 0x47, 0x65, 0x74, 0x53, 0x61, + 0x66, 0x65, 0x42, 0x6f, 0x78, 0x43, 0x6f, 0x69, 0x6e, 0x4c, 0x6f, 0x67, 0x12, 0x0e, 0x0a, 0x02, + 0x54, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x54, 0x73, 0x22, 0x75, 0x0a, 0x13, + 0x53, 0x43, 0x47, 0x65, 0x74, 0x53, 0x61, 0x66, 0x65, 0x42, 0x6f, 0x78, 0x43, 0x6f, 0x69, 0x6e, + 0x4c, 0x6f, 0x67, 0x12, 0x32, 0x0a, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, + 0x4f, 0x70, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x4f, 0x70, + 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x2a, 0x0a, 0x04, 0x4c, 0x6f, 0x67, 0x73, 0x18, + 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, + 0x61, 0x66, 0x65, 0x42, 0x6f, 0x78, 0x43, 0x6f, 0x69, 0x6e, 0x4c, 0x6f, 0x67, 0x52, 0x04, 0x4c, + 0x6f, 0x67, 0x73, 0x22, 0x28, 0x0a, 0x12, 0x43, 0x53, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, + 0x6e, 0x76, 0x69, 0x74, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x43, 0x6f, 0x64, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x22, 0x48, 0x0a, + 0x12, 0x53, 0x43, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x43, + 0x6f, 0x64, 0x65, 0x12, 0x32, 0x0a, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, + 0x4f, 0x70, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x4f, 0x70, + 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x22, 0x5e, 0x0a, 0x12, 0x43, 0x53, 0x57, 0x65, 0x62, + 0x41, 0x50, 0x49, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x50, 0x61, 0x73, 0x73, 0x12, 0x18, 0x0a, + 0x07, 0x41, 0x70, 0x69, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, + 0x41, 0x70, 0x69, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, + 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, + 0x16, 0x0a, 0x06, 0x43, 0x42, 0x44, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x06, 0x43, 0x42, 0x44, 0x61, 0x74, 0x61, 0x22, 0x96, 0x01, 0x0a, 0x12, 0x53, 0x43, 0x57, 0x65, + 0x62, 0x41, 0x50, 0x49, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x50, 0x61, 0x73, 0x73, 0x12, 0x32, + 0x0a, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x14, 0x2e, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x4f, 0x70, 0x52, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, + 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x41, 0x70, 0x69, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x41, 0x70, 0x69, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, + 0x43, 0x42, 0x44, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x43, 0x42, + 0x44, 0x61, 0x74, 0x61, 0x12, 0x1a, 0x0a, 0x08, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x5e, 0x0a, 0x12, 0x43, 0x53, 0x57, 0x65, 0x62, 0x41, 0x50, 0x49, 0x53, 0x79, 0x73, 0x74, + 0x65, 0x6d, 0x50, 0x61, 0x73, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x41, 0x70, 0x69, 0x4e, 0x61, 0x6d, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x41, 0x70, 0x69, 0x4e, 0x61, 0x6d, 0x65, + 0x12, 0x16, 0x0a, 0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x43, 0x42, 0x44, 0x61, + 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x43, 0x42, 0x44, 0x61, 0x74, 0x61, + 0x22, 0x96, 0x01, 0x0a, 0x12, 0x53, 0x43, 0x57, 0x65, 0x62, 0x41, 0x50, 0x49, 0x53, 0x79, 0x73, + 0x74, 0x65, 0x6d, 0x50, 0x61, 0x73, 0x73, 0x12, 0x32, 0x0a, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, + 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x70, 0x6c, 0x61, + 0x79, 0x65, 0x72, 0x2e, 0x4f, 0x70, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, + 0x52, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x41, + 0x70, 0x69, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x41, 0x70, + 0x69, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x43, 0x42, 0x44, 0x61, 0x74, 0x61, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x43, 0x42, 0x44, 0x61, 0x74, 0x61, 0x12, 0x1a, 0x0a, + 0x08, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2a, 0x0a, 0x0c, 0x43, 0x53, 0x53, + 0x70, 0x72, 0x65, 0x61, 0x64, 0x42, 0x69, 0x6e, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x61, 0x72, + 0x65, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x50, 0x61, 0x72, + 0x65, 0x6e, 0x74, 0x49, 0x64, 0x22, 0x5e, 0x0a, 0x0c, 0x53, 0x43, 0x53, 0x70, 0x72, 0x65, 0x61, + 0x64, 0x42, 0x69, 0x6e, 0x64, 0x12, 0x32, 0x0a, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, + 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x70, 0x6c, 0x61, 0x79, 0x65, + 0x72, 0x2e, 0x4f, 0x70, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x09, + 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x61, 0x72, + 0x65, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x50, 0x61, 0x72, + 0x65, 0x6e, 0x74, 0x49, 0x64, 0x22, 0x2c, 0x0a, 0x0e, 0x43, 0x53, 0x42, 0x69, 0x6e, 0x64, 0x50, + 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x72, 0x6f, 0x6d, 0x6f, + 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x72, 0x6f, 0x6d, 0x6f, + 0x74, 0x65, 0x72, 0x22, 0x60, 0x0a, 0x0e, 0x53, 0x43, 0x42, 0x69, 0x6e, 0x64, 0x50, 0x72, 0x6f, + 0x6d, 0x6f, 0x74, 0x65, 0x72, 0x12, 0x32, 0x0a, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, + 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x70, 0x6c, 0x61, 0x79, 0x65, + 0x72, 0x2e, 0x4f, 0x70, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x09, + 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x72, 0x6f, + 0x6d, 0x6f, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x72, 0x6f, + 0x6d, 0x6f, 0x74, 0x65, 0x72, 0x22, 0x33, 0x0a, 0x13, 0x53, 0x43, 0x42, 0x69, 0x6e, 0x64, 0x50, + 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1c, 0x0a, 0x09, + 0x42, 0x69, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x09, 0x42, 0x69, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, 0x22, 0x14, 0x0a, 0x12, 0x43, 0x53, + 0x47, 0x65, 0x6e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, + 0x22, 0x2a, 0x0a, 0x12, 0x53, 0x43, 0x47, 0x65, 0x6e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, + 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x37, 0x0a, 0x0b, + 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x12, 0x14, 0x0a, 0x05, 0x4d, + 0x73, 0x67, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x4d, 0x73, 0x67, 0x49, + 0x64, 0x12, 0x12, 0x0a, 0x04, 0x44, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x44, 0x61, 0x74, 0x61, 0x22, 0x3b, 0x0a, 0x10, 0x53, 0x43, 0x43, 0x75, 0x73, 0x74, 0x6f, + 0x6d, 0x65, 0x72, 0x4e, 0x65, 0x77, 0x4d, 0x73, 0x67, 0x12, 0x27, 0x0a, 0x04, 0x44, 0x61, 0x74, + 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, + 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x52, 0x04, 0x44, 0x61, + 0x74, 0x61, 0x22, 0x2d, 0x0a, 0x13, 0x43, 0x53, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, + 0x4e, 0x65, 0x77, 0x4d, 0x73, 0x67, 0x41, 0x63, 0x6b, 0x12, 0x16, 0x0a, 0x06, 0x4d, 0x73, 0x67, + 0x49, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x4d, 0x73, 0x67, 0x49, 0x64, + 0x73, 0x22, 0x16, 0x0a, 0x14, 0x43, 0x53, 0x47, 0x65, 0x74, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x56, + 0x65, 0x72, 0x69, 0x66, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x22, 0x68, 0x0a, 0x14, 0x53, 0x43, 0x47, + 0x65, 0x74, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x43, 0x6f, 0x64, + 0x65, 0x12, 0x32, 0x0a, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x4f, 0x70, + 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x4f, 0x70, 0x52, 0x65, + 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x44, 0x61, + 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x44, + 0x61, 0x74, 0x61, 0x22, 0x27, 0x0a, 0x11, 0x43, 0x53, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x56, 0x65, + 0x72, 0x69, 0x66, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x22, 0x47, 0x0a, 0x11, + 0x53, 0x43, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x43, 0x6f, 0x64, + 0x65, 0x12, 0x32, 0x0a, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x4f, 0x70, + 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x4f, 0x70, 0x52, 0x65, + 0x74, 0x43, 0x6f, 0x64, 0x65, 0x22, 0x8d, 0x01, 0x0a, 0x11, 0x53, 0x43, 0x54, 0x72, 0x75, 0x73, + 0x74, 0x65, 0x65, 0x73, 0x68, 0x69, 0x70, 0x54, 0x69, 0x70, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x54, + 0x72, 0x75, 0x73, 0x74, 0x65, 0x65, 0x73, 0x68, 0x69, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x0b, 0x54, 0x72, 0x75, 0x73, 0x74, 0x65, 0x65, 0x73, 0x68, 0x69, 0x70, 0x12, 0x1a, 0x0a, + 0x08, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x4e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x08, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x4e, 0x75, 0x6d, 0x12, 0x1e, 0x0a, 0x0a, 0x47, 0x61, 0x6d, + 0x65, 0x46, 0x72, 0x65, 0x65, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x47, + 0x61, 0x6d, 0x65, 0x46, 0x72, 0x65, 0x65, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x4f, 0x70, 0x50, + 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x05, 0x52, 0x08, 0x4f, 0x70, 0x50, + 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0x29, 0x0a, 0x15, 0x43, 0x53, 0x47, 0x65, 0x74, 0x53, 0x6c, + 0x69, 0x64, 0x65, 0x72, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, + 0x0a, 0x03, 0x54, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x54, 0x65, 0x6c, + 0x22, 0x5d, 0x0a, 0x15, 0x53, 0x43, 0x47, 0x65, 0x74, 0x53, 0x6c, 0x69, 0x64, 0x65, 0x72, 0x56, + 0x65, 0x72, 0x69, 0x66, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x32, 0x0a, 0x09, 0x4f, 0x70, 0x52, + 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x70, + 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x4f, 0x70, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, + 0x64, 0x65, 0x52, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, + 0x03, 0x50, 0x6f, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x50, 0x6f, 0x73, 0x22, + 0x3a, 0x0a, 0x12, 0x43, 0x53, 0x49, 0x6f, 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x53, + 0x74, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x53, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x04, 0x53, 0x6e, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x54, 0x65, 0x6c, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x54, 0x65, 0x6c, 0x22, 0x48, 0x0a, 0x12, 0x53, + 0x43, 0x49, 0x6f, 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x62, 0x6c, + 0x65, 0x12, 0x32, 0x0a, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x4f, 0x70, + 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x4f, 0x70, 0x52, 0x65, + 0x74, 0x43, 0x6f, 0x64, 0x65, 0x22, 0x45, 0x0a, 0x0b, 0x53, 0x72, 0x76, 0x4d, 0x73, 0x67, 0x50, + 0x61, 0x72, 0x61, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x49, 0x6e, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x49, 0x6e, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, + 0x12, 0x1a, 0x0a, 0x08, 0x53, 0x74, 0x72, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x53, 0x74, 0x72, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x22, 0x4d, 0x0a, 0x08, + 0x53, 0x43, 0x53, 0x72, 0x76, 0x4d, 0x73, 0x67, 0x12, 0x14, 0x0a, 0x05, 0x4d, 0x73, 0x67, 0x49, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x4d, 0x73, 0x67, 0x49, 0x64, 0x12, 0x2b, + 0x0a, 0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, + 0x2e, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x72, 0x76, 0x4d, 0x73, 0x67, 0x50, 0x61, + 0x72, 0x61, 0x6d, 0x52, 0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0x23, 0x0a, 0x0d, 0x43, + 0x53, 0x4a, 0x61, 0x63, 0x6b, 0x70, 0x6f, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, + 0x53, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x53, 0x6e, 0x49, 0x64, + 0x22, 0x5d, 0x0a, 0x0f, 0x46, 0x69, 0x73, 0x68, 0x4a, 0x61, 0x63, 0x6b, 0x70, 0x6f, 0x74, 0x49, + 0x6e, 0x66, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x43, + 0x6f, 0x69, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x43, 0x6f, 0x69, 0x6e, 0x12, + 0x0e, 0x0a, 0x02, 0x54, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x54, 0x73, 0x22, + 0x4a, 0x0a, 0x0d, 0x53, 0x43, 0x4a, 0x61, 0x63, 0x6b, 0x70, 0x6f, 0x74, 0x4c, 0x69, 0x73, 0x74, + 0x12, 0x39, 0x0a, 0x0b, 0x4a, 0x61, 0x63, 0x6b, 0x70, 0x6f, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x46, + 0x69, 0x73, 0x68, 0x4a, 0x61, 0x63, 0x6b, 0x70, 0x6f, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0b, + 0x4a, 0x61, 0x63, 0x6b, 0x70, 0x6f, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x13, 0x0a, 0x11, 0x43, + 0x53, 0x46, 0x69, 0x73, 0x68, 0x4a, 0x61, 0x63, 0x6b, 0x70, 0x6f, 0x74, 0x43, 0x6f, 0x69, 0x6e, + 0x22, 0x27, 0x0a, 0x11, 0x53, 0x43, 0x46, 0x69, 0x73, 0x68, 0x4a, 0x61, 0x63, 0x6b, 0x70, 0x6f, + 0x74, 0x43, 0x6f, 0x69, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x43, 0x6f, 0x69, 0x6e, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x03, 0x52, 0x04, 0x43, 0x6f, 0x69, 0x6e, 0x22, 0x40, 0x0a, 0x0e, 0x53, 0x43, 0x4e, + 0x69, 0x63, 0x65, 0x49, 0x64, 0x52, 0x65, 0x62, 0x69, 0x6e, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x53, + 0x6e, 0x69, 0x64, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x53, 0x6e, 0x69, + 0x64, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x4e, 0x69, 0x63, 0x65, 0x49, 0x64, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x06, 0x4e, 0x69, 0x63, 0x65, 0x49, 0x64, 0x22, 0x15, 0x0a, 0x13, 0x43, + 0x53, 0x47, 0x65, 0x74, 0x53, 0x70, 0x72, 0x65, 0x61, 0x64, 0x4c, 0x57, 0x49, 0x73, 0x4f, 0x70, + 0x65, 0x6e, 0x22, 0x2d, 0x0a, 0x13, 0x53, 0x43, 0x47, 0x65, 0x74, 0x53, 0x70, 0x72, 0x65, 0x61, + 0x64, 0x4c, 0x57, 0x49, 0x73, 0x4f, 0x70, 0x65, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x49, 0x73, 0x4f, + 0x70, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x49, 0x73, 0x4f, 0x70, 0x65, + 0x6e, 0x22, 0xa0, 0x01, 0x0a, 0x0a, 0x50, 0x61, 0x79, 0x41, 0x63, 0x74, 0x49, 0x6e, 0x66, 0x6f, + 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, + 0x12, 0x18, 0x0a, 0x07, 0x47, 0x69, 0x76, 0x65, 0x4e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x07, 0x47, 0x69, 0x76, 0x65, 0x4e, 0x75, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x47, 0x69, + 0x76, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x47, 0x69, + 0x76, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, + 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x53, 0x74, 0x61, 0x72, 0x74, + 0x54, 0x69, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x45, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x45, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x14, + 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x53, + 0x74, 0x61, 0x74, 0x65, 0x22, 0x3f, 0x0a, 0x0d, 0x53, 0x43, 0x50, 0x61, 0x79, 0x41, 0x63, 0x74, + 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x2e, 0x0a, 0x08, 0x50, 0x61, 0x79, 0x53, 0x74, 0x61, 0x74, + 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, + 0x2e, 0x50, 0x61, 0x79, 0x41, 0x63, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x50, 0x61, 0x79, + 0x53, 0x74, 0x61, 0x74, 0x65, 0x22, 0x23, 0x0a, 0x0d, 0x43, 0x53, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x53, 0x6e, 0x49, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x53, 0x6e, 0x49, 0x64, 0x22, 0x45, 0x0a, 0x09, 0x52, 0x6f, + 0x6c, 0x65, 0x4f, 0x72, 0x50, 0x65, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x4c, 0x65, 0x76, 0x65, 0x6c, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x12, 0x0a, + 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, + 0x65, 0x22, 0xc5, 0x03, 0x0a, 0x0d, 0x53, 0x43, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x6c, 0x61, + 0x79, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x53, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x04, 0x53, 0x6e, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x48, + 0x65, 0x61, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x48, 0x65, 0x61, 0x64, 0x12, + 0x10, 0x0a, 0x03, 0x53, 0x65, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x53, 0x65, + 0x78, 0x12, 0x12, 0x0a, 0x04, 0x43, 0x6f, 0x69, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x04, 0x43, 0x6f, 0x69, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x12, + 0x14, 0x0a, 0x05, 0x56, 0x43, 0x61, 0x72, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, + 0x56, 0x43, 0x61, 0x72, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x49, 0x73, 0x46, 0x72, 0x69, 0x65, 0x6e, + 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x49, 0x73, 0x46, 0x72, 0x69, 0x65, 0x6e, + 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x43, 0x75, 0x72, 0x52, 0x6f, 0x6c, 0x65, 0x49, 0x64, 0x18, 0x09, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x43, 0x75, 0x72, 0x52, 0x6f, 0x6c, 0x65, 0x49, 0x64, 0x12, + 0x1a, 0x0a, 0x08, 0x43, 0x75, 0x72, 0x50, 0x65, 0x74, 0x49, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x08, 0x43, 0x75, 0x72, 0x50, 0x65, 0x74, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x05, 0x52, + 0x6f, 0x6c, 0x65, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x70, 0x6c, 0x61, + 0x79, 0x65, 0x72, 0x2e, 0x52, 0x6f, 0x6c, 0x65, 0x4f, 0x72, 0x50, 0x65, 0x74, 0x52, 0x05, 0x52, + 0x6f, 0x6c, 0x65, 0x73, 0x12, 0x25, 0x0a, 0x04, 0x50, 0x65, 0x74, 0x73, 0x18, 0x0c, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x52, 0x6f, 0x6c, 0x65, + 0x4f, 0x72, 0x50, 0x65, 0x74, 0x52, 0x04, 0x50, 0x65, 0x74, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x49, + 0x73, 0x53, 0x68, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x49, + 0x73, 0x53, 0x68, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x48, 0x65, 0x61, 0x64, 0x55, + 0x72, 0x6c, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x48, 0x65, 0x61, 0x64, 0x55, 0x72, + 0x6c, 0x12, 0x1c, 0x0a, 0x09, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x0f, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, + 0x10, 0x0a, 0x03, 0x41, 0x67, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x41, 0x67, + 0x65, 0x12, 0x16, 0x0a, 0x06, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x44, 0x18, 0x11, 0x20, 0x03, 0x28, + 0x05, 0x52, 0x06, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x44, 0x22, 0x1b, 0x0a, 0x07, 0x43, 0x53, 0x50, + 0x4d, 0x43, 0x6d, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x43, 0x6d, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x03, 0x43, 0x6d, 0x64, 0x22, 0x28, 0x0a, 0x0e, 0x43, 0x53, 0x52, 0x6f, 0x62, 0x6f, + 0x74, 0x43, 0x68, 0x67, 0x44, 0x61, 0x74, 0x61, 0x12, 0x16, 0x0a, 0x06, 0x50, 0x61, 0x72, 0x61, + 0x6d, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, + 0x22, 0xe4, 0x02, 0x0a, 0x08, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x16, 0x0a, + 0x06, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x49, + 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x49, 0x74, 0x65, 0x6d, 0x4e, 0x75, 0x6d, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x49, 0x74, 0x65, 0x6d, 0x4e, 0x75, 0x6d, 0x12, + 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, + 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x69, 0x66, 0x79, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x69, 0x66, 0x79, 0x12, + 0x12, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x54, + 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x06, 0x20, 0x03, 0x28, 0x05, 0x52, 0x08, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x1a, 0x0a, 0x08, 0x53, 0x61, 0x6c, 0x65, 0x47, 0x6f, 0x6c, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x08, 0x53, 0x61, 0x6c, 0x65, 0x47, 0x6f, 0x6c, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x43, + 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x0b, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x26, 0x0a, + 0x0e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x78, 0x18, + 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x4d, 0x61, 0x78, 0x12, 0x12, 0x0a, 0x04, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x0a, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x04, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x4c, 0x6f, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x4c, 0x6f, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x62, + 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x62, + 0x65, 0x12, 0x14, 0x0a, 0x05, 0x43, 0x54, 0x79, 0x70, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x05, 0x43, 0x54, 0x79, 0x70, 0x65, 0x22, 0x66, 0x0a, 0x0c, 0x4a, 0x79, 0x62, 0x49, 0x6e, + 0x66, 0x6f, 0x41, 0x77, 0x61, 0x72, 0x64, 0x12, 0x28, 0x0a, 0x06, 0x49, 0x74, 0x65, 0x6d, 0x49, + 0x64, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, + 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x49, 0x74, 0x65, 0x6d, 0x49, + 0x64, 0x12, 0x12, 0x0a, 0x04, 0x43, 0x6f, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x04, 0x43, 0x6f, 0x69, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x22, + 0x4b, 0x0a, 0x0f, 0x43, 0x53, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x65, 0x74, 0x74, 0x69, + 0x6e, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x4f, 0x70, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x06, 0x4f, 0x70, 0x74, 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x50, 0x61, + 0x63, 0x6b, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0b, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x22, 0x77, 0x0a, 0x0f, + 0x53, 0x43, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, + 0x32, 0x0a, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x4f, 0x70, 0x52, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, + 0x6f, 0x64, 0x65, 0x12, 0x30, 0x0a, 0x08, 0x47, 0x61, 0x69, 0x6e, 0x49, 0x74, 0x65, 0x6d, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x4a, + 0x79, 0x62, 0x49, 0x6e, 0x66, 0x6f, 0x41, 0x77, 0x61, 0x72, 0x64, 0x52, 0x08, 0x47, 0x61, 0x69, + 0x6e, 0x49, 0x74, 0x65, 0x6d, 0x22, 0x89, 0x01, 0x0a, 0x11, 0x53, 0x43, 0x47, 0x61, 0x6d, 0x65, + 0x45, 0x78, 0x44, 0x72, 0x6f, 0x70, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x3a, 0x0a, 0x05, 0x49, + 0x74, 0x65, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x70, 0x6c, 0x61, + 0x79, 0x65, 0x72, 0x2e, 0x53, 0x43, 0x47, 0x61, 0x6d, 0x65, 0x45, 0x78, 0x44, 0x72, 0x6f, 0x70, + 0x49, 0x74, 0x65, 0x6d, 0x73, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x52, 0x05, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x1a, 0x38, 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, 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, 0x20, 0x0a, 0x08, 0x43, 0x53, 0x56, 0x49, 0x50, 0x42, 0x75, 0x79, 0x12, 0x14, 0x0a, + 0x05, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x4d, 0x6f, + 0x6e, 0x65, 0x79, 0x22, 0x84, 0x01, 0x0a, 0x08, 0x53, 0x43, 0x56, 0x49, 0x50, 0x42, 0x75, 0x79, + 0x12, 0x32, 0x0a, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x4f, 0x70, 0x52, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, + 0x43, 0x6f, 0x64, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x03, 0x52, 0x05, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x56, 0x69, + 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x56, 0x69, 0x70, 0x12, 0x1c, 0x0a, 0x09, + 0x54, 0x6f, 0x6c, 0x56, 0x69, 0x70, 0x45, 0x78, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x09, 0x54, 0x6f, 0x6c, 0x56, 0x69, 0x70, 0x45, 0x78, 0x70, 0x22, 0x1b, 0x0a, 0x09, 0x43, 0x53, + 0x56, 0x49, 0x50, 0x44, 0x72, 0x61, 0x77, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x22, 0x61, 0x0a, 0x09, 0x53, 0x43, 0x56, 0x49, 0x50, + 0x44, 0x72, 0x61, 0x77, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x02, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x56, 0x69, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x03, 0x56, 0x69, 0x70, 0x12, 0x32, 0x0a, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, + 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x70, 0x6c, 0x61, 0x79, + 0x65, 0x72, 0x2e, 0x4f, 0x70, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x52, + 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x22, 0x0b, 0x0a, 0x09, 0x43, 0x53, + 0x56, 0x49, 0x50, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0xbe, 0x04, 0x0a, 0x06, 0x56, 0x49, 0x50, 0x63, + 0x66, 0x67, 0x12, 0x14, 0x0a, 0x05, 0x56, 0x69, 0x70, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x05, 0x56, 0x69, 0x70, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x04, 0x49, 0x74, 0x65, 0x6d, + 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, + 0x49, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x14, + 0x0a, 0x05, 0x56, 0x69, 0x70, 0x45, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x56, + 0x69, 0x70, 0x45, 0x78, 0x12, 0x14, 0x0a, 0x05, 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x03, 0x52, 0x05, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x50, 0x72, + 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x31, 0x18, 0x05, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0a, + 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x31, 0x12, 0x16, 0x0a, 0x06, 0x4c, 0x69, + 0x6e, 0x65, 0x49, 0x64, 0x18, 0x06, 0x20, 0x03, 0x28, 0x05, 0x52, 0x06, 0x4c, 0x69, 0x6e, 0x65, + 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x32, + 0x18, 0x07, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, + 0x65, 0x32, 0x12, 0x1e, 0x0a, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x33, + 0x18, 0x08, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, + 0x65, 0x33, 0x12, 0x1e, 0x0a, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x34, + 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, + 0x65, 0x34, 0x12, 0x1e, 0x0a, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x35, + 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, + 0x65, 0x35, 0x12, 0x1e, 0x0a, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x36, + 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, + 0x65, 0x36, 0x12, 0x30, 0x0a, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x37, + 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, + 0x49, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, + 0x65, 0x67, 0x65, 0x37, 0x12, 0x28, 0x0a, 0x0f, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, + 0x65, 0x37, 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x50, + 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x37, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x1e, + 0x0a, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x38, 0x18, 0x0e, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x38, 0x12, 0x18, + 0x0a, 0x07, 0x53, 0x68, 0x6f, 0x70, 0x49, 0x64, 0x32, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x07, 0x53, 0x68, 0x6f, 0x70, 0x49, 0x64, 0x32, 0x12, 0x18, 0x0a, 0x07, 0x53, 0x68, 0x6f, 0x70, + 0x49, 0x64, 0x37, 0x18, 0x10, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x53, 0x68, 0x6f, 0x70, 0x49, + 0x64, 0x37, 0x12, 0x1c, 0x0a, 0x09, 0x42, 0x61, 0x67, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, + 0x11, 0x20, 0x03, 0x28, 0x05, 0x52, 0x09, 0x42, 0x61, 0x67, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x12, 0x26, 0x0a, 0x0e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x46, 0x72, 0x65, 0x65, 0x54, 0x69, 0x6d, + 0x65, 0x73, 0x18, 0x12, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x46, + 0x72, 0x65, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x22, 0xdf, 0x01, 0x0a, 0x09, 0x53, 0x43, 0x56, + 0x49, 0x50, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x32, 0x0a, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, + 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x70, 0x6c, 0x61, 0x79, + 0x65, 0x72, 0x2e, 0x4f, 0x70, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x52, + 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x22, 0x0a, 0x04, 0x4c, 0x69, + 0x73, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x6c, 0x61, 0x79, 0x65, + 0x72, 0x2e, 0x56, 0x49, 0x50, 0x63, 0x66, 0x67, 0x52, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1c, + 0x0a, 0x09, 0x54, 0x6f, 0x6c, 0x56, 0x69, 0x70, 0x45, 0x78, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x03, 0x52, 0x09, 0x54, 0x6f, 0x6c, 0x56, 0x69, 0x70, 0x45, 0x78, 0x70, 0x12, 0x10, 0x0a, 0x03, + 0x56, 0x69, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x56, 0x69, 0x70, 0x12, 0x14, + 0x0a, 0x05, 0x56, 0x69, 0x70, 0x49, 0x64, 0x18, 0x05, 0x20, 0x03, 0x28, 0x05, 0x52, 0x05, 0x56, + 0x69, 0x70, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x03, 0x52, 0x05, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x12, 0x1e, 0x0a, 0x0a, 0x4d, 0x6f, + 0x6e, 0x65, 0x79, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, + 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x22, 0x3a, 0x0a, 0x12, 0x53, 0x43, + 0x45, 0x61, 0x73, 0x79, 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, + 0x12, 0x24, 0x0a, 0x0d, 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x53, 0x77, 0x69, 0x74, 0x63, + 0x68, 0x18, 0x01, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0d, 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, + 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x22, 0x28, 0x0a, 0x12, 0x43, 0x53, 0x56, 0x49, 0x50, 0x50, + 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x12, 0x0a, 0x04, + 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, + 0x22, 0x6c, 0x0a, 0x12, 0x53, 0x43, 0x56, 0x49, 0x50, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, + 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x56, 0x69, + 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x56, 0x69, 0x70, 0x12, 0x14, 0x0a, 0x05, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x4e, 0x6f, 0x77, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x4e, 0x6f, 0x77, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x3b, + 0x0a, 0x07, 0x50, 0x61, 0x79, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x49, 0x74, 0x65, + 0x6d, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x49, 0x74, 0x65, 0x6d, 0x49, + 0x64, 0x12, 0x18, 0x0a, 0x07, 0x49, 0x74, 0x65, 0x6d, 0x4e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x03, 0x52, 0x07, 0x49, 0x74, 0x65, 0x6d, 0x4e, 0x75, 0x6d, 0x22, 0x49, 0x0a, 0x0e, 0x53, + 0x43, 0x50, 0x61, 0x79, 0x47, 0x6f, 0x6f, 0x64, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x12, 0x0a, + 0x04, 0x47, 0x6f, 0x6c, 0x64, 0x18, 0x01, 0x20, 0x03, 0x28, 0x05, 0x52, 0x04, 0x47, 0x6f, 0x6c, + 0x64, 0x12, 0x23, 0x0a, 0x04, 0x49, 0x74, 0x65, 0x6d, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x0f, 0x2e, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x50, 0x61, 0x79, 0x49, 0x74, 0x65, 0x6d, + 0x52, 0x04, 0x49, 0x74, 0x65, 0x6d, 0x22, 0x1e, 0x0a, 0x0a, 0x53, 0x43, 0x52, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x22, 0x21, 0x0a, 0x0b, 0x43, 0x53, 0x43, 0x6c, 0x69, 0x65, + 0x6e, 0x74, 0x4c, 0x6f, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x44, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x44, 0x61, 0x74, 0x61, 0x22, 0x41, 0x0a, 0x0b, 0x53, 0x43, 0x43, + 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4c, 0x6f, 0x67, 0x12, 0x32, 0x0a, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x4f, 0x70, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, - 0x65, 0x52, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, - 0x54, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x54, 0x65, 0x6c, 0x12, 0x1e, - 0x0a, 0x0a, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x0a, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x22, 0x94, - 0x01, 0x0a, 0x0c, 0x43, 0x53, 0x42, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x69, 0x70, 0x61, 0x79, 0x12, - 0x24, 0x0a, 0x0d, 0x41, 0x6c, 0x69, 0x70, 0x61, 0x79, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x41, 0x6c, 0x69, 0x70, 0x61, 0x79, 0x41, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x41, 0x6c, 0x69, 0x70, 0x61, 0x79, 0x41, - 0x63, 0x63, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x41, 0x6c, - 0x69, 0x70, 0x61, 0x79, 0x41, 0x63, 0x63, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x54, - 0x69, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, - 0x54, 0x69, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x61, 0x73, - 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x61, 0x73, - 0x73, 0x77, 0x6f, 0x72, 0x64, 0x22, 0x8e, 0x01, 0x0a, 0x0c, 0x53, 0x43, 0x42, 0x69, 0x6e, 0x64, - 0x41, 0x6c, 0x69, 0x70, 0x61, 0x79, 0x12, 0x32, 0x0a, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, - 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x70, 0x6c, 0x61, 0x79, - 0x65, 0x72, 0x2e, 0x4f, 0x70, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x52, - 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x41, 0x6c, - 0x69, 0x70, 0x61, 0x79, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0d, 0x41, 0x6c, 0x69, 0x70, 0x61, 0x79, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x12, 0x24, 0x0a, 0x0d, 0x41, 0x6c, 0x69, 0x70, 0x61, 0x79, 0x41, 0x63, 0x63, 0x4e, 0x61, 0x6d, - 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x41, 0x6c, 0x69, 0x70, 0x61, 0x79, 0x41, - 0x63, 0x63, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x9e, 0x01, 0x0a, 0x0a, 0x43, 0x53, 0x42, 0x69, 0x6e, - 0x64, 0x42, 0x61, 0x6e, 0x6b, 0x12, 0x12, 0x0a, 0x04, 0x42, 0x61, 0x6e, 0x6b, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x04, 0x42, 0x61, 0x6e, 0x6b, 0x12, 0x20, 0x0a, 0x0b, 0x42, 0x61, 0x6e, - 0x6b, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, - 0x42, 0x61, 0x6e, 0x6b, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x42, - 0x61, 0x6e, 0x6b, 0x41, 0x63, 0x63, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0b, 0x42, 0x61, 0x6e, 0x6b, 0x41, 0x63, 0x63, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, - 0x09, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, - 0x52, 0x09, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1a, 0x0a, 0x08, 0x50, - 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, - 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x22, 0x98, 0x01, 0x0a, 0x0a, 0x53, 0x43, 0x42, 0x69, - 0x6e, 0x64, 0x42, 0x61, 0x6e, 0x6b, 0x12, 0x32, 0x0a, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, - 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x70, 0x6c, 0x61, 0x79, - 0x65, 0x72, 0x2e, 0x4f, 0x70, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x52, - 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x42, 0x61, - 0x6e, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x42, 0x61, 0x6e, 0x6b, 0x12, 0x20, - 0x0a, 0x0b, 0x42, 0x61, 0x6e, 0x6b, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0b, 0x42, 0x61, 0x6e, 0x6b, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x12, 0x20, 0x0a, 0x0b, 0x42, 0x61, 0x6e, 0x6b, 0x41, 0x63, 0x63, 0x4e, 0x61, 0x6d, 0x65, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x42, 0x61, 0x6e, 0x6b, 0x41, 0x63, 0x63, 0x4e, 0x61, - 0x6d, 0x65, 0x22, 0x3e, 0x0a, 0x0c, 0x53, 0x43, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x46, 0x6c, - 0x61, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x12, 0x12, - 0x0a, 0x04, 0x46, 0x6c, 0x61, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x46, 0x6c, - 0x61, 0x67, 0x22, 0x5e, 0x0a, 0x12, 0x53, 0x43, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x6f, - 0x69, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x53, 0x6e, 0x49, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x53, 0x6e, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, - 0x41, 0x64, 0x64, 0x43, 0x6f, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x41, - 0x64, 0x64, 0x43, 0x6f, 0x69, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x52, 0x65, 0x73, 0x74, 0x43, 0x6f, - 0x69, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x52, 0x65, 0x73, 0x74, 0x43, 0x6f, - 0x69, 0x6e, 0x22, 0x82, 0x01, 0x0a, 0x16, 0x53, 0x43, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x52, - 0x65, 0x63, 0x68, 0x61, 0x72, 0x67, 0x65, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x12, 0x18, 0x0a, - 0x07, 0x4f, 0x70, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, - 0x4f, 0x70, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x12, 0x18, 0x0a, 0x07, 0x41, 0x64, 0x64, 0x43, 0x6f, - 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x41, 0x64, 0x64, 0x43, 0x6f, 0x69, - 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x43, 0x6f, 0x69, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, - 0x04, 0x43, 0x6f, 0x69, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x53, 0x61, 0x66, 0x65, 0x42, 0x6f, 0x78, - 0x43, 0x6f, 0x69, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x53, 0x61, 0x66, 0x65, - 0x42, 0x6f, 0x78, 0x43, 0x6f, 0x69, 0x6e, 0x22, 0x8b, 0x01, 0x0a, 0x07, 0x44, 0x61, 0x74, 0x61, - 0x4c, 0x6f, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x4c, 0x6f, 0x67, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x4c, 0x6f, 0x67, 0x54, 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, - 0x0b, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x03, 0x52, 0x0b, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, - 0x1c, 0x0a, 0x09, 0x52, 0x65, 0x73, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x03, 0x52, 0x09, 0x52, 0x65, 0x73, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x0e, 0x0a, - 0x02, 0x54, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x54, 0x73, 0x12, 0x16, 0x0a, - 0x06, 0x52, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x52, - 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x22, 0x3c, 0x0a, 0x0c, 0x43, 0x53, 0x47, 0x65, 0x74, 0x44, 0x61, - 0x74, 0x61, 0x4c, 0x6f, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x44, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x44, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, - 0x65, 0x12, 0x10, 0x0a, 0x03, 0x56, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, - 0x56, 0x65, 0x72, 0x22, 0x63, 0x0a, 0x0c, 0x53, 0x43, 0x47, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, - 0x4c, 0x6f, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x44, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x44, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x12, - 0x10, 0x0a, 0x03, 0x56, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x56, 0x65, - 0x72, 0x12, 0x25, 0x0a, 0x05, 0x44, 0x61, 0x74, 0x61, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x0f, 0x2e, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x4c, 0x6f, - 0x67, 0x52, 0x05, 0x44, 0x61, 0x74, 0x61, 0x73, 0x22, 0x99, 0x01, 0x0a, 0x0b, 0x47, 0x61, 0x6d, - 0x65, 0x43, 0x6f, 0x69, 0x6e, 0x4c, 0x6f, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x47, 0x61, 0x6d, 0x65, - 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x64, - 0x12, 0x1e, 0x0a, 0x0a, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, - 0x12, 0x1e, 0x0a, 0x0a, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, - 0x12, 0x18, 0x0a, 0x07, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x54, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x03, 0x52, 0x07, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x54, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x4c, 0x65, - 0x61, 0x76, 0x65, 0x54, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x4c, 0x65, 0x61, - 0x76, 0x65, 0x54, 0x73, 0x22, 0x22, 0x0a, 0x10, 0x43, 0x53, 0x47, 0x65, 0x74, 0x47, 0x61, 0x6d, - 0x65, 0x43, 0x6f, 0x69, 0x6e, 0x4c, 0x6f, 0x67, 0x12, 0x0e, 0x0a, 0x02, 0x54, 0x73, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x54, 0x73, 0x22, 0x6f, 0x0a, 0x10, 0x53, 0x43, 0x47, 0x65, - 0x74, 0x47, 0x61, 0x6d, 0x65, 0x43, 0x6f, 0x69, 0x6e, 0x4c, 0x6f, 0x67, 0x12, 0x32, 0x0a, 0x09, - 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, - 0x14, 0x2e, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x4f, 0x70, 0x52, 0x65, 0x73, 0x75, 0x6c, - 0x74, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, - 0x12, 0x27, 0x0a, 0x04, 0x4c, 0x6f, 0x67, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, - 0x2e, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x47, 0x61, 0x6d, 0x65, 0x43, 0x6f, 0x69, 0x6e, - 0x4c, 0x6f, 0x67, 0x52, 0x04, 0x4c, 0x6f, 0x67, 0x73, 0x22, 0x6e, 0x0a, 0x0e, 0x43, 0x53, 0x50, - 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4f, 0x70, 0x43, 0x6f, 0x69, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x4f, - 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x4f, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x43, - 0x6f, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x43, 0x6f, 0x69, 0x6e, 0x12, - 0x1a, 0x0a, 0x08, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x08, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x54, - 0x69, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, - 0x54, 0x69, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x8a, 0x01, 0x0a, 0x0e, 0x53, 0x43, - 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4f, 0x70, 0x43, 0x6f, 0x69, 0x6e, 0x12, 0x32, 0x0a, 0x09, - 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, - 0x14, 0x2e, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x4f, 0x70, 0x52, 0x65, 0x73, 0x75, 0x6c, - 0x74, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, - 0x12, 0x0e, 0x0a, 0x02, 0x4f, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x4f, 0x70, - 0x12, 0x12, 0x0a, 0x04, 0x43, 0x6f, 0x69, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, - 0x43, 0x6f, 0x69, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x53, 0x61, 0x66, 0x65, 0x42, 0x6f, 0x78, 0x43, - 0x6f, 0x69, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x53, 0x61, 0x66, 0x65, 0x42, - 0x6f, 0x78, 0x43, 0x6f, 0x69, 0x6e, 0x22, 0x94, 0x01, 0x0a, 0x0e, 0x53, 0x61, 0x66, 0x65, 0x42, - 0x6f, 0x78, 0x43, 0x6f, 0x69, 0x6e, 0x4c, 0x6f, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x4c, 0x6f, 0x67, - 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x4c, 0x6f, 0x67, 0x54, - 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x4f, 0x50, 0x43, 0x6f, 0x69, 0x6e, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x03, 0x52, 0x06, 0x4f, 0x50, 0x43, 0x6f, 0x69, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x4f, - 0x50, 0x43, 0x6f, 0x69, 0x6e, 0x46, 0x72, 0x6f, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, - 0x52, 0x0b, 0x4f, 0x50, 0x43, 0x6f, 0x69, 0x6e, 0x46, 0x72, 0x6f, 0x6e, 0x74, 0x12, 0x1e, 0x0a, - 0x0a, 0x4f, 0x50, 0x43, 0x6f, 0x69, 0x6e, 0x4c, 0x61, 0x73, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x03, 0x52, 0x0a, 0x4f, 0x50, 0x43, 0x6f, 0x69, 0x6e, 0x4c, 0x61, 0x73, 0x74, 0x12, 0x0e, 0x0a, - 0x02, 0x54, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x54, 0x73, 0x22, 0x25, 0x0a, - 0x13, 0x43, 0x53, 0x47, 0x65, 0x74, 0x53, 0x61, 0x66, 0x65, 0x42, 0x6f, 0x78, 0x43, 0x6f, 0x69, - 0x6e, 0x4c, 0x6f, 0x67, 0x12, 0x0e, 0x0a, 0x02, 0x54, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, - 0x52, 0x02, 0x54, 0x73, 0x22, 0x75, 0x0a, 0x13, 0x53, 0x43, 0x47, 0x65, 0x74, 0x53, 0x61, 0x66, - 0x65, 0x42, 0x6f, 0x78, 0x43, 0x6f, 0x69, 0x6e, 0x4c, 0x6f, 0x67, 0x12, 0x32, 0x0a, 0x09, 0x4f, - 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, - 0x2e, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x4f, 0x70, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, - 0x43, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, - 0x2a, 0x0a, 0x04, 0x4c, 0x6f, 0x67, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, - 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x61, 0x66, 0x65, 0x42, 0x6f, 0x78, 0x43, 0x6f, - 0x69, 0x6e, 0x4c, 0x6f, 0x67, 0x52, 0x04, 0x4c, 0x6f, 0x67, 0x73, 0x22, 0x28, 0x0a, 0x12, 0x43, - 0x53, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x43, 0x6f, 0x64, - 0x65, 0x12, 0x12, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x43, 0x6f, 0x64, 0x65, 0x22, 0x48, 0x0a, 0x12, 0x53, 0x43, 0x50, 0x6c, 0x61, 0x79, 0x65, - 0x72, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x32, 0x0a, 0x09, 0x4f, - 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, - 0x2e, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x4f, 0x70, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, - 0x43, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x22, - 0x5e, 0x0a, 0x12, 0x43, 0x53, 0x57, 0x65, 0x62, 0x41, 0x50, 0x49, 0x50, 0x6c, 0x61, 0x79, 0x65, - 0x72, 0x50, 0x61, 0x73, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x41, 0x70, 0x69, 0x4e, 0x61, 0x6d, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x41, 0x70, 0x69, 0x4e, 0x61, 0x6d, 0x65, 0x12, - 0x16, 0x0a, 0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x43, 0x42, 0x44, 0x61, 0x74, - 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x43, 0x42, 0x44, 0x61, 0x74, 0x61, 0x22, - 0x96, 0x01, 0x0a, 0x12, 0x53, 0x43, 0x57, 0x65, 0x62, 0x41, 0x50, 0x49, 0x50, 0x6c, 0x61, 0x79, - 0x65, 0x72, 0x50, 0x61, 0x73, 0x73, 0x12, 0x32, 0x0a, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, - 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x70, 0x6c, 0x61, 0x79, - 0x65, 0x72, 0x2e, 0x4f, 0x70, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x52, - 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x41, 0x70, - 0x69, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x41, 0x70, 0x69, - 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x43, 0x42, 0x44, 0x61, 0x74, 0x61, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x43, 0x42, 0x44, 0x61, 0x74, 0x61, 0x12, 0x1a, 0x0a, 0x08, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5e, 0x0a, 0x12, 0x43, 0x53, 0x57, 0x65, - 0x62, 0x41, 0x50, 0x49, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x50, 0x61, 0x73, 0x73, 0x12, 0x18, - 0x0a, 0x07, 0x41, 0x70, 0x69, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x65, 0x52, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x22, 0x31, 0x0a, 0x0f, + 0x53, 0x43, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x55, 0x6e, 0x50, 0x6f, 0x77, 0x65, 0x72, 0x12, + 0x1e, 0x0a, 0x0a, 0x55, 0x6e, 0x4d, 0x61, 0x78, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x03, 0x52, 0x0a, 0x55, 0x6e, 0x4d, 0x61, 0x78, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x22, + 0x37, 0x0a, 0x13, 0x53, 0x43, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x55, 0x6e, 0x50, 0x6f, 0x77, + 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x55, 0x6e, 0x50, 0x6f, 0x77, 0x65, + 0x72, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x55, 0x6e, 0x50, + 0x6f, 0x77, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x39, 0x0a, 0x0f, 0x53, 0x43, 0x50, 0x6c, + 0x61, 0x79, 0x65, 0x72, 0x55, 0x70, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x4c, + 0x65, 0x76, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x4c, 0x65, 0x76, 0x65, + 0x6c, 0x12, 0x10, 0x0a, 0x03, 0x45, 0x78, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, + 0x45, 0x78, 0x70, 0x22, 0x0f, 0x0a, 0x0d, 0x43, 0x53, 0x42, 0x69, 0x6e, 0x64, 0x54, 0x65, 0x6c, + 0x49, 0x6e, 0x66, 0x6f, 0x22, 0xa1, 0x01, 0x0a, 0x0d, 0x53, 0x43, 0x42, 0x69, 0x6e, 0x64, 0x54, + 0x65, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x4e, 0x0a, 0x0d, 0x42, 0x69, 0x6e, 0x64, 0x54, 0x65, + 0x6c, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, + 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x43, 0x42, 0x69, 0x6e, 0x64, 0x54, 0x65, 0x6c, + 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x42, 0x69, 0x6e, 0x64, 0x54, 0x65, 0x6c, 0x52, 0x65, 0x77, 0x61, + 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0d, 0x42, 0x69, 0x6e, 0x64, 0x54, 0x65, 0x6c, + 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x1a, 0x40, 0x0a, 0x12, 0x42, 0x69, 0x6e, 0x64, 0x54, 0x65, + 0x6c, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, + 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, + 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x91, 0x01, 0x0a, 0x0f, 0x43, 0x53, 0x50, + 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x4d, 0x53, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x1a, 0x0a, 0x08, + 0x41, 0x72, 0x65, 0x61, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x41, 0x72, 0x65, 0x61, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x54, 0x65, 0x6c, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x54, 0x65, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x54, 0x79, + 0x70, 0x65, 0x49, 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x54, 0x79, 0x70, 0x65, + 0x49, 0x44, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x1c, + 0x0a, 0x09, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x09, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x22, 0x3b, 0x0a, 0x0f, + 0x53, 0x43, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x4d, 0x53, 0x43, 0x6f, 0x64, 0x65, 0x12, + 0x28, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, + 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x4f, 0x70, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, + 0x6f, 0x64, 0x65, 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x22, 0x4d, 0x0a, 0x09, 0x43, 0x53, 0x42, + 0x69, 0x6e, 0x64, 0x54, 0x65, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x41, 0x72, 0x65, 0x61, 0x43, 0x6f, + 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x41, 0x72, 0x65, 0x61, 0x43, 0x6f, + 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x54, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x03, 0x54, 0x65, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x22, 0x35, 0x0a, 0x09, 0x53, 0x43, 0x42, 0x69, + 0x6e, 0x64, 0x54, 0x65, 0x6c, 0x12, 0x28, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x4f, 0x70, 0x52, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x22, + 0x8e, 0x01, 0x0a, 0x0a, 0x43, 0x53, 0x48, 0x74, 0x74, 0x70, 0x50, 0x61, 0x73, 0x73, 0x12, 0x1e, + 0x0a, 0x0a, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x0a, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, + 0x0a, 0x07, 0x41, 0x70, 0x69, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x41, 0x70, 0x69, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x50, 0x61, 0x72, 0x61, - 0x6d, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, - 0x12, 0x16, 0x0a, 0x06, 0x43, 0x42, 0x44, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x06, 0x43, 0x42, 0x44, 0x61, 0x74, 0x61, 0x22, 0x96, 0x01, 0x0a, 0x12, 0x53, 0x43, 0x57, - 0x65, 0x62, 0x41, 0x50, 0x49, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x50, 0x61, 0x73, 0x73, 0x12, + 0x6d, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, + 0x12, 0x16, 0x0a, 0x06, 0x43, 0x42, 0x44, 0x61, 0x74, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x06, 0x43, 0x42, 0x44, 0x61, 0x74, 0x61, 0x12, 0x16, 0x0a, 0x06, 0x4d, 0x65, 0x74, 0x68, + 0x6f, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, + 0x22, 0x8e, 0x01, 0x0a, 0x0a, 0x53, 0x43, 0x48, 0x74, 0x74, 0x70, 0x50, 0x61, 0x73, 0x73, 0x12, 0x32, 0x0a, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x4f, 0x70, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, @@ -10271,795 +10629,419 @@ var file_player_proto_rawDesc = []byte{ 0x06, 0x43, 0x42, 0x44, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x43, 0x42, 0x44, 0x61, 0x74, 0x61, 0x12, 0x1a, 0x0a, 0x08, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x2a, 0x0a, 0x0c, 0x43, 0x53, 0x53, 0x70, 0x72, 0x65, 0x61, 0x64, 0x42, 0x69, 0x6e, - 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x08, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x22, 0x5e, 0x0a, - 0x0c, 0x53, 0x43, 0x53, 0x70, 0x72, 0x65, 0x61, 0x64, 0x42, 0x69, 0x6e, 0x64, 0x12, 0x32, 0x0a, - 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, - 0x32, 0x14, 0x2e, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x4f, 0x70, 0x52, 0x65, 0x73, 0x75, - 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, - 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x08, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x22, 0x2c, 0x0a, - 0x0e, 0x43, 0x53, 0x42, 0x69, 0x6e, 0x64, 0x50, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x65, 0x72, 0x12, - 0x1a, 0x0a, 0x08, 0x50, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x08, 0x50, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x65, 0x72, 0x22, 0x60, 0x0a, 0x0e, 0x53, - 0x43, 0x42, 0x69, 0x6e, 0x64, 0x50, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x65, 0x72, 0x12, 0x32, 0x0a, - 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, - 0x32, 0x14, 0x2e, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x4f, 0x70, 0x52, 0x65, 0x73, 0x75, - 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, - 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x65, 0x72, 0x22, 0x33, 0x0a, - 0x13, 0x53, 0x43, 0x42, 0x69, 0x6e, 0x64, 0x50, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x65, 0x72, 0x53, - 0x74, 0x61, 0x74, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x42, 0x69, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x42, 0x69, 0x6e, 0x64, 0x53, 0x74, 0x61, - 0x74, 0x65, 0x22, 0x14, 0x0a, 0x12, 0x43, 0x53, 0x47, 0x65, 0x6e, 0x43, 0x75, 0x73, 0x74, 0x6f, - 0x6d, 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x2a, 0x0a, 0x12, 0x53, 0x43, 0x47, 0x65, - 0x6e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x14, - 0x0a, 0x05, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x54, - 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x37, 0x0a, 0x0b, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, - 0x4d, 0x73, 0x67, 0x12, 0x14, 0x0a, 0x05, 0x4d, 0x73, 0x67, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x05, 0x4d, 0x73, 0x67, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x44, 0x61, 0x74, - 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x44, 0x61, 0x74, 0x61, 0x22, 0x3b, 0x0a, - 0x10, 0x53, 0x43, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x4e, 0x65, 0x77, 0x4d, 0x73, - 0x67, 0x12, 0x27, 0x0a, 0x04, 0x44, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x13, 0x2e, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, - 0x72, 0x4d, 0x73, 0x67, 0x52, 0x04, 0x44, 0x61, 0x74, 0x61, 0x22, 0x2d, 0x0a, 0x13, 0x43, 0x53, - 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x4e, 0x65, 0x77, 0x4d, 0x73, 0x67, 0x41, 0x63, - 0x6b, 0x12, 0x16, 0x0a, 0x06, 0x4d, 0x73, 0x67, 0x49, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x09, 0x52, 0x06, 0x4d, 0x73, 0x67, 0x49, 0x64, 0x73, 0x22, 0x16, 0x0a, 0x14, 0x43, 0x53, 0x47, - 0x65, 0x74, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x43, 0x6f, 0x64, - 0x65, 0x22, 0x68, 0x0a, 0x14, 0x53, 0x43, 0x47, 0x65, 0x74, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x56, - 0x65, 0x72, 0x69, 0x66, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x32, 0x0a, 0x09, 0x4f, 0x70, 0x52, - 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x70, - 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x4f, 0x70, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, - 0x64, 0x65, 0x52, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x1c, 0x0a, - 0x09, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x44, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x09, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x44, 0x61, 0x74, 0x61, 0x22, 0x27, 0x0a, 0x11, 0x43, - 0x53, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x43, 0x6f, 0x64, 0x65, - 0x12, 0x12, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, - 0x43, 0x6f, 0x64, 0x65, 0x22, 0x47, 0x0a, 0x11, 0x53, 0x43, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x56, - 0x65, 0x72, 0x69, 0x66, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x32, 0x0a, 0x09, 0x4f, 0x70, 0x52, - 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x70, - 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x4f, 0x70, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, - 0x64, 0x65, 0x52, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x22, 0x8d, 0x01, - 0x0a, 0x11, 0x53, 0x43, 0x54, 0x72, 0x75, 0x73, 0x74, 0x65, 0x65, 0x73, 0x68, 0x69, 0x70, 0x54, - 0x69, 0x70, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x54, 0x72, 0x75, 0x73, 0x74, 0x65, 0x65, 0x73, 0x68, - 0x69, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x54, 0x72, 0x75, 0x73, 0x74, 0x65, - 0x65, 0x73, 0x68, 0x69, 0x70, 0x12, 0x1a, 0x0a, 0x08, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x4e, 0x75, - 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x4e, 0x75, - 0x6d, 0x12, 0x1e, 0x0a, 0x0a, 0x47, 0x61, 0x6d, 0x65, 0x46, 0x72, 0x65, 0x65, 0x49, 0x64, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x47, 0x61, 0x6d, 0x65, 0x46, 0x72, 0x65, 0x65, 0x49, - 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x4f, 0x70, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x04, 0x20, - 0x03, 0x28, 0x05, 0x52, 0x08, 0x4f, 0x70, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0x29, 0x0a, - 0x15, 0x43, 0x53, 0x47, 0x65, 0x74, 0x53, 0x6c, 0x69, 0x64, 0x65, 0x72, 0x56, 0x65, 0x72, 0x69, - 0x66, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x54, 0x65, 0x6c, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x03, 0x54, 0x65, 0x6c, 0x22, 0x5d, 0x0a, 0x15, 0x53, 0x43, 0x47, 0x65, - 0x74, 0x53, 0x6c, 0x69, 0x64, 0x65, 0x72, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x43, 0x6f, 0x64, - 0x65, 0x12, 0x32, 0x0a, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x4f, 0x70, - 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x4f, 0x70, 0x52, 0x65, - 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x50, 0x6f, 0x73, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x03, 0x50, 0x6f, 0x73, 0x22, 0x3a, 0x0a, 0x12, 0x43, 0x53, 0x49, 0x6f, 0x73, - 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x12, 0x0a, - 0x04, 0x53, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x53, 0x6e, 0x49, - 0x64, 0x12, 0x10, 0x0a, 0x03, 0x54, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, - 0x54, 0x65, 0x6c, 0x22, 0x48, 0x0a, 0x12, 0x53, 0x43, 0x49, 0x6f, 0x73, 0x49, 0x6e, 0x73, 0x74, - 0x61, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x32, 0x0a, 0x09, 0x4f, 0x70, 0x52, - 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x70, - 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x4f, 0x70, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, - 0x64, 0x65, 0x52, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x22, 0x45, 0x0a, - 0x0b, 0x53, 0x72, 0x76, 0x4d, 0x73, 0x67, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x12, 0x1a, 0x0a, 0x08, - 0x49, 0x6e, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, - 0x49, 0x6e, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x53, 0x74, 0x72, 0x50, - 0x61, 0x72, 0x61, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x53, 0x74, 0x72, 0x50, - 0x61, 0x72, 0x61, 0x6d, 0x22, 0x4d, 0x0a, 0x08, 0x53, 0x43, 0x53, 0x72, 0x76, 0x4d, 0x73, 0x67, - 0x12, 0x14, 0x0a, 0x05, 0x4d, 0x73, 0x67, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x05, 0x4d, 0x73, 0x67, 0x49, 0x64, 0x12, 0x2b, 0x0a, 0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, - 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, - 0x53, 0x72, 0x76, 0x4d, 0x73, 0x67, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x52, 0x06, 0x50, 0x61, 0x72, - 0x61, 0x6d, 0x73, 0x22, 0x23, 0x0a, 0x0d, 0x43, 0x53, 0x4a, 0x61, 0x63, 0x6b, 0x70, 0x6f, 0x74, - 0x4c, 0x69, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x53, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x04, 0x53, 0x6e, 0x49, 0x64, 0x22, 0x5d, 0x0a, 0x0f, 0x46, 0x69, 0x73, 0x68, - 0x4a, 0x61, 0x63, 0x6b, 0x70, 0x6f, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x4e, - 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, - 0x12, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x54, - 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x43, 0x6f, 0x69, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x03, 0x52, 0x04, 0x43, 0x6f, 0x69, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x54, 0x73, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x03, 0x52, 0x02, 0x54, 0x73, 0x22, 0x4a, 0x0a, 0x0d, 0x53, 0x43, 0x4a, 0x61, 0x63, - 0x6b, 0x70, 0x6f, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x39, 0x0a, 0x0b, 0x4a, 0x61, 0x63, 0x6b, - 0x70, 0x6f, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, - 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x46, 0x69, 0x73, 0x68, 0x4a, 0x61, 0x63, 0x6b, 0x70, - 0x6f, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0b, 0x4a, 0x61, 0x63, 0x6b, 0x70, 0x6f, 0x74, 0x4c, - 0x69, 0x73, 0x74, 0x22, 0x13, 0x0a, 0x11, 0x43, 0x53, 0x46, 0x69, 0x73, 0x68, 0x4a, 0x61, 0x63, - 0x6b, 0x70, 0x6f, 0x74, 0x43, 0x6f, 0x69, 0x6e, 0x22, 0x27, 0x0a, 0x11, 0x53, 0x43, 0x46, 0x69, - 0x73, 0x68, 0x4a, 0x61, 0x63, 0x6b, 0x70, 0x6f, 0x74, 0x43, 0x6f, 0x69, 0x6e, 0x12, 0x12, 0x0a, - 0x04, 0x43, 0x6f, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x43, 0x6f, 0x69, - 0x6e, 0x22, 0x40, 0x0a, 0x0e, 0x53, 0x43, 0x4e, 0x69, 0x63, 0x65, 0x49, 0x64, 0x52, 0x65, 0x62, - 0x69, 0x6e, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x6e, 0x69, 0x64, 0x49, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x06, 0x53, 0x6e, 0x69, 0x64, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x4e, - 0x69, 0x63, 0x65, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x4e, 0x69, 0x63, - 0x65, 0x49, 0x64, 0x22, 0x15, 0x0a, 0x13, 0x43, 0x53, 0x47, 0x65, 0x74, 0x53, 0x70, 0x72, 0x65, - 0x61, 0x64, 0x4c, 0x57, 0x49, 0x73, 0x4f, 0x70, 0x65, 0x6e, 0x22, 0x2d, 0x0a, 0x13, 0x53, 0x43, - 0x47, 0x65, 0x74, 0x53, 0x70, 0x72, 0x65, 0x61, 0x64, 0x4c, 0x57, 0x49, 0x73, 0x4f, 0x70, 0x65, - 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x49, 0x73, 0x4f, 0x70, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x06, 0x49, 0x73, 0x4f, 0x70, 0x65, 0x6e, 0x22, 0xa0, 0x01, 0x0a, 0x0a, 0x50, 0x61, - 0x79, 0x41, 0x63, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x47, 0x69, 0x76, 0x65, - 0x4e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x47, 0x69, 0x76, 0x65, 0x4e, - 0x75, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x47, 0x69, 0x76, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x47, 0x69, 0x76, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, - 0x0a, 0x09, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x09, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, - 0x45, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x45, - 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x22, 0x3f, 0x0a, 0x0d, - 0x53, 0x43, 0x50, 0x61, 0x79, 0x41, 0x63, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x2e, 0x0a, - 0x08, 0x50, 0x61, 0x79, 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x12, 0x2e, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x50, 0x61, 0x79, 0x41, 0x63, 0x74, 0x49, - 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x50, 0x61, 0x79, 0x53, 0x74, 0x61, 0x74, 0x65, 0x22, 0x23, 0x0a, - 0x0d, 0x43, 0x53, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x12, 0x12, - 0x0a, 0x04, 0x53, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x53, 0x6e, - 0x49, 0x64, 0x22, 0x45, 0x0a, 0x09, 0x52, 0x6f, 0x6c, 0x65, 0x4f, 0x72, 0x50, 0x65, 0x74, 0x12, - 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, - 0x14, 0x0a, 0x05, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, - 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0xc5, 0x03, 0x0a, 0x0d, 0x53, 0x43, - 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x53, - 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x53, 0x6e, 0x49, 0x64, 0x12, - 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, - 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x48, 0x65, 0x61, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x04, 0x48, 0x65, 0x61, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x53, 0x65, 0x78, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x53, 0x65, 0x78, 0x12, 0x12, 0x0a, 0x04, 0x43, 0x6f, 0x69, - 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x43, 0x6f, 0x69, 0x6e, 0x12, 0x18, 0x0a, - 0x07, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, - 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x56, 0x43, 0x61, 0x72, 0x64, - 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x56, 0x43, 0x61, 0x72, 0x64, 0x12, 0x1a, 0x0a, - 0x08, 0x49, 0x73, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x08, 0x49, 0x73, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x43, 0x75, 0x72, - 0x52, 0x6f, 0x6c, 0x65, 0x49, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x43, 0x75, - 0x72, 0x52, 0x6f, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x43, 0x75, 0x72, 0x50, 0x65, - 0x74, 0x49, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x43, 0x75, 0x72, 0x50, 0x65, - 0x74, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x05, 0x52, 0x6f, 0x6c, 0x65, 0x73, 0x18, 0x0b, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x52, 0x6f, 0x6c, 0x65, - 0x4f, 0x72, 0x50, 0x65, 0x74, 0x52, 0x05, 0x52, 0x6f, 0x6c, 0x65, 0x73, 0x12, 0x25, 0x0a, 0x04, - 0x50, 0x65, 0x74, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x70, 0x6c, 0x61, - 0x79, 0x65, 0x72, 0x2e, 0x52, 0x6f, 0x6c, 0x65, 0x4f, 0x72, 0x50, 0x65, 0x74, 0x52, 0x04, 0x50, - 0x65, 0x74, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x49, 0x73, 0x53, 0x68, 0x69, 0x65, 0x6c, 0x64, 0x18, - 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x49, 0x73, 0x53, 0x68, 0x69, 0x65, 0x6c, 0x64, 0x12, - 0x18, 0x0a, 0x07, 0x48, 0x65, 0x61, 0x64, 0x55, 0x72, 0x6c, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x07, 0x48, 0x65, 0x61, 0x64, 0x55, 0x72, 0x6c, 0x12, 0x1c, 0x0a, 0x09, 0x53, 0x69, 0x67, - 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x53, 0x69, - 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x41, 0x67, 0x65, 0x18, 0x10, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x41, 0x67, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x47, 0x61, 0x6d, - 0x65, 0x49, 0x44, 0x18, 0x11, 0x20, 0x03, 0x28, 0x05, 0x52, 0x06, 0x47, 0x61, 0x6d, 0x65, 0x49, - 0x44, 0x22, 0x1b, 0x0a, 0x07, 0x43, 0x53, 0x50, 0x4d, 0x43, 0x6d, 0x64, 0x12, 0x10, 0x0a, 0x03, - 0x43, 0x6d, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x43, 0x6d, 0x64, 0x22, 0x28, - 0x0a, 0x0e, 0x43, 0x53, 0x52, 0x6f, 0x62, 0x6f, 0x74, 0x43, 0x68, 0x67, 0x44, 0x61, 0x74, 0x61, - 0x12, 0x16, 0x0a, 0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, - 0x52, 0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0xe4, 0x02, 0x0a, 0x08, 0x49, 0x74, 0x65, - 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x16, 0x0a, 0x06, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x18, 0x0a, - 0x07, 0x49, 0x74, 0x65, 0x6d, 0x4e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, - 0x49, 0x74, 0x65, 0x6d, 0x4e, 0x75, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x43, - 0x6c, 0x61, 0x73, 0x73, 0x69, 0x66, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x43, - 0x6c, 0x61, 0x73, 0x73, 0x69, 0x66, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x46, - 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x03, 0x28, 0x05, 0x52, 0x08, 0x46, - 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x53, 0x61, 0x6c, 0x65, 0x47, - 0x6f, 0x6c, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x53, 0x61, 0x6c, 0x65, 0x47, - 0x6f, 0x6c, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, - 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, - 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x26, 0x0a, 0x0e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, - 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x78, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x43, - 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x78, 0x12, 0x12, 0x0a, - 0x04, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x54, 0x69, 0x6d, - 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0b, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x08, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, - 0x08, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x08, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x43, 0x54, 0x79, - 0x70, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x43, 0x54, 0x79, 0x70, 0x65, 0x22, - 0x66, 0x0a, 0x0c, 0x4a, 0x79, 0x62, 0x49, 0x6e, 0x66, 0x6f, 0x41, 0x77, 0x61, 0x72, 0x64, 0x12, - 0x28, 0x0a, 0x06, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x10, 0x2e, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, - 0x6f, 0x52, 0x06, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x43, 0x6f, 0x69, - 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x43, 0x6f, 0x69, 0x6e, 0x12, 0x18, 0x0a, - 0x07, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, - 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x22, 0x4b, 0x0a, 0x0f, 0x43, 0x53, 0x50, 0x6c, 0x61, - 0x79, 0x65, 0x72, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x4f, 0x70, - 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x4f, 0x70, 0x74, 0x79, - 0x70, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x64, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, - 0x43, 0x6f, 0x64, 0x65, 0x22, 0x77, 0x0a, 0x0f, 0x53, 0x43, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, - 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x32, 0x0a, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, - 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x70, 0x6c, 0x61, - 0x79, 0x65, 0x72, 0x2e, 0x4f, 0x70, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, - 0x52, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x30, 0x0a, 0x08, 0x47, - 0x61, 0x69, 0x6e, 0x49, 0x74, 0x65, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, - 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x4a, 0x79, 0x62, 0x49, 0x6e, 0x66, 0x6f, 0x41, 0x77, - 0x61, 0x72, 0x64, 0x52, 0x08, 0x47, 0x61, 0x69, 0x6e, 0x49, 0x74, 0x65, 0x6d, 0x22, 0x89, 0x01, - 0x0a, 0x11, 0x53, 0x43, 0x47, 0x61, 0x6d, 0x65, 0x45, 0x78, 0x44, 0x72, 0x6f, 0x70, 0x49, 0x74, - 0x65, 0x6d, 0x73, 0x12, 0x3a, 0x0a, 0x05, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x43, 0x47, 0x61, - 0x6d, 0x65, 0x45, 0x78, 0x44, 0x72, 0x6f, 0x70, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x2e, 0x49, 0x74, - 0x65, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x1a, - 0x38, 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, - 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, 0x20, 0x0a, 0x08, 0x43, 0x53, 0x56, - 0x49, 0x50, 0x42, 0x75, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x22, 0x84, 0x01, 0x0a, 0x08, - 0x53, 0x43, 0x56, 0x49, 0x50, 0x42, 0x75, 0x79, 0x12, 0x32, 0x0a, 0x09, 0x4f, 0x70, 0x52, 0x65, - 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x70, 0x6c, - 0x61, 0x79, 0x65, 0x72, 0x2e, 0x4f, 0x70, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, - 0x65, 0x52, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x14, 0x0a, 0x05, - 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x4d, 0x6f, 0x6e, - 0x65, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x56, 0x69, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x03, 0x56, 0x69, 0x70, 0x12, 0x1c, 0x0a, 0x09, 0x54, 0x6f, 0x6c, 0x56, 0x69, 0x70, 0x45, 0x78, - 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x54, 0x6f, 0x6c, 0x56, 0x69, 0x70, 0x45, - 0x78, 0x70, 0x22, 0x1b, 0x0a, 0x09, 0x43, 0x53, 0x56, 0x49, 0x50, 0x44, 0x72, 0x61, 0x77, 0x12, - 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x22, - 0x61, 0x0a, 0x09, 0x53, 0x43, 0x56, 0x49, 0x50, 0x44, 0x72, 0x61, 0x77, 0x12, 0x0e, 0x0a, 0x02, - 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, - 0x56, 0x69, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x56, 0x69, 0x70, 0x12, 0x32, - 0x0a, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x14, 0x2e, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x4f, 0x70, 0x52, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, - 0x64, 0x65, 0x22, 0x0b, 0x0a, 0x09, 0x43, 0x53, 0x56, 0x49, 0x50, 0x49, 0x6e, 0x66, 0x6f, 0x22, - 0xbe, 0x04, 0x0a, 0x06, 0x56, 0x49, 0x50, 0x63, 0x66, 0x67, 0x12, 0x14, 0x0a, 0x05, 0x56, 0x69, - 0x70, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x56, 0x69, 0x70, 0x49, 0x64, - 0x12, 0x24, 0x0a, 0x04, 0x49, 0x74, 0x65, 0x6d, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, - 0x2e, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, - 0x52, 0x04, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x14, 0x0a, 0x05, 0x56, 0x69, 0x70, 0x45, 0x78, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x56, 0x69, 0x70, 0x45, 0x78, 0x12, 0x14, 0x0a, 0x05, - 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x50, 0x72, 0x69, - 0x63, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x31, - 0x18, 0x05, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, - 0x65, 0x31, 0x12, 0x16, 0x0a, 0x06, 0x4c, 0x69, 0x6e, 0x65, 0x49, 0x64, 0x18, 0x06, 0x20, 0x03, - 0x28, 0x05, 0x52, 0x06, 0x4c, 0x69, 0x6e, 0x65, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x50, 0x72, - 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x32, 0x18, 0x07, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0a, - 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x32, 0x12, 0x1e, 0x0a, 0x0a, 0x50, 0x72, - 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x33, 0x18, 0x08, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0a, - 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x33, 0x12, 0x1e, 0x0a, 0x0a, 0x50, 0x72, - 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x34, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, - 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x34, 0x12, 0x1e, 0x0a, 0x0a, 0x50, 0x72, - 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x35, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, - 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x35, 0x12, 0x1e, 0x0a, 0x0a, 0x50, 0x72, - 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x36, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, - 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x36, 0x12, 0x30, 0x0a, 0x0a, 0x50, 0x72, - 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x37, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, - 0x2e, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, - 0x52, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x37, 0x12, 0x28, 0x0a, 0x0f, - 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x37, 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, - 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, - 0x37, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, - 0x65, 0x67, 0x65, 0x38, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x50, 0x72, 0x69, 0x76, - 0x69, 0x6c, 0x65, 0x67, 0x65, 0x38, 0x12, 0x18, 0x0a, 0x07, 0x53, 0x68, 0x6f, 0x70, 0x49, 0x64, - 0x32, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x53, 0x68, 0x6f, 0x70, 0x49, 0x64, 0x32, - 0x12, 0x18, 0x0a, 0x07, 0x53, 0x68, 0x6f, 0x70, 0x49, 0x64, 0x37, 0x18, 0x10, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x07, 0x53, 0x68, 0x6f, 0x70, 0x49, 0x64, 0x37, 0x12, 0x1c, 0x0a, 0x09, 0x42, 0x61, - 0x67, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x11, 0x20, 0x03, 0x28, 0x05, 0x52, 0x09, 0x42, - 0x61, 0x67, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x26, 0x0a, 0x0e, 0x4d, 0x61, 0x74, 0x63, - 0x68, 0x46, 0x72, 0x65, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x18, 0x12, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x0e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x46, 0x72, 0x65, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x73, - 0x22, 0xdf, 0x01, 0x0a, 0x09, 0x53, 0x43, 0x56, 0x49, 0x50, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x32, - 0x0a, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x14, 0x2e, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x4f, 0x70, 0x52, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, - 0x64, 0x65, 0x12, 0x22, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x0e, 0x2e, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x56, 0x49, 0x50, 0x63, 0x66, 0x67, - 0x52, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x54, 0x6f, 0x6c, 0x56, 0x69, 0x70, - 0x45, 0x78, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x54, 0x6f, 0x6c, 0x56, 0x69, - 0x70, 0x45, 0x78, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x56, 0x69, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x03, 0x56, 0x69, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x56, 0x69, 0x70, 0x49, 0x64, 0x18, - 0x05, 0x20, 0x03, 0x28, 0x05, 0x52, 0x05, 0x56, 0x69, 0x70, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, - 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x4d, 0x6f, 0x6e, - 0x65, 0x79, 0x12, 0x1e, 0x0a, 0x0a, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x52, 0x61, 0x74, 0x69, 0x6f, - 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x52, 0x61, 0x74, - 0x69, 0x6f, 0x22, 0x3a, 0x0a, 0x12, 0x53, 0x43, 0x45, 0x61, 0x73, 0x79, 0x57, 0x65, 0x6c, 0x66, - 0x61, 0x72, 0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x24, 0x0a, 0x0d, 0x57, 0x65, 0x6c, 0x66, - 0x61, 0x72, 0x65, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x18, 0x01, 0x20, 0x03, 0x28, 0x05, 0x52, - 0x0d, 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x22, 0x28, - 0x0a, 0x12, 0x43, 0x53, 0x56, 0x49, 0x50, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, - 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x22, 0x6c, 0x0a, 0x12, 0x53, 0x43, 0x56, 0x49, - 0x50, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x12, - 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x43, 0x6f, - 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x56, 0x69, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x03, 0x56, 0x69, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x05, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x4e, 0x6f, - 0x77, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x4e, 0x6f, - 0x77, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x3b, 0x0a, 0x07, 0x50, 0x61, 0x79, 0x49, 0x74, 0x65, - 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x06, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x49, 0x74, 0x65, - 0x6d, 0x4e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x49, 0x74, 0x65, 0x6d, - 0x4e, 0x75, 0x6d, 0x22, 0x49, 0x0a, 0x0e, 0x53, 0x43, 0x50, 0x61, 0x79, 0x47, 0x6f, 0x6f, 0x64, - 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x47, 0x6f, 0x6c, 0x64, 0x18, 0x01, 0x20, - 0x03, 0x28, 0x05, 0x52, 0x04, 0x47, 0x6f, 0x6c, 0x64, 0x12, 0x23, 0x0a, 0x04, 0x49, 0x74, 0x65, - 0x6d, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, - 0x2e, 0x50, 0x61, 0x79, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x04, 0x49, 0x74, 0x65, 0x6d, 0x22, 0x1e, - 0x0a, 0x0a, 0x53, 0x43, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x10, 0x0a, 0x03, - 0x4d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x22, 0x21, - 0x0a, 0x0b, 0x43, 0x53, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4c, 0x6f, 0x67, 0x12, 0x12, 0x0a, - 0x04, 0x44, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x44, 0x61, 0x74, - 0x61, 0x22, 0x41, 0x0a, 0x0b, 0x53, 0x43, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4c, 0x6f, 0x67, - 0x12, 0x32, 0x0a, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x4f, 0x70, 0x52, - 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, - 0x43, 0x6f, 0x64, 0x65, 0x22, 0x31, 0x0a, 0x0f, 0x53, 0x43, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, - 0x55, 0x6e, 0x50, 0x6f, 0x77, 0x65, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x55, 0x6e, 0x4d, 0x61, 0x78, - 0x70, 0x6f, 0x77, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x55, 0x6e, 0x4d, - 0x61, 0x78, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x22, 0x37, 0x0a, 0x13, 0x53, 0x43, 0x50, 0x6c, 0x61, - 0x79, 0x65, 0x72, 0x55, 0x6e, 0x50, 0x6f, 0x77, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x20, - 0x0a, 0x0b, 0x55, 0x6e, 0x50, 0x6f, 0x77, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x0b, 0x55, 0x6e, 0x50, 0x6f, 0x77, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, - 0x22, 0x39, 0x0a, 0x0f, 0x53, 0x43, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x55, 0x70, 0x4c, 0x65, - 0x76, 0x65, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x03, 0x52, 0x05, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x10, 0x0a, 0x03, 0x45, 0x78, 0x70, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x45, 0x78, 0x70, 0x22, 0x0f, 0x0a, 0x0d, 0x43, - 0x53, 0x42, 0x69, 0x6e, 0x64, 0x54, 0x65, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0xa1, 0x01, 0x0a, - 0x0d, 0x53, 0x43, 0x42, 0x69, 0x6e, 0x64, 0x54, 0x65, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x4e, - 0x0a, 0x0d, 0x42, 0x69, 0x6e, 0x64, 0x54, 0x65, 0x6c, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x18, - 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, - 0x43, 0x42, 0x69, 0x6e, 0x64, 0x54, 0x65, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x42, 0x69, 0x6e, - 0x64, 0x54, 0x65, 0x6c, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, - 0x0d, 0x42, 0x69, 0x6e, 0x64, 0x54, 0x65, 0x6c, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x1a, 0x40, - 0x0a, 0x12, 0x42, 0x69, 0x6e, 0x64, 0x54, 0x65, 0x6c, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x45, - 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, - 0x22, 0x91, 0x01, 0x0a, 0x0f, 0x43, 0x53, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x4d, 0x53, - 0x43, 0x6f, 0x64, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x41, 0x72, 0x65, 0x61, 0x43, 0x6f, 0x64, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x41, 0x72, 0x65, 0x61, 0x43, 0x6f, 0x64, 0x65, - 0x12, 0x10, 0x0a, 0x03, 0x54, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x54, - 0x65, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x54, 0x79, 0x70, 0x65, 0x49, 0x44, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x06, 0x54, 0x79, 0x70, 0x65, 0x49, 0x44, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, - 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, - 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x1c, 0x0a, 0x09, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x43, - 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x49, 0x6d, 0x61, 0x67, 0x65, - 0x43, 0x6f, 0x64, 0x65, 0x22, 0x3b, 0x0a, 0x0f, 0x53, 0x43, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, - 0x53, 0x4d, 0x53, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x28, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x4f, - 0x70, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x43, 0x6f, 0x64, - 0x65, 0x22, 0x4d, 0x0a, 0x09, 0x43, 0x53, 0x42, 0x69, 0x6e, 0x64, 0x54, 0x65, 0x6c, 0x12, 0x1a, - 0x0a, 0x08, 0x41, 0x72, 0x65, 0x61, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x08, 0x41, 0x72, 0x65, 0x61, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x54, 0x65, - 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x54, 0x65, 0x6c, 0x12, 0x12, 0x0a, 0x04, - 0x43, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, - 0x22, 0x35, 0x0a, 0x09, 0x53, 0x43, 0x42, 0x69, 0x6e, 0x64, 0x54, 0x65, 0x6c, 0x12, 0x28, 0x0a, - 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x70, 0x6c, - 0x61, 0x79, 0x65, 0x72, 0x2e, 0x4f, 0x70, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, - 0x65, 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x22, 0x8e, 0x01, 0x0a, 0x0a, 0x43, 0x53, 0x48, 0x74, - 0x74, 0x70, 0x50, 0x61, 0x73, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, - 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x53, 0x65, 0x72, 0x76, - 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x41, 0x70, 0x69, 0x4e, 0x61, 0x6d, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x41, 0x70, 0x69, 0x4e, 0x61, 0x6d, 0x65, - 0x12, 0x16, 0x0a, 0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x43, 0x42, 0x44, 0x61, - 0x74, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x43, 0x42, 0x44, 0x61, 0x74, 0x61, - 0x12, 0x16, 0x0a, 0x06, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x06, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x22, 0x8e, 0x01, 0x0a, 0x0a, 0x53, 0x43, 0x48, - 0x74, 0x74, 0x70, 0x50, 0x61, 0x73, 0x73, 0x12, 0x32, 0x0a, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, - 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x70, 0x6c, 0x61, - 0x79, 0x65, 0x72, 0x2e, 0x4f, 0x70, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, - 0x52, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x41, - 0x70, 0x69, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x41, 0x70, - 0x69, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x43, 0x42, 0x44, 0x61, 0x74, 0x61, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x43, 0x42, 0x44, 0x61, 0x74, 0x61, 0x12, 0x1a, 0x0a, - 0x08, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x08, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x14, 0x0a, 0x12, 0x43, 0x53, 0x50, - 0x68, 0x6f, 0x6e, 0x65, 0x4c, 0x6f, 0x74, 0x74, 0x65, 0x72, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x22, - 0x73, 0x0a, 0x12, 0x53, 0x43, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x4c, 0x6f, 0x74, 0x74, 0x65, 0x72, - 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x14, 0x0a, 0x05, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x50, - 0x68, 0x6f, 0x6e, 0x65, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, - 0x0a, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x27, 0x0a, 0x04, 0x49, - 0x74, 0x65, 0x6d, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x6c, 0x61, 0x79, - 0x65, 0x72, 0x2e, 0x4c, 0x6f, 0x74, 0x74, 0x65, 0x72, 0x79, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x04, - 0x49, 0x74, 0x65, 0x6d, 0x22, 0x32, 0x0a, 0x0e, 0x43, 0x53, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x4c, - 0x6f, 0x74, 0x74, 0x65, 0x72, 0x79, 0x12, 0x20, 0x0a, 0x0b, 0x4c, 0x6f, 0x74, 0x74, 0x65, 0x72, - 0x79, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x4c, 0x6f, 0x74, - 0x74, 0x65, 0x72, 0x79, 0x54, 0x79, 0x70, 0x65, 0x22, 0x6f, 0x0a, 0x0e, 0x53, 0x43, 0x50, 0x68, - 0x6f, 0x6e, 0x65, 0x4c, 0x6f, 0x74, 0x74, 0x65, 0x72, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x43, 0x6f, - 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x43, 0x6f, 0x75, 0x6e, 0x74, - 0x12, 0x1e, 0x0a, 0x0a, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x53, 0x63, 0x6f, 0x72, 0x65, - 0x12, 0x27, 0x0a, 0x04, 0x49, 0x74, 0x65, 0x6d, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, - 0x2e, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x4c, 0x6f, 0x74, 0x74, 0x65, 0x72, 0x79, 0x49, - 0x74, 0x65, 0x6d, 0x52, 0x04, 0x49, 0x74, 0x65, 0x6d, 0x22, 0x4f, 0x0a, 0x0b, 0x4c, 0x6f, 0x74, - 0x74, 0x65, 0x72, 0x79, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x49, 0x74, 0x65, 0x6d, - 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, - 0x12, 0x18, 0x0a, 0x07, 0x49, 0x74, 0x65, 0x6d, 0x4e, 0x75, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x03, 0x52, 0x07, 0x49, 0x74, 0x65, 0x6d, 0x4e, 0x75, 0x6d, 0x22, 0x2b, 0x0a, 0x13, 0x53, 0x43, - 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x4c, 0x6f, 0x74, 0x74, 0x65, 0x72, 0x79, 0x43, 0x6f, 0x75, 0x6e, - 0x74, 0x12, 0x14, 0x0a, 0x05, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x05, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x1d, 0x0a, 0x05, 0x43, 0x53, 0x41, 0x44, 0x56, - 0x12, 0x14, 0x0a, 0x05, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x18, 0x01, 0x20, 0x03, 0x28, 0x05, 0x52, - 0x05, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x22, 0x1d, 0x0a, 0x05, 0x53, 0x43, 0x41, 0x44, 0x56, 0x12, - 0x14, 0x0a, 0x05, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x18, 0x01, 0x20, 0x03, 0x28, 0x05, 0x52, 0x05, - 0x50, 0x61, 0x72, 0x61, 0x6d, 0x22, 0x9f, 0x01, 0x0a, 0x12, 0x53, 0x43, 0x47, 0x65, 0x74, 0x57, - 0x65, 0x65, 0x6b, 0x43, 0x61, 0x72, 0x64, 0x41, 0x77, 0x61, 0x72, 0x79, 0x12, 0x0e, 0x0a, 0x02, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x25, 0x0a, 0x05, - 0x49, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x6c, - 0x61, 0x79, 0x65, 0x72, 0x2e, 0x50, 0x61, 0x79, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x05, 0x49, 0x74, - 0x65, 0x6d, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x77, 0x65, 0x65, 0x6b, 0x43, 0x61, 0x72, 0x64, 0x41, - 0x77, 0x61, 0x72, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x77, 0x65, 0x65, 0x6b, - 0x43, 0x61, 0x72, 0x64, 0x41, 0x77, 0x61, 0x72, 0x64, 0x12, 0x2c, 0x0a, 0x08, 0x57, 0x65, 0x65, - 0x6b, 0x43, 0x61, 0x72, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x6c, - 0x61, 0x79, 0x65, 0x72, 0x2e, 0x57, 0x65, 0x65, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x57, - 0x65, 0x65, 0x6b, 0x43, 0x61, 0x72, 0x64, 0x22, 0x6f, 0x0a, 0x0d, 0x53, 0x43, 0x50, 0x69, 0x67, - 0x42, 0x61, 0x6e, 0x6b, 0x43, 0x6f, 0x69, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x42, 0x61, 0x6e, 0x6b, - 0x43, 0x6f, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x42, 0x61, 0x6e, 0x6b, - 0x43, 0x6f, 0x69, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x42, 0x61, 0x6e, 0x6b, 0x43, 0x6f, 0x69, 0x6e, - 0x4d, 0x61, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x42, 0x61, 0x6e, 0x6b, 0x43, - 0x6f, 0x69, 0x6e, 0x4d, 0x61, 0x78, 0x12, 0x20, 0x0a, 0x0b, 0x41, 0x64, 0x64, 0x42, 0x61, 0x6e, - 0x6b, 0x43, 0x6f, 0x69, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x41, 0x64, 0x64, - 0x42, 0x61, 0x6e, 0x6b, 0x43, 0x6f, 0x69, 0x6e, 0x22, 0x23, 0x0a, 0x11, 0x43, 0x53, 0x45, 0x78, - 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x0e, 0x0a, - 0x02, 0x54, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x54, 0x70, 0x22, 0x45, 0x0a, - 0x0d, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x12, 0x24, - 0x0a, 0x0d, 0x4f, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x18, - 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x4f, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, - 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x54, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x02, 0x54, 0x70, 0x22, 0x40, 0x0a, 0x11, 0x53, 0x43, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, - 0x67, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x2b, 0x0a, 0x05, 0x44, 0x61, 0x74, - 0x61, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x6c, 0x61, 0x79, 0x65, - 0x72, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x52, - 0x05, 0x44, 0x61, 0x74, 0x61, 0x73, 0x22, 0x0d, 0x0a, 0x0b, 0x43, 0x53, 0x53, 0x4d, 0x53, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x32, 0x0a, 0x0b, 0x53, 0x43, 0x53, 0x4d, 0x53, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x12, 0x23, 0x0a, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4d, 0x53, 0x49, - 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x33, 0x0a, 0x07, 0x53, 0x4d, 0x53, - 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x02, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x53, 0x6d, 0x73, 0x4e, 0x61, 0x6d, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x53, 0x6d, 0x73, 0x4e, 0x61, 0x6d, 0x65, 0x2a, 0xef, - 0x0d, 0x0a, 0x0c, 0x4f, 0x70, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, - 0x0f, 0x0a, 0x0b, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x53, 0x75, 0x63, 0x65, 0x73, 0x73, 0x10, 0x00, - 0x12, 0x0e, 0x0a, 0x0a, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0x01, - 0x12, 0x15, 0x0a, 0x10, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x46, 0x61, - 0x69, 0x6c, 0x65, 0x64, 0x10, 0xe8, 0x07, 0x12, 0x18, 0x0a, 0x13, 0x4f, 0x50, 0x52, 0x43, 0x5f, - 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x5f, 0x4e, 0x61, 0x6d, 0x65, 0x53, 0x61, 0x6d, 0x65, 0x10, 0xef, - 0x07, 0x12, 0x1c, 0x0a, 0x17, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x5f, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x10, 0xf1, 0x07, 0x12, - 0x12, 0x0a, 0x0d, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x4e, 0x6f, 0x74, 0x4c, 0x6f, 0x67, 0x69, 0x6e, - 0x10, 0xf5, 0x07, 0x12, 0x19, 0x0a, 0x14, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x59, 0x6f, 0x75, 0x72, - 0x52, 0x65, 0x73, 0x56, 0x65, 0x72, 0x49, 0x73, 0x4c, 0x6f, 0x77, 0x10, 0x94, 0x08, 0x12, 0x19, - 0x0a, 0x14, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x59, 0x6f, 0x75, 0x72, 0x41, 0x70, 0x70, 0x56, 0x65, - 0x72, 0x49, 0x73, 0x4c, 0x6f, 0x77, 0x10, 0x95, 0x08, 0x12, 0x17, 0x0a, 0x12, 0x4f, 0x50, 0x52, - 0x43, 0x5f, 0x43, 0x6f, 0x69, 0x6e, 0x4e, 0x6f, 0x74, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, - 0xa0, 0x08, 0x12, 0x14, 0x0a, 0x0f, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x4e, 0x69, 0x63, 0x6b, 0x49, - 0x73, 0x4e, 0x75, 0x6c, 0x6c, 0x10, 0xa4, 0x08, 0x12, 0x15, 0x0a, 0x10, 0x4f, 0x50, 0x52, 0x43, - 0x5f, 0x4e, 0x69, 0x63, 0x6b, 0x49, 0x73, 0x45, 0x78, 0x69, 0x73, 0x74, 0x10, 0xa5, 0x08, 0x12, - 0x14, 0x0a, 0x0f, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x46, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x74, - 0x6c, 0x79, 0x10, 0xa6, 0x08, 0x12, 0x13, 0x0a, 0x0e, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x49, 0x63, - 0x6f, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0xa7, 0x08, 0x12, 0x12, 0x0a, 0x0d, 0x4f, 0x50, - 0x52, 0x43, 0x5f, 0x53, 0x65, 0x78, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0xa8, 0x08, 0x12, 0x12, - 0x0a, 0x0d, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x54, 0x65, 0x6c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, - 0xa9, 0x08, 0x12, 0x17, 0x0a, 0x12, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x55, 0x73, 0x65, 0x72, 0x4e, - 0x61, 0x6d, 0x65, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0xaa, 0x08, 0x12, 0x1f, 0x0a, 0x1a, 0x4f, - 0x50, 0x52, 0x43, 0x5f, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x43, 0x6f, 0x64, 0x65, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0xab, 0x08, 0x12, 0x14, 0x0a, 0x0f, - 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x54, 0x65, 0x6c, 0x49, 0x73, 0x45, 0x78, 0x69, 0x73, 0x74, 0x10, - 0xac, 0x08, 0x12, 0x1e, 0x0a, 0x19, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x53, 0x61, 0x66, 0x65, 0x42, - 0x6f, 0x78, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, - 0xae, 0x08, 0x12, 0x17, 0x0a, 0x12, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x54, 0x65, 0x6c, 0x49, 0x73, - 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x10, 0xaf, 0x08, 0x12, 0x15, 0x0a, 0x10, 0x4f, - 0x50, 0x52, 0x43, 0x5f, 0x49, 0x6e, 0x42, 0x6c, 0x61, 0x63, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x10, - 0xb0, 0x08, 0x12, 0x16, 0x0a, 0x11, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x4e, 0x69, 0x63, 0x6b, 0x49, - 0x73, 0x54, 0x6f, 0x6f, 0x4c, 0x65, 0x6e, 0x10, 0xb1, 0x08, 0x12, 0x17, 0x0a, 0x12, 0x4f, 0x50, - 0x52, 0x43, 0x5f, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x45, 0x71, 0x75, 0x61, 0x6c, - 0x10, 0xb2, 0x08, 0x12, 0x17, 0x0a, 0x12, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x4e, 0x69, 0x63, 0x6b, - 0x49, 0x73, 0x49, 0x6c, 0x6c, 0x65, 0x67, 0x61, 0x6c, 0x10, 0xbb, 0x08, 0x12, 0x16, 0x0a, 0x11, - 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x53, 0x4d, 0x53, 0x43, 0x6f, 0x64, 0x65, 0x4c, 0x69, 0x6d, 0x69, - 0x74, 0x10, 0xbc, 0x08, 0x12, 0x1c, 0x0a, 0x17, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x48, 0x61, 0x64, - 0x53, 0x70, 0x72, 0x65, 0x61, 0x64, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x72, 0x49, 0x64, 0x10, - 0xc2, 0x08, 0x12, 0x1b, 0x0a, 0x16, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x49, 0x6e, 0x76, 0x69, 0x74, - 0x65, 0x72, 0x49, 0x64, 0x4e, 0x6f, 0x74, 0x45, 0x78, 0x69, 0x73, 0x74, 0x10, 0xc3, 0x08, 0x12, - 0x1a, 0x0a, 0x15, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x53, 0x70, 0x72, 0x65, 0x61, 0x64, 0x42, 0x69, - 0x6e, 0x64, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x10, 0xc4, 0x08, 0x12, 0x17, 0x0a, 0x12, 0x4f, - 0x50, 0x52, 0x43, 0x5f, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x72, 0x4e, 0x6f, 0x42, 0x69, 0x6e, - 0x64, 0x10, 0xc5, 0x08, 0x12, 0x1e, 0x0a, 0x19, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x53, 0x70, 0x72, - 0x65, 0x61, 0x64, 0x42, 0x69, 0x6e, 0x64, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x4c, 0x6f, 0x6f, - 0x70, 0x10, 0xc6, 0x08, 0x12, 0x1f, 0x0a, 0x1a, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x49, 0x6d, 0x61, - 0x67, 0x65, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x46, 0x61, 0x69, 0x6c, - 0x65, 0x64, 0x10, 0xc7, 0x08, 0x12, 0x1a, 0x0a, 0x15, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x4e, 0x69, - 0x63, 0x6b, 0x49, 0x73, 0x43, 0x61, 0x6e, 0x74, 0x52, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x10, 0xd0, - 0x08, 0x12, 0x14, 0x0a, 0x0f, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x4e, 0x6f, 0x50, 0x72, 0x6f, 0x6d, - 0x6f, 0x74, 0x6f, 0x72, 0x10, 0xd4, 0x08, 0x12, 0x14, 0x0a, 0x0f, 0x4f, 0x50, 0x52, 0x43, 0x5f, - 0x4e, 0x6f, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x10, 0xd5, 0x08, 0x12, 0x16, 0x0a, - 0x11, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x43, 0x61, 0x6e, 0x74, 0x55, 0x73, 0x65, 0x72, 0x42, 0x69, - 0x6e, 0x64, 0x10, 0xd6, 0x08, 0x12, 0x19, 0x0a, 0x14, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x50, 0x72, - 0x6f, 0x6d, 0x6f, 0x74, 0x65, 0x72, 0x48, 0x61, 0x73, 0x42, 0x69, 0x6e, 0x64, 0x10, 0xd7, 0x08, - 0x12, 0x1c, 0x0a, 0x17, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, - 0x6d, 0x4e, 0x6f, 0x50, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x65, 0x72, 0x10, 0xd8, 0x08, 0x12, 0x28, - 0x0a, 0x23, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x41, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x49, 0x6c, - 0x6c, 0x65, 0x67, 0x61, 0x6c, 0x10, 0xd3, 0x0f, 0x12, 0x21, 0x0a, 0x1c, 0x4f, 0x50, 0x52, 0x43, - 0x5f, 0x42, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x69, 0x70, 0x61, 0x79, 0x5f, 0x41, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x10, 0xd5, 0x0f, 0x12, 0x21, 0x0a, 0x1c, 0x4f, - 0x50, 0x52, 0x43, 0x5f, 0x42, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x69, 0x70, 0x61, 0x79, 0x5f, 0x41, - 0x63, 0x63, 0x4e, 0x61, 0x6d, 0x65, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x10, 0xd6, 0x0f, 0x12, 0x21, - 0x0a, 0x1c, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x53, 0x61, 0x66, 0x65, 0x62, 0x6f, 0x78, 0x5f, 0x50, - 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x49, 0x6c, 0x6c, 0x65, 0x67, 0x61, 0x6c, 0x10, 0xd7, - 0x0f, 0x12, 0x1c, 0x0a, 0x17, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x42, 0x69, 0x6e, 0x64, 0x42, 0x61, - 0x6e, 0x6b, 0x5f, 0x4e, 0x61, 0x6d, 0x65, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x10, 0xd8, 0x0f, 0x12, - 0x1f, 0x0a, 0x1a, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x42, 0x69, 0x6e, 0x64, 0x42, 0x61, 0x6e, 0x6b, - 0x5f, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x10, 0xd9, 0x0f, - 0x12, 0x1f, 0x0a, 0x1a, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x42, 0x69, 0x6e, 0x64, 0x42, 0x61, 0x6e, - 0x6b, 0x5f, 0x41, 0x63, 0x63, 0x4e, 0x61, 0x6d, 0x65, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x10, 0xda, - 0x0f, 0x12, 0x1e, 0x0a, 0x19, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x42, 0x69, 0x6e, 0x64, 0x42, 0x61, - 0x6e, 0x6b, 0x5f, 0x4e, 0x61, 0x6d, 0x65, 0x49, 0x6c, 0x6c, 0x65, 0x67, 0x61, 0x6c, 0x10, 0xdb, - 0x0f, 0x12, 0x21, 0x0a, 0x1c, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x42, 0x69, 0x6e, 0x64, 0x42, 0x61, - 0x6e, 0x6b, 0x5f, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6c, 0x6c, 0x65, 0x67, 0x61, - 0x6c, 0x10, 0xdc, 0x0f, 0x12, 0x21, 0x0a, 0x1c, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x42, 0x69, 0x6e, - 0x64, 0x42, 0x61, 0x6e, 0x6b, 0x5f, 0x41, 0x63, 0x63, 0x4e, 0x61, 0x6d, 0x65, 0x49, 0x6c, 0x6c, - 0x65, 0x67, 0x61, 0x6c, 0x10, 0xdd, 0x0f, 0x12, 0x23, 0x0a, 0x1e, 0x4f, 0x50, 0x52, 0x43, 0x5f, - 0x42, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x69, 0x70, 0x61, 0x79, 0x5f, 0x41, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x49, 0x6c, 0x6c, 0x65, 0x67, 0x61, 0x6c, 0x10, 0xde, 0x0f, 0x12, 0x23, 0x0a, 0x1e, - 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x42, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x69, 0x70, 0x61, 0x79, 0x5f, - 0x41, 0x63, 0x63, 0x4e, 0x61, 0x6d, 0x65, 0x49, 0x6c, 0x6c, 0x65, 0x67, 0x61, 0x6c, 0x10, 0xdf, - 0x0f, 0x12, 0x22, 0x0a, 0x1d, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x42, 0x69, 0x6e, 0x64, 0x41, 0x6c, - 0x69, 0x70, 0x61, 0x79, 0x5f, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x45, 0x72, 0x72, - 0x6f, 0x72, 0x10, 0xe0, 0x0f, 0x12, 0x20, 0x0a, 0x1b, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x42, 0x69, - 0x6e, 0x64, 0x42, 0x61, 0x6e, 0x6b, 0x5f, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x45, - 0x72, 0x72, 0x6f, 0x72, 0x10, 0xe1, 0x0f, 0x12, 0x1f, 0x0a, 0x1a, 0x4f, 0x50, 0x52, 0x43, 0x5f, - 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x49, 0x50, 0x5f, 0x54, 0x6f, 0x6f, 0x4d, 0x61, - 0x6e, 0x79, 0x52, 0x65, 0x67, 0x10, 0xe2, 0x0f, 0x12, 0x1d, 0x0a, 0x18, 0x4f, 0x50, 0x52, 0x43, - 0x5f, 0x42, 0x69, 0x6e, 0x64, 0x42, 0x61, 0x6e, 0x6b, 0x5f, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x4c, - 0x69, 0x6d, 0x69, 0x74, 0x10, 0xe3, 0x0f, 0x12, 0x1f, 0x0a, 0x1a, 0x4f, 0x50, 0x52, 0x43, 0x5f, - 0x42, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x69, 0x70, 0x61, 0x79, 0x5f, 0x43, 0x6f, 0x75, 0x6e, 0x74, - 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x10, 0xe4, 0x0f, 0x12, 0x1c, 0x0a, 0x17, 0x4f, 0x50, 0x52, 0x43, - 0x5f, 0x42, 0x61, 0x6e, 0x6b, 0x41, 0x6e, 0x64, 0x41, 0x6c, 0x69, 0x5f, 0x4e, 0x6f, 0x74, 0x53, - 0x61, 0x6d, 0x65, 0x10, 0xe5, 0x0f, 0x12, 0x27, 0x0a, 0x22, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x42, - 0x69, 0x6e, 0x64, 0x42, 0x61, 0x6e, 0x6b, 0x41, 0x6c, 0x69, 0x70, 0x61, 0x79, 0x5f, 0x4e, 0x61, - 0x6d, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x10, 0xe6, 0x0f, 0x12, - 0x15, 0x0a, 0x10, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x4a, 0x79, 0x62, 0x5f, 0x52, 0x65, 0x63, 0x65, - 0x69, 0x76, 0x65, 0x10, 0xb4, 0x10, 0x12, 0x17, 0x0a, 0x12, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x4a, - 0x79, 0x62, 0x5f, 0x43, 0x6f, 0x64, 0x65, 0x45, 0x78, 0x69, 0x73, 0x74, 0x10, 0xb5, 0x10, 0x12, - 0x15, 0x0a, 0x10, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x4a, 0x79, 0x62, 0x5f, 0x54, 0x69, 0x6d, 0x65, - 0x45, 0x72, 0x72, 0x10, 0xb6, 0x10, 0x12, 0x15, 0x0a, 0x10, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x4a, - 0x79, 0x62, 0x5f, 0x43, 0x6f, 0x64, 0x65, 0x45, 0x72, 0x72, 0x10, 0xb7, 0x10, 0x12, 0x26, 0x0a, - 0x21, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x48, 0x75, 0x6e, 0x64, 0x72, 0x65, 0x64, 0x5f, 0x59, 0x6f, - 0x75, 0x48, 0x61, 0x64, 0x42, 0x65, 0x74, 0x43, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x4c, 0x65, 0x61, - 0x76, 0x65, 0x10, 0xd9, 0x36, 0x12, 0x29, 0x0a, 0x24, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x48, 0x75, - 0x6e, 0x64, 0x72, 0x65, 0x64, 0x5f, 0x59, 0x6f, 0x75, 0x48, 0x61, 0x64, 0x42, 0x61, 0x6e, 0x6b, - 0x65, 0x72, 0x43, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x10, 0xda, 0x36, - 0x2a, 0xf8, 0x1c, 0x0a, 0x0e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x65, - 0x74, 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x18, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x50, 0x4c, - 0x41, 0x59, 0x45, 0x52, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x5a, 0x45, 0x52, 0x4f, 0x10, - 0x00, 0x12, 0x19, 0x0a, 0x14, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x50, - 0x4c, 0x41, 0x59, 0x45, 0x52, 0x44, 0x41, 0x54, 0x41, 0x10, 0xb4, 0x10, 0x12, 0x19, 0x0a, 0x14, - 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, - 0x44, 0x41, 0x54, 0x41, 0x10, 0xb5, 0x10, 0x12, 0x18, 0x0a, 0x13, 0x50, 0x41, 0x43, 0x4b, 0x45, - 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x44, 0x41, 0x59, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x10, 0xb6, - 0x10, 0x12, 0x1e, 0x0a, 0x19, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x54, - 0x48, 0x49, 0x52, 0x44, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x44, 0x41, 0x54, 0x41, 0x10, 0xb7, - 0x10, 0x12, 0x1e, 0x0a, 0x19, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x54, - 0x48, 0x49, 0x52, 0x44, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x44, 0x41, 0x54, 0x41, 0x10, 0xb8, - 0x10, 0x12, 0x1f, 0x0a, 0x1a, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x50, - 0x4c, 0x41, 0x59, 0x45, 0x52, 0x44, 0x41, 0x54, 0x41, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x10, - 0xb9, 0x10, 0x12, 0x1b, 0x0a, 0x16, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, - 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x44, 0x41, 0x54, 0x41, 0x45, 0x58, 0x10, 0xba, 0x10, 0x12, - 0x14, 0x0a, 0x0f, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x50, 0x4d, 0x43, - 0x4d, 0x44, 0x10, 0xbb, 0x10, 0x12, 0x1b, 0x0a, 0x16, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, - 0x43, 0x53, 0x5f, 0x52, 0x4f, 0x42, 0x4f, 0x54, 0x43, 0x48, 0x47, 0x44, 0x41, 0x54, 0x41, 0x10, - 0xbc, 0x10, 0x12, 0x21, 0x0a, 0x1c, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, - 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x57, 0x45, 0x43, 0x48, 0x41, 0x54, 0x4e, 0x55, 0x4d, 0x42, - 0x45, 0x52, 0x10, 0xbd, 0x10, 0x12, 0x21, 0x0a, 0x1c, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, - 0x43, 0x53, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x57, 0x45, 0x43, 0x48, 0x41, 0x54, 0x4e, - 0x55, 0x4d, 0x42, 0x45, 0x52, 0x10, 0xbe, 0x10, 0x12, 0x17, 0x0a, 0x12, 0x50, 0x41, 0x43, 0x4b, - 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x41, 0x55, 0x54, 0x48, 0x45, 0x4e, 0x49, 0x44, 0x10, 0xbf, - 0x10, 0x12, 0x17, 0x0a, 0x12, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x41, - 0x55, 0x54, 0x48, 0x45, 0x4e, 0x49, 0x44, 0x10, 0xc0, 0x10, 0x12, 0x17, 0x0a, 0x12, 0x50, 0x41, - 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x4a, 0x4f, 0x49, 0x4e, 0x47, 0x41, 0x4d, 0x45, - 0x10, 0xc1, 0x10, 0x12, 0x17, 0x0a, 0x12, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, - 0x5f, 0x4a, 0x4f, 0x49, 0x4e, 0x47, 0x41, 0x4d, 0x45, 0x10, 0xc2, 0x10, 0x12, 0x19, 0x0a, 0x14, - 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x53, 0x50, 0x52, 0x45, 0x41, 0x44, - 0x42, 0x49, 0x4e, 0x44, 0x10, 0xc3, 0x10, 0x12, 0x19, 0x0a, 0x14, 0x50, 0x41, 0x43, 0x4b, 0x45, - 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x53, 0x50, 0x52, 0x45, 0x41, 0x44, 0x42, 0x49, 0x4e, 0x44, 0x10, - 0xc4, 0x10, 0x12, 0x1d, 0x0a, 0x18, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, - 0x47, 0x45, 0x4e, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x54, 0x4f, 0x4b, 0x45, 0x4e, 0x10, 0xc7, - 0x10, 0x12, 0x1d, 0x0a, 0x18, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x47, - 0x45, 0x4e, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x54, 0x4f, 0x4b, 0x45, 0x4e, 0x10, 0xc8, 0x10, - 0x12, 0x1b, 0x0a, 0x16, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x43, 0x55, - 0x53, 0x54, 0x4f, 0x4d, 0x4e, 0x45, 0x57, 0x4d, 0x53, 0x47, 0x10, 0xc9, 0x10, 0x12, 0x1e, 0x0a, - 0x19, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x43, 0x55, 0x53, 0x54, 0x4f, - 0x4d, 0x4e, 0x45, 0x57, 0x4d, 0x53, 0x47, 0x41, 0x43, 0x4b, 0x10, 0xca, 0x10, 0x12, 0x15, 0x0a, - 0x10, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x53, 0x52, 0x56, 0x4d, 0x53, - 0x47, 0x10, 0xcb, 0x10, 0x12, 0x1e, 0x0a, 0x19, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, - 0x53, 0x5f, 0x46, 0x49, 0x53, 0x48, 0x4a, 0x41, 0x43, 0x4b, 0x50, 0x4f, 0x54, 0x43, 0x4f, 0x49, - 0x4e, 0x10, 0xcc, 0x10, 0x12, 0x1e, 0x0a, 0x19, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, - 0x43, 0x5f, 0x46, 0x49, 0x53, 0x48, 0x4a, 0x41, 0x43, 0x4b, 0x50, 0x4f, 0x54, 0x43, 0x4f, 0x49, - 0x4e, 0x10, 0xcd, 0x10, 0x12, 0x1e, 0x0a, 0x19, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, - 0x53, 0x5f, 0x46, 0x49, 0x53, 0x48, 0x4a, 0x41, 0x43, 0x4b, 0x50, 0x4f, 0x54, 0x44, 0x41, 0x54, - 0x41, 0x10, 0xce, 0x10, 0x12, 0x1e, 0x0a, 0x19, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, - 0x43, 0x5f, 0x46, 0x49, 0x53, 0x48, 0x4a, 0x41, 0x43, 0x4b, 0x50, 0x4f, 0x54, 0x44, 0x41, 0x54, - 0x41, 0x10, 0xcf, 0x10, 0x12, 0x1b, 0x0a, 0x16, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, - 0x43, 0x5f, 0x4e, 0x49, 0x43, 0x45, 0x49, 0x44, 0x52, 0x45, 0x42, 0x49, 0x4e, 0x44, 0x10, 0xd0, - 0x10, 0x12, 0x1b, 0x0a, 0x16, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x42, - 0x49, 0x4e, 0x44, 0x50, 0x52, 0x4f, 0x4d, 0x4f, 0x54, 0x45, 0x52, 0x10, 0xd1, 0x10, 0x12, 0x1b, - 0x0a, 0x16, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x42, 0x49, 0x4e, 0x44, - 0x50, 0x52, 0x4f, 0x4d, 0x4f, 0x54, 0x45, 0x52, 0x10, 0xd2, 0x10, 0x12, 0x20, 0x0a, 0x1b, 0x50, - 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x42, 0x49, 0x4e, 0x44, 0x50, 0x52, 0x4f, - 0x4d, 0x4f, 0x54, 0x45, 0x52, 0x53, 0x54, 0x41, 0x54, 0x45, 0x10, 0xd3, 0x10, 0x12, 0x20, 0x0a, - 0x1b, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x47, 0x65, 0x74, 0x53, 0x70, - 0x72, 0x65, 0x61, 0x64, 0x4c, 0x57, 0x49, 0x73, 0x4f, 0x70, 0x65, 0x6e, 0x10, 0xd4, 0x10, 0x12, - 0x20, 0x0a, 0x1b, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x47, 0x65, 0x74, - 0x53, 0x70, 0x72, 0x65, 0x61, 0x64, 0x4c, 0x57, 0x49, 0x73, 0x4f, 0x70, 0x65, 0x6e, 0x10, 0xd5, - 0x10, 0x12, 0x1b, 0x0a, 0x16, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x50, - 0x61, 0x79, 0x41, 0x63, 0x74, 0x5f, 0x53, 0x74, 0x61, 0x74, 0x65, 0x10, 0xd6, 0x10, 0x12, 0x19, - 0x0a, 0x14, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x43, 0x48, 0x41, 0x4e, - 0x47, 0x45, 0x4e, 0x49, 0x43, 0x4b, 0x10, 0xdc, 0x10, 0x12, 0x19, 0x0a, 0x14, 0x50, 0x41, 0x43, - 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x4e, 0x49, 0x43, - 0x4b, 0x10, 0xdd, 0x10, 0x12, 0x19, 0x0a, 0x14, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, - 0x53, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x49, 0x43, 0x4f, 0x4e, 0x10, 0xde, 0x10, 0x12, - 0x19, 0x0a, 0x14, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x43, 0x48, 0x41, - 0x4e, 0x47, 0x45, 0x49, 0x43, 0x4f, 0x4e, 0x10, 0xdf, 0x10, 0x12, 0x18, 0x0a, 0x13, 0x50, 0x41, - 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x53, 0x45, - 0x58, 0x10, 0xe0, 0x10, 0x12, 0x18, 0x0a, 0x13, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, - 0x43, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x53, 0x45, 0x58, 0x10, 0xe1, 0x10, 0x12, 0x1d, - 0x0a, 0x18, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x55, 0x50, 0x47, 0x52, - 0x41, 0x44, 0x45, 0x41, 0x43, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x10, 0xe2, 0x10, 0x12, 0x1d, 0x0a, - 0x18, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x55, 0x50, 0x47, 0x52, 0x41, - 0x44, 0x45, 0x41, 0x43, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x10, 0xe3, 0x10, 0x12, 0x19, 0x0a, 0x14, - 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x42, 0x49, 0x4e, 0x44, 0x41, 0x4c, - 0x49, 0x50, 0x41, 0x59, 0x10, 0xe4, 0x10, 0x12, 0x19, 0x0a, 0x14, 0x50, 0x41, 0x43, 0x4b, 0x45, - 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x42, 0x49, 0x4e, 0x44, 0x41, 0x4c, 0x49, 0x50, 0x41, 0x59, 0x10, - 0xe5, 0x10, 0x12, 0x17, 0x0a, 0x12, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, - 0x42, 0x49, 0x4e, 0x44, 0x42, 0x41, 0x4e, 0x4b, 0x10, 0xe6, 0x10, 0x12, 0x17, 0x0a, 0x12, 0x50, - 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x42, 0x49, 0x4e, 0x44, 0x42, 0x41, 0x4e, - 0x4b, 0x10, 0xe7, 0x10, 0x12, 0x1b, 0x0a, 0x16, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, - 0x53, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x4f, 0x50, 0x43, 0x4f, 0x49, 0x4e, 0x10, 0xe8, - 0x10, 0x12, 0x1b, 0x0a, 0x16, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x50, - 0x4c, 0x41, 0x59, 0x45, 0x52, 0x4f, 0x50, 0x43, 0x4f, 0x49, 0x4e, 0x10, 0xe9, 0x10, 0x12, 0x1d, - 0x0a, 0x18, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x43, 0x48, 0x41, 0x4e, - 0x47, 0x45, 0x50, 0x41, 0x53, 0x53, 0x57, 0x4f, 0x52, 0x44, 0x10, 0xea, 0x10, 0x12, 0x1d, 0x0a, - 0x18, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x47, - 0x45, 0x50, 0x41, 0x53, 0x53, 0x57, 0x4f, 0x52, 0x44, 0x10, 0xeb, 0x10, 0x12, 0x1f, 0x0a, 0x1a, - 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x56, 0x45, 0x52, 0x49, 0x46, 0x49, - 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x43, 0x4f, 0x44, 0x45, 0x10, 0xec, 0x10, 0x12, 0x1f, 0x0a, - 0x1a, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x56, 0x45, 0x52, 0x49, 0x46, - 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x43, 0x4f, 0x44, 0x45, 0x10, 0xed, 0x10, 0x12, 0x1d, - 0x0a, 0x18, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x47, 0x45, 0x54, 0x47, - 0x41, 0x4d, 0x45, 0x43, 0x4f, 0x49, 0x4e, 0x4c, 0x4f, 0x47, 0x10, 0xee, 0x10, 0x12, 0x1d, 0x0a, - 0x18, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x47, 0x45, 0x54, 0x47, 0x41, - 0x4d, 0x45, 0x43, 0x4f, 0x49, 0x4e, 0x4c, 0x4f, 0x47, 0x10, 0xef, 0x10, 0x12, 0x20, 0x0a, 0x1b, - 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x47, 0x45, 0x54, 0x53, 0x41, 0x46, - 0x45, 0x42, 0x4f, 0x58, 0x43, 0x4f, 0x49, 0x4e, 0x4c, 0x4f, 0x47, 0x10, 0xf0, 0x10, 0x12, 0x20, - 0x0a, 0x1b, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x47, 0x45, 0x54, 0x53, - 0x41, 0x46, 0x45, 0x42, 0x4f, 0x58, 0x43, 0x4f, 0x49, 0x4e, 0x4c, 0x4f, 0x47, 0x10, 0xf1, 0x10, - 0x12, 0x17, 0x0a, 0x12, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x52, 0x45, - 0x47, 0x49, 0x53, 0x54, 0x45, 0x52, 0x10, 0xf2, 0x10, 0x12, 0x17, 0x0a, 0x12, 0x50, 0x41, 0x43, - 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x52, 0x45, 0x47, 0x49, 0x53, 0x54, 0x45, 0x52, 0x10, - 0xf3, 0x10, 0x12, 0x1a, 0x0a, 0x15, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, - 0x48, 0x45, 0x41, 0x44, 0x4f, 0x55, 0x54, 0x4c, 0x49, 0x4e, 0x45, 0x10, 0xf4, 0x10, 0x12, 0x1a, - 0x0a, 0x15, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x48, 0x45, 0x41, 0x44, - 0x4f, 0x55, 0x54, 0x4c, 0x49, 0x4e, 0x45, 0x10, 0xf5, 0x10, 0x12, 0x19, 0x0a, 0x14, 0x50, 0x41, - 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x49, 0x4e, 0x56, 0x49, 0x54, 0x45, 0x43, 0x4f, - 0x44, 0x45, 0x10, 0xf6, 0x10, 0x12, 0x19, 0x0a, 0x14, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, - 0x53, 0x43, 0x5f, 0x49, 0x4e, 0x56, 0x49, 0x54, 0x45, 0x43, 0x4f, 0x44, 0x45, 0x10, 0xf7, 0x10, - 0x12, 0x20, 0x0a, 0x1b, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x57, 0x45, - 0x42, 0x41, 0x50, 0x49, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x50, 0x41, 0x53, 0x53, 0x10, - 0xf8, 0x10, 0x12, 0x20, 0x0a, 0x1b, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, - 0x57, 0x45, 0x42, 0x41, 0x50, 0x49, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x50, 0x41, 0x53, - 0x53, 0x10, 0xf9, 0x10, 0x12, 0x20, 0x0a, 0x1b, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, - 0x53, 0x5f, 0x57, 0x45, 0x42, 0x41, 0x50, 0x49, 0x5f, 0x53, 0x59, 0x53, 0x54, 0x45, 0x4d, 0x50, - 0x41, 0x53, 0x53, 0x10, 0xfa, 0x10, 0x12, 0x20, 0x0a, 0x1b, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, - 0x5f, 0x53, 0x43, 0x5f, 0x57, 0x45, 0x42, 0x41, 0x50, 0x49, 0x5f, 0x53, 0x59, 0x53, 0x54, 0x45, - 0x4d, 0x50, 0x41, 0x53, 0x53, 0x10, 0xfb, 0x10, 0x12, 0x21, 0x0a, 0x1c, 0x50, 0x41, 0x43, 0x4b, - 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x47, 0x45, 0x54, 0x49, 0x4d, 0x41, 0x47, 0x45, 0x56, 0x45, - 0x52, 0x49, 0x46, 0x59, 0x43, 0x4f, 0x44, 0x45, 0x10, 0xfc, 0x10, 0x12, 0x21, 0x0a, 0x1c, 0x50, - 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x47, 0x45, 0x54, 0x49, 0x4d, 0x41, 0x47, - 0x45, 0x56, 0x45, 0x52, 0x49, 0x46, 0x59, 0x43, 0x4f, 0x44, 0x45, 0x10, 0xfd, 0x10, 0x12, 0x22, - 0x0a, 0x1d, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x47, 0x45, 0x54, 0x53, - 0x4c, 0x49, 0x44, 0x45, 0x52, 0x56, 0x45, 0x52, 0x49, 0x46, 0x59, 0x43, 0x4f, 0x44, 0x45, 0x10, - 0xfe, 0x10, 0x12, 0x22, 0x0a, 0x1d, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, - 0x47, 0x45, 0x54, 0x53, 0x4c, 0x49, 0x44, 0x45, 0x52, 0x56, 0x45, 0x52, 0x49, 0x46, 0x59, 0x43, - 0x4f, 0x44, 0x45, 0x10, 0xff, 0x10, 0x12, 0x1f, 0x0a, 0x1a, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, - 0x5f, 0x43, 0x53, 0x5f, 0x49, 0x4f, 0x53, 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4c, 0x4c, 0x53, 0x54, - 0x41, 0x42, 0x4c, 0x45, 0x10, 0x80, 0x11, 0x12, 0x1f, 0x0a, 0x1a, 0x50, 0x41, 0x43, 0x4b, 0x45, - 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x49, 0x4f, 0x53, 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4c, 0x4c, 0x53, - 0x54, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x81, 0x11, 0x12, 0x1a, 0x0a, 0x15, 0x50, 0x41, 0x43, 0x4b, - 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x50, 0x4c, 0x41, 0x59, 0x45, - 0x52, 0x10, 0x82, 0x11, 0x12, 0x1a, 0x0a, 0x15, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, - 0x43, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x10, 0x83, 0x11, - 0x12, 0x19, 0x0a, 0x14, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x47, 0x45, - 0x54, 0x44, 0x41, 0x54, 0x41, 0x4c, 0x4f, 0x47, 0x10, 0x84, 0x11, 0x12, 0x19, 0x0a, 0x14, 0x50, - 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x47, 0x45, 0x54, 0x44, 0x41, 0x54, 0x41, - 0x4c, 0x4f, 0x47, 0x10, 0x85, 0x11, 0x12, 0x23, 0x0a, 0x1e, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, - 0x5f, 0x53, 0x43, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x52, 0x45, 0x43, 0x48, 0x41, 0x52, - 0x47, 0x45, 0x41, 0x4e, 0x53, 0x57, 0x45, 0x52, 0x10, 0x86, 0x11, 0x12, 0x19, 0x0a, 0x14, 0x50, - 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x46, - 0x4c, 0x41, 0x47, 0x10, 0x87, 0x11, 0x12, 0x1f, 0x0a, 0x1a, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, - 0x5f, 0x53, 0x43, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x43, 0x4f, 0x49, 0x4e, 0x43, 0x48, - 0x41, 0x4e, 0x47, 0x45, 0x10, 0x88, 0x11, 0x12, 0x1e, 0x0a, 0x19, 0x50, 0x41, 0x43, 0x4b, 0x45, - 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x54, 0x52, 0x55, 0x53, 0x54, 0x45, 0x45, 0x53, 0x48, 0x49, 0x50, - 0x54, 0x49, 0x50, 0x53, 0x10, 0x89, 0x11, 0x12, 0x17, 0x0a, 0x12, 0x50, 0x41, 0x43, 0x4b, 0x45, - 0x54, 0x5f, 0x41, 0x4c, 0x4c, 0x5f, 0x53, 0x45, 0x54, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x8a, 0x11, - 0x12, 0x1d, 0x0a, 0x18, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x47, 0x41, 0x4d, - 0x45, 0x45, 0x58, 0x44, 0x52, 0x4f, 0x50, 0x49, 0x54, 0x45, 0x4d, 0x53, 0x10, 0x8b, 0x11, 0x12, - 0x15, 0x0a, 0x10, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x56, 0x49, 0x50, - 0x42, 0x55, 0x59, 0x10, 0x8c, 0x11, 0x12, 0x15, 0x0a, 0x10, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, - 0x5f, 0x53, 0x43, 0x5f, 0x56, 0x49, 0x50, 0x42, 0x55, 0x59, 0x10, 0x8d, 0x11, 0x12, 0x1a, 0x0a, - 0x15, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x44, 0x52, 0x41, 0x57, 0x56, - 0x49, 0x50, 0x47, 0x49, 0x46, 0x54, 0x10, 0x8e, 0x11, 0x12, 0x1a, 0x0a, 0x15, 0x50, 0x41, 0x43, - 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x44, 0x52, 0x41, 0x57, 0x56, 0x49, 0x50, 0x47, 0x49, - 0x46, 0x54, 0x10, 0x8f, 0x11, 0x12, 0x16, 0x0a, 0x11, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, - 0x43, 0x53, 0x5f, 0x56, 0x49, 0x50, 0x49, 0x4e, 0x46, 0x4f, 0x10, 0x90, 0x11, 0x12, 0x16, 0x0a, - 0x11, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x56, 0x49, 0x50, 0x49, 0x4e, - 0x46, 0x4f, 0x10, 0x91, 0x11, 0x12, 0x1b, 0x0a, 0x16, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, - 0x53, 0x43, 0x5f, 0x53, 0x57, 0x45, 0x4c, 0x46, 0x41, 0x52, 0x45, 0x49, 0x4e, 0x46, 0x4f, 0x10, - 0x92, 0x11, 0x12, 0x1f, 0x0a, 0x1a, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, - 0x56, 0x49, 0x50, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, - 0x10, 0x93, 0x11, 0x12, 0x1f, 0x0a, 0x1a, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, - 0x5f, 0x56, 0x49, 0x50, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x49, 0x6e, 0x66, - 0x6f, 0x10, 0x94, 0x11, 0x12, 0x1b, 0x0a, 0x16, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, - 0x43, 0x5f, 0x50, 0x41, 0x59, 0x47, 0x4f, 0x4f, 0x44, 0x53, 0x49, 0x4e, 0x46, 0x4f, 0x10, 0x95, - 0x11, 0x12, 0x17, 0x0a, 0x12, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x52, - 0x45, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x10, 0x96, 0x11, 0x12, 0x19, 0x0a, 0x14, 0x50, 0x41, - 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x43, 0x4c, 0x49, 0x45, 0x4e, 0x54, 0x5f, 0x4c, - 0x4f, 0x47, 0x10, 0x97, 0x11, 0x12, 0x19, 0x0a, 0x14, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, - 0x53, 0x43, 0x5f, 0x43, 0x4c, 0x49, 0x45, 0x4e, 0x54, 0x5f, 0x4c, 0x4f, 0x47, 0x10, 0x98, 0x11, - 0x12, 0x18, 0x0a, 0x13, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x48, 0x54, - 0x54, 0x50, 0x5f, 0x50, 0x41, 0x53, 0x53, 0x10, 0x99, 0x11, 0x12, 0x18, 0x0a, 0x13, 0x50, 0x41, - 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x48, 0x54, 0x54, 0x50, 0x5f, 0x50, 0x41, 0x53, - 0x53, 0x10, 0x9a, 0x11, 0x12, 0x1e, 0x0a, 0x19, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, - 0x53, 0x5f, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x43, 0x6f, 0x64, - 0x65, 0x10, 0x9b, 0x11, 0x12, 0x1e, 0x0a, 0x19, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, - 0x43, 0x5f, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x43, 0x6f, 0x64, - 0x65, 0x10, 0x9c, 0x11, 0x12, 0x16, 0x0a, 0x11, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, - 0x53, 0x5f, 0x48, 0x65, 0x61, 0x64, 0x55, 0x72, 0x6c, 0x10, 0xf1, 0x15, 0x12, 0x16, 0x0a, 0x11, - 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x48, 0x65, 0x61, 0x64, 0x55, 0x72, - 0x6c, 0x10, 0xf2, 0x15, 0x12, 0x1c, 0x0a, 0x17, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, - 0x43, 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x55, 0x6e, 0x50, 0x6f, 0x77, 0x65, 0x72, 0x10, - 0xf3, 0x15, 0x12, 0x20, 0x0a, 0x1b, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, - 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x55, 0x6e, 0x50, 0x6f, 0x77, 0x65, 0x72, 0x4c, 0x69, 0x73, - 0x74, 0x10, 0xf4, 0x15, 0x12, 0x1c, 0x0a, 0x17, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, - 0x43, 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x55, 0x70, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x10, - 0xf5, 0x15, 0x12, 0x1b, 0x0a, 0x16, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x50, - 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x4d, 0x53, 0x43, 0x6f, 0x64, 0x65, 0x10, 0xf6, 0x15, 0x12, - 0x1b, 0x0a, 0x16, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x50, 0x6c, 0x61, 0x79, - 0x65, 0x72, 0x53, 0x4d, 0x53, 0x43, 0x6f, 0x64, 0x65, 0x10, 0xf7, 0x15, 0x12, 0x15, 0x0a, 0x10, - 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x42, 0x69, 0x6e, 0x64, 0x54, 0x65, 0x6c, - 0x10, 0xf8, 0x15, 0x12, 0x15, 0x0a, 0x10, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, - 0x42, 0x69, 0x6e, 0x64, 0x54, 0x65, 0x6c, 0x10, 0xf9, 0x15, 0x12, 0x19, 0x0a, 0x14, 0x50, 0x41, - 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x42, 0x69, 0x6e, 0x64, 0x54, 0x65, 0x6c, 0x49, 0x6e, - 0x66, 0x6f, 0x10, 0xfa, 0x15, 0x12, 0x19, 0x0a, 0x14, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, - 0x53, 0x43, 0x42, 0x69, 0x6e, 0x64, 0x54, 0x65, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x10, 0xfb, 0x15, - 0x12, 0x16, 0x0a, 0x11, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x42, 0x69, 0x6c, - 0x6c, 0x4c, 0x69, 0x73, 0x74, 0x10, 0xfc, 0x15, 0x12, 0x16, 0x0a, 0x11, 0x50, 0x41, 0x43, 0x4b, - 0x45, 0x54, 0x5f, 0x53, 0x43, 0x42, 0x69, 0x6c, 0x6c, 0x4c, 0x69, 0x73, 0x74, 0x10, 0xfd, 0x15, - 0x12, 0x1c, 0x0a, 0x17, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x53, 0x61, 0x76, - 0x65, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x10, 0xfe, 0x15, 0x12, 0x1c, - 0x0a, 0x17, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x53, 0x61, 0x76, 0x65, 0x50, - 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x10, 0xff, 0x15, 0x12, 0x1f, 0x0a, 0x1a, - 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x4c, - 0x6f, 0x74, 0x74, 0x65, 0x72, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x10, 0x80, 0x16, 0x12, 0x1f, 0x0a, - 0x1a, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x50, 0x68, 0x6f, 0x6e, 0x65, - 0x4c, 0x6f, 0x74, 0x74, 0x65, 0x72, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x10, 0x81, 0x16, 0x12, 0x1b, - 0x0a, 0x16, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x50, 0x68, 0x6f, 0x6e, - 0x65, 0x4c, 0x6f, 0x74, 0x74, 0x65, 0x72, 0x79, 0x10, 0x82, 0x16, 0x12, 0x1b, 0x0a, 0x16, 0x50, - 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x4c, 0x6f, - 0x74, 0x74, 0x65, 0x72, 0x79, 0x10, 0x83, 0x16, 0x12, 0x20, 0x0a, 0x1b, 0x50, 0x41, 0x43, 0x4b, - 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x4c, 0x6f, 0x74, 0x74, 0x65, - 0x72, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x10, 0x84, 0x16, 0x12, 0x11, 0x0a, 0x0c, 0x50, 0x41, - 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x41, 0x44, 0x56, 0x10, 0x85, 0x16, 0x12, 0x11, 0x0a, - 0x0c, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x41, 0x44, 0x56, 0x10, 0x86, 0x16, - 0x12, 0x1e, 0x0a, 0x19, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x47, 0x65, 0x74, - 0x57, 0x65, 0x65, 0x6b, 0x43, 0x61, 0x72, 0x64, 0x41, 0x77, 0x61, 0x72, 0x79, 0x10, 0x87, 0x16, - 0x12, 0x19, 0x0a, 0x14, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x50, 0x69, 0x67, - 0x42, 0x61, 0x6e, 0x6b, 0x43, 0x6f, 0x69, 0x6e, 0x10, 0x88, 0x16, 0x12, 0x1d, 0x0a, 0x18, 0x50, - 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, - 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x10, 0x89, 0x16, 0x12, 0x1d, 0x0a, 0x18, 0x50, 0x41, - 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x43, - 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x10, 0x8a, 0x16, 0x12, 0x17, 0x0a, 0x12, 0x50, 0x41, 0x43, - 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x53, 0x4d, 0x53, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x10, - 0x8b, 0x16, 0x12, 0x17, 0x0a, 0x12, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x53, - 0x4d, 0x53, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x10, 0x8c, 0x16, 0x42, 0x26, 0x5a, 0x24, 0x6d, - 0x6f, 0x6e, 0x67, 0x6f, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, - 0x61, 0x6d, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2f, 0x70, 0x6c, 0x61, - 0x79, 0x65, 0x72, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x65, 0x22, 0x14, 0x0a, 0x12, 0x43, 0x53, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x4c, 0x6f, 0x74, 0x74, + 0x65, 0x72, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x73, 0x0a, 0x12, 0x53, 0x43, 0x50, 0x68, 0x6f, + 0x6e, 0x65, 0x4c, 0x6f, 0x74, 0x74, 0x65, 0x72, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x14, 0x0a, + 0x05, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x43, 0x6f, + 0x75, 0x6e, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x53, 0x63, 0x6f, 0x72, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x53, 0x63, + 0x6f, 0x72, 0x65, 0x12, 0x27, 0x0a, 0x04, 0x49, 0x74, 0x65, 0x6d, 0x18, 0x03, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x4c, 0x6f, 0x74, 0x74, 0x65, + 0x72, 0x79, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x04, 0x49, 0x74, 0x65, 0x6d, 0x22, 0x32, 0x0a, 0x0e, + 0x43, 0x53, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x4c, 0x6f, 0x74, 0x74, 0x65, 0x72, 0x79, 0x12, 0x20, + 0x0a, 0x0b, 0x4c, 0x6f, 0x74, 0x74, 0x65, 0x72, 0x79, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x0b, 0x4c, 0x6f, 0x74, 0x74, 0x65, 0x72, 0x79, 0x54, 0x79, 0x70, 0x65, + 0x22, 0x6f, 0x0a, 0x0e, 0x53, 0x43, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x4c, 0x6f, 0x74, 0x74, 0x65, + 0x72, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x05, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x50, 0x68, 0x6f, 0x6e, + 0x65, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x50, 0x68, + 0x6f, 0x6e, 0x65, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x27, 0x0a, 0x04, 0x49, 0x74, 0x65, 0x6d, + 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, + 0x4c, 0x6f, 0x74, 0x74, 0x65, 0x72, 0x79, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x04, 0x49, 0x74, 0x65, + 0x6d, 0x22, 0x4f, 0x0a, 0x0b, 0x4c, 0x6f, 0x74, 0x74, 0x65, 0x72, 0x79, 0x49, 0x74, 0x65, 0x6d, + 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, + 0x12, 0x16, 0x0a, 0x06, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x06, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x49, 0x74, 0x65, 0x6d, + 0x4e, 0x75, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x49, 0x74, 0x65, 0x6d, 0x4e, + 0x75, 0x6d, 0x22, 0x2b, 0x0a, 0x13, 0x53, 0x43, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x4c, 0x6f, 0x74, + 0x74, 0x65, 0x72, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x43, 0x6f, 0x75, + 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, + 0x1d, 0x0a, 0x05, 0x43, 0x53, 0x41, 0x44, 0x56, 0x12, 0x14, 0x0a, 0x05, 0x50, 0x61, 0x72, 0x61, + 0x6d, 0x18, 0x01, 0x20, 0x03, 0x28, 0x05, 0x52, 0x05, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x22, 0x1d, + 0x0a, 0x05, 0x53, 0x43, 0x41, 0x44, 0x56, 0x12, 0x14, 0x0a, 0x05, 0x50, 0x61, 0x72, 0x61, 0x6d, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x05, 0x52, 0x05, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x22, 0x9f, 0x01, + 0x0a, 0x12, 0x53, 0x43, 0x47, 0x65, 0x74, 0x57, 0x65, 0x65, 0x6b, 0x43, 0x61, 0x72, 0x64, 0x41, + 0x77, 0x61, 0x72, 0x79, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x02, 0x69, 0x64, 0x12, 0x25, 0x0a, 0x05, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x02, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x50, 0x61, 0x79, + 0x49, 0x74, 0x65, 0x6d, 0x52, 0x05, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x77, + 0x65, 0x65, 0x6b, 0x43, 0x61, 0x72, 0x64, 0x41, 0x77, 0x61, 0x72, 0x64, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x0d, 0x77, 0x65, 0x65, 0x6b, 0x43, 0x61, 0x72, 0x64, 0x41, 0x77, 0x61, 0x72, + 0x64, 0x12, 0x2c, 0x0a, 0x08, 0x57, 0x65, 0x65, 0x6b, 0x43, 0x61, 0x72, 0x64, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x57, 0x65, 0x65, + 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x57, 0x65, 0x65, 0x6b, 0x43, 0x61, 0x72, 0x64, 0x22, + 0x6f, 0x0a, 0x0d, 0x53, 0x43, 0x50, 0x69, 0x67, 0x42, 0x61, 0x6e, 0x6b, 0x43, 0x6f, 0x69, 0x6e, + 0x12, 0x1a, 0x0a, 0x08, 0x42, 0x61, 0x6e, 0x6b, 0x43, 0x6f, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x03, 0x52, 0x08, 0x42, 0x61, 0x6e, 0x6b, 0x43, 0x6f, 0x69, 0x6e, 0x12, 0x20, 0x0a, 0x0b, + 0x42, 0x61, 0x6e, 0x6b, 0x43, 0x6f, 0x69, 0x6e, 0x4d, 0x61, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x03, 0x52, 0x0b, 0x42, 0x61, 0x6e, 0x6b, 0x43, 0x6f, 0x69, 0x6e, 0x4d, 0x61, 0x78, 0x12, 0x20, + 0x0a, 0x0b, 0x41, 0x64, 0x64, 0x42, 0x61, 0x6e, 0x6b, 0x43, 0x6f, 0x69, 0x6e, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x03, 0x52, 0x0b, 0x41, 0x64, 0x64, 0x42, 0x61, 0x6e, 0x6b, 0x43, 0x6f, 0x69, 0x6e, + 0x22, 0x23, 0x0a, 0x11, 0x43, 0x53, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x43, 0x68, + 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x0e, 0x0a, 0x02, 0x54, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x02, 0x54, 0x70, 0x22, 0x45, 0x0a, 0x0d, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, + 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x12, 0x24, 0x0a, 0x0d, 0x4f, 0x6e, 0x43, 0x68, 0x61, 0x6e, + 0x6e, 0x65, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x4f, + 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x0e, 0x0a, 0x02, + 0x54, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x54, 0x70, 0x22, 0x40, 0x0a, 0x11, + 0x53, 0x43, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x12, 0x2b, 0x0a, 0x05, 0x44, 0x61, 0x74, 0x61, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x15, 0x2e, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x52, 0x05, 0x44, 0x61, 0x74, 0x61, 0x73, 0x22, 0x0d, + 0x0a, 0x0b, 0x43, 0x53, 0x53, 0x4d, 0x53, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x32, 0x0a, + 0x0b, 0x53, 0x43, 0x53, 0x4d, 0x53, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x23, 0x0a, 0x04, + 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x6c, 0x61, + 0x79, 0x65, 0x72, 0x2e, 0x53, 0x4d, 0x53, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x49, 0x6e, 0x66, + 0x6f, 0x22, 0x33, 0x0a, 0x07, 0x53, 0x4d, 0x53, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, + 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, + 0x53, 0x6d, 0x73, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x53, + 0x6d, 0x73, 0x4e, 0x61, 0x6d, 0x65, 0x2a, 0xef, 0x0d, 0x0a, 0x0c, 0x4f, 0x70, 0x52, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x0f, 0x0a, 0x0b, 0x4f, 0x50, 0x52, 0x43, 0x5f, + 0x53, 0x75, 0x63, 0x65, 0x73, 0x73, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x4f, 0x50, 0x52, 0x43, + 0x5f, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0x01, 0x12, 0x15, 0x0a, 0x10, 0x4f, 0x50, 0x52, 0x43, + 0x5f, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x10, 0xe8, 0x07, 0x12, + 0x18, 0x0a, 0x13, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x5f, 0x4e, 0x61, + 0x6d, 0x65, 0x53, 0x61, 0x6d, 0x65, 0x10, 0xef, 0x07, 0x12, 0x1c, 0x0a, 0x17, 0x4f, 0x50, 0x52, + 0x43, 0x5f, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x5f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x61, + 0x69, 0x6c, 0x65, 0x64, 0x10, 0xf1, 0x07, 0x12, 0x12, 0x0a, 0x0d, 0x4f, 0x50, 0x52, 0x43, 0x5f, + 0x4e, 0x6f, 0x74, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x10, 0xf5, 0x07, 0x12, 0x19, 0x0a, 0x14, 0x4f, + 0x50, 0x52, 0x43, 0x5f, 0x59, 0x6f, 0x75, 0x72, 0x52, 0x65, 0x73, 0x56, 0x65, 0x72, 0x49, 0x73, + 0x4c, 0x6f, 0x77, 0x10, 0x94, 0x08, 0x12, 0x19, 0x0a, 0x14, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x59, + 0x6f, 0x75, 0x72, 0x41, 0x70, 0x70, 0x56, 0x65, 0x72, 0x49, 0x73, 0x4c, 0x6f, 0x77, 0x10, 0x95, + 0x08, 0x12, 0x17, 0x0a, 0x12, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x43, 0x6f, 0x69, 0x6e, 0x4e, 0x6f, + 0x74, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0xa0, 0x08, 0x12, 0x14, 0x0a, 0x0f, 0x4f, 0x50, + 0x52, 0x43, 0x5f, 0x4e, 0x69, 0x63, 0x6b, 0x49, 0x73, 0x4e, 0x75, 0x6c, 0x6c, 0x10, 0xa4, 0x08, + 0x12, 0x15, 0x0a, 0x10, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x4e, 0x69, 0x63, 0x6b, 0x49, 0x73, 0x45, + 0x78, 0x69, 0x73, 0x74, 0x10, 0xa5, 0x08, 0x12, 0x14, 0x0a, 0x0f, 0x4f, 0x50, 0x52, 0x43, 0x5f, + 0x46, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x74, 0x6c, 0x79, 0x10, 0xa6, 0x08, 0x12, 0x13, 0x0a, + 0x0e, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x49, 0x63, 0x6f, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, + 0xa7, 0x08, 0x12, 0x12, 0x0a, 0x0d, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x53, 0x65, 0x78, 0x45, 0x72, + 0x72, 0x6f, 0x72, 0x10, 0xa8, 0x08, 0x12, 0x12, 0x0a, 0x0d, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x54, + 0x65, 0x6c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0xa9, 0x08, 0x12, 0x17, 0x0a, 0x12, 0x4f, 0x50, + 0x52, 0x43, 0x5f, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x45, 0x72, 0x72, 0x6f, 0x72, + 0x10, 0xaa, 0x08, 0x12, 0x1f, 0x0a, 0x1a, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x56, 0x65, 0x72, 0x69, + 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x64, 0x65, 0x45, 0x72, 0x72, 0x6f, + 0x72, 0x10, 0xab, 0x08, 0x12, 0x14, 0x0a, 0x0f, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x54, 0x65, 0x6c, + 0x49, 0x73, 0x45, 0x78, 0x69, 0x73, 0x74, 0x10, 0xac, 0x08, 0x12, 0x1e, 0x0a, 0x19, 0x4f, 0x50, + 0x52, 0x43, 0x5f, 0x53, 0x61, 0x66, 0x65, 0x42, 0x6f, 0x78, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, + 0x72, 0x64, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0xae, 0x08, 0x12, 0x17, 0x0a, 0x12, 0x4f, 0x50, + 0x52, 0x43, 0x5f, 0x54, 0x65, 0x6c, 0x49, 0x73, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, + 0x10, 0xaf, 0x08, 0x12, 0x15, 0x0a, 0x10, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x49, 0x6e, 0x42, 0x6c, + 0x61, 0x63, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x10, 0xb0, 0x08, 0x12, 0x16, 0x0a, 0x11, 0x4f, 0x50, + 0x52, 0x43, 0x5f, 0x4e, 0x69, 0x63, 0x6b, 0x49, 0x73, 0x54, 0x6f, 0x6f, 0x4c, 0x65, 0x6e, 0x10, + 0xb1, 0x08, 0x12, 0x17, 0x0a, 0x12, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x50, 0x61, 0x73, 0x73, 0x77, + 0x6f, 0x72, 0x64, 0x45, 0x71, 0x75, 0x61, 0x6c, 0x10, 0xb2, 0x08, 0x12, 0x17, 0x0a, 0x12, 0x4f, + 0x50, 0x52, 0x43, 0x5f, 0x4e, 0x69, 0x63, 0x6b, 0x49, 0x73, 0x49, 0x6c, 0x6c, 0x65, 0x67, 0x61, + 0x6c, 0x10, 0xbb, 0x08, 0x12, 0x16, 0x0a, 0x11, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x53, 0x4d, 0x53, + 0x43, 0x6f, 0x64, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x10, 0xbc, 0x08, 0x12, 0x1c, 0x0a, 0x17, + 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x48, 0x61, 0x64, 0x53, 0x70, 0x72, 0x65, 0x61, 0x64, 0x49, 0x6e, + 0x76, 0x69, 0x74, 0x65, 0x72, 0x49, 0x64, 0x10, 0xc2, 0x08, 0x12, 0x1b, 0x0a, 0x16, 0x4f, 0x50, + 0x52, 0x43, 0x5f, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x72, 0x49, 0x64, 0x4e, 0x6f, 0x74, 0x45, + 0x78, 0x69, 0x73, 0x74, 0x10, 0xc3, 0x08, 0x12, 0x1a, 0x0a, 0x15, 0x4f, 0x50, 0x52, 0x43, 0x5f, + 0x53, 0x70, 0x72, 0x65, 0x61, 0x64, 0x42, 0x69, 0x6e, 0x64, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, + 0x10, 0xc4, 0x08, 0x12, 0x17, 0x0a, 0x12, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x49, 0x6e, 0x76, 0x69, + 0x74, 0x65, 0x72, 0x4e, 0x6f, 0x42, 0x69, 0x6e, 0x64, 0x10, 0xc5, 0x08, 0x12, 0x1e, 0x0a, 0x19, + 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x53, 0x70, 0x72, 0x65, 0x61, 0x64, 0x42, 0x69, 0x6e, 0x64, 0x43, + 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x4c, 0x6f, 0x6f, 0x70, 0x10, 0xc6, 0x08, 0x12, 0x1f, 0x0a, 0x1a, + 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, + 0x43, 0x6f, 0x64, 0x65, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x10, 0xc7, 0x08, 0x12, 0x1a, 0x0a, + 0x15, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x4e, 0x69, 0x63, 0x6b, 0x49, 0x73, 0x43, 0x61, 0x6e, 0x74, + 0x52, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x10, 0xd0, 0x08, 0x12, 0x14, 0x0a, 0x0f, 0x4f, 0x50, 0x52, + 0x43, 0x5f, 0x4e, 0x6f, 0x50, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x6f, 0x72, 0x10, 0xd4, 0x08, 0x12, + 0x14, 0x0a, 0x0f, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x4e, 0x6f, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x10, 0xd5, 0x08, 0x12, 0x16, 0x0a, 0x11, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x43, 0x61, + 0x6e, 0x74, 0x55, 0x73, 0x65, 0x72, 0x42, 0x69, 0x6e, 0x64, 0x10, 0xd6, 0x08, 0x12, 0x19, 0x0a, + 0x14, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x50, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x65, 0x72, 0x48, 0x61, + 0x73, 0x42, 0x69, 0x6e, 0x64, 0x10, 0xd7, 0x08, 0x12, 0x1c, 0x0a, 0x17, 0x4f, 0x50, 0x52, 0x43, + 0x5f, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x4e, 0x6f, 0x50, 0x72, 0x6f, 0x6d, 0x6f, + 0x74, 0x65, 0x72, 0x10, 0xd8, 0x08, 0x12, 0x28, 0x0a, 0x23, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x55, + 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x50, 0x61, + 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x49, 0x6c, 0x6c, 0x65, 0x67, 0x61, 0x6c, 0x10, 0xd3, 0x0f, + 0x12, 0x21, 0x0a, 0x1c, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x42, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x69, + 0x70, 0x61, 0x79, 0x5f, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x45, 0x6d, 0x70, 0x74, 0x79, + 0x10, 0xd5, 0x0f, 0x12, 0x21, 0x0a, 0x1c, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x42, 0x69, 0x6e, 0x64, + 0x41, 0x6c, 0x69, 0x70, 0x61, 0x79, 0x5f, 0x41, 0x63, 0x63, 0x4e, 0x61, 0x6d, 0x65, 0x45, 0x6d, + 0x70, 0x74, 0x79, 0x10, 0xd6, 0x0f, 0x12, 0x21, 0x0a, 0x1c, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x53, + 0x61, 0x66, 0x65, 0x62, 0x6f, 0x78, 0x5f, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x49, + 0x6c, 0x6c, 0x65, 0x67, 0x61, 0x6c, 0x10, 0xd7, 0x0f, 0x12, 0x1c, 0x0a, 0x17, 0x4f, 0x50, 0x52, + 0x43, 0x5f, 0x42, 0x69, 0x6e, 0x64, 0x42, 0x61, 0x6e, 0x6b, 0x5f, 0x4e, 0x61, 0x6d, 0x65, 0x45, + 0x6d, 0x70, 0x74, 0x79, 0x10, 0xd8, 0x0f, 0x12, 0x1f, 0x0a, 0x1a, 0x4f, 0x50, 0x52, 0x43, 0x5f, + 0x42, 0x69, 0x6e, 0x64, 0x42, 0x61, 0x6e, 0x6b, 0x5f, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x45, 0x6d, 0x70, 0x74, 0x79, 0x10, 0xd9, 0x0f, 0x12, 0x1f, 0x0a, 0x1a, 0x4f, 0x50, 0x52, 0x43, + 0x5f, 0x42, 0x69, 0x6e, 0x64, 0x42, 0x61, 0x6e, 0x6b, 0x5f, 0x41, 0x63, 0x63, 0x4e, 0x61, 0x6d, + 0x65, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x10, 0xda, 0x0f, 0x12, 0x1e, 0x0a, 0x19, 0x4f, 0x50, 0x52, + 0x43, 0x5f, 0x42, 0x69, 0x6e, 0x64, 0x42, 0x61, 0x6e, 0x6b, 0x5f, 0x4e, 0x61, 0x6d, 0x65, 0x49, + 0x6c, 0x6c, 0x65, 0x67, 0x61, 0x6c, 0x10, 0xdb, 0x0f, 0x12, 0x21, 0x0a, 0x1c, 0x4f, 0x50, 0x52, + 0x43, 0x5f, 0x42, 0x69, 0x6e, 0x64, 0x42, 0x61, 0x6e, 0x6b, 0x5f, 0x41, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x49, 0x6c, 0x6c, 0x65, 0x67, 0x61, 0x6c, 0x10, 0xdc, 0x0f, 0x12, 0x21, 0x0a, 0x1c, + 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x42, 0x69, 0x6e, 0x64, 0x42, 0x61, 0x6e, 0x6b, 0x5f, 0x41, 0x63, + 0x63, 0x4e, 0x61, 0x6d, 0x65, 0x49, 0x6c, 0x6c, 0x65, 0x67, 0x61, 0x6c, 0x10, 0xdd, 0x0f, 0x12, + 0x23, 0x0a, 0x1e, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x42, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x69, 0x70, + 0x61, 0x79, 0x5f, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6c, 0x6c, 0x65, 0x67, 0x61, + 0x6c, 0x10, 0xde, 0x0f, 0x12, 0x23, 0x0a, 0x1e, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x42, 0x69, 0x6e, + 0x64, 0x41, 0x6c, 0x69, 0x70, 0x61, 0x79, 0x5f, 0x41, 0x63, 0x63, 0x4e, 0x61, 0x6d, 0x65, 0x49, + 0x6c, 0x6c, 0x65, 0x67, 0x61, 0x6c, 0x10, 0xdf, 0x0f, 0x12, 0x22, 0x0a, 0x1d, 0x4f, 0x50, 0x52, + 0x43, 0x5f, 0x42, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x69, 0x70, 0x61, 0x79, 0x5f, 0x50, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0xe0, 0x0f, 0x12, 0x20, 0x0a, + 0x1b, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x42, 0x69, 0x6e, 0x64, 0x42, 0x61, 0x6e, 0x6b, 0x5f, 0x50, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0xe1, 0x0f, 0x12, + 0x1f, 0x0a, 0x1a, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, + 0x49, 0x50, 0x5f, 0x54, 0x6f, 0x6f, 0x4d, 0x61, 0x6e, 0x79, 0x52, 0x65, 0x67, 0x10, 0xe2, 0x0f, + 0x12, 0x1d, 0x0a, 0x18, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x42, 0x69, 0x6e, 0x64, 0x42, 0x61, 0x6e, + 0x6b, 0x5f, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x10, 0xe3, 0x0f, 0x12, + 0x1f, 0x0a, 0x1a, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x42, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x69, 0x70, + 0x61, 0x79, 0x5f, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x10, 0xe4, 0x0f, + 0x12, 0x1c, 0x0a, 0x17, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x42, 0x61, 0x6e, 0x6b, 0x41, 0x6e, 0x64, + 0x41, 0x6c, 0x69, 0x5f, 0x4e, 0x6f, 0x74, 0x53, 0x61, 0x6d, 0x65, 0x10, 0xe5, 0x0f, 0x12, 0x27, + 0x0a, 0x22, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x42, 0x69, 0x6e, 0x64, 0x42, 0x61, 0x6e, 0x6b, 0x41, + 0x6c, 0x69, 0x70, 0x61, 0x79, 0x5f, 0x4e, 0x61, 0x6d, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x4c, + 0x69, 0x6d, 0x69, 0x74, 0x10, 0xe6, 0x0f, 0x12, 0x15, 0x0a, 0x10, 0x4f, 0x50, 0x52, 0x43, 0x5f, + 0x4a, 0x79, 0x62, 0x5f, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x10, 0xb4, 0x10, 0x12, 0x17, + 0x0a, 0x12, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x4a, 0x79, 0x62, 0x5f, 0x43, 0x6f, 0x64, 0x65, 0x45, + 0x78, 0x69, 0x73, 0x74, 0x10, 0xb5, 0x10, 0x12, 0x15, 0x0a, 0x10, 0x4f, 0x50, 0x52, 0x43, 0x5f, + 0x4a, 0x79, 0x62, 0x5f, 0x54, 0x69, 0x6d, 0x65, 0x45, 0x72, 0x72, 0x10, 0xb6, 0x10, 0x12, 0x15, + 0x0a, 0x10, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x4a, 0x79, 0x62, 0x5f, 0x43, 0x6f, 0x64, 0x65, 0x45, + 0x72, 0x72, 0x10, 0xb7, 0x10, 0x12, 0x26, 0x0a, 0x21, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x48, 0x75, + 0x6e, 0x64, 0x72, 0x65, 0x64, 0x5f, 0x59, 0x6f, 0x75, 0x48, 0x61, 0x64, 0x42, 0x65, 0x74, 0x43, + 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x10, 0xd9, 0x36, 0x12, 0x29, 0x0a, + 0x24, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x48, 0x75, 0x6e, 0x64, 0x72, 0x65, 0x64, 0x5f, 0x59, 0x6f, + 0x75, 0x48, 0x61, 0x64, 0x42, 0x61, 0x6e, 0x6b, 0x65, 0x72, 0x43, 0x61, 0x6e, 0x6e, 0x6f, 0x74, + 0x4c, 0x65, 0x61, 0x76, 0x65, 0x10, 0xda, 0x36, 0x2a, 0xf8, 0x1c, 0x0a, 0x0e, 0x50, 0x6c, 0x61, + 0x79, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x18, 0x50, + 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x50, 0x41, 0x43, 0x4b, + 0x45, 0x54, 0x5f, 0x5a, 0x45, 0x52, 0x4f, 0x10, 0x00, 0x12, 0x19, 0x0a, 0x14, 0x50, 0x41, 0x43, + 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x44, 0x41, 0x54, + 0x41, 0x10, 0xb4, 0x10, 0x12, 0x19, 0x0a, 0x14, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, + 0x43, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x44, 0x41, 0x54, 0x41, 0x10, 0xb5, 0x10, 0x12, + 0x18, 0x0a, 0x13, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x44, 0x41, 0x59, + 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x10, 0xb6, 0x10, 0x12, 0x1e, 0x0a, 0x19, 0x50, 0x41, 0x43, + 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x54, 0x48, 0x49, 0x52, 0x44, 0x50, 0x4c, 0x41, 0x59, + 0x45, 0x52, 0x44, 0x41, 0x54, 0x41, 0x10, 0xb7, 0x10, 0x12, 0x1e, 0x0a, 0x19, 0x50, 0x41, 0x43, + 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x54, 0x48, 0x49, 0x52, 0x44, 0x50, 0x4c, 0x41, 0x59, + 0x45, 0x52, 0x44, 0x41, 0x54, 0x41, 0x10, 0xb8, 0x10, 0x12, 0x1f, 0x0a, 0x1a, 0x50, 0x41, 0x43, + 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x44, 0x41, 0x54, + 0x41, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x10, 0xb9, 0x10, 0x12, 0x1b, 0x0a, 0x16, 0x50, 0x41, + 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x44, 0x41, + 0x54, 0x41, 0x45, 0x58, 0x10, 0xba, 0x10, 0x12, 0x14, 0x0a, 0x0f, 0x50, 0x41, 0x43, 0x4b, 0x45, + 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x50, 0x4d, 0x43, 0x4d, 0x44, 0x10, 0xbb, 0x10, 0x12, 0x1b, 0x0a, + 0x16, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x52, 0x4f, 0x42, 0x4f, 0x54, + 0x43, 0x48, 0x47, 0x44, 0x41, 0x54, 0x41, 0x10, 0xbc, 0x10, 0x12, 0x21, 0x0a, 0x1c, 0x50, 0x41, + 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x57, 0x45, + 0x43, 0x48, 0x41, 0x54, 0x4e, 0x55, 0x4d, 0x42, 0x45, 0x52, 0x10, 0xbd, 0x10, 0x12, 0x21, 0x0a, + 0x1c, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x47, + 0x45, 0x57, 0x45, 0x43, 0x48, 0x41, 0x54, 0x4e, 0x55, 0x4d, 0x42, 0x45, 0x52, 0x10, 0xbe, 0x10, + 0x12, 0x17, 0x0a, 0x12, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x41, 0x55, + 0x54, 0x48, 0x45, 0x4e, 0x49, 0x44, 0x10, 0xbf, 0x10, 0x12, 0x17, 0x0a, 0x12, 0x50, 0x41, 0x43, + 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x41, 0x55, 0x54, 0x48, 0x45, 0x4e, 0x49, 0x44, 0x10, + 0xc0, 0x10, 0x12, 0x17, 0x0a, 0x12, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, + 0x4a, 0x4f, 0x49, 0x4e, 0x47, 0x41, 0x4d, 0x45, 0x10, 0xc1, 0x10, 0x12, 0x17, 0x0a, 0x12, 0x50, + 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x4a, 0x4f, 0x49, 0x4e, 0x47, 0x41, 0x4d, + 0x45, 0x10, 0xc2, 0x10, 0x12, 0x19, 0x0a, 0x14, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, + 0x53, 0x5f, 0x53, 0x50, 0x52, 0x45, 0x41, 0x44, 0x42, 0x49, 0x4e, 0x44, 0x10, 0xc3, 0x10, 0x12, + 0x19, 0x0a, 0x14, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x53, 0x50, 0x52, + 0x45, 0x41, 0x44, 0x42, 0x49, 0x4e, 0x44, 0x10, 0xc4, 0x10, 0x12, 0x1d, 0x0a, 0x18, 0x50, 0x41, + 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x47, 0x45, 0x4e, 0x43, 0x55, 0x53, 0x54, 0x4f, + 0x4d, 0x54, 0x4f, 0x4b, 0x45, 0x4e, 0x10, 0xc7, 0x10, 0x12, 0x1d, 0x0a, 0x18, 0x50, 0x41, 0x43, + 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x47, 0x45, 0x4e, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, + 0x54, 0x4f, 0x4b, 0x45, 0x4e, 0x10, 0xc8, 0x10, 0x12, 0x1b, 0x0a, 0x16, 0x50, 0x41, 0x43, 0x4b, + 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x4e, 0x45, 0x57, 0x4d, + 0x53, 0x47, 0x10, 0xc9, 0x10, 0x12, 0x1e, 0x0a, 0x19, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, + 0x43, 0x53, 0x5f, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x4e, 0x45, 0x57, 0x4d, 0x53, 0x47, 0x41, + 0x43, 0x4b, 0x10, 0xca, 0x10, 0x12, 0x15, 0x0a, 0x10, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, + 0x53, 0x43, 0x5f, 0x53, 0x52, 0x56, 0x4d, 0x53, 0x47, 0x10, 0xcb, 0x10, 0x12, 0x1e, 0x0a, 0x19, + 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x46, 0x49, 0x53, 0x48, 0x4a, 0x41, + 0x43, 0x4b, 0x50, 0x4f, 0x54, 0x43, 0x4f, 0x49, 0x4e, 0x10, 0xcc, 0x10, 0x12, 0x1e, 0x0a, 0x19, + 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x46, 0x49, 0x53, 0x48, 0x4a, 0x41, + 0x43, 0x4b, 0x50, 0x4f, 0x54, 0x43, 0x4f, 0x49, 0x4e, 0x10, 0xcd, 0x10, 0x12, 0x1e, 0x0a, 0x19, + 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x46, 0x49, 0x53, 0x48, 0x4a, 0x41, + 0x43, 0x4b, 0x50, 0x4f, 0x54, 0x44, 0x41, 0x54, 0x41, 0x10, 0xce, 0x10, 0x12, 0x1e, 0x0a, 0x19, + 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x46, 0x49, 0x53, 0x48, 0x4a, 0x41, + 0x43, 0x4b, 0x50, 0x4f, 0x54, 0x44, 0x41, 0x54, 0x41, 0x10, 0xcf, 0x10, 0x12, 0x1b, 0x0a, 0x16, + 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x4e, 0x49, 0x43, 0x45, 0x49, 0x44, + 0x52, 0x45, 0x42, 0x49, 0x4e, 0x44, 0x10, 0xd0, 0x10, 0x12, 0x1b, 0x0a, 0x16, 0x50, 0x41, 0x43, + 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x42, 0x49, 0x4e, 0x44, 0x50, 0x52, 0x4f, 0x4d, 0x4f, + 0x54, 0x45, 0x52, 0x10, 0xd1, 0x10, 0x12, 0x1b, 0x0a, 0x16, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, + 0x5f, 0x53, 0x43, 0x5f, 0x42, 0x49, 0x4e, 0x44, 0x50, 0x52, 0x4f, 0x4d, 0x4f, 0x54, 0x45, 0x52, + 0x10, 0xd2, 0x10, 0x12, 0x20, 0x0a, 0x1b, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, + 0x5f, 0x42, 0x49, 0x4e, 0x44, 0x50, 0x52, 0x4f, 0x4d, 0x4f, 0x54, 0x45, 0x52, 0x53, 0x54, 0x41, + 0x54, 0x45, 0x10, 0xd3, 0x10, 0x12, 0x20, 0x0a, 0x1b, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, + 0x43, 0x53, 0x5f, 0x47, 0x65, 0x74, 0x53, 0x70, 0x72, 0x65, 0x61, 0x64, 0x4c, 0x57, 0x49, 0x73, + 0x4f, 0x70, 0x65, 0x6e, 0x10, 0xd4, 0x10, 0x12, 0x20, 0x0a, 0x1b, 0x50, 0x41, 0x43, 0x4b, 0x45, + 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x47, 0x65, 0x74, 0x53, 0x70, 0x72, 0x65, 0x61, 0x64, 0x4c, 0x57, + 0x49, 0x73, 0x4f, 0x70, 0x65, 0x6e, 0x10, 0xd5, 0x10, 0x12, 0x1b, 0x0a, 0x16, 0x50, 0x41, 0x43, + 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x50, 0x61, 0x79, 0x41, 0x63, 0x74, 0x5f, 0x53, 0x74, + 0x61, 0x74, 0x65, 0x10, 0xd6, 0x10, 0x12, 0x19, 0x0a, 0x14, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, + 0x5f, 0x43, 0x53, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x4e, 0x49, 0x43, 0x4b, 0x10, 0xdc, + 0x10, 0x12, 0x19, 0x0a, 0x14, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x43, + 0x48, 0x41, 0x4e, 0x47, 0x45, 0x4e, 0x49, 0x43, 0x4b, 0x10, 0xdd, 0x10, 0x12, 0x19, 0x0a, 0x14, + 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, + 0x49, 0x43, 0x4f, 0x4e, 0x10, 0xde, 0x10, 0x12, 0x19, 0x0a, 0x14, 0x50, 0x41, 0x43, 0x4b, 0x45, + 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x49, 0x43, 0x4f, 0x4e, 0x10, + 0xdf, 0x10, 0x12, 0x18, 0x0a, 0x13, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, + 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x53, 0x45, 0x58, 0x10, 0xe0, 0x10, 0x12, 0x18, 0x0a, 0x13, + 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, + 0x53, 0x45, 0x58, 0x10, 0xe1, 0x10, 0x12, 0x1d, 0x0a, 0x18, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, + 0x5f, 0x43, 0x53, 0x5f, 0x55, 0x50, 0x47, 0x52, 0x41, 0x44, 0x45, 0x41, 0x43, 0x43, 0x4f, 0x55, + 0x4e, 0x54, 0x10, 0xe2, 0x10, 0x12, 0x1d, 0x0a, 0x18, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, + 0x53, 0x43, 0x5f, 0x55, 0x50, 0x47, 0x52, 0x41, 0x44, 0x45, 0x41, 0x43, 0x43, 0x4f, 0x55, 0x4e, + 0x54, 0x10, 0xe3, 0x10, 0x12, 0x19, 0x0a, 0x14, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, + 0x53, 0x5f, 0x42, 0x49, 0x4e, 0x44, 0x41, 0x4c, 0x49, 0x50, 0x41, 0x59, 0x10, 0xe4, 0x10, 0x12, + 0x19, 0x0a, 0x14, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x42, 0x49, 0x4e, + 0x44, 0x41, 0x4c, 0x49, 0x50, 0x41, 0x59, 0x10, 0xe5, 0x10, 0x12, 0x17, 0x0a, 0x12, 0x50, 0x41, + 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x42, 0x49, 0x4e, 0x44, 0x42, 0x41, 0x4e, 0x4b, + 0x10, 0xe6, 0x10, 0x12, 0x17, 0x0a, 0x12, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, + 0x5f, 0x42, 0x49, 0x4e, 0x44, 0x42, 0x41, 0x4e, 0x4b, 0x10, 0xe7, 0x10, 0x12, 0x1b, 0x0a, 0x16, + 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, + 0x4f, 0x50, 0x43, 0x4f, 0x49, 0x4e, 0x10, 0xe8, 0x10, 0x12, 0x1b, 0x0a, 0x16, 0x50, 0x41, 0x43, + 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x4f, 0x50, 0x43, + 0x4f, 0x49, 0x4e, 0x10, 0xe9, 0x10, 0x12, 0x1d, 0x0a, 0x18, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, + 0x5f, 0x43, 0x53, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x50, 0x41, 0x53, 0x53, 0x57, 0x4f, + 0x52, 0x44, 0x10, 0xea, 0x10, 0x12, 0x1d, 0x0a, 0x18, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, + 0x53, 0x43, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x50, 0x41, 0x53, 0x53, 0x57, 0x4f, 0x52, + 0x44, 0x10, 0xeb, 0x10, 0x12, 0x1f, 0x0a, 0x1a, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, + 0x53, 0x5f, 0x56, 0x45, 0x52, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x43, 0x4f, + 0x44, 0x45, 0x10, 0xec, 0x10, 0x12, 0x1f, 0x0a, 0x1a, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, + 0x53, 0x43, 0x5f, 0x56, 0x45, 0x52, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x43, + 0x4f, 0x44, 0x45, 0x10, 0xed, 0x10, 0x12, 0x1d, 0x0a, 0x18, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, + 0x5f, 0x43, 0x53, 0x5f, 0x47, 0x45, 0x54, 0x47, 0x41, 0x4d, 0x45, 0x43, 0x4f, 0x49, 0x4e, 0x4c, + 0x4f, 0x47, 0x10, 0xee, 0x10, 0x12, 0x1d, 0x0a, 0x18, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, + 0x53, 0x43, 0x5f, 0x47, 0x45, 0x54, 0x47, 0x41, 0x4d, 0x45, 0x43, 0x4f, 0x49, 0x4e, 0x4c, 0x4f, + 0x47, 0x10, 0xef, 0x10, 0x12, 0x20, 0x0a, 0x1b, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, + 0x53, 0x5f, 0x47, 0x45, 0x54, 0x53, 0x41, 0x46, 0x45, 0x42, 0x4f, 0x58, 0x43, 0x4f, 0x49, 0x4e, + 0x4c, 0x4f, 0x47, 0x10, 0xf0, 0x10, 0x12, 0x20, 0x0a, 0x1b, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, + 0x5f, 0x53, 0x43, 0x5f, 0x47, 0x45, 0x54, 0x53, 0x41, 0x46, 0x45, 0x42, 0x4f, 0x58, 0x43, 0x4f, + 0x49, 0x4e, 0x4c, 0x4f, 0x47, 0x10, 0xf1, 0x10, 0x12, 0x17, 0x0a, 0x12, 0x50, 0x41, 0x43, 0x4b, + 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x52, 0x45, 0x47, 0x49, 0x53, 0x54, 0x45, 0x52, 0x10, 0xf2, + 0x10, 0x12, 0x17, 0x0a, 0x12, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x52, + 0x45, 0x47, 0x49, 0x53, 0x54, 0x45, 0x52, 0x10, 0xf3, 0x10, 0x12, 0x1a, 0x0a, 0x15, 0x50, 0x41, + 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x48, 0x45, 0x41, 0x44, 0x4f, 0x55, 0x54, 0x4c, + 0x49, 0x4e, 0x45, 0x10, 0xf4, 0x10, 0x12, 0x1a, 0x0a, 0x15, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, + 0x5f, 0x53, 0x43, 0x5f, 0x48, 0x45, 0x41, 0x44, 0x4f, 0x55, 0x54, 0x4c, 0x49, 0x4e, 0x45, 0x10, + 0xf5, 0x10, 0x12, 0x19, 0x0a, 0x14, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, + 0x49, 0x4e, 0x56, 0x49, 0x54, 0x45, 0x43, 0x4f, 0x44, 0x45, 0x10, 0xf6, 0x10, 0x12, 0x19, 0x0a, + 0x14, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x49, 0x4e, 0x56, 0x49, 0x54, + 0x45, 0x43, 0x4f, 0x44, 0x45, 0x10, 0xf7, 0x10, 0x12, 0x20, 0x0a, 0x1b, 0x50, 0x41, 0x43, 0x4b, + 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x57, 0x45, 0x42, 0x41, 0x50, 0x49, 0x5f, 0x50, 0x4c, 0x41, + 0x59, 0x45, 0x52, 0x50, 0x41, 0x53, 0x53, 0x10, 0xf8, 0x10, 0x12, 0x20, 0x0a, 0x1b, 0x50, 0x41, + 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x57, 0x45, 0x42, 0x41, 0x50, 0x49, 0x5f, 0x50, + 0x4c, 0x41, 0x59, 0x45, 0x52, 0x50, 0x41, 0x53, 0x53, 0x10, 0xf9, 0x10, 0x12, 0x20, 0x0a, 0x1b, + 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x57, 0x45, 0x42, 0x41, 0x50, 0x49, + 0x5f, 0x53, 0x59, 0x53, 0x54, 0x45, 0x4d, 0x50, 0x41, 0x53, 0x53, 0x10, 0xfa, 0x10, 0x12, 0x20, + 0x0a, 0x1b, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x57, 0x45, 0x42, 0x41, + 0x50, 0x49, 0x5f, 0x53, 0x59, 0x53, 0x54, 0x45, 0x4d, 0x50, 0x41, 0x53, 0x53, 0x10, 0xfb, 0x10, + 0x12, 0x21, 0x0a, 0x1c, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x47, 0x45, + 0x54, 0x49, 0x4d, 0x41, 0x47, 0x45, 0x56, 0x45, 0x52, 0x49, 0x46, 0x59, 0x43, 0x4f, 0x44, 0x45, + 0x10, 0xfc, 0x10, 0x12, 0x21, 0x0a, 0x1c, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, + 0x5f, 0x47, 0x45, 0x54, 0x49, 0x4d, 0x41, 0x47, 0x45, 0x56, 0x45, 0x52, 0x49, 0x46, 0x59, 0x43, + 0x4f, 0x44, 0x45, 0x10, 0xfd, 0x10, 0x12, 0x22, 0x0a, 0x1d, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, + 0x5f, 0x43, 0x53, 0x5f, 0x47, 0x45, 0x54, 0x53, 0x4c, 0x49, 0x44, 0x45, 0x52, 0x56, 0x45, 0x52, + 0x49, 0x46, 0x59, 0x43, 0x4f, 0x44, 0x45, 0x10, 0xfe, 0x10, 0x12, 0x22, 0x0a, 0x1d, 0x50, 0x41, + 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x47, 0x45, 0x54, 0x53, 0x4c, 0x49, 0x44, 0x45, + 0x52, 0x56, 0x45, 0x52, 0x49, 0x46, 0x59, 0x43, 0x4f, 0x44, 0x45, 0x10, 0xff, 0x10, 0x12, 0x1f, + 0x0a, 0x1a, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x49, 0x4f, 0x53, 0x49, + 0x4e, 0x53, 0x54, 0x41, 0x4c, 0x4c, 0x53, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x80, 0x11, 0x12, + 0x1f, 0x0a, 0x1a, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x49, 0x4f, 0x53, + 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4c, 0x4c, 0x53, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x81, 0x11, + 0x12, 0x1a, 0x0a, 0x15, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x51, 0x55, + 0x45, 0x52, 0x59, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x10, 0x82, 0x11, 0x12, 0x1a, 0x0a, 0x15, + 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x50, + 0x4c, 0x41, 0x59, 0x45, 0x52, 0x10, 0x83, 0x11, 0x12, 0x19, 0x0a, 0x14, 0x50, 0x41, 0x43, 0x4b, + 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x47, 0x45, 0x54, 0x44, 0x41, 0x54, 0x41, 0x4c, 0x4f, 0x47, + 0x10, 0x84, 0x11, 0x12, 0x19, 0x0a, 0x14, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, + 0x5f, 0x47, 0x45, 0x54, 0x44, 0x41, 0x54, 0x41, 0x4c, 0x4f, 0x47, 0x10, 0x85, 0x11, 0x12, 0x23, + 0x0a, 0x1e, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x50, 0x4c, 0x41, 0x59, + 0x45, 0x52, 0x52, 0x45, 0x43, 0x48, 0x41, 0x52, 0x47, 0x45, 0x41, 0x4e, 0x53, 0x57, 0x45, 0x52, + 0x10, 0x86, 0x11, 0x12, 0x19, 0x0a, 0x14, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, + 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x46, 0x4c, 0x41, 0x47, 0x10, 0x87, 0x11, 0x12, 0x1f, + 0x0a, 0x1a, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x50, 0x4c, 0x41, 0x59, + 0x45, 0x52, 0x43, 0x4f, 0x49, 0x4e, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x10, 0x88, 0x11, 0x12, + 0x1e, 0x0a, 0x19, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x54, 0x52, 0x55, + 0x53, 0x54, 0x45, 0x45, 0x53, 0x48, 0x49, 0x50, 0x54, 0x49, 0x50, 0x53, 0x10, 0x89, 0x11, 0x12, + 0x17, 0x0a, 0x12, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x41, 0x4c, 0x4c, 0x5f, 0x53, 0x45, + 0x54, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x8a, 0x11, 0x12, 0x1d, 0x0a, 0x18, 0x50, 0x41, 0x43, 0x4b, + 0x45, 0x54, 0x5f, 0x53, 0x43, 0x47, 0x41, 0x4d, 0x45, 0x45, 0x58, 0x44, 0x52, 0x4f, 0x50, 0x49, + 0x54, 0x45, 0x4d, 0x53, 0x10, 0x8b, 0x11, 0x12, 0x15, 0x0a, 0x10, 0x50, 0x41, 0x43, 0x4b, 0x45, + 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x56, 0x49, 0x50, 0x42, 0x55, 0x59, 0x10, 0x8c, 0x11, 0x12, 0x15, + 0x0a, 0x10, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x56, 0x49, 0x50, 0x42, + 0x55, 0x59, 0x10, 0x8d, 0x11, 0x12, 0x1a, 0x0a, 0x15, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, + 0x43, 0x53, 0x5f, 0x44, 0x52, 0x41, 0x57, 0x56, 0x49, 0x50, 0x47, 0x49, 0x46, 0x54, 0x10, 0x8e, + 0x11, 0x12, 0x1a, 0x0a, 0x15, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x44, + 0x52, 0x41, 0x57, 0x56, 0x49, 0x50, 0x47, 0x49, 0x46, 0x54, 0x10, 0x8f, 0x11, 0x12, 0x16, 0x0a, + 0x11, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x56, 0x49, 0x50, 0x49, 0x4e, + 0x46, 0x4f, 0x10, 0x90, 0x11, 0x12, 0x16, 0x0a, 0x11, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, + 0x53, 0x43, 0x5f, 0x56, 0x49, 0x50, 0x49, 0x4e, 0x46, 0x4f, 0x10, 0x91, 0x11, 0x12, 0x1b, 0x0a, + 0x16, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x53, 0x57, 0x45, 0x4c, 0x46, + 0x41, 0x52, 0x45, 0x49, 0x4e, 0x46, 0x4f, 0x10, 0x92, 0x11, 0x12, 0x1f, 0x0a, 0x1a, 0x50, 0x41, + 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x56, 0x49, 0x50, 0x50, 0x72, 0x69, 0x76, 0x69, + 0x6c, 0x65, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x10, 0x93, 0x11, 0x12, 0x1f, 0x0a, 0x1a, 0x50, + 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x56, 0x49, 0x50, 0x50, 0x72, 0x69, 0x76, + 0x69, 0x6c, 0x65, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x10, 0x94, 0x11, 0x12, 0x1b, 0x0a, 0x16, + 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x50, 0x41, 0x59, 0x47, 0x4f, 0x4f, + 0x44, 0x53, 0x49, 0x4e, 0x46, 0x4f, 0x10, 0x95, 0x11, 0x12, 0x17, 0x0a, 0x12, 0x50, 0x41, 0x43, + 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x52, 0x45, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x10, + 0x96, 0x11, 0x12, 0x19, 0x0a, 0x14, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, + 0x43, 0x4c, 0x49, 0x45, 0x4e, 0x54, 0x5f, 0x4c, 0x4f, 0x47, 0x10, 0x97, 0x11, 0x12, 0x19, 0x0a, + 0x14, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x43, 0x4c, 0x49, 0x45, 0x4e, + 0x54, 0x5f, 0x4c, 0x4f, 0x47, 0x10, 0x98, 0x11, 0x12, 0x18, 0x0a, 0x13, 0x50, 0x41, 0x43, 0x4b, + 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x48, 0x54, 0x54, 0x50, 0x5f, 0x50, 0x41, 0x53, 0x53, 0x10, + 0x99, 0x11, 0x12, 0x18, 0x0a, 0x13, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, + 0x48, 0x54, 0x54, 0x50, 0x5f, 0x50, 0x41, 0x53, 0x53, 0x10, 0x9a, 0x11, 0x12, 0x1e, 0x0a, 0x19, + 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x56, + 0x65, 0x72, 0x69, 0x66, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x10, 0x9b, 0x11, 0x12, 0x1e, 0x0a, 0x19, + 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x56, + 0x65, 0x72, 0x69, 0x66, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x10, 0x9c, 0x11, 0x12, 0x16, 0x0a, 0x11, + 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x48, 0x65, 0x61, 0x64, 0x55, 0x72, + 0x6c, 0x10, 0xf1, 0x15, 0x12, 0x16, 0x0a, 0x11, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, + 0x43, 0x5f, 0x48, 0x65, 0x61, 0x64, 0x55, 0x72, 0x6c, 0x10, 0xf2, 0x15, 0x12, 0x1c, 0x0a, 0x17, + 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, + 0x55, 0x6e, 0x50, 0x6f, 0x77, 0x65, 0x72, 0x10, 0xf3, 0x15, 0x12, 0x20, 0x0a, 0x1b, 0x50, 0x41, + 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x55, 0x6e, + 0x50, 0x6f, 0x77, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x10, 0xf4, 0x15, 0x12, 0x1c, 0x0a, 0x17, + 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, + 0x55, 0x70, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x10, 0xf5, 0x15, 0x12, 0x1b, 0x0a, 0x16, 0x50, 0x41, + 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x4d, 0x53, + 0x43, 0x6f, 0x64, 0x65, 0x10, 0xf6, 0x15, 0x12, 0x1b, 0x0a, 0x16, 0x50, 0x41, 0x43, 0x4b, 0x45, + 0x54, 0x5f, 0x53, 0x43, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x4d, 0x53, 0x43, 0x6f, 0x64, + 0x65, 0x10, 0xf7, 0x15, 0x12, 0x15, 0x0a, 0x10, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, + 0x53, 0x42, 0x69, 0x6e, 0x64, 0x54, 0x65, 0x6c, 0x10, 0xf8, 0x15, 0x12, 0x15, 0x0a, 0x10, 0x50, + 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x42, 0x69, 0x6e, 0x64, 0x54, 0x65, 0x6c, 0x10, + 0xf9, 0x15, 0x12, 0x19, 0x0a, 0x14, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x42, + 0x69, 0x6e, 0x64, 0x54, 0x65, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x10, 0xfa, 0x15, 0x12, 0x19, 0x0a, + 0x14, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x42, 0x69, 0x6e, 0x64, 0x54, 0x65, + 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x10, 0xfb, 0x15, 0x12, 0x16, 0x0a, 0x11, 0x50, 0x41, 0x43, 0x4b, + 0x45, 0x54, 0x5f, 0x43, 0x53, 0x42, 0x69, 0x6c, 0x6c, 0x4c, 0x69, 0x73, 0x74, 0x10, 0xfc, 0x15, + 0x12, 0x16, 0x0a, 0x11, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x42, 0x69, 0x6c, + 0x6c, 0x4c, 0x69, 0x73, 0x74, 0x10, 0xfd, 0x15, 0x12, 0x1c, 0x0a, 0x17, 0x50, 0x41, 0x43, 0x4b, + 0x45, 0x54, 0x5f, 0x43, 0x53, 0x53, 0x61, 0x76, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, + 0x6e, 0x66, 0x6f, 0x10, 0xfe, 0x15, 0x12, 0x1c, 0x0a, 0x17, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, + 0x5f, 0x53, 0x43, 0x53, 0x61, 0x76, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x6e, 0x66, + 0x6f, 0x10, 0xff, 0x15, 0x12, 0x1f, 0x0a, 0x1a, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, + 0x53, 0x5f, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x4c, 0x6f, 0x74, 0x74, 0x65, 0x72, 0x79, 0x49, 0x6e, + 0x66, 0x6f, 0x10, 0x80, 0x16, 0x12, 0x1f, 0x0a, 0x1a, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, + 0x53, 0x43, 0x5f, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x4c, 0x6f, 0x74, 0x74, 0x65, 0x72, 0x79, 0x49, + 0x6e, 0x66, 0x6f, 0x10, 0x81, 0x16, 0x12, 0x1b, 0x0a, 0x16, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, + 0x5f, 0x43, 0x53, 0x5f, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x4c, 0x6f, 0x74, 0x74, 0x65, 0x72, 0x79, + 0x10, 0x82, 0x16, 0x12, 0x1b, 0x0a, 0x16, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, + 0x5f, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x4c, 0x6f, 0x74, 0x74, 0x65, 0x72, 0x79, 0x10, 0x83, 0x16, + 0x12, 0x20, 0x0a, 0x1b, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x50, 0x68, + 0x6f, 0x6e, 0x65, 0x4c, 0x6f, 0x74, 0x74, 0x65, 0x72, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x10, + 0x84, 0x16, 0x12, 0x11, 0x0a, 0x0c, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x41, + 0x44, 0x56, 0x10, 0x85, 0x16, 0x12, 0x11, 0x0a, 0x0c, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, + 0x53, 0x43, 0x41, 0x44, 0x56, 0x10, 0x86, 0x16, 0x12, 0x1e, 0x0a, 0x19, 0x50, 0x41, 0x43, 0x4b, + 0x45, 0x54, 0x5f, 0x53, 0x43, 0x47, 0x65, 0x74, 0x57, 0x65, 0x65, 0x6b, 0x43, 0x61, 0x72, 0x64, + 0x41, 0x77, 0x61, 0x72, 0x79, 0x10, 0x87, 0x16, 0x12, 0x19, 0x0a, 0x14, 0x50, 0x41, 0x43, 0x4b, + 0x45, 0x54, 0x5f, 0x53, 0x43, 0x50, 0x69, 0x67, 0x42, 0x61, 0x6e, 0x6b, 0x43, 0x6f, 0x69, 0x6e, + 0x10, 0x88, 0x16, 0x12, 0x1d, 0x0a, 0x18, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, + 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x10, + 0x89, 0x16, 0x12, 0x1d, 0x0a, 0x18, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x45, + 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x10, 0x8a, + 0x16, 0x12, 0x17, 0x0a, 0x12, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x53, 0x4d, + 0x53, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x10, 0x8b, 0x16, 0x12, 0x17, 0x0a, 0x12, 0x50, 0x41, + 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x53, 0x4d, 0x53, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x10, 0x8c, 0x16, 0x42, 0x26, 0x5a, 0x24, 0x6d, 0x6f, 0x6e, 0x67, 0x6f, 0x2e, 0x67, 0x61, 0x6d, + 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x61, 0x6d, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x63, 0x6f, 0x6c, 0x2f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x62, 0x06, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x33, } var ( diff --git a/protocol/player/player.proto b/protocol/player/player.proto index 9b2155a..f2af2fc 100644 --- a/protocol/player/player.proto +++ b/protocol/player/player.proto @@ -318,7 +318,6 @@ message PlayerData { int32 Age = 47; // 年龄 repeated WeekInfo WeekCard = 48;//周卡 repeated int32 RequestAddFriend = 49;//请求添加好友信息 - int64 Long = 50; // 龙币 } //周卡数据 @@ -361,7 +360,6 @@ message SCPlayerDataUpdate { map RankScore = 12; // 排位积分 int64 PhoneScore = 13; //手机积分 int64 InviteScore = 14; // 邀请积分 - int64 Long = 15; // 龙币 } //获取第三方玩家信息 diff --git a/worldsrv/action_welfare.go b/worldsrv/action_welfare.go index 6f950b9..b4fca7d 100644 --- a/worldsrv/action_welfare.go +++ b/worldsrv/action_welfare.go @@ -940,11 +940,15 @@ func CSPermitExchangeList(s *netlib.Session, packetid int, data interface{}, sid times := int32(v.GetTimes()) - int32(GetPermitExchangeNum(p, v.GetId())) + exchangeTimes := v.GetTimes() + if exchangeTimes == 0 { + exchangeTimes = -1 + } pack.List = append(pack.List, &welfare.ShopInfo{ Id: v.GetId(), Gain: gain, Cost: cost, - ExchangeTimes: int32(v.GetTimes()), + ExchangeTimes: int32(exchangeTimes), RemainTimes: times, Level: v.GetLevel(), NeedPermit: v.GetIsPermit(), @@ -1018,6 +1022,7 @@ func CSPermitExchange(s *netlib.Session, packetid int, data interface{}, sid int // 检查背包是否足够 var items []*Item var costItems []*Item + var cost, gain []model.AwardItem for _, v := range exchangeConfig.GetCost() { item := BagMgrSingleton.GetItem(p.SnId, v.GetItemId()) if item == nil || item.ItemNum < v.GetItemNum() { @@ -1031,6 +1036,10 @@ func CSPermitExchange(s *netlib.Session, packetid int, data interface{}, sid int ItemNum: v.GetItemNum(), Name: info.Name, }) + cost = append(cost, model.AwardItem{ + Id: v.GetItemId(), + Num: v.GetItemNum(), + }) } } for _, v := range exchangeConfig.GetGain() { @@ -1041,6 +1050,10 @@ func CSPermitExchange(s *netlib.Session, packetid int, data interface{}, sid int ItemNum: v.GetItemNum(), Name: info.Name, }) + gain = append(gain, model.AwardItem{ + Id: v.GetItemId(), + Num: v.GetItemNum(), + }) } } // 扣除背包物品 @@ -1050,6 +1063,15 @@ func CSPermitExchange(s *netlib.Session, packetid int, data interface{}, sid int // 增加背包物品 BagMgrSingleton.AddItems(p, items, 0, common.GainWayPermitExchangeGain, "system", "赛季通行证兑换获得", 0, 0, false) p.WelfData.PermitExchange[msg.GetId()] = append(p.WelfData.PermitExchange[msg.GetId()], now.Unix()) + // 兑换记录 + LogChannelSingleton.WriteLog(&model.BackendPermitExchange{ + Platform: p.Platform, + StartTs: startTs, + SnId: p.SnId, + Cost: cost, + Gain: gain, + Ts: now.Unix(), + }) } } diff --git a/worldsrv/bagmgr.go b/worldsrv/bagmgr.go index abf8d40..20c6fe0 100644 --- a/worldsrv/bagmgr.go +++ b/worldsrv/bagmgr.go @@ -149,6 +149,7 @@ func (this *BagMgr) GetItem(snid, itemId int32) *Item { // noLog 是否不记录日志 func (this *BagMgr) AddItems(p *Player, addItems []*Item, add int64, gainWay int32, operator, remark string, gameId, gameFreeId int64, noLog bool) (*BagInfo, bag.OpResultCode, bool) { + longItem := this.GetItem(p.SnId, common.ItemIDPermit) var items []*Item for _, v := range addItems { if v == nil || v.ItemNum == 0 { @@ -312,6 +313,14 @@ func (this *BagMgr) AddItems(p *Player, addItems []*Item, add int64, gainWay int ModId: p.Roles.ModId, StartTs: startTs, }) + // 参与赛季通行证活动 + if longItem == nil || longItem.ItemNum == 0 { + LogChannelSingleton.WriteLog(&model.BackendPermitJoin{ + Platform: p.Platform, + StartTs: PlatformMgrSingleton.GetConfig(p.Platform).PermitStartTs, + SnId: p.SnId, + }) + } } } if v == common.ItemIDLong { diff --git a/worldsrv/etcd.go b/worldsrv/etcd.go index 34edc88..01bc2ff 100644 --- a/worldsrv/etcd.go +++ b/worldsrv/etcd.go @@ -8,6 +8,7 @@ import ( "go.etcd.io/etcd/client/v3" "mongo.games.com/goserver/core/basic" + "mongo.games.com/goserver/core/logger" "mongo.games.com/goserver/core/task" "mongo.games.com/game/common" @@ -17,7 +18,6 @@ import ( loginproto "mongo.games.com/game/protocol/login" playerproto "mongo.games.com/game/protocol/player" "mongo.games.com/game/protocol/webapi" - "mongo.games.com/goserver/core/logger" ) func init() { @@ -308,6 +308,11 @@ func platformConfigEvent(ctx context.Context, completeKey string, isInit bool, e if err != nil { logger.Logger.Errorf("permit startts update error:%v", err) } + LogChannelSingleton.WriteLog(&model.BackendPermitCycle{ + Platform: config.Platform, + StartTs: common.GetDayStartTs(1719646575), + EndTs: common.GetDayStartTs(1719646575) + int64(actConfig.GetDays()*24*3600), + }) } return nil }), nil).StartByExecutor("permit_start_ts") @@ -352,7 +357,15 @@ func platformConfigEvent(ctx context.Context, completeKey string, isInit bool, e } } return nil - }), nil).StartByExecutor("permit_start_ts") + }), task.CompleteNotifyWrapper(func(i interface{}, t task.Task) { + if st.StartTs > 0 { + LogChannelSingleton.WriteLog(&model.BackendPermitCycle{ + Platform: config.Platform, + StartTs: st.StartTs, + EndTs: st.EndTs, + }) + } + })).StartByExecutor("permit_start_ts") default: logger.Logger.Errorf("etcd completeKey:%s, Not processed", completeKey) diff --git a/worldsrv/logchannel.go b/worldsrv/logchannel.go index d843e05..44f9987 100644 --- a/worldsrv/logchannel.go +++ b/worldsrv/logchannel.go @@ -61,4 +61,8 @@ func init() { LogChannelSingleton.RegisterLogCName(model.EvtInvite, &model.EvtInviteMsg{}) LogChannelSingleton.RegisterLogCName(model.MQRankPlayerLevel, &model.PlayerLevelInfo{}) LogChannelSingleton.RegisterLogCName(model.MQRankPlayerPermit, &model.PermitScore{}) + LogChannelSingleton.RegisterLogCName(mq.BackSystemPermitCycle, &model.BackendPermitCycle{}) + LogChannelSingleton.RegisterLogCName(mq.BackSystemPermitRank, &model.BackendPermitRank{}) + LogChannelSingleton.RegisterLogCName(mq.BackSystemPermitExchange, &model.BackendPermitExchange{}) + LogChannelSingleton.RegisterLogCName(mq.BackSystemPermitJoin, &model.BackendPermitJoin{}) } diff --git a/worldsrv/permitmgr.go b/worldsrv/permitmgr.go index f7adf96..b111bde 100644 --- a/worldsrv/permitmgr.go +++ b/worldsrv/permitmgr.go @@ -95,14 +95,27 @@ func (r *PermitMgr) OnDayTimer() { for r := rankInfo.GetStart(); r <= rankInfo.GetEnd(); r++ { if rank == int(r) { has = true + var awards []model.AwardItem for _, item := range rankInfo.GetItemId() { items = append(items, item.GetItemId()) items = append(items, int32(item.GetItemNum())) + awards = append(awards, model.AwardItem{ + Id: item.GetItemId(), + Num: item.GetItemNum(), + }) } if len(items) == 0 { break } logger.Logger.Infof("PermitMgr rank award snid:%v rank:%v", player.SnId, rank) + // 领奖记录 + LogChannelSingleton.WriteLog(&model.BackendPermitRank{ + Platform: platform, + StartTs: startTs, + SnId: curPlayer.SnId, + Rank: int32(rank), + Awards: awards, + }) // 发邮件 var newMsg *model.Message task.New(nil, task.CallableWrapper(func(o *basic.Object) interface{} { @@ -149,7 +162,15 @@ func (r *PermitMgr) OnDayTimer() { task.New(nil, task.CallableWrapper(func(o *basic.Object) interface{} { model.UptStrKVGameData(common.PermitStartTsKey+platform, string(b)) return nil - }), nil).StartByExecutor("permit_start_ts") + }), task.CompleteNotifyWrapper(func(i interface{}, t task.Task) { + if se.StartTs > 0 { + LogChannelSingleton.WriteLog(&model.BackendPermitCycle{ + Platform: platform, + StartTs: se.StartTs, + EndTs: se.EndTs, + }) + } + })).StartByExecutor("permit_start_ts") } } } diff --git a/worldsrv/player.go b/worldsrv/player.go index 2aeeb75..b7ab0e8 100644 --- a/worldsrv/player.go +++ b/worldsrv/player.go @@ -60,7 +60,6 @@ const ( UpdateField_RankScore UpdateField_PhoneScore UpdateField_InviteScore - UpdateField_Long ) const ( @@ -2563,14 +2562,6 @@ func (this *Player) SendDiffData() { if len(pack.RankScore) == 0 { pack.RankScore = nil } - // 龙币 - itemLong := BagMgrSingleton.GetItem(this.SnId, common.ItemIDLong) - if itemLong != nil && this.diffData.Long != itemLong.ItemNum { - dirty = true - pack.Long = proto.Int64(itemLong.ItemNum) - this.diffData.Long = itemLong.ItemNum - pack.UpdateField += UpdateField_Long - } if dirty { FriendMgrSington.UpdateInfo(this.Platform, this.SnId) @@ -3012,10 +3003,6 @@ func (this *Player) SendPlayerInfo() { if item := BagMgrSingleton.GetItem(this.SnId, VCard); item != nil { scPlayerData.Data.VCoin = item.ItemNum //V卡 } - // 龙币 - if item := BagMgrSingleton.GetItem(this.SnId, common.ItemIDLong); item != nil { - scPlayerData.Data.Long = item.ItemNum - } // 排位积分 scPlayerData.Data.RankScore = RankMgrSingleton.GetPlayerRankScore(this.SnId) @@ -3935,6 +3922,11 @@ func (this *Player) GetPayGoodsInfo() { } if info.PageId == ShopPagePermit { this.Permit = info.CreateTs.Local() + LogChannelSingleton.WriteLog(&model.BackendPermitJoin{ + Platform: this.Platform, + StartTs: PlatformMgrSingleton.GetConfig(this.Platform).PermitStartTs, + SnId: this.SnId, + }) } switch info.Remark { case "BlindBox": diff --git a/worldsrv/trascate_webapi.go b/worldsrv/trascate_webapi.go index 16693b1..a1490f5 100644 --- a/worldsrv/trascate_webapi.go +++ b/worldsrv/trascate_webapi.go @@ -4126,6 +4126,11 @@ func init() { } if info.PageId == ShopPagePermit { player.Permit = info.CreateTs.Local() + LogChannelSingleton.WriteLog(&model.BackendPermitJoin{ + Platform: player.Platform, + StartTs: PlatformMgrSingleton.GetConfig(player.Platform).PermitStartTs, + SnId: player.SnId, + }) } switch info.Remark { case "BlindBox": From 1f8b7e1d706bdf9598a15f95c0d9a1a41f9e4c88 Mon Sep 17 00:00:00 2001 From: sk <123456@qq.com> Date: Wed, 3 Jul 2024 14:47:07 +0800 Subject: [PATCH 06/10] =?UTF-8?q?=E6=89=93=E5=8D=B0rabbitmq=E6=97=A5?= =?UTF-8?q?=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- public | 2 +- worldsrv/logchannel.go | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/public b/public index 63eadb8..3f6ae47 160000 --- a/public +++ b/public @@ -1 +1 @@ -Subproject commit 63eadb869736b9d3e16c993cd99675c0e0de638c +Subproject commit 3f6ae474769f33050525f59aed42321b93a788cc diff --git a/worldsrv/logchannel.go b/worldsrv/logchannel.go index 44f9987..322554d 100644 --- a/worldsrv/logchannel.go +++ b/worldsrv/logchannel.go @@ -3,6 +3,8 @@ package main import ( "reflect" + "mongo.games.com/goserver/core/logger" + "mongo.games.com/game/model" "mongo.games.com/game/mq" ) @@ -39,6 +41,7 @@ func (c *LogChannel) WriteLog(log interface{}) { if cname == "" { cname = "_null_" } + logger.Logger.Tracef("==> RabbitMQ(%v): %#v", cname, log) mq.Send(cname, log) } From 0c45f9c44a9eb2996a26866604ae863fde23b6d4 Mon Sep 17 00:00:00 2001 From: sk <123456@qq.com> Date: Wed, 3 Jul 2024 15:12:55 +0800 Subject: [PATCH 07/10] update data --- data/DB_GameItem.dat | Bin 8958 -> 8958 bytes data/DB_GameItem.json | 10 +++++----- data/DB_PropExchange.dat | Bin 384 -> 384 bytes data/DB_Task.dat | Bin 2441 -> 2441 bytes data/DB_Task.json | 28 ++++++++++++++-------------- public | 2 +- xlsx/DB_GameItem.xlsx | Bin 23766 -> 23675 bytes xlsx/DB_Task.xlsx | Bin 21852 -> 21860 bytes 8 files changed, 20 insertions(+), 20 deletions(-) diff --git a/data/DB_GameItem.dat b/data/DB_GameItem.dat index 8aa980bdbd719074b854f9cf973447a2d34de6ef..aeb29cd568b84f981116e3dc772aa2e2141cd5d7 100644 GIT binary patch delta 49 vcmez8`pR^}!U;IUwf4%!TO#s{`7PVhsWVK1A&f?hT&HjX7gmfXZuR?G)lY$ra~WA5F~I9Y;Gmyv6-8)F|- zB~S{eauHA^j;wUDl#sjl>HZ!tIGD3w}p~4Fe$xYVgh>;ZGlH&LkD!?ScrXZ>@ zK?ZE^YM`G)CNJQSVw9V_n?p)Mj!T^5Z>Rt(P>r|-GhB(>~gNiUm#oD~PhLLj}Mmu=!IE9QpIs)^6_n5S)Ink>Pn%P2S5jj<1? zauHAkBUI&q7Td{B87BZmFSaoYa6v^cEcMyk#w5n%3Q^1oGxm_210$CT$I>~B0#XvJ z3alCz+L#R(tstsknt?`wRV@RmQUIx%e1KJU@;{cvP^*#DP2R+M4vXkSws=8^M-I&5 zftt>=nUP(R5h}dkkQ`K)b+R@`jHD5l6vwYn0VWAH1yPL&GGHgI2Kv%?@&XPiMw7|A zIiw^^xx_jCh6=C()rf0ATn$oUHu)`wgp@hZ#o`?QLj~A@(h?esa1$&h%X3OdS%Re- e!vr{i(o#s$R+9rcB^a$IXK_lg+ITTBG6DcuqhO5y diff --git a/data/DB_Task.json b/data/DB_Task.json index a2d04c9..34e041c 100644 --- a/data/DB_Task.json +++ b/data/DB_Task.json @@ -91,7 +91,7 @@ "TargetTimes": 200, "FinishTimes": 1, "Award": { - "100001": 2000000 + "100001": 1000000 } }, { @@ -113,7 +113,7 @@ "TargetTimes": 400, "FinishTimes": 1, "Award": { - "100001": 5000000 + "100001": 3000000 } }, { @@ -135,7 +135,7 @@ "TargetTimes": 600, "FinishTimes": 1, "Award": { - "100002": 30 + "100002": 10 } }, { @@ -807,7 +807,7 @@ "TargetTimes": 1, "FinishTimes": 1, "Award": { - "100011": 50 + "100011": 20 } }, { @@ -818,7 +818,7 @@ "TargetTimes": 3600, "FinishTimes": 1, "Award": { - "100011": 51 + "100011": 20 }, "Position": [ 1, @@ -833,7 +833,7 @@ "TargetTimes": 1, "FinishTimes": 1, "Award": { - "100011": 52 + "100011": 30 }, "Position": [ 0, @@ -848,7 +848,7 @@ "TargetTimes": 1, "FinishTimes": 1, "Award": { - "100011": 53 + "100011": 30 } }, { @@ -859,7 +859,7 @@ "TargetTimes": 3, "FinishTimes": 1, "Award": { - "100011": 54 + "100011": 30 }, "GameType": 1 }, @@ -871,7 +871,7 @@ "TargetTimes": 3, "FinishTimes": 1, "Award": { - "100011": 55 + "100011": 30 }, "GameType": 1 }, @@ -883,7 +883,7 @@ "TargetTimes": 1, "FinishTimes": 1, "Award": { - "100011": 56 + "100011": 30 }, "GameType": 1 }, @@ -895,7 +895,7 @@ "TargetTimes": 3, "FinishTimes": 1, "Award": { - "100011": 57 + "100011": 50 }, "GameType": 1 }, @@ -907,7 +907,7 @@ "TargetTimes": 1, "FinishTimes": 1, "Award": { - "100011": 58 + "100011": 50 }, "GameType": 1 }, @@ -919,7 +919,7 @@ "TargetTimes": 100, "FinishTimes": 1, "Award": { - "100011": 59 + "100011": 80 }, "Position": [ 1, @@ -934,7 +934,7 @@ "TargetTimes": 1, "FinishTimes": 1, "Award": { - "100011": 60 + "100011": 80 }, "Position": [ 1, diff --git a/public b/public index 3f6ae47..6c801ea 160000 --- a/public +++ b/public @@ -1 +1 @@ -Subproject commit 3f6ae474769f33050525f59aed42321b93a788cc +Subproject commit 6c801eab0d99ba3c8878278677bb5ef17a1370bd diff --git a/xlsx/DB_GameItem.xlsx b/xlsx/DB_GameItem.xlsx index 69910f2eb8a5f3b66a00ddb44c37166a7114fa66..0dd1436cbf9661211785fe19132ce129f208bb81 100644 GIT binary patch delta 14933 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 Klo5^lKl?wNDre>Z delta 15076 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 V{J(E9XaD^sBRzaXX03;p{}0#lFgE}I diff --git a/xlsx/DB_Task.xlsx b/xlsx/DB_Task.xlsx index b86342579cbfbd3e0e8055fef55c93ced4bc4813..6525091788bcbe3969e8a3fb0efd639bfefbab8b 100644 GIT binary patch delta 15780 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 From e2d18f491bb4f3e4592d5eac466c82bbbc42e2f9 Mon Sep 17 00:00:00 2001 From: sk <123456@qq.com> Date: Wed, 3 Jul 2024 15:25:33 +0800 Subject: [PATCH 08/10] =?UTF-8?q?=E8=B5=9B=E5=AD=A3=E9=80=9A=E8=A1=8C?= =?UTF-8?q?=E8=AF=81=E6=8E=92=E8=A1=8C=E6=A6=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- dbproxy/svc/l_rankplayerpermit.go | 4 ++-- model/gameparam.go | 2 +- model/rank.go | 1 + worldsrv/bagmgr.go | 1 + 4 files changed, 5 insertions(+), 3 deletions(-) diff --git a/dbproxy/svc/l_rankplayerpermit.go b/dbproxy/svc/l_rankplayerpermit.go index 8ee3f51..f963f29 100644 --- a/dbproxy/svc/l_rankplayerpermit.go +++ b/dbproxy/svc/l_rankplayerpermit.go @@ -22,7 +22,7 @@ func RankPlayerPermitCollection(plt string) *mongo.Collection { c, first := s.DB().C(RankPlayerPermitCollName) if first { c.EnsureIndex(mgo.Index{Key: []string{"snid"}, Background: true, Sparse: true}) - c.EnsureIndex(mgo.Index{Key: []string{"startts", "-exp"}, Background: true, Sparse: true}) + c.EnsureIndex(mgo.Index{Key: []string{"startts", "-exp", "-ts"}, Background: true, Sparse: true}) } return c } @@ -60,7 +60,7 @@ func (svc *RankPlayerPermitSvc) Find(args *model.FindPlayerPermitListArgs, ret * return RankPlayerPermitColError } - err := fc.Find(bson.M{"startts": args.StartTs}).Sort("-exp").Limit(int(model.GameParamData.RankPlayerPermitMaxNum)).All(&ret.List) + err := fc.Find(bson.M{"startts": args.StartTs}).Sort("-exp", "-ts").Limit(int(model.GameParamData.RankPlayerPermitMaxNum)).All(&ret.List) if err != nil && !errors.Is(err, mgo.ErrNotFound) { logger.Logger.Error("QueryPermit is err: ", err) return err diff --git a/model/gameparam.go b/model/gameparam.go index 2bcf0bd..52a944b 100644 --- a/model/gameparam.go +++ b/model/gameparam.go @@ -207,6 +207,6 @@ func InitGameParam() { GameParamData.BackendTimeLocal = 8 } if GameParamData.RankPlayerPermitMaxNum == 0 { - GameParamData.RankPlayerPermitMaxNum = 100 + GameParamData.RankPlayerPermitMaxNum = 20 } } diff --git a/model/rank.go b/model/rank.go index f568778..e4d910e 100644 --- a/model/rank.go +++ b/model/rank.go @@ -285,6 +285,7 @@ type PermitScore struct { Exp int64 ModId int32 //头像 StartTs int64 // 赛季开始时间戳 + Ts int64 } type FindPlayerPermitListArgs struct { diff --git a/worldsrv/bagmgr.go b/worldsrv/bagmgr.go index 20c6fe0..10620a1 100644 --- a/worldsrv/bagmgr.go +++ b/worldsrv/bagmgr.go @@ -312,6 +312,7 @@ func (this *BagMgr) AddItems(p *Player, addItems []*Item, add int64, gainWay int Exp: item.ItemNum, ModId: p.Roles.ModId, StartTs: startTs, + Ts: time.Now().Unix(), }) // 参与赛季通行证活动 if longItem == nil || longItem.ItemNum == 0 { From 87a9186ae32c0d587ff66fa47ed13da89c31fe00 Mon Sep 17 00:00:00 2001 From: sk <123456@qq.com> Date: Wed, 3 Jul 2024 17:26:12 +0800 Subject: [PATCH 09/10] =?UTF-8?q?=E8=B5=9B=E5=AD=A3=E9=80=9A=E8=A1=8C?= =?UTF-8?q?=E8=AF=81=E6=95=B0=E6=8D=AE=E8=AE=B0=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- model/permit.go | 1 + worldsrv/permitmgr.go | 1 + 2 files changed, 2 insertions(+) diff --git a/model/permit.go b/model/permit.go index e418199..9fb30d9 100644 --- a/model/permit.go +++ b/model/permit.go @@ -18,6 +18,7 @@ type BackendPermitRank struct { SnId int32 // 玩家id Rank int32 // 排名 1~100 Awards []AwardItem // 奖励 + Score int64 // 积分 } // BackendPermitExchange 玩家兑换 diff --git a/worldsrv/permitmgr.go b/worldsrv/permitmgr.go index b111bde..ee6ebbb 100644 --- a/worldsrv/permitmgr.go +++ b/worldsrv/permitmgr.go @@ -114,6 +114,7 @@ func (r *PermitMgr) OnDayTimer() { StartTs: startTs, SnId: curPlayer.SnId, Rank: int32(rank), + Score: list.List[k].Exp, Awards: awards, }) // 发邮件 From 182d4e9612363e20d0bd09dce79a2182cd6c74b5 Mon Sep 17 00:00:00 2001 From: sk <123456@qq.com> Date: Wed, 3 Jul 2024 18:49:48 +0800 Subject: [PATCH 10/10] =?UTF-8?q?=E8=B5=9B=E5=AD=A3=E9=80=9A=E8=A1=8C?= =?UTF-8?q?=E8=AF=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- worldsrv/action_task.go | 5 +- worldsrv/etcd.go | 112 ---------------------------------------- 2 files changed, 4 insertions(+), 113 deletions(-) diff --git a/worldsrv/action_task.go b/worldsrv/action_task.go index 93242b5..30fa879 100644 --- a/worldsrv/action_task.go +++ b/worldsrv/action_task.go @@ -177,7 +177,7 @@ func CSTaskReward(s *netlib.Session, packetId int, data interface{}, sid int64) Id: msg.GetId(), Reward: make(map[int64]int64), } - + isPermit := p.GetIsPermit() f := func(id int32) { if IsTaskFinish(p, id) && !IsTaskReward(p, id) { p.WelfData.Task[id].Ts = time.Now().Unix() @@ -185,6 +185,9 @@ func CSTaskReward(s *netlib.Session, packetId int, data interface{}, sid int64) if data != nil { SendReward(p, data.Award, msg.Tp) for k, vv := range data.GetAward() { + if k == common.ItemIDPermit && isPermit { + vv += vv / 2 // 增加50% + } ret.Reward[k] = ret.Reward[k] + vv } } diff --git a/worldsrv/etcd.go b/worldsrv/etcd.go index 01bc2ff..4490274 100644 --- a/worldsrv/etcd.go +++ b/worldsrv/etcd.go @@ -207,118 +207,6 @@ func platformConfigEvent(ctx context.Context, completeKey string, isInit bool, e case *webapi.ActInviteConfig: PlatformMgrSingleton.GetConfig(config.Platform).ActInviteConfig = config case *webapi.ActPermitConfig: - // test - actConfig := &webapi.ActPermitConfig{ - Platform: "1", - StartTs: 1719646575, - Days: 7, - } - channelConfig := webapi.PermitChannelConfig{ - Channel: "Official", - } - for i := 0; i < 100; i++ { - channelConfig.LevelConfig = append(channelConfig.LevelConfig, &webapi.PermitLevelConfig{ - Rank: int32(i + 1), - Score: int64((i + 1) * 100), - Award1: []*webapi.ItemInfo{ - { - ItemId: common.ItemIDCoin, - ItemNum: 100, - }, - }, - Award2: []*webapi.ItemInfo{ - { - ItemId: common.ItemIDLong, - ItemNum: 100, - }, - { - ItemId: common.ItemIDDiamond, - ItemNum: 100, - }, - }, - }) - } - itemId := []int32{100001, 100002, 10001, 20001, 20002, 20003} - for i := 0; i < 10; i++ { - level := 0 - if common.RandInt(0, 3) == 0 { - level = common.RandInt(1, 101) - } - channelConfig.ExchangeConfig = append(channelConfig.ExchangeConfig, &webapi.PermitExchangeConfig{ - Id: int32(i + 1), - SortId: int32(100 - i), - Gain: []*webapi.ItemInfo{ - { - ItemId: itemId[common.RandInt(len(itemId))], - ItemNum: 1, - }, - }, - Cost: []*webapi.ItemInfo{{ - ItemId: common.ItemIDLong, - ItemNum: int64(common.RandInt(50, 101)), - }}, - IsPermit: common.RandInt(0, 3) == 0, - Level: int64(level), - Times: int64(common.RandInt(0, 5)), - IsShow: common.RandInt(0, 4) != 0, - }) - } - rankN := 1 - for i := 0; i < 3; i++ { - sub := common.RandInt(0, 3) - items := []*webapi.ItemInfo{ - { - ItemId: common.ItemIDCoin, - ItemNum: 100, - }, - } - if common.RandInt(2) == 0 { - items = append(items, &webapi.ItemInfo{ - ItemId: common.ItemIDDiamond, - ItemNum: 100, - }) - } - channelConfig.RankConfig = append(channelConfig.RankConfig, &webapi.PermitRankConfig{ - Start: int32(rankN), - End: int32(rankN + sub), - ItemId: items, - }) - rankN = rankN + sub + 1 - } - - actConfig.Configs = append(actConfig.Configs, &channelConfig) - webConfig := channelConfig - webConfig.Channel = "Web" - actConfig.Configs = append(actConfig.Configs, &webConfig) - googleConfig := channelConfig - googleConfig.Channel = "GooglePlay" - actConfig.Configs = append(actConfig.Configs, &googleConfig) - PlatformMgrSingleton.GetConfig("1").ActPermitConfig = actConfig - PlatformMgrSingleton.GetConfig("1").PermitStartTs = common.GetDayStartTs(1719646575) - PlatformMgrSingleton.GetConfig("1").PermitEndTs = common.GetDayStartTs(1719646575) + int64(actConfig.GetDays()*24*3600) - task.New(nil, task.CallableWrapper(func(o *basic.Object) interface{} { - b, err := json.Marshal(&model.PermitStartTs{ - StartTs: common.GetDayStartTs(1719646575), - EndTs: common.GetDayStartTs(1719646575) + int64(actConfig.GetDays()*24*3600), - }) - if err != nil { - logger.Logger.Errorf("permit startts save error: %v", err) - } else { - err := model.UptStrKVGameData(common.PermitStartTsKey+"1", string(b)) - if err != nil { - logger.Logger.Errorf("permit startts update error:%v", err) - } - LogChannelSingleton.WriteLog(&model.BackendPermitCycle{ - Platform: config.Platform, - StartTs: common.GetDayStartTs(1719646575), - EndTs: common.GetDayStartTs(1719646575) + int64(actConfig.GetDays()*24*3600), - }) - } - return nil - }), nil).StartByExecutor("permit_start_ts") - logger.Logger.Tracef("==> PermitConfig: %v ", actConfig) - // test - break PlatformMgrSingleton.GetConfig(config.Platform).ActPermitConfig = config st := new(model.PermitStartTs) permit := model.GetStrKVGameData(common.PermitStartTsKey + config.Platform)