diff --git a/common/constant.go b/common/constant.go index efe6abc..26b1d34 100644 --- a/common/constant.go +++ b/common/constant.go @@ -712,6 +712,7 @@ const ( TaskTypeFirstLogin = 15 // 每日首次登录 TaskTypeInviteNum = 16 // 邀请绑定数量 TaskTypeTurnplate = 17 // 转盘抽奖次数 + TaskTypeInviteRecharge = 18 // 被邀请人充值金额 ) const ( @@ -791,3 +792,7 @@ const ( ) var PetIDs = []int32{PetIDChicken} + +const ( + InviteScoreRecharge = 10000 // 用户每充值$1邀请人获得积分 +) diff --git a/data/DB_Createroom.dat b/data/DB_Createroom.dat index 8fc44c6..ab19bcb 100644 Binary files a/data/DB_Createroom.dat and b/data/DB_Createroom.dat differ diff --git a/data/DB_Createroom.json b/data/DB_Createroom.json index 6890794..36b85c5 100644 --- a/data/DB_Createroom.json +++ b/data/DB_Createroom.json @@ -1675,7 +1675,7 @@ ] }, { - "Id": 103, + "Id": 1, "GameId": 209, "GameSite": 1, "GoldRange": [ @@ -1687,7 +1687,7 @@ ] }, { - "Id": 104, + "Id": 2, "GameId": 209, "GameSite": 1, "GoldRange": [ @@ -1699,7 +1699,7 @@ ] }, { - "Id": 105, + "Id": 3, "GameId": 209, "GameSite": 1, "GoldRange": [ @@ -1712,7 +1712,7 @@ ] }, { - "Id": 106, + "Id": 4, "GameId": 209, "GameSite": 1, "GoldRange": [ @@ -1726,7 +1726,7 @@ ] }, { - "Id": 107, + "Id": 5, "GameId": 209, "GameSite": 1, "GoldRange": [ @@ -1741,7 +1741,7 @@ ] }, { - "Id": 108, + "Id": 6, "GameId": 209, "GameSite": 1, "GoldRange": [ @@ -1757,7 +1757,7 @@ ] }, { - "Id": 109, + "Id": 7, "GameId": 209, "GameSite": 1, "GoldRange": [ @@ -1774,7 +1774,7 @@ ] }, { - "Id": 110, + "Id": 8, "GameId": 209, "GameSite": 1, "GoldRange": [ @@ -1791,9 +1791,1683 @@ 30000 ] }, + { + "Id": 9, + "GameId": 209, + "GameSite": 1, + "GoldRange": [ + 910000, + 1040000 + ], + "BetRange": [ + 2000, + 5000, + 10000, + 15000, + 20000, + 25000, + 35000 + ] + }, + { + "Id": 10, + "GameId": 209, + "GameSite": 1, + "GoldRange": [ + 1040000, + 1170000 + ], + "BetRange": [ + 5000, + 10000, + 15000, + 20000, + 25000, + 35000, + 40000 + ] + }, + { + "Id": 11, + "GameId": 209, + "GameSite": 1, + "GoldRange": [ + 1170000, + 1300000 + ], + "BetRange": [ + 5000, + 10000, + 15000, + 20000, + 25000, + 35000, + 45000 + ] + }, + { + "Id": 12, + "GameId": 209, + "GameSite": 1, + "GoldRange": [ + 1300000, + 1430000 + ], + "BetRange": [ + 5000, + 10000, + 15000, + 20000, + 25000, + 35000, + 50000 + ] + }, + { + "Id": 13, + "GameId": 209, + "GameSite": 1, + "GoldRange": [ + 1430000, + 1560000 + ], + "BetRange": [ + 5000, + 10000, + 15000, + 20000, + 25000, + 35000, + 55000 + ] + }, + { + "Id": 14, + "GameId": 209, + "GameSite": 1, + "GoldRange": [ + 1560000, + 1690000 + ], + "BetRange": [ + 5000, + 10000, + 15000, + 20000, + 35000, + 50000, + 60000 + ] + }, + { + "Id": 15, + "GameId": 209, + "GameSite": 1, + "GoldRange": [ + 1690000, + 1820000 + ], + "BetRange": [ + 5000, + 10000, + 20000, + 30000, + 40000, + 50000, + 65000 + ] + }, + { + "Id": 16, + "GameId": 209, + "GameSite": 1, + "GoldRange": [ + 1820000, + 1950000 + ], + "BetRange": [ + 10000, + 20000, + 30000, + 40000, + 50000, + 60000, + 70000 + ] + }, + { + "Id": 17, + "GameId": 209, + "GameSite": 1, + "GoldRange": [ + 1950000, + 2080000 + ], + "BetRange": [ + 10000, + 20000, + 30000, + 40000, + 50000, + 60000, + 75000 + ] + }, + { + "Id": 18, + "GameId": 209, + "GameSite": 1, + "GoldRange": [ + 2080000, + 2210000 + ], + "BetRange": [ + 10000, + 20000, + 30000, + 40000, + 50000, + 60000, + 80000 + ] + }, + { + "Id": 19, + "GameId": 209, + "GameSite": 1, + "GoldRange": [ + 2210000, + 2340000 + ], + "BetRange": [ + 15000, + 30000, + 40000, + 50000, + 60000, + 70000, + 80000 + ] + }, + { + "Id": 20, + "GameId": 209, + "GameSite": 1, + "GoldRange": [ + 2340000, + 2470000 + ], + "BetRange": [ + 15000, + 30000, + 40000, + 50000, + 60000, + 70000, + 90000 + ] + }, + { + "Id": 21, + "GameId": 209, + "GameSite": 1, + "GoldRange": [ + 2470000, + 2600000 + ], + "BetRange": [ + 15000, + 30000, + 40000, + 50000, + 60000, + 75000, + 95000 + ] + }, + { + "Id": 22, + "GameId": 209, + "GameSite": 1, + "GoldRange": [ + 2600000, + 3900000 + ], + "BetRange": [ + 20000, + 35000, + 50000, + 60000, + 70000, + 85000, + 100000 + ] + }, + { + "Id": 23, + "GameId": 209, + "GameSite": 2, + "GoldRange": [ + 3900000, + 5200000 + ], + "BetRange": [ + 100000, + 150000 + ] + }, + { + "Id": 24, + "GameId": 209, + "GameSite": 2, + "GoldRange": [ + 5200000, + 6500000 + ], + "BetRange": [ + 100000, + 150000, + 200000 + ] + }, + { + "Id": 25, + "GameId": 209, + "GameSite": 2, + "GoldRange": [ + 6500000, + 7800000 + ], + "BetRange": [ + 100000, + 150000, + 200000, + 250000 + ] + }, + { + "Id": 26, + "GameId": 209, + "GameSite": 2, + "GoldRange": [ + 7800000, + 9100000 + ], + "BetRange": [ + 100000, + 150000, + 200000, + 300000 + ] + }, + { + "Id": 27, + "GameId": 209, + "GameSite": 2, + "GoldRange": [ + 9100000, + 10400000 + ], + "BetRange": [ + 100000, + 150000, + 200000, + 300000, + 350000 + ] + }, + { + "Id": 28, + "GameId": 209, + "GameSite": 2, + "GoldRange": [ + 10400000, + 11700000 + ], + "BetRange": [ + 100000, + 150000, + 200000, + 300000, + 350000, + 400000 + ] + }, + { + "Id": 29, + "GameId": 209, + "GameSite": 2, + "GoldRange": [ + 11700000, + 13000000 + ], + "BetRange": [ + 100000, + 150000, + 200000, + 300000, + 350000, + 450000 + ] + }, + { + "Id": 30, + "GameId": 209, + "GameSite": 2, + "GoldRange": [ + 13000000, + 14300000 + ], + "BetRange": [ + 100000, + 150000, + 200000, + 300000, + 400000, + 500000 + ] + }, + { + "Id": 31, + "GameId": 209, + "GameSite": 2, + "GoldRange": [ + 14300000, + 15600000 + ], + "BetRange": [ + 100000, + 150000, + 200000, + 300000, + 400000, + 550000 + ] + }, + { + "Id": 32, + "GameId": 209, + "GameSite": 2, + "GoldRange": [ + 15600000, + 16900000 + ], + "BetRange": [ + 100000, + 200000, + 300000, + 400000, + 500000, + 600000 + ] + }, + { + "Id": 33, + "GameId": 209, + "GameSite": 2, + "GoldRange": [ + 16900000, + 18200000 + ], + "BetRange": [ + 100000, + 200000, + 300000, + 400000, + 500000, + 650000 + ] + }, + { + "Id": 34, + "GameId": 209, + "GameSite": 2, + "GoldRange": [ + 18200000, + 19500000 + ], + "BetRange": [ + 100000, + 200000, + 300000, + 500000, + 600000, + 700000 + ] + }, + { + "Id": 35, + "GameId": 209, + "GameSite": 2, + "GoldRange": [ + 19500000, + 20800000 + ], + "BetRange": [ + 200000, + 300000, + 400000, + 500000, + 600000, + 750000 + ] + }, + { + "Id": 36, + "GameId": 209, + "GameSite": 2, + "GoldRange": [ + 20800000, + 22100000 + ], + "BetRange": [ + 200000, + 300000, + 400000, + 500000, + 600000, + 800000 + ] + }, + { + "Id": 37, + "GameId": 209, + "GameSite": 2, + "GoldRange": [ + 22100000, + 23400000 + ], + "BetRange": [ + 200000, + 300000, + 500000, + 600000, + 700000, + 850000 + ] + }, + { + "Id": 38, + "GameId": 209, + "GameSite": 2, + "GoldRange": [ + 23400000, + 24700000 + ], + "BetRange": [ + 200000, + 300000, + 500000, + 600000, + 800000, + 900000 + ] + }, + { + "Id": 39, + "GameId": 209, + "GameSite": 2, + "GoldRange": [ + 24700000, + 26000000 + ], + "BetRange": [ + 200000, + 300000, + 500000, + 600000, + 800000, + 950000 + ] + }, + { + "Id": 40, + "GameId": 209, + "GameSite": 2, + "GoldRange": [ + 26000000, + 52000000 + ], + "BetRange": [ + 200000, + 300000, + 500000, + 600000, + 800000, + 1000000 + ] + }, + { + "Id": 41, + "GameId": 209, + "GameSite": 3, + "GoldRange": [ + 52000000, + 130000000 + ], + "BetRange": [ + 1000000, + 2000000 + ] + }, + { + "Id": 42, + "GameId": 209, + "GameSite": 3, + "GoldRange": [ + 130000000, + 260000000 + ], + "BetRange": [ + 1000000, + 2000000, + 5000000 + ] + }, + { + "Id": 43, + "GameId": 209, + "GameSite": 3, + "GoldRange": [ + 260000000, + 390000000 + ], + "BetRange": [ + 1000000, + 2000000, + 5000000, + 10000000 + ] + }, + { + "Id": 44, + "GameId": 209, + "GameSite": 3, + "GoldRange": [ + 390000000, + 520000000 + ], + "BetRange": [ + 1000000, + 2000000, + 5000000, + 15000000 + ] + }, + { + "Id": 45, + "GameId": 209, + "GameSite": 3, + "GoldRange": [ + 520000000, + 650000000 + ], + "BetRange": [ + 1000000, + 2000000, + 5000000, + 15000000, + 20000000 + ] + }, + { + "Id": 46, + "GameId": 209, + "GameSite": 3, + "GoldRange": [ + 650000000, + 780000000 + ], + "BetRange": [ + 1000000, + 2000000, + 5000000, + 15000000, + 20000000, + 25000000 + ] + }, + { + "Id": 47, + "GameId": 209, + "GameSite": 3, + "GoldRange": [ + 780000000, + 910000000 + ], + "BetRange": [ + 1000000, + 2000000, + 5000000, + 15000000, + 20000000, + 30000000 + ] + }, + { + "Id": 48, + "GameId": 209, + "GameSite": 3, + "GoldRange": [ + 910000000, + 1040000000 + ], + "BetRange": [ + 1000000, + 2000000, + 5000000, + 15000000, + 20000000, + 30000000 + ] + }, + { + "Id": 49, + "GameId": 209, + "GameSite": 3, + "GoldRange": [ + 1040000000, + 1170000000 + ], + "BetRange": [ + 1000000, + 2000000, + 5000000, + 15000000, + 20000000, + 40000000 + ] + }, + { + "Id": 50, + "GameId": 209, + "GameSite": 3, + "GoldRange": [ + 1170000000, + 1300000000 + ], + "BetRange": [ + 1000000, + 2000000, + 5000000, + 15000000, + 20000000, + 40000000 + ] + }, + { + "Id": 51, + "GameId": 209, + "GameSite": 3, + "GoldRange": [ + 1300000000 + ], + "BetRange": [ + 5000000, + 10000000, + 20000000, + 30000000, + 40000000, + 50000000 + ] + }, + { + "Id": 52, + "GameId": 210, + "GameSite": 1, + "GoldRange": [ + 0, + 52000 + ], + "BetRange": [ + 0 + ] + }, + { + "Id": 53, + "GameId": 210, + "GameSite": 1, + "GoldRange": [ + 52000, + 130000 + ], + "BetRange": [ + 2000 + ] + }, + { + "Id": 54, + "GameId": 210, + "GameSite": 1, + "GoldRange": [ + 130000, + 260000 + ], + "BetRange": [ + 2000, + 5000 + ] + }, + { + "Id": 55, + "GameId": 210, + "GameSite": 1, + "GoldRange": [ + 260000, + 390000 + ], + "BetRange": [ + 2000, + 5000, + 10000 + ] + }, + { + "Id": 56, + "GameId": 210, + "GameSite": 1, + "GoldRange": [ + 390000, + 520000 + ], + "BetRange": [ + 2000, + 5000, + 10000, + 15000 + ] + }, + { + "Id": 57, + "GameId": 210, + "GameSite": 1, + "GoldRange": [ + 520000, + 650000 + ], + "BetRange": [ + 2000, + 5000, + 10000, + 15000, + 20000 + ] + }, + { + "Id": 58, + "GameId": 210, + "GameSite": 1, + "GoldRange": [ + 650000, + 780000 + ], + "BetRange": [ + 2000, + 5000, + 10000, + 15000, + 20000, + 25000 + ] + }, + { + "Id": 59, + "GameId": 210, + "GameSite": 1, + "GoldRange": [ + 780000, + 910000 + ], + "BetRange": [ + 2000, + 5000, + 10000, + 15000, + 20000, + 25000, + 30000 + ] + }, + { + "Id": 60, + "GameId": 210, + "GameSite": 1, + "GoldRange": [ + 910000, + 1040000 + ], + "BetRange": [ + 2000, + 5000, + 10000, + 15000, + 20000, + 25000, + 35000 + ] + }, + { + "Id": 61, + "GameId": 210, + "GameSite": 1, + "GoldRange": [ + 1040000, + 1170000 + ], + "BetRange": [ + 5000, + 10000, + 15000, + 20000, + 25000, + 35000, + 40000 + ] + }, + { + "Id": 62, + "GameId": 210, + "GameSite": 1, + "GoldRange": [ + 1170000, + 1300000 + ], + "BetRange": [ + 5000, + 10000, + 15000, + 20000, + 25000, + 35000, + 45000 + ] + }, + { + "Id": 63, + "GameId": 210, + "GameSite": 1, + "GoldRange": [ + 1300000, + 1430000 + ], + "BetRange": [ + 5000, + 10000, + 15000, + 20000, + 25000, + 35000, + 50000 + ] + }, + { + "Id": 64, + "GameId": 210, + "GameSite": 1, + "GoldRange": [ + 1430000, + 1560000 + ], + "BetRange": [ + 5000, + 10000, + 15000, + 20000, + 25000, + 35000, + 55000 + ] + }, + { + "Id": 65, + "GameId": 210, + "GameSite": 1, + "GoldRange": [ + 1560000, + 1690000 + ], + "BetRange": [ + 5000, + 10000, + 15000, + 20000, + 35000, + 50000, + 60000 + ] + }, + { + "Id": 66, + "GameId": 210, + "GameSite": 1, + "GoldRange": [ + 1690000, + 1820000 + ], + "BetRange": [ + 5000, + 10000, + 20000, + 30000, + 40000, + 50000, + 65000 + ] + }, + { + "Id": 67, + "GameId": 210, + "GameSite": 1, + "GoldRange": [ + 1820000, + 1950000 + ], + "BetRange": [ + 10000, + 20000, + 30000, + 40000, + 50000, + 60000, + 70000 + ] + }, + { + "Id": 68, + "GameId": 210, + "GameSite": 1, + "GoldRange": [ + 1950000, + 2080000 + ], + "BetRange": [ + 10000, + 20000, + 30000, + 40000, + 50000, + 60000, + 75000 + ] + }, + { + "Id": 69, + "GameId": 210, + "GameSite": 1, + "GoldRange": [ + 2080000, + 2210000 + ], + "BetRange": [ + 10000, + 20000, + 30000, + 40000, + 50000, + 60000, + 80000 + ] + }, + { + "Id": 70, + "GameId": 210, + "GameSite": 1, + "GoldRange": [ + 2210000, + 2340000 + ], + "BetRange": [ + 15000, + 30000, + 40000, + 50000, + 60000, + 70000, + 80000 + ] + }, + { + "Id": 71, + "GameId": 210, + "GameSite": 1, + "GoldRange": [ + 2340000, + 2470000 + ], + "BetRange": [ + 15000, + 30000, + 40000, + 50000, + 60000, + 70000, + 90000 + ] + }, + { + "Id": 72, + "GameId": 210, + "GameSite": 1, + "GoldRange": [ + 2470000, + 2600000 + ], + "BetRange": [ + 15000, + 30000, + 40000, + 50000, + 60000, + 75000, + 95000 + ] + }, + { + "Id": 73, + "GameId": 210, + "GameSite": 1, + "GoldRange": [ + 2600000, + 3900000 + ], + "BetRange": [ + 20000, + 35000, + 50000, + 60000, + 70000, + 85000, + 100000 + ] + }, + { + "Id": 74, + "GameId": 210, + "GameSite": 2, + "GoldRange": [ + 3900000, + 5200000 + ], + "BetRange": [ + 100000, + 150000 + ] + }, + { + "Id": 75, + "GameId": 210, + "GameSite": 2, + "GoldRange": [ + 5200000, + 6500000 + ], + "BetRange": [ + 100000, + 150000, + 200000 + ] + }, + { + "Id": 76, + "GameId": 210, + "GameSite": 2, + "GoldRange": [ + 6500000, + 7800000 + ], + "BetRange": [ + 100000, + 150000, + 200000, + 250000 + ] + }, + { + "Id": 77, + "GameId": 210, + "GameSite": 2, + "GoldRange": [ + 7800000, + 9100000 + ], + "BetRange": [ + 100000, + 150000, + 200000, + 300000 + ] + }, + { + "Id": 78, + "GameId": 210, + "GameSite": 2, + "GoldRange": [ + 9100000, + 10400000 + ], + "BetRange": [ + 100000, + 150000, + 200000, + 300000, + 350000 + ] + }, + { + "Id": 79, + "GameId": 210, + "GameSite": 2, + "GoldRange": [ + 10400000, + 11700000 + ], + "BetRange": [ + 100000, + 150000, + 200000, + 300000, + 350000, + 400000 + ] + }, + { + "Id": 80, + "GameId": 210, + "GameSite": 2, + "GoldRange": [ + 11700000, + 13000000 + ], + "BetRange": [ + 100000, + 150000, + 200000, + 300000, + 350000, + 450000 + ] + }, + { + "Id": 81, + "GameId": 210, + "GameSite": 2, + "GoldRange": [ + 13000000, + 14300000 + ], + "BetRange": [ + 100000, + 150000, + 200000, + 300000, + 400000, + 500000 + ] + }, + { + "Id": 82, + "GameId": 210, + "GameSite": 2, + "GoldRange": [ + 14300000, + 15600000 + ], + "BetRange": [ + 100000, + 150000, + 200000, + 300000, + 400000, + 550000 + ] + }, + { + "Id": 83, + "GameId": 210, + "GameSite": 2, + "GoldRange": [ + 15600000, + 16900000 + ], + "BetRange": [ + 100000, + 200000, + 300000, + 400000, + 500000, + 600000 + ] + }, + { + "Id": 84, + "GameId": 210, + "GameSite": 2, + "GoldRange": [ + 16900000, + 18200000 + ], + "BetRange": [ + 100000, + 200000, + 300000, + 400000, + 500000, + 650000 + ] + }, + { + "Id": 85, + "GameId": 210, + "GameSite": 2, + "GoldRange": [ + 18200000, + 19500000 + ], + "BetRange": [ + 100000, + 200000, + 300000, + 500000, + 600000, + 700000 + ] + }, + { + "Id": 86, + "GameId": 210, + "GameSite": 2, + "GoldRange": [ + 19500000, + 20800000 + ], + "BetRange": [ + 200000, + 300000, + 400000, + 500000, + 600000, + 750000 + ] + }, + { + "Id": 87, + "GameId": 210, + "GameSite": 2, + "GoldRange": [ + 20800000, + 22100000 + ], + "BetRange": [ + 200000, + 300000, + 400000, + 500000, + 600000, + 800000 + ] + }, + { + "Id": 88, + "GameId": 210, + "GameSite": 2, + "GoldRange": [ + 22100000, + 23400000 + ], + "BetRange": [ + 200000, + 300000, + 500000, + 600000, + 700000, + 850000 + ] + }, + { + "Id": 89, + "GameId": 210, + "GameSite": 2, + "GoldRange": [ + 23400000, + 24700000 + ], + "BetRange": [ + 200000, + 300000, + 500000, + 600000, + 800000, + 900000 + ] + }, + { + "Id": 90, + "GameId": 210, + "GameSite": 2, + "GoldRange": [ + 24700000, + 26000000 + ], + "BetRange": [ + 200000, + 300000, + 500000, + 600000, + 800000, + 950000 + ] + }, + { + "Id": 91, + "GameId": 210, + "GameSite": 2, + "GoldRange": [ + 26000000, + 52000000 + ], + "BetRange": [ + 200000, + 300000, + 500000, + 600000, + 800000, + 1000000 + ] + }, + { + "Id": 92, + "GameId": 210, + "GameSite": 3, + "GoldRange": [ + 52000000, + 130000000 + ], + "BetRange": [ + 1000000, + 2000000 + ] + }, + { + "Id": 93, + "GameId": 210, + "GameSite": 3, + "GoldRange": [ + 130000000, + 260000000 + ], + "BetRange": [ + 1000000, + 2000000, + 5000000 + ] + }, + { + "Id": 94, + "GameId": 210, + "GameSite": 3, + "GoldRange": [ + 260000000, + 390000000 + ], + "BetRange": [ + 1000000, + 2000000, + 5000000, + 10000000 + ] + }, + { + "Id": 95, + "GameId": 210, + "GameSite": 3, + "GoldRange": [ + 390000000, + 520000000 + ], + "BetRange": [ + 1000000, + 2000000, + 5000000, + 15000000 + ] + }, + { + "Id": 96, + "GameId": 210, + "GameSite": 3, + "GoldRange": [ + 520000000, + 650000000 + ], + "BetRange": [ + 1000000, + 2000000, + 5000000, + 15000000, + 20000000 + ] + }, + { + "Id": 97, + "GameId": 210, + "GameSite": 3, + "GoldRange": [ + 650000000, + 780000000 + ], + "BetRange": [ + 1000000, + 2000000, + 5000000, + 15000000, + 20000000, + 25000000 + ] + }, + { + "Id": 98, + "GameId": 210, + "GameSite": 3, + "GoldRange": [ + 780000000, + 910000000 + ], + "BetRange": [ + 1000000, + 2000000, + 5000000, + 15000000, + 20000000, + 30000000 + ] + }, + { + "Id": 99, + "GameId": 210, + "GameSite": 3, + "GoldRange": [ + 910000000, + 1040000000 + ], + "BetRange": [ + 1000000, + 2000000, + 5000000, + 15000000, + 20000000, + 30000000 + ] + }, + { + "Id": 100, + "GameId": 210, + "GameSite": 3, + "GoldRange": [ + 1040000000, + 1170000000 + ], + "BetRange": [ + 1000000, + 2000000, + 5000000, + 15000000, + 20000000, + 40000000 + ] + }, + { + "Id": 101, + "GameId": 210, + "GameSite": 3, + "GoldRange": [ + 1170000000, + 1300000000 + ], + "BetRange": [ + 1000000, + 2000000, + 5000000, + 15000000, + 20000000, + 40000000 + ] + }, + { + "Id": 102, + "GameId": 210, + "GameSite": 3, + "GoldRange": [ + 1300000000 + ], + "BetRange": [ + 5000000, + 10000000, + 20000000, + 30000000, + 40000000, + 50000000 + ] + }, + { + "Id": 103, + "GameId": 220, + "GameSite": 1, + "GoldRange": [ + 0, + 52000 + ], + "BetRange": [ + 0 + ] + }, + { + "Id": 104, + "GameId": 220, + "GameSite": 1, + "GoldRange": [ + 52000, + 130000 + ], + "BetRange": [ + 2000 + ] + }, + { + "Id": 105, + "GameId": 220, + "GameSite": 1, + "GoldRange": [ + 130000, + 260000 + ], + "BetRange": [ + 2000, + 5000 + ] + }, + { + "Id": 106, + "GameId": 220, + "GameSite": 1, + "GoldRange": [ + 260000, + 390000 + ], + "BetRange": [ + 2000, + 5000, + 10000 + ] + }, + { + "Id": 107, + "GameId": 220, + "GameSite": 1, + "GoldRange": [ + 390000, + 520000 + ], + "BetRange": [ + 2000, + 5000, + 10000, + 15000 + ] + }, + { + "Id": 108, + "GameId": 220, + "GameSite": 1, + "GoldRange": [ + 520000, + 650000 + ], + "BetRange": [ + 2000, + 5000, + 10000, + 15000, + 20000 + ] + }, + { + "Id": 109, + "GameId": 220, + "GameSite": 1, + "GoldRange": [ + 650000, + 780000 + ], + "BetRange": [ + 2000, + 5000, + 10000, + 15000, + 20000, + 25000 + ] + }, + { + "Id": 110, + "GameId": 220, + "GameSite": 1, + "GoldRange": [ + 780000, + 910000 + ], + "BetRange": [ + 2000, + 5000, + 10000, + 15000, + 20000, + 25000, + 30000 + ] + }, { "Id": 111, - "GameId": 209, + "GameId": 220, "GameSite": 1, "GoldRange": [ 910000, @@ -1811,7 +3485,7 @@ }, { "Id": 112, - "GameId": 209, + "GameId": 220, "GameSite": 1, "GoldRange": [ 1040000, @@ -1829,7 +3503,7 @@ }, { "Id": 113, - "GameId": 209, + "GameId": 220, "GameSite": 1, "GoldRange": [ 1170000, @@ -1847,7 +3521,7 @@ }, { "Id": 114, - "GameId": 209, + "GameId": 220, "GameSite": 1, "GoldRange": [ 1300000, @@ -1865,7 +3539,7 @@ }, { "Id": 115, - "GameId": 209, + "GameId": 220, "GameSite": 1, "GoldRange": [ 1430000, @@ -1883,7 +3557,7 @@ }, { "Id": 116, - "GameId": 209, + "GameId": 220, "GameSite": 1, "GoldRange": [ 1560000, @@ -1901,7 +3575,7 @@ }, { "Id": 117, - "GameId": 209, + "GameId": 220, "GameSite": 1, "GoldRange": [ 1690000, @@ -1919,7 +3593,7 @@ }, { "Id": 118, - "GameId": 209, + "GameId": 220, "GameSite": 1, "GoldRange": [ 1820000, @@ -1937,7 +3611,7 @@ }, { "Id": 119, - "GameId": 209, + "GameId": 220, "GameSite": 1, "GoldRange": [ 1950000, @@ -1955,7 +3629,7 @@ }, { "Id": 120, - "GameId": 209, + "GameId": 220, "GameSite": 1, "GoldRange": [ 2080000, @@ -1973,7 +3647,7 @@ }, { "Id": 121, - "GameId": 209, + "GameId": 220, "GameSite": 1, "GoldRange": [ 2210000, @@ -1991,7 +3665,7 @@ }, { "Id": 122, - "GameId": 209, + "GameId": 220, "GameSite": 1, "GoldRange": [ 2340000, @@ -2009,7 +3683,7 @@ }, { "Id": 123, - "GameId": 209, + "GameId": 220, "GameSite": 1, "GoldRange": [ 2470000, @@ -2027,7 +3701,7 @@ }, { "Id": 124, - "GameId": 209, + "GameId": 220, "GameSite": 1, "GoldRange": [ 2600000, @@ -2045,7 +3719,7 @@ }, { "Id": 125, - "GameId": 209, + "GameId": 220, "GameSite": 2, "GoldRange": [ 3900000, @@ -2058,7 +3732,7 @@ }, { "Id": 126, - "GameId": 209, + "GameId": 220, "GameSite": 2, "GoldRange": [ 5200000, @@ -2072,7 +3746,7 @@ }, { "Id": 127, - "GameId": 209, + "GameId": 220, "GameSite": 2, "GoldRange": [ 6500000, @@ -2087,7 +3761,7 @@ }, { "Id": 128, - "GameId": 209, + "GameId": 220, "GameSite": 2, "GoldRange": [ 7800000, @@ -2102,7 +3776,7 @@ }, { "Id": 129, - "GameId": 209, + "GameId": 220, "GameSite": 2, "GoldRange": [ 9100000, @@ -2118,7 +3792,7 @@ }, { "Id": 130, - "GameId": 209, + "GameId": 220, "GameSite": 2, "GoldRange": [ 10400000, @@ -2135,7 +3809,7 @@ }, { "Id": 131, - "GameId": 209, + "GameId": 220, "GameSite": 2, "GoldRange": [ 11700000, @@ -2152,7 +3826,7 @@ }, { "Id": 132, - "GameId": 209, + "GameId": 220, "GameSite": 2, "GoldRange": [ 13000000, @@ -2169,7 +3843,7 @@ }, { "Id": 133, - "GameId": 209, + "GameId": 220, "GameSite": 2, "GoldRange": [ 14300000, @@ -2186,7 +3860,7 @@ }, { "Id": 134, - "GameId": 209, + "GameId": 220, "GameSite": 2, "GoldRange": [ 15600000, @@ -2203,7 +3877,7 @@ }, { "Id": 135, - "GameId": 209, + "GameId": 220, "GameSite": 2, "GoldRange": [ 16900000, @@ -2220,7 +3894,7 @@ }, { "Id": 136, - "GameId": 209, + "GameId": 220, "GameSite": 2, "GoldRange": [ 18200000, @@ -2237,7 +3911,7 @@ }, { "Id": 137, - "GameId": 209, + "GameId": 220, "GameSite": 2, "GoldRange": [ 19500000, @@ -2254,7 +3928,7 @@ }, { "Id": 138, - "GameId": 209, + "GameId": 220, "GameSite": 2, "GoldRange": [ 20800000, @@ -2271,7 +3945,7 @@ }, { "Id": 139, - "GameId": 209, + "GameId": 220, "GameSite": 2, "GoldRange": [ 22100000, @@ -2288,7 +3962,7 @@ }, { "Id": 140, - "GameId": 209, + "GameId": 220, "GameSite": 2, "GoldRange": [ 23400000, @@ -2305,7 +3979,7 @@ }, { "Id": 141, - "GameId": 209, + "GameId": 220, "GameSite": 2, "GoldRange": [ 24700000, @@ -2322,7 +3996,7 @@ }, { "Id": 142, - "GameId": 209, + "GameId": 220, "GameSite": 2, "GoldRange": [ 26000000, @@ -2339,7 +4013,7 @@ }, { "Id": 143, - "GameId": 209, + "GameId": 220, "GameSite": 3, "GoldRange": [ 52000000, @@ -2352,7 +4026,7 @@ }, { "Id": 144, - "GameId": 209, + "GameId": 220, "GameSite": 3, "GoldRange": [ 130000000, @@ -2366,7 +4040,7 @@ }, { "Id": 145, - "GameId": 209, + "GameId": 220, "GameSite": 3, "GoldRange": [ 260000000, @@ -2381,7 +4055,7 @@ }, { "Id": 146, - "GameId": 209, + "GameId": 220, "GameSite": 3, "GoldRange": [ 390000000, @@ -2396,7 +4070,7 @@ }, { "Id": 147, - "GameId": 209, + "GameId": 220, "GameSite": 3, "GoldRange": [ 520000000, @@ -2412,7 +4086,7 @@ }, { "Id": 148, - "GameId": 209, + "GameId": 220, "GameSite": 3, "GoldRange": [ 650000000, @@ -2429,7 +4103,7 @@ }, { "Id": 149, - "GameId": 209, + "GameId": 220, "GameSite": 3, "GoldRange": [ 780000000, @@ -2446,7 +4120,7 @@ }, { "Id": 150, - "GameId": 209, + "GameId": 220, "GameSite": 3, "GoldRange": [ 910000000, @@ -2463,7 +4137,7 @@ }, { "Id": 151, - "GameId": 209, + "GameId": 220, "GameSite": 3, "GoldRange": [ 1040000000, @@ -2480,7 +4154,7 @@ }, { "Id": 152, - "GameId": 209, + "GameId": 220, "GameSite": 3, "GoldRange": [ 1170000000, @@ -2497,7 +4171,7 @@ }, { "Id": 153, - "GameId": 209, + "GameId": 220, "GameSite": 3, "GoldRange": [ 1300000000 @@ -2513,7 +4187,7 @@ }, { "Id": 154, - "GameId": 210, + "GameId": 230, "GameSite": 1, "GoldRange": [ 0, @@ -2525,7 +4199,7 @@ }, { "Id": 155, - "GameId": 210, + "GameId": 230, "GameSite": 1, "GoldRange": [ 52000, @@ -2537,7 +4211,7 @@ }, { "Id": 156, - "GameId": 210, + "GameId": 230, "GameSite": 1, "GoldRange": [ 130000, @@ -2550,7 +4224,7 @@ }, { "Id": 157, - "GameId": 210, + "GameId": 230, "GameSite": 1, "GoldRange": [ 260000, @@ -2564,7 +4238,7 @@ }, { "Id": 158, - "GameId": 210, + "GameId": 230, "GameSite": 1, "GoldRange": [ 390000, @@ -2579,7 +4253,7 @@ }, { "Id": 159, - "GameId": 210, + "GameId": 230, "GameSite": 1, "GoldRange": [ 520000, @@ -2595,7 +4269,7 @@ }, { "Id": 160, - "GameId": 210, + "GameId": 230, "GameSite": 1, "GoldRange": [ 650000, @@ -2612,7 +4286,7 @@ }, { "Id": 161, - "GameId": 210, + "GameId": 230, "GameSite": 1, "GoldRange": [ 780000, @@ -2630,7 +4304,7 @@ }, { "Id": 162, - "GameId": 210, + "GameId": 230, "GameSite": 1, "GoldRange": [ 910000, @@ -2648,7 +4322,7 @@ }, { "Id": 163, - "GameId": 210, + "GameId": 230, "GameSite": 1, "GoldRange": [ 1040000, @@ -2666,7 +4340,7 @@ }, { "Id": 164, - "GameId": 210, + "GameId": 230, "GameSite": 1, "GoldRange": [ 1170000, @@ -2684,7 +4358,7 @@ }, { "Id": 165, - "GameId": 210, + "GameId": 230, "GameSite": 1, "GoldRange": [ 1300000, @@ -2702,7 +4376,7 @@ }, { "Id": 166, - "GameId": 210, + "GameId": 230, "GameSite": 1, "GoldRange": [ 1430000, @@ -2720,7 +4394,7 @@ }, { "Id": 167, - "GameId": 210, + "GameId": 230, "GameSite": 1, "GoldRange": [ 1560000, @@ -2738,7 +4412,7 @@ }, { "Id": 168, - "GameId": 210, + "GameId": 230, "GameSite": 1, "GoldRange": [ 1690000, @@ -2756,7 +4430,7 @@ }, { "Id": 169, - "GameId": 210, + "GameId": 230, "GameSite": 1, "GoldRange": [ 1820000, @@ -2774,7 +4448,7 @@ }, { "Id": 170, - "GameId": 210, + "GameId": 230, "GameSite": 1, "GoldRange": [ 1950000, @@ -2792,7 +4466,7 @@ }, { "Id": 171, - "GameId": 210, + "GameId": 230, "GameSite": 1, "GoldRange": [ 2080000, @@ -2810,7 +4484,7 @@ }, { "Id": 172, - "GameId": 210, + "GameId": 230, "GameSite": 1, "GoldRange": [ 2210000, @@ -2828,7 +4502,7 @@ }, { "Id": 173, - "GameId": 210, + "GameId": 230, "GameSite": 1, "GoldRange": [ 2340000, @@ -2846,7 +4520,7 @@ }, { "Id": 174, - "GameId": 210, + "GameId": 230, "GameSite": 1, "GoldRange": [ 2470000, @@ -2864,7 +4538,7 @@ }, { "Id": 175, - "GameId": 210, + "GameId": 230, "GameSite": 1, "GoldRange": [ 2600000, @@ -2882,7 +4556,7 @@ }, { "Id": 176, - "GameId": 210, + "GameId": 230, "GameSite": 2, "GoldRange": [ 3900000, @@ -2895,7 +4569,7 @@ }, { "Id": 177, - "GameId": 210, + "GameId": 230, "GameSite": 2, "GoldRange": [ 5200000, @@ -2909,7 +4583,7 @@ }, { "Id": 178, - "GameId": 210, + "GameId": 230, "GameSite": 2, "GoldRange": [ 6500000, @@ -2924,7 +4598,7 @@ }, { "Id": 179, - "GameId": 210, + "GameId": 230, "GameSite": 2, "GoldRange": [ 7800000, @@ -2939,7 +4613,7 @@ }, { "Id": 180, - "GameId": 210, + "GameId": 230, "GameSite": 2, "GoldRange": [ 9100000, @@ -2955,7 +4629,7 @@ }, { "Id": 181, - "GameId": 210, + "GameId": 230, "GameSite": 2, "GoldRange": [ 10400000, @@ -2972,7 +4646,7 @@ }, { "Id": 182, - "GameId": 210, + "GameId": 230, "GameSite": 2, "GoldRange": [ 11700000, @@ -2989,7 +4663,7 @@ }, { "Id": 183, - "GameId": 210, + "GameId": 230, "GameSite": 2, "GoldRange": [ 13000000, @@ -3006,7 +4680,7 @@ }, { "Id": 184, - "GameId": 210, + "GameId": 230, "GameSite": 2, "GoldRange": [ 14300000, @@ -3023,7 +4697,7 @@ }, { "Id": 185, - "GameId": 210, + "GameId": 230, "GameSite": 2, "GoldRange": [ 15600000, @@ -3040,7 +4714,7 @@ }, { "Id": 186, - "GameId": 210, + "GameId": 230, "GameSite": 2, "GoldRange": [ 16900000, @@ -3057,7 +4731,7 @@ }, { "Id": 187, - "GameId": 210, + "GameId": 230, "GameSite": 2, "GoldRange": [ 18200000, @@ -3074,7 +4748,7 @@ }, { "Id": 188, - "GameId": 210, + "GameId": 230, "GameSite": 2, "GoldRange": [ 19500000, @@ -3091,7 +4765,7 @@ }, { "Id": 189, - "GameId": 210, + "GameId": 230, "GameSite": 2, "GoldRange": [ 20800000, @@ -3108,7 +4782,7 @@ }, { "Id": 190, - "GameId": 210, + "GameId": 230, "GameSite": 2, "GoldRange": [ 22100000, @@ -3125,7 +4799,7 @@ }, { "Id": 191, - "GameId": 210, + "GameId": 230, "GameSite": 2, "GoldRange": [ 23400000, @@ -3142,7 +4816,7 @@ }, { "Id": 192, - "GameId": 210, + "GameId": 230, "GameSite": 2, "GoldRange": [ 24700000, @@ -3159,7 +4833,7 @@ }, { "Id": 193, - "GameId": 210, + "GameId": 230, "GameSite": 2, "GoldRange": [ 26000000, @@ -3176,7 +4850,7 @@ }, { "Id": 194, - "GameId": 210, + "GameId": 230, "GameSite": 3, "GoldRange": [ 52000000, @@ -3189,7 +4863,7 @@ }, { "Id": 195, - "GameId": 210, + "GameId": 230, "GameSite": 3, "GoldRange": [ 130000000, @@ -3203,7 +4877,7 @@ }, { "Id": 196, - "GameId": 210, + "GameId": 230, "GameSite": 3, "GoldRange": [ 260000000, @@ -3218,7 +4892,7 @@ }, { "Id": 197, - "GameId": 210, + "GameId": 230, "GameSite": 3, "GoldRange": [ 390000000, @@ -3233,7 +4907,7 @@ }, { "Id": 198, - "GameId": 210, + "GameId": 230, "GameSite": 3, "GoldRange": [ 520000000, @@ -3249,7 +4923,7 @@ }, { "Id": 199, - "GameId": 210, + "GameId": 230, "GameSite": 3, "GoldRange": [ 650000000, @@ -3266,7 +4940,7 @@ }, { "Id": 200, - "GameId": 210, + "GameId": 230, "GameSite": 3, "GoldRange": [ 780000000, @@ -3283,7 +4957,7 @@ }, { "Id": 201, - "GameId": 210, + "GameId": 230, "GameSite": 3, "GoldRange": [ 910000000, @@ -3300,7 +4974,7 @@ }, { "Id": 202, - "GameId": 210, + "GameId": 230, "GameSite": 3, "GoldRange": [ 1040000000, @@ -3317,7 +4991,7 @@ }, { "Id": 203, - "GameId": 210, + "GameId": 230, "GameSite": 3, "GoldRange": [ 1170000000, @@ -3334,7 +5008,7 @@ }, { "Id": 204, - "GameId": 210, + "GameId": 230, "GameSite": 3, "GoldRange": [ 1300000000 @@ -3349,7 +5023,7 @@ ] }, { - "Id": 307, + "Id": 205, "GameId": 213, "GameSite": 1, "GoldRange": [ @@ -3361,7 +5035,7 @@ ] }, { - "Id": 308, + "Id": 206, "GameId": 213, "GameSite": 1, "GoldRange": [ @@ -3377,7 +5051,7 @@ ] }, { - "Id": 309, + "Id": 207, "GameId": 213, "GameSite": 2, "GoldRange": [ @@ -3393,7 +5067,7 @@ ] }, { - "Id": 310, + "Id": 208, "GameId": 213, "GameSite": 3, "GoldRange": [ @@ -3409,7 +5083,7 @@ ] }, { - "Id": 311, + "Id": 209, "GameId": 214, "GameSite": 1, "GoldRange": [ @@ -3421,7 +5095,7 @@ ] }, { - "Id": 312, + "Id": 210, "GameId": 214, "GameSite": 1, "GoldRange": [ @@ -3437,7 +5111,7 @@ ] }, { - "Id": 313, + "Id": 211, "GameId": 214, "GameSite": 2, "GoldRange": [ @@ -3453,7 +5127,7 @@ ] }, { - "Id": 314, + "Id": 212, "GameId": 214, "GameSite": 3, "GoldRange": [ diff --git a/data/DB_GameItem.dat b/data/DB_GameItem.dat index 0d0b040..4cdcaff 100644 Binary files a/data/DB_GameItem.dat and b/data/DB_GameItem.dat differ diff --git a/data/DB_GameItem.json b/data/DB_GameItem.json index 9aa01b8..ac5f596 100644 --- a/data/DB_GameItem.json +++ b/data/DB_GameItem.json @@ -139,7 +139,7 @@ 1 ], "Effect": [ - 0, + 1, 0, 1 ], diff --git a/data/DB_Game_Drop.dat b/data/DB_Game_Drop.dat index 61ff065..fef8637 100644 --- a/data/DB_Game_Drop.dat +++ b/data/DB_Game_Drop.dat @@ -1,37 +1,38 @@ -(0N: -'(0N: -N(0N: -u(0N: -(0N: -(0N: -(0N: -(0N: - (0N: +(0: +'(0J: +N(0: +u(0: +(0: +(0: +(0: +(0: + (0:  -(0N: - І(0N: - ح(0N: - (0N: -(0N: -(0N: -(0N: -(0N: -(0N: -(0N: -(0N: -(0N: - (0N: - (0N: -(0N: -(0N: -(0N: -(0N: -л(0N: -(0N: -!(0N: -$(0N: - '(0N: +(0: + І(0: + ح(0: + (0: +(0: +(0: +(0: +(0 : +(0 : +(0 +: +(0 : +(0 : + (0: + (0: +(0: +(0": +(0(: +(0.: +л(04: +(0:: +!(0?: +$(0E: + '(0K: !*(0N: "-(0N: #0(0N: @@ -39,51 +40,50 @@ %6(0N: &9(0N: '=(0N: -(z(0N: - -)(0N: - -*(0N:2 -+Ó(0N:2K -, (0N:Kd -- (0N:d} -.(0N:} -/(0N: -0(0N: -1ʺ(0N: -2(0N: -3(0N: -4'(0N: -5N(0N: -6u(0N: -7(0N: -8(0N: -9(0N: -:(0N: -;(0N: -<(0N: -=І(0N: ->ح(0N: -?(0N: -@(0N: -A(0N: -B(0N: -C(0N: -D(0N: -E(0N: -F(0N: -G(0N: -H (0N: -I (0N: -J(0N: -K(0N: -L(0N: -M(0N: -Nл(0N: -O(0N: -P!(0N: -Q$(0N: -R'(0N: +(z(0N: +)(0N: +*(0N:  ++Ó(0N: +, (0N: +- (0N:#' +.(0N:+/ +/(0N:26 +0(0N:9= +1ʺ(0N:AE +2(0N:HL +3(0: +4'(0J: +5N(0: +6u(0: +7(0: +8(0: +9(0: +:(0: +;(0: +<(0: +=І(0: +>ح(0: +?(0: +@(0: +A(0: +B(0: +C(0 : +D(0 : +E(0 +: +F(0 : +G(0 : +H (0: +I (0: +J(0: +K(0": +L(0(: +M(0.: +Nл(04: +O(0:: +P!(0?: +Q$(0E: +R'(0K: S*(0N: T-(0N: U0(0N: @@ -91,51 +91,50 @@ W6(0N: X9(0N: Y=(0N: -Zz(0N: - -[(0N: - -\(0N:2 -]Ó(0N:2K -^ (0N:Kd -_ (0N:d} -`(0N:} -a(0N: -b(0N: -cʺ(0N: -d(0N: -e(0N: -f'(0N: -gN(0N: -hu(0N: -i(0N: -j(0N: -k(0N: -l(0N: -m(0N: -n(0N: -oІ(0N: -pح(0N: -q(0N: -r(0N: -s(0N: -t(0N: -u(0N: -v(0N: -w(0N: -x(0N: -y(0N: -z (0N: -{ (0N: -|(0N: -}(0N: -~(0N: -(0N: -л(0N: -(0N: -!(0N: -$(0N: -'(0N: +Zz(0N: +[(0N: +\(0N:  +]Ó(0N: +^ (0N: +_ (0N:#' +`(0N:+/ +a(0N:26 +b(0N:9= +cʺ(0N:AE +d(0N:HL +e(0: +f'(0J: +gN(0: +hu(0: +i(0: +j(0: +k(0: +l(0: +m(0: +n(0: +oІ(0: +pح(0: +q(0: +r(0: +s(0: +t(0: +u(0 : +v(0 : +w(0 +: +x(0 : +y(0 : +z (0: +{ (0: +|(0: +}(0": +~(0(: +(0.: +л(04: +(0:: +!(0?: +$(0E: +'(0K: *(0N: -(0N: 0(0N: @@ -143,51 +142,50 @@ 6(0N: 9(0N: =(0N: -z(0N: - -(0N: - -(0N:2 -Ó(0N:2K - (0N:Kd - (0N:d} -(0N:} -(0N: -(0N: -ʺ(0N: -(0N: -(0N: -'(0N: -N(0N: -u(0N: -(0N: -(0N: -(0N: -(0N: -(0N: -(0N: -І(0N: -ح(0N: -(0N: -(0N: -(0N: -(0N: -(0N: -(0N: -(0N: -(0N: -(0N: - (0N: - (0N: -(0N: -(0N: -(0N: -(0N: -л(0N: -(0N: -!(0N: -$(0N: -'(0N: +z(0N: +(0N: +(0N:  +Ó(0N: + (0N: + (0N:#' +(0N:+/ +(0N:26 +(0N:9= +ʺ(0N:AE +(0N:HL +(0: +'(0J: +N(0: +u(0: +(0: +(0: +(0: +(0: +(0: +(0: +І(0: +ح(0: +(0: +(0: +(0: +(0: +(0 : +(0 : +(0 +: +(0 : +(0 : + (0: + (0: +(0: +(0": +(0(: +(0.: +л(04: +(0:: +!(0?: +$(0E: +'(0K: *(0N: -(0N: 0(0N: @@ -195,72 +193,62 @@ 6(0N: 9(0N: =(0N: -z(0N: - -(0N: - -(0N:2 -Ó(0N:2K - (0N:Kd - (0N:d} -(0N:} -(0N: -(0N: -ʺ(0N: -(0N: -N(0N: -І(0N: - (0N: +z(0N: +(0N: +(0N:  +Ó(0N: + (0N: + (0N:#' +(0N:+/ +(0N:26 +(0N:9= +ʺ(0N:AE +(0N:HL +N(0: +І(0: + (0: =(0N: -(0N: - - (0N:Kd -(0N: -(0N: -z(0N: -(0N: -(0N: - -_(0N:Kd -N(0N: -І(0N: - (0N: +(0N: + (0N: +(0 : +(0:: +z(0N: +(0N:  +(0N:HL +_(0N: +N(0: +І(0: + (0: =(0N: -(0N: - - (0N:Kd -N(0N: -І(0N: - (0N: +(0N: + (0N: +N(0: +І(0: + (0: =(0N: -(0N: - - (0N:Kd -N(0N: -І(0N: - (0N: +(0N: + (0N: +N(0: +І(0: + (0: =(0N: -(0N: - - (0N:Kd -N(0N: -І(0N: - (0N: +(0N: + (0N: +N(0: +І(0: + (0: =(0N: -(0N: - - (0N:Kd -N(0N: -І(0N: - (0N: +(0N: + (0N: +N(0: +І(0: + (0: =(0N: -(0N: - - (0N:Kd -N(0N: -І(0N: - (0N: +(0N: + (0N: +N(0: +І(0: + (0: =(0N: -(0N: - - (0N:Kd \ No newline at end of file +(0N: + (0N: \ No newline at end of file diff --git a/data/DB_Game_Drop.json b/data/DB_Game_Drop.json index c28e4cf..acda596 100644 --- a/data/DB_Game_Drop.json +++ b/data/DB_Game_Drop.json @@ -5,7 +5,7 @@ "GameId": 207, "Bet": 2000, "ItemId1": 30001, - "Rate1": 10000, + "Rate1": 30, "Amount1": [ 1, 1 @@ -16,7 +16,7 @@ "GameId": 207, "Bet": 5000, "ItemId1": 30001, - "Rate1": 10000, + "Rate1": 74, "Amount1": [ 1, 1 @@ -27,7 +27,7 @@ "GameId": 207, "Bet": 10000, "ItemId1": 30001, - "Rate1": 10000, + "Rate1": 149, "Amount1": [ 1, 1 @@ -38,7 +38,7 @@ "GameId": 207, "Bet": 15000, "ItemId1": 30001, - "Rate1": 10000, + "Rate1": 223, "Amount1": [ 1, 1 @@ -49,7 +49,7 @@ "GameId": 207, "Bet": 20000, "ItemId1": 30001, - "Rate1": 10000, + "Rate1": 297, "Amount1": [ 1, 1 @@ -60,7 +60,7 @@ "GameId": 207, "Bet": 25000, "ItemId1": 30001, - "Rate1": 10000, + "Rate1": 371, "Amount1": [ 1, 1 @@ -71,7 +71,7 @@ "GameId": 207, "Bet": 30000, "ItemId1": 30001, - "Rate1": 10000, + "Rate1": 446, "Amount1": [ 1, 1 @@ -82,7 +82,7 @@ "GameId": 207, "Bet": 35000, "ItemId1": 30001, - "Rate1": 10000, + "Rate1": 520, "Amount1": [ 1, 1 @@ -93,7 +93,7 @@ "GameId": 207, "Bet": 40000, "ItemId1": 30001, - "Rate1": 10000, + "Rate1": 594, "Amount1": [ 1, 1 @@ -104,7 +104,7 @@ "GameId": 207, "Bet": 45000, "ItemId1": 30001, - "Rate1": 10000, + "Rate1": 668, "Amount1": [ 1, 1 @@ -115,7 +115,7 @@ "GameId": 207, "Bet": 50000, "ItemId1": 30001, - "Rate1": 10000, + "Rate1": 743, "Amount1": [ 1, 1 @@ -126,7 +126,7 @@ "GameId": 207, "Bet": 55000, "ItemId1": 30001, - "Rate1": 10000, + "Rate1": 817, "Amount1": [ 1, 1 @@ -137,7 +137,7 @@ "GameId": 207, "Bet": 60000, "ItemId1": 30001, - "Rate1": 10000, + "Rate1": 891, "Amount1": [ 1, 1 @@ -148,7 +148,7 @@ "GameId": 207, "Bet": 65000, "ItemId1": 30001, - "Rate1": 10000, + "Rate1": 965, "Amount1": [ 1, 1 @@ -159,7 +159,7 @@ "GameId": 207, "Bet": 70000, "ItemId1": 30001, - "Rate1": 10000, + "Rate1": 1040, "Amount1": [ 1, 1 @@ -170,7 +170,7 @@ "GameId": 207, "Bet": 75000, "ItemId1": 30001, - "Rate1": 10000, + "Rate1": 1114, "Amount1": [ 1, 1 @@ -181,7 +181,7 @@ "GameId": 207, "Bet": 80000, "ItemId1": 30001, - "Rate1": 10000, + "Rate1": 1188, "Amount1": [ 1, 1 @@ -192,7 +192,7 @@ "GameId": 207, "Bet": 85000, "ItemId1": 30001, - "Rate1": 10000, + "Rate1": 1262, "Amount1": [ 1, 1 @@ -203,7 +203,7 @@ "GameId": 207, "Bet": 90000, "ItemId1": 30001, - "Rate1": 10000, + "Rate1": 1337, "Amount1": [ 1, 1 @@ -214,7 +214,7 @@ "GameId": 207, "Bet": 95000, "ItemId1": 30001, - "Rate1": 10000, + "Rate1": 1411, "Amount1": [ 1, 1 @@ -225,7 +225,7 @@ "GameId": 207, "Bet": 100000, "ItemId1": 30001, - "Rate1": 10000, + "Rate1": 1485, "Amount1": [ 1, 1 @@ -236,7 +236,7 @@ "GameId": 207, "Bet": 150000, "ItemId1": 30001, - "Rate1": 10000, + "Rate1": 2228, "Amount1": [ 1, 1 @@ -247,7 +247,7 @@ "GameId": 207, "Bet": 200000, "ItemId1": 30001, - "Rate1": 10000, + "Rate1": 2970, "Amount1": [ 1, 1 @@ -258,7 +258,7 @@ "GameId": 207, "Bet": 250000, "ItemId1": 30001, - "Rate1": 10000, + "Rate1": 3713, "Amount1": [ 1, 1 @@ -269,7 +269,7 @@ "GameId": 207, "Bet": 300000, "ItemId1": 30001, - "Rate1": 10000, + "Rate1": 4455, "Amount1": [ 1, 2 @@ -280,7 +280,7 @@ "GameId": 207, "Bet": 350000, "ItemId1": 30001, - "Rate1": 10000, + "Rate1": 5198, "Amount1": [ 1, 2 @@ -291,7 +291,7 @@ "GameId": 207, "Bet": 400000, "ItemId1": 30001, - "Rate1": 10000, + "Rate1": 5940, "Amount1": [ 1, 2 @@ -302,7 +302,7 @@ "GameId": 207, "Bet": 450000, "ItemId1": 30001, - "Rate1": 10000, + "Rate1": 6683, "Amount1": [ 1, 2 @@ -313,7 +313,7 @@ "GameId": 207, "Bet": 500000, "ItemId1": 30001, - "Rate1": 10000, + "Rate1": 7425, "Amount1": [ 2, 3 @@ -324,7 +324,7 @@ "GameId": 207, "Bet": 550000, "ItemId1": 30001, - "Rate1": 10000, + "Rate1": 8168, "Amount1": [ 2, 3 @@ -335,7 +335,7 @@ "GameId": 207, "Bet": 600000, "ItemId1": 30001, - "Rate1": 10000, + "Rate1": 8910, "Amount1": [ 2, 3 @@ -346,7 +346,7 @@ "GameId": 207, "Bet": 650000, "ItemId1": 30001, - "Rate1": 10000, + "Rate1": 9653, "Amount1": [ 2, 3 @@ -436,8 +436,8 @@ "ItemId1": 30001, "Rate1": 10000, "Amount1": [ - 5, - 10 + 1, + 5 ] }, { @@ -447,8 +447,8 @@ "ItemId1": 30001, "Rate1": 10000, "Amount1": [ - 10, - 25 + 5, + 9 ] }, { @@ -458,8 +458,8 @@ "ItemId1": 30001, "Rate1": 10000, "Amount1": [ - 25, - 50 + 13, + 17 ] }, { @@ -469,8 +469,8 @@ "ItemId1": 30001, "Rate1": 10000, "Amount1": [ - 50, - 75 + 20, + 24 ] }, { @@ -480,8 +480,8 @@ "ItemId1": 30001, "Rate1": 10000, "Amount1": [ - 75, - 100 + 28, + 32 ] }, { @@ -491,8 +491,8 @@ "ItemId1": 30001, "Rate1": 10000, "Amount1": [ - 100, - 125 + 35, + 39 ] }, { @@ -502,8 +502,8 @@ "ItemId1": 30001, "Rate1": 10000, "Amount1": [ - 125, - 150 + 43, + 47 ] }, { @@ -513,8 +513,8 @@ "ItemId1": 30001, "Rate1": 10000, "Amount1": [ - 150, - 175 + 50, + 54 ] }, { @@ -524,8 +524,8 @@ "ItemId1": 30001, "Rate1": 10000, "Amount1": [ - 175, - 200 + 57, + 61 ] }, { @@ -535,8 +535,8 @@ "ItemId1": 30001, "Rate1": 10000, "Amount1": [ - 200, - 225 + 65, + 69 ] }, { @@ -546,8 +546,8 @@ "ItemId1": 30001, "Rate1": 10000, "Amount1": [ - 225, - 250 + 72, + 76 ] }, { @@ -555,7 +555,7 @@ "GameId": 208, "Bet": 2000, "ItemId1": 30001, - "Rate1": 10000, + "Rate1": 30, "Amount1": [ 1, 1 @@ -566,7 +566,7 @@ "GameId": 208, "Bet": 5000, "ItemId1": 30001, - "Rate1": 10000, + "Rate1": 74, "Amount1": [ 1, 1 @@ -577,7 +577,7 @@ "GameId": 208, "Bet": 10000, "ItemId1": 30001, - "Rate1": 10000, + "Rate1": 149, "Amount1": [ 1, 1 @@ -588,7 +588,7 @@ "GameId": 208, "Bet": 15000, "ItemId1": 30001, - "Rate1": 10000, + "Rate1": 223, "Amount1": [ 1, 1 @@ -599,7 +599,7 @@ "GameId": 208, "Bet": 20000, "ItemId1": 30001, - "Rate1": 10000, + "Rate1": 297, "Amount1": [ 1, 1 @@ -610,7 +610,7 @@ "GameId": 208, "Bet": 25000, "ItemId1": 30001, - "Rate1": 10000, + "Rate1": 371, "Amount1": [ 1, 1 @@ -621,7 +621,7 @@ "GameId": 208, "Bet": 30000, "ItemId1": 30001, - "Rate1": 10000, + "Rate1": 446, "Amount1": [ 1, 1 @@ -632,7 +632,7 @@ "GameId": 208, "Bet": 35000, "ItemId1": 30001, - "Rate1": 10000, + "Rate1": 520, "Amount1": [ 1, 1 @@ -643,7 +643,7 @@ "GameId": 208, "Bet": 40000, "ItemId1": 30001, - "Rate1": 10000, + "Rate1": 594, "Amount1": [ 1, 1 @@ -654,7 +654,7 @@ "GameId": 208, "Bet": 45000, "ItemId1": 30001, - "Rate1": 10000, + "Rate1": 668, "Amount1": [ 1, 1 @@ -665,7 +665,7 @@ "GameId": 208, "Bet": 50000, "ItemId1": 30001, - "Rate1": 10000, + "Rate1": 743, "Amount1": [ 1, 1 @@ -676,7 +676,7 @@ "GameId": 208, "Bet": 55000, "ItemId1": 30001, - "Rate1": 10000, + "Rate1": 817, "Amount1": [ 1, 1 @@ -687,7 +687,7 @@ "GameId": 208, "Bet": 60000, "ItemId1": 30001, - "Rate1": 10000, + "Rate1": 891, "Amount1": [ 1, 1 @@ -698,7 +698,7 @@ "GameId": 208, "Bet": 65000, "ItemId1": 30001, - "Rate1": 10000, + "Rate1": 965, "Amount1": [ 1, 1 @@ -709,7 +709,7 @@ "GameId": 208, "Bet": 70000, "ItemId1": 30001, - "Rate1": 10000, + "Rate1": 1040, "Amount1": [ 1, 1 @@ -720,7 +720,7 @@ "GameId": 208, "Bet": 75000, "ItemId1": 30001, - "Rate1": 10000, + "Rate1": 1114, "Amount1": [ 1, 1 @@ -731,7 +731,7 @@ "GameId": 208, "Bet": 80000, "ItemId1": 30001, - "Rate1": 10000, + "Rate1": 1188, "Amount1": [ 1, 1 @@ -742,7 +742,7 @@ "GameId": 208, "Bet": 85000, "ItemId1": 30001, - "Rate1": 10000, + "Rate1": 1262, "Amount1": [ 1, 1 @@ -753,7 +753,7 @@ "GameId": 208, "Bet": 90000, "ItemId1": 30001, - "Rate1": 10000, + "Rate1": 1337, "Amount1": [ 1, 1 @@ -764,7 +764,7 @@ "GameId": 208, "Bet": 95000, "ItemId1": 30001, - "Rate1": 10000, + "Rate1": 1411, "Amount1": [ 1, 1 @@ -775,7 +775,7 @@ "GameId": 208, "Bet": 100000, "ItemId1": 30001, - "Rate1": 10000, + "Rate1": 1485, "Amount1": [ 1, 1 @@ -786,7 +786,7 @@ "GameId": 208, "Bet": 150000, "ItemId1": 30001, - "Rate1": 10000, + "Rate1": 2228, "Amount1": [ 1, 1 @@ -797,7 +797,7 @@ "GameId": 208, "Bet": 200000, "ItemId1": 30001, - "Rate1": 10000, + "Rate1": 2970, "Amount1": [ 1, 1 @@ -808,7 +808,7 @@ "GameId": 208, "Bet": 250000, "ItemId1": 30001, - "Rate1": 10000, + "Rate1": 3713, "Amount1": [ 1, 1 @@ -819,7 +819,7 @@ "GameId": 208, "Bet": 300000, "ItemId1": 30001, - "Rate1": 10000, + "Rate1": 4455, "Amount1": [ 1, 2 @@ -830,7 +830,7 @@ "GameId": 208, "Bet": 350000, "ItemId1": 30001, - "Rate1": 10000, + "Rate1": 5198, "Amount1": [ 1, 2 @@ -841,7 +841,7 @@ "GameId": 208, "Bet": 400000, "ItemId1": 30001, - "Rate1": 10000, + "Rate1": 5940, "Amount1": [ 1, 2 @@ -852,7 +852,7 @@ "GameId": 208, "Bet": 450000, "ItemId1": 30001, - "Rate1": 10000, + "Rate1": 6683, "Amount1": [ 1, 2 @@ -863,7 +863,7 @@ "GameId": 208, "Bet": 500000, "ItemId1": 30001, - "Rate1": 10000, + "Rate1": 7425, "Amount1": [ 2, 3 @@ -874,7 +874,7 @@ "GameId": 208, "Bet": 550000, "ItemId1": 30001, - "Rate1": 10000, + "Rate1": 8168, "Amount1": [ 2, 3 @@ -885,7 +885,7 @@ "GameId": 208, "Bet": 600000, "ItemId1": 30001, - "Rate1": 10000, + "Rate1": 8910, "Amount1": [ 2, 3 @@ -896,7 +896,7 @@ "GameId": 208, "Bet": 650000, "ItemId1": 30001, - "Rate1": 10000, + "Rate1": 9653, "Amount1": [ 2, 3 @@ -986,8 +986,8 @@ "ItemId1": 30001, "Rate1": 10000, "Amount1": [ - 5, - 10 + 1, + 5 ] }, { @@ -997,8 +997,8 @@ "ItemId1": 30001, "Rate1": 10000, "Amount1": [ - 10, - 25 + 5, + 9 ] }, { @@ -1008,8 +1008,8 @@ "ItemId1": 30001, "Rate1": 10000, "Amount1": [ - 25, - 50 + 13, + 17 ] }, { @@ -1019,8 +1019,8 @@ "ItemId1": 30001, "Rate1": 10000, "Amount1": [ - 50, - 75 + 20, + 24 ] }, { @@ -1030,8 +1030,8 @@ "ItemId1": 30001, "Rate1": 10000, "Amount1": [ - 75, - 100 + 28, + 32 ] }, { @@ -1041,8 +1041,8 @@ "ItemId1": 30001, "Rate1": 10000, "Amount1": [ - 100, - 125 + 35, + 39 ] }, { @@ -1052,8 +1052,8 @@ "ItemId1": 30001, "Rate1": 10000, "Amount1": [ - 125, - 150 + 43, + 47 ] }, { @@ -1063,8 +1063,8 @@ "ItemId1": 30001, "Rate1": 10000, "Amount1": [ - 150, - 175 + 50, + 54 ] }, { @@ -1074,8 +1074,8 @@ "ItemId1": 30001, "Rate1": 10000, "Amount1": [ - 175, - 200 + 57, + 61 ] }, { @@ -1085,8 +1085,8 @@ "ItemId1": 30001, "Rate1": 10000, "Amount1": [ - 200, - 225 + 65, + 69 ] }, { @@ -1096,8 +1096,8 @@ "ItemId1": 30001, "Rate1": 10000, "Amount1": [ - 225, - 250 + 72, + 76 ] }, { @@ -1105,7 +1105,7 @@ "GameId": 209, "Bet": 2000, "ItemId1": 30001, - "Rate1": 10000, + "Rate1": 30, "Amount1": [ 1, 1 @@ -1116,7 +1116,7 @@ "GameId": 209, "Bet": 5000, "ItemId1": 30001, - "Rate1": 10000, + "Rate1": 74, "Amount1": [ 1, 1 @@ -1127,7 +1127,7 @@ "GameId": 209, "Bet": 10000, "ItemId1": 30001, - "Rate1": 10000, + "Rate1": 149, "Amount1": [ 1, 1 @@ -1138,7 +1138,7 @@ "GameId": 209, "Bet": 15000, "ItemId1": 30001, - "Rate1": 10000, + "Rate1": 223, "Amount1": [ 1, 1 @@ -1149,7 +1149,7 @@ "GameId": 209, "Bet": 20000, "ItemId1": 30001, - "Rate1": 10000, + "Rate1": 297, "Amount1": [ 1, 1 @@ -1160,7 +1160,7 @@ "GameId": 209, "Bet": 25000, "ItemId1": 30001, - "Rate1": 10000, + "Rate1": 371, "Amount1": [ 1, 1 @@ -1171,7 +1171,7 @@ "GameId": 209, "Bet": 30000, "ItemId1": 30001, - "Rate1": 10000, + "Rate1": 446, "Amount1": [ 1, 1 @@ -1182,7 +1182,7 @@ "GameId": 209, "Bet": 35000, "ItemId1": 30001, - "Rate1": 10000, + "Rate1": 520, "Amount1": [ 1, 1 @@ -1193,7 +1193,7 @@ "GameId": 209, "Bet": 40000, "ItemId1": 30001, - "Rate1": 10000, + "Rate1": 594, "Amount1": [ 1, 1 @@ -1204,7 +1204,7 @@ "GameId": 209, "Bet": 45000, "ItemId1": 30001, - "Rate1": 10000, + "Rate1": 668, "Amount1": [ 1, 1 @@ -1215,7 +1215,7 @@ "GameId": 209, "Bet": 50000, "ItemId1": 30001, - "Rate1": 10000, + "Rate1": 743, "Amount1": [ 1, 1 @@ -1226,7 +1226,7 @@ "GameId": 209, "Bet": 55000, "ItemId1": 30001, - "Rate1": 10000, + "Rate1": 817, "Amount1": [ 1, 1 @@ -1237,7 +1237,7 @@ "GameId": 209, "Bet": 60000, "ItemId1": 30001, - "Rate1": 10000, + "Rate1": 891, "Amount1": [ 1, 1 @@ -1248,7 +1248,7 @@ "GameId": 209, "Bet": 65000, "ItemId1": 30001, - "Rate1": 10000, + "Rate1": 965, "Amount1": [ 1, 1 @@ -1259,7 +1259,7 @@ "GameId": 209, "Bet": 70000, "ItemId1": 30001, - "Rate1": 10000, + "Rate1": 1040, "Amount1": [ 1, 1 @@ -1270,7 +1270,7 @@ "GameId": 209, "Bet": 75000, "ItemId1": 30001, - "Rate1": 10000, + "Rate1": 1114, "Amount1": [ 1, 1 @@ -1281,7 +1281,7 @@ "GameId": 209, "Bet": 80000, "ItemId1": 30001, - "Rate1": 10000, + "Rate1": 1188, "Amount1": [ 1, 1 @@ -1292,7 +1292,7 @@ "GameId": 209, "Bet": 85000, "ItemId1": 30001, - "Rate1": 10000, + "Rate1": 1262, "Amount1": [ 1, 1 @@ -1303,7 +1303,7 @@ "GameId": 209, "Bet": 90000, "ItemId1": 30001, - "Rate1": 10000, + "Rate1": 1337, "Amount1": [ 1, 1 @@ -1314,7 +1314,7 @@ "GameId": 209, "Bet": 95000, "ItemId1": 30001, - "Rate1": 10000, + "Rate1": 1411, "Amount1": [ 1, 1 @@ -1325,7 +1325,7 @@ "GameId": 209, "Bet": 100000, "ItemId1": 30001, - "Rate1": 10000, + "Rate1": 1485, "Amount1": [ 1, 1 @@ -1336,7 +1336,7 @@ "GameId": 209, "Bet": 150000, "ItemId1": 30001, - "Rate1": 10000, + "Rate1": 2228, "Amount1": [ 1, 1 @@ -1347,7 +1347,7 @@ "GameId": 209, "Bet": 200000, "ItemId1": 30001, - "Rate1": 10000, + "Rate1": 2970, "Amount1": [ 1, 1 @@ -1358,7 +1358,7 @@ "GameId": 209, "Bet": 250000, "ItemId1": 30001, - "Rate1": 10000, + "Rate1": 3713, "Amount1": [ 1, 1 @@ -1369,7 +1369,7 @@ "GameId": 209, "Bet": 300000, "ItemId1": 30001, - "Rate1": 10000, + "Rate1": 4455, "Amount1": [ 1, 2 @@ -1380,7 +1380,7 @@ "GameId": 209, "Bet": 350000, "ItemId1": 30001, - "Rate1": 10000, + "Rate1": 5198, "Amount1": [ 1, 2 @@ -1391,7 +1391,7 @@ "GameId": 209, "Bet": 400000, "ItemId1": 30001, - "Rate1": 10000, + "Rate1": 5940, "Amount1": [ 1, 2 @@ -1402,7 +1402,7 @@ "GameId": 209, "Bet": 450000, "ItemId1": 30001, - "Rate1": 10000, + "Rate1": 6683, "Amount1": [ 1, 2 @@ -1413,7 +1413,7 @@ "GameId": 209, "Bet": 500000, "ItemId1": 30001, - "Rate1": 10000, + "Rate1": 7425, "Amount1": [ 2, 3 @@ -1424,7 +1424,7 @@ "GameId": 209, "Bet": 550000, "ItemId1": 30001, - "Rate1": 10000, + "Rate1": 8168, "Amount1": [ 2, 3 @@ -1435,7 +1435,7 @@ "GameId": 209, "Bet": 600000, "ItemId1": 30001, - "Rate1": 10000, + "Rate1": 8910, "Amount1": [ 2, 3 @@ -1446,7 +1446,7 @@ "GameId": 209, "Bet": 650000, "ItemId1": 30001, - "Rate1": 10000, + "Rate1": 9653, "Amount1": [ 2, 3 @@ -1536,8 +1536,8 @@ "ItemId1": 30001, "Rate1": 10000, "Amount1": [ - 5, - 10 + 1, + 5 ] }, { @@ -1547,8 +1547,8 @@ "ItemId1": 30001, "Rate1": 10000, "Amount1": [ - 10, - 25 + 5, + 9 ] }, { @@ -1558,8 +1558,8 @@ "ItemId1": 30001, "Rate1": 10000, "Amount1": [ - 25, - 50 + 13, + 17 ] }, { @@ -1569,8 +1569,8 @@ "ItemId1": 30001, "Rate1": 10000, "Amount1": [ - 50, - 75 + 20, + 24 ] }, { @@ -1580,8 +1580,8 @@ "ItemId1": 30001, "Rate1": 10000, "Amount1": [ - 75, - 100 + 28, + 32 ] }, { @@ -1591,8 +1591,8 @@ "ItemId1": 30001, "Rate1": 10000, "Amount1": [ - 100, - 125 + 35, + 39 ] }, { @@ -1602,8 +1602,8 @@ "ItemId1": 30001, "Rate1": 10000, "Amount1": [ - 125, - 150 + 43, + 47 ] }, { @@ -1613,8 +1613,8 @@ "ItemId1": 30001, "Rate1": 10000, "Amount1": [ - 150, - 175 + 50, + 54 ] }, { @@ -1624,8 +1624,8 @@ "ItemId1": 30001, "Rate1": 10000, "Amount1": [ - 175, - 200 + 57, + 61 ] }, { @@ -1635,8 +1635,8 @@ "ItemId1": 30001, "Rate1": 10000, "Amount1": [ - 200, - 225 + 65, + 69 ] }, { @@ -1646,8 +1646,8 @@ "ItemId1": 30001, "Rate1": 10000, "Amount1": [ - 225, - 250 + 72, + 76 ] }, { @@ -1655,7 +1655,7 @@ "GameId": 210, "Bet": 2000, "ItemId1": 30001, - "Rate1": 10000, + "Rate1": 30, "Amount1": [ 1, 1 @@ -1666,7 +1666,7 @@ "GameId": 210, "Bet": 5000, "ItemId1": 30001, - "Rate1": 10000, + "Rate1": 74, "Amount1": [ 1, 1 @@ -1677,7 +1677,7 @@ "GameId": 210, "Bet": 10000, "ItemId1": 30001, - "Rate1": 10000, + "Rate1": 149, "Amount1": [ 1, 1 @@ -1688,7 +1688,7 @@ "GameId": 210, "Bet": 15000, "ItemId1": 30001, - "Rate1": 10000, + "Rate1": 223, "Amount1": [ 1, 1 @@ -1699,7 +1699,7 @@ "GameId": 210, "Bet": 20000, "ItemId1": 30001, - "Rate1": 10000, + "Rate1": 297, "Amount1": [ 1, 1 @@ -1710,7 +1710,7 @@ "GameId": 210, "Bet": 25000, "ItemId1": 30001, - "Rate1": 10000, + "Rate1": 371, "Amount1": [ 1, 1 @@ -1721,7 +1721,7 @@ "GameId": 210, "Bet": 30000, "ItemId1": 30001, - "Rate1": 10000, + "Rate1": 446, "Amount1": [ 1, 1 @@ -1732,7 +1732,7 @@ "GameId": 210, "Bet": 35000, "ItemId1": 30001, - "Rate1": 10000, + "Rate1": 520, "Amount1": [ 1, 1 @@ -1743,7 +1743,7 @@ "GameId": 210, "Bet": 40000, "ItemId1": 30001, - "Rate1": 10000, + "Rate1": 594, "Amount1": [ 1, 1 @@ -1754,7 +1754,7 @@ "GameId": 210, "Bet": 45000, "ItemId1": 30001, - "Rate1": 10000, + "Rate1": 668, "Amount1": [ 1, 1 @@ -1765,7 +1765,7 @@ "GameId": 210, "Bet": 50000, "ItemId1": 30001, - "Rate1": 10000, + "Rate1": 743, "Amount1": [ 1, 1 @@ -1776,7 +1776,7 @@ "GameId": 210, "Bet": 55000, "ItemId1": 30001, - "Rate1": 10000, + "Rate1": 817, "Amount1": [ 1, 1 @@ -1787,7 +1787,7 @@ "GameId": 210, "Bet": 60000, "ItemId1": 30001, - "Rate1": 10000, + "Rate1": 891, "Amount1": [ 1, 1 @@ -1798,7 +1798,7 @@ "GameId": 210, "Bet": 65000, "ItemId1": 30001, - "Rate1": 10000, + "Rate1": 965, "Amount1": [ 1, 1 @@ -1809,7 +1809,7 @@ "GameId": 210, "Bet": 70000, "ItemId1": 30001, - "Rate1": 10000, + "Rate1": 1040, "Amount1": [ 1, 1 @@ -1820,7 +1820,7 @@ "GameId": 210, "Bet": 75000, "ItemId1": 30001, - "Rate1": 10000, + "Rate1": 1114, "Amount1": [ 1, 1 @@ -1831,7 +1831,7 @@ "GameId": 210, "Bet": 80000, "ItemId1": 30001, - "Rate1": 10000, + "Rate1": 1188, "Amount1": [ 1, 1 @@ -1842,7 +1842,7 @@ "GameId": 210, "Bet": 85000, "ItemId1": 30001, - "Rate1": 10000, + "Rate1": 1262, "Amount1": [ 1, 1 @@ -1853,7 +1853,7 @@ "GameId": 210, "Bet": 90000, "ItemId1": 30001, - "Rate1": 10000, + "Rate1": 1337, "Amount1": [ 1, 1 @@ -1864,7 +1864,7 @@ "GameId": 210, "Bet": 95000, "ItemId1": 30001, - "Rate1": 10000, + "Rate1": 1411, "Amount1": [ 1, 1 @@ -1875,7 +1875,7 @@ "GameId": 210, "Bet": 100000, "ItemId1": 30001, - "Rate1": 10000, + "Rate1": 1485, "Amount1": [ 1, 1 @@ -1886,7 +1886,7 @@ "GameId": 210, "Bet": 150000, "ItemId1": 30001, - "Rate1": 10000, + "Rate1": 2228, "Amount1": [ 1, 1 @@ -1897,7 +1897,7 @@ "GameId": 210, "Bet": 200000, "ItemId1": 30001, - "Rate1": 10000, + "Rate1": 2970, "Amount1": [ 1, 1 @@ -1908,7 +1908,7 @@ "GameId": 210, "Bet": 250000, "ItemId1": 30001, - "Rate1": 10000, + "Rate1": 3713, "Amount1": [ 1, 1 @@ -1919,7 +1919,7 @@ "GameId": 210, "Bet": 300000, "ItemId1": 30001, - "Rate1": 10000, + "Rate1": 4455, "Amount1": [ 1, 2 @@ -1930,7 +1930,7 @@ "GameId": 210, "Bet": 350000, "ItemId1": 30001, - "Rate1": 10000, + "Rate1": 5198, "Amount1": [ 1, 2 @@ -1941,7 +1941,7 @@ "GameId": 210, "Bet": 400000, "ItemId1": 30001, - "Rate1": 10000, + "Rate1": 5940, "Amount1": [ 1, 2 @@ -1952,7 +1952,7 @@ "GameId": 210, "Bet": 450000, "ItemId1": 30001, - "Rate1": 10000, + "Rate1": 6683, "Amount1": [ 1, 2 @@ -1963,7 +1963,7 @@ "GameId": 210, "Bet": 500000, "ItemId1": 30001, - "Rate1": 10000, + "Rate1": 7425, "Amount1": [ 2, 3 @@ -1974,7 +1974,7 @@ "GameId": 210, "Bet": 550000, "ItemId1": 30001, - "Rate1": 10000, + "Rate1": 8168, "Amount1": [ 2, 3 @@ -1985,7 +1985,7 @@ "GameId": 210, "Bet": 600000, "ItemId1": 30001, - "Rate1": 10000, + "Rate1": 8910, "Amount1": [ 2, 3 @@ -1996,7 +1996,7 @@ "GameId": 210, "Bet": 650000, "ItemId1": 30001, - "Rate1": 10000, + "Rate1": 9653, "Amount1": [ 2, 3 @@ -2086,8 +2086,8 @@ "ItemId1": 30001, "Rate1": 10000, "Amount1": [ - 5, - 10 + 1, + 5 ] }, { @@ -2097,8 +2097,8 @@ "ItemId1": 30001, "Rate1": 10000, "Amount1": [ - 10, - 25 + 5, + 9 ] }, { @@ -2108,8 +2108,8 @@ "ItemId1": 30001, "Rate1": 10000, "Amount1": [ - 25, - 50 + 13, + 17 ] }, { @@ -2119,8 +2119,8 @@ "ItemId1": 30001, "Rate1": 10000, "Amount1": [ - 50, - 75 + 20, + 24 ] }, { @@ -2130,8 +2130,8 @@ "ItemId1": 30001, "Rate1": 10000, "Amount1": [ - 75, - 100 + 28, + 32 ] }, { @@ -2141,8 +2141,8 @@ "ItemId1": 30001, "Rate1": 10000, "Amount1": [ - 100, - 125 + 35, + 39 ] }, { @@ -2152,8 +2152,8 @@ "ItemId1": 30001, "Rate1": 10000, "Amount1": [ - 125, - 150 + 43, + 47 ] }, { @@ -2163,8 +2163,8 @@ "ItemId1": 30001, "Rate1": 10000, "Amount1": [ - 150, - 175 + 50, + 54 ] }, { @@ -2174,8 +2174,8 @@ "ItemId1": 30001, "Rate1": 10000, "Amount1": [ - 175, - 200 + 57, + 61 ] }, { @@ -2185,8 +2185,8 @@ "ItemId1": 30001, "Rate1": 10000, "Amount1": [ - 200, - 225 + 65, + 69 ] }, { @@ -2196,8 +2196,8 @@ "ItemId1": 30001, "Rate1": 10000, "Amount1": [ - 225, - 250 + 72, + 76 ] }, { @@ -2205,7 +2205,7 @@ "GameId": 240, "Bet": 10000, "ItemId1": 30001, - "Rate1": 10000, + "Rate1": 149, "Amount1": [ 1, 1 @@ -2216,7 +2216,7 @@ "GameId": 240, "Bet": 50000, "ItemId1": 30001, - "Rate1": 10000, + "Rate1": 743, "Amount1": [ 1, 1 @@ -2227,10 +2227,10 @@ "GameId": 240, "Bet": 200000, "ItemId1": 30001, - "Rate1": 10000, + "Rate1": 2970, "Amount1": [ - 3, - 5 + 1, + 1 ] }, { @@ -2251,8 +2251,8 @@ "ItemId1": 30001, "Rate1": 10000, "Amount1": [ - 10, - 25 + 5, + 9 ] }, { @@ -2262,8 +2262,8 @@ "ItemId1": 30001, "Rate1": 10000, "Amount1": [ - 75, - 100 + 28, + 32 ] }, { @@ -2271,7 +2271,7 @@ "GameId": 244, "Bet": 100000, "ItemId1": 30001, - "Rate1": 10000, + "Rate1": 1485, "Amount1": [ 1, 1 @@ -2282,10 +2282,10 @@ "GameId": 244, "Bet": 500000, "ItemId1": 30001, - "Rate1": 10000, + "Rate1": 7425, "Amount1": [ - 1, - 1 + 2, + 3 ] }, { @@ -2295,7 +2295,7 @@ "ItemId1": 30001, "Rate1": 10000, "Amount1": [ - 3, + 1, 5 ] }, @@ -2306,8 +2306,8 @@ "ItemId1": 30001, "Rate1": 10000, "Amount1": [ - 3, - 5 + 13, + 17 ] }, { @@ -2317,8 +2317,8 @@ "ItemId1": 30001, "Rate1": 10000, "Amount1": [ - 10, - 25 + 72, + 76 ] }, { @@ -2328,8 +2328,8 @@ "ItemId1": 30001, "Rate1": 10000, "Amount1": [ - 75, - 100 + 295, + 299 ] }, { @@ -2337,7 +2337,7 @@ "GameId": 241, "Bet": 10000, "ItemId1": 30001, - "Rate1": 10000, + "Rate1": 149, "Amount1": [ 1, 1 @@ -2348,7 +2348,7 @@ "GameId": 241, "Bet": 50000, "ItemId1": 30001, - "Rate1": 10000, + "Rate1": 743, "Amount1": [ 1, 1 @@ -2359,10 +2359,10 @@ "GameId": 241, "Bet": 200000, "ItemId1": 30001, - "Rate1": 10000, + "Rate1": 2970, "Amount1": [ - 3, - 5 + 1, + 1 ] }, { @@ -2383,8 +2383,8 @@ "ItemId1": 30001, "Rate1": 10000, "Amount1": [ - 10, - 25 + 5, + 9 ] }, { @@ -2394,8 +2394,8 @@ "ItemId1": 30001, "Rate1": 10000, "Amount1": [ - 75, - 100 + 28, + 32 ] }, { @@ -2403,7 +2403,7 @@ "GameId": 245, "Bet": 10000, "ItemId1": 30001, - "Rate1": 10000, + "Rate1": 149, "Amount1": [ 1, 1 @@ -2414,7 +2414,7 @@ "GameId": 245, "Bet": 50000, "ItemId1": 30001, - "Rate1": 10000, + "Rate1": 743, "Amount1": [ 1, 1 @@ -2425,10 +2425,10 @@ "GameId": 245, "Bet": 200000, "ItemId1": 30001, - "Rate1": 10000, + "Rate1": 2970, "Amount1": [ - 3, - 5 + 1, + 1 ] }, { @@ -2449,8 +2449,8 @@ "ItemId1": 30001, "Rate1": 10000, "Amount1": [ - 10, - 25 + 5, + 9 ] }, { @@ -2460,8 +2460,8 @@ "ItemId1": 30001, "Rate1": 10000, "Amount1": [ - 75, - 100 + 28, + 32 ] }, { @@ -2469,7 +2469,7 @@ "GameId": 242, "Bet": 10000, "ItemId1": 30001, - "Rate1": 10000, + "Rate1": 149, "Amount1": [ 1, 1 @@ -2480,7 +2480,7 @@ "GameId": 242, "Bet": 50000, "ItemId1": 30001, - "Rate1": 10000, + "Rate1": 743, "Amount1": [ 1, 1 @@ -2491,10 +2491,10 @@ "GameId": 242, "Bet": 200000, "ItemId1": 30001, - "Rate1": 10000, + "Rate1": 2970, "Amount1": [ - 3, - 5 + 1, + 1 ] }, { @@ -2515,8 +2515,8 @@ "ItemId1": 30001, "Rate1": 10000, "Amount1": [ - 10, - 25 + 5, + 9 ] }, { @@ -2526,8 +2526,8 @@ "ItemId1": 30001, "Rate1": 10000, "Amount1": [ - 75, - 100 + 28, + 32 ] }, { @@ -2535,7 +2535,7 @@ "GameId": 246, "Bet": 10000, "ItemId1": 30001, - "Rate1": 10000, + "Rate1": 149, "Amount1": [ 1, 1 @@ -2546,7 +2546,7 @@ "GameId": 246, "Bet": 50000, "ItemId1": 30001, - "Rate1": 10000, + "Rate1": 743, "Amount1": [ 1, 1 @@ -2557,10 +2557,10 @@ "GameId": 246, "Bet": 200000, "ItemId1": 30001, - "Rate1": 10000, + "Rate1": 2970, "Amount1": [ - 3, - 5 + 1, + 1 ] }, { @@ -2581,8 +2581,8 @@ "ItemId1": 30001, "Rate1": 10000, "Amount1": [ - 10, - 25 + 5, + 9 ] }, { @@ -2592,8 +2592,8 @@ "ItemId1": 30001, "Rate1": 10000, "Amount1": [ - 75, - 100 + 28, + 32 ] }, { @@ -2601,7 +2601,7 @@ "GameId": 243, "Bet": 10000, "ItemId1": 30001, - "Rate1": 10000, + "Rate1": 149, "Amount1": [ 1, 1 @@ -2612,7 +2612,7 @@ "GameId": 243, "Bet": 50000, "ItemId1": 30001, - "Rate1": 10000, + "Rate1": 743, "Amount1": [ 1, 1 @@ -2623,10 +2623,10 @@ "GameId": 243, "Bet": 200000, "ItemId1": 30001, - "Rate1": 10000, + "Rate1": 2970, "Amount1": [ - 3, - 5 + 1, + 1 ] }, { @@ -2647,8 +2647,8 @@ "ItemId1": 30001, "Rate1": 10000, "Amount1": [ - 10, - 25 + 5, + 9 ] }, { @@ -2658,8 +2658,8 @@ "ItemId1": 30001, "Rate1": 10000, "Amount1": [ - 75, - 100 + 28, + 32 ] }, { @@ -2667,7 +2667,7 @@ "GameId": 247, "Bet": 10000, "ItemId1": 30001, - "Rate1": 10000, + "Rate1": 149, "Amount1": [ 1, 1 @@ -2678,7 +2678,7 @@ "GameId": 247, "Bet": 50000, "ItemId1": 30001, - "Rate1": 10000, + "Rate1": 743, "Amount1": [ 1, 1 @@ -2689,10 +2689,10 @@ "GameId": 247, "Bet": 200000, "ItemId1": 30001, - "Rate1": 10000, + "Rate1": 2970, "Amount1": [ - 3, - 5 + 1, + 1 ] }, { @@ -2713,8 +2713,8 @@ "ItemId1": 30001, "Rate1": 10000, "Amount1": [ - 10, - 25 + 5, + 9 ] }, { @@ -2724,8 +2724,8 @@ "ItemId1": 30001, "Rate1": 10000, "Amount1": [ - 75, - 100 + 28, + 32 ] } ] diff --git a/data/DB_PropExchange.dat b/data/DB_PropExchange.dat index 7a704a1..05a24b8 100644 --- a/data/DB_PropExchange.dat +++ b/data/DB_PropExchange.dat @@ -1,5 +1,5 @@ -6ӆԆՆֆ׆"= -.نچۆ؆"= -Wӆֆ؆چۆԆՆ׆ن"  -]ӆ؆ۆԆՆֆ׆نچ܆" \ No newline at end of file +6ԆՆֆ׆ӆ"= +.ۆ؆نچ"= +WӆՆֆنԆ׆؆چۆ"  +]ۆӆֆ׆؆܆ԆՆنچ" \ No newline at end of file diff --git a/data/DB_Task.dat b/data/DB_Task.dat index 41a8487..c48414c 100644 Binary files a/data/DB_Task.dat and b/data/DB_Task.dat differ diff --git a/data/DB_Task.json b/data/DB_Task.json index 038ecda..2179a0d 100644 --- a/data/DB_Task.json +++ b/data/DB_Task.json @@ -199,6 +199,18 @@ "100002": 10 } }, + { + "Id": 21, + "Order": 6, + "ActivityType": 3, + "TaskType": 18, + "TargetTimes": 100, + "FinishTimes": 1, + "Award": { + "100001": 10000000, + "100002": 10 + } + }, { "Id": 17, "Order": 1, diff --git a/dbproxy/svc/u_invitescore.go b/dbproxy/svc/u_invitescore.go index 927913d..2684de5 100644 --- a/dbproxy/svc/u_invitescore.go +++ b/dbproxy/svc/u_invitescore.go @@ -48,6 +48,7 @@ func (b *BindScoreSvc) GetInviteScore(req *model.InviteScoreReq, ret *model.Invi type M struct { Score int64 + Money int64 } var tc []M @@ -58,6 +59,7 @@ func (b *BindScoreSvc) GetInviteScore(req *model.InviteScoreReq, ret *model.Invi {"$group": bson.M{ "_id": nil, "score": bson.M{"$sum": "$score"}, + "money": bson.M{"$sum": "$money"}, }}, }).AllowDiskUse().All(&tc) if err != nil { @@ -67,6 +69,7 @@ func (b *BindScoreSvc) GetInviteScore(req *model.InviteScoreReq, ret *model.Invi if len(tc) > 0 { ret.Score = tc[0].Score + ret.Money = tc[0].Money c := PlayerDataCollection(req.Platform) if c == nil { return PlayerColError diff --git a/etcd/keyconf.go b/etcd/keyconf.go index 7a832c6..a7710b8 100644 --- a/etcd/keyconf.go +++ b/etcd/keyconf.go @@ -53,4 +53,5 @@ const ( ETCDKEY_PLAYERPOOL = "/game/plt/playerpool/" // 个人水池调控配置 ETCDKEY_GAME_CONFIG = "/game/plt/gameconfig/" // 游戏管理/全局配置 ETCDKEY_ACT_PHONELOTTERY = "/game/act_phoneLottery" + ETCDKEY_EXCHANGECHANNEL = "/game/exchange/channel" // 开启兑换功能的渠道 ) diff --git a/gamesrv/base/scene.go b/gamesrv/base/scene.go index e72a4a3..1622d65 100644 --- a/gamesrv/base/scene.go +++ b/gamesrv/base/scene.go @@ -2119,7 +2119,7 @@ func (this *Scene) TryBillExGameDrop(p *Player) { if baseScore == 0 { return } - dropInfo := srvdata.GameDropMgrSington.GetDropInfoByBaseScore(int32(this.GameId), baseScore) + dropInfo := srvdata.GameDropMgrSingleton.GetDropInfoByBaseScore(int32(this.GameId), baseScore) if dropInfo != nil && len(dropInfo) != 0 && p.Items != nil { realDrop := make(map[int32]int32) for _, drop := range dropInfo { diff --git a/model/config.go b/model/config.go index cc0f4a1..d93c6f2 100644 --- a/model/config.go +++ b/model/config.go @@ -115,6 +115,8 @@ type AllConfig struct { *webapi.ExchangeShopList // 商店 ShopInfos map[int32]*ShopInfo // 商品id:商品信息 + // 开启兑换的渠道 + *webapi.ExchangeChannelConfig } type GlobalConfig struct { diff --git a/model/invitecode.go b/model/invitecode.go index c99bc8b..598dc9d 100644 --- a/model/invitecode.go +++ b/model/invitecode.go @@ -53,6 +53,7 @@ type InviteScore struct { Tp int32 // 积分类型 common.InviteScoreType~ Score int64 // 积分 Ts int64 // 时间戳 + Money int64 // 充值金额 } type InviteScoreReq struct { @@ -61,16 +62,18 @@ type InviteScoreReq struct { } type InviteScoreRet struct { - Score int64 - ZScore int64 + Score int64 // 包含扣积分 + ZScore int64 // 只包含大于0的积分 + Money int64 // 充值金额 } // GetInviteScore 查询总积分 // 下级玩家所有积分 -func GetInviteScore(plt string, snid int32) (int64, int64, error) { +// 返回 包含扣积分,只包含大于0的积分,充值金额 +func GetInviteScore(plt string, snid int32) (int64, int64, int64, error) { if rpcCli == nil { logger.Logger.Warnf("rpcCli is nil") - return 0, 0, errors.New("rpcCli is nil") + return 0, 0, 0, errors.New("rpcCli is nil") } req := &InviteScoreReq{ @@ -81,10 +84,10 @@ func GetInviteScore(plt string, snid int32) (int64, int64, error) { err := rpcCli.CallWithTimeout("BindScoreSvc.GetInviteScore", req, ret, time.Second*30) if err != nil { logger.Logger.Warnf("GetInviteScore err:%v", err) - return 0, 0, err + return 0, 0, 0, err } - return ret.Score, ret.ZScore, err + return ret.Score, ret.ZScore, ret.Money, err } // SaveInviteScore 保存积分变更记录 diff --git a/protocol/gamehall/game.pb.go b/protocol/gamehall/game.pb.go index 99c3eab..0a97e7f 100644 --- a/protocol/gamehall/game.pb.go +++ b/protocol/gamehall/game.pb.go @@ -284,6 +284,8 @@ const ( GameHallPacketID_PACKET_CS_PLAYER_SWITCHFLAG GameHallPacketID = 8008 GameHallPacketID_PACKET_CSRoomEvent GameHallPacketID = 8009 // 房间事件 GameHallPacketID_PACKET_SCRoomEvent GameHallPacketID = 8010 // 房间事件 + GameHallPacketID_PACKET_CSExchangeChannel GameHallPacketID = 8011 // 开启兑换的渠道 + GameHallPacketID_PACKET_SCExchangeChannel GameHallPacketID = 8012 // 开启兑换的渠道 ) // Enum value maps for GameHallPacketID. @@ -390,6 +392,8 @@ var ( 8008: "PACKET_CS_PLAYER_SWITCHFLAG", 8009: "PACKET_CSRoomEvent", 8010: "PACKET_SCRoomEvent", + 8011: "PACKET_CSExchangeChannel", + 8012: "PACKET_SCExchangeChannel", } GameHallPacketID_value = map[string]int32{ "PACKET_GameHall_ZERO": 0, @@ -493,6 +497,8 @@ var ( "PACKET_CS_PLAYER_SWITCHFLAG": 8008, "PACKET_CSRoomEvent": 8009, "PACKET_SCRoomEvent": 8010, + "PACKET_CSExchangeChannel": 8011, + "PACKET_SCExchangeChannel": 8012, } ) @@ -6687,19 +6693,20 @@ type CommonNotice struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Sort int32 `protobuf:"varint,1,opt,name=Sort,proto3" json:"Sort,omitempty"` - Title string `protobuf:"bytes,2,opt,name=Title,proto3" json:"Title,omitempty"` - Content string `protobuf:"bytes,3,opt,name=Content,proto3" json:"Content,omitempty"` - TypeName string `protobuf:"bytes,4,opt,name=TypeName,proto3" json:"TypeName,omitempty"` - Type int32 `protobuf:"varint,5,opt,name=Type,proto3" json:"Type,omitempty"` - StartTime int32 `protobuf:"varint,6,opt,name=StartTime,proto3" json:"StartTime,omitempty"` - EndTime int32 `protobuf:"varint,7,opt,name=EndTime,proto3" json:"EndTime,omitempty"` - Platform string `protobuf:"bytes,8,opt,name=Platform,proto3" json:"Platform,omitempty"` - CategoryType int32 `protobuf:"varint,9,opt,name=CategoryType,proto3" json:"CategoryType,omitempty"` - ImgUrl string `protobuf:"bytes,10,opt,name=ImgUrl,proto3" json:"ImgUrl,omitempty"` - NoticeId int32 `protobuf:"varint,11,opt,name=NoticeId,proto3" json:"NoticeId,omitempty"` - IsLoop int32 `protobuf:"varint,12,opt,name=IsLoop,proto3" json:"IsLoop,omitempty"` - LoopTime int32 `protobuf:"varint,13,opt,name=LoopTime,proto3" json:"LoopTime,omitempty"` + Sort int32 `protobuf:"varint,1,opt,name=Sort,proto3" json:"Sort,omitempty"` + Title string `protobuf:"bytes,2,opt,name=Title,proto3" json:"Title,omitempty"` + Content string `protobuf:"bytes,3,opt,name=Content,proto3" json:"Content,omitempty"` + TypeName string `protobuf:"bytes,4,opt,name=TypeName,proto3" json:"TypeName,omitempty"` + Type int32 `protobuf:"varint,5,opt,name=Type,proto3" json:"Type,omitempty"` + StartTime int32 `protobuf:"varint,6,opt,name=StartTime,proto3" json:"StartTime,omitempty"` + EndTime int32 `protobuf:"varint,7,opt,name=EndTime,proto3" json:"EndTime,omitempty"` + Platform string `protobuf:"bytes,8,opt,name=Platform,proto3" json:"Platform,omitempty"` + CategoryType int32 `protobuf:"varint,9,opt,name=CategoryType,proto3" json:"CategoryType,omitempty"` + ImgUrl string `protobuf:"bytes,10,opt,name=ImgUrl,proto3" json:"ImgUrl,omitempty"` + NoticeId int32 `protobuf:"varint,11,opt,name=NoticeId,proto3" json:"NoticeId,omitempty"` + IsLoop int32 `protobuf:"varint,12,opt,name=IsLoop,proto3" json:"IsLoop,omitempty"` + LoopTime int32 `protobuf:"varint,13,opt,name=LoopTime,proto3" json:"LoopTime,omitempty"` + OnChannelName []string `protobuf:"bytes,14,rep,name=OnChannelName,proto3" json:"OnChannelName,omitempty"` } func (x *CommonNotice) Reset() { @@ -6825,6 +6832,13 @@ func (x *CommonNotice) GetLoopTime() int32 { return 0 } +func (x *CommonNotice) GetOnChannelName() []string { + if x != nil { + return x.OnChannelName + } + return nil +} + type PlayerRecord struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -7174,6 +7188,93 @@ func (x *SCRoomEvent) GetTs() int64 { return 0 } +// PACKET_CSExchangeChannel +type CSExchangeChannel struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *CSExchangeChannel) Reset() { + *x = CSExchangeChannel{} + if protoimpl.UnsafeEnabled { + mi := &file_game_proto_msgTypes[102] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CSExchangeChannel) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CSExchangeChannel) ProtoMessage() {} + +func (x *CSExchangeChannel) ProtoReflect() protoreflect.Message { + mi := &file_game_proto_msgTypes[102] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CSExchangeChannel.ProtoReflect.Descriptor instead. +func (*CSExchangeChannel) Descriptor() ([]byte, []int) { + return file_game_proto_rawDescGZIP(), []int{102} +} + +// PACKET_SCExchangeChannel +type SCExchangeChannel struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + OnChannelName []string `protobuf:"bytes,1,rep,name=OnChannelName,proto3" json:"OnChannelName,omitempty"` // 开启渠道 +} + +func (x *SCExchangeChannel) Reset() { + *x = SCExchangeChannel{} + if protoimpl.UnsafeEnabled { + mi := &file_game_proto_msgTypes[103] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SCExchangeChannel) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SCExchangeChannel) ProtoMessage() {} + +func (x *SCExchangeChannel) ProtoReflect() protoreflect.Message { + mi := &file_game_proto_msgTypes[103] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SCExchangeChannel.ProtoReflect.Descriptor instead. +func (*SCExchangeChannel) Descriptor() ([]byte, []int) { + return file_game_proto_rawDescGZIP(), []int{103} +} + +func (x *SCExchangeChannel) GetOnChannelName() []string { + if x != nil { + return x.OnChannelName + } + return nil +} + var File_game_proto protoreflect.FileDescriptor var file_game_proto_rawDesc = []byte{ @@ -7840,7 +7941,7 @@ var file_game_proto_rawDesc = []byte{ 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4f, 0x70, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x4f, 0x70, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x53, 0x74, - 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x22, 0xe2, 0x02, 0x0a, 0x0c, 0x43, 0x6f, 0x6d, 0x6d, + 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 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, @@ -7862,319 +7963,330 @@ var file_game_proto_rawDesc = []byte{ 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, 0x22, 0xc0, 0x01, 0x0a, - 0x0c, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x1e, 0x0a, - 0x0a, 0x47, 0x61, 0x6d, 0x65, 0x46, 0x72, 0x65, 0x65, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x0a, 0x47, 0x61, 0x6d, 0x65, 0x46, 0x72, 0x65, 0x65, 0x69, 0x64, 0x12, 0x2c, 0x0a, - 0x11, 0x47, 0x61, 0x6d, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x4c, 0x6f, 0x67, - 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x47, 0x61, 0x6d, 0x65, 0x44, 0x65, - 0x74, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x4c, 0x6f, 0x67, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x54, - 0x6f, 0x74, 0x61, 0x6c, 0x49, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x54, 0x6f, - 0x74, 0x61, 0x6c, 0x49, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x4f, 0x75, - 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x4f, 0x75, - 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x54, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x54, - 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x54, 0x79, 0x70, 0x65, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x54, 0x79, 0x70, 0x65, 0x22, - 0xbc, 0x01, 0x0a, 0x11, 0x53, 0x43, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x41, 0x6e, 0x64, 0x4e, - 0x6f, 0x74, 0x69, 0x63, 0x65, 0x12, 0x33, 0x0a, 0x06, 0x4f, 0x70, 0x43, 0x6f, 0x64, 0x65, 0x18, + 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, 0xc0, 0x01, 0x0a, 0x0c, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x52, 0x65, 0x63, + 0x6f, 0x72, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x47, 0x61, 0x6d, 0x65, 0x46, 0x72, 0x65, 0x65, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x47, 0x61, 0x6d, 0x65, 0x46, 0x72, 0x65, + 0x65, 0x69, 0x64, 0x12, 0x2c, 0x0a, 0x11, 0x47, 0x61, 0x6d, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, + 0x6c, 0x65, 0x64, 0x4c, 0x6f, 0x67, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, + 0x47, 0x61, 0x6d, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x4c, 0x6f, 0x67, 0x49, + 0x64, 0x12, 0x18, 0x0a, 0x07, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x49, 0x6e, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x03, 0x52, 0x07, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x49, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x54, + 0x6f, 0x74, 0x61, 0x6c, 0x4f, 0x75, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x54, + 0x6f, 0x74, 0x61, 0x6c, 0x4f, 0x75, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x54, 0x73, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x02, 0x54, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x4d, 0x61, 0x74, 0x63, 0x68, + 0x54, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x4d, 0x61, 0x74, 0x63, + 0x68, 0x54, 0x79, 0x70, 0x65, 0x22, 0xbc, 0x01, 0x0a, 0x11, 0x53, 0x43, 0x52, 0x65, 0x63, 0x6f, + 0x72, 0x64, 0x41, 0x6e, 0x64, 0x4e, 0x6f, 0x74, 0x69, 0x63, 0x65, 0x12, 0x33, 0x0a, 0x06, 0x4f, + 0x70, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x67, 0x61, + 0x6d, 0x65, 0x68, 0x61, 0x6c, 0x6c, 0x2e, 0x4f, 0x70, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, + 0x6f, 0x64, 0x65, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x52, 0x06, 0x4f, 0x70, 0x43, 0x6f, 0x64, 0x65, + 0x12, 0x2a, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, + 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x68, 0x61, 0x6c, 0x6c, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, + 0x4e, 0x6f, 0x74, 0x69, 0x63, 0x65, 0x52, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x05, + 0x47, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x61, + 0x6d, 0x65, 0x68, 0x61, 0x6c, 0x6c, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x52, 0x65, 0x63, + 0x6f, 0x72, 0x64, 0x52, 0x05, 0x47, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x47, 0x6c, + 0x69, 0x73, 0x74, 0x54, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x03, 0x52, 0x07, 0x47, 0x6c, 0x69, + 0x73, 0x74, 0x54, 0x73, 0x22, 0x10, 0x0a, 0x0e, 0x53, 0x43, 0x4e, 0x6f, 0x74, 0x69, 0x63, 0x65, + 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x22, 0x4d, 0x0a, 0x0b, 0x43, 0x53, 0x52, 0x6f, 0x6f, 0x6d, + 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x54, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x02, 0x54, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, + 0x14, 0x0a, 0x05, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x18, 0x04, 0x20, 0x03, 0x28, 0x05, 0x52, 0x05, + 0x50, 0x61, 0x72, 0x61, 0x6d, 0x22, 0xa4, 0x01, 0x0a, 0x0b, 0x53, 0x43, 0x52, 0x6f, 0x6f, 0x6d, + 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x33, 0x0a, 0x06, 0x4f, 0x70, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x68, 0x61, 0x6c, 0x6c, 0x2e, 0x4f, 0x70, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x5f, 0x47, 0x61, - 0x6d, 0x65, 0x52, 0x06, 0x4f, 0x70, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x2a, 0x0a, 0x04, 0x4c, 0x69, - 0x73, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x68, - 0x61, 0x6c, 0x6c, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x69, 0x63, 0x65, - 0x52, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x05, 0x47, 0x6c, 0x69, 0x73, 0x74, 0x18, - 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x68, 0x61, 0x6c, 0x6c, - 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x05, 0x47, - 0x6c, 0x69, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x47, 0x6c, 0x69, 0x73, 0x74, 0x54, 0x73, 0x18, - 0x04, 0x20, 0x03, 0x28, 0x03, 0x52, 0x07, 0x47, 0x6c, 0x69, 0x73, 0x74, 0x54, 0x73, 0x22, 0x10, - 0x0a, 0x0e, 0x53, 0x43, 0x4e, 0x6f, 0x74, 0x69, 0x63, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, - 0x22, 0x4d, 0x0a, 0x0b, 0x43, 0x53, 0x52, 0x6f, 0x6f, 0x6d, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, - 0x0e, 0x0a, 0x02, 0x54, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x54, 0x70, 0x12, - 0x18, 0x0a, 0x07, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x07, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x50, 0x61, 0x72, - 0x61, 0x6d, 0x18, 0x04, 0x20, 0x03, 0x28, 0x05, 0x52, 0x05, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x22, - 0xa4, 0x01, 0x0a, 0x0b, 0x53, 0x43, 0x52, 0x6f, 0x6f, 0x6d, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, - 0x33, 0x0a, 0x06, 0x4f, 0x70, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, - 0x1b, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x68, 0x61, 0x6c, 0x6c, 0x2e, 0x4f, 0x70, 0x52, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x52, 0x06, 0x4f, 0x70, - 0x43, 0x6f, 0x64, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x54, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x02, 0x54, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x50, 0x6f, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x03, 0x50, 0x6f, 0x73, 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, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x18, 0x05, 0x20, 0x03, 0x28, 0x05, 0x52, - 0x05, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x12, 0x0e, 0x0a, 0x02, 0x54, 0x73, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x03, 0x52, 0x02, 0x54, 0x73, 0x2a, 0xe6, 0x09, 0x0a, 0x11, 0x4f, 0x70, 0x52, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x10, - 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x53, 0x75, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x47, 0x61, 0x6d, 0x65, - 0x10, 0x00, 0x12, 0x13, 0x0a, 0x0f, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x45, 0x72, 0x72, 0x6f, 0x72, - 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x10, 0x01, 0x12, 0x1b, 0x0a, 0x16, 0x4f, 0x50, 0x52, 0x43, 0x5f, - 0x52, 0x6f, 0x6f, 0x6d, 0x4e, 0x6f, 0x74, 0x45, 0x78, 0x69, 0x73, 0x74, 0x5f, 0x47, 0x61, 0x6d, - 0x65, 0x10, 0xf8, 0x07, 0x12, 0x1b, 0x0a, 0x16, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x47, 0x61, 0x6d, - 0x65, 0x4e, 0x6f, 0x74, 0x45, 0x78, 0x69, 0x73, 0x74, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x10, 0xf9, - 0x07, 0x12, 0x17, 0x0a, 0x12, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x48, 0x61, - 0x64, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x10, 0xfa, 0x07, 0x12, 0x19, 0x0a, 0x14, 0x4f, 0x50, - 0x52, 0x43, 0x5f, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x73, 0x46, 0x75, 0x6c, 0x6c, 0x5f, 0x47, 0x61, - 0x6d, 0x65, 0x10, 0xfb, 0x07, 0x12, 0x1b, 0x0a, 0x16, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x52, 0x6f, - 0x6f, 0x6d, 0x48, 0x61, 0x64, 0x45, 0x78, 0x69, 0x73, 0x74, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x10, - 0xfc, 0x07, 0x12, 0x1b, 0x0a, 0x16, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x53, - 0x74, 0x61, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x10, 0xfe, 0x07, 0x12, - 0x27, 0x0a, 0x22, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x43, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x57, 0x61, - 0x74, 0x63, 0x68, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x49, 0x6e, 0x4f, 0x74, 0x68, 0x65, 0x72, - 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x10, 0x80, 0x08, 0x12, 0x1d, 0x0a, 0x18, 0x4f, 0x50, 0x52, 0x43, - 0x5f, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x4e, 0x6f, 0x74, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x5f, - 0x47, 0x61, 0x6d, 0x65, 0x10, 0x90, 0x08, 0x12, 0x2c, 0x0a, 0x27, 0x4f, 0x50, 0x52, 0x43, 0x5f, - 0x43, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x57, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x61, 0x73, 0x6f, - 0x6e, 0x52, 0x6f, 0x6f, 0x6d, 0x4e, 0x6f, 0x74, 0x53, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x47, 0x61, - 0x6d, 0x65, 0x10, 0x92, 0x08, 0x12, 0x27, 0x0a, 0x22, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x4f, 0x6e, - 0x6c, 0x79, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x43, 0x6c, 0x75, 0x62, 0x4d, 0x65, 0x6d, 0x62, 0x65, - 0x72, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x10, 0x93, 0x08, 0x12, 0x1e, - 0x0a, 0x19, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x59, 0x6f, 0x75, 0x72, 0x52, 0x65, 0x73, 0x56, 0x65, - 0x72, 0x49, 0x73, 0x4c, 0x6f, 0x77, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x10, 0x94, 0x08, 0x12, 0x1e, - 0x0a, 0x19, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x59, 0x6f, 0x75, 0x72, 0x41, 0x70, 0x70, 0x56, 0x65, - 0x72, 0x49, 0x73, 0x4c, 0x6f, 0x77, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x10, 0x95, 0x08, 0x12, 0x1b, - 0x0a, 0x16, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x50, 0x6f, 0x73, 0x46, - 0x75, 0x6c, 0x6c, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x10, 0x98, 0x08, 0x12, 0x23, 0x0a, 0x1e, 0x4f, - 0x50, 0x52, 0x43, 0x5f, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x46, 0x6f, - 0x72, 0x57, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x10, 0x9a, 0x08, - 0x12, 0x1c, 0x0a, 0x17, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x52, 0x6f, 0x6f, 0x6d, 0x48, 0x61, 0x64, - 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x10, 0x9d, 0x08, 0x12, 0x22, - 0x0a, 0x1d, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x53, 0x65, 0x72, 0x76, - 0x65, 0x72, 0x4d, 0x61, 0x69, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x10, - 0x9e, 0x08, 0x12, 0x1b, 0x0a, 0x16, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x53, 0x61, 0x6d, 0x65, 0x49, - 0x70, 0x46, 0x6f, 0x72, 0x62, 0x69, 0x64, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x10, 0x9f, 0x08, 0x12, - 0x1c, 0x0a, 0x17, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x43, 0x6f, 0x69, 0x6e, 0x4e, 0x6f, 0x74, 0x45, - 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x10, 0xa0, 0x08, 0x12, 0x1a, 0x0a, - 0x15, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x43, 0x6f, 0x69, 0x6e, 0x54, 0x6f, 0x6f, 0x4d, 0x6f, 0x72, - 0x65, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x10, 0xa2, 0x08, 0x12, 0x1d, 0x0a, 0x18, 0x4f, 0x50, 0x52, - 0x43, 0x5f, 0x49, 0x6e, 0x4f, 0x74, 0x68, 0x65, 0x72, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x6e, 0x67, - 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x10, 0xa3, 0x08, 0x12, 0x16, 0x0a, 0x11, 0x4f, 0x50, 0x52, 0x43, - 0x5f, 0x4f, 0x70, 0x59, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x10, 0xba, 0x08, - 0x12, 0x20, 0x0a, 0x1b, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x41, 0x6c, 0x6c, 0x6f, 0x63, 0x52, 0x6f, - 0x6f, 0x6d, 0x49, 0x64, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x10, - 0xc9, 0x08, 0x12, 0x24, 0x0a, 0x1f, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x50, 0x72, 0x69, 0x76, 0x61, - 0x74, 0x65, 0x52, 0x6f, 0x6f, 0x6d, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, - 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x10, 0xca, 0x08, 0x12, 0x15, 0x0a, 0x10, 0x4f, 0x50, 0x52, 0x43, - 0x5f, 0x52, 0x6f, 0x6f, 0x6d, 0x4e, 0x6f, 0x74, 0x45, 0x78, 0x69, 0x74, 0x10, 0xcb, 0x08, 0x12, - 0x22, 0x0a, 0x1d, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x4c, 0x6f, 0x77, 0x65, 0x72, 0x52, 0x69, 0x63, - 0x65, 0x5f, 0x53, 0x63, 0x65, 0x6e, 0x63, 0x65, 0x4d, 0x61, 0x78, 0x5f, 0x47, 0x61, 0x6d, 0x65, - 0x10, 0xb3, 0x08, 0x12, 0x22, 0x0a, 0x1d, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x4c, 0x6f, 0x77, 0x65, - 0x72, 0x52, 0x69, 0x63, 0x65, 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4d, 0x61, 0x78, 0x5f, - 0x47, 0x61, 0x6d, 0x65, 0x10, 0xb4, 0x08, 0x12, 0x26, 0x0a, 0x21, 0x4f, 0x50, 0x52, 0x43, 0x5f, - 0x4c, 0x6f, 0x77, 0x65, 0x72, 0x52, 0x69, 0x63, 0x65, 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, - 0x44, 0x6f, 0x77, 0x6e, 0x4d, 0x61, 0x78, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x10, 0xb5, 0x08, 0x12, - 0x27, 0x0a, 0x22, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x59, 0x6f, 0x75, 0x72, 0x41, 0x72, 0x65, 0x47, - 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x43, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x4c, 0x65, 0x61, 0x76, 0x65, - 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x10, 0xb6, 0x08, 0x12, 0x21, 0x0a, 0x1c, 0x4f, 0x50, 0x52, 0x43, - 0x5f, 0x54, 0x68, 0x69, 0x72, 0x64, 0x50, 0x6c, 0x74, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, - 0x69, 0x6e, 0x67, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x10, 0xc8, 0x08, 0x12, 0x1c, 0x0a, 0x17, 0x4f, - 0x50, 0x52, 0x43, 0x5f, 0x52, 0x6f, 0x6f, 0x6d, 0x47, 0x61, 0x6d, 0x65, 0x54, 0x69, 0x6d, 0x65, - 0x73, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x10, 0xcf, 0x08, 0x12, 0x1f, 0x0a, 0x1a, 0x4f, 0x50, 0x52, - 0x43, 0x5f, 0x4d, 0x75, 0x73, 0x74, 0x42, 0x69, 0x6e, 0x64, 0x50, 0x72, 0x6f, 0x6d, 0x6f, 0x74, - 0x65, 0x72, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x10, 0xd9, 0x08, 0x12, 0x1f, 0x0a, 0x1a, 0x4f, 0x70, - 0x72, 0x63, 0x5f, 0x43, 0x6c, 0x75, 0x62, 0x5f, 0x43, 0x6c, 0x75, 0x62, 0x49, 0x73, 0x43, 0x6c, - 0x6f, 0x73, 0x65, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x10, 0x9f, 0x27, 0x12, 0x1b, 0x0a, 0x16, 0x4f, - 0x50, 0x52, 0x43, 0x5f, 0x44, 0x67, 0x5f, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x45, 0x72, 0x72, - 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x10, 0xa8, 0x46, 0x12, 0x1a, 0x0a, 0x15, 0x4f, 0x50, 0x52, 0x43, - 0x5f, 0x44, 0x67, 0x5f, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x45, 0x72, 0x72, 0x5f, 0x47, 0x61, 0x6d, - 0x65, 0x10, 0xa9, 0x46, 0x12, 0x19, 0x0a, 0x14, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x44, 0x67, 0x5f, - 0x50, 0x6c, 0x61, 0x74, 0x45, 0x72, 0x72, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x10, 0xaa, 0x46, 0x12, - 0x20, 0x0a, 0x1b, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x44, 0x67, 0x5f, 0x51, 0x75, 0x6f, 0x74, 0x61, - 0x4e, 0x6f, 0x74, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x10, 0xab, - 0x46, 0x12, 0x1c, 0x0a, 0x17, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x54, 0x68, 0x72, 0x5f, 0x47, 0x61, - 0x6d, 0x65, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x10, 0xb2, 0x46, 0x2a, - 0xd0, 0x17, 0x0a, 0x10, 0x47, 0x61, 0x6d, 0x65, 0x48, 0x61, 0x6c, 0x6c, 0x50, 0x61, 0x63, 0x6b, - 0x65, 0x74, 0x49, 0x44, 0x12, 0x18, 0x0a, 0x14, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x47, - 0x61, 0x6d, 0x65, 0x48, 0x61, 0x6c, 0x6c, 0x5f, 0x5a, 0x45, 0x52, 0x4f, 0x10, 0x00, 0x12, 0x17, - 0x0a, 0x12, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x4a, 0x4f, 0x49, 0x4e, - 0x47, 0x41, 0x4d, 0x45, 0x10, 0x98, 0x11, 0x12, 0x17, 0x0a, 0x12, 0x50, 0x41, 0x43, 0x4b, 0x45, - 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x4a, 0x4f, 0x49, 0x4e, 0x47, 0x41, 0x4d, 0x45, 0x10, 0x99, 0x11, - 0x12, 0x19, 0x0a, 0x14, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x43, 0x52, - 0x45, 0x41, 0x54, 0x45, 0x52, 0x4f, 0x4f, 0x4d, 0x10, 0x9a, 0x11, 0x12, 0x19, 0x0a, 0x14, 0x50, - 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x52, - 0x4f, 0x4f, 0x4d, 0x10, 0x9b, 0x11, 0x12, 0x18, 0x0a, 0x13, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, - 0x5f, 0x43, 0x53, 0x5f, 0x45, 0x4e, 0x54, 0x45, 0x52, 0x52, 0x4f, 0x4f, 0x4d, 0x10, 0x9c, 0x11, - 0x12, 0x18, 0x0a, 0x13, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x45, 0x4e, - 0x54, 0x45, 0x52, 0x52, 0x4f, 0x4f, 0x4d, 0x10, 0x9d, 0x11, 0x12, 0x19, 0x0a, 0x14, 0x50, 0x41, - 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x52, 0x45, 0x54, 0x55, 0x52, 0x4e, 0x52, 0x4f, - 0x4f, 0x4d, 0x10, 0x9e, 0x11, 0x12, 0x19, 0x0a, 0x14, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, - 0x53, 0x43, 0x5f, 0x52, 0x45, 0x54, 0x55, 0x52, 0x4e, 0x52, 0x4f, 0x4f, 0x4d, 0x10, 0x9f, 0x11, - 0x12, 0x21, 0x0a, 0x1c, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x41, 0x55, - 0x44, 0x49, 0x45, 0x4e, 0x43, 0x45, 0x5f, 0x45, 0x4e, 0x54, 0x45, 0x52, 0x52, 0x4f, 0x4f, 0x4d, - 0x10, 0xa0, 0x11, 0x12, 0x18, 0x0a, 0x13, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, - 0x5f, 0x45, 0x4e, 0x54, 0x45, 0x52, 0x47, 0x41, 0x4d, 0x45, 0x10, 0xa1, 0x11, 0x12, 0x18, 0x0a, - 0x13, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x45, 0x4e, 0x54, 0x45, 0x52, - 0x47, 0x41, 0x4d, 0x45, 0x10, 0xa2, 0x11, 0x12, 0x17, 0x0a, 0x12, 0x50, 0x41, 0x43, 0x4b, 0x45, - 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x51, 0x55, 0x49, 0x54, 0x47, 0x41, 0x4d, 0x45, 0x10, 0xa3, 0x11, - 0x12, 0x17, 0x0a, 0x12, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x51, 0x55, - 0x49, 0x54, 0x47, 0x41, 0x4d, 0x45, 0x10, 0xa4, 0x11, 0x12, 0x1a, 0x0a, 0x15, 0x50, 0x41, 0x43, - 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x43, 0x41, 0x52, 0x44, 0x47, 0x41, 0x49, 0x4e, 0x57, - 0x41, 0x59, 0x10, 0xa5, 0x11, 0x12, 0x17, 0x0a, 0x12, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, - 0x43, 0x53, 0x5f, 0x54, 0x41, 0x53, 0x4b, 0x4c, 0x49, 0x53, 0x54, 0x10, 0xa6, 0x11, 0x12, 0x17, - 0x0a, 0x12, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x54, 0x41, 0x53, 0x4b, - 0x4c, 0x49, 0x53, 0x54, 0x10, 0xa7, 0x11, 0x12, 0x16, 0x0a, 0x11, 0x50, 0x41, 0x43, 0x4b, 0x45, - 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x54, 0x41, 0x53, 0x4b, 0x43, 0x48, 0x47, 0x10, 0xa8, 0x11, 0x12, - 0x1b, 0x0a, 0x16, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x54, 0x41, 0x43, - 0x4b, 0x43, 0x4f, 0x4d, 0x50, 0x4c, 0x45, 0x54, 0x45, 0x10, 0xa9, 0x11, 0x12, 0x16, 0x0a, 0x11, - 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x54, 0x41, 0x53, 0x4b, 0x44, 0x45, - 0x4c, 0x10, 0xaa, 0x11, 0x12, 0x1c, 0x0a, 0x17, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, - 0x53, 0x5f, 0x54, 0x41, 0x43, 0x4b, 0x44, 0x52, 0x41, 0x57, 0x50, 0x52, 0x49, 0x5a, 0x45, 0x10, - 0xab, 0x11, 0x12, 0x1c, 0x0a, 0x17, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, - 0x54, 0x41, 0x43, 0x4b, 0x44, 0x52, 0x41, 0x57, 0x50, 0x52, 0x49, 0x5a, 0x45, 0x10, 0xac, 0x11, - 0x12, 0x1e, 0x0a, 0x19, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x47, 0x45, - 0x54, 0x41, 0x47, 0x45, 0x4e, 0x54, 0x47, 0x41, 0x4d, 0x45, 0x52, 0x45, 0x43, 0x10, 0xaf, 0x11, - 0x12, 0x1e, 0x0a, 0x19, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x47, 0x45, - 0x54, 0x41, 0x47, 0x45, 0x4e, 0x54, 0x47, 0x41, 0x4d, 0x45, 0x52, 0x45, 0x43, 0x10, 0xb0, 0x11, - 0x12, 0x1e, 0x0a, 0x19, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x44, 0x45, - 0x4c, 0x41, 0x47, 0x45, 0x4e, 0x54, 0x47, 0x41, 0x4d, 0x45, 0x52, 0x45, 0x43, 0x10, 0xb1, 0x11, - 0x12, 0x16, 0x0a, 0x11, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x53, 0x48, - 0x4f, 0x50, 0x42, 0x55, 0x59, 0x10, 0xb2, 0x11, 0x12, 0x16, 0x0a, 0x11, 0x50, 0x41, 0x43, 0x4b, - 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x53, 0x48, 0x4f, 0x50, 0x42, 0x55, 0x59, 0x10, 0xb3, 0x11, - 0x12, 0x18, 0x0a, 0x13, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x4c, 0x49, - 0x4d, 0x49, 0x54, 0x4c, 0x49, 0x53, 0x54, 0x10, 0xb4, 0x11, 0x12, 0x1f, 0x0a, 0x1a, 0x50, 0x41, - 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x47, 0x45, 0x54, 0x4c, 0x41, 0x54, 0x45, 0x4c, - 0x59, 0x47, 0x41, 0x4d, 0x45, 0x49, 0x44, 0x53, 0x10, 0xb5, 0x11, 0x12, 0x1f, 0x0a, 0x1a, 0x50, - 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x47, 0x45, 0x54, 0x4c, 0x41, 0x54, 0x45, - 0x4c, 0x59, 0x47, 0x41, 0x4d, 0x45, 0x49, 0x44, 0x53, 0x10, 0xb6, 0x11, 0x12, 0x1c, 0x0a, 0x17, - 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x47, 0x45, 0x54, 0x47, 0x41, 0x4d, - 0x45, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x10, 0xb7, 0x11, 0x12, 0x1c, 0x0a, 0x17, 0x50, 0x41, - 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x47, 0x45, 0x54, 0x47, 0x41, 0x4d, 0x45, 0x43, - 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x10, 0xb8, 0x11, 0x12, 0x1f, 0x0a, 0x1a, 0x50, 0x41, 0x43, 0x4b, - 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x47, 0x41, 0x4d, 0x45, - 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x10, 0xb9, 0x11, 0x12, 0x18, 0x0a, 0x13, 0x50, 0x41, 0x43, - 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x45, 0x4e, 0x54, 0x45, 0x52, 0x48, 0x41, 0x4c, 0x4c, - 0x10, 0xc0, 0x11, 0x12, 0x18, 0x0a, 0x13, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, - 0x5f, 0x45, 0x4e, 0x54, 0x45, 0x52, 0x48, 0x41, 0x4c, 0x4c, 0x10, 0xc1, 0x11, 0x12, 0x18, 0x0a, - 0x13, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x4c, 0x45, 0x41, 0x56, 0x45, - 0x48, 0x41, 0x4c, 0x4c, 0x10, 0xc2, 0x11, 0x12, 0x18, 0x0a, 0x13, 0x50, 0x41, 0x43, 0x4b, 0x45, - 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x4c, 0x45, 0x41, 0x56, 0x45, 0x48, 0x41, 0x4c, 0x4c, 0x10, 0xc3, - 0x11, 0x12, 0x1b, 0x0a, 0x16, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x48, - 0x41, 0x4c, 0x4c, 0x52, 0x4f, 0x4f, 0x4d, 0x4c, 0x49, 0x53, 0x54, 0x10, 0xc4, 0x11, 0x12, 0x1b, - 0x0a, 0x16, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x48, 0x41, 0x4c, 0x4c, - 0x52, 0x4f, 0x4f, 0x4d, 0x4c, 0x49, 0x53, 0x54, 0x10, 0xc5, 0x11, 0x12, 0x1e, 0x0a, 0x19, 0x50, - 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x52, 0x4f, 0x4f, 0x4d, 0x50, 0x4c, 0x41, - 0x59, 0x45, 0x52, 0x45, 0x4e, 0x54, 0x45, 0x52, 0x10, 0xc6, 0x11, 0x12, 0x1e, 0x0a, 0x19, 0x50, - 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x52, 0x4f, 0x4f, 0x4d, 0x50, 0x4c, 0x41, - 0x59, 0x45, 0x52, 0x4c, 0x45, 0x41, 0x56, 0x45, 0x10, 0xc7, 0x11, 0x12, 0x1d, 0x0a, 0x18, 0x50, - 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x52, 0x4f, 0x4f, 0x4d, 0x53, 0x54, 0x41, - 0x54, 0x45, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x10, 0xc8, 0x11, 0x12, 0x1c, 0x0a, 0x17, 0x50, 0x41, - 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x48, 0x41, 0x4c, 0x4c, 0x50, 0x4c, 0x41, 0x59, - 0x45, 0x52, 0x4e, 0x55, 0x4d, 0x10, 0xc9, 0x11, 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, 0xca, 0x11, 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, 0xcb, 0x11, 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, 0xcc, 0x11, 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, 0xcd, 0x11, 0x12, 0x1a, 0x0a, 0x15, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, - 0x5f, 0x43, 0x53, 0x5f, 0x45, 0x4e, 0x54, 0x45, 0x52, 0x44, 0x47, 0x47, 0x41, 0x4d, 0x45, 0x10, - 0xce, 0x11, 0x12, 0x1a, 0x0a, 0x15, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, - 0x45, 0x4e, 0x54, 0x45, 0x52, 0x44, 0x47, 0x47, 0x41, 0x4d, 0x45, 0x10, 0xcf, 0x11, 0x12, 0x1a, - 0x0a, 0x15, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x4c, 0x45, 0x41, 0x56, - 0x45, 0x44, 0x47, 0x47, 0x41, 0x4d, 0x45, 0x10, 0xd0, 0x11, 0x12, 0x1a, 0x0a, 0x15, 0x50, 0x41, - 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x4c, 0x45, 0x41, 0x56, 0x45, 0x44, 0x47, 0x47, - 0x41, 0x4d, 0x45, 0x10, 0xd1, 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, 0xd2, 0x11, 0x12, 0x25, 0x0a, 0x20, 0x50, - 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x54, 0x48, 0x52, 0x49, 0x44, 0x41, 0x43, - 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x53, 0x54, 0x41, 0x54, 0x49, 0x43, 0x53, 0x54, 0x49, 0x43, 0x10, - 0xd3, 0x11, 0x12, 0x25, 0x0a, 0x20, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, - 0x54, 0x48, 0x52, 0x49, 0x44, 0x41, 0x43, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x53, 0x54, 0x41, 0x54, - 0x49, 0x43, 0x53, 0x54, 0x49, 0x43, 0x10, 0xd4, 0x11, 0x12, 0x23, 0x0a, 0x1e, 0x50, 0x41, 0x43, - 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x54, 0x48, 0x52, 0x49, 0x44, 0x41, 0x43, 0x43, 0x4f, - 0x55, 0x4e, 0x54, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x46, 0x45, 0x52, 0x10, 0xd5, 0x11, 0x12, 0x23, - 0x0a, 0x1e, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x54, 0x48, 0x52, 0x49, - 0x44, 0x41, 0x43, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x46, 0x45, 0x52, - 0x10, 0xd6, 0x11, 0x12, 0x1d, 0x0a, 0x18, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, - 0x5f, 0x45, 0x4e, 0x54, 0x45, 0x52, 0x54, 0x48, 0x52, 0x49, 0x44, 0x47, 0x41, 0x4d, 0x45, 0x10, - 0xd7, 0x11, 0x12, 0x1d, 0x0a, 0x18, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, - 0x45, 0x4e, 0x54, 0x45, 0x52, 0x54, 0x48, 0x52, 0x49, 0x44, 0x47, 0x41, 0x4d, 0x45, 0x10, 0xd8, - 0x11, 0x12, 0x1d, 0x0a, 0x18, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x4c, - 0x45, 0x41, 0x56, 0x45, 0x54, 0x48, 0x52, 0x49, 0x44, 0x47, 0x41, 0x4d, 0x45, 0x10, 0xd9, 0x11, - 0x12, 0x1d, 0x0a, 0x18, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x4c, 0x45, - 0x41, 0x56, 0x45, 0x54, 0x48, 0x52, 0x49, 0x44, 0x47, 0x41, 0x4d, 0x45, 0x10, 0xda, 0x11, 0x12, - 0x1c, 0x0a, 0x17, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x54, 0x48, 0x52, - 0x49, 0x44, 0x47, 0x41, 0x4d, 0x45, 0x4c, 0x49, 0x53, 0x54, 0x10, 0xdb, 0x11, 0x12, 0x1c, 0x0a, - 0x17, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x54, 0x48, 0x52, 0x49, 0x44, - 0x47, 0x41, 0x4d, 0x45, 0x4c, 0x49, 0x53, 0x54, 0x10, 0xdc, 0x11, 0x12, 0x25, 0x0a, 0x20, 0x50, - 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x54, 0x48, 0x52, 0x49, 0x44, 0x47, 0x41, - 0x4d, 0x45, 0x42, 0x41, 0x4c, 0x41, 0x4e, 0x43, 0x45, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x10, - 0xdd, 0x11, 0x12, 0x25, 0x0a, 0x20, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, - 0x54, 0x48, 0x52, 0x49, 0x44, 0x47, 0x41, 0x4d, 0x45, 0x42, 0x41, 0x4c, 0x41, 0x4e, 0x43, 0x45, - 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x10, 0xde, 0x11, 0x12, 0x2a, 0x0a, 0x25, 0x50, 0x41, 0x43, - 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x54, 0x48, 0x52, 0x49, 0x44, 0x47, 0x41, 0x4d, 0x45, - 0x42, 0x41, 0x4c, 0x41, 0x4e, 0x43, 0x45, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x53, 0x54, 0x41, - 0x54, 0x45, 0x10, 0xdf, 0x11, 0x12, 0x20, 0x0a, 0x1b, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, - 0x43, 0x53, 0x5f, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x50, 0x52, 0x49, 0x56, 0x41, 0x54, 0x45, - 0x52, 0x4f, 0x4f, 0x4d, 0x10, 0xe0, 0x11, 0x12, 0x20, 0x0a, 0x1b, 0x50, 0x41, 0x43, 0x4b, 0x45, - 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x50, 0x52, 0x49, 0x56, 0x41, - 0x54, 0x45, 0x52, 0x4f, 0x4f, 0x4d, 0x10, 0xe1, 0x11, 0x12, 0x21, 0x0a, 0x1c, 0x50, 0x41, 0x43, - 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x47, 0x45, 0x54, 0x50, 0x52, 0x49, 0x56, 0x41, 0x54, - 0x45, 0x52, 0x4f, 0x4f, 0x4d, 0x4c, 0x49, 0x53, 0x54, 0x10, 0xe2, 0x11, 0x12, 0x21, 0x0a, 0x1c, - 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x47, 0x45, 0x54, 0x50, 0x52, 0x49, - 0x56, 0x41, 0x54, 0x45, 0x52, 0x4f, 0x4f, 0x4d, 0x4c, 0x49, 0x53, 0x54, 0x10, 0xe3, 0x11, 0x12, - 0x24, 0x0a, 0x1f, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x47, 0x45, 0x54, - 0x50, 0x52, 0x49, 0x56, 0x41, 0x54, 0x45, 0x52, 0x4f, 0x4f, 0x4d, 0x48, 0x49, 0x53, 0x54, 0x4f, - 0x52, 0x59, 0x10, 0xe4, 0x11, 0x12, 0x24, 0x0a, 0x1f, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, - 0x53, 0x43, 0x5f, 0x47, 0x45, 0x54, 0x50, 0x52, 0x49, 0x56, 0x41, 0x54, 0x45, 0x52, 0x4f, 0x4f, - 0x4d, 0x48, 0x49, 0x53, 0x54, 0x4f, 0x52, 0x59, 0x10, 0xe5, 0x11, 0x12, 0x21, 0x0a, 0x1c, 0x50, - 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x44, 0x45, 0x53, 0x54, 0x52, 0x4f, 0x59, - 0x50, 0x52, 0x49, 0x56, 0x41, 0x54, 0x45, 0x52, 0x4f, 0x4f, 0x4d, 0x10, 0xe6, 0x11, 0x12, 0x21, - 0x0a, 0x1c, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x44, 0x45, 0x53, 0x54, - 0x52, 0x4f, 0x59, 0x50, 0x52, 0x49, 0x56, 0x41, 0x54, 0x45, 0x52, 0x4f, 0x4f, 0x4d, 0x10, 0xe7, - 0x11, 0x12, 0x1c, 0x0a, 0x17, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x51, - 0x55, 0x45, 0x52, 0x59, 0x52, 0x4f, 0x4f, 0x4d, 0x49, 0x4e, 0x46, 0x4f, 0x10, 0xe8, 0x11, 0x12, - 0x1c, 0x0a, 0x17, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x51, 0x55, 0x45, - 0x52, 0x59, 0x52, 0x4f, 0x4f, 0x4d, 0x49, 0x4e, 0x46, 0x4f, 0x10, 0xe9, 0x11, 0x12, 0x1a, 0x0a, - 0x15, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x47, 0x41, 0x4d, 0x45, 0x53, - 0x55, 0x42, 0x4c, 0x49, 0x53, 0x54, 0x10, 0xeb, 0x11, 0x12, 0x1a, 0x0a, 0x15, 0x50, 0x41, 0x43, - 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x47, 0x41, 0x4d, 0x45, 0x4f, 0x42, 0x53, 0x45, 0x52, - 0x56, 0x45, 0x10, 0xec, 0x11, 0x12, 0x18, 0x0a, 0x13, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, - 0x53, 0x43, 0x5f, 0x47, 0x41, 0x4d, 0x45, 0x53, 0x54, 0x41, 0x54, 0x45, 0x10, 0xed, 0x11, 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, 0xee, 0x11, 0x12, 0x1a, 0x0a, 0x15, - 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x4c, 0x4f, 0x54, 0x54, 0x45, 0x52, - 0x59, 0x53, 0x59, 0x4e, 0x43, 0x10, 0xef, 0x11, 0x12, 0x19, 0x0a, 0x14, 0x50, 0x41, 0x43, 0x4b, - 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x4c, 0x4f, 0x54, 0x54, 0x45, 0x52, 0x59, 0x4c, 0x4f, 0x47, - 0x10, 0xf0, 0x11, 0x12, 0x19, 0x0a, 0x14, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, - 0x5f, 0x4c, 0x4f, 0x54, 0x54, 0x45, 0x52, 0x59, 0x4c, 0x4f, 0x47, 0x10, 0xf1, 0x11, 0x12, 0x1a, - 0x0a, 0x15, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x4c, 0x4f, 0x54, 0x54, - 0x45, 0x52, 0x59, 0x42, 0x49, 0x4c, 0x4c, 0x10, 0xf2, 0x11, 0x12, 0x18, 0x0a, 0x13, 0x50, 0x41, - 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x55, 0x50, 0x4c, 0x4f, 0x41, 0x44, 0x4c, 0x4f, - 0x43, 0x10, 0xf3, 0x11, 0x12, 0x18, 0x0a, 0x13, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, - 0x43, 0x5f, 0x55, 0x50, 0x4c, 0x4f, 0x41, 0x44, 0x4c, 0x4f, 0x43, 0x10, 0xf4, 0x11, 0x12, 0x1a, - 0x0a, 0x15, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x41, 0x55, 0x44, 0x49, - 0x45, 0x4e, 0x43, 0x45, 0x53, 0x49, 0x54, 0x10, 0xf5, 0x11, 0x12, 0x1a, 0x0a, 0x15, 0x50, 0x41, - 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x41, 0x55, 0x44, 0x49, 0x45, 0x4e, 0x43, 0x45, - 0x53, 0x49, 0x54, 0x10, 0xf6, 0x11, 0x12, 0x18, 0x0a, 0x13, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, - 0x5f, 0x43, 0x53, 0x5f, 0x43, 0x4f, 0x4d, 0x4e, 0x4f, 0x54, 0x49, 0x43, 0x45, 0x10, 0xf7, 0x11, - 0x12, 0x18, 0x0a, 0x13, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x43, 0x4f, - 0x4d, 0x4e, 0x4f, 0x54, 0x49, 0x43, 0x45, 0x10, 0xf8, 0x11, 0x12, 0x20, 0x0a, 0x1b, 0x50, 0x41, - 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x45, 0x4e, - 0x54, 0x52, 0x59, 0x53, 0x57, 0x49, 0x54, 0x43, 0x48, 0x10, 0xf9, 0x11, 0x12, 0x1b, 0x0a, 0x16, - 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x4e, 0x6f, 0x74, 0x69, 0x63, 0x65, - 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x10, 0xfa, 0x11, 0x12, 0x18, 0x0a, 0x13, 0x50, 0x41, 0x43, - 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x4c, 0x45, 0x41, 0x56, 0x45, 0x52, 0x4f, 0x4f, 0x4d, - 0x10, 0xc1, 0x3e, 0x12, 0x18, 0x0a, 0x13, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, - 0x5f, 0x4c, 0x45, 0x41, 0x56, 0x45, 0x52, 0x4f, 0x4f, 0x4d, 0x10, 0xc2, 0x3e, 0x12, 0x1a, 0x0a, - 0x15, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x44, 0x45, 0x53, 0x54, 0x52, - 0x4f, 0x59, 0x52, 0x4f, 0x4f, 0x4d, 0x10, 0xc3, 0x3e, 0x12, 0x1a, 0x0a, 0x15, 0x50, 0x41, 0x43, - 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x44, 0x45, 0x53, 0x54, 0x52, 0x4f, 0x59, 0x52, 0x4f, - 0x4f, 0x4d, 0x10, 0xc4, 0x3e, 0x12, 0x19, 0x0a, 0x14, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, - 0x43, 0x53, 0x5f, 0x46, 0x4f, 0x52, 0x43, 0x45, 0x53, 0x54, 0x41, 0x52, 0x54, 0x10, 0xc5, 0x3e, - 0x12, 0x19, 0x0a, 0x14, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x46, 0x4f, - 0x52, 0x43, 0x45, 0x53, 0x54, 0x41, 0x52, 0x54, 0x10, 0xc6, 0x3e, 0x12, 0x21, 0x0a, 0x1c, 0x50, - 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x41, 0x55, 0x44, 0x49, 0x45, 0x4e, 0x43, - 0x45, 0x5f, 0x4c, 0x45, 0x41, 0x56, 0x45, 0x52, 0x4f, 0x4f, 0x4d, 0x10, 0xc7, 0x3e, 0x12, 0x20, - 0x0a, 0x1b, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x50, 0x4c, 0x41, 0x59, - 0x45, 0x52, 0x5f, 0x53, 0x57, 0x49, 0x54, 0x43, 0x48, 0x46, 0x4c, 0x41, 0x47, 0x10, 0xc8, 0x3e, - 0x12, 0x17, 0x0a, 0x12, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x52, 0x6f, 0x6f, - 0x6d, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x10, 0xc9, 0x3e, 0x12, 0x17, 0x0a, 0x12, 0x50, 0x41, 0x43, - 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x52, 0x6f, 0x6f, 0x6d, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x10, - 0xca, 0x3e, 0x42, 0x28, 0x5a, 0x26, 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, 0x67, 0x61, 0x6d, 0x65, 0x68, 0x61, 0x6c, 0x6c, 0x62, 0x06, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x33, + 0x6d, 0x65, 0x52, 0x06, 0x4f, 0x70, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x54, 0x70, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x54, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x50, 0x6f, + 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x50, 0x6f, 0x73, 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, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x18, + 0x05, 0x20, 0x03, 0x28, 0x05, 0x52, 0x05, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x12, 0x0e, 0x0a, 0x02, + 0x54, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x54, 0x73, 0x22, 0x13, 0x0a, 0x11, + 0x43, 0x53, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x22, 0x39, 0x0a, 0x11, 0x53, 0x43, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x43, + 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 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, 0x2a, 0xe6, 0x09, 0x0a, + 0x11, 0x4f, 0x70, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x5f, 0x47, 0x61, + 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x53, 0x75, 0x63, 0x65, 0x73, + 0x73, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x10, 0x00, 0x12, 0x13, 0x0a, 0x0f, 0x4f, 0x50, 0x52, 0x43, + 0x5f, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x10, 0x01, 0x12, 0x1b, 0x0a, + 0x16, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x52, 0x6f, 0x6f, 0x6d, 0x4e, 0x6f, 0x74, 0x45, 0x78, 0x69, + 0x73, 0x74, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x10, 0xf8, 0x07, 0x12, 0x1b, 0x0a, 0x16, 0x4f, 0x50, + 0x52, 0x43, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x4e, 0x6f, 0x74, 0x45, 0x78, 0x69, 0x73, 0x74, 0x5f, + 0x47, 0x61, 0x6d, 0x65, 0x10, 0xf9, 0x07, 0x12, 0x17, 0x0a, 0x12, 0x4f, 0x50, 0x52, 0x43, 0x5f, + 0x47, 0x61, 0x6d, 0x65, 0x48, 0x61, 0x64, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x10, 0xfa, 0x07, + 0x12, 0x19, 0x0a, 0x14, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x73, 0x46, + 0x75, 0x6c, 0x6c, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x10, 0xfb, 0x07, 0x12, 0x1b, 0x0a, 0x16, 0x4f, + 0x50, 0x52, 0x43, 0x5f, 0x52, 0x6f, 0x6f, 0x6d, 0x48, 0x61, 0x64, 0x45, 0x78, 0x69, 0x73, 0x74, + 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x10, 0xfc, 0x07, 0x12, 0x1b, 0x0a, 0x16, 0x4f, 0x50, 0x52, 0x43, + 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x47, 0x61, + 0x6d, 0x65, 0x10, 0xfe, 0x07, 0x12, 0x27, 0x0a, 0x22, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x43, 0x61, + 0x6e, 0x6e, 0x6f, 0x74, 0x57, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x49, + 0x6e, 0x4f, 0x74, 0x68, 0x65, 0x72, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x10, 0x80, 0x08, 0x12, 0x1d, + 0x0a, 0x18, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x4e, 0x6f, 0x74, 0x45, + 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x10, 0x90, 0x08, 0x12, 0x2c, 0x0a, + 0x27, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x43, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x57, 0x61, 0x74, 0x63, + 0x68, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x52, 0x6f, 0x6f, 0x6d, 0x4e, 0x6f, 0x74, 0x53, 0x74, + 0x61, 0x72, 0x74, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x10, 0x92, 0x08, 0x12, 0x27, 0x0a, 0x22, 0x4f, + 0x50, 0x52, 0x43, 0x5f, 0x4f, 0x6e, 0x6c, 0x79, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x43, 0x6c, 0x75, + 0x62, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x5f, 0x47, 0x61, 0x6d, + 0x65, 0x10, 0x93, 0x08, 0x12, 0x1e, 0x0a, 0x19, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x59, 0x6f, 0x75, + 0x72, 0x52, 0x65, 0x73, 0x56, 0x65, 0x72, 0x49, 0x73, 0x4c, 0x6f, 0x77, 0x5f, 0x47, 0x61, 0x6d, + 0x65, 0x10, 0x94, 0x08, 0x12, 0x1e, 0x0a, 0x19, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x59, 0x6f, 0x75, + 0x72, 0x41, 0x70, 0x70, 0x56, 0x65, 0x72, 0x49, 0x73, 0x4c, 0x6f, 0x77, 0x5f, 0x47, 0x61, 0x6d, + 0x65, 0x10, 0x95, 0x08, 0x12, 0x1b, 0x0a, 0x16, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x53, 0x63, 0x65, + 0x6e, 0x65, 0x50, 0x6f, 0x73, 0x46, 0x75, 0x6c, 0x6c, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x10, 0x98, + 0x08, 0x12, 0x23, 0x0a, 0x1e, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x45, + 0x6e, 0x74, 0x65, 0x72, 0x46, 0x6f, 0x72, 0x57, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x5f, 0x47, + 0x61, 0x6d, 0x65, 0x10, 0x9a, 0x08, 0x12, 0x1c, 0x0a, 0x17, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x52, + 0x6f, 0x6f, 0x6d, 0x48, 0x61, 0x64, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x5f, 0x47, 0x61, 0x6d, + 0x65, 0x10, 0x9d, 0x08, 0x12, 0x22, 0x0a, 0x1d, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x53, 0x63, 0x65, + 0x6e, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4d, 0x61, 0x69, 0x6e, 0x74, 0x61, 0x69, 0x6e, + 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x10, 0x9e, 0x08, 0x12, 0x1b, 0x0a, 0x16, 0x4f, 0x50, 0x52, 0x43, + 0x5f, 0x53, 0x61, 0x6d, 0x65, 0x49, 0x70, 0x46, 0x6f, 0x72, 0x62, 0x69, 0x64, 0x5f, 0x47, 0x61, + 0x6d, 0x65, 0x10, 0x9f, 0x08, 0x12, 0x1c, 0x0a, 0x17, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x43, 0x6f, + 0x69, 0x6e, 0x4e, 0x6f, 0x74, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x5f, 0x47, 0x61, 0x6d, 0x65, + 0x10, 0xa0, 0x08, 0x12, 0x1a, 0x0a, 0x15, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x43, 0x6f, 0x69, 0x6e, + 0x54, 0x6f, 0x6f, 0x4d, 0x6f, 0x72, 0x65, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x10, 0xa2, 0x08, 0x12, + 0x1d, 0x0a, 0x18, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x49, 0x6e, 0x4f, 0x74, 0x68, 0x65, 0x72, 0x47, + 0x61, 0x6d, 0x65, 0x49, 0x6e, 0x67, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x10, 0xa3, 0x08, 0x12, 0x16, + 0x0a, 0x11, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x4f, 0x70, 0x59, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x47, + 0x61, 0x6d, 0x65, 0x10, 0xba, 0x08, 0x12, 0x20, 0x0a, 0x1b, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x41, + 0x6c, 0x6c, 0x6f, 0x63, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, + 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x10, 0xc9, 0x08, 0x12, 0x24, 0x0a, 0x1f, 0x4f, 0x50, 0x52, 0x43, + 0x5f, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x6f, 0x6d, 0x43, 0x6f, 0x75, 0x6e, + 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x10, 0xca, 0x08, 0x12, 0x15, + 0x0a, 0x10, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x52, 0x6f, 0x6f, 0x6d, 0x4e, 0x6f, 0x74, 0x45, 0x78, + 0x69, 0x74, 0x10, 0xcb, 0x08, 0x12, 0x22, 0x0a, 0x1d, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x4c, 0x6f, + 0x77, 0x65, 0x72, 0x52, 0x69, 0x63, 0x65, 0x5f, 0x53, 0x63, 0x65, 0x6e, 0x63, 0x65, 0x4d, 0x61, + 0x78, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x10, 0xb3, 0x08, 0x12, 0x22, 0x0a, 0x1d, 0x4f, 0x50, 0x52, + 0x43, 0x5f, 0x4c, 0x6f, 0x77, 0x65, 0x72, 0x52, 0x69, 0x63, 0x65, 0x5f, 0x50, 0x6c, 0x61, 0x79, + 0x65, 0x72, 0x4d, 0x61, 0x78, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x10, 0xb4, 0x08, 0x12, 0x26, 0x0a, + 0x21, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x4c, 0x6f, 0x77, 0x65, 0x72, 0x52, 0x69, 0x63, 0x65, 0x5f, + 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x44, 0x6f, 0x77, 0x6e, 0x4d, 0x61, 0x78, 0x5f, 0x47, 0x61, + 0x6d, 0x65, 0x10, 0xb5, 0x08, 0x12, 0x27, 0x0a, 0x22, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x59, 0x6f, + 0x75, 0x72, 0x41, 0x72, 0x65, 0x47, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x43, 0x61, 0x6e, 0x6e, 0x6f, + 0x74, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x10, 0xb6, 0x08, 0x12, 0x21, + 0x0a, 0x1c, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x54, 0x68, 0x69, 0x72, 0x64, 0x50, 0x6c, 0x74, 0x50, + 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x10, 0xc8, + 0x08, 0x12, 0x1c, 0x0a, 0x17, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x52, 0x6f, 0x6f, 0x6d, 0x47, 0x61, + 0x6d, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x10, 0xcf, 0x08, 0x12, + 0x1f, 0x0a, 0x1a, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x4d, 0x75, 0x73, 0x74, 0x42, 0x69, 0x6e, 0x64, + 0x50, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x65, 0x72, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x10, 0xd9, 0x08, + 0x12, 0x1f, 0x0a, 0x1a, 0x4f, 0x70, 0x72, 0x63, 0x5f, 0x43, 0x6c, 0x75, 0x62, 0x5f, 0x43, 0x6c, + 0x75, 0x62, 0x49, 0x73, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x10, 0x9f, + 0x27, 0x12, 0x1b, 0x0a, 0x16, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x44, 0x67, 0x5f, 0x52, 0x65, 0x67, + 0x69, 0x73, 0x74, 0x45, 0x72, 0x72, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x10, 0xa8, 0x46, 0x12, 0x1a, + 0x0a, 0x15, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x44, 0x67, 0x5f, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x45, + 0x72, 0x72, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x10, 0xa9, 0x46, 0x12, 0x19, 0x0a, 0x14, 0x4f, 0x50, + 0x52, 0x43, 0x5f, 0x44, 0x67, 0x5f, 0x50, 0x6c, 0x61, 0x74, 0x45, 0x72, 0x72, 0x5f, 0x47, 0x61, + 0x6d, 0x65, 0x10, 0xaa, 0x46, 0x12, 0x20, 0x0a, 0x1b, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x44, 0x67, + 0x5f, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x4e, 0x6f, 0x74, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x5f, + 0x47, 0x61, 0x6d, 0x65, 0x10, 0xab, 0x46, 0x12, 0x1c, 0x0a, 0x17, 0x4f, 0x50, 0x52, 0x43, 0x5f, + 0x54, 0x68, 0x72, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x5f, 0x47, 0x61, + 0x6d, 0x65, 0x10, 0xb2, 0x46, 0x2a, 0x8e, 0x18, 0x0a, 0x10, 0x47, 0x61, 0x6d, 0x65, 0x48, 0x61, + 0x6c, 0x6c, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x49, 0x44, 0x12, 0x18, 0x0a, 0x14, 0x50, 0x41, + 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x48, 0x61, 0x6c, 0x6c, 0x5f, 0x5a, 0x45, + 0x52, 0x4f, 0x10, 0x00, 0x12, 0x17, 0x0a, 0x12, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, + 0x53, 0x5f, 0x4a, 0x4f, 0x49, 0x4e, 0x47, 0x41, 0x4d, 0x45, 0x10, 0x98, 0x11, 0x12, 0x17, 0x0a, + 0x12, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x4a, 0x4f, 0x49, 0x4e, 0x47, + 0x41, 0x4d, 0x45, 0x10, 0x99, 0x11, 0x12, 0x19, 0x0a, 0x14, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, + 0x5f, 0x43, 0x53, 0x5f, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x52, 0x4f, 0x4f, 0x4d, 0x10, 0x9a, + 0x11, 0x12, 0x19, 0x0a, 0x14, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x43, + 0x52, 0x45, 0x41, 0x54, 0x45, 0x52, 0x4f, 0x4f, 0x4d, 0x10, 0x9b, 0x11, 0x12, 0x18, 0x0a, 0x13, + 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x45, 0x4e, 0x54, 0x45, 0x52, 0x52, + 0x4f, 0x4f, 0x4d, 0x10, 0x9c, 0x11, 0x12, 0x18, 0x0a, 0x13, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, + 0x5f, 0x53, 0x43, 0x5f, 0x45, 0x4e, 0x54, 0x45, 0x52, 0x52, 0x4f, 0x4f, 0x4d, 0x10, 0x9d, 0x11, + 0x12, 0x19, 0x0a, 0x14, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x52, 0x45, + 0x54, 0x55, 0x52, 0x4e, 0x52, 0x4f, 0x4f, 0x4d, 0x10, 0x9e, 0x11, 0x12, 0x19, 0x0a, 0x14, 0x50, + 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x52, 0x45, 0x54, 0x55, 0x52, 0x4e, 0x52, + 0x4f, 0x4f, 0x4d, 0x10, 0x9f, 0x11, 0x12, 0x21, 0x0a, 0x1c, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, + 0x5f, 0x43, 0x53, 0x5f, 0x41, 0x55, 0x44, 0x49, 0x45, 0x4e, 0x43, 0x45, 0x5f, 0x45, 0x4e, 0x54, + 0x45, 0x52, 0x52, 0x4f, 0x4f, 0x4d, 0x10, 0xa0, 0x11, 0x12, 0x18, 0x0a, 0x13, 0x50, 0x41, 0x43, + 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x45, 0x4e, 0x54, 0x45, 0x52, 0x47, 0x41, 0x4d, 0x45, + 0x10, 0xa1, 0x11, 0x12, 0x18, 0x0a, 0x13, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, + 0x5f, 0x45, 0x4e, 0x54, 0x45, 0x52, 0x47, 0x41, 0x4d, 0x45, 0x10, 0xa2, 0x11, 0x12, 0x17, 0x0a, + 0x12, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x51, 0x55, 0x49, 0x54, 0x47, + 0x41, 0x4d, 0x45, 0x10, 0xa3, 0x11, 0x12, 0x17, 0x0a, 0x12, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, + 0x5f, 0x53, 0x43, 0x5f, 0x51, 0x55, 0x49, 0x54, 0x47, 0x41, 0x4d, 0x45, 0x10, 0xa4, 0x11, 0x12, + 0x1a, 0x0a, 0x15, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x43, 0x41, 0x52, + 0x44, 0x47, 0x41, 0x49, 0x4e, 0x57, 0x41, 0x59, 0x10, 0xa5, 0x11, 0x12, 0x17, 0x0a, 0x12, 0x50, + 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x54, 0x41, 0x53, 0x4b, 0x4c, 0x49, 0x53, + 0x54, 0x10, 0xa6, 0x11, 0x12, 0x17, 0x0a, 0x12, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, + 0x43, 0x5f, 0x54, 0x41, 0x53, 0x4b, 0x4c, 0x49, 0x53, 0x54, 0x10, 0xa7, 0x11, 0x12, 0x16, 0x0a, + 0x11, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x54, 0x41, 0x53, 0x4b, 0x43, + 0x48, 0x47, 0x10, 0xa8, 0x11, 0x12, 0x1b, 0x0a, 0x16, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, + 0x53, 0x43, 0x5f, 0x54, 0x41, 0x43, 0x4b, 0x43, 0x4f, 0x4d, 0x50, 0x4c, 0x45, 0x54, 0x45, 0x10, + 0xa9, 0x11, 0x12, 0x16, 0x0a, 0x11, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, + 0x54, 0x41, 0x53, 0x4b, 0x44, 0x45, 0x4c, 0x10, 0xaa, 0x11, 0x12, 0x1c, 0x0a, 0x17, 0x50, 0x41, + 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x54, 0x41, 0x43, 0x4b, 0x44, 0x52, 0x41, 0x57, + 0x50, 0x52, 0x49, 0x5a, 0x45, 0x10, 0xab, 0x11, 0x12, 0x1c, 0x0a, 0x17, 0x50, 0x41, 0x43, 0x4b, + 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x54, 0x41, 0x43, 0x4b, 0x44, 0x52, 0x41, 0x57, 0x50, 0x52, + 0x49, 0x5a, 0x45, 0x10, 0xac, 0x11, 0x12, 0x1e, 0x0a, 0x19, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, + 0x5f, 0x43, 0x53, 0x5f, 0x47, 0x45, 0x54, 0x41, 0x47, 0x45, 0x4e, 0x54, 0x47, 0x41, 0x4d, 0x45, + 0x52, 0x45, 0x43, 0x10, 0xaf, 0x11, 0x12, 0x1e, 0x0a, 0x19, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, + 0x5f, 0x53, 0x43, 0x5f, 0x47, 0x45, 0x54, 0x41, 0x47, 0x45, 0x4e, 0x54, 0x47, 0x41, 0x4d, 0x45, + 0x52, 0x45, 0x43, 0x10, 0xb0, 0x11, 0x12, 0x1e, 0x0a, 0x19, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, + 0x5f, 0x43, 0x53, 0x5f, 0x44, 0x45, 0x4c, 0x41, 0x47, 0x45, 0x4e, 0x54, 0x47, 0x41, 0x4d, 0x45, + 0x52, 0x45, 0x43, 0x10, 0xb1, 0x11, 0x12, 0x16, 0x0a, 0x11, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, + 0x5f, 0x43, 0x53, 0x5f, 0x53, 0x48, 0x4f, 0x50, 0x42, 0x55, 0x59, 0x10, 0xb2, 0x11, 0x12, 0x16, + 0x0a, 0x11, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x53, 0x48, 0x4f, 0x50, + 0x42, 0x55, 0x59, 0x10, 0xb3, 0x11, 0x12, 0x18, 0x0a, 0x13, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, + 0x5f, 0x53, 0x43, 0x5f, 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x4c, 0x49, 0x53, 0x54, 0x10, 0xb4, 0x11, + 0x12, 0x1f, 0x0a, 0x1a, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x47, 0x45, + 0x54, 0x4c, 0x41, 0x54, 0x45, 0x4c, 0x59, 0x47, 0x41, 0x4d, 0x45, 0x49, 0x44, 0x53, 0x10, 0xb5, + 0x11, 0x12, 0x1f, 0x0a, 0x1a, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x47, + 0x45, 0x54, 0x4c, 0x41, 0x54, 0x45, 0x4c, 0x59, 0x47, 0x41, 0x4d, 0x45, 0x49, 0x44, 0x53, 0x10, + 0xb6, 0x11, 0x12, 0x1c, 0x0a, 0x17, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, + 0x47, 0x45, 0x54, 0x47, 0x41, 0x4d, 0x45, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x10, 0xb7, 0x11, + 0x12, 0x1c, 0x0a, 0x17, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x47, 0x45, + 0x54, 0x47, 0x41, 0x4d, 0x45, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x10, 0xb8, 0x11, 0x12, 0x1f, + 0x0a, 0x1a, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x43, 0x48, 0x41, 0x4e, + 0x47, 0x45, 0x47, 0x41, 0x4d, 0x45, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x10, 0xb9, 0x11, 0x12, + 0x18, 0x0a, 0x13, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x45, 0x4e, 0x54, + 0x45, 0x52, 0x48, 0x41, 0x4c, 0x4c, 0x10, 0xc0, 0x11, 0x12, 0x18, 0x0a, 0x13, 0x50, 0x41, 0x43, + 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x45, 0x4e, 0x54, 0x45, 0x52, 0x48, 0x41, 0x4c, 0x4c, + 0x10, 0xc1, 0x11, 0x12, 0x18, 0x0a, 0x13, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, + 0x5f, 0x4c, 0x45, 0x41, 0x56, 0x45, 0x48, 0x41, 0x4c, 0x4c, 0x10, 0xc2, 0x11, 0x12, 0x18, 0x0a, + 0x13, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x4c, 0x45, 0x41, 0x56, 0x45, + 0x48, 0x41, 0x4c, 0x4c, 0x10, 0xc3, 0x11, 0x12, 0x1b, 0x0a, 0x16, 0x50, 0x41, 0x43, 0x4b, 0x45, + 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x48, 0x41, 0x4c, 0x4c, 0x52, 0x4f, 0x4f, 0x4d, 0x4c, 0x49, 0x53, + 0x54, 0x10, 0xc4, 0x11, 0x12, 0x1b, 0x0a, 0x16, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, + 0x43, 0x5f, 0x48, 0x41, 0x4c, 0x4c, 0x52, 0x4f, 0x4f, 0x4d, 0x4c, 0x49, 0x53, 0x54, 0x10, 0xc5, + 0x11, 0x12, 0x1e, 0x0a, 0x19, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x52, + 0x4f, 0x4f, 0x4d, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x45, 0x4e, 0x54, 0x45, 0x52, 0x10, 0xc6, + 0x11, 0x12, 0x1e, 0x0a, 0x19, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x52, + 0x4f, 0x4f, 0x4d, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x4c, 0x45, 0x41, 0x56, 0x45, 0x10, 0xc7, + 0x11, 0x12, 0x1d, 0x0a, 0x18, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x52, + 0x4f, 0x4f, 0x4d, 0x53, 0x54, 0x41, 0x54, 0x45, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x10, 0xc8, 0x11, + 0x12, 0x1c, 0x0a, 0x17, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x48, 0x41, + 0x4c, 0x4c, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x4e, 0x55, 0x4d, 0x10, 0xc9, 0x11, 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, 0xca, 0x11, 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, 0xcb, 0x11, 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, 0xcc, 0x11, 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, 0xcd, 0x11, 0x12, 0x1a, 0x0a, 0x15, + 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x45, 0x4e, 0x54, 0x45, 0x52, 0x44, + 0x47, 0x47, 0x41, 0x4d, 0x45, 0x10, 0xce, 0x11, 0x12, 0x1a, 0x0a, 0x15, 0x50, 0x41, 0x43, 0x4b, + 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x45, 0x4e, 0x54, 0x45, 0x52, 0x44, 0x47, 0x47, 0x41, 0x4d, + 0x45, 0x10, 0xcf, 0x11, 0x12, 0x1a, 0x0a, 0x15, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, + 0x53, 0x5f, 0x4c, 0x45, 0x41, 0x56, 0x45, 0x44, 0x47, 0x47, 0x41, 0x4d, 0x45, 0x10, 0xd0, 0x11, + 0x12, 0x1a, 0x0a, 0x15, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x4c, 0x45, + 0x41, 0x56, 0x45, 0x44, 0x47, 0x47, 0x41, 0x4d, 0x45, 0x10, 0xd1, 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, 0xd2, + 0x11, 0x12, 0x25, 0x0a, 0x20, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x54, + 0x48, 0x52, 0x49, 0x44, 0x41, 0x43, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x53, 0x54, 0x41, 0x54, 0x49, + 0x43, 0x53, 0x54, 0x49, 0x43, 0x10, 0xd3, 0x11, 0x12, 0x25, 0x0a, 0x20, 0x50, 0x41, 0x43, 0x4b, + 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x54, 0x48, 0x52, 0x49, 0x44, 0x41, 0x43, 0x43, 0x4f, 0x55, + 0x4e, 0x54, 0x53, 0x54, 0x41, 0x54, 0x49, 0x43, 0x53, 0x54, 0x49, 0x43, 0x10, 0xd4, 0x11, 0x12, + 0x23, 0x0a, 0x1e, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x54, 0x48, 0x52, + 0x49, 0x44, 0x41, 0x43, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x46, 0x45, + 0x52, 0x10, 0xd5, 0x11, 0x12, 0x23, 0x0a, 0x1e, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, + 0x43, 0x5f, 0x54, 0x48, 0x52, 0x49, 0x44, 0x41, 0x43, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x54, 0x52, + 0x41, 0x4e, 0x53, 0x46, 0x45, 0x52, 0x10, 0xd6, 0x11, 0x12, 0x1d, 0x0a, 0x18, 0x50, 0x41, 0x43, + 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x45, 0x4e, 0x54, 0x45, 0x52, 0x54, 0x48, 0x52, 0x49, + 0x44, 0x47, 0x41, 0x4d, 0x45, 0x10, 0xd7, 0x11, 0x12, 0x1d, 0x0a, 0x18, 0x50, 0x41, 0x43, 0x4b, + 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x45, 0x4e, 0x54, 0x45, 0x52, 0x54, 0x48, 0x52, 0x49, 0x44, + 0x47, 0x41, 0x4d, 0x45, 0x10, 0xd8, 0x11, 0x12, 0x1d, 0x0a, 0x18, 0x50, 0x41, 0x43, 0x4b, 0x45, + 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x4c, 0x45, 0x41, 0x56, 0x45, 0x54, 0x48, 0x52, 0x49, 0x44, 0x47, + 0x41, 0x4d, 0x45, 0x10, 0xd9, 0x11, 0x12, 0x1d, 0x0a, 0x18, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, + 0x5f, 0x53, 0x43, 0x5f, 0x4c, 0x45, 0x41, 0x56, 0x45, 0x54, 0x48, 0x52, 0x49, 0x44, 0x47, 0x41, + 0x4d, 0x45, 0x10, 0xda, 0x11, 0x12, 0x1c, 0x0a, 0x17, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, + 0x43, 0x53, 0x5f, 0x54, 0x48, 0x52, 0x49, 0x44, 0x47, 0x41, 0x4d, 0x45, 0x4c, 0x49, 0x53, 0x54, + 0x10, 0xdb, 0x11, 0x12, 0x1c, 0x0a, 0x17, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, + 0x5f, 0x54, 0x48, 0x52, 0x49, 0x44, 0x47, 0x41, 0x4d, 0x45, 0x4c, 0x49, 0x53, 0x54, 0x10, 0xdc, + 0x11, 0x12, 0x25, 0x0a, 0x20, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x54, + 0x48, 0x52, 0x49, 0x44, 0x47, 0x41, 0x4d, 0x45, 0x42, 0x41, 0x4c, 0x41, 0x4e, 0x43, 0x45, 0x55, + 0x50, 0x44, 0x41, 0x54, 0x45, 0x10, 0xdd, 0x11, 0x12, 0x25, 0x0a, 0x20, 0x50, 0x41, 0x43, 0x4b, + 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x54, 0x48, 0x52, 0x49, 0x44, 0x47, 0x41, 0x4d, 0x45, 0x42, + 0x41, 0x4c, 0x41, 0x4e, 0x43, 0x45, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x10, 0xde, 0x11, 0x12, + 0x2a, 0x0a, 0x25, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x54, 0x48, 0x52, + 0x49, 0x44, 0x47, 0x41, 0x4d, 0x45, 0x42, 0x41, 0x4c, 0x41, 0x4e, 0x43, 0x45, 0x55, 0x50, 0x44, + 0x41, 0x54, 0x45, 0x53, 0x54, 0x41, 0x54, 0x45, 0x10, 0xdf, 0x11, 0x12, 0x20, 0x0a, 0x1b, 0x50, + 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x50, + 0x52, 0x49, 0x56, 0x41, 0x54, 0x45, 0x52, 0x4f, 0x4f, 0x4d, 0x10, 0xe0, 0x11, 0x12, 0x20, 0x0a, + 0x1b, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x43, 0x52, 0x45, 0x41, 0x54, + 0x45, 0x50, 0x52, 0x49, 0x56, 0x41, 0x54, 0x45, 0x52, 0x4f, 0x4f, 0x4d, 0x10, 0xe1, 0x11, 0x12, + 0x21, 0x0a, 0x1c, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x47, 0x45, 0x54, + 0x50, 0x52, 0x49, 0x56, 0x41, 0x54, 0x45, 0x52, 0x4f, 0x4f, 0x4d, 0x4c, 0x49, 0x53, 0x54, 0x10, + 0xe2, 0x11, 0x12, 0x21, 0x0a, 0x1c, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, + 0x47, 0x45, 0x54, 0x50, 0x52, 0x49, 0x56, 0x41, 0x54, 0x45, 0x52, 0x4f, 0x4f, 0x4d, 0x4c, 0x49, + 0x53, 0x54, 0x10, 0xe3, 0x11, 0x12, 0x24, 0x0a, 0x1f, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, + 0x43, 0x53, 0x5f, 0x47, 0x45, 0x54, 0x50, 0x52, 0x49, 0x56, 0x41, 0x54, 0x45, 0x52, 0x4f, 0x4f, + 0x4d, 0x48, 0x49, 0x53, 0x54, 0x4f, 0x52, 0x59, 0x10, 0xe4, 0x11, 0x12, 0x24, 0x0a, 0x1f, 0x50, + 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x47, 0x45, 0x54, 0x50, 0x52, 0x49, 0x56, + 0x41, 0x54, 0x45, 0x52, 0x4f, 0x4f, 0x4d, 0x48, 0x49, 0x53, 0x54, 0x4f, 0x52, 0x59, 0x10, 0xe5, + 0x11, 0x12, 0x21, 0x0a, 0x1c, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x44, + 0x45, 0x53, 0x54, 0x52, 0x4f, 0x59, 0x50, 0x52, 0x49, 0x56, 0x41, 0x54, 0x45, 0x52, 0x4f, 0x4f, + 0x4d, 0x10, 0xe6, 0x11, 0x12, 0x21, 0x0a, 0x1c, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, + 0x43, 0x5f, 0x44, 0x45, 0x53, 0x54, 0x52, 0x4f, 0x59, 0x50, 0x52, 0x49, 0x56, 0x41, 0x54, 0x45, + 0x52, 0x4f, 0x4f, 0x4d, 0x10, 0xe7, 0x11, 0x12, 0x1c, 0x0a, 0x17, 0x50, 0x41, 0x43, 0x4b, 0x45, + 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x52, 0x4f, 0x4f, 0x4d, 0x49, 0x4e, + 0x46, 0x4f, 0x10, 0xe8, 0x11, 0x12, 0x1c, 0x0a, 0x17, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, + 0x53, 0x43, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x52, 0x4f, 0x4f, 0x4d, 0x49, 0x4e, 0x46, 0x4f, + 0x10, 0xe9, 0x11, 0x12, 0x1a, 0x0a, 0x15, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, + 0x5f, 0x47, 0x41, 0x4d, 0x45, 0x53, 0x55, 0x42, 0x4c, 0x49, 0x53, 0x54, 0x10, 0xeb, 0x11, 0x12, + 0x1a, 0x0a, 0x15, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x47, 0x41, 0x4d, + 0x45, 0x4f, 0x42, 0x53, 0x45, 0x52, 0x56, 0x45, 0x10, 0xec, 0x11, 0x12, 0x18, 0x0a, 0x13, 0x50, + 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x47, 0x41, 0x4d, 0x45, 0x53, 0x54, 0x41, + 0x54, 0x45, 0x10, 0xed, 0x11, 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, + 0xee, 0x11, 0x12, 0x1a, 0x0a, 0x15, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, + 0x4c, 0x4f, 0x54, 0x54, 0x45, 0x52, 0x59, 0x53, 0x59, 0x4e, 0x43, 0x10, 0xef, 0x11, 0x12, 0x19, + 0x0a, 0x14, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x4c, 0x4f, 0x54, 0x54, + 0x45, 0x52, 0x59, 0x4c, 0x4f, 0x47, 0x10, 0xf0, 0x11, 0x12, 0x19, 0x0a, 0x14, 0x50, 0x41, 0x43, + 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x4c, 0x4f, 0x54, 0x54, 0x45, 0x52, 0x59, 0x4c, 0x4f, + 0x47, 0x10, 0xf1, 0x11, 0x12, 0x1a, 0x0a, 0x15, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, + 0x43, 0x5f, 0x4c, 0x4f, 0x54, 0x54, 0x45, 0x52, 0x59, 0x42, 0x49, 0x4c, 0x4c, 0x10, 0xf2, 0x11, + 0x12, 0x18, 0x0a, 0x13, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x55, 0x50, + 0x4c, 0x4f, 0x41, 0x44, 0x4c, 0x4f, 0x43, 0x10, 0xf3, 0x11, 0x12, 0x18, 0x0a, 0x13, 0x50, 0x41, + 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x55, 0x50, 0x4c, 0x4f, 0x41, 0x44, 0x4c, 0x4f, + 0x43, 0x10, 0xf4, 0x11, 0x12, 0x1a, 0x0a, 0x15, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, + 0x53, 0x5f, 0x41, 0x55, 0x44, 0x49, 0x45, 0x4e, 0x43, 0x45, 0x53, 0x49, 0x54, 0x10, 0xf5, 0x11, + 0x12, 0x1a, 0x0a, 0x15, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x41, 0x55, + 0x44, 0x49, 0x45, 0x4e, 0x43, 0x45, 0x53, 0x49, 0x54, 0x10, 0xf6, 0x11, 0x12, 0x18, 0x0a, 0x13, + 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x43, 0x4f, 0x4d, 0x4e, 0x4f, 0x54, + 0x49, 0x43, 0x45, 0x10, 0xf7, 0x11, 0x12, 0x18, 0x0a, 0x13, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, + 0x5f, 0x53, 0x43, 0x5f, 0x43, 0x4f, 0x4d, 0x4e, 0x4f, 0x54, 0x49, 0x43, 0x45, 0x10, 0xf8, 0x11, + 0x12, 0x20, 0x0a, 0x1b, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x43, 0x48, + 0x41, 0x4e, 0x47, 0x45, 0x45, 0x4e, 0x54, 0x52, 0x59, 0x53, 0x57, 0x49, 0x54, 0x43, 0x48, 0x10, + 0xf9, 0x11, 0x12, 0x1b, 0x0a, 0x16, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, + 0x4e, 0x6f, 0x74, 0x69, 0x63, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x10, 0xfa, 0x11, 0x12, + 0x18, 0x0a, 0x13, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x4c, 0x45, 0x41, + 0x56, 0x45, 0x52, 0x4f, 0x4f, 0x4d, 0x10, 0xc1, 0x3e, 0x12, 0x18, 0x0a, 0x13, 0x50, 0x41, 0x43, + 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x4c, 0x45, 0x41, 0x56, 0x45, 0x52, 0x4f, 0x4f, 0x4d, + 0x10, 0xc2, 0x3e, 0x12, 0x1a, 0x0a, 0x15, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, + 0x5f, 0x44, 0x45, 0x53, 0x54, 0x52, 0x4f, 0x59, 0x52, 0x4f, 0x4f, 0x4d, 0x10, 0xc3, 0x3e, 0x12, + 0x1a, 0x0a, 0x15, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x44, 0x45, 0x53, + 0x54, 0x52, 0x4f, 0x59, 0x52, 0x4f, 0x4f, 0x4d, 0x10, 0xc4, 0x3e, 0x12, 0x19, 0x0a, 0x14, 0x50, + 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x46, 0x4f, 0x52, 0x43, 0x45, 0x53, 0x54, + 0x41, 0x52, 0x54, 0x10, 0xc5, 0x3e, 0x12, 0x19, 0x0a, 0x14, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, + 0x5f, 0x53, 0x43, 0x5f, 0x46, 0x4f, 0x52, 0x43, 0x45, 0x53, 0x54, 0x41, 0x52, 0x54, 0x10, 0xc6, + 0x3e, 0x12, 0x21, 0x0a, 0x1c, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x41, + 0x55, 0x44, 0x49, 0x45, 0x4e, 0x43, 0x45, 0x5f, 0x4c, 0x45, 0x41, 0x56, 0x45, 0x52, 0x4f, 0x4f, + 0x4d, 0x10, 0xc7, 0x3e, 0x12, 0x20, 0x0a, 0x1b, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, + 0x53, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x5f, 0x53, 0x57, 0x49, 0x54, 0x43, 0x48, 0x46, + 0x4c, 0x41, 0x47, 0x10, 0xc8, 0x3e, 0x12, 0x17, 0x0a, 0x12, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, + 0x5f, 0x43, 0x53, 0x52, 0x6f, 0x6f, 0x6d, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x10, 0xc9, 0x3e, 0x12, + 0x17, 0x0a, 0x12, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x52, 0x6f, 0x6f, 0x6d, + 0x45, 0x76, 0x65, 0x6e, 0x74, 0x10, 0xca, 0x3e, 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, 0xcb, 0x3e, 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, 0xcc, 0x3e, 0x42, 0x28, 0x5a, 0x26, 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, 0x67, 0x61, 0x6d, 0x65, 0x68, 0x61, 0x6c, 0x6c, + 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -8190,7 +8302,7 @@ func file_game_proto_rawDescGZIP() []byte { } var file_game_proto_enumTypes = make([]protoimpl.EnumInfo, 2) -var file_game_proto_msgTypes = make([]protoimpl.MessageInfo, 102) +var file_game_proto_msgTypes = make([]protoimpl.MessageInfo, 104) var file_game_proto_goTypes = []interface{}{ (OpResultCode_Game)(0), // 0: gamehall.OpResultCode_Game (GameHallPacketID)(0), // 1: gamehall.GameHallPacketID @@ -8296,6 +8408,8 @@ var file_game_proto_goTypes = []interface{}{ (*SCNoticeChange)(nil), // 101: gamehall.SCNoticeChange (*CSRoomEvent)(nil), // 102: gamehall.CSRoomEvent (*SCRoomEvent)(nil), // 103: gamehall.SCRoomEvent + (*CSExchangeChannel)(nil), // 104: gamehall.CSExchangeChannel + (*SCExchangeChannel)(nil), // 105: gamehall.SCExchangeChannel } var file_game_proto_depIdxs = []int32{ 0, // 0: gamehall.SCEnterHall.OpRetCode:type_name -> gamehall.OpResultCode_Game @@ -9584,6 +9698,30 @@ func file_game_proto_init() { return nil } } + file_game_proto_msgTypes[102].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CSExchangeChannel); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_game_proto_msgTypes[103].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SCExchangeChannel); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } } type x struct{} out := protoimpl.TypeBuilder{ @@ -9591,7 +9729,7 @@ func file_game_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_game_proto_rawDesc, NumEnums: 2, - NumMessages: 102, + NumMessages: 104, NumExtensions: 0, NumServices: 0, }, diff --git a/protocol/gamehall/game.proto b/protocol/gamehall/game.proto index 8ef678b..c6f81c3 100644 --- a/protocol/gamehall/game.proto +++ b/protocol/gamehall/game.proto @@ -159,6 +159,8 @@ enum GameHallPacketID { PACKET_CS_PLAYER_SWITCHFLAG = 8008; PACKET_CSRoomEvent = 8009; // 房间事件 PACKET_SCRoomEvent = 8010; // 房间事件 + PACKET_CSExchangeChannel = 8011; // 开启兑换的渠道 + PACKET_SCExchangeChannel = 8012; // 开启兑换的渠道 } //进入游戏大厅 //PACKET_CS_ENTERHALL @@ -825,6 +827,7 @@ message CommonNotice { int32 NoticeId = 11; int32 IsLoop=12; int32 LoopTime=13; + repeated string OnChannelName = 14; } message PlayerRecord { int32 GameFreeid = 1; // 游戏类型 @@ -859,4 +862,12 @@ message SCRoomEvent{ string Content = 4; // 内容 repeated int32 Param= 5; // 参数 int64 Ts = 6; // 时间戳 +} + +// PACKET_CSExchangeChannel +message CSExchangeChannel{} + +// PACKET_SCExchangeChannel +message SCExchangeChannel{ + repeated string OnChannelName = 1; // 开启渠道 } \ No newline at end of file diff --git a/protocol/webapi/common.pb.go b/protocol/webapi/common.pb.go index bd47a9c..1edfdf3 100644 --- a/protocol/webapi/common.pb.go +++ b/protocol/webapi/common.pb.go @@ -2844,19 +2844,20 @@ type CommonNotice struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Sort int32 `protobuf:"varint,1,opt,name=Sort,proto3" json:"Sort,omitempty"` - Title string `protobuf:"bytes,2,opt,name=Title,proto3" json:"Title,omitempty"` - Content string `protobuf:"bytes,3,opt,name=Content,proto3" json:"Content,omitempty"` - TypeName string `protobuf:"bytes,4,opt,name=TypeName,proto3" json:"TypeName,omitempty"` - Type int32 `protobuf:"varint,5,opt,name=Type,proto3" json:"Type,omitempty"` - StartTime int64 `protobuf:"varint,6,opt,name=StartTime,proto3" json:"StartTime,omitempty"` - EndTime int64 `protobuf:"varint,7,opt,name=EndTime,proto3" json:"EndTime,omitempty"` - Platform string `protobuf:"bytes,8,opt,name=Platform,proto3" json:"Platform,omitempty"` - CategoryType int32 `protobuf:"varint,9,opt,name=CategoryType,proto3" json:"CategoryType,omitempty"` - ImgUrl string `protobuf:"bytes,10,opt,name=ImgUrl,proto3" json:"ImgUrl,omitempty"` - NoticeId int32 `protobuf:"varint,11,opt,name=NoticeId,proto3" json:"NoticeId,omitempty"` - IsLoop int32 `protobuf:"varint,12,opt,name=IsLoop,proto3" json:"IsLoop,omitempty"` - LoopTime int32 `protobuf:"varint,13,opt,name=LoopTime,proto3" json:"LoopTime,omitempty"` + Sort int32 `protobuf:"varint,1,opt,name=Sort,proto3" json:"Sort,omitempty"` + Title string `protobuf:"bytes,2,opt,name=Title,proto3" json:"Title,omitempty"` + Content string `protobuf:"bytes,3,opt,name=Content,proto3" json:"Content,omitempty"` + TypeName string `protobuf:"bytes,4,opt,name=TypeName,proto3" json:"TypeName,omitempty"` + Type int32 `protobuf:"varint,5,opt,name=Type,proto3" json:"Type,omitempty"` + StartTime int64 `protobuf:"varint,6,opt,name=StartTime,proto3" json:"StartTime,omitempty"` + EndTime int64 `protobuf:"varint,7,opt,name=EndTime,proto3" json:"EndTime,omitempty"` + Platform string `protobuf:"bytes,8,opt,name=Platform,proto3" json:"Platform,omitempty"` + CategoryType int32 `protobuf:"varint,9,opt,name=CategoryType,proto3" json:"CategoryType,omitempty"` + ImgUrl string `protobuf:"bytes,10,opt,name=ImgUrl,proto3" json:"ImgUrl,omitempty"` + NoticeId int32 `protobuf:"varint,11,opt,name=NoticeId,proto3" json:"NoticeId,omitempty"` + IsLoop int32 `protobuf:"varint,12,opt,name=IsLoop,proto3" json:"IsLoop,omitempty"` + LoopTime int32 `protobuf:"varint,13,opt,name=LoopTime,proto3" json:"LoopTime,omitempty"` + OnChannelName []string `protobuf:"bytes,14,rep,name=OnChannelName,proto3" json:"OnChannelName,omitempty"` } func (x *CommonNotice) Reset() { @@ -2982,6 +2983,13 @@ func (x *CommonNotice) GetLoopTime() int32 { return 0 } +func (x *CommonNotice) GetOnChannelName() []string { + if x != nil { + return x.OnChannelName + } + return nil +} + type CommonNoticeList struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -5693,6 +5701,62 @@ func (x *WelfareCollectConfig) GetSwitch() int32 { return 0 } +// etcd /game/exchange/channel +type ExchangeChannelConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Platform string `protobuf:"bytes,1,opt,name=Platform,proto3" json:"Platform,omitempty"` + OnChannelName []string `protobuf:"bytes,2,rep,name=OnChannelName,proto3" json:"OnChannelName,omitempty"` // 开启渠道 +} + +func (x *ExchangeChannelConfig) Reset() { + *x = ExchangeChannelConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_common_proto_msgTypes[55] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExchangeChannelConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExchangeChannelConfig) ProtoMessage() {} + +func (x *ExchangeChannelConfig) ProtoReflect() protoreflect.Message { + mi := &file_common_proto_msgTypes[55] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExchangeChannelConfig.ProtoReflect.Descriptor instead. +func (*ExchangeChannelConfig) Descriptor() ([]byte, []int) { + return file_common_proto_rawDescGZIP(), []int{55} +} + +func (x *ExchangeChannelConfig) GetPlatform() string { + if x != nil { + return x.Platform + } + return "" +} + +func (x *ExchangeChannelConfig) GetOnChannelName() []string { + if x != nil { + return x.OnChannelName + } + return nil +} + var File_common_proto protoreflect.FileDescriptor var file_common_proto_rawDesc = []byte{ @@ -6210,7 +6274,7 @@ var file_common_proto_rawDesc = []byte{ 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, 0xe2, 0x02, 0x0a, 0x0c, 0x43, 0x6f, 0x6d, 0x6d, + 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, @@ -6232,396 +6296,404 @@ var file_common_proto_rawDesc = []byte{ 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, 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, 0xaa, 0x02, 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, 0x1c, 0x0a, 0x09, 0x53, 0x68, 0x6f, 0x70, 0x4c, 0x69, 0x6d, 0x69, 0x74, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x53, 0x68, 0x6f, 0x70, 0x4c, 0x69, 0x6d, 0x69, - 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x44, 0x61, 0x79, 0x4d, 0x61, 0x78, 0x4c, 0x69, 0x6d, 0x69, 0x74, - 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x44, 0x61, 0x79, 0x4d, 0x61, 0x78, 0x4c, 0x69, - 0x6d, 0x69, 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, 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, 0xb9, 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, 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, 0xaa, 0x02, 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, 0x1c, 0x0a, 0x09, 0x53, 0x68, 0x6f, + 0x70, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x53, 0x68, + 0x6f, 0x70, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x44, 0x61, 0x79, 0x4d, 0x61, + 0x78, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x44, 0x61, + 0x79, 0x4d, 0x61, 0x78, 0x4c, 0x69, 0x6d, 0x69, 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, 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, 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, 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, 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, + 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, 0xb9, 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, 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, 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, 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, 0x85, 0x01, 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, 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, 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, - 0x53, 0x70, 0x72, 0x65, 0x65, 0x52, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x50, + 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, 0x85, 0x01, + 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, 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, 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, 0x9c, 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, 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, 0x3f, 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, 0x44, 0x61, 0x74, 0x61, 0x73, 0x18, 0x02, 0x20, - 0x03, 0x28, 0x05, 0x52, 0x05, 0x44, 0x61, 0x74, 0x61, 0x73, 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, + 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, 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, 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, + 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, 0x9c, 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, 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, + 0x3f, 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, 0x44, 0x61, + 0x74, 0x61, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x05, 0x52, 0x05, 0x44, 0x61, 0x74, 0x61, 0x73, + 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, 0x59, 0x0a, 0x15, + 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 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, 0x24, 0x0a, 0x0d, 0x4f, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4e, 0x61, + 0x6d, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x4f, 0x6e, 0x43, 0x68, 0x61, 0x6e, + 0x6e, 0x65, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 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 ( @@ -6636,7 +6708,7 @@ func file_common_proto_rawDescGZIP() []byte { return file_common_proto_rawDescData } -var file_common_proto_msgTypes = make([]protoimpl.MessageInfo, 60) +var file_common_proto_msgTypes = make([]protoimpl.MessageInfo, 61) var file_common_proto_goTypes = []interface{}{ (*MysqlDbSetting)(nil), // 0: webapi.MysqlDbSetting (*MongoDbSetting)(nil), // 1: webapi.MongoDbSetting @@ -6693,31 +6765,32 @@ var file_common_proto_goTypes = []interface{}{ (*GameConfig)(nil), // 52: webapi.GameConfig (*WelfarePhoneLotteryStatus)(nil), // 53: webapi.WelfarePhoneLotteryStatus (*WelfareCollectConfig)(nil), // 54: webapi.WelfareCollectConfig - nil, // 55: webapi.Platform.BindTelRewardEntry - nil, // 56: webapi.PlayerData.RankScoreEntry - nil, // 57: webapi.ItemShop.AwardEntry - nil, // 58: webapi.VIPcfg.AwardEntry - nil, // 59: webapi.VIPcfg.Privilege7Entry - (*server.DB_GameFree)(nil), // 60: server.DB_GameFree + (*ExchangeChannelConfig)(nil), // 55: webapi.ExchangeChannelConfig + nil, // 56: webapi.Platform.BindTelRewardEntry + nil, // 57: webapi.PlayerData.RankScoreEntry + nil, // 58: webapi.ItemShop.AwardEntry + nil, // 59: webapi.VIPcfg.AwardEntry + nil, // 60: webapi.VIPcfg.Privilege7Entry + (*server.DB_GameFree)(nil), // 61: server.DB_GameFree } var file_common_proto_depIdxs = []int32{ 2, // 0: webapi.Platform.Leaderboard:type_name -> webapi.RankSwitch 3, // 1: webapi.Platform.ClubConfig:type_name -> webapi.ClubConfig 4, // 2: webapi.Platform.ThirdGameMerchant:type_name -> webapi.ThirdGame - 55, // 3: webapi.Platform.BindTelReward:type_name -> webapi.Platform.BindTelRewardEntry + 56, // 3: webapi.Platform.BindTelReward:type_name -> webapi.Platform.BindTelRewardEntry 6, // 4: webapi.GameConfigGlobal.GameStatus:type_name -> webapi.GameStatus - 60, // 5: webapi.GameFree.DbGameFree:type_name -> server.DB_GameFree + 61, // 5: webapi.GameFree.DbGameFree:type_name -> server.DB_GameFree 8, // 6: webapi.PlatformGameConfig.DbGameFrees:type_name -> webapi.GameFree 0, // 7: webapi.PlatformDbConfig.Mysql:type_name -> webapi.MysqlDbSetting 1, // 8: webapi.PlatformDbConfig.MongoDb:type_name -> webapi.MongoDbSetting 1, // 9: webapi.PlatformDbConfig.MongoDbLog:type_name -> webapi.MongoDbSetting - 60, // 10: webapi.GameConfigGroup.DbGameFree:type_name -> server.DB_GameFree - 56, // 11: webapi.PlayerData.RankScore:type_name -> webapi.PlayerData.RankScoreEntry + 61, // 10: webapi.GameConfigGroup.DbGameFree:type_name -> server.DB_GameFree + 57, // 11: webapi.PlayerData.RankScore:type_name -> webapi.PlayerData.RankScoreEntry 20, // 12: webapi.OnlineReport.GameCount:type_name -> webapi.OnlineGameCnt 22, // 13: webapi.CommonNoticeList.List:type_name -> webapi.CommonNotice 25, // 14: webapi.ExchangeShop.ExType:type_name -> webapi.ExchangeType 24, // 15: webapi.ExchangeShopList.List:type_name -> webapi.ExchangeShop - 57, // 16: webapi.ItemShop.Award:type_name -> webapi.ItemShop.AwardEntry + 58, // 16: webapi.ItemShop.Award:type_name -> webapi.ItemShop.AwardEntry 27, // 17: webapi.ItemShopList.List:type_name -> webapi.ItemShop 29, // 18: webapi.MatchInfoAward.ItemId:type_name -> webapi.ItemInfo 30, // 19: webapi.GameMatchDate.Award:type_name -> webapi.MatchInfoAward @@ -6734,8 +6807,8 @@ var file_common_proto_depIdxs = []int32{ 33, // 30: webapi.WelfareSpree.Item:type_name -> webapi.WelfareDate 42, // 31: webapi.WelfareFirstPayDataList.List:type_name -> webapi.WelfareSpree 42, // 32: webapi.WelfareContinuousPayDataList.List:type_name -> webapi.WelfareSpree - 58, // 33: webapi.VIPcfg.Award:type_name -> webapi.VIPcfg.AwardEntry - 59, // 34: webapi.VIPcfg.Privilege7:type_name -> webapi.VIPcfg.Privilege7Entry + 59, // 33: webapi.VIPcfg.Award:type_name -> webapi.VIPcfg.AwardEntry + 60, // 34: webapi.VIPcfg.Privilege7:type_name -> webapi.VIPcfg.Privilege7Entry 45, // 35: webapi.VIPcfgDataList.List:type_name -> webapi.VIPcfg 33, // 36: webapi.ChessRankConfig.Item:type_name -> webapi.WelfareDate 49, // 37: webapi.ChessRankcfgData.Datas:type_name -> webapi.ChessRankConfig @@ -7412,6 +7485,18 @@ func file_common_proto_init() { return nil } } + file_common_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExchangeChannelConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } } type x struct{} out := protoimpl.TypeBuilder{ @@ -7419,7 +7504,7 @@ func file_common_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_common_proto_rawDesc, NumEnums: 0, - NumMessages: 60, + NumMessages: 61, NumExtensions: 0, NumServices: 0, }, diff --git a/protocol/webapi/common.proto b/protocol/webapi/common.proto index 7b4d1d6..236347c 100644 --- a/protocol/webapi/common.proto +++ b/protocol/webapi/common.proto @@ -337,6 +337,7 @@ message CommonNotice { int32 NoticeId = 11; int32 IsLoop=12; int32 LoopTime=13; + repeated string OnChannelName = 14; } message CommonNoticeList{ repeated CommonNotice List = 1; @@ -630,4 +631,10 @@ message WelfarePhoneLotteryStatus{ message WelfareCollectConfig{ string Platform = 1; int32 Switch = 2; // 1.开启 2.关闭 +} + +// etcd /game/exchange/channel +message ExchangeChannelConfig{ + string Platform = 1; + repeated string OnChannelName = 2; // 开启渠道 } \ No newline at end of file diff --git a/protocol/webapi/webapi.pb.go b/protocol/webapi/webapi.pb.go index 1aeea97..51abaea 100644 --- a/protocol/webapi/webapi.pb.go +++ b/protocol/webapi/webapi.pb.go @@ -8359,6 +8359,125 @@ func (x *SAPlayerDelete) GetMsg() string { return "" } +// 获取邀请连接 [/get_invite_link] +type ASPlayerInviteLink struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Platform string `protobuf:"bytes,1,opt,name=platform,proto3" json:"platform,omitempty"` // 平台id + SnId int32 `protobuf:"varint,2,opt,name=SnId,proto3" json:"SnId,omitempty"` // 玩家id +} + +func (x *ASPlayerInviteLink) Reset() { + *x = ASPlayerInviteLink{} + if protoimpl.UnsafeEnabled { + mi := &file_webapi_proto_msgTypes[123] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ASPlayerInviteLink) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ASPlayerInviteLink) ProtoMessage() {} + +func (x *ASPlayerInviteLink) ProtoReflect() protoreflect.Message { + mi := &file_webapi_proto_msgTypes[123] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ASPlayerInviteLink.ProtoReflect.Descriptor instead. +func (*ASPlayerInviteLink) Descriptor() ([]byte, []int) { + return file_webapi_proto_rawDescGZIP(), []int{123} +} + +func (x *ASPlayerInviteLink) GetPlatform() string { + if x != nil { + return x.Platform + } + return "" +} + +func (x *ASPlayerInviteLink) GetSnId() int32 { + if x != nil { + return x.SnId + } + return 0 +} + +type SAPlayerInviteLink struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Tag TagCode `protobuf:"varint,1,opt,name=Tag,proto3,enum=webapi.TagCode" json:"Tag,omitempty"` //错误码 + Msg string `protobuf:"bytes,2,opt,name=Msg,proto3" json:"Msg,omitempty"` //错误信息(选填) + Link string `protobuf:"bytes,3,opt,name=Link,proto3" json:"Link,omitempty"` // 分享连接 +} + +func (x *SAPlayerInviteLink) Reset() { + *x = SAPlayerInviteLink{} + if protoimpl.UnsafeEnabled { + mi := &file_webapi_proto_msgTypes[124] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SAPlayerInviteLink) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SAPlayerInviteLink) ProtoMessage() {} + +func (x *SAPlayerInviteLink) ProtoReflect() protoreflect.Message { + mi := &file_webapi_proto_msgTypes[124] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SAPlayerInviteLink.ProtoReflect.Descriptor instead. +func (*SAPlayerInviteLink) Descriptor() ([]byte, []int) { + return file_webapi_proto_rawDescGZIP(), []int{124} +} + +func (x *SAPlayerInviteLink) GetTag() TagCode { + if x != nil { + return x.Tag + } + return TagCode_UNKNOWN +} + +func (x *SAPlayerInviteLink) GetMsg() string { + if x != nil { + return x.Msg + } + return "" +} + +func (x *SAPlayerInviteLink) GetLink() string { + if x != nil { + return x.Link + } + return "" +} + var File_webapi_proto protoreflect.FileDescriptor var file_webapi_proto_rawDesc = []byte{ @@ -9260,23 +9379,33 @@ var file_webapi_proto_rawDesc = []byte{ 0x6c, 0x65, 0x74, 0x65, 0x12, 0x21, 0x0a, 0x03, 0x54, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0f, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x61, 0x67, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x54, 0x61, 0x67, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x2a, 0xce, 0x01, 0x0a, 0x07, 0x54, 0x61, - 0x67, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, - 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x01, 0x12, - 0x0a, 0x0a, 0x06, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x02, 0x12, 0x0e, 0x0a, 0x0a, 0x53, - 0x49, 0x47, 0x4e, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x03, 0x12, 0x14, 0x0a, 0x10, 0x50, - 0x52, 0x4f, 0x54, 0x4f, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, - 0x04, 0x12, 0x12, 0x0a, 0x0e, 0x4a, 0x59, 0x42, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x45, 0x52, - 0x52, 0x4f, 0x52, 0x10, 0x05, 0x12, 0x12, 0x0a, 0x0e, 0x4a, 0x59, 0x42, 0x5f, 0x43, 0x4f, 0x44, - 0x45, 0x5f, 0x45, 0x58, 0x49, 0x53, 0x54, 0x10, 0x06, 0x12, 0x11, 0x0a, 0x0d, 0x50, 0x6c, 0x61, - 0x79, 0x5f, 0x4e, 0x6f, 0x74, 0x45, 0x58, 0x49, 0x53, 0x54, 0x10, 0x07, 0x12, 0x09, 0x0a, 0x05, - 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x10, 0x08, 0x12, 0x0c, 0x0a, 0x08, 0x54, 0x65, 0x6c, 0x45, 0x78, - 0x69, 0x73, 0x74, 0x10, 0x09, 0x12, 0x13, 0x0a, 0x0f, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x4e, 0x6f, 0x74, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x10, 0x0a, 0x12, 0x0e, 0x0a, 0x0a, 0x54, 0x65, - 0x6c, 0x4e, 0x6f, 0x74, 0x42, 0x69, 0x6e, 0x64, 0x10, 0x0b, 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, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x22, 0x44, 0x0a, 0x12, 0x41, 0x53, 0x50, + 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x4c, 0x69, 0x6e, 0x6b, 0x12, + 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x53, + 0x6e, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x53, 0x6e, 0x49, 0x64, 0x22, + 0x5d, 0x0a, 0x12, 0x53, 0x41, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x6e, 0x76, 0x69, 0x74, + 0x65, 0x4c, 0x69, 0x6e, 0x6b, 0x12, 0x21, 0x0a, 0x03, 0x54, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x0f, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x61, 0x67, 0x43, + 0x6f, 0x64, 0x65, 0x52, 0x03, 0x54, 0x61, 0x67, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x4c, 0x69, + 0x6e, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4c, 0x69, 0x6e, 0x6b, 0x2a, 0xce, + 0x01, 0x0a, 0x07, 0x54, 0x61, 0x67, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, + 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x55, 0x43, 0x43, 0x45, + 0x53, 0x53, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x02, + 0x12, 0x0e, 0x0a, 0x0a, 0x53, 0x49, 0x47, 0x4e, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x03, + 0x12, 0x14, 0x0a, 0x10, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x45, + 0x52, 0x52, 0x4f, 0x52, 0x10, 0x04, 0x12, 0x12, 0x0a, 0x0e, 0x4a, 0x59, 0x42, 0x5f, 0x44, 0x41, + 0x54, 0x41, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x05, 0x12, 0x12, 0x0a, 0x0e, 0x4a, 0x59, + 0x42, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x45, 0x58, 0x49, 0x53, 0x54, 0x10, 0x06, 0x12, 0x11, + 0x0a, 0x0d, 0x50, 0x6c, 0x61, 0x79, 0x5f, 0x4e, 0x6f, 0x74, 0x45, 0x58, 0x49, 0x53, 0x54, 0x10, + 0x07, 0x12, 0x09, 0x0a, 0x05, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x10, 0x08, 0x12, 0x0c, 0x0a, 0x08, + 0x54, 0x65, 0x6c, 0x45, 0x78, 0x69, 0x73, 0x74, 0x10, 0x09, 0x12, 0x13, 0x0a, 0x0f, 0x41, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4e, 0x6f, 0x74, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x10, 0x0a, 0x12, + 0x0e, 0x0a, 0x0a, 0x54, 0x65, 0x6c, 0x4e, 0x6f, 0x74, 0x42, 0x69, 0x6e, 0x64, 0x10, 0x0b, 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 ( @@ -9292,7 +9421,7 @@ func file_webapi_proto_rawDescGZIP() []byte { } var file_webapi_proto_enumTypes = make([]protoimpl.EnumInfo, 1) -var file_webapi_proto_msgTypes = make([]protoimpl.MessageInfo, 123) +var file_webapi_proto_msgTypes = make([]protoimpl.MessageInfo, 125) var file_webapi_proto_goTypes = []interface{}{ (TagCode)(0), // 0: webapi.TagCode (*SAPlatformInfo)(nil), // 1: webapi.SAPlatformInfo @@ -9418,92 +9547,94 @@ var file_webapi_proto_goTypes = []interface{}{ (*SAGetImgVerify)(nil), // 121: webapi.SAGetImgVerify (*ASPlayerDelete)(nil), // 122: webapi.ASPlayerDelete (*SAPlayerDelete)(nil), // 123: webapi.SAPlayerDelete - (*Platform)(nil), // 124: webapi.Platform - (*PlatformGameConfig)(nil), // 125: webapi.PlatformGameConfig - (*GameConfigGroup)(nil), // 126: webapi.GameConfigGroup - (*GameConfigGlobal)(nil), // 127: webapi.GameConfigGlobal - (*PlatformDbConfig)(nil), // 128: webapi.PlatformDbConfig - (*CoinPoolSetting)(nil), // 129: webapi.CoinPoolSetting - (*RoomInfo)(nil), // 130: webapi.RoomInfo - (*PlayerSingleAdjust)(nil), // 131: webapi.PlayerSingleAdjust - (*PlayerData)(nil), // 132: webapi.PlayerData - (*HorseRaceLamp)(nil), // 133: webapi.HorseRaceLamp - (*MessageInfo)(nil), // 134: webapi.MessageInfo - (*ServerInfo)(nil), // 135: webapi.ServerInfo - (*OnlineReport)(nil), // 136: webapi.OnlineReport - (*ItemInfo)(nil), // 137: webapi.ItemInfo - (*ExchangeShop)(nil), // 138: webapi.ExchangeShop + (*ASPlayerInviteLink)(nil), // 124: webapi.ASPlayerInviteLink + (*SAPlayerInviteLink)(nil), // 125: webapi.SAPlayerInviteLink + (*Platform)(nil), // 126: webapi.Platform + (*PlatformGameConfig)(nil), // 127: webapi.PlatformGameConfig + (*GameConfigGroup)(nil), // 128: webapi.GameConfigGroup + (*GameConfigGlobal)(nil), // 129: webapi.GameConfigGlobal + (*PlatformDbConfig)(nil), // 130: webapi.PlatformDbConfig + (*CoinPoolSetting)(nil), // 131: webapi.CoinPoolSetting + (*RoomInfo)(nil), // 132: webapi.RoomInfo + (*PlayerSingleAdjust)(nil), // 133: webapi.PlayerSingleAdjust + (*PlayerData)(nil), // 134: webapi.PlayerData + (*HorseRaceLamp)(nil), // 135: webapi.HorseRaceLamp + (*MessageInfo)(nil), // 136: webapi.MessageInfo + (*ServerInfo)(nil), // 137: webapi.ServerInfo + (*OnlineReport)(nil), // 138: webapi.OnlineReport + (*ItemInfo)(nil), // 139: webapi.ItemInfo + (*ExchangeShop)(nil), // 140: webapi.ExchangeShop } var file_webapi_proto_depIdxs = []int32{ 0, // 0: webapi.ASPlatformInfo.Tag:type_name -> webapi.TagCode - 124, // 1: webapi.ASPlatformInfo.Platforms:type_name -> webapi.Platform + 126, // 1: webapi.ASPlatformInfo.Platforms:type_name -> webapi.Platform 0, // 2: webapi.ASGameConfig.Tag:type_name -> webapi.TagCode - 125, // 3: webapi.ASGameConfig.Configs:type_name -> webapi.PlatformGameConfig + 127, // 3: webapi.ASGameConfig.Configs:type_name -> webapi.PlatformGameConfig 0, // 4: webapi.ASGameConfigGroup.Tag:type_name -> webapi.TagCode - 126, // 5: webapi.ASGameConfigGroup.GameConfigGroup:type_name -> webapi.GameConfigGroup + 128, // 5: webapi.ASGameConfigGroup.GameConfigGroup:type_name -> webapi.GameConfigGroup 0, // 6: webapi.ASGameConfigGlobal.Tag:type_name -> webapi.TagCode - 127, // 7: webapi.ASGameConfigGlobal.GameStatus:type_name -> webapi.GameConfigGlobal + 129, // 7: webapi.ASGameConfigGlobal.GameStatus:type_name -> webapi.GameConfigGlobal 0, // 8: webapi.ASDbConfig.Tag:type_name -> webapi.TagCode - 128, // 9: webapi.ASDbConfig.DbConfigs:type_name -> webapi.PlatformDbConfig - 124, // 10: webapi.ASUpdatePlatform.Platforms:type_name -> webapi.Platform + 130, // 9: webapi.ASDbConfig.DbConfigs:type_name -> webapi.PlatformDbConfig + 126, // 10: webapi.ASUpdatePlatform.Platforms:type_name -> webapi.Platform 0, // 11: webapi.SAUpdatePlatform.Tag:type_name -> webapi.TagCode - 127, // 12: webapi.ASUpdateGameConfigGlobal.GameStatus:type_name -> webapi.GameConfigGlobal + 129, // 12: webapi.ASUpdateGameConfigGlobal.GameStatus:type_name -> webapi.GameConfigGlobal 0, // 13: webapi.SAUpdateGameConfigGlobal.Tag:type_name -> webapi.TagCode - 125, // 14: webapi.ASUpdateGameConfig.Config:type_name -> webapi.PlatformGameConfig + 127, // 14: webapi.ASUpdateGameConfig.Config:type_name -> webapi.PlatformGameConfig 0, // 15: webapi.SAUpdateGameConfig.Tag:type_name -> webapi.TagCode - 126, // 16: webapi.ASUpdateGameConfigGroup.GameConfigGroup:type_name -> webapi.GameConfigGroup + 128, // 16: webapi.ASUpdateGameConfigGroup.GameConfigGroup:type_name -> webapi.GameConfigGroup 0, // 17: webapi.SAUpdateGameConfigGroup.Tag:type_name -> webapi.TagCode 0, // 18: webapi.SAAddCoinById.Tag:type_name -> webapi.TagCode 0, // 19: webapi.SAResetGamePool.Tag:type_name -> webapi.TagCode - 129, // 20: webapi.ASUpdateGamePool.CoinPoolSetting:type_name -> webapi.CoinPoolSetting + 131, // 20: webapi.ASUpdateGamePool.CoinPoolSetting:type_name -> webapi.CoinPoolSetting 0, // 21: webapi.SAUpdateGamePool.Tag:type_name -> webapi.TagCode 0, // 22: webapi.SAQueryGamePoolByGameId.Tag:type_name -> webapi.TagCode - 129, // 23: webapi.SAQueryGamePoolByGameId.CoinPoolSetting:type_name -> webapi.CoinPoolSetting - 129, // 24: webapi.CoinPoolStatesInfo.CoinPoolSetting:type_name -> webapi.CoinPoolSetting + 131, // 23: webapi.SAQueryGamePoolByGameId.CoinPoolSetting:type_name -> webapi.CoinPoolSetting + 131, // 24: webapi.CoinPoolStatesInfo.CoinPoolSetting:type_name -> webapi.CoinPoolSetting 0, // 25: webapi.SAQueryAllGamePool.Tag:type_name -> webapi.TagCode 26, // 26: webapi.SAQueryAllGamePool.CoinPoolStatesInfo:type_name -> webapi.CoinPoolStatesInfo 0, // 27: webapi.SAListRoom.Tag:type_name -> webapi.TagCode - 130, // 28: webapi.SAListRoom.RoomInfo:type_name -> webapi.RoomInfo + 132, // 28: webapi.SAListRoom.RoomInfo:type_name -> webapi.RoomInfo 0, // 29: webapi.SAGetRoom.Tag:type_name -> webapi.TagCode - 130, // 30: webapi.SAGetRoom.RoomInfo:type_name -> webapi.RoomInfo + 132, // 30: webapi.SAGetRoom.RoomInfo:type_name -> webapi.RoomInfo 0, // 31: webapi.SADestroyRoom.Tag:type_name -> webapi.TagCode - 131, // 32: webapi.ASSinglePlayerAdjust.PlayerSingleAdjust:type_name -> webapi.PlayerSingleAdjust + 133, // 32: webapi.ASSinglePlayerAdjust.PlayerSingleAdjust:type_name -> webapi.PlayerSingleAdjust 0, // 33: webapi.SASinglePlayerAdjust.Tag:type_name -> webapi.TagCode - 131, // 34: webapi.SASinglePlayerAdjust.PlayerSingleAdjust:type_name -> webapi.PlayerSingleAdjust + 133, // 34: webapi.SASinglePlayerAdjust.PlayerSingleAdjust:type_name -> webapi.PlayerSingleAdjust 0, // 35: webapi.SAGetPlayerData.Tag:type_name -> webapi.TagCode - 132, // 36: webapi.SAGetPlayerData.PlayerData:type_name -> webapi.PlayerData + 134, // 36: webapi.SAGetPlayerData.PlayerData:type_name -> webapi.PlayerData 0, // 37: webapi.SAMorePlayerData.Tag:type_name -> webapi.TagCode - 132, // 38: webapi.SAMorePlayerData.PlayerData:type_name -> webapi.PlayerData + 134, // 38: webapi.SAMorePlayerData.PlayerData:type_name -> webapi.PlayerData 0, // 39: webapi.SAKickPlayer.Tag:type_name -> webapi.TagCode 42, // 40: webapi.ASUpdatePlayerElement.PlayerEleArgs:type_name -> webapi.PlayerEleArgs 0, // 41: webapi.SAUpdatePlayerElement.Tag:type_name -> webapi.TagCode 0, // 42: webapi.SAWhiteBlackControl.Tag:type_name -> webapi.TagCode 0, // 43: webapi.SAQueryHorseRaceLampList.Tag:type_name -> webapi.TagCode - 133, // 44: webapi.SAQueryHorseRaceLampList.HorseRaceLamp:type_name -> webapi.HorseRaceLamp + 135, // 44: webapi.SAQueryHorseRaceLampList.HorseRaceLamp:type_name -> webapi.HorseRaceLamp 0, // 45: webapi.SACreateHorseRaceLamp.Tag:type_name -> webapi.TagCode 0, // 46: webapi.SAGetHorseRaceLampById.Tag:type_name -> webapi.TagCode - 133, // 47: webapi.SAGetHorseRaceLampById.HorseRaceLamp:type_name -> webapi.HorseRaceLamp - 133, // 48: webapi.ASEditHorseRaceLamp.HorseRaceLamp:type_name -> webapi.HorseRaceLamp + 135, // 47: webapi.SAGetHorseRaceLampById.HorseRaceLamp:type_name -> webapi.HorseRaceLamp + 135, // 48: webapi.ASEditHorseRaceLamp.HorseRaceLamp:type_name -> webapi.HorseRaceLamp 0, // 49: webapi.SAEditHorseRaceLamp.Tag:type_name -> webapi.TagCode 0, // 50: webapi.SARemoveHorseRaceLampById.Tag:type_name -> webapi.TagCode 0, // 51: webapi.SABlackBySnId.Tag:type_name -> webapi.TagCode 0, // 52: webapi.SACreateShortMessage.Tag:type_name -> webapi.TagCode 0, // 53: webapi.SAQueryShortMessageList.Tag:type_name -> webapi.TagCode - 134, // 54: webapi.SAQueryShortMessageList.MessageInfo:type_name -> webapi.MessageInfo + 136, // 54: webapi.SAQueryShortMessageList.MessageInfo:type_name -> webapi.MessageInfo 0, // 55: webapi.SADeleteShortMessage.Tag:type_name -> webapi.TagCode 0, // 56: webapi.SAQueryOnlineReportList.Tag:type_name -> webapi.TagCode - 132, // 57: webapi.SAQueryOnlineReportList.PlayerData:type_name -> webapi.PlayerData + 134, // 57: webapi.SAQueryOnlineReportList.PlayerData:type_name -> webapi.PlayerData 0, // 58: webapi.SASrvCtrlClose.Tag:type_name -> webapi.TagCode 0, // 59: webapi.SASrvCtrlNotice.Tag:type_name -> webapi.TagCode 0, // 60: webapi.SASrvCtrlStartScript.Tag:type_name -> webapi.TagCode 0, // 61: webapi.SAListServerStates.Tag:type_name -> webapi.TagCode - 135, // 62: webapi.SAListServerStates.ServerInfo:type_name -> webapi.ServerInfo + 137, // 62: webapi.SAListServerStates.ServerInfo:type_name -> webapi.ServerInfo 0, // 63: webapi.SAServerStateSwitch.Tag:type_name -> webapi.TagCode 0, // 64: webapi.SAResetEtcdData.Tag:type_name -> webapi.TagCode 0, // 65: webapi.SAOnlineReportTotal.Tag:type_name -> webapi.TagCode - 136, // 66: webapi.SAOnlineReportTotal.OnlineReport:type_name -> webapi.OnlineReport + 138, // 66: webapi.SAOnlineReportTotal.OnlineReport:type_name -> webapi.OnlineReport 0, // 67: webapi.SAAddCoinByIdAndPT.Tag:type_name -> webapi.TagCode - 137, // 68: webapi.JybInfoAward.ItemId:type_name -> webapi.ItemInfo + 139, // 68: webapi.JybInfoAward.ItemId:type_name -> webapi.ItemInfo 83, // 69: webapi.ASCreateJYB.Award:type_name -> webapi.JybInfoAward 0, // 70: webapi.SACreateJYB.Tag:type_name -> webapi.TagCode 0, // 71: webapi.SAUpdateJYB.Tag:type_name -> webapi.TagCode @@ -9515,9 +9646,9 @@ var file_webapi_proto_depIdxs = []int32{ 94, // 77: webapi.SAGetExchangeOrder.OrderList:type_name -> webapi.ExchangeOrderInfo 0, // 78: webapi.SAUpExchangeStatus.Tag:type_name -> webapi.TagCode 0, // 79: webapi.SAGetExchangeShop.Tag:type_name -> webapi.TagCode - 138, // 80: webapi.SAGetExchangeShop.List:type_name -> webapi.ExchangeShop + 140, // 80: webapi.SAGetExchangeShop.List:type_name -> webapi.ExchangeShop 0, // 81: webapi.SAThdUpdatePlayerCoin.Tag:type_name -> webapi.TagCode - 137, // 82: webapi.SACreateOrder.ItemInfo:type_name -> webapi.ItemInfo + 139, // 82: webapi.SACreateOrder.ItemInfo:type_name -> webapi.ItemInfo 0, // 83: webapi.SACallbackPayment.Tag:type_name -> webapi.TagCode 0, // 84: webapi.SAResource.Tag:type_name -> webapi.TagCode 0, // 85: webapi.SASendSms.Tag:type_name -> webapi.TagCode @@ -9525,11 +9656,12 @@ var file_webapi_proto_depIdxs = []int32{ 0, // 87: webapi.SAUpdateTel.Tag:type_name -> webapi.TagCode 0, // 88: webapi.SAGetImgVerify.Tag:type_name -> webapi.TagCode 0, // 89: webapi.SAPlayerDelete.Tag:type_name -> webapi.TagCode - 90, // [90:90] is the sub-list for method output_type - 90, // [90:90] is the sub-list for method input_type - 90, // [90:90] is the sub-list for extension type_name - 90, // [90:90] is the sub-list for extension extendee - 0, // [0:90] is the sub-list for field type_name + 0, // 90: webapi.SAPlayerInviteLink.Tag:type_name -> webapi.TagCode + 91, // [91:91] is the sub-list for method output_type + 91, // [91:91] is the sub-list for method input_type + 91, // [91:91] is the sub-list for extension type_name + 91, // [91:91] is the sub-list for extension extendee + 0, // [0:91] is the sub-list for field type_name } func init() { file_webapi_proto_init() } @@ -11015,6 +11147,30 @@ func file_webapi_proto_init() { return nil } } + file_webapi_proto_msgTypes[123].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ASPlayerInviteLink); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_webapi_proto_msgTypes[124].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SAPlayerInviteLink); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } } type x struct{} out := protoimpl.TypeBuilder{ @@ -11022,7 +11178,7 @@ func file_webapi_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_webapi_proto_rawDesc, NumEnums: 1, - NumMessages: 123, + NumMessages: 125, NumExtensions: 0, NumServices: 0, }, diff --git a/protocol/webapi/webapi.proto b/protocol/webapi/webapi.proto index d94b04f..9399fbb 100644 --- a/protocol/webapi/webapi.proto +++ b/protocol/webapi/webapi.proto @@ -893,4 +893,16 @@ message ASPlayerDelete{ message SAPlayerDelete{ TagCode Tag = 1; //错误码 string Msg = 2; //错误信息(选填) -} \ No newline at end of file +} + +// 获取邀请连接 [/get_invite_link] +message ASPlayerInviteLink{ + string platform = 1; // 平台id + int32 SnId = 2; // 玩家id +} +message SAPlayerInviteLink{ + TagCode Tag = 1; //错误码 + string Msg = 2; //错误信息(选填) + string Link = 3; // 分享连接 +} + diff --git a/public b/public index 9a168c5..4ccd5ac 160000 --- a/public +++ b/public @@ -1 +1 @@ -Subproject commit 9a168c5baf2683ddd7359a99e2bb9a2f893f8080 +Subproject commit 4ccd5acb111b25d6cf440fa1e390bc4614accbca diff --git a/srvdata/gamedropmgr.go b/srvdata/gamedropmgr.go index a036ebf..557d4a3 100644 --- a/srvdata/gamedropmgr.go +++ b/srvdata/gamedropmgr.go @@ -1,32 +1,34 @@ package srvdata import ( - "strconv" + "sort" ) func init() { - DataMgr.RegisterLoader("DB_Game_Drop.dat", GameDropMgrSington) + DataMgr.RegisterLoader("DB_Game_Drop.dat", GameDropMgrSingleton) } -var GameDropMgrSington = &GameDropMgr{ - GameDropData: make(map[string][]*GameDropData), +var GameDropMgrSingleton = &GameDropMgr{ + GameDropData: make(map[int32][]*GameDropData), } type GameDropMgr struct { - GameDropData map[string][]*GameDropData + GameDropData map[int32][]*GameDropData // gameId:[]*GameDropData } func (this *GameDropMgr) Load(fileFullPath string) error { - GameDropMgrSington.Init() + GameDropMgrSingleton.Init() return nil } func (this *GameDropMgr) Reload(fileFullPath string) error { - GameDropMgrSington.Init() + GameDropMgrSingleton.Init() return nil } type GameDropData struct { + Id int32 + BaseCoin int64 ItemId int32 Rate int32 MinAmount int32 @@ -37,46 +39,52 @@ func (this *GameDropMgr) ModuleName() string { return "GameDropMgr" } -func (this *GameDropMgr) GetKey(gameid, basescore int32) string { - return strconv.FormatInt(int64(gameid), 10) + "_" + strconv.FormatInt(int64(basescore), 10) +func (this *GameDropMgr) Init() { + this.GameDropData = make(map[int32][]*GameDropData) + if PBDB_Game_DropMgr.Datas == nil { + return + } + for _, v := range PBDB_Game_DropMgr.Datas.Arr { + //道具 + if v.Amount1 == nil || len(v.Amount1) != 2 { + continue + } + if v.Rate1 <= 0 { + continue + } + + gdd1 := &GameDropData{ + Id: v.Id, + BaseCoin: int64(v.Bet), + ItemId: v.ItemId1, + Rate: v.Rate1, + MinAmount: v.Amount1[0], + MaxAmount: v.Amount1[1], + } + this.GameDropData[v.GameId] = append(this.GameDropData[v.GameId], gdd1) + } + for _, v := range this.GameDropData { + sort.Slice(v, func(i, j int) bool { + return v[i].BaseCoin < v[j].BaseCoin + }) + } } -func (this *GameDropMgr) Init() { - this.GameDropData = make(map[string][]*GameDropData) - gdArr := PBDB_Game_DropMgr.Datas.Arr - if gdArr != nil { - for _, drop := range gdArr { - key := this.GetKey(drop.GameId, drop.Bet) - //道具1 - if drop.Amount1 == nil || len(drop.Amount1) != 2 { - continue +func (this *GameDropMgr) GetDropInfoByBaseScore(gameId, baseCoin int32) []*GameDropData { + var ret []*GameDropData + arr := this.GameDropData[gameId] + i := sort.Search(len(arr), func(i int) bool { + return arr[i].BaseCoin > int64(baseCoin) + }) + if i < len(arr) && i > 0 { + n := arr[i-1].BaseCoin + for i := i - 1; i >= 0; i-- { + if arr[i].BaseCoin == n { + ret = append(ret, arr[i]) + } else { + break } - gdd1 := &GameDropData{ - ItemId: drop.ItemId1, - Rate: drop.Rate1, - MinAmount: drop.Amount1[0], - MaxAmount: drop.Amount1[1], - } - this.GameDropData[key] = append(this.GameDropData[key], gdd1) - //道具2 - //if drop.Amount2 == nil || len(drop.Amount2) != 2 { - // continue - //} - //gdd2 := &GameDropData{ - // ItemId: drop.ItemId2, - // Rate: drop.Rate2, - // MinAmount: drop.Amount2[0], - // MaxAmount: drop.Amount2[1], - //} - //this.GameDropData[key] = append(this.GameDropData[key], gdd2) } } -} - -func (this *GameDropMgr) GetDropInfoByBaseScore(gameid, basescore int32) []*GameDropData { - key := this.GetKey(gameid, basescore) - if gdds, exist := this.GameDropData[key]; exist { - return gdds - } - return nil + return ret } diff --git a/webapi/deprecated.go b/webapi/deprecated.go index 98206ca..23db785 100644 --- a/webapi/deprecated.go +++ b/webapi/deprecated.go @@ -56,54 +56,6 @@ func ApiGetImageVerify(appId string, body proto.Message) ([]byte, error) { return getRequest(appId, "/get_img_verify", nil, body, "http", DEFAULT_TIMEOUT) } -// 获取包对应的平台和上级关系 -//func API_PackageList(appId string) ([]byte, error) { -// //params := make(map[string]string) -// //params["ts"] = strconv.Itoa(int(time.Now().Unix())) -// //return getRequest(appId, "/package_list", params, "http", DEFAULT_TIMEOUT) -// return nil, nil -//} - -// 游戏返利配置列表 -func API_GetGameRebateConfig(appId string) ([]byte, error) { - //params := make(map[string]string) - //params["ts"] = strconv.Itoa(int(time.Now().Unix())) - //return getRequest(appId, "/getGameRebateConfig", params, "http", time.Duration(time.Second*120)) - return nil, nil -} - -////获取游戏分组列表 -//func API_GetGameGroupData(appId string) ([]byte, error) { -// //params := make(map[string]string) -// //params["ts"] = strconv.Itoa(int(time.Now().Unix())) -// //return getRequest(appId, "/game_config_group_list", params, "http", DEFAULT_TIMEOUT) -// return nil, nil -//} - -// 获取公告列表 -func API_GetBulletData(appId string) ([]byte, error) { - //params := make(map[string]string) - //params["ts"] = strconv.Itoa(int(time.Now().Unix())) - //return getRequest(appId, "/notice_list", params, "http", DEFAULT_TIMEOUT) - return nil, nil -} - -// 获取招商列表 -func API_GetCustomerData(appId string) ([]byte, error) { - //params := make(map[string]string) - //params["ts"] = strconv.Itoa(int(time.Now().Unix())) - //return getRequest(appId, "/agent_customer_list", params, "http", DEFAULT_TIMEOUT) - return nil, nil -} - -////平台详细配置 -//func API_GetPlatformConfigData(appId string) ([]byte, error) { -// //params := make(map[string]string) -// //params["ts"] = strconv.Itoa(int(time.Now().Unix())) -// //return getRequest(appId, "/game_config_list", params, "http", time.Duration(time.Second*120)) -// return nil, nil -//} - // 获得代理配置 func API_GetPromoterConfig(appId string) ([]byte, error) { //params := make(map[string]string) @@ -112,77 +64,6 @@ func API_GetPromoterConfig(appId string) ([]byte, error) { return nil, nil } -// 黑名单列表 -func API_GetBlackData(appId string, page int) ([]byte, error) { - //params := make(map[string]string) - //params["ts"] = strconv.Itoa(int(time.Now().Unix())) - //params["page"] = strconv.Itoa(page) - //return getRequest(appId, "/black_list", params, "http", DEFAULT_TIMEOUT) - return nil, nil -} - -// 团队信息 -func API_GetSpreadPlayer(appId string, SnId int32, platform string) ([]byte, error) { - //params := make(map[string]string) - //params["snid"] = strconv.Itoa(int(SnId)) - //params["platform"] = platform - //return getRequest(appId, "/spread_player", params, "http", DEFAULT_TIMEOUT) - return nil, nil -} - -// 获取公共黑名单信息 -func API_GetCommonBlackData(appId string, page int) ([]byte, error) { - //params := make(map[string]string) - //params["ts"] = strconv.Itoa(int(time.Now().Unix())) - //params["page"] = strconv.Itoa(page) - //return getRequest(appId, "/black_list_common", params, "http", DEFAULT_TIMEOUT) - return nil, nil -} - -// 支付方式 -func API_GetPayList(appId string, platform string, guestUser, newUser, userVip int, logicLevels []int32, os, snid int32) ([]byte, error) { - //params := make(map[string]string) - //params["platform"] = platform - //params["guest"] = strconv.Itoa(guestUser) - //params["new"] = strconv.Itoa(newUser) - //params["vip"] = strconv.Itoa(userVip) - //params["ts"] = strconv.Itoa(int(time.Now().Unix())) - //params["os"] = strconv.Itoa(int(os)) - //params["snid"] = strconv.Itoa(int(snid)) - // - //var logiclevel string - //for _, v := range logicLevels { - // logiclevel = logiclevel + fmt.Sprintf("%v,", v) - //} - //if len(logiclevel) > 0 { - // logiclevel = logiclevel[:len(logiclevel)-1] - // params["logiclevel"] = logiclevel - //} - //return getRequest(appId, "/pay_platform_list", params, "http", DEFAULT_TIMEOUT) - return nil, nil -} - -// CToAPITransfer -func API_Transfer(appId string, info string) ([]byte, error) { - //params := make(map[string]string) - //params["info"] = info - //params["ts"] = strconv.Itoa(int(time.Now().Unix())) - //return getRequest(appId, "/c2api_transfer", params, "http", DEFAULT_TIMEOUT) - return nil, nil -} - -/* - int32 Snid = 1;//用户id - int32 Platform = 2;//用户id - int32 Type = 3;//商品类型 - int32 GoodsId = 4;//商品ID - int32 VCard = 5;//消耗V卡 - string GoodsName = 6;//兑换物品名称 - string UserName = 7;//兑换人姓名 - string Mobile = 8;//兑换人手机号 - string Comment = 9; //备注信息 -*/ - // 兑换订单 func API_CreateExchange(appId string, body proto.Message) ([]byte, error) { @@ -215,56 +96,6 @@ func APIGetMatchAwardCode(appId string, body proto.Message) ([]byte, error) { return postRequest(appId, "/get_match_award_code", nil, body, "http", DEFAULT_TIMEOUT) } -// 积分商城兑换订单 -func API_GradeShopExchangeList(appId, platform string, snid, page, count int32) ([]byte, error) { - //params := make(map[string]string) - //params["Platform"] = platform - //params["SnId"] = strconv.Itoa(int(snid)) - //params["Page"] = strconv.Itoa(int(page)) - //if page > 0 { - // params["Count"] = strconv.Itoa(int(count)) - //} - //params["Ts"] = strconv.Itoa(int(time.Now().Unix())) - //return getRequest(appId, "/list_exchange_shop_order", params, "http", DEFAULT_TIMEOUT) - return nil, nil -} - -// 积分商城重置商品库存 -func API_GradeShopInitShop(appId string, InitShopIds string) ([]byte, error) { - //params := make(map[string]string) - //params["InitShopIds"] = InitShopIds - //params["Ts"] = strconv.Itoa(int(time.Now().Unix())) - //return getRequest(appId, "/zero_to_reset_exshop", params, "http", DEFAULT_TIMEOUT) - return nil, nil -} - -// 发送短信 -func API_SendSMSCode(appId string, tel string, code string) error { - //params := make(map[string]string) - //params["ts"] = strconv.Itoa(int(time.Now().Unix())) - //params["phone"] = tel - //params["code"] = code - //buff, err := getRequest(appId, "/send_sms", params, "http", DEFAULT_TIMEOUT) - //if err != nil { - // return err - //} - //type ApiResult struct { - // Tag int32 - // Msg string - //} - //result := ApiResult{} - //err = json.Unmarshal(buff, &result) - //if err != nil { - // return err - //} - //if result.Tag != 0 { - // return errors.New(result.Msg) - //} else { - // return nil - //} - return nil -} - // 支付订单 商城 func API_CreateOrder(appId, orderId string, configid, SnId, shopId int32, platform string, packageTag string, os, deviceId, shopname string, amount [3]int32, consumptionamount int32, itemInfo []*webapi.ItemInfo, exchangeOrderId, channel string) *webapi.ASCreateOrder { @@ -300,214 +131,6 @@ func API_CreateOrder(appId, orderId string, configid, SnId, shopId int32, platfo return ret } -// 兑换订单 -func API_CreateExchangeOrder(snid int32, platform string, before_coin, before_safe, exchange_count, tag, bank_id int64, - account, username, ip string, win_times, lose_times, win_total, lose_total int64, os, appId, channel, agent string, - promoterTree int32, packageTag string, giveGold int64, forceTax int64, needFlow int64, curFlow int64, payts int64, - payEndTs int64, newUser int, telephonePromoter int32, deviceId string) (error, int64) { - //params := make(map[string]string) - //params["snid"] = strconv.Itoa(int(snid)) - //params["platform"] = platform - //params["before_coin"] = strconv.Itoa(int(before_coin)) - //params["before_safe"] = strconv.Itoa(int(before_safe)) - //params["exchange_count"] = strconv.Itoa(int(exchange_count)) - //params["tag"] = strconv.Itoa(int(tag)) - //params["bank_id"] = strconv.Itoa(int(bank_id)) - //params["account"] = account - //params["username"] = username - //params["ip"] = ip - //params["win_times"] = strconv.Itoa(int(win_times)) - //params["lose_times"] = strconv.Itoa(int(lose_times)) - //params["win_total"] = strconv.Itoa(int(win_total)) - //params["lose_total"] = strconv.Itoa(int(lose_total)) - //params["os"] = DeviceOs(os) - //params["channel"] = channel - //params["promoter"] = agent - //params["promoter_tree"] = strconv.Itoa(int(promoterTree)) - //params["packageTag"] = packageTag - //params["ts"] = strconv.Itoa(int(time.Now().Unix())) - //params["force_tax"] = strconv.Itoa(int(forceTax)) - //params["give_gold"] = strconv.Itoa(int(giveGold)) - //params["need_flow"] = strconv.Itoa(int(needFlow)) - //params["cur_flow"] = strconv.Itoa(int(curFlow)) - //params["new"] = strconv.Itoa(newUser) - //params["pay_ts"] = strconv.Itoa(int(payts)) - //params["pay_endts"] = strconv.Itoa(int(payEndTs)) - //params["telephone_promoter"] = strconv.Itoa(int(telephonePromoter)) - //params["deviceid"] = deviceId - //buff, err := getRequest(appId, "/create_exchange_order", params, "http", DEFAULT_TIMEOUT) - //if err != nil { - // return err, 0 - //} - //type ApiResult struct { - // Tag int32 - // Msg interface{} - //} - //result := ApiResult{} - //err = json.Unmarshal(buff, &result) - //if err != nil { - // return err, 0 - //} - //if result.Tag != 0 { - // errMsg := fmt.Sprintf("Create exchange order result failed._%v", result.Msg) - // return errors.New(errMsg), 0 - //} else { - // var id int64 - // switch result.Msg.(type) { - // case string: - // c, cr := strconv.Atoi(result.Msg.(string)) - // if cr == nil { - // id = int64(c) - // } - // case float64: - // id = int64(result.Msg.(float64)) - // } - // return nil, id - //} - return nil, 0 -} - -// 商品兑换订单 -func API_CreateGradeShopExchangeOrder(LogId, appId, platform string, snid, ShopId int32, Ip, ReceiveName, ReceiveTel, ReceiveAddr string, - LastGrade int64) error { - //params := make(map[string]string) - //params["Platform"] = platform //平台号 - //params["SnId"] = strconv.Itoa(int(snid)) //玩家Id - //params["LogId"] = LogId //订单id - //params["ShopId"] = strconv.Itoa(int(ShopId)) //商品Id - //params["Ip"] = Ip //IP地址 - //params["ReceiveName"] = ReceiveName //收货人名字 - //params["ReceiveTel"] = ReceiveTel //收货人电话 - //params["ReceiveAddr"] = ReceiveAddr //收货人地址 - //params["LastGrade"] = strconv.Itoa(int(LastGrade)) //玩家兑换完剩余积分 - //params["Ts"] = strconv.Itoa(int(time.Now().Unix())) //创建时间 - //buff, err := getRequest(appId, "/create_exchange_shop_order", params, "http", DEFAULT_TIMEOUT) - //if err != nil { - // return err - //} - //type ApiResult struct { - // Tag int32 - // Msg string - //} - //result := ApiResult{} - //err = json.Unmarshal(buff, &result) - //if err != nil { - // return err - //} - //if result.Tag != 0 { - // errMsg := fmt.Sprintf("Create GradeShop exchange order result failed._%v", result.Msg) - // return errors.New(errMsg) - //} else { - // return nil - //} - return nil -} - -// 税收分成 -func API_TaxDivide(snid int32, platform, channel, promoter, packageTag string, tax int64, appId string, gameid, gamemode int, gamefreeid, promoterTree int32) (int32, error) { - //params := make(map[string]string) - //params["snid"] = strconv.Itoa(int(snid)) - //params["platform"] = platform - //params["tax"] = fmt.Sprintf("%v", tax) - //params["channel"] = channel - //params["promoter"] = promoter - //params["promoter_tree"] = strconv.Itoa(int(promoterTree)) - //params["packageTag"] = packageTag - //params["gameId"] = strconv.Itoa(gameid) - //params["modeId"] = strconv.Itoa(gamemode) - //params["gamefreeId"] = strconv.Itoa(int(gamefreeid)) - //params["ts"] = strconv.Itoa(int(time.Now().Unix())) - //buff, err := getRequest(appId, "/tax_divide", params, "http", DEFAULT_TIMEOUT) - //if err != nil { - // return -1, err - //} - //type ApiResult struct { - // Tag int32 - // Msg interface{} - //} - //result := ApiResult{} - //err = json.Unmarshal(buff, &result) - //return result.Tag, err - return 0, nil -} - -// 流水推送 -func API_SpreadAccount(appId string, gamefreeId int32, data []*PlayerStatement) (int32, error) { - //d, err := json.Marshal(data) - //if err != nil { - // return -1, err - //} - //params := make(map[string]string) - //params["gamefreeId"] = strconv.Itoa(int(gamefreeId)) - //params["data"] = string(d[:]) - //params["ts"] = strconv.Itoa(int(time.Now().Unix())) - //buff, err := getRequest(appId, "/spread_account_push", params, "http", DEFAULT_TIMEOUT) - //if err != nil { - // return -1, err - //} - //type ApiResult struct { - // Tag int32 - // Msg interface{} - //} - //result := ApiResult{} - //err = json.Unmarshal(buff, &result) - //return result.Tag, err - return 0, nil -} - -// 系统赠送 -func API_SystemGive(snid int32, platform, channel, promoter string, ammount, tag int32, appId string, packageTag string) (int32, error) { - //params := make(map[string]string) - //params["snid"] = strconv.Itoa(int(snid)) - //params["platform"] = platform - //params["channel"] = channel - //params["promoter"] = promoter - //params["package_tag"] = packageTag - //params["amount"] = fmt.Sprintf("%v", ammount) - //params["tg"] = strconv.Itoa(int(tag)) - //params["ts"] = strconv.Itoa(int(time.Now().Unix())) - //buff, err := getRequest(appId, "/system_give", params, "http", DEFAULT_TIMEOUT) - //if err != nil { - // return -1, err - //} - //type ApiResult struct { - // Tag int32 - // Msg interface{} - //} - //result := ApiResult{} - //err = json.Unmarshal(buff, &result) - //return result.Tag, err - return 0, nil -} - -// 首次登录通知 -func API_PlayerEvent(event int, platform, packageTag string, snid int32, channel string, promoter string, promoterTree int32, isCreate int, isNew int, isBind int, appId string) (int32, error) { - //params := make(map[string]string) - //params["event"] = strconv.Itoa(event) - //params["snid"] = strconv.Itoa(int(snid)) - //params["platform"] = platform - //params["channel"] = channel - //params["promoter"] = promoter - //params["promoter_tree"] = strconv.Itoa(int(promoterTree)) - //params["packageTag"] = packageTag - //params["isCreate"] = strconv.Itoa(isCreate) - //params["isNew"] = strconv.Itoa(isNew) - //params["isBind"] = strconv.Itoa(isBind) - //params["create_time"] = strconv.Itoa(int(time.Now().Unix())) - //buff, err := getRequest(appId, "/player_event", params, "http", DEFAULT_TIMEOUT) - //if err != nil { - // return -1, err - //} - //type ApiResult struct { - // Tag int32 - // Msg interface{} - //} - //result := ApiResult{} - //err = json.Unmarshal(buff, &result) - //return result.Tag, err - return 0, nil -} - // 推送全民推广关系链 func API_PushSpreadLink(snid int32, platform, packageTag string, inviterId int, isBind, isForce int, appId string) (int32, error) { //params := make(map[string]string) @@ -532,84 +155,6 @@ func API_PushSpreadLink(snid int32, platform, packageTag string, inviterId int, return 0, nil } -// 推送全民推广关系链 -func API_PushInviterIp(snid, inviterId, promoterTree int32, promoter string, bundleId, ip string, os string, appId string) (int32, *PromoterData, error) { - //params := make(map[string]string) - //params["snid"] = strconv.Itoa(int(snid)) - //params["bundle_id"] = bundleId - //params["ip"] = ip - //params["os"] = DeviceOs(os) - //params["inviter"] = strconv.Itoa(int(inviterId)) - //params["promoter_tree"] = strconv.Itoa(int(promoterTree)) - //params["promoter"] = promoter - // - //params["ts"] = strconv.Itoa(int(time.Now().Unix())) - //buff, err := getRequest(appId, "/push_inviter_ip", params, "http", DEFAULT_TIMEOUT) - //if err != nil { - // return -1, nil, err - //} - //type ApiResult struct { - // Tag int32 - // Msg *PromoterData - //} - //result := ApiResult{} - //err = json.Unmarshal(buff, &result) - //if err != nil { - // type ErrResult struct { - // Tag int32 - // Msg string - // } - // errRes := ErrResult{} - // errTag := json.Unmarshal(buff, &errRes) - // if errTag == nil { - // logger.Logger.Warnf("API_PushInviterIp response tag:%v msg:%v err:%v snid:%v packagetag:%v ip:%v ", errRes.Tag, errRes.Msg, snid, bundleId, ip) - // } - //} - //return result.Tag, result.Msg, err - return 0, nil, nil -} - -// 推送全民推广关系链 -func API_PushInvitePromoter(snid int32, promoter string, appId string) (int32, error) { - //params := make(map[string]string) - //params["snid"] = strconv.Itoa(int(snid)) - //params["promoter"] = promoter - // - //buff, err := getRequest(appId, "/bind_pay_exchange", params, "http", DEFAULT_TIMEOUT) - //if err != nil { - // return -1, err - //} - //type ApiResult struct { - // Tag int32 - // Msg interface{} - //} - ////fmt.Println("push_spread_link Response:", string(buff[:])) - //result := ApiResult{} - //err = json.Unmarshal(buff, &result) - //return result.Tag, err - return 0, nil -} - -// 无限代信息校验 -func API_ValidPromoterTree(snid int32, packageTag string, promoterTree int32, appId string) (int32, error) { - //params := make(map[string]string) - //params["snid"] = strconv.Itoa(int(snid)) - //params["package_tag"] = packageTag - //params["promoter_tree"] = strconv.Itoa(int(promoterTree)) - //buff, err := getRequest(appId, "/valid_promoter_tree", params, "http", DEFAULT_TIMEOUT) - //if err != nil { - // return -1, err - //} - //type ApiResult struct { - // Tag int32 - // Msg interface{} - //} - //result := ApiResult{} - //err = json.Unmarshal(buff, &result) - //return result.Tag, err - return 0, nil -} - // 玩家透传API func API_PlayerPass(snid int32, platform, channel, promoter, apiName, param, appId string, logicLvls []int32) (string, error) { //params := make(map[string]string) @@ -662,66 +207,6 @@ func API_SystemPass(apiName, param, cBData, appId string) (string, error) { return ret.Response, err } -// 定时任务 -func API_ScheduleDo(appId, action string, dura time.Duration) ([]byte, error) { - //params := make(map[string]string) - //params["ts"] = strconv.Itoa(int(time.Now().Unix())) - //buff, err := getRequest(appId, action, params, "http", DEFAULT_TIMEOUT) - //if err != nil { - // return buff, err - //} - //return buff, nil - return nil, nil -} - -// 平台详细配置 -func API_GetPlatformSignConfig(appId string) ([]byte, error) { - //params := make(map[string]string) - //params["ts"] = strconv.Itoa(int(time.Now().Unix())) - //return getRequest(appId, "/active_sign_config", params, "http", time.Duration(time.Second*120)) - return nil, nil -} - -// 活跃任务 -func API_GetTaskConfig(appId string) ([]byte, error) { - //params := make(map[string]string) - //params["ts"] = strconv.Itoa(int(time.Now().Unix())) - //return getRequest(appId, "/active_task_config", params, "http", DEFAULT_TIMEOUT) - return nil, nil -} - -// 财神任务 -func API_GetGoldTaskConfig(appId string) ([]byte, error) { - //params := make(map[string]string) - //params["ts"] = strconv.Itoa(int(time.Now().Unix())) - //return getRequest(appId, "/active_goldtask_config", params, "http", DEFAULT_TIMEOUT) - return nil, nil -} - -// 财神降临 -func API_GetGoldComeConfig(appId string) ([]byte, error) { - //params := make(map[string]string) - //params["ts"] = strconv.Itoa(int(time.Now().Unix())) - //return getRequest(appId, "/active_goldcome_config", params, "http", DEFAULT_TIMEOUT) - return nil, nil -} - -// vip活动配置 -func API_GetActVipConfig(appId string) ([]byte, error) { - //params := make(map[string]string) - //params["ts"] = strconv.Itoa(int(time.Now().Unix())) - //return getRequest(appId, "/active_vip_config", params, "http", DEFAULT_TIMEOUT) - return nil, nil -} - -// 首充奖励活动配置 -func API_GetActFPayConfig(appId string) ([]byte, error) { - //params := make(map[string]string) - //params["ts"] = strconv.Itoa(int(time.Now().Unix())) - //return getRequest(appId, "/active_fpay_config", params, "http", DEFAULT_TIMEOUT) - return nil, nil -} - // 活动相关统一配置 func API_GetActConfig(appId string) ([]byte, error) { //params := make(map[string]string) @@ -730,325 +215,7 @@ func API_GetActConfig(appId string) ([]byte, error) { return nil, nil } -// 支付活动配置 -func API_GetPayActConfig(appId string) ([]byte, error) { - //params := make(map[string]string) - //params["ts"] = strconv.Itoa(int(time.Now().Unix())) - //return getRequest(appId, "/active_payact_config", params, "http", DEFAULT_TIMEOUT) - return nil, nil -} - -// 获取在线奖励活动配置 -func API_GetOnlineRewardConfig(appId string) ([]byte, error) { - //params := make(map[string]string) - ////params["ts"] = strconv.Itoa(int(time.Now().Unix())) - ////params["platform"] = platform - //return getRequest(appId, "/online_reward_config", params, "http", DEFAULT_TIMEOUT) - return nil, nil -} - -// 获取幸运转盘活动配置 -func API_GetLuckyTurntableConfig(appId string) ([]byte, error) { - //params := make(map[string]string) - ////params["ts"] = strconv.Itoa(int(time.Now().Unix())) - ////params["platform"] = platform - //return getRequest(appId, "/luckly_turntable_config", params, "http", DEFAULT_TIMEOUT) - return nil, nil -} - -// 获取微信分享彩金配置 -func API_GetWeiXinShareConfig(appId string) ([]byte, error) { - //params := make(map[string]string) - //return getRequest(appId, "/weixin_share_config", params, "http", DEFAULT_TIMEOUT) - return nil, nil -} - -// 获取余额宝配置 -func API_GetYebConfig(appId string) ([]byte, error) { - //params := make(map[string]string) - ////params["ts"] = strconv.Itoa(int(time.Now().Unix())) - ////params["platform"] = platform - //return getRequest(appId, "/yeb_config", params, "http", DEFAULT_TIMEOUT) - return nil, nil -} - -// 获取周卡月卡配置 -func API_GetCardConfig(appId string) ([]byte, error) { - //params := make(map[string]string) - //return getRequest(appId, "/card_config", params, "http", DEFAULT_TIMEOUT) - return nil, nil -} - -// 获取阶梯充值配置 -func API_GetStepRechargeConfig(appId string) ([]byte, error) { - //params := make(map[string]string) - //return getRequest(appId, "/step_recharge_config", params, "http", DEFAULT_TIMEOUT) - return nil, nil -} - -// 获取自动黑白名单配置 -func API_GetAutoBWConfig(appId string, page int) ([]byte, error) { - //params := make(map[string]string) - //params["ts"] = strconv.Itoa(int(time.Now().Unix())) - //params["page"] = strconv.Itoa(page) - //return getRequest(appId, "/autobw_config", params, "http", DEFAULT_TIMEOUT) - return nil, nil -} - -// 获取包对应的平台和上级关系 -func API_GetImgVerify(appId string, phone string) (*ImgVerifyMsg, error) { - //params := make(map[string]string) - //params["phone"] = phone - //buff, err := getRequest(appId, "/get_img_verify", params, "http", DEFAULT_TIMEOUT) - //if err != nil { - // return nil, err - //} - // - //type ApiResult struct { - // Tag int32 `json:"Tag"` - // Msg ImgVerifyMsg `json:"Msg"` - //} - //result := ApiResult{} - //err = json.Unmarshal(buff, &result) - //if err != nil { - // return nil, err - //} - //if result.Tag != 0 { - // return nil, errors.New("Get Image Verify Failed.") - //} else { - // return &result.Msg, nil - //} - return nil, nil -} - -type RebateImgUrlMsg struct { - Wx string `json:"wx"` - Image string `json:"image"` -} - -// 获取包对应的平台和上级关系 -func API_GetRebateImgUrl(appId string, platform string) (string, string, error) { - //params := make(map[string]string) - //params["platform"] = platform - //buff, err := getRequest(appId, "/get_weixin_by_range", params, "http", DEFAULT_TIMEOUT) - //if err != nil { - // return "", "", err - //} - // - //type ApiResult struct { - // Tag int32 `json:"Tag"` - // Msg RebateImgUrlMsg `json:"Msg"` - //} - //result := ApiResult{} - //err = json.Unmarshal(buff, &result) - //if err != nil { - // return "", "", err - //} - //if result.Tag != 0 { - // return "", "", errors.New("Get Image Url Failed.") - //} else { - // return result.Msg.Image, result.Msg.Wx, nil - //} - return "", "", nil -} - -////////////////////////////////////////////////////////////////////////////////////////////////// -//请求参数如下: -//int32 snid 玩家id -//==================================================================== -//int64 showTypeId = 2 棋牌游戏 -// showTypeId = 3 捕鱼游戏(废弃,不在使用) -// showTypeId = 4 电子游艺 -// showTypeId = 5 真人视讯 -// showTypeId = 6 彩票游戏 -// showTypeId = 380720001 WWG 大师捕鱼 在三方中的游戏id=3 -// showTypeId = 391590001 FG 捕鱼嘉年华3D 在三方中的游戏id=fish_3D -// showTypeId = 391600001 FG 捕鸟达人 在三方中的游戏id=fish_bn -// showTypeId = 391610001 FG 欢乐捕鱼 在三方中的游戏id=fish_hl -// showTypeId = 391620001 FG 美人捕鱼 在三方中的游戏id=fish_mm -// showTypeId = 391630001 FG 天天捕鱼 在三方中的游戏id=fish_tt -// showTypeId = 391640001 FG 雷霆战警 在三方中的游戏id=fish_zj -// showTypeId = 391650001 FG 魔法王者 在三方中的游戏id=fish_mfwz -//====================================================================== -//int64 timeIndex 0.全部 1.今天 2.昨天 3.一个月内 -//int64 thirdId 那个第三方 0=全部 WWG平台=38 FG平台=39 体育赛事=41 VR彩票=43 真人视讯=28 -//int32 pageNo 当前页 -//int32 pageCount 共几页 - -// API返回的每条格式如下: -// int64 Ts //注单时间戳 -// string ThirdPltName //三方平台名字 -// string ThirdGameId //三方游戏id -// string ThirdGameName //三方游戏名字 -// string SysGamefreeid //我们系统的游戏id,这个不返回占位 -// string RecordId //注单号 -// int64 BetCoin //投注金额 -// int64 ReceivedCoin //已派奖 -func API_GetThirdDetail(appId, pltform string, snid, pageNo, pageCount, showTypeId, timeIndex, thirdId int32) (error, []byte) { - return nil, nil - //params := make(map[string]string) - //params["snid"] = strconv.Itoa(int(snid)) - //params["pageNo"] = strconv.Itoa(int(pageNo)) - //params["pageCount"] = strconv.Itoa(int(pageCount)) - //params["showTypeId"] = strconv.Itoa(int(showTypeId)) - //params["timeIndex"] = strconv.Itoa(int(timeIndex)) - //params["thirdId"] = strconv.Itoa(int(thirdId)) - //params["platform"] = pltform - //buff, err := getRequest(appId, "/third_detail", params, "http", DEFAULT_TIMEOUT) - //if err != nil { - // return err, buff - //} - //return nil, buff - - //下面是以post方式请求,备用 - //var client = &http.Client{} - //var signupDataBuff []byte - //var err error - //ts := time.Now().Unix() - //if params != nil { - // signupDataBuff, err = json.Marshal(params) - // if err != nil { - // return err, nil - // } - //} - // - ////fmt.Println(string(signupDataBuff)) - //sign := MakeMd5String(fmt.Sprintf("%v;%v;%v", ts, string(signupDataBuff), appId)) - //url := fmt.Sprintf("%v?ts=%v&sign=%v", Config.GameApiURL+"/third_detail", ts, sign) - //logger.Trace("API_GetThirdDetail request url:", url) - //request, err := http.NewRequest("POST", url, bytes.NewReader(signupDataBuff)) - //if err != nil { - // return err, nil - //} - //client.Timeout = DEFAULT_TIMEOUT - //resp, err := client.Do(request) - //if err != nil { - // logger.Errorf("Snid=%v API_GetThirdDetail api :%v", snid, err) - // return err, nil - //} - //defer resp.Body.Close() - // - //if resp.StatusCode == 200 { - // buff, err := io.ReadAll(resp.Body) - // if err != nil { - // return err, nil - // } - // return nil, buff - //} - //io.Copy(ioutil.Discard, resp.Body) - //return fmt.Errorf("API_GetThirdDetail HttpStatusCode:%d", resp.StatusCode), nil -} - -////////////////////////////////////////////////////////////////////////////////////////////////// - -////////////////////////////////////////////////////////////////////////////////////////////////// -//请求参数如下: -//int32 snid 玩家id -//==================================================================== -//string hotGameNameSet = "狂欢派对","复仇者联盟","百人牛牛" -//在mysql 中使用in来查询 -//====================================================================== -//int64 timeIndex 0.全部 1.今天 2.昨天 3.一个月内 -//int64 thirdId 那个第三方 WWG平台=38 FG平台=39 体育赛事=41 VR彩票=43 真人视讯=28 -//int32 pageNo 当前页 -//int32 pageCount 共几页 - -// API返回的每条格式如下: -// int64 Ts //注单时间戳 -// string ThirdPltName //三方平台名字 -// string ThirdGameId //三方游戏id -// string ThirdGameName //三方游戏名字 -// string SysGamefreeid //我们系统的游戏id,这个不返回占位 -// string RecordId //注单号 -// int64 BetCoin //投注金额 -// int64 ReceivedCoin //已派奖 -func API_GetThirdHotGameDetail(appId, pltform string, snid, pageNo, pageCount, timeIndex, thirdId int32, hotGameNameSet []string) (error, []byte) { - //params := make(map[string]string) - //params["snid"] = strconv.Itoa(int(snid)) - //params["pageNo"] = strconv.Itoa(int(pageNo)) - //params["pageCount"] = strconv.Itoa(int(pageCount)) - //params["hotGameNameSet"] = strings.Join(hotGameNameSet, ",") - //params["timeIndex"] = strconv.Itoa(int(timeIndex)) - //params["thirdId"] = strconv.Itoa(int(thirdId)) - //params["platform"] = pltform - //buff, err := getRequest(appId, "/hot_third_game", params, "http", DEFAULT_TIMEOUT) - //if err != nil { - // return err, buff - //} - //return nil, buff - return nil, nil -} - -// //////////////////////////////////////////////////////////////////////////////////////////////// -func API_GetRandCoinData(appId string) ([]byte, error) { - //params := make(map[string]string) - //params["ts"] = strconv.Itoa(int(time.Now().Unix())) - //return getRequest(appId, "/activity_read_envelope_config", params, "http", time.Duration(time.Second*120)) - return nil, nil -} - -// //////////////////////////////////////////////////////////////////////////////////////////////// -func API_GetChildData(appId string, platform string, snid int32, ts1, ts2 int64) ([]byte, error) { - //params := make(map[string]string) - //params["platform"] = platform - //params["snid"] = strconv.Itoa(int(snid)) - //params["start_time"] = strconv.Itoa(int(ts1)) - //params["end_time"] = strconv.Itoa(int(ts2)) - //return getRequest(appId, "/spread_child_list", params, "http", DEFAULT_TIMEOUT) - return nil, nil -} - -func API_PushPlayerSingleAdjustCount(appId string, id int32, count int32) ([]byte, error) { - //params := make(map[string]string) - //params["id"] = strconv.Itoa(int(id)) - //params["times"] = strconv.Itoa(int(count)) - //return getRequest(appId, "/game_ctrl_alone_times_push", params, "http", DEFAULT_TIMEOUT) - return nil, nil -} -func API_PlayerSingleAdjustData(appId string, page int32, pagecount int32) ([]byte, error) { - //params := make(map[string]string) - //params["page"] = strconv.Itoa(int(page)) - //params["limit"] = strconv.Itoa(int(pagecount)) - //return getRequest(appId, "/game_ctrl_alone_config", params, "http", DEFAULT_TIMEOUT) - return nil, nil -} - -// 平台杀率配置 -func API_GetPlatformProfitControlConfigData(appId string) ([]byte, error) { - //params := make(map[string]string) - //params["ts"] = strconv.Itoa(int(time.Now().Unix())) - //return getRequest(appId, "/profitcontrol_config_list", params, "http", time.Duration(time.Second*120)) - return nil, nil -} - -// 比赛配置 -func API_GetMatchConfigData(appId string) ([]byte, error) { - //params := make(map[string]string) - //params["ts"] = strconv.Itoa(int(time.Now().Unix())) - //return getRequest(appId, "/match_list", params, "http", time.Duration(time.Second*120)) - return nil, nil -} - -// 比赛报名券活动配置 -func API_GetActTicketConfigData(appId string) ([]byte, error) { - //params := make(map[string]string) - //params["ts"] = strconv.Itoa(int(time.Now().Unix())) - //return getRequest(appId, "/activity_ticket_config", params, "http", time.Duration(time.Second*120)) - return nil, nil -} - -// 比赛积分商城配置 -func API_GetGradeShopConfigData(appId string) ([]byte, error) { - //params := make(map[string]string) - //params["ts"] = strconv.Itoa(int(time.Now().Unix())) - //return getRequest(appId, "/query_exchange_shop", params, "http", time.Duration(time.Second*120)) - return nil, nil -} - -// 用户分层配置 -func API_GetLogicLevelConfigData(appId string) ([]byte, error) { - //params := make(map[string]string) - //params["ts"] = strconv.Itoa(int(time.Now().Unix())) - //return getRequest(appId, "/logic_level_config", params, "http", time.Duration(time.Second*120)) - return nil, nil +// ApiGetInviteLink 获取邀请分享链接 +func ApiGetInviteLink(appId string, body proto.Message) ([]byte, error) { + return postRequest(appId, "/get_invite_link", nil, body, "http", DEFAULT_TIMEOUT) } diff --git a/worldsrv/action_game.go b/worldsrv/action_game.go index 5dcca10..4c9d6ba 100644 --- a/worldsrv/action_game.go +++ b/worldsrv/action_game.go @@ -2164,18 +2164,19 @@ func (this *CSRecordAndNoticeHandler) Process(s *netlib.Session, packetid int, d if list != nil { for _, v := range list.List { pack.List = append(pack.List, &gamehall.CommonNotice{ - Sort: v.Sort, // 排序 第几位 - Title: v.Title, // 标题 - Content: v.Content, // 内容 - TypeName: v.TypeName, // 大标题 - Type: v.Type, // 大标题类型 - StartTime: int32(v.StartTime), // 开始显示时间 - EndTime: int32(v.EndTime), // 结束显示时间 - CategoryType: v.CategoryType, - ImgUrl: v.ImgUrl, - NoticeId: v.NoticeId, - IsLoop: v.IsLoop, - LoopTime: v.LoopTime, + Sort: v.Sort, // 排序 第几位 + Title: v.Title, // 标题 + Content: v.Content, // 内容 + TypeName: v.TypeName, // 大标题 + Type: v.Type, // 大标题类型 + StartTime: int32(v.StartTime), // 开始显示时间 + EndTime: int32(v.EndTime), // 结束显示时间 + CategoryType: v.CategoryType, + ImgUrl: v.ImgUrl, + NoticeId: v.NoticeId, + IsLoop: v.IsLoop, + LoopTime: v.LoopTime, + OnChannelName: v.OnChannelName, }) } } @@ -2225,6 +2226,31 @@ func (this *CSRecordAndNoticeHandler) Process(s *netlib.Session, packetid int, d return nil } +func CSExchangeChannel(s *netlib.Session, packetid int, data interface{}, sid int64) error { + logger.Logger.Trace("CSExchangeChannel Process recv ", data) + _, ok := data.(*gamehall.CSExchangeChannel) + if !ok { + return nil + } + + p := PlayerMgrSington.GetPlayer(sid) + if p == nil { + logger.Logger.Warn("CSExchangeChannel p == nil") + return nil + } + + var onChannelName []string + conf := PlatformMgrSingleton.GetConfig(p.Platform).ExchangeChannelConfig + if conf != nil { + onChannelName = conf.OnChannelName + } + + p.SendToClient(int(gamehall.GameHallPacketID_PACKET_SCExchangeChannel), &gamehall.SCExchangeChannel{ + OnChannelName: onChannelName, + }) + return nil +} + func init() { // 观众进入房间 common.RegisterHandler(int(gamehall.GameHallPacketID_PACKET_CS_AUDIENCE_ENTERROOM), &CSAudienceEnterRoomHandler{}) @@ -2277,4 +2303,6 @@ func init() { //我的游戏信息及平台公告 common.RegisterHandler(int(gamehall.GameHallPacketID_PACKET_CS_COMNOTICE), &CSRecordAndNoticeHandler{}) netlib.RegisterFactory(int(gamehall.GameHallPacketID_PACKET_CS_COMNOTICE), &CSRecordAndNoticePacketFactory{}) + // 开启兑换的渠道 + common.Register(int(gamehall.GameHallPacketID_PACKET_CSExchangeChannel), gamehall.CSExchangeChannel{}, CSExchangeChannel) } diff --git a/worldsrv/action_player.go b/worldsrv/action_player.go index c5258b5..4145bef 100644 --- a/worldsrv/action_player.go +++ b/worldsrv/action_player.go @@ -1445,314 +1445,6 @@ func (this *CSPlayerRegisterHandler) Process(s *netlib.Session, packetid int, da return nil } -type CSWebAPIPlayerPassPacketFactory struct { -} - -type CSWebAPIPlayerPassHandler struct { -} - -func (this *CSWebAPIPlayerPassPacketFactory) CreatePacket() interface{} { - pack := &player_proto.CSWebAPIPlayerPass{} - return pack -} - -func (this *CSWebAPIPlayerPassHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error { - logger.Logger.Trace("CSWebAPIPlayerPassHandler Process recv ", data) - if msg, ok := data.(*player_proto.CSWebAPIPlayerPass); ok { - p := PlayerMgrSington.GetPlayer(sid) - if p == nil { - logger.Logger.Warn("CSWebAPIPlayerPassHandler p == nil") - return nil - } - opCode := player_proto.OpResultCode_OPRC_Sucess - errString := "" - var err error - task.New(nil, task.CallableWrapper(func(o *basic.Object) interface{} { - errString, err = webapi.API_PlayerPass(p.SnId, p.Platform, p.Channel, p.BeUnderAgentCode, msg.GetApiName(), msg.GetParams(), common.GetAppId(), p.LogicLevels) - if err != nil { - logger.Logger.Errorf("API_PlayerPass error:%v api:%v params:%v", err, msg.GetApiName(), msg.GetParams()) - opCode = player_proto.OpResultCode_OPRC_Error - return nil - } - return err - }), task.CompleteNotifyWrapper(func(data interface{}, t task.Task) { - pack := &player_proto.SCWebAPIPlayerPass{ - OpRetCode: opCode, - ApiName: msg.ApiName, - CBData: msg.CBData, - Response: proto.String(errString), - } - p.SendToClient(int(player_proto.PlayerPacketID_PACKET_SC_WEBAPI_PLAYERPASS), pack) - logger.Logger.Trace("CSWebAPIPlayerPass:", pack) - }), "API_PlayerPass").Start() - } - return nil -} - -type CSWebAPISystemPassPacketFactory struct { -} - -type CSWebAPISystemPassHandler struct { -} - -func (this *CSWebAPISystemPassPacketFactory) CreatePacket() interface{} { - pack := &player_proto.CSWebAPISystemPass{} - return pack -} - -func (this *CSWebAPISystemPassHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error { - logger.Logger.Trace("CSWebAPISystemPassHandler Process recv ", data) - if msg, ok := data.(*player_proto.CSWebAPISystemPass); ok { - opCode := player_proto.OpResultCode_OPRC_Sucess - errString := "" - var err error - task.New(nil, task.CallableWrapper(func(o *basic.Object) interface{} { - errString, err = webapi.API_SystemPass(msg.GetApiName(), msg.GetParams(), msg.GetCBData(), common.GetAppId()) - if err != nil { - logger.Logger.Errorf("API_SystemPass error:%v apiname=%v params=%v", err, msg.GetApiName(), msg.GetParams()) - opCode = player_proto.OpResultCode_OPRC_Error - return nil - } - return err - }), task.CompleteNotifyWrapper(func(data interface{}, t task.Task) { - pack := &player_proto.SCWebAPISystemPass{ - OpRetCode: opCode, - ApiName: msg.ApiName, - CBData: msg.CBData, - Response: proto.String(errString), - } - common.SendToGate(sid, int(player_proto.PlayerPacketID_PACKET_SC_WEBAPI_SYSTEMPASS), pack, s) - logger.Logger.Trace("CSWebAPISystemPass:", pack) - }), "API_SystemPass").Start() - } - return nil -} - -type CSSpreadBindPacketFactory struct { -} - -type CSSpreadBindHandler struct { -} - -func (this *CSSpreadBindPacketFactory) CreatePacket() interface{} { - pack := &player_proto.CSSpreadBind{} - return pack -} - -func (this *CSSpreadBindHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error { - logger.Logger.Trace("CSSpreadBindHandler Process recv ", data) - if msg, ok := data.(*player_proto.CSSpreadBind); ok { - p := PlayerMgrSington.GetPlayer(sid) - if p == nil { - logger.Logger.Warn("CSSpreadBindHandler p == nil") - return nil - } - - sendPack := func(opCode player_proto.OpResultCode, parentId int32) { - pack := &player_proto.SCSpreadBind{ - OpRetCode: opCode, - ParentId: msg.ParentId, - } - p.SendToClient(int(player_proto.PlayerPacketID_PACKET_SC_SPREADBIND), pack) - return - } - - parentId := msg.GetParentId() - parent := PlayerMgrSington.GetPlayerBySnId(parentId) - if parent != nil { - if parent.Platform != p.Platform { - sendPack(player_proto.OpResultCode_OPRC_InviterIdNotExist, 0) - return nil - } - if parent.Tel == "" { - sendPack(player_proto.OpResultCode_OPRC_InviterNoBind, 0) - return nil - } - } - - if model.GameParamData.InvitePromoterBind && p.BeUnderAgentCode != "" && p.BeUnderAgentCode != "0" { - sendPack(player_proto.OpResultCode_OPRC_HadSpreadInviterId, 0) - return nil - } - - if p.InviterId != 0 { - sendPack(player_proto.OpResultCode_OPRC_HadSpreadInviterId, 0) - return nil - } - var promoterCfg *PromoterConfig - upPromoterID := "" - opCode := player_proto.OpResultCode_OPRC_Sucess - tag := int32(0) - pAgentCode := "" - PlayerCacheMgrSingleton.Get(p.Platform, parentId, func(ppd *PlayerCacheItem, asyn, isnew bool) { - if ppd == nil || ppd.Platform != p.Platform { - opCode = player_proto.OpResultCode_OPRC_InviterIdNotExist - sendPack(opCode, parentId) - return - } - - if ppd.Tel == "" { - opCode = player_proto.OpResultCode_OPRC_InviterNoBind - sendPack(opCode, parentId) - return - } - - pAgentCode = ppd.BeUnderAgentCode - key, err := GetPromoterKey(0, pAgentCode, "") - if err == nil { - upPromoterID = pAgentCode - promoterCfg = PromoterMgrSington.GetConfig(key) - } - - task.New(nil, task.CallableWrapper(func(o *basic.Object) interface{} { - tag, err = webapi.API_PushSpreadLink(p.SnId, p.Platform, p.PackageID, int(parentId), 1, 1, common.GetAppId()) - if (err != nil || tag != 0) && !common.Config.IsDevMode { - logger.Logger.Errorf("API_PushSpreadLink error: %v tag: %v", err, tag) - if tag == 101 { //闭环 - opCode = player_proto.OpResultCode_OPRC_SpreadBindClosedLoop - } else { - opCode = player_proto.OpResultCode_OPRC_SpreadBindFailed - } - return nil - } else { - p.InviterId = parentId - p.dirty = true - if promoterCfg != nil { - if promoterCfg.IsInviteRoot > 0 { - p.BeUnderAgentCode = upPromoterID - } - } - - err = model.UpdatePlayerPackageIdByStr(p.SnId, p.PackageID, p.Platform, p.Channel, p.BeUnderAgentCode, p.InviterId, p.PromoterTree) - } - return err - }), task.CompleteNotifyWrapper(func(data interface{}, t task.Task) { - if opCode == player_proto.OpResultCode_OPRC_Sucess { - //actRandCoinMgr.OnPlayerInvite(p.Platform, parentId) - //actRandCoinMgr.tempBind[p.SnId] = time.Now().Unix() - - } - sendPack(opCode, parentId) - }), "API_PushSpreadLink").Start() - - }, false) - } - return nil -} - -//type CSBindPromoterPacketFactory struct { -//} -// -//type CSBindPromoterHandler struct { -//} -// -//func (this *CSBindPromoterPacketFactory) CreatePacket() interface{} { -// pack := &player_proto.CSBindPromoter{} -// return pack -//} -// -//func (this *CSBindPromoterHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error { -// logger.Logger.Trace("CSBindPromoterHandler Process recv ", data) -// if msg, ok := data.(*player_proto.CSBindPromoter); ok { -// p := PlayerMgrSington.GetPlayer(sid) -// if p == nil { -// logger.Logger.Warn("CSBindPromoterHandler p == nil") -// return nil -// } -// -// sendPack := func(opCode player_proto.OpResultCode, parentId int32) { -// pack := &player_proto.SCBindPromoter{ -// OpRetCode: opCode, -// Promoter: msg.Promoter, -// } -// p.SendToClient(int(player_proto.PlayerPacketID_PACKET_SC_BINDPROMOTER), pack) -// return -// } -// -// promoter := msg.GetPromoter() -// -// info, ok := PlatformMgrSingleton.PromoterList[promoter] -// if !ok { -// sendPack(player_proto.OpResultCode_OPRC_NoPromotor, 0) -// return nil -// } -// -// plt := PlatformMgrSingleton.GetPlatform(p.Platform) -// if plt == nil { -// sendPack(player_proto.OpResultCode_OPRC_NoPlatform, 0) -// return nil -// } -// -// if !plt.IsCanUserBindPromoter { -// sendPack(player_proto.OpResultCode_OPRC_CantUserBind, 0) -// return nil -// } -// -// if p.BeUnderAgentCode != "" && p.BeUnderAgentCode != "0" { -// sendPack(player_proto.OpResultCode_OPRC_PromoterHasBind, 0) -// return nil -// } -// -// if promoter == "" || promoter == "0" { -// sendPack(player_proto.OpResultCode_OPRC_CantUserBind, 0) -// return nil -// } -// -// if info.Platform != p.Platform { -// sendPack(player_proto.OpResultCode_OPRC_PlatformNoPromoter, 0) -// return nil -// } -// if plt.UserBindPromoterPrize > 0 && !p.layered[common.ActId_PromoterBind] { -// p.AddCoin(int64(plt.UserBindPromoterPrize), common.GainWay_PromoterBind, "system", promoter) -// p.ReportSystemGiveEvent(plt.UserBindPromoterPrize, common.GainWay_PromoterBind, true) -// } -// -// p.BeUnderAgentCode = promoter -// p.PackageID = info.Tag -// p.dirty = true -// sendPack(player_proto.OpResultCode_OPRC_Sucess, 0) -// -// p.SendPlatformCanUsePromoterBind() -// task.New(nil, task.CallableWrapper(func(o *basic.Object) interface{} { -// _, _ = webapi.API_PushInvitePromoter(p.SnId, promoter, common.GetAppId()) -// return nil -// }), task.CompleteNotifyWrapper(func(data interface{}, t task.Task) { -// -// }), "API_PushInviteLinkPromoter").Start() -// -// } -// return nil -//} - -type CSGenCustomerTokenPacketFactory struct { -} - -type CSGenCustomerTokenHandler struct { -} - -func (this *CSGenCustomerTokenPacketFactory) CreatePacket() interface{} { - pack := &player_proto.CSGenCustomerToken{} - return pack -} - -func (this *CSGenCustomerTokenHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error { - logger.Logger.Trace("CSGenCustomerTokenHandler Process recv ", data) - if _, ok := data.(*player_proto.CSGenCustomerToken); ok { - p := PlayerMgrSington.GetPlayer(sid) - if p == nil { - logger.Logger.Warn("CSGenCustomerTokenHandler p == nil") - return nil - } - - token := p.GenCustomerToken() - PlayerMgrSington.UpdatePlayerToken(p, token) - pack := &player_proto.SCGenCustomerToken{Token: proto.String(token)} - proto.SetDefaults(pack) - p.SendToClient(int(player_proto.PlayerPacketID_PACKET_SC_GENCUSTOMTOKEN), pack) - } - return nil -} - type CSCustomerNewMsgAckPacketFactory struct { } @@ -2127,9 +1819,6 @@ func init() { //获取邀请码 common.RegisterHandler(int(player_proto.PlayerPacketID_PACKET_CS_INVITECODE), &CSInviteCodePlayerHandler{}) netlib.RegisterFactory(int(player_proto.PlayerPacketID_PACKET_CS_INVITECODE), &CSInviteCodePlayerPacketFactory{}) - //生成客服会话token - common.RegisterHandler(int(player_proto.PlayerPacketID_PACKET_CS_GENCUSTOMTOKEN), &CSGenCustomerTokenHandler{}) - netlib.RegisterFactory(int(player_proto.PlayerPacketID_PACKET_CS_GENCUSTOMTOKEN), &CSGenCustomerTokenPacketFactory{}) //客服离线消息接收ack common.RegisterHandler(int(player_proto.PlayerPacketID_PACKET_CS_CUSTOMNEWMSGACK), &CSCustomerNewMsgAckHandler{}) netlib.RegisterFactory(int(player_proto.PlayerPacketID_PACKET_CS_CUSTOMNEWMSGACK), &CSCustomerNewMsgAckPacketFactory{}) diff --git a/worldsrv/action_welfare.go b/worldsrv/action_welfare.go index 7f305b6..abe2225 100644 --- a/worldsrv/action_welfare.go +++ b/worldsrv/action_welfare.go @@ -1,9 +1,6 @@ package main import ( - "encoding/base64" - "fmt" - "mongo.games.com/goserver/core/basic" "mongo.games.com/goserver/core/logger" "mongo.games.com/goserver/core/netlib" @@ -11,8 +8,11 @@ import ( "mongo.games.com/game/common" "mongo.games.com/game/model" + "mongo.games.com/game/proto" + webapi_proto "mongo.games.com/game/protocol/webapi" "mongo.games.com/game/protocol/welfare" "mongo.games.com/game/srvdata" + "mongo.games.com/game/webapi" ) // 救济金 @@ -303,18 +303,36 @@ func CSInviteInfo(s *netlib.Session, packetid int, data interface{}, sid int64) return nil } - ul := fmt.Sprintf("%s?user=%s", model.GameParamData.InviteUrl, base64.StdEncoding.EncodeToString([]byte(fmt.Sprintf("%s|%d", p.Platform, p.SnId)))) + var res []byte + var err error + task.New(nil, task.CallableWrapper(func(o *basic.Object) interface{} { + req := &webapi_proto.ASPlayerInviteLink{ + Platform: p.Platform, + SnId: p.SnId, + } + res, err = webapi.ApiGetInviteLink(common.GetAppId(), req) + return nil + }), task.CompleteNotifyWrapper(func(i interface{}, t task.Task) { + info := webapi_proto.SAPlayerInviteLink{} + link := "" + if err != nil || res == nil { + logger.Logger.Errorf("ApiGetInviteLink err %v or not return", err) + } else { + proto.Unmarshal(res, &info) + logger.Logger.Infof("ApiGetInviteLink info %v", info.String()) + link = info.Link + } - ret := &welfare.SCInviteInfo{ - Num: p.InviteNum, - Code: p.InviteCode, - InviteUrl: ul, - Score: p.InviteScore, - OtherCode: p.OtherCode, - } - - p.SendToClient(int(welfare.SPacketID_PACKET_SCInviteInfo), ret) - logger.Logger.Tracef("SCInviteInfo %v", ret) + ret := &welfare.SCInviteInfo{ + Num: p.InviteNum, + Code: p.InviteCode, + InviteUrl: link, + Score: p.InviteScore, + OtherCode: p.OtherCode, + } + p.SendToClient(int(welfare.SPacketID_PACKET_SCInviteInfo), ret) + logger.Logger.Tracef("SCInviteInfo %v", ret) + })).Start() return nil } diff --git a/worldsrv/etcd.go b/worldsrv/etcd.go index 5c8c0ea..208dab2 100644 --- a/worldsrv/etcd.go +++ b/worldsrv/etcd.go @@ -35,6 +35,8 @@ func init() { etcd.Register(etcd.ETCDKEY_SHOP_ITEM, webapi.ItemShopList{}, platformConfigEvent) // 集卡活动 etcd.Register(etcd.ETCDKEY_ACT_Collect, webapi.WelfareCollectConfig{}, platformConfigEvent) + // 启动兑换功能的渠道 + etcd.Register(etcd.ETCDKEY_EXCHANGECHANNEL, webapi.ExchangeChannelConfig{}, platformConfigEvent) } func platformConfigEvent(ctx context.Context, completeKey string, isInit bool, event *clientv3.Event, data interface{}) { @@ -125,6 +127,16 @@ func platformConfigEvent(ctx context.Context, completeKey string, isInit bool, e } else { TournamentMgr.UpdateData(false, config) } + case *webapi.ExchangeChannelConfig: + PlatformMgrSingleton.GetConfig(config.Platform).ExchangeChannelConfig = config + if !isInit { + // 通知变更 + for _, v := range PlayerMgrSington.playerOfPlatform[config.Platform] { + if v != nil && v.IsOnLine() { + v.SendToClient(int(hallproto.GameHallPacketID_PACKET_SCExchangeChannel), &hallproto.SCExchangeChannel{}) + } + } + } default: logger.Logger.Errorf("etcd completeKey:%s, Not processed", completeKey) diff --git a/worldsrv/invitecode.go b/worldsrv/invitecode.go index 9d17ecd..74eb10f 100644 --- a/worldsrv/invitecode.go +++ b/worldsrv/invitecode.go @@ -30,20 +30,29 @@ func SaveInviteScore(data *model.InviteScore) { return nil }), task.CompleteNotifyWrapper(func(i interface{}, t task.Task) { p := PlayerMgrSington.GetPlayerBySnId(data.InviteSnId) - if err == nil && p != nil && data.Score != 0 { - if data.Score < 0 { - if -data.Score > p.InviteScore { - data.Score = -p.InviteScore + if err == nil && p != nil { + if data.Score != 0 { + if data.Score < 0 { + if -data.Score > p.InviteScore { + data.Score = -p.InviteScore + } + } + p.InviteScore += data.Score + p.dirty = true + + // 更新邀请任务进度 + if data.Score > 0 { + TaskSubjectSingleton.Touch(common.TaskTypeInviteScore, &TaskData{ + SnId: p.SnId, + Num: data.Score, + }) } } - p.InviteScore += data.Score - p.dirty = true - // 更新邀请任务进度 - if data.Score > 0 { - TaskSubjectSingleton.Touch(common.TaskTypeInviteScore, &TaskData{ + if data.Money > 0 { + TaskSubjectSingleton.Touch(common.TaskTypeInviteRecharge, &TaskData{ SnId: p.SnId, - Num: data.Score, + Num: data.Money, }) } } @@ -51,10 +60,10 @@ func SaveInviteScore(data *model.InviteScore) { } func GetInviteScore(platform string, snid int32) { - var n, z int64 + var n, z, money int64 var err error task.New(nil, task.CallableWrapper(func(o *basic.Object) interface{} { - n, z, err = model.GetInviteScore(platform, snid) + n, z, money, err = model.GetInviteScore(platform, snid) if err != nil { logger.Logger.Errorf("GetInviteScore error:%v", err) return err @@ -72,6 +81,12 @@ func GetInviteScore(platform string, snid int32) { SnId: p.SnId, Num: z, }) + + p.ResetTaskN(common.TaskTypeInviteRecharge) + TaskSubjectSingleton.Touch(common.TaskTypeInviteRecharge, &TaskData{ + SnId: p.SnId, + Num: money, + }) } })).StartByFixExecutor(fmt.Sprintf("invite_score_%v", snid)) } diff --git a/worldsrv/player.go b/worldsrv/player.go index f1084ca..fd71bcc 100644 --- a/worldsrv/player.go +++ b/worldsrv/player.go @@ -4438,8 +4438,9 @@ func (this *Player) InviteTask(scoreType int32, gameId int32, n int64) { SnId: this.SnId, InviteSnId: this.InviteSnId, Tp: scoreType, - Score: a * 10000, + Score: a * common.InviteScoreRecharge, Ts: time.Now().UnixNano(), + Money: n, }) case common.InviteScoreTypeGameTimes: diff --git a/worldsrv/taskmgr.go b/worldsrv/taskmgr.go index fab15fb..0ef1159 100644 --- a/worldsrv/taskmgr.go +++ b/worldsrv/taskmgr.go @@ -245,4 +245,5 @@ func init() { TaskSubjectSingleton.Attach(common.TaskTypeFirstLogin, taskHandle) TaskSubjectSingleton.Attach(common.TaskTypeInviteNum, taskHandle) TaskSubjectSingleton.Attach(common.TaskTypeTurnplate, taskHandle) + TaskSubjectSingleton.Attach(common.TaskTypeInviteRecharge, taskHandle) } diff --git a/worldsrv/welfmgr.go b/worldsrv/welfmgr.go index ccfad96..34add70 100644 --- a/worldsrv/welfmgr.go +++ b/worldsrv/welfmgr.go @@ -1137,7 +1137,6 @@ func (this *WelfareMgr) FirstPayInfo(p *Player) { break } } - } } logger.Logger.Tracef("FirstPayInfo snid: %v pack: %v", p.SnId, pack) diff --git a/xlsx/DB_Createroom.xlsx b/xlsx/DB_Createroom.xlsx index 64f1ec5..16f0b9c 100644 Binary files a/xlsx/DB_Createroom.xlsx and b/xlsx/DB_Createroom.xlsx differ diff --git a/xlsx/DB_GameItem.xlsx b/xlsx/DB_GameItem.xlsx index 261d937..9edc31f 100644 Binary files a/xlsx/DB_GameItem.xlsx and b/xlsx/DB_GameItem.xlsx differ diff --git a/xlsx/DB_Game_Drop.xlsx b/xlsx/DB_Game_Drop.xlsx index c893533..4baa28c 100644 Binary files a/xlsx/DB_Game_Drop.xlsx and b/xlsx/DB_Game_Drop.xlsx differ diff --git a/xlsx/DB_Task.xlsx b/xlsx/DB_Task.xlsx index fb8b3f6..2115ef3 100644 Binary files a/xlsx/DB_Task.xlsx and b/xlsx/DB_Task.xlsx differ