game_sync/protocol/webapi/common.pb.go

11490 lines
403 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.27.1-devel
// protoc v3.19.4
// source: common.proto
package webapi
import (
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
server "mongo.games.com/game/protocol/server"
reflect "reflect"
sync "sync"
)
const (
// Verify that this generated code is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
// Verify that runtime/protoimpl is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
// 私有化mysql数据库
type MysqlDbSetting struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
HostName string `protobuf:"bytes,1,opt,name=HostName,proto3" json:"HostName,omitempty"` // ip/域名
HostPort int32 `protobuf:"varint,2,opt,name=HostPort,proto3" json:"HostPort,omitempty"` // 端口
Database string `protobuf:"bytes,3,opt,name=Database,proto3" json:"Database,omitempty"` // 数据库名
Username string `protobuf:"bytes,4,opt,name=Username,proto3" json:"Username,omitempty"` // 用户名
Password string `protobuf:"bytes,5,opt,name=Password,proto3" json:"Password,omitempty"` // 数据库密码 TODO:加密存储
Options string `protobuf:"bytes,6,opt,name=Options,proto3" json:"Options,omitempty"` // 附加参数
}
func (x *MysqlDbSetting) Reset() {
*x = MysqlDbSetting{}
if protoimpl.UnsafeEnabled {
mi := &file_common_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *MysqlDbSetting) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*MysqlDbSetting) ProtoMessage() {}
func (x *MysqlDbSetting) ProtoReflect() protoreflect.Message {
mi := &file_common_proto_msgTypes[0]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use MysqlDbSetting.ProtoReflect.Descriptor instead.
func (*MysqlDbSetting) Descriptor() ([]byte, []int) {
return file_common_proto_rawDescGZIP(), []int{0}
}
func (x *MysqlDbSetting) GetHostName() string {
if x != nil {
return x.HostName
}
return ""
}
func (x *MysqlDbSetting) GetHostPort() int32 {
if x != nil {
return x.HostPort
}
return 0
}
func (x *MysqlDbSetting) GetDatabase() string {
if x != nil {
return x.Database
}
return ""
}
func (x *MysqlDbSetting) GetUsername() string {
if x != nil {
return x.Username
}
return ""
}
func (x *MysqlDbSetting) GetPassword() string {
if x != nil {
return x.Password
}
return ""
}
func (x *MysqlDbSetting) GetOptions() string {
if x != nil {
return x.Options
}
return ""
}
// 私有化mongo数据库
type MongoDbSetting struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
HostName string `protobuf:"bytes,1,opt,name=HostName,proto3" json:"HostName,omitempty"` // ip/域名
HostPort int32 `protobuf:"varint,2,opt,name=HostPort,proto3" json:"HostPort,omitempty"` // 端口
Database string `protobuf:"bytes,3,opt,name=Database,proto3" json:"Database,omitempty"` // 数据库名
Username string `protobuf:"bytes,4,opt,name=Username,proto3" json:"Username,omitempty"` // 用户名
Password string `protobuf:"bytes,5,opt,name=Password,proto3" json:"Password,omitempty"` // 数据库密码 TODO:加密存储
Options string `protobuf:"bytes,6,opt,name=Options,proto3" json:"Options,omitempty"` // 附加参数
CfgSign string `protobuf:"bytes,7,opt,name=CfgSign,proto3" json:"CfgSign,omitempty"` // 配置签名,防止来自外部的恶意修改
CfgVer int32 `protobuf:"varint,8,opt,name=CfgVer,proto3" json:"CfgVer,omitempty"` // 配置版本号,版本号提升可以显式的让业务层重建连接池
}
func (x *MongoDbSetting) Reset() {
*x = MongoDbSetting{}
if protoimpl.UnsafeEnabled {
mi := &file_common_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *MongoDbSetting) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*MongoDbSetting) ProtoMessage() {}
func (x *MongoDbSetting) ProtoReflect() protoreflect.Message {
mi := &file_common_proto_msgTypes[1]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use MongoDbSetting.ProtoReflect.Descriptor instead.
func (*MongoDbSetting) Descriptor() ([]byte, []int) {
return file_common_proto_rawDescGZIP(), []int{1}
}
func (x *MongoDbSetting) GetHostName() string {
if x != nil {
return x.HostName
}
return ""
}
func (x *MongoDbSetting) GetHostPort() int32 {
if x != nil {
return x.HostPort
}
return 0
}
func (x *MongoDbSetting) GetDatabase() string {
if x != nil {
return x.Database
}
return ""
}
func (x *MongoDbSetting) GetUsername() string {
if x != nil {
return x.Username
}
return ""
}
func (x *MongoDbSetting) GetPassword() string {
if x != nil {
return x.Password
}
return ""
}
func (x *MongoDbSetting) GetOptions() string {
if x != nil {
return x.Options
}
return ""
}
func (x *MongoDbSetting) GetCfgSign() string {
if x != nil {
return x.CfgSign
}
return ""
}
func (x *MongoDbSetting) GetCfgVer() int32 {
if x != nil {
return x.CfgVer
}
return 0
}
// 排行榜开关
type RankSwitch struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Asset int32 `protobuf:"varint,1,opt,name=Asset,proto3" json:"Asset,omitempty"` //财富榜
Recharge int32 `protobuf:"varint,2,opt,name=Recharge,proto3" json:"Recharge,omitempty"` //充值榜
Exchange int32 `protobuf:"varint,3,opt,name=Exchange,proto3" json:"Exchange,omitempty"` //兑换榜
Profit int32 `protobuf:"varint,4,opt,name=Profit,proto3" json:"Profit,omitempty"` //盈利榜
}
func (x *RankSwitch) Reset() {
*x = RankSwitch{}
if protoimpl.UnsafeEnabled {
mi := &file_common_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *RankSwitch) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*RankSwitch) ProtoMessage() {}
func (x *RankSwitch) ProtoReflect() protoreflect.Message {
mi := &file_common_proto_msgTypes[2]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use RankSwitch.ProtoReflect.Descriptor instead.
func (*RankSwitch) Descriptor() ([]byte, []int) {
return file_common_proto_rawDescGZIP(), []int{2}
}
func (x *RankSwitch) GetAsset() int32 {
if x != nil {
return x.Asset
}
return 0
}
func (x *RankSwitch) GetRecharge() int32 {
if x != nil {
return x.Recharge
}
return 0
}
func (x *RankSwitch) GetExchange() int32 {
if x != nil {
return x.Exchange
}
return 0
}
func (x *RankSwitch) GetProfit() int32 {
if x != nil {
return x.Profit
}
return 0
}
//俱乐部配置
type ClubConfig struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
CreationCoin int64 `protobuf:"varint,1,opt,name=CreationCoin,proto3" json:"CreationCoin,omitempty"` //创建俱乐部金额
IncreaseCoin int64 `protobuf:"varint,2,opt,name=IncreaseCoin,proto3" json:"IncreaseCoin,omitempty"` //升级俱乐部金额
ClubInitPlayerNum int32 `protobuf:"varint,3,opt,name=ClubInitPlayerNum,proto3" json:"ClubInitPlayerNum,omitempty"` //俱乐部初始人数
IncreasePlayerNum int32 `protobuf:"varint,4,opt,name=IncreasePlayerNum,proto3" json:"IncreasePlayerNum,omitempty"` //升级人数增加
IsOpenClub bool `protobuf:"varint,5,opt,name=IsOpenClub,proto3" json:"IsOpenClub,omitempty"` //是否开放俱乐部
CreateClubCheckByManual bool `protobuf:"varint,6,opt,name=CreateClubCheckByManual,proto3" json:"CreateClubCheckByManual,omitempty"` //创建俱乐部人工审核true=手动
EditClubNoticeByManual bool `protobuf:"varint,7,opt,name=EditClubNoticeByManual,proto3" json:"EditClubNoticeByManual,omitempty"` //修改公告人工审核true=手动
CreateRoomAmount int64 `protobuf:"varint,8,opt,name=CreateRoomAmount,proto3" json:"CreateRoomAmount,omitempty"` //创建房间金额(分/局)
GiveCoinRate []int64 `protobuf:"varint,9,rep,packed,name=GiveCoinRate,proto3" json:"GiveCoinRate,omitempty"` //会长充值额外赠送比例
}
func (x *ClubConfig) Reset() {
*x = ClubConfig{}
if protoimpl.UnsafeEnabled {
mi := &file_common_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ClubConfig) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ClubConfig) ProtoMessage() {}
func (x *ClubConfig) ProtoReflect() protoreflect.Message {
mi := &file_common_proto_msgTypes[3]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ClubConfig.ProtoReflect.Descriptor instead.
func (*ClubConfig) Descriptor() ([]byte, []int) {
return file_common_proto_rawDescGZIP(), []int{3}
}
func (x *ClubConfig) GetCreationCoin() int64 {
if x != nil {
return x.CreationCoin
}
return 0
}
func (x *ClubConfig) GetIncreaseCoin() int64 {
if x != nil {
return x.IncreaseCoin
}
return 0
}
func (x *ClubConfig) GetClubInitPlayerNum() int32 {
if x != nil {
return x.ClubInitPlayerNum
}
return 0
}
func (x *ClubConfig) GetIncreasePlayerNum() int32 {
if x != nil {
return x.IncreasePlayerNum
}
return 0
}
func (x *ClubConfig) GetIsOpenClub() bool {
if x != nil {
return x.IsOpenClub
}
return false
}
func (x *ClubConfig) GetCreateClubCheckByManual() bool {
if x != nil {
return x.CreateClubCheckByManual
}
return false
}
func (x *ClubConfig) GetEditClubNoticeByManual() bool {
if x != nil {
return x.EditClubNoticeByManual
}
return false
}
func (x *ClubConfig) GetCreateRoomAmount() int64 {
if x != nil {
return x.CreateRoomAmount
}
return 0
}
func (x *ClubConfig) GetGiveCoinRate() []int64 {
if x != nil {
return x.GiveCoinRate
}
return nil
}
type ThirdGame struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id int32 `protobuf:"varint,1,opt,name=Id,proto3" json:"Id,omitempty"`
Merchant int32 `protobuf:"varint,2,opt,name=Merchant,proto3" json:"Merchant,omitempty"` // 状态 0/1
}
func (x *ThirdGame) Reset() {
*x = ThirdGame{}
if protoimpl.UnsafeEnabled {
mi := &file_common_proto_msgTypes[4]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ThirdGame) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ThirdGame) ProtoMessage() {}
func (x *ThirdGame) ProtoReflect() protoreflect.Message {
mi := &file_common_proto_msgTypes[4]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ThirdGame.ProtoReflect.Descriptor instead.
func (*ThirdGame) Descriptor() ([]byte, []int) {
return file_common_proto_rawDescGZIP(), []int{4}
}
func (x *ThirdGame) GetId() int32 {
if x != nil {
return x.Id
}
return 0
}
func (x *ThirdGame) GetMerchant() int32 {
if x != nil {
return x.Merchant
}
return 0
}
// 平台结构
type Platform struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
PlatformName string `protobuf:"bytes,1,opt,name=PlatformName,proto3" json:"PlatformName,omitempty"` // 平台名称
Isolated bool `protobuf:"varint,2,opt,name=Isolated,proto3" json:"Isolated,omitempty"` //是否独立平台
Disabled bool `protobuf:"varint,3,opt,name=Disabled,proto3" json:"Disabled,omitempty"` //是否关闭
Id int32 `protobuf:"varint,4,opt,name=Id,proto3" json:"Id,omitempty"` //平台ID
CustomService string `protobuf:"bytes,5,opt,name=CustomService,proto3" json:"CustomService,omitempty"` //客服系统链接
BindOption int32 `protobuf:"varint,6,opt,name=BindOption,proto3" json:"BindOption,omitempty"` //平台用户绑定方式 位运算 微信|支付宝|银行卡
ServiceFlag bool `protobuf:"varint,7,opt,name=ServiceFlag,proto3" json:"ServiceFlag,omitempty"` //是否支持浏览器跳转 0=否 1=是
UpgradeAccountGiveCoin int32 `protobuf:"varint,8,opt,name=UpgradeAccountGiveCoin,proto3" json:"UpgradeAccountGiveCoin,omitempty"` //升级账号奖励金币
NewAccountGiveCoin int32 `protobuf:"varint,9,opt,name=NewAccountGiveCoin,proto3" json:"NewAccountGiveCoin,omitempty"` //新账号奖励金币
PerBankNoLimitAccount int32 `protobuf:"varint,10,opt,name=PerBankNoLimitAccount,proto3" json:"PerBankNoLimitAccount,omitempty"` //同一银行卡号绑定用户数量限制
ExchangeMin int32 `protobuf:"varint,11,opt,name=ExchangeMin,proto3" json:"ExchangeMin,omitempty"` //最低兑换金额
ExchangeLimit int32 `protobuf:"varint,12,opt,name=ExchangeLimit,proto3" json:"ExchangeLimit,omitempty"` // 兑换限制(身上携带)
ExchangeTax int32 `protobuf:"varint,13,opt,name=ExchangeTax,proto3" json:"ExchangeTax,omitempty"` //兑换税收(万分比)
ExchangeForceTax int32 `protobuf:"varint,14,opt,name=ExchangeForceTax,proto3" json:"ExchangeForceTax,omitempty"` //强制兑换税收
ExchangeFlow int32 `protobuf:"varint,15,opt,name=ExchangeFlow,proto3" json:"ExchangeFlow,omitempty"` // 兑换流水比例
ExchangeGiveFlow int32 `protobuf:"varint,16,opt,name=ExchangeGiveFlow,proto3" json:"ExchangeGiveFlow,omitempty"` //赠送兑换流水比例
ExchangeFlag int32 `protobuf:"varint,17,opt,name=ExchangeFlag,proto3" json:"ExchangeFlag,omitempty"` //兑换标记 二进制 第一位:兑换税收 第二位:流水比例
ExchangeVer int32 `protobuf:"varint,18,opt,name=ExchangeVer,proto3" json:"ExchangeVer,omitempty"` //兑换版本
ExchangeMultiple int32 `protobuf:"varint,19,opt,name=ExchangeMultiple,proto3" json:"ExchangeMultiple,omitempty"` //兑换基数
VipRange []int32 `protobuf:"varint,20,rep,packed,name=VipRange,proto3" json:"VipRange,omitempty"` // VIP充值区间
SpreadConfig int32 `protobuf:"varint,21,opt,name=SpreadConfig,proto3" json:"SpreadConfig,omitempty"` //0:等级返点 1:保底返佣
Leaderboard *RankSwitch `protobuf:"bytes,22,opt,name=Leaderboard,proto3" json:"Leaderboard,omitempty"` //排行榜开关
ClubConfig *ClubConfig `protobuf:"bytes,24,opt,name=ClubConfig,proto3" json:"ClubConfig,omitempty"` //俱乐部配置
VerifyCodeType int32 `protobuf:"varint,25,opt,name=VerifyCodeType,proto3" json:"VerifyCodeType,omitempty"` //验证码方式 短信,随机,滑块
ThirdGameMerchant []*ThirdGame `protobuf:"bytes,26,rep,name=ThirdGameMerchant,proto3" json:"ThirdGameMerchant,omitempty"` //三方游戏平台状态
CustomType int32 `protobuf:"varint,27,opt,name=CustomType,proto3" json:"CustomType,omitempty"` //客服类型 0 live800 1 美洽 2 CC客服
//bool NeedDeviceInfo = 28; //需要用户设备码
NeedSameName bool `protobuf:"varint,29,opt,name=NeedSameName,proto3" json:"NeedSameName,omitempty"` //绑定的银行卡和支付宝用户名字需要相同
ExchangeBankMax int32 `protobuf:"varint,30,opt,name=ExchangeBankMax,proto3" json:"ExchangeBankMax,omitempty"` //银行卡最大兑换金额 0不限制
ExchangeAlipayMax int32 `protobuf:"varint,31,opt,name=ExchangeAlipayMax,proto3" json:"ExchangeAlipayMax,omitempty"` //支付宝最大兑换金额 0不限制
PerBankNoLimitName int32 `protobuf:"varint,32,opt,name=PerBankNoLimitName,proto3" json:"PerBankNoLimitName,omitempty"` //银行卡名字数量限制
IsCanUserBindPromoter bool `protobuf:"varint,33,opt,name=IsCanUserBindPromoter,proto3" json:"IsCanUserBindPromoter,omitempty"` //是否允许用户手动绑定推广员
UserBindPromoterPrize int32 `protobuf:"varint,34,opt,name=UserBindPromoterPrize,proto3" json:"UserBindPromoterPrize,omitempty"` //手动绑定奖励
MerchantKey string `protobuf:"bytes,35,opt,name=MerchantKey,proto3" json:"MerchantKey,omitempty"` //商户秘钥
BindTelReward map[int32]int64 `protobuf:"bytes,36,rep,name=BindTelReward,proto3" json:"BindTelReward,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` // 绑定手机奖励奖励id数量
}
func (x *Platform) Reset() {
*x = Platform{}
if protoimpl.UnsafeEnabled {
mi := &file_common_proto_msgTypes[5]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Platform) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Platform) ProtoMessage() {}
func (x *Platform) ProtoReflect() protoreflect.Message {
mi := &file_common_proto_msgTypes[5]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Platform.ProtoReflect.Descriptor instead.
func (*Platform) Descriptor() ([]byte, []int) {
return file_common_proto_rawDescGZIP(), []int{5}
}
func (x *Platform) GetPlatformName() string {
if x != nil {
return x.PlatformName
}
return ""
}
func (x *Platform) GetIsolated() bool {
if x != nil {
return x.Isolated
}
return false
}
func (x *Platform) GetDisabled() bool {
if x != nil {
return x.Disabled
}
return false
}
func (x *Platform) GetId() int32 {
if x != nil {
return x.Id
}
return 0
}
func (x *Platform) GetCustomService() string {
if x != nil {
return x.CustomService
}
return ""
}
func (x *Platform) GetBindOption() int32 {
if x != nil {
return x.BindOption
}
return 0
}
func (x *Platform) GetServiceFlag() bool {
if x != nil {
return x.ServiceFlag
}
return false
}
func (x *Platform) GetUpgradeAccountGiveCoin() int32 {
if x != nil {
return x.UpgradeAccountGiveCoin
}
return 0
}
func (x *Platform) GetNewAccountGiveCoin() int32 {
if x != nil {
return x.NewAccountGiveCoin
}
return 0
}
func (x *Platform) GetPerBankNoLimitAccount() int32 {
if x != nil {
return x.PerBankNoLimitAccount
}
return 0
}
func (x *Platform) GetExchangeMin() int32 {
if x != nil {
return x.ExchangeMin
}
return 0
}
func (x *Platform) GetExchangeLimit() int32 {
if x != nil {
return x.ExchangeLimit
}
return 0
}
func (x *Platform) GetExchangeTax() int32 {
if x != nil {
return x.ExchangeTax
}
return 0
}
func (x *Platform) GetExchangeForceTax() int32 {
if x != nil {
return x.ExchangeForceTax
}
return 0
}
func (x *Platform) GetExchangeFlow() int32 {
if x != nil {
return x.ExchangeFlow
}
return 0
}
func (x *Platform) GetExchangeGiveFlow() int32 {
if x != nil {
return x.ExchangeGiveFlow
}
return 0
}
func (x *Platform) GetExchangeFlag() int32 {
if x != nil {
return x.ExchangeFlag
}
return 0
}
func (x *Platform) GetExchangeVer() int32 {
if x != nil {
return x.ExchangeVer
}
return 0
}
func (x *Platform) GetExchangeMultiple() int32 {
if x != nil {
return x.ExchangeMultiple
}
return 0
}
func (x *Platform) GetVipRange() []int32 {
if x != nil {
return x.VipRange
}
return nil
}
func (x *Platform) GetSpreadConfig() int32 {
if x != nil {
return x.SpreadConfig
}
return 0
}
func (x *Platform) GetLeaderboard() *RankSwitch {
if x != nil {
return x.Leaderboard
}
return nil
}
func (x *Platform) GetClubConfig() *ClubConfig {
if x != nil {
return x.ClubConfig
}
return nil
}
func (x *Platform) GetVerifyCodeType() int32 {
if x != nil {
return x.VerifyCodeType
}
return 0
}
func (x *Platform) GetThirdGameMerchant() []*ThirdGame {
if x != nil {
return x.ThirdGameMerchant
}
return nil
}
func (x *Platform) GetCustomType() int32 {
if x != nil {
return x.CustomType
}
return 0
}
func (x *Platform) GetNeedSameName() bool {
if x != nil {
return x.NeedSameName
}
return false
}
func (x *Platform) GetExchangeBankMax() int32 {
if x != nil {
return x.ExchangeBankMax
}
return 0
}
func (x *Platform) GetExchangeAlipayMax() int32 {
if x != nil {
return x.ExchangeAlipayMax
}
return 0
}
func (x *Platform) GetPerBankNoLimitName() int32 {
if x != nil {
return x.PerBankNoLimitName
}
return 0
}
func (x *Platform) GetIsCanUserBindPromoter() bool {
if x != nil {
return x.IsCanUserBindPromoter
}
return false
}
func (x *Platform) GetUserBindPromoterPrize() int32 {
if x != nil {
return x.UserBindPromoterPrize
}
return 0
}
func (x *Platform) GetMerchantKey() string {
if x != nil {
return x.MerchantKey
}
return ""
}
func (x *Platform) GetBindTelReward() map[int32]int64 {
if x != nil {
return x.BindTelReward
}
return nil
}
// 游戏状态结构
type GameStatus struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
GameId int32 `protobuf:"varint,1,opt,name=GameId,proto3" json:"GameId,omitempty"` // excel 表Id
Status bool `protobuf:"varint,2,opt,name=Status,proto3" json:"Status,omitempty"` // 是否开启
}
func (x *GameStatus) Reset() {
*x = GameStatus{}
if protoimpl.UnsafeEnabled {
mi := &file_common_proto_msgTypes[6]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GameStatus) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GameStatus) ProtoMessage() {}
func (x *GameStatus) ProtoReflect() protoreflect.Message {
mi := &file_common_proto_msgTypes[6]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GameStatus.ProtoReflect.Descriptor instead.
func (*GameStatus) Descriptor() ([]byte, []int) {
return file_common_proto_rawDescGZIP(), []int{6}
}
func (x *GameStatus) GetGameId() int32 {
if x != nil {
return x.GameId
}
return 0
}
func (x *GameStatus) GetStatus() bool {
if x != nil {
return x.Status
}
return false
}
// 全局游戏配置,单独拿出来,方便扩展
type GameConfigGlobal struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
GameStatus []*GameStatus `protobuf:"bytes,1,rep,name=GameStatus,proto3" json:"GameStatus,omitempty"`
}
func (x *GameConfigGlobal) Reset() {
*x = GameConfigGlobal{}
if protoimpl.UnsafeEnabled {
mi := &file_common_proto_msgTypes[7]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GameConfigGlobal) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GameConfigGlobal) ProtoMessage() {}
func (x *GameConfigGlobal) ProtoReflect() protoreflect.Message {
mi := &file_common_proto_msgTypes[7]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GameConfigGlobal.ProtoReflect.Descriptor instead.
func (*GameConfigGlobal) Descriptor() ([]byte, []int) {
return file_common_proto_rawDescGZIP(), []int{7}
}
func (x *GameConfigGlobal) GetGameStatus() []*GameStatus {
if x != nil {
return x.GameStatus
}
return nil
}
// GameFree 需要包一层属性
type GameFree struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
GroupId int32 `protobuf:"varint,1,opt,name=GroupId,proto3" json:"GroupId,omitempty"` // 组ID
Status bool `protobuf:"varint,2,opt,name=Status,proto3" json:"Status,omitempty"` // 开关
DbGameFree *server.DB_GameFree `protobuf:"bytes,3,opt,name=DbGameFree,proto3" json:"DbGameFree,omitempty"` // excel导出结构
}
func (x *GameFree) Reset() {
*x = GameFree{}
if protoimpl.UnsafeEnabled {
mi := &file_common_proto_msgTypes[8]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GameFree) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GameFree) ProtoMessage() {}
func (x *GameFree) ProtoReflect() protoreflect.Message {
mi := &file_common_proto_msgTypes[8]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GameFree.ProtoReflect.Descriptor instead.
func (*GameFree) Descriptor() ([]byte, []int) {
return file_common_proto_rawDescGZIP(), []int{8}
}
func (x *GameFree) GetGroupId() int32 {
if x != nil {
return x.GroupId
}
return 0
}
func (x *GameFree) GetStatus() bool {
if x != nil {
return x.Status
}
return false
}
func (x *GameFree) GetDbGameFree() *server.DB_GameFree {
if x != nil {
return x.DbGameFree
}
return nil
}
// 平台级别游戏配置
type PlatformGameConfig struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
PlatformId int32 `protobuf:"varint,1,opt,name=PlatformId,proto3" json:"PlatformId,omitempty"` // 平台ID
DbGameFrees []*GameFree `protobuf:"bytes,2,rep,name=DbGameFrees,proto3" json:"DbGameFrees,omitempty"` // 游戏配置
}
func (x *PlatformGameConfig) Reset() {
*x = PlatformGameConfig{}
if protoimpl.UnsafeEnabled {
mi := &file_common_proto_msgTypes[9]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *PlatformGameConfig) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*PlatformGameConfig) ProtoMessage() {}
func (x *PlatformGameConfig) ProtoReflect() protoreflect.Message {
mi := &file_common_proto_msgTypes[9]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use PlatformGameConfig.ProtoReflect.Descriptor instead.
func (*PlatformGameConfig) Descriptor() ([]byte, []int) {
return file_common_proto_rawDescGZIP(), []int{9}
}
func (x *PlatformGameConfig) GetPlatformId() int32 {
if x != nil {
return x.PlatformId
}
return 0
}
func (x *PlatformGameConfig) GetDbGameFrees() []*GameFree {
if x != nil {
return x.DbGameFrees
}
return nil
}
// 平台数据库配置
type PlatformDbConfig struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
PlatformId int32 `protobuf:"varint,1,opt,name=PlatformId,proto3" json:"PlatformId,omitempty"` //平台ID
Mysql *MysqlDbSetting `protobuf:"bytes,2,opt,name=Mysql,proto3" json:"Mysql,omitempty"`
MongoDb *MongoDbSetting `protobuf:"bytes,3,opt,name=MongoDb,proto3" json:"MongoDb,omitempty"`
MongoDbLog *MongoDbSetting `protobuf:"bytes,4,opt,name=MongoDbLog,proto3" json:"MongoDbLog,omitempty"`
}
func (x *PlatformDbConfig) Reset() {
*x = PlatformDbConfig{}
if protoimpl.UnsafeEnabled {
mi := &file_common_proto_msgTypes[10]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *PlatformDbConfig) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*PlatformDbConfig) ProtoMessage() {}
func (x *PlatformDbConfig) ProtoReflect() protoreflect.Message {
mi := &file_common_proto_msgTypes[10]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use PlatformDbConfig.ProtoReflect.Descriptor instead.
func (*PlatformDbConfig) Descriptor() ([]byte, []int) {
return file_common_proto_rawDescGZIP(), []int{10}
}
func (x *PlatformDbConfig) GetPlatformId() int32 {
if x != nil {
return x.PlatformId
}
return 0
}
func (x *PlatformDbConfig) GetMysql() *MysqlDbSetting {
if x != nil {
return x.Mysql
}
return nil
}
func (x *PlatformDbConfig) GetMongoDb() *MongoDbSetting {
if x != nil {
return x.MongoDb
}
return nil
}
func (x *PlatformDbConfig) GetMongoDbLog() *MongoDbSetting {
if x != nil {
return x.MongoDbLog
}
return nil
}
//游戏分组配置
type GameConfigGroup struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id int32 `protobuf:"varint,1,opt,name=Id,proto3" json:"Id,omitempty"` //分组id
LogicId int32 `protobuf:"varint,2,opt,name=LogicId,proto3" json:"LogicId,omitempty"` //游戏id
DbGameFree *server.DB_GameFree `protobuf:"bytes,3,opt,name=DbGameFree,proto3" json:"DbGameFree,omitempty"` // 游戏分组配置
GroupName string `protobuf:"bytes,4,opt,name=GroupName,proto3" json:"GroupName,omitempty"` //分组标题
}
func (x *GameConfigGroup) Reset() {
*x = GameConfigGroup{}
if protoimpl.UnsafeEnabled {
mi := &file_common_proto_msgTypes[11]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GameConfigGroup) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GameConfigGroup) ProtoMessage() {}
func (x *GameConfigGroup) ProtoReflect() protoreflect.Message {
mi := &file_common_proto_msgTypes[11]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GameConfigGroup.ProtoReflect.Descriptor instead.
func (*GameConfigGroup) Descriptor() ([]byte, []int) {
return file_common_proto_rawDescGZIP(), []int{11}
}
func (x *GameConfigGroup) GetId() int32 {
if x != nil {
return x.Id
}
return 0
}
func (x *GameConfigGroup) GetLogicId() int32 {
if x != nil {
return x.LogicId
}
return 0
}
func (x *GameConfigGroup) GetDbGameFree() *server.DB_GameFree {
if x != nil {
return x.DbGameFree
}
return nil
}
func (x *GameConfigGroup) GetGroupName() string {
if x != nil {
return x.GroupName
}
return ""
}
// 包信息
type AppInfo struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id int32 `protobuf:"varint,1,opt,name=Id,proto3" json:"Id,omitempty"`
PlatformId int32 `protobuf:"varint,2,opt,name=PlatformId,proto3" json:"PlatformId,omitempty"` // 平台ID
Name string `protobuf:"bytes,3,opt,name=Name,proto3" json:"Name,omitempty"` // app名称
PackageName string `protobuf:"bytes,4,opt,name=PackageName,proto3" json:"PackageName,omitempty"` // android 包标识
BundleId string `protobuf:"bytes,5,opt,name=BundleId,proto3" json:"BundleId,omitempty"` // ios bundleid
ApkUrl string `protobuf:"bytes,6,opt,name=ApkUrl,proto3" json:"ApkUrl,omitempty"` // apk 下载地址
IpaUrl string `protobuf:"bytes,7,opt,name=IpaUrl,proto3" json:"IpaUrl,omitempty"` // ipa 下载地址
CreateTime string `protobuf:"bytes,8,opt,name=CreateTime,proto3" json:"CreateTime,omitempty"` // 创建时间
CurrencyType string `protobuf:"bytes,9,opt,name=CurrencyType,proto3" json:"CurrencyType,omitempty"` // 货币类型 USD 美元 KHR 瑞尔 VND 越南盾
CurrencyRatio int32 `protobuf:"varint,10,opt,name=CurrencyRatio,proto3" json:"CurrencyRatio,omitempty"` // 货币比例
}
func (x *AppInfo) Reset() {
*x = AppInfo{}
if protoimpl.UnsafeEnabled {
mi := &file_common_proto_msgTypes[12]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *AppInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*AppInfo) ProtoMessage() {}
func (x *AppInfo) ProtoReflect() protoreflect.Message {
mi := &file_common_proto_msgTypes[12]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use AppInfo.ProtoReflect.Descriptor instead.
func (*AppInfo) Descriptor() ([]byte, []int) {
return file_common_proto_rawDescGZIP(), []int{12}
}
func (x *AppInfo) GetId() int32 {
if x != nil {
return x.Id
}
return 0
}
func (x *AppInfo) GetPlatformId() int32 {
if x != nil {
return x.PlatformId
}
return 0
}
func (x *AppInfo) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *AppInfo) GetPackageName() string {
if x != nil {
return x.PackageName
}
return ""
}
func (x *AppInfo) GetBundleId() string {
if x != nil {
return x.BundleId
}
return ""
}
func (x *AppInfo) GetApkUrl() string {
if x != nil {
return x.ApkUrl
}
return ""
}
func (x *AppInfo) GetIpaUrl() string {
if x != nil {
return x.IpaUrl
}
return ""
}
func (x *AppInfo) GetCreateTime() string {
if x != nil {
return x.CreateTime
}
return ""
}
func (x *AppInfo) GetCurrencyType() string {
if x != nil {
return x.CurrencyType
}
return ""
}
func (x *AppInfo) GetCurrencyRatio() int32 {
if x != nil {
return x.CurrencyRatio
}
return 0
}
type PlayerData struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
SnId int32 `protobuf:"varint,1,opt,name=SnId,proto3" json:"SnId,omitempty"`
Tel string `protobuf:"bytes,2,opt,name=Tel,proto3" json:"Tel,omitempty"`
VIP int32 `protobuf:"varint,3,opt,name=VIP,proto3" json:"VIP,omitempty"`
Name string `protobuf:"bytes,4,opt,name=Name,proto3" json:"Name,omitempty"`
Coin int64 `protobuf:"varint,5,opt,name=Coin,proto3" json:"Coin,omitempty"`
CoinExchangeTotal int64 `protobuf:"varint,6,opt,name=CoinExchangeTotal,proto3" json:"CoinExchangeTotal,omitempty"` //总提现金额 兑换
CoinPayTotal int64 `protobuf:"varint,7,opt,name=CoinPayTotal,proto3" json:"CoinPayTotal,omitempty"` //在线总充值金额
CreateTime int64 `protobuf:"varint,8,opt,name=CreateTime,proto3" json:"CreateTime,omitempty"` //创建时间
DeviceId string `protobuf:"bytes,9,opt,name=DeviceId,proto3" json:"DeviceId,omitempty"` //设备id
DeviceOS string `protobuf:"bytes,10,opt,name=DeviceOS,proto3" json:"DeviceOS,omitempty"` //设备操作系统
DrawTimes int32 `protobuf:"varint,11,opt,name=DrawTimes,proto3" json:"DrawTimes,omitempty"` //平局次数
FailCoin int64 `protobuf:"varint,12,opt,name=FailCoin,proto3" json:"FailCoin,omitempty"` //总输钱数量
FailTimes int32 `protobuf:"varint,13,opt,name=FailTimes,proto3" json:"FailTimes,omitempty"` //失败次数
GameTax int64 `protobuf:"varint,14,opt,name=GameTax,proto3" json:"GameTax,omitempty"` //总游戏税收
Ip string `protobuf:"bytes,15,opt,name=Ip,proto3" json:"Ip,omitempty"`
IsRob bool `protobuf:"varint,16,opt,name=IsRob,proto3" json:"IsRob,omitempty"`
LastLoginTime int64 `protobuf:"varint,17,opt,name=LastLoginTime,proto3" json:"LastLoginTime,omitempty"` //最后登陆时间
MarkInfo string `protobuf:"bytes,18,opt,name=MarkInfo,proto3" json:"MarkInfo,omitempty"` //用来备注玩家信息
Online bool `protobuf:"varint,19,opt,name=Online,proto3" json:"Online,omitempty"`
Package string `protobuf:"bytes,20,opt,name=Package,proto3" json:"Package,omitempty"` //包信息 android:包名 ios:bundleid
PackageID string `protobuf:"bytes,21,opt,name=PackageID,proto3" json:"PackageID,omitempty"` //推广包标识 对应客户端的packagetag
Platform string `protobuf:"bytes,22,opt,name=Platform,proto3" json:"Platform,omitempty"`
RegIp string `protobuf:"bytes,23,opt,name=RegIp,proto3" json:"RegIp,omitempty"` //注册ip地址
SafeBoxCoin int64 `protobuf:"varint,24,opt,name=SafeBoxCoin,proto3" json:"SafeBoxCoin,omitempty"` //保险箱金币
WBLevel int32 `protobuf:"varint,25,opt,name=WBLevel,proto3" json:"WBLevel,omitempty"` //黑白名单等级
WinCoin int64 `protobuf:"varint,26,opt,name=WinCoin,proto3" json:"WinCoin,omitempty"` //总赢钱数量
WinTimes int32 `protobuf:"varint,27,opt,name=WinTimes,proto3" json:"WinTimes,omitempty"` //胜利次数
BlacklistType int32 `protobuf:"varint,28,opt,name=BlacklistType,proto3" json:"BlacklistType,omitempty"` //黑名单作用域和后台一样都是采用位标记的表示形式
SceneId int32 `protobuf:"varint,29,opt,name=SceneId,proto3" json:"SceneId,omitempty"` //房间号
GameFreeId int32 `protobuf:"varint,30,opt,name=GameFreeId,proto3" json:"GameFreeId,omitempty"`
Diamond int64 `protobuf:"varint,31,opt,name=Diamond,proto3" json:"Diamond,omitempty"` //钻石
RoleUnlock int32 `protobuf:"varint,32,opt,name=RoleUnlock,proto3" json:"RoleUnlock,omitempty"` //角色解锁的个数
RolesIds []int32 `protobuf:"varint,33,rep,packed,name=RolesIds,proto3" json:"RolesIds,omitempty"` //角色Id
PetUnlock int32 `protobuf:"varint,34,opt,name=PetUnlock,proto3" json:"PetUnlock,omitempty"` //宠物解锁的个数
PetsIds []int32 `protobuf:"varint,35,rep,packed,name=PetsIds,proto3" json:"PetsIds,omitempty"` //宠物Id
AccountType int32 `protobuf:"varint,36,opt,name=AccountType,proto3" json:"AccountType,omitempty"` //账户类型 0.其他 1.google 2.facebook
ChessGrade int32 `protobuf:"varint,37,opt,name=ChessGrade,proto3" json:"ChessGrade,omitempty"` // 象棋积分
AllWinCoin int64 `protobuf:"varint,38,opt,name=AllWinCoin,proto3" json:"AllWinCoin,omitempty"` // 总赢钱数量; 总赢钱数量(税前)-总输钱数量
AllFlow int64 `protobuf:"varint,39,opt,name=AllFlow,proto3" json:"AllFlow,omitempty"` // 总流水
PlayerPoolCurrent int64 `protobuf:"varint,40,opt,name=PlayerPoolCurrent,proto3" json:"PlayerPoolCurrent,omitempty"` // 个人水池当前值
PlayerPoolUpper int64 `protobuf:"varint,41,opt,name=PlayerPoolUpper,proto3" json:"PlayerPoolUpper,omitempty"` // 个人水池上限值
PlayerPoolLower int64 `protobuf:"varint,42,opt,name=PlayerPoolLower,proto3" json:"PlayerPoolLower,omitempty"` // 个人水池下限值
PlayerPoolRate int64 `protobuf:"varint,43,opt,name=PlayerPoolRate,proto3" json:"PlayerPoolRate,omitempty"` // 个人水池控制值
RankScore map[int64]int64 `protobuf:"bytes,44,rep,name=RankScore,proto3" json:"RankScore,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` // 排位积分 1 tienlen排位积分
RoleAdded int64 `protobuf:"varint,45,opt,name=RoleAdded,proto3" json:"RoleAdded,omitempty"` //人物加成
VipAdded int64 `protobuf:"varint,46,opt,name=VipAdded,proto3" json:"VipAdded,omitempty"` //VIP加成
VipExp int64 `protobuf:"varint,47,opt,name=VipExp,proto3" json:"VipExp,omitempty"` //VIP经验
ShopId []int32 `protobuf:"varint,48,rep,packed,name=ShopId,proto3" json:"ShopId,omitempty"` //首充加倍,已买过的商品id
Delete int64 `protobuf:"varint,49,opt,name=Delete,proto3" json:"Delete,omitempty"` //是否删除 0.正常 1.删除
InviteCode string `protobuf:"bytes,50,opt,name=InviteCode,proto3" json:"InviteCode,omitempty"` //邀请码
InviteSnId int32 `protobuf:"varint,51,opt,name=InviteSnId,proto3" json:"InviteSnId,omitempty"` //邀请人
InviteScore int64 `protobuf:"varint,52,opt,name=InviteScore,proto3" json:"InviteScore,omitempty"` //邀请积分
Channel string `protobuf:"bytes,53,opt,name=Channel,proto3" json:"Channel,omitempty"` // 首次安装渠道
LastChannel string `protobuf:"bytes,54,opt,name=LastChannel,proto3" json:"LastChannel,omitempty"` // 最近使用的包渠道
Items []*ItemInfo `protobuf:"bytes,55,rep,name=Items,proto3" json:"Items,omitempty"` // 背包物品
IsPermit bool `protobuf:"varint,56,opt,name=IsPermit,proto3" json:"IsPermit,omitempty"` // 是否已购买典藏通行证
Long int64 `protobuf:"varint,57,opt,name=Long,proto3" json:"Long,omitempty"` // 龙币数量
PermitScore int64 `protobuf:"varint,58,opt,name=PermitScore,proto3" json:"PermitScore,omitempty"` // 赛季通行证积分
VCardCost int64 `protobuf:"varint,59,opt,name=VCardCost,proto3" json:"VCardCost,omitempty"` // v卡消耗
MoneyTotal int64 `protobuf:"varint,60,opt,name=MoneyTotal,proto3" json:"MoneyTotal,omitempty"` // 充值总金额
ChannelID string `protobuf:"bytes,61,opt,name=ChannelID,proto3" json:"ChannelID,omitempty"` // 渠道ID
UseRoleId int32 `protobuf:"varint,62,opt,name=UseRoleId,proto3" json:"UseRoleId,omitempty"` // 当前使用的角色id
UseSkinId int32 `protobuf:"varint,63,opt,name=UseSkinId,proto3" json:"UseSkinId,omitempty"` // 当前使用的皮肤id
SkinIds []int32 `protobuf:"varint,64,rep,packed,name=SkinIds,proto3" json:"SkinIds,omitempty"` // 解锁的皮肤id列表
RoleUnlockList []*ModInfo `protobuf:"bytes,65,rep,name=RoleUnlockList,proto3" json:"RoleUnlockList,omitempty"` // 解锁的角色列表
PetUnlockList []*ModInfo `protobuf:"bytes,66,rep,name=PetUnlockList,proto3" json:"PetUnlockList,omitempty"` // 解锁的宠物列表
PetSkillUnlockList []*ModInfo `protobuf:"bytes,67,rep,name=PetSkillUnlockList,proto3" json:"PetSkillUnlockList,omitempty"` // 解锁的宠物技能列表
SkinUnlockList []*ModInfo `protobuf:"bytes,68,rep,name=SkinUnlockList,proto3" json:"SkinUnlockList,omitempty"` // 解锁的皮肤列表
}
func (x *PlayerData) Reset() {
*x = PlayerData{}
if protoimpl.UnsafeEnabled {
mi := &file_common_proto_msgTypes[13]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *PlayerData) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*PlayerData) ProtoMessage() {}
func (x *PlayerData) ProtoReflect() protoreflect.Message {
mi := &file_common_proto_msgTypes[13]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use PlayerData.ProtoReflect.Descriptor instead.
func (*PlayerData) Descriptor() ([]byte, []int) {
return file_common_proto_rawDescGZIP(), []int{13}
}
func (x *PlayerData) GetSnId() int32 {
if x != nil {
return x.SnId
}
return 0
}
func (x *PlayerData) GetTel() string {
if x != nil {
return x.Tel
}
return ""
}
func (x *PlayerData) GetVIP() int32 {
if x != nil {
return x.VIP
}
return 0
}
func (x *PlayerData) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *PlayerData) GetCoin() int64 {
if x != nil {
return x.Coin
}
return 0
}
func (x *PlayerData) GetCoinExchangeTotal() int64 {
if x != nil {
return x.CoinExchangeTotal
}
return 0
}
func (x *PlayerData) GetCoinPayTotal() int64 {
if x != nil {
return x.CoinPayTotal
}
return 0
}
func (x *PlayerData) GetCreateTime() int64 {
if x != nil {
return x.CreateTime
}
return 0
}
func (x *PlayerData) GetDeviceId() string {
if x != nil {
return x.DeviceId
}
return ""
}
func (x *PlayerData) GetDeviceOS() string {
if x != nil {
return x.DeviceOS
}
return ""
}
func (x *PlayerData) GetDrawTimes() int32 {
if x != nil {
return x.DrawTimes
}
return 0
}
func (x *PlayerData) GetFailCoin() int64 {
if x != nil {
return x.FailCoin
}
return 0
}
func (x *PlayerData) GetFailTimes() int32 {
if x != nil {
return x.FailTimes
}
return 0
}
func (x *PlayerData) GetGameTax() int64 {
if x != nil {
return x.GameTax
}
return 0
}
func (x *PlayerData) GetIp() string {
if x != nil {
return x.Ip
}
return ""
}
func (x *PlayerData) GetIsRob() bool {
if x != nil {
return x.IsRob
}
return false
}
func (x *PlayerData) GetLastLoginTime() int64 {
if x != nil {
return x.LastLoginTime
}
return 0
}
func (x *PlayerData) GetMarkInfo() string {
if x != nil {
return x.MarkInfo
}
return ""
}
func (x *PlayerData) GetOnline() bool {
if x != nil {
return x.Online
}
return false
}
func (x *PlayerData) GetPackage() string {
if x != nil {
return x.Package
}
return ""
}
func (x *PlayerData) GetPackageID() string {
if x != nil {
return x.PackageID
}
return ""
}
func (x *PlayerData) GetPlatform() string {
if x != nil {
return x.Platform
}
return ""
}
func (x *PlayerData) GetRegIp() string {
if x != nil {
return x.RegIp
}
return ""
}
func (x *PlayerData) GetSafeBoxCoin() int64 {
if x != nil {
return x.SafeBoxCoin
}
return 0
}
func (x *PlayerData) GetWBLevel() int32 {
if x != nil {
return x.WBLevel
}
return 0
}
func (x *PlayerData) GetWinCoin() int64 {
if x != nil {
return x.WinCoin
}
return 0
}
func (x *PlayerData) GetWinTimes() int32 {
if x != nil {
return x.WinTimes
}
return 0
}
func (x *PlayerData) GetBlacklistType() int32 {
if x != nil {
return x.BlacklistType
}
return 0
}
func (x *PlayerData) GetSceneId() int32 {
if x != nil {
return x.SceneId
}
return 0
}
func (x *PlayerData) GetGameFreeId() int32 {
if x != nil {
return x.GameFreeId
}
return 0
}
func (x *PlayerData) GetDiamond() int64 {
if x != nil {
return x.Diamond
}
return 0
}
func (x *PlayerData) GetRoleUnlock() int32 {
if x != nil {
return x.RoleUnlock
}
return 0
}
func (x *PlayerData) GetRolesIds() []int32 {
if x != nil {
return x.RolesIds
}
return nil
}
func (x *PlayerData) GetPetUnlock() int32 {
if x != nil {
return x.PetUnlock
}
return 0
}
func (x *PlayerData) GetPetsIds() []int32 {
if x != nil {
return x.PetsIds
}
return nil
}
func (x *PlayerData) GetAccountType() int32 {
if x != nil {
return x.AccountType
}
return 0
}
func (x *PlayerData) GetChessGrade() int32 {
if x != nil {
return x.ChessGrade
}
return 0
}
func (x *PlayerData) GetAllWinCoin() int64 {
if x != nil {
return x.AllWinCoin
}
return 0
}
func (x *PlayerData) GetAllFlow() int64 {
if x != nil {
return x.AllFlow
}
return 0
}
func (x *PlayerData) GetPlayerPoolCurrent() int64 {
if x != nil {
return x.PlayerPoolCurrent
}
return 0
}
func (x *PlayerData) GetPlayerPoolUpper() int64 {
if x != nil {
return x.PlayerPoolUpper
}
return 0
}
func (x *PlayerData) GetPlayerPoolLower() int64 {
if x != nil {
return x.PlayerPoolLower
}
return 0
}
func (x *PlayerData) GetPlayerPoolRate() int64 {
if x != nil {
return x.PlayerPoolRate
}
return 0
}
func (x *PlayerData) GetRankScore() map[int64]int64 {
if x != nil {
return x.RankScore
}
return nil
}
func (x *PlayerData) GetRoleAdded() int64 {
if x != nil {
return x.RoleAdded
}
return 0
}
func (x *PlayerData) GetVipAdded() int64 {
if x != nil {
return x.VipAdded
}
return 0
}
func (x *PlayerData) GetVipExp() int64 {
if x != nil {
return x.VipExp
}
return 0
}
func (x *PlayerData) GetShopId() []int32 {
if x != nil {
return x.ShopId
}
return nil
}
func (x *PlayerData) GetDelete() int64 {
if x != nil {
return x.Delete
}
return 0
}
func (x *PlayerData) GetInviteCode() string {
if x != nil {
return x.InviteCode
}
return ""
}
func (x *PlayerData) GetInviteSnId() int32 {
if x != nil {
return x.InviteSnId
}
return 0
}
func (x *PlayerData) GetInviteScore() int64 {
if x != nil {
return x.InviteScore
}
return 0
}
func (x *PlayerData) GetChannel() string {
if x != nil {
return x.Channel
}
return ""
}
func (x *PlayerData) GetLastChannel() string {
if x != nil {
return x.LastChannel
}
return ""
}
func (x *PlayerData) GetItems() []*ItemInfo {
if x != nil {
return x.Items
}
return nil
}
func (x *PlayerData) GetIsPermit() bool {
if x != nil {
return x.IsPermit
}
return false
}
func (x *PlayerData) GetLong() int64 {
if x != nil {
return x.Long
}
return 0
}
func (x *PlayerData) GetPermitScore() int64 {
if x != nil {
return x.PermitScore
}
return 0
}
func (x *PlayerData) GetVCardCost() int64 {
if x != nil {
return x.VCardCost
}
return 0
}
func (x *PlayerData) GetMoneyTotal() int64 {
if x != nil {
return x.MoneyTotal
}
return 0
}
func (x *PlayerData) GetChannelID() string {
if x != nil {
return x.ChannelID
}
return ""
}
func (x *PlayerData) GetUseRoleId() int32 {
if x != nil {
return x.UseRoleId
}
return 0
}
func (x *PlayerData) GetUseSkinId() int32 {
if x != nil {
return x.UseSkinId
}
return 0
}
func (x *PlayerData) GetSkinIds() []int32 {
if x != nil {
return x.SkinIds
}
return nil
}
func (x *PlayerData) GetRoleUnlockList() []*ModInfo {
if x != nil {
return x.RoleUnlockList
}
return nil
}
func (x *PlayerData) GetPetUnlockList() []*ModInfo {
if x != nil {
return x.PetUnlockList
}
return nil
}
func (x *PlayerData) GetPetSkillUnlockList() []*ModInfo {
if x != nil {
return x.PetSkillUnlockList
}
return nil
}
func (x *PlayerData) GetSkinUnlockList() []*ModInfo {
if x != nil {
return x.SkinUnlockList
}
return nil
}
type ModInfo struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id int32 `protobuf:"varint,1,opt,name=Id,proto3" json:"Id,omitempty"` // 模型id
Level int32 `protobuf:"varint,2,opt,name=Level,proto3" json:"Level,omitempty"` // 模型等级
Ts int64 `protobuf:"varint,3,opt,name=Ts,proto3" json:"Ts,omitempty"` // 解锁时间
}
func (x *ModInfo) Reset() {
*x = ModInfo{}
if protoimpl.UnsafeEnabled {
mi := &file_common_proto_msgTypes[14]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ModInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ModInfo) ProtoMessage() {}
func (x *ModInfo) ProtoReflect() protoreflect.Message {
mi := &file_common_proto_msgTypes[14]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ModInfo.ProtoReflect.Descriptor instead.
func (*ModInfo) Descriptor() ([]byte, []int) {
return file_common_proto_rawDescGZIP(), []int{14}
}
func (x *ModInfo) GetId() int32 {
if x != nil {
return x.Id
}
return 0
}
func (x *ModInfo) GetLevel() int32 {
if x != nil {
return x.Level
}
return 0
}
func (x *ModInfo) GetTs() int64 {
if x != nil {
return x.Ts
}
return 0
}
type RoomInfo struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Platform string `protobuf:"bytes,1,opt,name=Platform,proto3" json:"Platform,omitempty"`
SceneId int32 `protobuf:"varint,2,opt,name=SceneId,proto3" json:"SceneId,omitempty"` //房间id
GameId int32 `protobuf:"varint,3,opt,name=GameId,proto3" json:"GameId,omitempty"` //游戏id
GameMode int32 `protobuf:"varint,4,opt,name=GameMode,proto3" json:"GameMode,omitempty"` //游戏模式
SceneMode int32 `protobuf:"varint,5,opt,name=SceneMode,proto3" json:"SceneMode,omitempty"` //房间模式,参考common.SceneMode_XXX
GroupId int32 `protobuf:"varint,6,opt,name=GroupId,proto3" json:"GroupId,omitempty"` //组id
GameFreeId int32 `protobuf:"varint,7,opt,name=GameFreeId,proto3" json:"GameFreeId,omitempty"` // 场次id
SrvId int32 `protobuf:"varint,8,opt,name=SrvId,proto3" json:"SrvId,omitempty"` //服务器id
Creator int32 `protobuf:"varint,9,opt,name=Creator,proto3" json:"Creator,omitempty"` //创建者账号id
Agentor int32 `protobuf:"varint,10,opt,name=Agentor,proto3" json:"Agentor,omitempty"` //代理者id
ReplayCode string `protobuf:"bytes,11,opt,name=ReplayCode,proto3" json:"ReplayCode,omitempty"` //回放码
Params []int32 `protobuf:"varint,12,rep,packed,name=Params,proto3" json:"Params,omitempty"` //场景参数
PlayerIds []int32 `protobuf:"varint,13,rep,packed,name=PlayerIds,proto3" json:"PlayerIds,omitempty"` //所有玩家id
PlayerCnt int32 `protobuf:"varint,14,opt,name=PlayerCnt,proto3" json:"PlayerCnt,omitempty"` //玩家数量
RobotCnt int32 `protobuf:"varint,15,opt,name=RobotCnt,proto3" json:"RobotCnt,omitempty"` //AI数量
Start int32 `protobuf:"varint,16,opt,name=Start,proto3" json:"Start,omitempty"` //0.等待 1.游戏中
CreateTime int64 `protobuf:"varint,17,opt,name=CreateTime,proto3" json:"CreateTime,omitempty"` //创建时间
BaseScore int32 `protobuf:"varint,18,opt,name=BaseScore,proto3" json:"BaseScore,omitempty"` //底分
RoomConfigId int32 `protobuf:"varint,19,opt,name=RoomConfigId,proto3" json:"RoomConfigId,omitempty"` //房间配置id
CurrRound int32 `protobuf:"varint,20,opt,name=CurrRound,proto3" json:"CurrRound,omitempty"` //当前局数
MaxRound int32 `protobuf:"varint,21,opt,name=MaxRound,proto3" json:"MaxRound,omitempty"` //最大局数
Password string `protobuf:"bytes,22,opt,name=Password,proto3" json:"Password,omitempty"` // 密码
CostType int32 `protobuf:"varint,23,opt,name=CostType,proto3" json:"CostType,omitempty"` // 付费方式 1房主 2AA
Voice int32 `protobuf:"varint,24,opt,name=Voice,proto3" json:"Voice,omitempty"` // 语音开关 1开启
PlayerNum int32 `protobuf:"varint,25,opt,name=PlayerNum,proto3" json:"PlayerNum,omitempty"` // 房间最大人数
}
func (x *RoomInfo) Reset() {
*x = RoomInfo{}
if protoimpl.UnsafeEnabled {
mi := &file_common_proto_msgTypes[15]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *RoomInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*RoomInfo) ProtoMessage() {}
func (x *RoomInfo) ProtoReflect() protoreflect.Message {
mi := &file_common_proto_msgTypes[15]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use RoomInfo.ProtoReflect.Descriptor instead.
func (*RoomInfo) Descriptor() ([]byte, []int) {
return file_common_proto_rawDescGZIP(), []int{15}
}
func (x *RoomInfo) GetPlatform() string {
if x != nil {
return x.Platform
}
return ""
}
func (x *RoomInfo) GetSceneId() int32 {
if x != nil {
return x.SceneId
}
return 0
}
func (x *RoomInfo) GetGameId() int32 {
if x != nil {
return x.GameId
}
return 0
}
func (x *RoomInfo) GetGameMode() int32 {
if x != nil {
return x.GameMode
}
return 0
}
func (x *RoomInfo) GetSceneMode() int32 {
if x != nil {
return x.SceneMode
}
return 0
}
func (x *RoomInfo) GetGroupId() int32 {
if x != nil {
return x.GroupId
}
return 0
}
func (x *RoomInfo) GetGameFreeId() int32 {
if x != nil {
return x.GameFreeId
}
return 0
}
func (x *RoomInfo) GetSrvId() int32 {
if x != nil {
return x.SrvId
}
return 0
}
func (x *RoomInfo) GetCreator() int32 {
if x != nil {
return x.Creator
}
return 0
}
func (x *RoomInfo) GetAgentor() int32 {
if x != nil {
return x.Agentor
}
return 0
}
func (x *RoomInfo) GetReplayCode() string {
if x != nil {
return x.ReplayCode
}
return ""
}
func (x *RoomInfo) GetParams() []int32 {
if x != nil {
return x.Params
}
return nil
}
func (x *RoomInfo) GetPlayerIds() []int32 {
if x != nil {
return x.PlayerIds
}
return nil
}
func (x *RoomInfo) GetPlayerCnt() int32 {
if x != nil {
return x.PlayerCnt
}
return 0
}
func (x *RoomInfo) GetRobotCnt() int32 {
if x != nil {
return x.RobotCnt
}
return 0
}
func (x *RoomInfo) GetStart() int32 {
if x != nil {
return x.Start
}
return 0
}
func (x *RoomInfo) GetCreateTime() int64 {
if x != nil {
return x.CreateTime
}
return 0
}
func (x *RoomInfo) GetBaseScore() int32 {
if x != nil {
return x.BaseScore
}
return 0
}
func (x *RoomInfo) GetRoomConfigId() int32 {
if x != nil {
return x.RoomConfigId
}
return 0
}
func (x *RoomInfo) GetCurrRound() int32 {
if x != nil {
return x.CurrRound
}
return 0
}
func (x *RoomInfo) GetMaxRound() int32 {
if x != nil {
return x.MaxRound
}
return 0
}
func (x *RoomInfo) GetPassword() string {
if x != nil {
return x.Password
}
return ""
}
func (x *RoomInfo) GetCostType() int32 {
if x != nil {
return x.CostType
}
return 0
}
func (x *RoomInfo) GetVoice() int32 {
if x != nil {
return x.Voice
}
return 0
}
func (x *RoomInfo) GetPlayerNum() int32 {
if x != nil {
return x.PlayerNum
}
return 0
}
type PlayerSingleAdjust struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id string `protobuf:"bytes,1,opt,name=Id,proto3" json:"Id,omitempty"`
Platform string `protobuf:"bytes,2,opt,name=Platform,proto3" json:"Platform,omitempty"`
GameFreeId int32 `protobuf:"varint,3,opt,name=GameFreeId,proto3" json:"GameFreeId,omitempty"`
SnId int32 `protobuf:"varint,4,opt,name=SnId,proto3" json:"SnId,omitempty"`
Mode int32 `protobuf:"varint,5,opt,name=Mode,proto3" json:"Mode,omitempty"` //调控模式 1赢 2输 tinyint(1)
TotalTime int32 `protobuf:"varint,6,opt,name=TotalTime,proto3" json:"TotalTime,omitempty"` //调控总次数
CurTime int32 `protobuf:"varint,7,opt,name=CurTime,proto3" json:"CurTime,omitempty"` //当前调控次数
BetMin int64 `protobuf:"varint,8,opt,name=BetMin,proto3" json:"BetMin,omitempty"` //下注下限
BetMax int64 `protobuf:"varint,9,opt,name=BetMax,proto3" json:"BetMax,omitempty"` //下注上限
BankerLoseMin int64 `protobuf:"varint,10,opt,name=BankerLoseMin,proto3" json:"BankerLoseMin,omitempty"` //坐庄被输下限
BankerWinMin int64 `protobuf:"varint,11,opt,name=BankerWinMin,proto3" json:"BankerWinMin,omitempty"` //坐庄被控赢下限
CardMin int32 `protobuf:"varint,12,opt,name=CardMin,proto3" json:"CardMin,omitempty"` //牌型下限
CardMax int32 `protobuf:"varint,13,opt,name=CardMax,proto3" json:"CardMax,omitempty"` //牌型上限
Priority int32 `protobuf:"varint,14,opt,name=Priority,proto3" json:"Priority,omitempty"` //优先级
WinRate int32 `protobuf:"varint,15,opt,name=WinRate,proto3" json:"WinRate,omitempty"` //万分比
GameId int32 `protobuf:"varint,16,opt,name=GameId,proto3" json:"GameId,omitempty"`
GameMode int32 `protobuf:"varint,17,opt,name=GameMode,proto3" json:"GameMode,omitempty"`
Operator string `protobuf:"bytes,18,opt,name=Operator,proto3" json:"Operator,omitempty"`
CreateTime int64 `protobuf:"varint,19,opt,name=CreateTime,proto3" json:"CreateTime,omitempty"`
UpdateTime int64 `protobuf:"varint,20,opt,name=UpdateTime,proto3" json:"UpdateTime,omitempty"`
}
func (x *PlayerSingleAdjust) Reset() {
*x = PlayerSingleAdjust{}
if protoimpl.UnsafeEnabled {
mi := &file_common_proto_msgTypes[16]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *PlayerSingleAdjust) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*PlayerSingleAdjust) ProtoMessage() {}
func (x *PlayerSingleAdjust) ProtoReflect() protoreflect.Message {
mi := &file_common_proto_msgTypes[16]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use PlayerSingleAdjust.ProtoReflect.Descriptor instead.
func (*PlayerSingleAdjust) Descriptor() ([]byte, []int) {
return file_common_proto_rawDescGZIP(), []int{16}
}
func (x *PlayerSingleAdjust) GetId() string {
if x != nil {
return x.Id
}
return ""
}
func (x *PlayerSingleAdjust) GetPlatform() string {
if x != nil {
return x.Platform
}
return ""
}
func (x *PlayerSingleAdjust) GetGameFreeId() int32 {
if x != nil {
return x.GameFreeId
}
return 0
}
func (x *PlayerSingleAdjust) GetSnId() int32 {
if x != nil {
return x.SnId
}
return 0
}
func (x *PlayerSingleAdjust) GetMode() int32 {
if x != nil {
return x.Mode
}
return 0
}
func (x *PlayerSingleAdjust) GetTotalTime() int32 {
if x != nil {
return x.TotalTime
}
return 0
}
func (x *PlayerSingleAdjust) GetCurTime() int32 {
if x != nil {
return x.CurTime
}
return 0
}
func (x *PlayerSingleAdjust) GetBetMin() int64 {
if x != nil {
return x.BetMin
}
return 0
}
func (x *PlayerSingleAdjust) GetBetMax() int64 {
if x != nil {
return x.BetMax
}
return 0
}
func (x *PlayerSingleAdjust) GetBankerLoseMin() int64 {
if x != nil {
return x.BankerLoseMin
}
return 0
}
func (x *PlayerSingleAdjust) GetBankerWinMin() int64 {
if x != nil {
return x.BankerWinMin
}
return 0
}
func (x *PlayerSingleAdjust) GetCardMin() int32 {
if x != nil {
return x.CardMin
}
return 0
}
func (x *PlayerSingleAdjust) GetCardMax() int32 {
if x != nil {
return x.CardMax
}
return 0
}
func (x *PlayerSingleAdjust) GetPriority() int32 {
if x != nil {
return x.Priority
}
return 0
}
func (x *PlayerSingleAdjust) GetWinRate() int32 {
if x != nil {
return x.WinRate
}
return 0
}
func (x *PlayerSingleAdjust) GetGameId() int32 {
if x != nil {
return x.GameId
}
return 0
}
func (x *PlayerSingleAdjust) GetGameMode() int32 {
if x != nil {
return x.GameMode
}
return 0
}
func (x *PlayerSingleAdjust) GetOperator() string {
if x != nil {
return x.Operator
}
return ""
}
func (x *PlayerSingleAdjust) GetCreateTime() int64 {
if x != nil {
return x.CreateTime
}
return 0
}
func (x *PlayerSingleAdjust) GetUpdateTime() int64 {
if x != nil {
return x.UpdateTime
}
return 0
}
type ServerInfo struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
SrvId int32 `protobuf:"varint,1,opt,name=SrvId,proto3" json:"SrvId,omitempty"` //服务器id
SrvType int32 `protobuf:"varint,2,opt,name=SrvType,proto3" json:"SrvType,omitempty"` //服务器类型 4.网管 6.大厅.7游戏
State int32 `protobuf:"varint,3,opt,name=State,proto3" json:"State,omitempty"` //服务器状态 0.关闭 1.开启
PlayerNum int32 `protobuf:"varint,4,opt,name=PlayerNum,proto3" json:"PlayerNum,omitempty"` //人数
RobotNum int32 `protobuf:"varint,5,opt,name=RobotNum,proto3" json:"RobotNum,omitempty"` //AI人数
SceneNum int32 `protobuf:"varint,6,opt,name=SceneNum,proto3" json:"SceneNum,omitempty"` //房间数量
Data string `protobuf:"bytes,7,opt,name=Data,proto3" json:"Data,omitempty"`
}
func (x *ServerInfo) Reset() {
*x = ServerInfo{}
if protoimpl.UnsafeEnabled {
mi := &file_common_proto_msgTypes[17]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ServerInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ServerInfo) ProtoMessage() {}
func (x *ServerInfo) ProtoReflect() protoreflect.Message {
mi := &file_common_proto_msgTypes[17]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ServerInfo.ProtoReflect.Descriptor instead.
func (*ServerInfo) Descriptor() ([]byte, []int) {
return file_common_proto_rawDescGZIP(), []int{17}
}
func (x *ServerInfo) GetSrvId() int32 {
if x != nil {
return x.SrvId
}
return 0
}
func (x *ServerInfo) GetSrvType() int32 {
if x != nil {
return x.SrvType
}
return 0
}
func (x *ServerInfo) GetState() int32 {
if x != nil {
return x.State
}
return 0
}
func (x *ServerInfo) GetPlayerNum() int32 {
if x != nil {
return x.PlayerNum
}
return 0
}
func (x *ServerInfo) GetRobotNum() int32 {
if x != nil {
return x.RobotNum
}
return 0
}
func (x *ServerInfo) GetSceneNum() int32 {
if x != nil {
return x.SceneNum
}
return 0
}
func (x *ServerInfo) GetData() string {
if x != nil {
return x.Data
}
return ""
}
type CoinPoolSetting struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// 水池配置(excel)
Platform string `protobuf:"bytes,1,opt,name=Platform,proto3" json:"Platform,omitempty"` //平台id
GroupId int32 `protobuf:"varint,2,opt,name=GroupId,proto3" json:"GroupId,omitempty"` //组id
GameFreeId int32 `protobuf:"varint,3,opt,name=GameFreeId,proto3" json:"GameFreeId,omitempty"` //游戏id
ServerId int32 `protobuf:"varint,4,opt,name=ServerId,proto3" json:"ServerId,omitempty"` //服务器id
InitValue int64 `protobuf:"varint,5,opt,name=InitValue,proto3" json:"InitValue,omitempty"` //初始库存值
LowerLimit int64 `protobuf:"varint,6,opt,name=LowerLimit,proto3" json:"LowerLimit,omitempty"` //库存下限
UpperLimit int64 `protobuf:"varint,7,opt,name=UpperLimit,proto3" json:"UpperLimit,omitempty"` //库存上限
QuDu int64 `protobuf:"varint,8,opt,name=QuDu,proto3" json:"QuDu,omitempty"` // 曲度值
UpperOdds int32 `protobuf:"varint,9,opt,name=UpperOdds,proto3" json:"UpperOdds,omitempty"` // 上线初始概率
UpperOddsMax int32 `protobuf:"varint,10,opt,name=UpperOddsMax,proto3" json:"UpperOddsMax,omitempty"` // 上线最大概率
LowerOdds int32 `protobuf:"varint,11,opt,name=LowerOdds,proto3" json:"LowerOdds,omitempty"` // 下线初始概率
LowerOddsMax int32 `protobuf:"varint,12,opt,name=LowerOddsMax,proto3" json:"LowerOddsMax,omitempty"` // 下线最大概率
ProfitRate int32 `protobuf:"varint,13,opt,name=ProfitRate,proto3" json:"ProfitRate,omitempty"` //营收比例,千分比
ResetTime int64 `protobuf:"varint,14,opt,name=ResetTime,proto3" json:"ResetTime,omitempty"` // 重置时间
Switch int32 `protobuf:"varint,15,opt,name=Switch,proto3" json:"Switch,omitempty"` // 开关 0开启 1关闭
CoinValue int64 `protobuf:"varint,16,opt,name=CoinValue,proto3" json:"CoinValue,omitempty"` // 当前水位
ProfitPool int64 `protobuf:"varint,17,opt,name=ProfitPool,proto3" json:"ProfitPool,omitempty"` // 收益池水位
CtrlRate int32 `protobuf:"varint,18,opt,name=CtrlRate,proto3" json:"CtrlRate,omitempty"` //调节赔率,万分比
InitNoviceValue int64 `protobuf:"varint,19,opt,name=InitNoviceValue,proto3" json:"InitNoviceValue,omitempty"` // 新手池初始库存值
NoviceCoinValue int64 `protobuf:"varint,20,opt,name=NoviceCoinValue,proto3" json:"NoviceCoinValue,omitempty"` // 新手池水位
}
func (x *CoinPoolSetting) Reset() {
*x = CoinPoolSetting{}
if protoimpl.UnsafeEnabled {
mi := &file_common_proto_msgTypes[18]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CoinPoolSetting) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CoinPoolSetting) ProtoMessage() {}
func (x *CoinPoolSetting) ProtoReflect() protoreflect.Message {
mi := &file_common_proto_msgTypes[18]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CoinPoolSetting.ProtoReflect.Descriptor instead.
func (*CoinPoolSetting) Descriptor() ([]byte, []int) {
return file_common_proto_rawDescGZIP(), []int{18}
}
func (x *CoinPoolSetting) GetPlatform() string {
if x != nil {
return x.Platform
}
return ""
}
func (x *CoinPoolSetting) GetGroupId() int32 {
if x != nil {
return x.GroupId
}
return 0
}
func (x *CoinPoolSetting) GetGameFreeId() int32 {
if x != nil {
return x.GameFreeId
}
return 0
}
func (x *CoinPoolSetting) GetServerId() int32 {
if x != nil {
return x.ServerId
}
return 0
}
func (x *CoinPoolSetting) GetInitValue() int64 {
if x != nil {
return x.InitValue
}
return 0
}
func (x *CoinPoolSetting) GetLowerLimit() int64 {
if x != nil {
return x.LowerLimit
}
return 0
}
func (x *CoinPoolSetting) GetUpperLimit() int64 {
if x != nil {
return x.UpperLimit
}
return 0
}
func (x *CoinPoolSetting) GetQuDu() int64 {
if x != nil {
return x.QuDu
}
return 0
}
func (x *CoinPoolSetting) GetUpperOdds() int32 {
if x != nil {
return x.UpperOdds
}
return 0
}
func (x *CoinPoolSetting) GetUpperOddsMax() int32 {
if x != nil {
return x.UpperOddsMax
}
return 0
}
func (x *CoinPoolSetting) GetLowerOdds() int32 {
if x != nil {
return x.LowerOdds
}
return 0
}
func (x *CoinPoolSetting) GetLowerOddsMax() int32 {
if x != nil {
return x.LowerOddsMax
}
return 0
}
func (x *CoinPoolSetting) GetProfitRate() int32 {
if x != nil {
return x.ProfitRate
}
return 0
}
func (x *CoinPoolSetting) GetResetTime() int64 {
if x != nil {
return x.ResetTime
}
return 0
}
func (x *CoinPoolSetting) GetSwitch() int32 {
if x != nil {
return x.Switch
}
return 0
}
func (x *CoinPoolSetting) GetCoinValue() int64 {
if x != nil {
return x.CoinValue
}
return 0
}
func (x *CoinPoolSetting) GetProfitPool() int64 {
if x != nil {
return x.ProfitPool
}
return 0
}
func (x *CoinPoolSetting) GetCtrlRate() int32 {
if x != nil {
return x.CtrlRate
}
return 0
}
func (x *CoinPoolSetting) GetInitNoviceValue() int64 {
if x != nil {
return x.InitNoviceValue
}
return 0
}
func (x *CoinPoolSetting) GetNoviceCoinValue() int64 {
if x != nil {
return x.NoviceCoinValue
}
return 0
}
//邮件
type MessageInfo struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id string `protobuf:"bytes,1,opt,name=Id,proto3" json:"Id,omitempty"`
MType int32 `protobuf:"varint,2,opt,name=MType,proto3" json:"MType,omitempty"` //消息类型
Title string `protobuf:"bytes,3,opt,name=Title,proto3" json:"Title,omitempty"` //标题
Content string `protobuf:"bytes,4,opt,name=Content,proto3" json:"Content,omitempty"` //内容
State int32 `protobuf:"varint,5,opt,name=State,proto3" json:"State,omitempty"` //当前消息状态
CreateTime int64 `protobuf:"varint,6,opt,name=CreateTime,proto3" json:"CreateTime,omitempty"` //创建时间戳
SrcSnid int32 `protobuf:"varint,7,opt,name=SrcSnid,proto3" json:"SrcSnid,omitempty"` //发送人ID
DestSnid int32 `protobuf:"varint,8,opt,name=DestSnid,proto3" json:"DestSnid,omitempty"` //目标人ID
Coin int64 `protobuf:"varint,9,opt,name=Coin,proto3" json:"Coin,omitempty"` //携带金币数量
GiftId string `protobuf:"bytes,10,opt,name=GiftId,proto3" json:"GiftId,omitempty"`
GiftState int32 `protobuf:"varint,11,opt,name=GiftState,proto3" json:"GiftState,omitempty"`
Platform string `protobuf:"bytes,12,opt,name=Platform,proto3" json:"Platform,omitempty"`
}
func (x *MessageInfo) Reset() {
*x = MessageInfo{}
if protoimpl.UnsafeEnabled {
mi := &file_common_proto_msgTypes[19]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *MessageInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*MessageInfo) ProtoMessage() {}
func (x *MessageInfo) ProtoReflect() protoreflect.Message {
mi := &file_common_proto_msgTypes[19]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use MessageInfo.ProtoReflect.Descriptor instead.
func (*MessageInfo) Descriptor() ([]byte, []int) {
return file_common_proto_rawDescGZIP(), []int{19}
}
func (x *MessageInfo) GetId() string {
if x != nil {
return x.Id
}
return ""
}
func (x *MessageInfo) GetMType() int32 {
if x != nil {
return x.MType
}
return 0
}
func (x *MessageInfo) GetTitle() string {
if x != nil {
return x.Title
}
return ""
}
func (x *MessageInfo) GetContent() string {
if x != nil {
return x.Content
}
return ""
}
func (x *MessageInfo) GetState() int32 {
if x != nil {
return x.State
}
return 0
}
func (x *MessageInfo) GetCreateTime() int64 {
if x != nil {
return x.CreateTime
}
return 0
}
func (x *MessageInfo) GetSrcSnid() int32 {
if x != nil {
return x.SrcSnid
}
return 0
}
func (x *MessageInfo) GetDestSnid() int32 {
if x != nil {
return x.DestSnid
}
return 0
}
func (x *MessageInfo) GetCoin() int64 {
if x != nil {
return x.Coin
}
return 0
}
func (x *MessageInfo) GetGiftId() string {
if x != nil {
return x.GiftId
}
return ""
}
func (x *MessageInfo) GetGiftState() int32 {
if x != nil {
return x.GiftState
}
return 0
}
func (x *MessageInfo) GetPlatform() string {
if x != nil {
return x.Platform
}
return ""
}
type HorseRaceLamp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id string `protobuf:"bytes,1,opt,name=Id,proto3" json:"Id,omitempty"`
Platform string `protobuf:"bytes,2,opt,name=Platform,proto3" json:"Platform,omitempty"`
Title string `protobuf:"bytes,3,opt,name=Title,proto3" json:"Title,omitempty"`
Content string `protobuf:"bytes,4,opt,name=Content,proto3" json:"Content,omitempty"` //公告内容
Footer string `protobuf:"bytes,5,opt,name=Footer,proto3" json:"Footer,omitempty"`
StartTime int64 `protobuf:"varint,6,opt,name=StartTime,proto3" json:"StartTime,omitempty"` //开始时间
Frequency int32 `protobuf:"varint,7,opt,name=Frequency,proto3" json:"Frequency,omitempty"` // 公告间隔
State int32 `protobuf:"varint,8,opt,name=State,proto3" json:"State,omitempty"` // 状态0.启用1.关闭
CreateTime int64 `protobuf:"varint,9,opt,name=CreateTime,proto3" json:"CreateTime,omitempty"` //创建时间
Count int32 `protobuf:"varint,10,opt,name=Count,proto3" json:"Count,omitempty"` //播放次数
Priority int32 `protobuf:"varint,11,opt,name=Priority,proto3" json:"Priority,omitempty"` //播放优先级
MsgType int32 `protobuf:"varint,12,opt,name=MsgType,proto3" json:"MsgType,omitempty"` //公告类型
Target []int32 `protobuf:"varint,13,rep,packed,name=Target,proto3" json:"Target,omitempty"`
StandSec int32 `protobuf:"varint,14,opt,name=StandSec,proto3" json:"StandSec,omitempty"`
}
func (x *HorseRaceLamp) Reset() {
*x = HorseRaceLamp{}
if protoimpl.UnsafeEnabled {
mi := &file_common_proto_msgTypes[20]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *HorseRaceLamp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*HorseRaceLamp) ProtoMessage() {}
func (x *HorseRaceLamp) ProtoReflect() protoreflect.Message {
mi := &file_common_proto_msgTypes[20]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use HorseRaceLamp.ProtoReflect.Descriptor instead.
func (*HorseRaceLamp) Descriptor() ([]byte, []int) {
return file_common_proto_rawDescGZIP(), []int{20}
}
func (x *HorseRaceLamp) GetId() string {
if x != nil {
return x.Id
}
return ""
}
func (x *HorseRaceLamp) GetPlatform() string {
if x != nil {
return x.Platform
}
return ""
}
func (x *HorseRaceLamp) GetTitle() string {
if x != nil {
return x.Title
}
return ""
}
func (x *HorseRaceLamp) GetContent() string {
if x != nil {
return x.Content
}
return ""
}
func (x *HorseRaceLamp) GetFooter() string {
if x != nil {
return x.Footer
}
return ""
}
func (x *HorseRaceLamp) GetStartTime() int64 {
if x != nil {
return x.StartTime
}
return 0
}
func (x *HorseRaceLamp) GetFrequency() int32 {
if x != nil {
return x.Frequency
}
return 0
}
func (x *HorseRaceLamp) GetState() int32 {
if x != nil {
return x.State
}
return 0
}
func (x *HorseRaceLamp) GetCreateTime() int64 {
if x != nil {
return x.CreateTime
}
return 0
}
func (x *HorseRaceLamp) GetCount() int32 {
if x != nil {
return x.Count
}
return 0
}
func (x *HorseRaceLamp) GetPriority() int32 {
if x != nil {
return x.Priority
}
return 0
}
func (x *HorseRaceLamp) GetMsgType() int32 {
if x != nil {
return x.MsgType
}
return 0
}
func (x *HorseRaceLamp) GetTarget() []int32 {
if x != nil {
return x.Target
}
return nil
}
func (x *HorseRaceLamp) GetStandSec() int32 {
if x != nil {
return x.StandSec
}
return 0
}
//在线统计
type OnlineGameCnt struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
GameId int32 `protobuf:"varint,1,opt,name=GameId,proto3" json:"GameId,omitempty"` //游戏id
Cnt int32 `protobuf:"varint,2,opt,name=Cnt,proto3" json:"Cnt,omitempty"` //在线人数
}
func (x *OnlineGameCnt) Reset() {
*x = OnlineGameCnt{}
if protoimpl.UnsafeEnabled {
mi := &file_common_proto_msgTypes[21]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *OnlineGameCnt) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*OnlineGameCnt) ProtoMessage() {}
func (x *OnlineGameCnt) ProtoReflect() protoreflect.Message {
mi := &file_common_proto_msgTypes[21]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use OnlineGameCnt.ProtoReflect.Descriptor instead.
func (*OnlineGameCnt) Descriptor() ([]byte, []int) {
return file_common_proto_rawDescGZIP(), []int{21}
}
func (x *OnlineGameCnt) GetGameId() int32 {
if x != nil {
return x.GameId
}
return 0
}
func (x *OnlineGameCnt) GetCnt() int32 {
if x != nil {
return x.Cnt
}
return 0
}
type OnlineReport struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
TotalCnt int32 `protobuf:"varint,1,opt,name=TotalCnt,proto3" json:"TotalCnt,omitempty"` // 在线总人数
AndroidOnlineCnt int32 `protobuf:"varint,2,opt,name=AndroidOnlineCnt,proto3" json:"AndroidOnlineCnt,omitempty"` //android在线
IosOnlineCnt int32 `protobuf:"varint,3,opt,name=IosOnlineCnt,proto3" json:"IosOnlineCnt,omitempty"` // ios在线
DatingPlayers int32 `protobuf:"varint,4,opt,name=DatingPlayers,proto3" json:"DatingPlayers,omitempty"` // 总大厅人数
OnRoomPlayers int32 `protobuf:"varint,5,opt,name=OnRoomPlayers,proto3" json:"OnRoomPlayers,omitempty"` // 正在游戏房间人数
TodayRegisterOnline int32 `protobuf:"varint,6,opt,name=TodayRegisterOnline,proto3" json:"TodayRegisterOnline,omitempty"` // 当天注册在线
SevenDayRegisterOnline int32 `protobuf:"varint,7,opt,name=SevenDayRegisterOnline,proto3" json:"SevenDayRegisterOnline,omitempty"`
GameCount []*OnlineGameCnt `protobuf:"bytes,8,rep,name=GameCount,proto3" json:"GameCount,omitempty"` // 1-7天注册在线
}
func (x *OnlineReport) Reset() {
*x = OnlineReport{}
if protoimpl.UnsafeEnabled {
mi := &file_common_proto_msgTypes[22]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *OnlineReport) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*OnlineReport) ProtoMessage() {}
func (x *OnlineReport) ProtoReflect() protoreflect.Message {
mi := &file_common_proto_msgTypes[22]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use OnlineReport.ProtoReflect.Descriptor instead.
func (*OnlineReport) Descriptor() ([]byte, []int) {
return file_common_proto_rawDescGZIP(), []int{22}
}
func (x *OnlineReport) GetTotalCnt() int32 {
if x != nil {
return x.TotalCnt
}
return 0
}
func (x *OnlineReport) GetAndroidOnlineCnt() int32 {
if x != nil {
return x.AndroidOnlineCnt
}
return 0
}
func (x *OnlineReport) GetIosOnlineCnt() int32 {
if x != nil {
return x.IosOnlineCnt
}
return 0
}
func (x *OnlineReport) GetDatingPlayers() int32 {
if x != nil {
return x.DatingPlayers
}
return 0
}
func (x *OnlineReport) GetOnRoomPlayers() int32 {
if x != nil {
return x.OnRoomPlayers
}
return 0
}
func (x *OnlineReport) GetTodayRegisterOnline() int32 {
if x != nil {
return x.TodayRegisterOnline
}
return 0
}
func (x *OnlineReport) GetSevenDayRegisterOnline() int32 {
if x != nil {
return x.SevenDayRegisterOnline
}
return 0
}
func (x *OnlineReport) GetGameCount() []*OnlineGameCnt {
if x != nil {
return x.GameCount
}
return nil
}
type CommonNotice struct {
state protoimpl.MessageState
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"`
OnChannelName []string `protobuf:"bytes,14,rep,name=OnChannelName,proto3" json:"OnChannelName,omitempty"`
Url string `protobuf:"bytes,15,opt,name=Url,proto3" json:"Url,omitempty"`
}
func (x *CommonNotice) Reset() {
*x = CommonNotice{}
if protoimpl.UnsafeEnabled {
mi := &file_common_proto_msgTypes[23]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CommonNotice) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CommonNotice) ProtoMessage() {}
func (x *CommonNotice) ProtoReflect() protoreflect.Message {
mi := &file_common_proto_msgTypes[23]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CommonNotice.ProtoReflect.Descriptor instead.
func (*CommonNotice) Descriptor() ([]byte, []int) {
return file_common_proto_rawDescGZIP(), []int{23}
}
func (x *CommonNotice) GetSort() int32 {
if x != nil {
return x.Sort
}
return 0
}
func (x *CommonNotice) GetTitle() string {
if x != nil {
return x.Title
}
return ""
}
func (x *CommonNotice) GetContent() string {
if x != nil {
return x.Content
}
return ""
}
func (x *CommonNotice) GetTypeName() string {
if x != nil {
return x.TypeName
}
return ""
}
func (x *CommonNotice) GetType() int32 {
if x != nil {
return x.Type
}
return 0
}
func (x *CommonNotice) GetStartTime() int64 {
if x != nil {
return x.StartTime
}
return 0
}
func (x *CommonNotice) GetEndTime() int64 {
if x != nil {
return x.EndTime
}
return 0
}
func (x *CommonNotice) GetPlatform() string {
if x != nil {
return x.Platform
}
return ""
}
func (x *CommonNotice) GetCategoryType() int32 {
if x != nil {
return x.CategoryType
}
return 0
}
func (x *CommonNotice) GetImgUrl() string {
if x != nil {
return x.ImgUrl
}
return ""
}
func (x *CommonNotice) GetNoticeId() int32 {
if x != nil {
return x.NoticeId
}
return 0
}
func (x *CommonNotice) GetIsLoop() int32 {
if x != nil {
return x.IsLoop
}
return 0
}
func (x *CommonNotice) GetLoopTime() int32 {
if x != nil {
return x.LoopTime
}
return 0
}
func (x *CommonNotice) GetOnChannelName() []string {
if x != nil {
return x.OnChannelName
}
return nil
}
func (x *CommonNotice) GetUrl() string {
if x != nil {
return x.Url
}
return ""
}
type CommonNoticeList struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
List []*CommonNotice `protobuf:"bytes,1,rep,name=List,proto3" json:"List,omitempty"`
Platform string `protobuf:"bytes,2,opt,name=Platform,proto3" json:"Platform,omitempty"`
}
func (x *CommonNoticeList) Reset() {
*x = CommonNoticeList{}
if protoimpl.UnsafeEnabled {
mi := &file_common_proto_msgTypes[24]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CommonNoticeList) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CommonNoticeList) ProtoMessage() {}
func (x *CommonNoticeList) ProtoReflect() protoreflect.Message {
mi := &file_common_proto_msgTypes[24]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CommonNoticeList.ProtoReflect.Descriptor instead.
func (*CommonNoticeList) Descriptor() ([]byte, []int) {
return file_common_proto_rawDescGZIP(), []int{24}
}
func (x *CommonNoticeList) GetList() []*CommonNotice {
if x != nil {
return x.List
}
return nil
}
func (x *CommonNoticeList) GetPlatform() string {
if x != nil {
return x.Platform
}
return ""
}
type ExchangeShop struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id int32 `protobuf:"varint,1,opt,name=Id,proto3" json:"Id,omitempty"` //商品ID
Picture string `protobuf:"bytes,2,opt,name=Picture,proto3" json:"Picture,omitempty"` // 图片
Type int32 `protobuf:"varint,3,opt,name=Type,proto3" json:"Type,omitempty"` // 类型 1话费2实物 3.道具 4.娃娃
Name string `protobuf:"bytes,4,opt,name=Name,proto3" json:"Name,omitempty"` // 名称
Content string `protobuf:"bytes,5,opt,name=Content,proto3" json:"Content,omitempty"` //规则说明
//int32 ShopLimit = 6; // 剩余总数
//int32 DayMaxLimit = 7; // 单日限购总数
DayPlayLimit int32 `protobuf:"varint,8,opt,name=DayPlayLimit,proto3" json:"DayPlayLimit,omitempty"` // 个人单日购买
ExType []*ExchangeType `protobuf:"bytes,9,rep,name=ExType,proto3" json:"ExType,omitempty"` //兑换类型
TelCharge int32 `protobuf:"varint,10,opt,name=TelCharge,proto3" json:"TelCharge,omitempty"` //话费
ItemId int32 `protobuf:"varint,11,opt,name=ItemId,proto3" json:"ItemId,omitempty"` //转化的道具Id
VipDayMaxLimit int32 `protobuf:"varint,12,opt,name=VipDayMaxLimit,proto3" json:"VipDayMaxLimit,omitempty"` //VIP每日限购
NotVipDayMaxLimit int32 `protobuf:"varint,13,opt,name=NotVipDayMaxLimit,proto3" json:"NotVipDayMaxLimit,omitempty"` //非VIP每日限购
VipShopLimit int32 `protobuf:"varint,14,opt,name=VipShopLimit,proto3" json:"VipShopLimit,omitempty"` //VIP限购总数
NotVipShopLimit int32 `protobuf:"varint,15,opt,name=NotVipShopLimit,proto3" json:"NotVipShopLimit,omitempty"` //非VIP限购总数
ShopType int32 `protobuf:"varint,16,opt,name=ShopType,proto3" json:"ShopType,omitempty"` //商品类型
TelData []*TelChargeData `protobuf:"bytes,17,rep,name=TelData,proto3" json:"TelData,omitempty"`
Items []*ItemInfo `protobuf:"bytes,18,rep,name=Items,proto3" json:"Items,omitempty"`
}
func (x *ExchangeShop) Reset() {
*x = ExchangeShop{}
if protoimpl.UnsafeEnabled {
mi := &file_common_proto_msgTypes[25]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ExchangeShop) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ExchangeShop) ProtoMessage() {}
func (x *ExchangeShop) ProtoReflect() protoreflect.Message {
mi := &file_common_proto_msgTypes[25]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ExchangeShop.ProtoReflect.Descriptor instead.
func (*ExchangeShop) Descriptor() ([]byte, []int) {
return file_common_proto_rawDescGZIP(), []int{25}
}
func (x *ExchangeShop) GetId() int32 {
if x != nil {
return x.Id
}
return 0
}
func (x *ExchangeShop) GetPicture() string {
if x != nil {
return x.Picture
}
return ""
}
func (x *ExchangeShop) GetType() int32 {
if x != nil {
return x.Type
}
return 0
}
func (x *ExchangeShop) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *ExchangeShop) GetContent() string {
if x != nil {
return x.Content
}
return ""
}
func (x *ExchangeShop) GetDayPlayLimit() int32 {
if x != nil {
return x.DayPlayLimit
}
return 0
}
func (x *ExchangeShop) GetExType() []*ExchangeType {
if x != nil {
return x.ExType
}
return nil
}
func (x *ExchangeShop) GetTelCharge() int32 {
if x != nil {
return x.TelCharge
}
return 0
}
func (x *ExchangeShop) GetItemId() int32 {
if x != nil {
return x.ItemId
}
return 0
}
func (x *ExchangeShop) GetVipDayMaxLimit() int32 {
if x != nil {
return x.VipDayMaxLimit
}
return 0
}
func (x *ExchangeShop) GetNotVipDayMaxLimit() int32 {
if x != nil {
return x.NotVipDayMaxLimit
}
return 0
}
func (x *ExchangeShop) GetVipShopLimit() int32 {
if x != nil {
return x.VipShopLimit
}
return 0
}
func (x *ExchangeShop) GetNotVipShopLimit() int32 {
if x != nil {
return x.NotVipShopLimit
}
return 0
}
func (x *ExchangeShop) GetShopType() int32 {
if x != nil {
return x.ShopType
}
return 0
}
func (x *ExchangeShop) GetTelData() []*TelChargeData {
if x != nil {
return x.TelData
}
return nil
}
func (x *ExchangeShop) GetItems() []*ItemInfo {
if x != nil {
return x.Items
}
return nil
}
type TelChargeData struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id int32 `protobuf:"varint,1,opt,name=Id,proto3" json:"Id,omitempty"`
Name string `protobuf:"bytes,2,opt,name=Name,proto3" json:"Name,omitempty"`
Url string `protobuf:"bytes,3,opt,name=Url,proto3" json:"Url,omitempty"`
}
func (x *TelChargeData) Reset() {
*x = TelChargeData{}
if protoimpl.UnsafeEnabled {
mi := &file_common_proto_msgTypes[26]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *TelChargeData) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*TelChargeData) ProtoMessage() {}
func (x *TelChargeData) ProtoReflect() protoreflect.Message {
mi := &file_common_proto_msgTypes[26]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use TelChargeData.ProtoReflect.Descriptor instead.
func (*TelChargeData) Descriptor() ([]byte, []int) {
return file_common_proto_rawDescGZIP(), []int{26}
}
func (x *TelChargeData) GetId() int32 {
if x != nil {
return x.Id
}
return 0
}
func (x *TelChargeData) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *TelChargeData) GetUrl() string {
if x != nil {
return x.Url
}
return ""
}
//兑换类型
type ExchangeType struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Price int32 `protobuf:"varint,1,opt,name=Price,proto3" json:"Price,omitempty"` // 消耗V卡数量
JPrice int32 `protobuf:"varint,2,opt,name=JPrice,proto3" json:"JPrice,omitempty"` //消耗金券数量
Cash int32 `protobuf:"varint,3,opt,name=Cash,proto3" json:"Cash,omitempty"` //消耗现金数量
DPrice int32 `protobuf:"varint,4,opt,name=DPrice,proto3" json:"DPrice,omitempty"` //消耗娃娃卡数量
Id int32 `protobuf:"varint,5,opt,name=Id,proto3" json:"Id,omitempty"` //行数
}
func (x *ExchangeType) Reset() {
*x = ExchangeType{}
if protoimpl.UnsafeEnabled {
mi := &file_common_proto_msgTypes[27]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ExchangeType) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ExchangeType) ProtoMessage() {}
func (x *ExchangeType) ProtoReflect() protoreflect.Message {
mi := &file_common_proto_msgTypes[27]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ExchangeType.ProtoReflect.Descriptor instead.
func (*ExchangeType) Descriptor() ([]byte, []int) {
return file_common_proto_rawDescGZIP(), []int{27}
}
func (x *ExchangeType) GetPrice() int32 {
if x != nil {
return x.Price
}
return 0
}
func (x *ExchangeType) GetJPrice() int32 {
if x != nil {
return x.JPrice
}
return 0
}
func (x *ExchangeType) GetCash() int32 {
if x != nil {
return x.Cash
}
return 0
}
func (x *ExchangeType) GetDPrice() int32 {
if x != nil {
return x.DPrice
}
return 0
}
func (x *ExchangeType) GetId() int32 {
if x != nil {
return x.Id
}
return 0
}
// etcd /game/exchange_shop
type ExchangeShopList struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
List []*ExchangeShop `protobuf:"bytes,1,rep,name=List,proto3" json:"List,omitempty"`
Platform string `protobuf:"bytes,2,opt,name=Platform,proto3" json:"Platform,omitempty"`
Weight []*ShopWeight `protobuf:"bytes,3,rep,name=Weight,proto3" json:"Weight,omitempty"` //分类排序
}
func (x *ExchangeShopList) Reset() {
*x = ExchangeShopList{}
if protoimpl.UnsafeEnabled {
mi := &file_common_proto_msgTypes[28]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ExchangeShopList) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ExchangeShopList) ProtoMessage() {}
func (x *ExchangeShopList) ProtoReflect() protoreflect.Message {
mi := &file_common_proto_msgTypes[28]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ExchangeShopList.ProtoReflect.Descriptor instead.
func (*ExchangeShopList) Descriptor() ([]byte, []int) {
return file_common_proto_rawDescGZIP(), []int{28}
}
func (x *ExchangeShopList) GetList() []*ExchangeShop {
if x != nil {
return x.List
}
return nil
}
func (x *ExchangeShopList) GetPlatform() string {
if x != nil {
return x.Platform
}
return ""
}
func (x *ExchangeShopList) GetWeight() []*ShopWeight {
if x != nil {
return x.Weight
}
return nil
}
type ShopWeight struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
ShopType int32 `protobuf:"varint,1,opt,name=ShopType,proto3" json:"ShopType,omitempty"`
Weight int32 `protobuf:"varint,2,opt,name=Weight,proto3" json:"Weight,omitempty"`
Name string `protobuf:"bytes,3,opt,name=Name,proto3" json:"Name,omitempty"`
IsShow int32 `protobuf:"varint,4,opt,name=IsShow,proto3" json:"IsShow,omitempty"`
Location []int32 `protobuf:"varint,5,rep,packed,name=Location,proto3" json:"Location,omitempty"` // 显示位置
}
func (x *ShopWeight) Reset() {
*x = ShopWeight{}
if protoimpl.UnsafeEnabled {
mi := &file_common_proto_msgTypes[29]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ShopWeight) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ShopWeight) ProtoMessage() {}
func (x *ShopWeight) ProtoReflect() protoreflect.Message {
mi := &file_common_proto_msgTypes[29]
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 ShopWeight.ProtoReflect.Descriptor instead.
func (*ShopWeight) Descriptor() ([]byte, []int) {
return file_common_proto_rawDescGZIP(), []int{29}
}
func (x *ShopWeight) GetShopType() int32 {
if x != nil {
return x.ShopType
}
return 0
}
func (x *ShopWeight) GetWeight() int32 {
if x != nil {
return x.Weight
}
return 0
}
func (x *ShopWeight) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *ShopWeight) GetIsShow() int32 {
if x != nil {
return x.IsShow
}
return 0
}
func (x *ShopWeight) GetLocation() []int32 {
if x != nil {
return x.Location
}
return nil
}
type ItemShop struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id int32 `protobuf:"varint,1,opt,name=Id,proto3" json:"Id,omitempty"` //商品ID
ItemId int32 `protobuf:"varint,2,opt,name=ItemId,proto3" json:"ItemId,omitempty"` //道具ID
Page int32 `protobuf:"varint,3,opt,name=Page,proto3" json:"Page,omitempty"` //页面 1金币页面 2钻石页面 3道具页面
Order int32 `protobuf:"varint,4,opt,name=Order,proto3" json:"Order,omitempty"` //排序 页面内商品的位置排序
Type int32 `protobuf:"varint,5,opt,name=Type,proto3" json:"Type,omitempty"` // 类型 1金币 2钻石 3道具类型1用金币或者钻石购买 4.道具类型2走充值购买 5其他
Location []int32 `protobuf:"varint,6,rep,packed,name=Location,proto3" json:"Location,omitempty"` // 显示位置 第1位竖版大厅 第2位Tienlen1级选场 第3位捕鱼1级选场
Picture string `protobuf:"bytes,7,opt,name=Picture,proto3" json:"Picture,omitempty"` // 图片id
Name string `protobuf:"bytes,8,opt,name=Name,proto3" json:"Name,omitempty"` // 名称
Ad int32 `protobuf:"varint,9,opt,name=Ad,proto3" json:"Ad,omitempty"` //是否观看广告 1是 2不是
AdTime int32 `protobuf:"varint,10,opt,name=AdTime,proto3" json:"AdTime,omitempty"` // 观看几次广告
RepeatTimes int32 `protobuf:"varint,11,opt,name=RepeatTimes,proto3" json:"RepeatTimes,omitempty"` // 领取次数
CoolingTime []int32 `protobuf:"varint,12,rep,packed,name=CoolingTime,proto3" json:"CoolingTime,omitempty"` // 观看冷却时间
Label []int32 `protobuf:"varint,13,rep,packed,name=Label,proto3" json:"Label,omitempty"` // 标签
AddArea []int32 `protobuf:"varint,14,rep,packed,name=AddArea,proto3" json:"AddArea,omitempty"` // 加送百分比
Amount int32 `protobuf:"varint,15,opt,name=Amount,proto3" json:"Amount,omitempty"` // 货币金额
ConstType int32 `protobuf:"varint,16,opt,name=ConstType,proto3" json:"ConstType,omitempty"` // 购买消耗类型 1金币 2钻石 3美金 4柬埔寨币
CostArea []int32 `protobuf:"varint,17,rep,packed,name=CostArea,proto3" json:"CostArea,omitempty"` //消耗区间
Award map[int64]int64 `protobuf:"bytes,18,rep,name=Award,proto3" json:"Award,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` //加赠物品
VipLevel int32 `protobuf:"varint,19,opt,name=VipLevel,proto3" json:"VipLevel,omitempty"` //Vip等级限制
Ratio int32 `protobuf:"varint,20,opt,name=Ratio,proto3" json:"Ratio,omitempty"` //权重
EndTime int32 `protobuf:"varint,21,opt,name=EndTime,proto3" json:"EndTime,omitempty"` //新手礼包结束时间间隔
FirstSwitch bool `protobuf:"varint,22,opt,name=FirstSwitch,proto3" json:"FirstSwitch,omitempty"` //首冲翻倍开关
}
func (x *ItemShop) Reset() {
*x = ItemShop{}
if protoimpl.UnsafeEnabled {
mi := &file_common_proto_msgTypes[30]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ItemShop) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ItemShop) ProtoMessage() {}
func (x *ItemShop) ProtoReflect() protoreflect.Message {
mi := &file_common_proto_msgTypes[30]
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 ItemShop.ProtoReflect.Descriptor instead.
func (*ItemShop) Descriptor() ([]byte, []int) {
return file_common_proto_rawDescGZIP(), []int{30}
}
func (x *ItemShop) GetId() int32 {
if x != nil {
return x.Id
}
return 0
}
func (x *ItemShop) GetItemId() int32 {
if x != nil {
return x.ItemId
}
return 0
}
func (x *ItemShop) GetPage() int32 {
if x != nil {
return x.Page
}
return 0
}
func (x *ItemShop) GetOrder() int32 {
if x != nil {
return x.Order
}
return 0
}
func (x *ItemShop) GetType() int32 {
if x != nil {
return x.Type
}
return 0
}
func (x *ItemShop) GetLocation() []int32 {
if x != nil {
return x.Location
}
return nil
}
func (x *ItemShop) GetPicture() string {
if x != nil {
return x.Picture
}
return ""
}
func (x *ItemShop) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *ItemShop) GetAd() int32 {
if x != nil {
return x.Ad
}
return 0
}
func (x *ItemShop) GetAdTime() int32 {
if x != nil {
return x.AdTime
}
return 0
}
func (x *ItemShop) GetRepeatTimes() int32 {
if x != nil {
return x.RepeatTimes
}
return 0
}
func (x *ItemShop) GetCoolingTime() []int32 {
if x != nil {
return x.CoolingTime
}
return nil
}
func (x *ItemShop) GetLabel() []int32 {
if x != nil {
return x.Label
}
return nil
}
func (x *ItemShop) GetAddArea() []int32 {
if x != nil {
return x.AddArea
}
return nil
}
func (x *ItemShop) GetAmount() int32 {
if x != nil {
return x.Amount
}
return 0
}
func (x *ItemShop) GetConstType() int32 {
if x != nil {
return x.ConstType
}
return 0
}
func (x *ItemShop) GetCostArea() []int32 {
if x != nil {
return x.CostArea
}
return nil
}
func (x *ItemShop) GetAward() map[int64]int64 {
if x != nil {
return x.Award
}
return nil
}
func (x *ItemShop) GetVipLevel() int32 {
if x != nil {
return x.VipLevel
}
return 0
}
func (x *ItemShop) GetRatio() int32 {
if x != nil {
return x.Ratio
}
return 0
}
func (x *ItemShop) GetEndTime() int32 {
if x != nil {
return x.EndTime
}
return 0
}
func (x *ItemShop) GetFirstSwitch() bool {
if x != nil {
return x.FirstSwitch
}
return false
}
// etcd /game/item_shop
type ItemShopList struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
List []*ItemShop `protobuf:"bytes,1,rep,name=List,proto3" json:"List,omitempty"`
Platform string `protobuf:"bytes,2,opt,name=Platform,proto3" json:"Platform,omitempty"`
}
func (x *ItemShopList) Reset() {
*x = ItemShopList{}
if protoimpl.UnsafeEnabled {
mi := &file_common_proto_msgTypes[31]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ItemShopList) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ItemShopList) ProtoMessage() {}
func (x *ItemShopList) ProtoReflect() protoreflect.Message {
mi := &file_common_proto_msgTypes[31]
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 ItemShopList.ProtoReflect.Descriptor instead.
func (*ItemShopList) Descriptor() ([]byte, []int) {
return file_common_proto_rawDescGZIP(), []int{31}
}
func (x *ItemShopList) GetList() []*ItemShop {
if x != nil {
return x.List
}
return nil
}
func (x *ItemShopList) GetPlatform() string {
if x != nil {
return x.Platform
}
return ""
}
//物品信息
type ItemInfo struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
ItemId int32 `protobuf:"varint,1,opt,name=ItemId,proto3" json:"ItemId,omitempty"` // 物品ID
ItemNum int64 `protobuf:"varint,2,opt,name=ItemNum,proto3" json:"ItemNum,omitempty"` // 物品数量
Name string `protobuf:"bytes,3,opt,name=Name,proto3" json:"Name,omitempty"` // 名称
}
func (x *ItemInfo) Reset() {
*x = ItemInfo{}
if protoimpl.UnsafeEnabled {
mi := &file_common_proto_msgTypes[32]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ItemInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ItemInfo) ProtoMessage() {}
func (x *ItemInfo) ProtoReflect() protoreflect.Message {
mi := &file_common_proto_msgTypes[32]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ItemInfo.ProtoReflect.Descriptor instead.
func (*ItemInfo) Descriptor() ([]byte, []int) {
return file_common_proto_rawDescGZIP(), []int{32}
}
func (x *ItemInfo) GetItemId() int32 {
if x != nil {
return x.ItemId
}
return 0
}
func (x *ItemInfo) GetItemNum() int64 {
if x != nil {
return x.ItemNum
}
return 0
}
func (x *ItemInfo) GetName() string {
if x != nil {
return x.Name
}
return ""
}
type MatchInfoAward struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
ItemId []*ItemInfo `protobuf:"bytes,1,rep,name=ItemId,proto3" json:"ItemId,omitempty"` // 道具
Coin int64 `protobuf:"varint,2,opt,name=Coin,proto3" json:"Coin,omitempty"` // 金币
Diamond int64 `protobuf:"varint,3,opt,name=Diamond,proto3" json:"Diamond,omitempty"` // 钻石、
UpLimit int32 `protobuf:"varint,4,opt,name=UpLimit,proto3" json:"UpLimit,omitempty"` // 名次上行
DownLimit int32 `protobuf:"varint,5,opt,name=DownLimit,proto3" json:"DownLimit,omitempty"` // 名次下行 例如 第一名为 UpLimit 1,DownLimit 1 4~10为 UpLimit 4,DownLimit 10
}
func (x *MatchInfoAward) Reset() {
*x = MatchInfoAward{}
if protoimpl.UnsafeEnabled {
mi := &file_common_proto_msgTypes[33]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *MatchInfoAward) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*MatchInfoAward) ProtoMessage() {}
func (x *MatchInfoAward) ProtoReflect() protoreflect.Message {
mi := &file_common_proto_msgTypes[33]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use MatchInfoAward.ProtoReflect.Descriptor instead.
func (*MatchInfoAward) Descriptor() ([]byte, []int) {
return file_common_proto_rawDescGZIP(), []int{33}
}
func (x *MatchInfoAward) GetItemId() []*ItemInfo {
if x != nil {
return x.ItemId
}
return nil
}
func (x *MatchInfoAward) GetCoin() int64 {
if x != nil {
return x.Coin
}
return 0
}
func (x *MatchInfoAward) GetDiamond() int64 {
if x != nil {
return x.Diamond
}
return 0
}
func (x *MatchInfoAward) GetUpLimit() int32 {
if x != nil {
return x.UpLimit
}
return 0
}
func (x *MatchInfoAward) GetDownLimit() int32 {
if x != nil {
return x.DownLimit
}
return 0
}
// 比赛场配置
type GameMatchDate struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id int32 `protobuf:"varint,1,opt,name=Id,proto3" json:"Id,omitempty"` // 序号
GameFreeId int32 `protobuf:"varint,2,opt,name=GameFreeId,proto3" json:"GameFreeId,omitempty"` // 玩法类型 所用的玩法ID
MatchType int32 `protobuf:"varint,3,opt,name=MatchType,proto3" json:"MatchType,omitempty"` // 比赛类型 1.锦标赛 2.冠军赛
MatchName string `protobuf:"bytes,4,opt,name=MatchName,proto3" json:"MatchName,omitempty"` // 场次名字
MatchNumebr int32 `protobuf:"varint,5,opt,name=MatchNumebr,proto3" json:"MatchNumebr,omitempty"` // 报名人数
MatchPromotion []int32 `protobuf:"varint,6,rep,packed,name=MatchPromotion,proto3" json:"MatchPromotion,omitempty"` // 晋级方式
MatchSwitch int32 `protobuf:"varint,7,opt,name=MatchSwitch,proto3" json:"MatchSwitch,omitempty"` // 1.开启 2.关闭
Award []*MatchInfoAward `protobuf:"bytes,8,rep,name=Award,proto3" json:"Award,omitempty"` // 比赛奖励
SignupCostCoin int64 `protobuf:"varint,9,opt,name=SignupCostCoin,proto3" json:"SignupCostCoin,omitempty"` //报名消耗金币
SignupCostDiamond int64 `protobuf:"varint,10,opt,name=SignupCostDiamond,proto3" json:"SignupCostDiamond,omitempty"` //报名消耗钻石
SignupCostItem *ItemInfo `protobuf:"bytes,11,opt,name=SignupCostItem,proto3" json:"SignupCostItem,omitempty"` //报名消耗道具
MatchTimeType int32 `protobuf:"varint,12,opt,name=MatchTimeType,proto3" json:"MatchTimeType,omitempty"` //冠军赛时效类型 0无时效 1重复时间段 2一次性时间段
MatchTimeWeek []int32 `protobuf:"varint,13,rep,packed,name=MatchTimeWeek,proto3" json:"MatchTimeWeek,omitempty"` //周几
MatchTimeStartHMS int32 `protobuf:"varint,14,opt,name=MatchTimeStartHMS,proto3" json:"MatchTimeStartHMS,omitempty"` //几点开始(时*10000 + 分*100 + 秒)
MatchTimeEndHMS int32 `protobuf:"varint,15,opt,name=MatchTimeEndHMS,proto3" json:"MatchTimeEndHMS,omitempty"` //几点结束(时*10000 + 分*100 + 秒)
MatchTimeStamp []int64 `protobuf:"varint,16,rep,packed,name=MatchTimeStamp,proto3" json:"MatchTimeStamp,omitempty"` //哪一天(时间戳:开始时间戳-结束时间戳)
TitleURL string `protobuf:"bytes,17,opt,name=TitleURL,proto3" json:"TitleURL,omitempty"` //比赛标题后台自定义
AwardShow string `protobuf:"bytes,18,opt,name=AwardShow,proto3" json:"AwardShow,omitempty"` //主要奖励展示
Rule string `protobuf:"bytes,19,opt,name=Rule,proto3" json:"Rule,omitempty"`
SortId int32 `protobuf:"varint,20,opt,name=SortId,proto3" json:"SortId,omitempty"`
UseRobot int32 `protobuf:"varint,21,opt,name=UseRobot,proto3" json:"UseRobot,omitempty"` //0机器人有参与 1纯真人
MatchLevel int32 `protobuf:"varint,22,opt,name=MatchLevel,proto3" json:"MatchLevel,omitempty"` // 难度等级
OnChannelName []string `protobuf:"bytes,23,rep,name=OnChannelName,proto3" json:"OnChannelName,omitempty"` // 开启的渠道名称
CardType int32 `protobuf:"varint,24,opt,name=CardType,proto3" json:"CardType,omitempty"` // 手机卡类型
ShowId int32 `protobuf:"varint,25,opt,name=ShowId,proto3" json:"ShowId,omitempty"` // 比赛区分
AwardNum int32 `protobuf:"varint,26,opt,name=AwardNum,proto3" json:"AwardNum,omitempty"` //比赛奖励剩余数量
AudienceSwitch int32 `protobuf:"varint,27,opt,name=AudienceSwitch,proto3" json:"AudienceSwitch,omitempty"` // 观战开关 1开启 2关闭
}
func (x *GameMatchDate) Reset() {
*x = GameMatchDate{}
if protoimpl.UnsafeEnabled {
mi := &file_common_proto_msgTypes[34]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GameMatchDate) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GameMatchDate) ProtoMessage() {}
func (x *GameMatchDate) ProtoReflect() protoreflect.Message {
mi := &file_common_proto_msgTypes[34]
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 GameMatchDate.ProtoReflect.Descriptor instead.
func (*GameMatchDate) Descriptor() ([]byte, []int) {
return file_common_proto_rawDescGZIP(), []int{34}
}
func (x *GameMatchDate) GetId() int32 {
if x != nil {
return x.Id
}
return 0
}
func (x *GameMatchDate) GetGameFreeId() int32 {
if x != nil {
return x.GameFreeId
}
return 0
}
func (x *GameMatchDate) GetMatchType() int32 {
if x != nil {
return x.MatchType
}
return 0
}
func (x *GameMatchDate) GetMatchName() string {
if x != nil {
return x.MatchName
}
return ""
}
func (x *GameMatchDate) GetMatchNumebr() int32 {
if x != nil {
return x.MatchNumebr
}
return 0
}
func (x *GameMatchDate) GetMatchPromotion() []int32 {
if x != nil {
return x.MatchPromotion
}
return nil
}
func (x *GameMatchDate) GetMatchSwitch() int32 {
if x != nil {
return x.MatchSwitch
}
return 0
}
func (x *GameMatchDate) GetAward() []*MatchInfoAward {
if x != nil {
return x.Award
}
return nil
}
func (x *GameMatchDate) GetSignupCostCoin() int64 {
if x != nil {
return x.SignupCostCoin
}
return 0
}
func (x *GameMatchDate) GetSignupCostDiamond() int64 {
if x != nil {
return x.SignupCostDiamond
}
return 0
}
func (x *GameMatchDate) GetSignupCostItem() *ItemInfo {
if x != nil {
return x.SignupCostItem
}
return nil
}
func (x *GameMatchDate) GetMatchTimeType() int32 {
if x != nil {
return x.MatchTimeType
}
return 0
}
func (x *GameMatchDate) GetMatchTimeWeek() []int32 {
if x != nil {
return x.MatchTimeWeek
}
return nil
}
func (x *GameMatchDate) GetMatchTimeStartHMS() int32 {
if x != nil {
return x.MatchTimeStartHMS
}
return 0
}
func (x *GameMatchDate) GetMatchTimeEndHMS() int32 {
if x != nil {
return x.MatchTimeEndHMS
}
return 0
}
func (x *GameMatchDate) GetMatchTimeStamp() []int64 {
if x != nil {
return x.MatchTimeStamp
}
return nil
}
func (x *GameMatchDate) GetTitleURL() string {
if x != nil {
return x.TitleURL
}
return ""
}
func (x *GameMatchDate) GetAwardShow() string {
if x != nil {
return x.AwardShow
}
return ""
}
func (x *GameMatchDate) GetRule() string {
if x != nil {
return x.Rule
}
return ""
}
func (x *GameMatchDate) GetSortId() int32 {
if x != nil {
return x.SortId
}
return 0
}
func (x *GameMatchDate) GetUseRobot() int32 {
if x != nil {
return x.UseRobot
}
return 0
}
func (x *GameMatchDate) GetMatchLevel() int32 {
if x != nil {
return x.MatchLevel
}
return 0
}
func (x *GameMatchDate) GetOnChannelName() []string {
if x != nil {
return x.OnChannelName
}
return nil
}
func (x *GameMatchDate) GetCardType() int32 {
if x != nil {
return x.CardType
}
return 0
}
func (x *GameMatchDate) GetShowId() int32 {
if x != nil {
return x.ShowId
}
return 0
}
func (x *GameMatchDate) GetAwardNum() int32 {
if x != nil {
return x.AwardNum
}
return 0
}
func (x *GameMatchDate) GetAudienceSwitch() int32 {
if x != nil {
return x.AudienceSwitch
}
return 0
}
// etcd /game/game_match
type GameMatchDateList struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
List []*GameMatchDate `protobuf:"bytes,1,rep,name=List,proto3" json:"List,omitempty"`
Platform string `protobuf:"bytes,2,opt,name=Platform,proto3" json:"Platform,omitempty"`
}
func (x *GameMatchDateList) Reset() {
*x = GameMatchDateList{}
if protoimpl.UnsafeEnabled {
mi := &file_common_proto_msgTypes[35]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GameMatchDateList) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GameMatchDateList) ProtoMessage() {}
func (x *GameMatchDateList) ProtoReflect() protoreflect.Message {
mi := &file_common_proto_msgTypes[35]
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 GameMatchDateList.ProtoReflect.Descriptor instead.
func (*GameMatchDateList) Descriptor() ([]byte, []int) {
return file_common_proto_rawDescGZIP(), []int{35}
}
func (x *GameMatchDateList) GetList() []*GameMatchDate {
if x != nil {
return x.List
}
return nil
}
func (x *GameMatchDateList) GetPlatform() string {
if x != nil {
return x.Platform
}
return ""
}
type MatchTypeInfo struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Name string `protobuf:"bytes,1,opt,name=Name,proto3" json:"Name,omitempty"` // 名称
SortId int32 `protobuf:"varint,2,opt,name=SortId,proto3" json:"SortId,omitempty"` // 序号
On bool `protobuf:"varint,3,opt,name=On,proto3" json:"On,omitempty"` // 开关
Id int32 `protobuf:"varint,4,opt,name=Id,proto3" json:"Id,omitempty"` // 类型id
}
func (x *MatchTypeInfo) Reset() {
*x = MatchTypeInfo{}
if protoimpl.UnsafeEnabled {
mi := &file_common_proto_msgTypes[36]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *MatchTypeInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*MatchTypeInfo) ProtoMessage() {}
func (x *MatchTypeInfo) ProtoReflect() protoreflect.Message {
mi := &file_common_proto_msgTypes[36]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use MatchTypeInfo.ProtoReflect.Descriptor instead.
func (*MatchTypeInfo) Descriptor() ([]byte, []int) {
return file_common_proto_rawDescGZIP(), []int{36}
}
func (x *MatchTypeInfo) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *MatchTypeInfo) GetSortId() int32 {
if x != nil {
return x.SortId
}
return 0
}
func (x *MatchTypeInfo) GetOn() bool {
if x != nil {
return x.On
}
return false
}
func (x *MatchTypeInfo) GetId() int32 {
if x != nil {
return x.Id
}
return 0
}
// etcd /game/match_type
type GameMatchType struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Platform string `protobuf:"bytes,1,opt,name=Platform,proto3" json:"Platform,omitempty"`
List []*MatchTypeInfo `protobuf:"bytes,2,rep,name=List,proto3" json:"List,omitempty"` // 比赛类型列表
}
func (x *GameMatchType) Reset() {
*x = GameMatchType{}
if protoimpl.UnsafeEnabled {
mi := &file_common_proto_msgTypes[37]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GameMatchType) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GameMatchType) ProtoMessage() {}
func (x *GameMatchType) ProtoReflect() protoreflect.Message {
mi := &file_common_proto_msgTypes[37]
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 GameMatchType.ProtoReflect.Descriptor instead.
func (*GameMatchType) Descriptor() ([]byte, []int) {
return file_common_proto_rawDescGZIP(), []int{37}
}
func (x *GameMatchType) GetPlatform() string {
if x != nil {
return x.Platform
}
return ""
}
func (x *GameMatchType) GetList() []*MatchTypeInfo {
if x != nil {
return x.List
}
return nil
}
type WelfareDate struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Grade int32 `protobuf:"varint,1,opt,name=Grade,proto3" json:"Grade,omitempty"` // 数量
Type int32 `protobuf:"varint,2,opt,name=Type,proto3" json:"Type,omitempty"` // 类型1.金币 2.钻石 3.道具
Name string `protobuf:"bytes,3,opt,name=Name,proto3" json:"Name,omitempty"` // 名称
Item_Id int32 `protobuf:"varint,4,opt,name=Item_Id,json=ItemId,proto3" json:"Item_Id,omitempty"` // 道具id
}
func (x *WelfareDate) Reset() {
*x = WelfareDate{}
if protoimpl.UnsafeEnabled {
mi := &file_common_proto_msgTypes[38]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *WelfareDate) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*WelfareDate) ProtoMessage() {}
func (x *WelfareDate) ProtoReflect() protoreflect.Message {
mi := &file_common_proto_msgTypes[38]
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 WelfareDate.ProtoReflect.Descriptor instead.
func (*WelfareDate) Descriptor() ([]byte, []int) {
return file_common_proto_rawDescGZIP(), []int{38}
}
func (x *WelfareDate) GetGrade() int32 {
if x != nil {
return x.Grade
}
return 0
}
func (x *WelfareDate) GetType() int32 {
if x != nil {
return x.Type
}
return 0
}
func (x *WelfareDate) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *WelfareDate) GetItem_Id() int32 {
if x != nil {
return x.Item_Id
}
return 0
}
type WelfareTurnplateDate struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id int32 `protobuf:"varint,1,opt,name=Id,proto3" json:"Id,omitempty"` // 序号
Date []*WelfareDate `protobuf:"bytes,2,rep,name=Date,proto3" json:"Date,omitempty"` // 奖励
}
func (x *WelfareTurnplateDate) Reset() {
*x = WelfareTurnplateDate{}
if protoimpl.UnsafeEnabled {
mi := &file_common_proto_msgTypes[39]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *WelfareTurnplateDate) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*WelfareTurnplateDate) ProtoMessage() {}
func (x *WelfareTurnplateDate) ProtoReflect() protoreflect.Message {
mi := &file_common_proto_msgTypes[39]
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 WelfareTurnplateDate.ProtoReflect.Descriptor instead.
func (*WelfareTurnplateDate) Descriptor() ([]byte, []int) {
return file_common_proto_rawDescGZIP(), []int{39}
}
func (x *WelfareTurnplateDate) GetId() int32 {
if x != nil {
return x.Id
}
return 0
}
func (x *WelfareTurnplateDate) GetDate() []*WelfareDate {
if x != nil {
return x.Date
}
return nil
}
type WelfareTurnplateRate struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Rate []int32 `protobuf:"varint,1,rep,packed,name=Rate,proto3" json:"Rate,omitempty"` // 转盘概率
}
func (x *WelfareTurnplateRate) Reset() {
*x = WelfareTurnplateRate{}
if protoimpl.UnsafeEnabled {
mi := &file_common_proto_msgTypes[40]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *WelfareTurnplateRate) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*WelfareTurnplateRate) ProtoMessage() {}
func (x *WelfareTurnplateRate) ProtoReflect() protoreflect.Message {
mi := &file_common_proto_msgTypes[40]
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 WelfareTurnplateRate.ProtoReflect.Descriptor instead.
func (*WelfareTurnplateRate) Descriptor() ([]byte, []int) {
return file_common_proto_rawDescGZIP(), []int{40}
}
func (x *WelfareTurnplateRate) GetRate() []int32 {
if x != nil {
return x.Rate
}
return nil
}
// etcd /game/act_turnplate 转盘
type WelfareTurnplateDateList struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
List []*WelfareTurnplateDate `protobuf:"bytes,1,rep,name=List,proto3" json:"List,omitempty"` // 转盘奖励
RateList []*WelfareTurnplateRate `protobuf:"bytes,2,rep,name=RateList,proto3" json:"RateList,omitempty"` // 转盘概率
Platform string `protobuf:"bytes,3,opt,name=Platform,proto3" json:"Platform,omitempty"`
Switch int32 `protobuf:"varint,4,opt,name=Switch,proto3" json:"Switch,omitempty"` // 1.开启 2.关闭
}
func (x *WelfareTurnplateDateList) Reset() {
*x = WelfareTurnplateDateList{}
if protoimpl.UnsafeEnabled {
mi := &file_common_proto_msgTypes[41]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *WelfareTurnplateDateList) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*WelfareTurnplateDateList) ProtoMessage() {}
func (x *WelfareTurnplateDateList) ProtoReflect() protoreflect.Message {
mi := &file_common_proto_msgTypes[41]
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 WelfareTurnplateDateList.ProtoReflect.Descriptor instead.
func (*WelfareTurnplateDateList) Descriptor() ([]byte, []int) {
return file_common_proto_rawDescGZIP(), []int{41}
}
func (x *WelfareTurnplateDateList) GetList() []*WelfareTurnplateDate {
if x != nil {
return x.List
}
return nil
}
func (x *WelfareTurnplateDateList) GetRateList() []*WelfareTurnplateRate {
if x != nil {
return x.RateList
}
return nil
}
func (x *WelfareTurnplateDateList) GetPlatform() string {
if x != nil {
return x.Platform
}
return ""
}
func (x *WelfareTurnplateDateList) GetSwitch() int32 {
if x != nil {
return x.Switch
}
return 0
}
type AddUpWelfareDate struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
AddUpDay int32 `protobuf:"varint,1,opt,name=AddUpDay,proto3" json:"AddUpDay,omitempty"` // 累计几天
AddUpDate []*WelfareDate `protobuf:"bytes,2,rep,name=AddUpDate,proto3" json:"AddUpDate,omitempty"` // 累计奖励
}
func (x *AddUpWelfareDate) Reset() {
*x = AddUpWelfareDate{}
if protoimpl.UnsafeEnabled {
mi := &file_common_proto_msgTypes[42]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *AddUpWelfareDate) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*AddUpWelfareDate) ProtoMessage() {}
func (x *AddUpWelfareDate) ProtoReflect() protoreflect.Message {
mi := &file_common_proto_msgTypes[42]
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 AddUpWelfareDate.ProtoReflect.Descriptor instead.
func (*AddUpWelfareDate) Descriptor() ([]byte, []int) {
return file_common_proto_rawDescGZIP(), []int{42}
}
func (x *AddUpWelfareDate) GetAddUpDay() int32 {
if x != nil {
return x.AddUpDay
}
return 0
}
func (x *AddUpWelfareDate) GetAddUpDate() []*WelfareDate {
if x != nil {
return x.AddUpDate
}
return nil
}
type AddUpDate2TypeData struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Day int32 `protobuf:"varint,1,opt,name=Day,proto3" json:"Day,omitempty"`
Id int32 `protobuf:"varint,2,opt,name=Id,proto3" json:"Id,omitempty"`
Num int32 `protobuf:"varint,3,opt,name=Num,proto3" json:"Num,omitempty"`
}
func (x *AddUpDate2TypeData) Reset() {
*x = AddUpDate2TypeData{}
if protoimpl.UnsafeEnabled {
mi := &file_common_proto_msgTypes[43]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *AddUpDate2TypeData) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*AddUpDate2TypeData) ProtoMessage() {}
func (x *AddUpDate2TypeData) ProtoReflect() protoreflect.Message {
mi := &file_common_proto_msgTypes[43]
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 AddUpDate2TypeData.ProtoReflect.Descriptor instead.
func (*AddUpDate2TypeData) Descriptor() ([]byte, []int) {
return file_common_proto_rawDescGZIP(), []int{43}
}
func (x *AddUpDate2TypeData) GetDay() int32 {
if x != nil {
return x.Day
}
return 0
}
func (x *AddUpDate2TypeData) GetId() int32 {
if x != nil {
return x.Id
}
return 0
}
func (x *AddUpDate2TypeData) GetNum() int32 {
if x != nil {
return x.Num
}
return 0
}
type Welfare7SignDate struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Day int32 `protobuf:"varint,1,opt,name=Day,proto3" json:"Day,omitempty"` // 第几天
Date []*WelfareDate `protobuf:"bytes,2,rep,name=Date,proto3" json:"Date,omitempty"` // 奖励
AddUpDate []*AddUpWelfareDate `protobuf:"bytes,3,rep,name=AddUpDate,proto3" json:"AddUpDate,omitempty"` // 累计奖励
AddUpDate2 []*AddUpWelfareDate `protobuf:"bytes,4,rep,name=AddUpDate2,proto3" json:"AddUpDate2,omitempty"` //进阶奖励
AddUpDate2Google []*AddUpWelfareDate `protobuf:"bytes,5,rep,name=AddUpDate2Google,proto3" json:"AddUpDate2Google,omitempty"` //谷歌渠道进阶奖励
AddUpDate2Type []*AddUpDate2TypeData `protobuf:"bytes,6,rep,name=AddUpDate2Type,proto3" json:"AddUpDate2Type,omitempty"` //进阶奖励领取条件
}
func (x *Welfare7SignDate) Reset() {
*x = Welfare7SignDate{}
if protoimpl.UnsafeEnabled {
mi := &file_common_proto_msgTypes[44]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Welfare7SignDate) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Welfare7SignDate) ProtoMessage() {}
func (x *Welfare7SignDate) ProtoReflect() protoreflect.Message {
mi := &file_common_proto_msgTypes[44]
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 Welfare7SignDate.ProtoReflect.Descriptor instead.
func (*Welfare7SignDate) Descriptor() ([]byte, []int) {
return file_common_proto_rawDescGZIP(), []int{44}
}
func (x *Welfare7SignDate) GetDay() int32 {
if x != nil {
return x.Day
}
return 0
}
func (x *Welfare7SignDate) GetDate() []*WelfareDate {
if x != nil {
return x.Date
}
return nil
}
func (x *Welfare7SignDate) GetAddUpDate() []*AddUpWelfareDate {
if x != nil {
return x.AddUpDate
}
return nil
}
func (x *Welfare7SignDate) GetAddUpDate2() []*AddUpWelfareDate {
if x != nil {
return x.AddUpDate2
}
return nil
}
func (x *Welfare7SignDate) GetAddUpDate2Google() []*AddUpWelfareDate {
if x != nil {
return x.AddUpDate2Google
}
return nil
}
func (x *Welfare7SignDate) GetAddUpDate2Type() []*AddUpDate2TypeData {
if x != nil {
return x.AddUpDate2Type
}
return nil
}
// etcd /game/act_7sign 7日签到
type Welfare7SignDateList struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
List []*Welfare7SignDate `protobuf:"bytes,1,rep,name=List,proto3" json:"List,omitempty"` // 七日签到
Platform string `protobuf:"bytes,2,opt,name=Platform,proto3" json:"Platform,omitempty"`
Switch int32 `protobuf:"varint,3,opt,name=Switch,proto3" json:"Switch,omitempty"` // 1.开启 2.关闭
}
func (x *Welfare7SignDateList) Reset() {
*x = Welfare7SignDateList{}
if protoimpl.UnsafeEnabled {
mi := &file_common_proto_msgTypes[45]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Welfare7SignDateList) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Welfare7SignDateList) ProtoMessage() {}
func (x *Welfare7SignDateList) ProtoReflect() protoreflect.Message {
mi := &file_common_proto_msgTypes[45]
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 Welfare7SignDateList.ProtoReflect.Descriptor instead.
func (*Welfare7SignDateList) Descriptor() ([]byte, []int) {
return file_common_proto_rawDescGZIP(), []int{45}
}
func (x *Welfare7SignDateList) GetList() []*Welfare7SignDate {
if x != nil {
return x.List
}
return nil
}
func (x *Welfare7SignDateList) GetPlatform() string {
if x != nil {
return x.Platform
}
return ""
}
func (x *Welfare7SignDateList) GetSwitch() int32 {
if x != nil {
return x.Switch
}
return 0
}
type BlindBoxData struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id int32 `protobuf:"varint,1,opt,name=Id,proto3" json:"Id,omitempty"` // 序号
Type int32 `protobuf:"varint,2,opt,name=Type,proto3" json:"Type,omitempty"` // 类型1.金币 2.钻石
Name string `protobuf:"bytes,3,opt,name=Name,proto3" json:"Name,omitempty"` // 名称
Grade int32 `protobuf:"varint,4,opt,name=Grade,proto3" json:"Grade,omitempty"` // 数量
Consume int32 `protobuf:"varint,5,opt,name=Consume,proto3" json:"Consume,omitempty"` // 购买消耗类型
Price1 int64 `protobuf:"varint,6,opt,name=price1,proto3" json:"price1,omitempty"` // 原价
Price2 int64 `protobuf:"varint,7,opt,name=price2,proto3" json:"price2,omitempty"` // 现价
Discount float64 `protobuf:"fixed64,8,opt,name=Discount,proto3" json:"Discount,omitempty"` // 折扣
Item_Id int32 `protobuf:"varint,9,opt,name=Item_Id,json=ItemId,proto3" json:"Item_Id,omitempty"` // 道具id
}
func (x *BlindBoxData) Reset() {
*x = BlindBoxData{}
if protoimpl.UnsafeEnabled {
mi := &file_common_proto_msgTypes[46]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *BlindBoxData) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*BlindBoxData) ProtoMessage() {}
func (x *BlindBoxData) ProtoReflect() protoreflect.Message {
mi := &file_common_proto_msgTypes[46]
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 BlindBoxData.ProtoReflect.Descriptor instead.
func (*BlindBoxData) Descriptor() ([]byte, []int) {
return file_common_proto_rawDescGZIP(), []int{46}
}
func (x *BlindBoxData) GetId() int32 {
if x != nil {
return x.Id
}
return 0
}
func (x *BlindBoxData) GetType() int32 {
if x != nil {
return x.Type
}
return 0
}
func (x *BlindBoxData) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *BlindBoxData) GetGrade() int32 {
if x != nil {
return x.Grade
}
return 0
}
func (x *BlindBoxData) GetConsume() int32 {
if x != nil {
return x.Consume
}
return 0
}
func (x *BlindBoxData) GetPrice1() int64 {
if x != nil {
return x.Price1
}
return 0
}
func (x *BlindBoxData) GetPrice2() int64 {
if x != nil {
return x.Price2
}
return 0
}
func (x *BlindBoxData) GetDiscount() float64 {
if x != nil {
return x.Discount
}
return 0
}
func (x *BlindBoxData) GetItem_Id() int32 {
if x != nil {
return x.Item_Id
}
return 0
}
// etcd /game/act_blindbox 盲盒
type WelfareBlindBoxDataList struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
List []*BlindBoxData `protobuf:"bytes,1,rep,name=List,proto3" json:"List,omitempty"` // 盲盒
Platform string `protobuf:"bytes,2,opt,name=Platform,proto3" json:"Platform,omitempty"`
Switch int32 `protobuf:"varint,3,opt,name=Switch,proto3" json:"Switch,omitempty"` // 1.开启 2.关闭
Cycle int32 `protobuf:"varint,4,opt,name=Cycle,proto3" json:"Cycle,omitempty"` // 循环 1.开启 2.关闭
MinId int32 `protobuf:"varint,5,opt,name=MinId,proto3" json:"MinId,omitempty"` // 最低序号
}
func (x *WelfareBlindBoxDataList) Reset() {
*x = WelfareBlindBoxDataList{}
if protoimpl.UnsafeEnabled {
mi := &file_common_proto_msgTypes[47]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *WelfareBlindBoxDataList) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*WelfareBlindBoxDataList) ProtoMessage() {}
func (x *WelfareBlindBoxDataList) ProtoReflect() protoreflect.Message {
mi := &file_common_proto_msgTypes[47]
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 WelfareBlindBoxDataList.ProtoReflect.Descriptor instead.
func (*WelfareBlindBoxDataList) Descriptor() ([]byte, []int) {
return file_common_proto_rawDescGZIP(), []int{47}
}
func (x *WelfareBlindBoxDataList) GetList() []*BlindBoxData {
if x != nil {
return x.List
}
return nil
}
func (x *WelfareBlindBoxDataList) GetPlatform() string {
if x != nil {
return x.Platform
}
return ""
}
func (x *WelfareBlindBoxDataList) GetSwitch() int32 {
if x != nil {
return x.Switch
}
return 0
}
func (x *WelfareBlindBoxDataList) GetCycle() int32 {
if x != nil {
return x.Cycle
}
return 0
}
func (x *WelfareBlindBoxDataList) GetMinId() int32 {
if x != nil {
return x.MinId
}
return 0
}
type WelfareSpree struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Day int32 `protobuf:"varint,1,opt,name=Day,proto3" json:"Day,omitempty"` // 序号
Item []*WelfareDate `protobuf:"bytes,2,rep,name=Item,proto3" json:"Item,omitempty"` // 道具
VIPEX int32 `protobuf:"varint,3,opt,name=VIPEX,proto3" json:"VIPEX,omitempty"` // VIP经验
Consume int32 `protobuf:"varint,5,opt,name=Consume,proto3" json:"Consume,omitempty"` // 购买消耗类型
Price1 int64 `protobuf:"varint,6,opt,name=price1,proto3" json:"price1,omitempty"` // 原价
Price2 int64 `protobuf:"varint,7,opt,name=price2,proto3" json:"price2,omitempty"` // 现价
Discount float64 `protobuf:"fixed64,8,opt,name=Discount,proto3" json:"Discount,omitempty"` // 折扣
}
func (x *WelfareSpree) Reset() {
*x = WelfareSpree{}
if protoimpl.UnsafeEnabled {
mi := &file_common_proto_msgTypes[48]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *WelfareSpree) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*WelfareSpree) ProtoMessage() {}
func (x *WelfareSpree) ProtoReflect() protoreflect.Message {
mi := &file_common_proto_msgTypes[48]
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 WelfareSpree.ProtoReflect.Descriptor instead.
func (*WelfareSpree) Descriptor() ([]byte, []int) {
return file_common_proto_rawDescGZIP(), []int{48}
}
func (x *WelfareSpree) GetDay() int32 {
if x != nil {
return x.Day
}
return 0
}
func (x *WelfareSpree) GetItem() []*WelfareDate {
if x != nil {
return x.Item
}
return nil
}
func (x *WelfareSpree) GetVIPEX() int32 {
if x != nil {
return x.VIPEX
}
return 0
}
func (x *WelfareSpree) GetConsume() int32 {
if x != nil {
return x.Consume
}
return 0
}
func (x *WelfareSpree) GetPrice1() int64 {
if x != nil {
return x.Price1
}
return 0
}
func (x *WelfareSpree) GetPrice2() int64 {
if x != nil {
return x.Price2
}
return 0
}
func (x *WelfareSpree) GetDiscount() float64 {
if x != nil {
return x.Discount
}
return 0
}
// etcd /game/act_FirstPay 首充
type WelfareFirstPayDataList struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
List []*WelfareSpree `protobuf:"bytes,1,rep,name=List,proto3" json:"List,omitempty"`
Platform string `protobuf:"bytes,2,opt,name=Platform,proto3" json:"Platform,omitempty"`
Switch int32 `protobuf:"varint,3,opt,name=Switch,proto3" json:"Switch,omitempty"` // 1.开启 2.关闭
Cycle int32 `protobuf:"varint,4,opt,name=Cycle,proto3" json:"Cycle,omitempty"` // 循环 1.开启 2.关闭
}
func (x *WelfareFirstPayDataList) Reset() {
*x = WelfareFirstPayDataList{}
if protoimpl.UnsafeEnabled {
mi := &file_common_proto_msgTypes[49]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *WelfareFirstPayDataList) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*WelfareFirstPayDataList) ProtoMessage() {}
func (x *WelfareFirstPayDataList) ProtoReflect() protoreflect.Message {
mi := &file_common_proto_msgTypes[49]
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 WelfareFirstPayDataList.ProtoReflect.Descriptor instead.
func (*WelfareFirstPayDataList) Descriptor() ([]byte, []int) {
return file_common_proto_rawDescGZIP(), []int{49}
}
func (x *WelfareFirstPayDataList) GetList() []*WelfareSpree {
if x != nil {
return x.List
}
return nil
}
func (x *WelfareFirstPayDataList) GetPlatform() string {
if x != nil {
return x.Platform
}
return ""
}
func (x *WelfareFirstPayDataList) GetSwitch() int32 {
if x != nil {
return x.Switch
}
return 0
}
func (x *WelfareFirstPayDataList) GetCycle() int32 {
if x != nil {
return x.Cycle
}
return 0
}
// etcd /game/act_ContinuousPay 连续充值
type WelfareContinuousPayDataList struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
List []*WelfareSpree `protobuf:"bytes,1,rep,name=List,proto3" json:"List,omitempty"` // 连续充值
Platform string `protobuf:"bytes,2,opt,name=Platform,proto3" json:"Platform,omitempty"`
Switch int32 `protobuf:"varint,3,opt,name=Switch,proto3" json:"Switch,omitempty"` // 1.开启 2.关闭
Cycle int32 `protobuf:"varint,4,opt,name=Cycle,proto3" json:"Cycle,omitempty"` // 循环 1.开启 2.关闭
Break int32 `protobuf:"varint,5,opt,name=Break,proto3" json:"Break,omitempty"` // 中断 1.开启 2.关闭
}
func (x *WelfareContinuousPayDataList) Reset() {
*x = WelfareContinuousPayDataList{}
if protoimpl.UnsafeEnabled {
mi := &file_common_proto_msgTypes[50]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *WelfareContinuousPayDataList) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*WelfareContinuousPayDataList) ProtoMessage() {}
func (x *WelfareContinuousPayDataList) ProtoReflect() protoreflect.Message {
mi := &file_common_proto_msgTypes[50]
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 WelfareContinuousPayDataList.ProtoReflect.Descriptor instead.
func (*WelfareContinuousPayDataList) Descriptor() ([]byte, []int) {
return file_common_proto_rawDescGZIP(), []int{50}
}
func (x *WelfareContinuousPayDataList) GetList() []*WelfareSpree {
if x != nil {
return x.List
}
return nil
}
func (x *WelfareContinuousPayDataList) GetPlatform() string {
if x != nil {
return x.Platform
}
return ""
}
func (x *WelfareContinuousPayDataList) GetSwitch() int32 {
if x != nil {
return x.Switch
}
return 0
}
func (x *WelfareContinuousPayDataList) GetCycle() int32 {
if x != nil {
return x.Cycle
}
return 0
}
func (x *WelfareContinuousPayDataList) GetBreak() int32 {
if x != nil {
return x.Break
}
return 0
}
type VIPcfg struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
VipId int32 `protobuf:"varint,1,opt,name=VipId,proto3" json:"VipId,omitempty"` // 序号
Award map[int64]int64 `protobuf:"bytes,2,rep,name=Award,proto3" json:"Award,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` // 道具
VipEx int32 `protobuf:"varint,3,opt,name=VipEx,proto3" json:"VipEx,omitempty"` // VIP经验
Price int64 `protobuf:"varint,4,opt,name=Price,proto3" json:"Price,omitempty"` // 金额
Privilege1 map[int64]int64 `protobuf:"bytes,5,rep,name=Privilege1,proto3" json:"Privilege1,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` //特权1 VIP比赛场免费次数
Privilege2 []int32 `protobuf:"varint,6,rep,packed,name=Privilege2,proto3" json:"Privilege2,omitempty"` //每日金币 0金币值 1充值金额
Privilege3 []int32 `protobuf:"varint,7,rep,packed,name=Privilege3,proto3" json:"Privilege3,omitempty"`
Privilege4 int32 `protobuf:"varint,8,opt,name=Privilege4,proto3" json:"Privilege4,omitempty"`
Privilege5 int32 `protobuf:"varint,9,opt,name=Privilege5,proto3" json:"Privilege5,omitempty"`
Privilege6 int32 `protobuf:"varint,10,opt,name=Privilege6,proto3" json:"Privilege6,omitempty"`
Privilege7 map[int64]int64 `protobuf:"bytes,11,rep,name=Privilege7,proto3" json:"Privilege7,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
Privilege7Price int32 `protobuf:"varint,12,opt,name=Privilege7Price,proto3" json:"Privilege7Price,omitempty"`
Privilege8 int32 `protobuf:"varint,13,opt,name=Privilege8,proto3" json:"Privilege8,omitempty"`
RewardOutlineID []int32 `protobuf:"varint,14,rep,packed,name=RewardOutlineID,proto3" json:"RewardOutlineID,omitempty"`
ShopId2 int32 `protobuf:"varint,15,opt,name=ShopId2,proto3" json:"ShopId2,omitempty"`
ShopId7 int32 `protobuf:"varint,16,opt,name=ShopId7,proto3" json:"ShopId7,omitempty"`
MatchFreeTimes int32 `protobuf:"varint,17,opt,name=MatchFreeTimes,proto3" json:"MatchFreeTimes,omitempty"` // vip比赛场免费次数
Privilege9 map[int64]int64 `protobuf:"bytes,18,rep,name=Privilege9,proto3" json:"Privilege9,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` // vip免费礼包每个vip等级领取一次
}
func (x *VIPcfg) Reset() {
*x = VIPcfg{}
if protoimpl.UnsafeEnabled {
mi := &file_common_proto_msgTypes[51]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *VIPcfg) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*VIPcfg) ProtoMessage() {}
func (x *VIPcfg) ProtoReflect() protoreflect.Message {
mi := &file_common_proto_msgTypes[51]
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 VIPcfg.ProtoReflect.Descriptor instead.
func (*VIPcfg) Descriptor() ([]byte, []int) {
return file_common_proto_rawDescGZIP(), []int{51}
}
func (x *VIPcfg) GetVipId() int32 {
if x != nil {
return x.VipId
}
return 0
}
func (x *VIPcfg) GetAward() map[int64]int64 {
if x != nil {
return x.Award
}
return nil
}
func (x *VIPcfg) GetVipEx() int32 {
if x != nil {
return x.VipEx
}
return 0
}
func (x *VIPcfg) GetPrice() int64 {
if x != nil {
return x.Price
}
return 0
}
func (x *VIPcfg) GetPrivilege1() map[int64]int64 {
if x != nil {
return x.Privilege1
}
return nil
}
func (x *VIPcfg) GetPrivilege2() []int32 {
if x != nil {
return x.Privilege2
}
return nil
}
func (x *VIPcfg) GetPrivilege3() []int32 {
if x != nil {
return x.Privilege3
}
return nil
}
func (x *VIPcfg) GetPrivilege4() int32 {
if x != nil {
return x.Privilege4
}
return 0
}
func (x *VIPcfg) GetPrivilege5() int32 {
if x != nil {
return x.Privilege5
}
return 0
}
func (x *VIPcfg) GetPrivilege6() int32 {
if x != nil {
return x.Privilege6
}
return 0
}
func (x *VIPcfg) GetPrivilege7() map[int64]int64 {
if x != nil {
return x.Privilege7
}
return nil
}
func (x *VIPcfg) GetPrivilege7Price() int32 {
if x != nil {
return x.Privilege7Price
}
return 0
}
func (x *VIPcfg) GetPrivilege8() int32 {
if x != nil {
return x.Privilege8
}
return 0
}
func (x *VIPcfg) GetRewardOutlineID() []int32 {
if x != nil {
return x.RewardOutlineID
}
return nil
}
func (x *VIPcfg) GetShopId2() int32 {
if x != nil {
return x.ShopId2
}
return 0
}
func (x *VIPcfg) GetShopId7() int32 {
if x != nil {
return x.ShopId7
}
return 0
}
func (x *VIPcfg) GetMatchFreeTimes() int32 {
if x != nil {
return x.MatchFreeTimes
}
return 0
}
func (x *VIPcfg) GetPrivilege9() map[int64]int64 {
if x != nil {
return x.Privilege9
}
return nil
}
// etcd /game/VIPcfg VIP配置
type VIPcfgDataList struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
List []*VIPcfg `protobuf:"bytes,1,rep,name=List,proto3" json:"List,omitempty"` // VIP配置
Platform string `protobuf:"bytes,2,opt,name=Platform,proto3" json:"Platform,omitempty"`
MoneyRatio float64 `protobuf:"fixed64,3,opt,name=MoneyRatio,proto3" json:"MoneyRatio,omitempty"` // 充值对应经验比例
}
func (x *VIPcfgDataList) Reset() {
*x = VIPcfgDataList{}
if protoimpl.UnsafeEnabled {
mi := &file_common_proto_msgTypes[52]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *VIPcfgDataList) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*VIPcfgDataList) ProtoMessage() {}
func (x *VIPcfgDataList) ProtoReflect() protoreflect.Message {
mi := &file_common_proto_msgTypes[52]
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 VIPcfgDataList.ProtoReflect.Descriptor instead.
func (*VIPcfgDataList) Descriptor() ([]byte, []int) {
return file_common_proto_rawDescGZIP(), []int{52}
}
func (x *VIPcfgDataList) GetList() []*VIPcfg {
if x != nil {
return x.List
}
return nil
}
func (x *VIPcfgDataList) GetPlatform() string {
if x != nil {
return x.Platform
}
return ""
}
func (x *VIPcfgDataList) GetMoneyRatio() float64 {
if x != nil {
return x.MoneyRatio
}
return 0
}
type WbCtrlCfg struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Platform string `protobuf:"bytes,1,opt,name=Platform,proto3" json:"Platform,omitempty"`
RealCtrl bool `protobuf:"varint,2,opt,name=RealCtrl,proto3" json:"RealCtrl,omitempty"` //人工调控
Novice bool `protobuf:"varint,3,opt,name=Novice,proto3" json:"Novice,omitempty"` //新手
Welfare bool `protobuf:"varint,4,opt,name=Welfare,proto3" json:"Welfare,omitempty"` //福利
KillPoints bool `protobuf:"varint,5,opt,name=KillPoints,proto3" json:"KillPoints,omitempty"` //杀分
}
func (x *WbCtrlCfg) Reset() {
*x = WbCtrlCfg{}
if protoimpl.UnsafeEnabled {
mi := &file_common_proto_msgTypes[53]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *WbCtrlCfg) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*WbCtrlCfg) ProtoMessage() {}
func (x *WbCtrlCfg) ProtoReflect() protoreflect.Message {
mi := &file_common_proto_msgTypes[53]
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 WbCtrlCfg.ProtoReflect.Descriptor instead.
func (*WbCtrlCfg) Descriptor() ([]byte, []int) {
return file_common_proto_rawDescGZIP(), []int{53}
}
func (x *WbCtrlCfg) GetPlatform() string {
if x != nil {
return x.Platform
}
return ""
}
func (x *WbCtrlCfg) GetRealCtrl() bool {
if x != nil {
return x.RealCtrl
}
return false
}
func (x *WbCtrlCfg) GetNovice() bool {
if x != nil {
return x.Novice
}
return false
}
func (x *WbCtrlCfg) GetWelfare() bool {
if x != nil {
return x.Welfare
}
return false
}
func (x *WbCtrlCfg) GetKillPoints() bool {
if x != nil {
return x.KillPoints
}
return false
}
// 入口开关
// etcd /game/plt/entryswitch/[平台id]/[游戏入口标识]
type EntrySwitch struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Platform string `protobuf:"bytes,1,opt,name=Platform,proto3" json:"Platform,omitempty"`
Index int32 `protobuf:"varint,2,opt,name=Index,proto3" json:"Index,omitempty"` // 游戏入口标识
Switch []bool `protobuf:"varint,3,rep,packed,name=Switch,proto3" json:"Switch,omitempty"` // 0游戏入口开关 1hot开关 2new开关
}
func (x *EntrySwitch) Reset() {
*x = EntrySwitch{}
if protoimpl.UnsafeEnabled {
mi := &file_common_proto_msgTypes[54]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *EntrySwitch) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*EntrySwitch) ProtoMessage() {}
func (x *EntrySwitch) ProtoReflect() protoreflect.Message {
mi := &file_common_proto_msgTypes[54]
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 EntrySwitch.ProtoReflect.Descriptor instead.
func (*EntrySwitch) Descriptor() ([]byte, []int) {
return file_common_proto_rawDescGZIP(), []int{54}
}
func (x *EntrySwitch) GetPlatform() string {
if x != nil {
return x.Platform
}
return ""
}
func (x *EntrySwitch) GetIndex() int32 {
if x != nil {
return x.Index
}
return 0
}
func (x *EntrySwitch) GetSwitch() []bool {
if x != nil {
return x.Switch
}
return nil
}
type ChessRankConfig struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Name string `protobuf:"bytes,1,opt,name=Name,proto3" json:"Name,omitempty"` // 段位名称
Score int32 `protobuf:"varint,2,opt,name=Score,proto3" json:"Score,omitempty"` // 积分
Item []*WelfareDate `protobuf:"bytes,3,rep,name=Item,proto3" json:"Item,omitempty"` // 道具
}
func (x *ChessRankConfig) Reset() {
*x = ChessRankConfig{}
if protoimpl.UnsafeEnabled {
mi := &file_common_proto_msgTypes[55]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ChessRankConfig) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ChessRankConfig) ProtoMessage() {}
func (x *ChessRankConfig) 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 ChessRankConfig.ProtoReflect.Descriptor instead.
func (*ChessRankConfig) Descriptor() ([]byte, []int) {
return file_common_proto_rawDescGZIP(), []int{55}
}
func (x *ChessRankConfig) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *ChessRankConfig) GetScore() int32 {
if x != nil {
return x.Score
}
return 0
}
func (x *ChessRankConfig) GetItem() []*WelfareDate {
if x != nil {
return x.Item
}
return nil
}
type ChessRankcfgData struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Datas []*ChessRankConfig `protobuf:"bytes,1,rep,name=Datas,proto3" json:"Datas,omitempty"` // 积分段位配置
Platform string `protobuf:"bytes,2,opt,name=Platform,proto3" json:"Platform,omitempty"`
GameId int32 `protobuf:"varint,3,opt,name=GameId,proto3" json:"GameId,omitempty"`
}
func (x *ChessRankcfgData) Reset() {
*x = ChessRankcfgData{}
if protoimpl.UnsafeEnabled {
mi := &file_common_proto_msgTypes[56]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ChessRankcfgData) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ChessRankcfgData) ProtoMessage() {}
func (x *ChessRankcfgData) ProtoReflect() protoreflect.Message {
mi := &file_common_proto_msgTypes[56]
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 ChessRankcfgData.ProtoReflect.Descriptor instead.
func (*ChessRankcfgData) Descriptor() ([]byte, []int) {
return file_common_proto_rawDescGZIP(), []int{56}
}
func (x *ChessRankcfgData) GetDatas() []*ChessRankConfig {
if x != nil {
return x.Datas
}
return nil
}
func (x *ChessRankcfgData) GetPlatform() string {
if x != nil {
return x.Platform
}
return ""
}
func (x *ChessRankcfgData) GetGameId() int32 {
if x != nil {
return x.GameId
}
return 0
}
type PlayerPool struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Platform string `protobuf:"bytes,1,opt,name=Platform,proto3" json:"Platform,omitempty"` // 平台id
UpperLimit int64 `protobuf:"varint,2,opt,name=UpperLimit,proto3" json:"UpperLimit,omitempty"` // 初始上限
LowerLimit int64 `protobuf:"varint,3,opt,name=LowerLimit,proto3" json:"LowerLimit,omitempty"` // 初始下限
QuDu int64 `protobuf:"varint,4,opt,name=QuDu,proto3" json:"QuDu,omitempty"` // 曲度值
UpperOdds int32 `protobuf:"varint,5,opt,name=UpperOdds,proto3" json:"UpperOdds,omitempty"` // 上限初始概率
UpperOddsMax int32 `protobuf:"varint,6,opt,name=UpperOddsMax,proto3" json:"UpperOddsMax,omitempty"` // 上限最大概率
LowerOdds int32 `protobuf:"varint,7,opt,name=LowerOdds,proto3" json:"LowerOdds,omitempty"` // 下限初始概率
LowerOddsMax int32 `protobuf:"varint,8,opt,name=LowerOddsMax,proto3" json:"LowerOddsMax,omitempty"` // 下限最大概率
FightUp int32 `protobuf:"varint,9,opt,name=FightUp,proto3" json:"FightUp,omitempty"` // 对战抽水比上限概率(千分比)
FightDown int32 `protobuf:"varint,10,opt,name=FightDown,proto3" json:"FightDown,omitempty"` // 对战抽水比下限概率(千分比)
PayUp int32 `protobuf:"varint,11,opt,name=PayUp,proto3" json:"PayUp,omitempty"` // 兑换比例上限概率(千分比)
PayDown int32 `protobuf:"varint,12,opt,name=PayDown,proto3" json:"PayDown,omitempty"` // 兑换比例下限概率(千分比)
TianHuRate int32 `protobuf:"varint,13,opt,name=TianHuRate,proto3" json:"TianHuRate,omitempty"` // 天胡概率(千分比)
PlayerPoolSwitch bool `protobuf:"varint,14,opt,name=PlayerPoolSwitch,proto3" json:"PlayerPoolSwitch,omitempty"` // 个人水池开关
}
func (x *PlayerPool) Reset() {
*x = PlayerPool{}
if protoimpl.UnsafeEnabled {
mi := &file_common_proto_msgTypes[57]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *PlayerPool) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*PlayerPool) ProtoMessage() {}
func (x *PlayerPool) ProtoReflect() protoreflect.Message {
mi := &file_common_proto_msgTypes[57]
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 PlayerPool.ProtoReflect.Descriptor instead.
func (*PlayerPool) Descriptor() ([]byte, []int) {
return file_common_proto_rawDescGZIP(), []int{57}
}
func (x *PlayerPool) GetPlatform() string {
if x != nil {
return x.Platform
}
return ""
}
func (x *PlayerPool) GetUpperLimit() int64 {
if x != nil {
return x.UpperLimit
}
return 0
}
func (x *PlayerPool) GetLowerLimit() int64 {
if x != nil {
return x.LowerLimit
}
return 0
}
func (x *PlayerPool) GetQuDu() int64 {
if x != nil {
return x.QuDu
}
return 0
}
func (x *PlayerPool) GetUpperOdds() int32 {
if x != nil {
return x.UpperOdds
}
return 0
}
func (x *PlayerPool) GetUpperOddsMax() int32 {
if x != nil {
return x.UpperOddsMax
}
return 0
}
func (x *PlayerPool) GetLowerOdds() int32 {
if x != nil {
return x.LowerOdds
}
return 0
}
func (x *PlayerPool) GetLowerOddsMax() int32 {
if x != nil {
return x.LowerOddsMax
}
return 0
}
func (x *PlayerPool) GetFightUp() int32 {
if x != nil {
return x.FightUp
}
return 0
}
func (x *PlayerPool) GetFightDown() int32 {
if x != nil {
return x.FightDown
}
return 0
}
func (x *PlayerPool) GetPayUp() int32 {
if x != nil {
return x.PayUp
}
return 0
}
func (x *PlayerPool) GetPayDown() int32 {
if x != nil {
return x.PayDown
}
return 0
}
func (x *PlayerPool) GetTianHuRate() int32 {
if x != nil {
return x.TianHuRate
}
return 0
}
func (x *PlayerPool) GetPlayerPoolSwitch() bool {
if x != nil {
return x.PlayerPoolSwitch
}
return false
}
type GameConfig struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Platform string `protobuf:"bytes,1,opt,name=Platform,proto3" json:"Platform,omitempty"` // 平台id
Switch bool `protobuf:"varint,2,opt,name=Switch,proto3" json:"Switch,omitempty"` // 开关
TianHu int32 `protobuf:"varint,3,opt,name=TianHu,proto3" json:"TianHu,omitempty"` // 天胡使用权重
PaiKu int32 `protobuf:"varint,4,opt,name=PaiKu,proto3" json:"PaiKu,omitempty"` // 牌库使用权重
FenCha int32 `protobuf:"varint,5,opt,name=FenCha,proto3" json:"FenCha,omitempty"` // 分差发牌权重
FenChaScore int32 `protobuf:"varint,6,opt,name=FenChaScore,proto3" json:"FenChaScore,omitempty"` // 牌分差值
GoodFenCha int32 `protobuf:"varint,7,opt,name=GoodFenCha,proto3" json:"GoodFenCha,omitempty"` // 好牌分差值
}
func (x *GameConfig) Reset() {
*x = GameConfig{}
if protoimpl.UnsafeEnabled {
mi := &file_common_proto_msgTypes[58]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GameConfig) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GameConfig) ProtoMessage() {}
func (x *GameConfig) ProtoReflect() protoreflect.Message {
mi := &file_common_proto_msgTypes[58]
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 GameConfig.ProtoReflect.Descriptor instead.
func (*GameConfig) Descriptor() ([]byte, []int) {
return file_common_proto_rawDescGZIP(), []int{58}
}
func (x *GameConfig) GetPlatform() string {
if x != nil {
return x.Platform
}
return ""
}
func (x *GameConfig) GetSwitch() bool {
if x != nil {
return x.Switch
}
return false
}
func (x *GameConfig) GetTianHu() int32 {
if x != nil {
return x.TianHu
}
return 0
}
func (x *GameConfig) GetPaiKu() int32 {
if x != nil {
return x.PaiKu
}
return 0
}
func (x *GameConfig) GetFenCha() int32 {
if x != nil {
return x.FenCha
}
return 0
}
func (x *GameConfig) GetFenChaScore() int32 {
if x != nil {
return x.FenChaScore
}
return 0
}
func (x *GameConfig) GetGoodFenCha() int32 {
if x != nil {
return x.GoodFenCha
}
return 0
}
// etcd /game/act_phoneLottery
type WelfarePhoneLotteryStatus struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Platform string `protobuf:"bytes,1,opt,name=Platform,proto3" json:"Platform,omitempty"`
Switch int32 `protobuf:"varint,2,opt,name=Switch,proto3" json:"Switch,omitempty"` // 1.开启 2.关闭
}
func (x *WelfarePhoneLotteryStatus) Reset() {
*x = WelfarePhoneLotteryStatus{}
if protoimpl.UnsafeEnabled {
mi := &file_common_proto_msgTypes[59]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *WelfarePhoneLotteryStatus) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*WelfarePhoneLotteryStatus) ProtoMessage() {}
func (x *WelfarePhoneLotteryStatus) ProtoReflect() protoreflect.Message {
mi := &file_common_proto_msgTypes[59]
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 WelfarePhoneLotteryStatus.ProtoReflect.Descriptor instead.
func (*WelfarePhoneLotteryStatus) Descriptor() ([]byte, []int) {
return file_common_proto_rawDescGZIP(), []int{59}
}
func (x *WelfarePhoneLotteryStatus) GetPlatform() string {
if x != nil {
return x.Platform
}
return ""
}
func (x *WelfarePhoneLotteryStatus) GetSwitch() int32 {
if x != nil {
return x.Switch
}
return 0
}
// etcd /game/act_collect
type WelfareCollectConfig struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Platform string `protobuf:"bytes,1,opt,name=Platform,proto3" json:"Platform,omitempty"`
Switch int32 `protobuf:"varint,2,opt,name=Switch,proto3" json:"Switch,omitempty"` // 1.开启 2.关闭
}
func (x *WelfareCollectConfig) Reset() {
*x = WelfareCollectConfig{}
if protoimpl.UnsafeEnabled {
mi := &file_common_proto_msgTypes[60]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *WelfareCollectConfig) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*WelfareCollectConfig) ProtoMessage() {}
func (x *WelfareCollectConfig) ProtoReflect() protoreflect.Message {
mi := &file_common_proto_msgTypes[60]
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 WelfareCollectConfig.ProtoReflect.Descriptor instead.
func (*WelfareCollectConfig) Descriptor() ([]byte, []int) {
return file_common_proto_rawDescGZIP(), []int{60}
}
func (x *WelfareCollectConfig) GetPlatform() string {
if x != nil {
return x.Platform
}
return ""
}
func (x *WelfareCollectConfig) GetSwitch() int32 {
if x != nil {
return x.Switch
}
return 0
}
// etcd /game/channel/switch
type ChannelSwitchConfig struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Tp int32 `protobuf:"varint,1,opt,name=Tp,proto3" json:"Tp,omitempty"` // 开关类型 1.兑换 2.道具掉落 3.邀请活动开关 4.通行证 5.钻石抽奖
Platform string `protobuf:"bytes,2,opt,name=Platform,proto3" json:"Platform,omitempty"` // 平台id
OnChannelName []string `protobuf:"bytes,3,rep,name=OnChannelName,proto3" json:"OnChannelName,omitempty"` // 开启渠道
}
func (x *ChannelSwitchConfig) Reset() {
*x = ChannelSwitchConfig{}
if protoimpl.UnsafeEnabled {
mi := &file_common_proto_msgTypes[61]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ChannelSwitchConfig) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ChannelSwitchConfig) ProtoMessage() {}
func (x *ChannelSwitchConfig) ProtoReflect() protoreflect.Message {
mi := &file_common_proto_msgTypes[61]
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 ChannelSwitchConfig.ProtoReflect.Descriptor instead.
func (*ChannelSwitchConfig) Descriptor() ([]byte, []int) {
return file_common_proto_rawDescGZIP(), []int{61}
}
func (x *ChannelSwitchConfig) GetTp() int32 {
if x != nil {
return x.Tp
}
return 0
}
func (x *ChannelSwitchConfig) GetPlatform() string {
if x != nil {
return x.Platform
}
return ""
}
func (x *ChannelSwitchConfig) GetOnChannelName() []string {
if x != nil {
return x.OnChannelName
}
return nil
}
type RankAward struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Start int64 `protobuf:"varint,1,opt,name=Start,proto3" json:"Start,omitempty"` // 开始积分
End int64 `protobuf:"varint,2,opt,name=End,proto3" json:"End,omitempty"` // 结束积分
Num int64 `protobuf:"varint,3,opt,name=Num,proto3" json:"Num,omitempty"` // 奖励
}
func (x *RankAward) Reset() {
*x = RankAward{}
if protoimpl.UnsafeEnabled {
mi := &file_common_proto_msgTypes[62]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *RankAward) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*RankAward) ProtoMessage() {}
func (x *RankAward) ProtoReflect() protoreflect.Message {
mi := &file_common_proto_msgTypes[62]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use RankAward.ProtoReflect.Descriptor instead.
func (*RankAward) Descriptor() ([]byte, []int) {
return file_common_proto_rawDescGZIP(), []int{62}
}
func (x *RankAward) GetStart() int64 {
if x != nil {
return x.Start
}
return 0
}
func (x *RankAward) GetEnd() int64 {
if x != nil {
return x.End
}
return 0
}
func (x *RankAward) GetNum() int64 {
if x != nil {
return x.Num
}
return 0
}
// etcd /game/act_invite
type ActInviteConfig struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Platform string `protobuf:"bytes,1,opt,name=Platform,proto3" json:"Platform,omitempty"`
BindScore int64 `protobuf:"varint,2,opt,name=BindScore,proto3" json:"BindScore,omitempty"` // 绑定积分
RechargeScore int64 `protobuf:"varint,3,opt,name=RechargeScore,proto3" json:"RechargeScore,omitempty"` // 充值积分,一个玩家最多给上级贡献一次
PayScore map[int64]int64 `protobuf:"bytes,4,rep,name=PayScore,proto3" json:"PayScore,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` // 充值积分;充值金额:获得积分
Rates []int64 `protobuf:"varint,5,rep,packed,name=Rates,proto3" json:"Rates,omitempty"` // 返佣比例;多级按顺序给
Awards1 []*RankAward `protobuf:"bytes,6,rep,name=Awards1,proto3" json:"Awards1,omitempty"` // 周榜奖励列表
Awards2 []*RankAward `protobuf:"bytes,7,rep,name=Awards2,proto3" json:"Awards2,omitempty"` // 周榜奖励列表
Awards3 []*RankAward `protobuf:"bytes,8,rep,name=Awards3,proto3" json:"Awards3,omitempty"` // 周榜奖励列表
BindTelScore int64 `protobuf:"varint,9,opt,name=BindTelScore,proto3" json:"BindTelScore,omitempty"` // 绑定手机号积分
}
func (x *ActInviteConfig) Reset() {
*x = ActInviteConfig{}
if protoimpl.UnsafeEnabled {
mi := &file_common_proto_msgTypes[63]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ActInviteConfig) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ActInviteConfig) ProtoMessage() {}
func (x *ActInviteConfig) ProtoReflect() protoreflect.Message {
mi := &file_common_proto_msgTypes[63]
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 ActInviteConfig.ProtoReflect.Descriptor instead.
func (*ActInviteConfig) Descriptor() ([]byte, []int) {
return file_common_proto_rawDescGZIP(), []int{63}
}
func (x *ActInviteConfig) GetPlatform() string {
if x != nil {
return x.Platform
}
return ""
}
func (x *ActInviteConfig) GetBindScore() int64 {
if x != nil {
return x.BindScore
}
return 0
}
func (x *ActInviteConfig) GetRechargeScore() int64 {
if x != nil {
return x.RechargeScore
}
return 0
}
func (x *ActInviteConfig) GetPayScore() map[int64]int64 {
if x != nil {
return x.PayScore
}
return nil
}
func (x *ActInviteConfig) GetRates() []int64 {
if x != nil {
return x.Rates
}
return nil
}
func (x *ActInviteConfig) GetAwards1() []*RankAward {
if x != nil {
return x.Awards1
}
return nil
}
func (x *ActInviteConfig) GetAwards2() []*RankAward {
if x != nil {
return x.Awards2
}
return nil
}
func (x *ActInviteConfig) GetAwards3() []*RankAward {
if x != nil {
return x.Awards3
}
return nil
}
func (x *ActInviteConfig) GetBindTelScore() int64 {
if x != nil {
return x.BindTelScore
}
return 0
}
// 等级奖励
type PermitLevelConfig struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Rank int32 `protobuf:"varint,1,opt,name=Rank,proto3" json:"Rank,omitempty"` // 等级
Score int64 `protobuf:"varint,2,opt,name=Score,proto3" json:"Score,omitempty"` // 积分
Award1 []*ItemInfo `protobuf:"bytes,3,rep,name=Award1,proto3" json:"Award1,omitempty"` // 普通奖励
Award2 []*ItemInfo `protobuf:"bytes,4,rep,name=Award2,proto3" json:"Award2,omitempty"` // 典藏奖励
}
func (x *PermitLevelConfig) Reset() {
*x = PermitLevelConfig{}
if protoimpl.UnsafeEnabled {
mi := &file_common_proto_msgTypes[64]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *PermitLevelConfig) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*PermitLevelConfig) ProtoMessage() {}
func (x *PermitLevelConfig) ProtoReflect() protoreflect.Message {
mi := &file_common_proto_msgTypes[64]
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 PermitLevelConfig.ProtoReflect.Descriptor instead.
func (*PermitLevelConfig) Descriptor() ([]byte, []int) {
return file_common_proto_rawDescGZIP(), []int{64}
}
func (x *PermitLevelConfig) GetRank() int32 {
if x != nil {
return x.Rank
}
return 0
}
func (x *PermitLevelConfig) GetScore() int64 {
if x != nil {
return x.Score
}
return 0
}
func (x *PermitLevelConfig) GetAward1() []*ItemInfo {
if x != nil {
return x.Award1
}
return nil
}
func (x *PermitLevelConfig) GetAward2() []*ItemInfo {
if x != nil {
return x.Award2
}
return nil
}
// 兑换配置
type PermitExchangeConfig struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id int32 `protobuf:"varint,1,opt,name=Id,proto3" json:"Id,omitempty"` // 商品id
SortId int32 `protobuf:"varint,2,opt,name=SortId,proto3" json:"SortId,omitempty"` // 排序序号
Gain []*ItemInfo `protobuf:"bytes,3,rep,name=Gain,proto3" json:"Gain,omitempty"` // 获得商品
Cost []*ItemInfo `protobuf:"bytes,4,rep,name=Cost,proto3" json:"Cost,omitempty"` // 消耗
IsPermit bool `protobuf:"varint,5,opt,name=IsPermit,proto3" json:"IsPermit,omitempty"` // 是否需要典藏通行证
Level int64 `protobuf:"varint,6,opt,name=Level,proto3" json:"Level,omitempty"` // 达到等级
Times int64 `protobuf:"varint,7,opt,name=Times,proto3" json:"Times,omitempty"` // 最大兑换次数
IsShow bool `protobuf:"varint,8,opt,name=IsShow,proto3" json:"IsShow,omitempty"` // 开关true 开启, false 关闭
}
func (x *PermitExchangeConfig) Reset() {
*x = PermitExchangeConfig{}
if protoimpl.UnsafeEnabled {
mi := &file_common_proto_msgTypes[65]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *PermitExchangeConfig) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*PermitExchangeConfig) ProtoMessage() {}
func (x *PermitExchangeConfig) ProtoReflect() protoreflect.Message {
mi := &file_common_proto_msgTypes[65]
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 PermitExchangeConfig.ProtoReflect.Descriptor instead.
func (*PermitExchangeConfig) Descriptor() ([]byte, []int) {
return file_common_proto_rawDescGZIP(), []int{65}
}
func (x *PermitExchangeConfig) GetId() int32 {
if x != nil {
return x.Id
}
return 0
}
func (x *PermitExchangeConfig) GetSortId() int32 {
if x != nil {
return x.SortId
}
return 0
}
func (x *PermitExchangeConfig) GetGain() []*ItemInfo {
if x != nil {
return x.Gain
}
return nil
}
func (x *PermitExchangeConfig) GetCost() []*ItemInfo {
if x != nil {
return x.Cost
}
return nil
}
func (x *PermitExchangeConfig) GetIsPermit() bool {
if x != nil {
return x.IsPermit
}
return false
}
func (x *PermitExchangeConfig) GetLevel() int64 {
if x != nil {
return x.Level
}
return 0
}
func (x *PermitExchangeConfig) GetTimes() int64 {
if x != nil {
return x.Times
}
return 0
}
func (x *PermitExchangeConfig) GetIsShow() bool {
if x != nil {
return x.IsShow
}
return false
}
// 排行配置
type PermitRankConfig struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Start int32 `protobuf:"varint,1,opt,name=Start,proto3" json:"Start,omitempty"` // 开始排名第一名为0
End int32 `protobuf:"varint,2,opt,name=End,proto3" json:"End,omitempty"` // 结束排名
ItemId []*ItemInfo `protobuf:"bytes,3,rep,name=ItemId,proto3" json:"ItemId,omitempty"` // 奖励
}
func (x *PermitRankConfig) Reset() {
*x = PermitRankConfig{}
if protoimpl.UnsafeEnabled {
mi := &file_common_proto_msgTypes[66]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *PermitRankConfig) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*PermitRankConfig) ProtoMessage() {}
func (x *PermitRankConfig) ProtoReflect() protoreflect.Message {
mi := &file_common_proto_msgTypes[66]
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 PermitRankConfig.ProtoReflect.Descriptor instead.
func (*PermitRankConfig) Descriptor() ([]byte, []int) {
return file_common_proto_rawDescGZIP(), []int{66}
}
func (x *PermitRankConfig) GetStart() int32 {
if x != nil {
return x.Start
}
return 0
}
func (x *PermitRankConfig) GetEnd() int32 {
if x != nil {
return x.End
}
return 0
}
func (x *PermitRankConfig) GetItemId() []*ItemInfo {
if x != nil {
return x.ItemId
}
return nil
}
type PermitChannelConfig struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Channel string `protobuf:"bytes,1,opt,name=Channel,proto3" json:"Channel,omitempty"` // 渠道
LevelConfig []*PermitLevelConfig `protobuf:"bytes,2,rep,name=LevelConfig,proto3" json:"LevelConfig,omitempty"` // 等级奖励
ExchangeConfig []*PermitExchangeConfig `protobuf:"bytes,3,rep,name=ExchangeConfig,proto3" json:"ExchangeConfig,omitempty"` // 兑换配置
RankConfig []*PermitRankConfig `protobuf:"bytes,4,rep,name=RankConfig,proto3" json:"RankConfig,omitempty"` // 排行配置
}
func (x *PermitChannelConfig) Reset() {
*x = PermitChannelConfig{}
if protoimpl.UnsafeEnabled {
mi := &file_common_proto_msgTypes[67]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *PermitChannelConfig) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*PermitChannelConfig) ProtoMessage() {}
func (x *PermitChannelConfig) ProtoReflect() protoreflect.Message {
mi := &file_common_proto_msgTypes[67]
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 PermitChannelConfig.ProtoReflect.Descriptor instead.
func (*PermitChannelConfig) Descriptor() ([]byte, []int) {
return file_common_proto_rawDescGZIP(), []int{67}
}
func (x *PermitChannelConfig) GetChannel() string {
if x != nil {
return x.Channel
}
return ""
}
func (x *PermitChannelConfig) GetLevelConfig() []*PermitLevelConfig {
if x != nil {
return x.LevelConfig
}
return nil
}
func (x *PermitChannelConfig) GetExchangeConfig() []*PermitExchangeConfig {
if x != nil {
return x.ExchangeConfig
}
return nil
}
func (x *PermitChannelConfig) GetRankConfig() []*PermitRankConfig {
if x != nil {
return x.RankConfig
}
return nil
}
// etcd /game/act_permit
type ActPermitConfig struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Platform string `protobuf:"bytes,1,opt,name=Platform,proto3" json:"Platform,omitempty"` // 平台
StartTs int64 `protobuf:"varint,2,opt,name=StartTs,proto3" json:"StartTs,omitempty"` // 开始日期
Days int32 `protobuf:"varint,3,opt,name=Days,proto3" json:"Days,omitempty"` // 持续天数
Configs []*PermitChannelConfig `protobuf:"bytes,4,rep,name=Configs,proto3" json:"Configs,omitempty"` // 渠道配置
}
func (x *ActPermitConfig) Reset() {
*x = ActPermitConfig{}
if protoimpl.UnsafeEnabled {
mi := &file_common_proto_msgTypes[68]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ActPermitConfig) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ActPermitConfig) ProtoMessage() {}
func (x *ActPermitConfig) ProtoReflect() protoreflect.Message {
mi := &file_common_proto_msgTypes[68]
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 ActPermitConfig.ProtoReflect.Descriptor instead.
func (*ActPermitConfig) Descriptor() ([]byte, []int) {
return file_common_proto_rawDescGZIP(), []int{68}
}
func (x *ActPermitConfig) GetPlatform() string {
if x != nil {
return x.Platform
}
return ""
}
func (x *ActPermitConfig) GetStartTs() int64 {
if x != nil {
return x.StartTs
}
return 0
}
func (x *ActPermitConfig) GetDays() int32 {
if x != nil {
return x.Days
}
return 0
}
func (x *ActPermitConfig) GetConfigs() []*PermitChannelConfig {
if x != nil {
return x.Configs
}
return nil
}
//钻石抽奖
type DiamondLotteryInfo struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id int32 `protobuf:"varint,1,opt,name=Id,proto3" json:"Id,omitempty"`
Type int32 `protobuf:"varint,2,opt,name=Type,proto3" json:"Type,omitempty"`
Name string `protobuf:"bytes,3,opt,name=Name,proto3" json:"Name,omitempty"`
ItemId int32 `protobuf:"varint,4,opt,name=ItemId,proto3" json:"ItemId,omitempty"`
Grade int32 `protobuf:"varint,5,opt,name=Grade,proto3" json:"Grade,omitempty"`
Oddrate int32 `protobuf:"varint,6,opt,name=Oddrate,proto3" json:"Oddrate,omitempty"`
}
func (x *DiamondLotteryInfo) Reset() {
*x = DiamondLotteryInfo{}
if protoimpl.UnsafeEnabled {
mi := &file_common_proto_msgTypes[69]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DiamondLotteryInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DiamondLotteryInfo) ProtoMessage() {}
func (x *DiamondLotteryInfo) ProtoReflect() protoreflect.Message {
mi := &file_common_proto_msgTypes[69]
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 DiamondLotteryInfo.ProtoReflect.Descriptor instead.
func (*DiamondLotteryInfo) Descriptor() ([]byte, []int) {
return file_common_proto_rawDescGZIP(), []int{69}
}
func (x *DiamondLotteryInfo) GetId() int32 {
if x != nil {
return x.Id
}
return 0
}
func (x *DiamondLotteryInfo) GetType() int32 {
if x != nil {
return x.Type
}
return 0
}
func (x *DiamondLotteryInfo) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *DiamondLotteryInfo) GetItemId() int32 {
if x != nil {
return x.ItemId
}
return 0
}
func (x *DiamondLotteryInfo) GetGrade() int32 {
if x != nil {
return x.Grade
}
return 0
}
func (x *DiamondLotteryInfo) GetOddrate() int32 {
if x != nil {
return x.Oddrate
}
return 0
}
//钻石抽奖白名单
type DiamondLotteryPlayers struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Uid int32 `protobuf:"varint,1,opt,name=uid,proto3" json:"uid,omitempty"`
Count int32 `protobuf:"varint,2,opt,name=Count,proto3" json:"Count,omitempty"` //抽奖次数
Award []*AwardData `protobuf:"bytes,3,rep,name=Award,proto3" json:"Award,omitempty"` //配置表里的奖励ID
}
func (x *DiamondLotteryPlayers) Reset() {
*x = DiamondLotteryPlayers{}
if protoimpl.UnsafeEnabled {
mi := &file_common_proto_msgTypes[70]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DiamondLotteryPlayers) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DiamondLotteryPlayers) ProtoMessage() {}
func (x *DiamondLotteryPlayers) ProtoReflect() protoreflect.Message {
mi := &file_common_proto_msgTypes[70]
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 DiamondLotteryPlayers.ProtoReflect.Descriptor instead.
func (*DiamondLotteryPlayers) Descriptor() ([]byte, []int) {
return file_common_proto_rawDescGZIP(), []int{70}
}
func (x *DiamondLotteryPlayers) GetUid() int32 {
if x != nil {
return x.Uid
}
return 0
}
func (x *DiamondLotteryPlayers) GetCount() int32 {
if x != nil {
return x.Count
}
return 0
}
func (x *DiamondLotteryPlayers) GetAward() []*AwardData {
if x != nil {
return x.Award
}
return nil
}
type AwardData struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
AwardId int32 `protobuf:"varint,1,opt,name=AwardId,proto3" json:"AwardId,omitempty"`
Weight int32 `protobuf:"varint,2,opt,name=Weight,proto3" json:"Weight,omitempty"`
}
func (x *AwardData) Reset() {
*x = AwardData{}
if protoimpl.UnsafeEnabled {
mi := &file_common_proto_msgTypes[71]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *AwardData) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*AwardData) ProtoMessage() {}
func (x *AwardData) ProtoReflect() protoreflect.Message {
mi := &file_common_proto_msgTypes[71]
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 AwardData.ProtoReflect.Descriptor instead.
func (*AwardData) Descriptor() ([]byte, []int) {
return file_common_proto_rawDescGZIP(), []int{71}
}
func (x *AwardData) GetAwardId() int32 {
if x != nil {
return x.AwardId
}
return 0
}
func (x *AwardData) GetWeight() int32 {
if x != nil {
return x.Weight
}
return 0
}
type DiamondLotteryData struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Channel string `protobuf:"bytes,1,opt,name=Channel,proto3" json:"Channel,omitempty"` //渠道
Info []*DiamondLotteryInfo `protobuf:"bytes,2,rep,name=Info,proto3" json:"Info,omitempty"`
MaxScore int32 `protobuf:"varint,3,opt,name=MaxScore,proto3" json:"MaxScore,omitempty"` //保底奖励最大值
DiamondNum int32 `protobuf:"varint,4,opt,name=DiamondNum,proto3" json:"DiamondNum,omitempty"` //单次抽奖消耗钻石数量
Players []*DiamondLotteryPlayers `protobuf:"bytes,5,rep,name=Players,proto3" json:"Players,omitempty"` //白名单
}
func (x *DiamondLotteryData) Reset() {
*x = DiamondLotteryData{}
if protoimpl.UnsafeEnabled {
mi := &file_common_proto_msgTypes[72]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DiamondLotteryData) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DiamondLotteryData) ProtoMessage() {}
func (x *DiamondLotteryData) ProtoReflect() protoreflect.Message {
mi := &file_common_proto_msgTypes[72]
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 DiamondLotteryData.ProtoReflect.Descriptor instead.
func (*DiamondLotteryData) Descriptor() ([]byte, []int) {
return file_common_proto_rawDescGZIP(), []int{72}
}
func (x *DiamondLotteryData) GetChannel() string {
if x != nil {
return x.Channel
}
return ""
}
func (x *DiamondLotteryData) GetInfo() []*DiamondLotteryInfo {
if x != nil {
return x.Info
}
return nil
}
func (x *DiamondLotteryData) GetMaxScore() int32 {
if x != nil {
return x.MaxScore
}
return 0
}
func (x *DiamondLotteryData) GetDiamondNum() int32 {
if x != nil {
return x.DiamondNum
}
return 0
}
func (x *DiamondLotteryData) GetPlayers() []*DiamondLotteryPlayers {
if x != nil {
return x.Players
}
return nil
}
// etcd /game/diamond_lottery
type DiamondLotteryConfig struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Platform string `protobuf:"bytes,1,opt,name=Platform,proto3" json:"Platform,omitempty"` // 平台
LotteryData []*DiamondLotteryData `protobuf:"bytes,2,rep,name=LotteryData,proto3" json:"LotteryData,omitempty"`
}
func (x *DiamondLotteryConfig) Reset() {
*x = DiamondLotteryConfig{}
if protoimpl.UnsafeEnabled {
mi := &file_common_proto_msgTypes[73]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DiamondLotteryConfig) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DiamondLotteryConfig) ProtoMessage() {}
func (x *DiamondLotteryConfig) ProtoReflect() protoreflect.Message {
mi := &file_common_proto_msgTypes[73]
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 DiamondLotteryConfig.ProtoReflect.Descriptor instead.
func (*DiamondLotteryConfig) Descriptor() ([]byte, []int) {
return file_common_proto_rawDescGZIP(), []int{73}
}
func (x *DiamondLotteryConfig) GetPlatform() string {
if x != nil {
return x.Platform
}
return ""
}
func (x *DiamondLotteryConfig) GetLotteryData() []*DiamondLotteryData {
if x != nil {
return x.LotteryData
}
return nil
}
// etcd /game/item
type ItemConfig struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Platform string `protobuf:"bytes,1,opt,name=Platform,proto3" json:"Platform,omitempty"` // 平台
Items []*server.DB_GameItem `protobuf:"bytes,2,rep,name=Items,proto3" json:"Items,omitempty"` // 道具列表
}
func (x *ItemConfig) Reset() {
*x = ItemConfig{}
if protoimpl.UnsafeEnabled {
mi := &file_common_proto_msgTypes[74]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ItemConfig) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ItemConfig) ProtoMessage() {}
func (x *ItemConfig) ProtoReflect() protoreflect.Message {
mi := &file_common_proto_msgTypes[74]
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 ItemConfig.ProtoReflect.Descriptor instead.
func (*ItemConfig) Descriptor() ([]byte, []int) {
return file_common_proto_rawDescGZIP(), []int{74}
}
func (x *ItemConfig) GetPlatform() string {
if x != nil {
return x.Platform
}
return ""
}
func (x *ItemConfig) GetItems() []*server.DB_GameItem {
if x != nil {
return x.Items
}
return nil
}
type RankAwardInfo struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id int32 `protobuf:"varint,1,opt,name=Id,proto3" json:"Id,omitempty"`
RankType int32 `protobuf:"varint,2,opt,name=RankType,proto3" json:"RankType,omitempty"`
RankLevelId int32 `protobuf:"varint,3,opt,name=RankLevelId,proto3" json:"RankLevelId,omitempty"`
Item []*ItemInfo `protobuf:"bytes,4,rep,name=Item,proto3" json:"Item,omitempty"` // 道具
}
func (x *RankAwardInfo) Reset() {
*x = RankAwardInfo{}
if protoimpl.UnsafeEnabled {
mi := &file_common_proto_msgTypes[75]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *RankAwardInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*RankAwardInfo) ProtoMessage() {}
func (x *RankAwardInfo) ProtoReflect() protoreflect.Message {
mi := &file_common_proto_msgTypes[75]
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 RankAwardInfo.ProtoReflect.Descriptor instead.
func (*RankAwardInfo) Descriptor() ([]byte, []int) {
return file_common_proto_rawDescGZIP(), []int{75}
}
func (x *RankAwardInfo) GetId() int32 {
if x != nil {
return x.Id
}
return 0
}
func (x *RankAwardInfo) GetRankType() int32 {
if x != nil {
return x.RankType
}
return 0
}
func (x *RankAwardInfo) GetRankLevelId() int32 {
if x != nil {
return x.RankLevelId
}
return 0
}
func (x *RankAwardInfo) GetItem() []*ItemInfo {
if x != nil {
return x.Item
}
return nil
}
type RankTypeInfo struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id int32 `protobuf:"varint,1,opt,name=Id,proto3" json:"Id,omitempty"`
Order int32 `protobuf:"varint,2,opt,name=Order,proto3" json:"Order,omitempty"`
RankName string `protobuf:"bytes,3,opt,name=RankName,proto3" json:"RankName,omitempty"`
RankType int32 `protobuf:"varint,4,opt,name=RankType,proto3" json:"RankType,omitempty"`
TurnOff int32 `protobuf:"varint,5,opt,name=TurnOff,proto3" json:"TurnOff,omitempty"` //奖励开关
Award []*RankAwardInfo `protobuf:"bytes,6,rep,name=Award,proto3" json:"Award,omitempty"`
}
func (x *RankTypeInfo) Reset() {
*x = RankTypeInfo{}
if protoimpl.UnsafeEnabled {
mi := &file_common_proto_msgTypes[76]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *RankTypeInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*RankTypeInfo) ProtoMessage() {}
func (x *RankTypeInfo) ProtoReflect() protoreflect.Message {
mi := &file_common_proto_msgTypes[76]
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 RankTypeInfo.ProtoReflect.Descriptor instead.
func (*RankTypeInfo) Descriptor() ([]byte, []int) {
return file_common_proto_rawDescGZIP(), []int{76}
}
func (x *RankTypeInfo) GetId() int32 {
if x != nil {
return x.Id
}
return 0
}
func (x *RankTypeInfo) GetOrder() int32 {
if x != nil {
return x.Order
}
return 0
}
func (x *RankTypeInfo) GetRankName() string {
if x != nil {
return x.RankName
}
return ""
}
func (x *RankTypeInfo) GetRankType() int32 {
if x != nil {
return x.RankType
}
return 0
}
func (x *RankTypeInfo) GetTurnOff() int32 {
if x != nil {
return x.TurnOff
}
return 0
}
func (x *RankTypeInfo) GetAward() []*RankAwardInfo {
if x != nil {
return x.Award
}
return nil
}
//etcd /game/RankType
type RankTypeConfig struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Platform string `protobuf:"bytes,1,opt,name=Platform,proto3" json:"Platform,omitempty"` // 平台
Info []*RankTypeInfo `protobuf:"bytes,2,rep,name=Info,proto3" json:"Info,omitempty"`
}
func (x *RankTypeConfig) Reset() {
*x = RankTypeConfig{}
if protoimpl.UnsafeEnabled {
mi := &file_common_proto_msgTypes[77]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *RankTypeConfig) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*RankTypeConfig) ProtoMessage() {}
func (x *RankTypeConfig) ProtoReflect() protoreflect.Message {
mi := &file_common_proto_msgTypes[77]
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 RankTypeConfig.ProtoReflect.Descriptor instead.
func (*RankTypeConfig) Descriptor() ([]byte, []int) {
return file_common_proto_rawDescGZIP(), []int{77}
}
func (x *RankTypeConfig) GetPlatform() string {
if x != nil {
return x.Platform
}
return ""
}
func (x *RankTypeConfig) GetInfo() []*RankTypeInfo {
if x != nil {
return x.Info
}
return nil
}
type SkinLevel struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Level int32 `protobuf:"varint,1,opt,name=Level,proto3" json:"Level,omitempty"` // 等级
UpItem map[int32]int64 `protobuf:"bytes,2,rep,name=UpItem,proto3" json:"UpItem,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` // 升级所需道具
SkillId int32 `protobuf:"varint,3,opt,name=SkillId,proto3" json:"SkillId,omitempty"` // 技能id
SkillLevel int32 `protobuf:"varint,4,opt,name=SkillLevel,proto3" json:"SkillLevel,omitempty"` // 技能等级
SkillValue int32 `protobuf:"varint,5,opt,name=SkillValue,proto3" json:"SkillValue,omitempty"` // 技能属性值
}
func (x *SkinLevel) Reset() {
*x = SkinLevel{}
if protoimpl.UnsafeEnabled {
mi := &file_common_proto_msgTypes[78]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SkinLevel) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SkinLevel) ProtoMessage() {}
func (x *SkinLevel) ProtoReflect() protoreflect.Message {
mi := &file_common_proto_msgTypes[78]
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 SkinLevel.ProtoReflect.Descriptor instead.
func (*SkinLevel) Descriptor() ([]byte, []int) {
return file_common_proto_rawDescGZIP(), []int{78}
}
func (x *SkinLevel) GetLevel() int32 {
if x != nil {
return x.Level
}
return 0
}
func (x *SkinLevel) GetUpItem() map[int32]int64 {
if x != nil {
return x.UpItem
}
return nil
}
func (x *SkinLevel) GetSkillId() int32 {
if x != nil {
return x.SkillId
}
return 0
}
func (x *SkinLevel) GetSkillLevel() int32 {
if x != nil {
return x.SkillLevel
}
return 0
}
func (x *SkinLevel) GetSkillValue() int32 {
if x != nil {
return x.SkillValue
}
return 0
}
type SkinItem struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id int32 `protobuf:"varint,1,opt,name=Id,proto3" json:"Id,omitempty"` // 皮肤id
UnlockType int32 `protobuf:"varint,2,opt,name=UnlockType,proto3" json:"UnlockType,omitempty"` // 解锁类型 0默认使用 1自动使用道具解锁并使用 2使用道具解锁
UnlockParam map[int32]int64 `protobuf:"bytes,3,rep,name=UnlockParam,proto3" json:"UnlockParam,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` // 解锁所需道具
IsUpgrade int32 `protobuf:"varint,4,opt,name=IsUpgrade,proto3" json:"IsUpgrade,omitempty"` // 升级开关 1开启 2关闭
SkillType int32 `protobuf:"varint,5,opt,name=SkillType,proto3" json:"SkillType,omitempty"` // 技能生效类型 0获得后生效 1穿戴生效
Levels []*SkinLevel `protobuf:"bytes,6,rep,name=Levels,proto3" json:"Levels,omitempty"` // 等级列表
}
func (x *SkinItem) Reset() {
*x = SkinItem{}
if protoimpl.UnsafeEnabled {
mi := &file_common_proto_msgTypes[79]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SkinItem) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SkinItem) ProtoMessage() {}
func (x *SkinItem) ProtoReflect() protoreflect.Message {
mi := &file_common_proto_msgTypes[79]
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 SkinItem.ProtoReflect.Descriptor instead.
func (*SkinItem) Descriptor() ([]byte, []int) {
return file_common_proto_rawDescGZIP(), []int{79}
}
func (x *SkinItem) GetId() int32 {
if x != nil {
return x.Id
}
return 0
}
func (x *SkinItem) GetUnlockType() int32 {
if x != nil {
return x.UnlockType
}
return 0
}
func (x *SkinItem) GetUnlockParam() map[int32]int64 {
if x != nil {
return x.UnlockParam
}
return nil
}
func (x *SkinItem) GetIsUpgrade() int32 {
if x != nil {
return x.IsUpgrade
}
return 0
}
func (x *SkinItem) GetSkillType() int32 {
if x != nil {
return x.SkillType
}
return 0
}
func (x *SkinItem) GetLevels() []*SkinLevel {
if x != nil {
return x.Levels
}
return nil
}
// etcd /game/skin_config
type SkinConfig struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Platform string `protobuf:"bytes,1,opt,name=Platform,proto3" json:"Platform,omitempty"` // 平台
Items []*SkinItem `protobuf:"bytes,2,rep,name=Items,proto3" json:"Items,omitempty"` // 皮肤列表
}
func (x *SkinConfig) Reset() {
*x = SkinConfig{}
if protoimpl.UnsafeEnabled {
mi := &file_common_proto_msgTypes[80]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SkinConfig) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SkinConfig) ProtoMessage() {}
func (x *SkinConfig) ProtoReflect() protoreflect.Message {
mi := &file_common_proto_msgTypes[80]
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 SkinConfig.ProtoReflect.Descriptor instead.
func (*SkinConfig) Descriptor() ([]byte, []int) {
return file_common_proto_rawDescGZIP(), []int{80}
}
func (x *SkinConfig) GetPlatform() string {
if x != nil {
return x.Platform
}
return ""
}
func (x *SkinConfig) GetItems() []*SkinItem {
if x != nil {
return x.Items
}
return nil
}
// etcd /game/awardlog_config
type AwardLogConfig struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Platform string `protobuf:"bytes,1,opt,name=Platform,proto3" json:"Platform,omitempty"` // 平台
AwardLog []*AwardLogData `protobuf:"bytes,2,rep,name=AwardLog,proto3" json:"AwardLog,omitempty"`
AnnouncerLog []*AnnouncerLogInfo `protobuf:"bytes,3,rep,name=AnnouncerLog,proto3" json:"AnnouncerLog,omitempty"`
}
func (x *AwardLogConfig) Reset() {
*x = AwardLogConfig{}
if protoimpl.UnsafeEnabled {
mi := &file_common_proto_msgTypes[81]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *AwardLogConfig) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*AwardLogConfig) ProtoMessage() {}
func (x *AwardLogConfig) ProtoReflect() protoreflect.Message {
mi := &file_common_proto_msgTypes[81]
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 AwardLogConfig.ProtoReflect.Descriptor instead.
func (*AwardLogConfig) Descriptor() ([]byte, []int) {
return file_common_proto_rawDescGZIP(), []int{81}
}
func (x *AwardLogConfig) GetPlatform() string {
if x != nil {
return x.Platform
}
return ""
}
func (x *AwardLogConfig) GetAwardLog() []*AwardLogData {
if x != nil {
return x.AwardLog
}
return nil
}
func (x *AwardLogConfig) GetAnnouncerLog() []*AnnouncerLogInfo {
if x != nil {
return x.AnnouncerLog
}
return nil
}
type AwardLogData struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
TypeId int32 `protobuf:"varint,1,opt,name=TypeId,proto3" json:"TypeId,omitempty"` //1话费 2实物
SortId int32 `protobuf:"varint,2,opt,name=SortId,proto3" json:"SortId,omitempty"` //排序類型 1-数量 2-序号
AwardLog []*AwardLogInfo `protobuf:"bytes,3,rep,name=AwardLog,proto3" json:"AwardLog,omitempty"`
}
func (x *AwardLogData) Reset() {
*x = AwardLogData{}
if protoimpl.UnsafeEnabled {
mi := &file_common_proto_msgTypes[82]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *AwardLogData) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*AwardLogData) ProtoMessage() {}
func (x *AwardLogData) ProtoReflect() protoreflect.Message {
mi := &file_common_proto_msgTypes[82]
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 AwardLogData.ProtoReflect.Descriptor instead.
func (*AwardLogData) Descriptor() ([]byte, []int) {
return file_common_proto_rawDescGZIP(), []int{82}
}
func (x *AwardLogData) GetTypeId() int32 {
if x != nil {
return x.TypeId
}
return 0
}
func (x *AwardLogData) GetSortId() int32 {
if x != nil {
return x.SortId
}
return 0
}
func (x *AwardLogData) GetAwardLog() []*AwardLogInfo {
if x != nil {
return x.AwardLog
}
return nil
}
type AwardLogInfo struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
ItemId int32 `protobuf:"varint,2,opt,name=ItemId,proto3" json:"ItemId,omitempty"` //道具ID
Num int64 `protobuf:"varint,4,opt,name=Num,proto3" json:"Num,omitempty"` //数量
Url string `protobuf:"bytes,5,opt,name=Url,proto3" json:"Url,omitempty"` //话费icon
Order int32 `protobuf:"varint,6,opt,name=Order,proto3" json:"Order,omitempty"` //序号
}
func (x *AwardLogInfo) Reset() {
*x = AwardLogInfo{}
if protoimpl.UnsafeEnabled {
mi := &file_common_proto_msgTypes[83]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *AwardLogInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*AwardLogInfo) ProtoMessage() {}
func (x *AwardLogInfo) ProtoReflect() protoreflect.Message {
mi := &file_common_proto_msgTypes[83]
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 AwardLogInfo.ProtoReflect.Descriptor instead.
func (*AwardLogInfo) Descriptor() ([]byte, []int) {
return file_common_proto_rawDescGZIP(), []int{83}
}
func (x *AwardLogInfo) GetItemId() int32 {
if x != nil {
return x.ItemId
}
return 0
}
func (x *AwardLogInfo) GetNum() int64 {
if x != nil {
return x.Num
}
return 0
}
func (x *AwardLogInfo) GetUrl() string {
if x != nil {
return x.Url
}
return ""
}
func (x *AwardLogInfo) GetOrder() int32 {
if x != nil {
return x.Order
}
return 0
}
//实时播报
type AnnouncerLogInfo struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Snid int32 `protobuf:"varint,1,opt,name=Snid,proto3" json:"Snid,omitempty"` //玩家ID
Name string `protobuf:"bytes,2,opt,name=Name,proto3" json:"Name,omitempty"` //玩家名字
Phone string `protobuf:"bytes,3,opt,name=Phone,proto3" json:"Phone,omitempty"` //电话
ItemId int32 `protobuf:"varint,4,opt,name=ItemId,proto3" json:"ItemId,omitempty"` //获得物品ID
TypeId int32 `protobuf:"varint,5,opt,name=TypeId,proto3" json:"TypeId,omitempty"` //1-话费 2-实物
}
func (x *AnnouncerLogInfo) Reset() {
*x = AnnouncerLogInfo{}
if protoimpl.UnsafeEnabled {
mi := &file_common_proto_msgTypes[84]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *AnnouncerLogInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*AnnouncerLogInfo) ProtoMessage() {}
func (x *AnnouncerLogInfo) ProtoReflect() protoreflect.Message {
mi := &file_common_proto_msgTypes[84]
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 AnnouncerLogInfo.ProtoReflect.Descriptor instead.
func (*AnnouncerLogInfo) Descriptor() ([]byte, []int) {
return file_common_proto_rawDescGZIP(), []int{84}
}
func (x *AnnouncerLogInfo) GetSnid() int32 {
if x != nil {
return x.Snid
}
return 0
}
func (x *AnnouncerLogInfo) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *AnnouncerLogInfo) GetPhone() string {
if x != nil {
return x.Phone
}
return ""
}
func (x *AnnouncerLogInfo) GetItemId() int32 {
if x != nil {
return x.ItemId
}
return 0
}
func (x *AnnouncerLogInfo) GetTypeId() int32 {
if x != nil {
return x.TypeId
}
return 0
}
// etcd /game/guide_config
type GuideConfig struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Platform string `protobuf:"bytes,1,opt,name=Platform,proto3" json:"Platform,omitempty"` // 平台
On int32 `protobuf:"varint,2,opt,name=On,proto3" json:"On,omitempty"` // 引导开关 1开启 2关闭
Skip int32 `protobuf:"varint,3,opt,name=Skip,proto3" json:"Skip,omitempty"` // 引导跳过开关 1开启 2关闭
}
func (x *GuideConfig) Reset() {
*x = GuideConfig{}
if protoimpl.UnsafeEnabled {
mi := &file_common_proto_msgTypes[85]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GuideConfig) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GuideConfig) ProtoMessage() {}
func (x *GuideConfig) ProtoReflect() protoreflect.Message {
mi := &file_common_proto_msgTypes[85]
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 GuideConfig.ProtoReflect.Descriptor instead.
func (*GuideConfig) Descriptor() ([]byte, []int) {
return file_common_proto_rawDescGZIP(), []int{85}
}
func (x *GuideConfig) GetPlatform() string {
if x != nil {
return x.Platform
}
return ""
}
func (x *GuideConfig) GetOn() int32 {
if x != nil {
return x.On
}
return 0
}
func (x *GuideConfig) GetSkip() int32 {
if x != nil {
return x.Skip
}
return 0
}
//娃娃机配置视频
// etcd /game/machine_config
type MachineConfig struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Platform string `protobuf:"bytes,1,opt,name=Platform,proto3" json:"Platform,omitempty"` // 平台
Info []*MachineInfo `protobuf:"bytes,2,rep,name=Info,proto3" json:"Info,omitempty"`
}
func (x *MachineConfig) Reset() {
*x = MachineConfig{}
if protoimpl.UnsafeEnabled {
mi := &file_common_proto_msgTypes[86]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *MachineConfig) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*MachineConfig) ProtoMessage() {}
func (x *MachineConfig) ProtoReflect() protoreflect.Message {
mi := &file_common_proto_msgTypes[86]
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 MachineConfig.ProtoReflect.Descriptor instead.
func (*MachineConfig) Descriptor() ([]byte, []int) {
return file_common_proto_rawDescGZIP(), []int{86}
}
func (x *MachineConfig) GetPlatform() string {
if x != nil {
return x.Platform
}
return ""
}
func (x *MachineConfig) GetInfo() []*MachineInfo {
if x != nil {
return x.Info
}
return nil
}
type MachineInfo struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
MachineId int32 `protobuf:"varint,1,opt,name=MachineId,proto3" json:"MachineId,omitempty"` //娃娃机Id
AppId int64 `protobuf:"varint,2,opt,name=AppId,proto3" json:"AppId,omitempty"`
ServerSecret string `protobuf:"bytes,3,opt,name=ServerSecret,proto3" json:"ServerSecret,omitempty"`
StreamId string `protobuf:"bytes,4,opt,name=StreamId,proto3" json:"StreamId,omitempty"`
CostItemNum int32 `protobuf:"varint,5,opt,name=CostItemNum,proto3" json:"CostItemNum,omitempty"` //消耗道具数量
ItemId int32 `protobuf:"varint,6,opt,name=ItemId,proto3" json:"ItemId,omitempty"` //获得道具Id
ItemNum int32 `protobuf:"varint,7,opt,name=ItemNum,proto3" json:"ItemNum,omitempty"` //获得道具数量
IconAddr string `protobuf:"bytes,8,opt,name=IconAddr,proto3" json:"IconAddr,omitempty"` //图片地址
Name string `protobuf:"bytes,9,opt,name=Name,proto3" json:"Name,omitempty"` //场次名字
}
func (x *MachineInfo) Reset() {
*x = MachineInfo{}
if protoimpl.UnsafeEnabled {
mi := &file_common_proto_msgTypes[87]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *MachineInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*MachineInfo) ProtoMessage() {}
func (x *MachineInfo) ProtoReflect() protoreflect.Message {
mi := &file_common_proto_msgTypes[87]
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 MachineInfo.ProtoReflect.Descriptor instead.
func (*MachineInfo) Descriptor() ([]byte, []int) {
return file_common_proto_rawDescGZIP(), []int{87}
}
func (x *MachineInfo) GetMachineId() int32 {
if x != nil {
return x.MachineId
}
return 0
}
func (x *MachineInfo) GetAppId() int64 {
if x != nil {
return x.AppId
}
return 0
}
func (x *MachineInfo) GetServerSecret() string {
if x != nil {
return x.ServerSecret
}
return ""
}
func (x *MachineInfo) GetStreamId() string {
if x != nil {
return x.StreamId
}
return ""
}
func (x *MachineInfo) GetCostItemNum() int32 {
if x != nil {
return x.CostItemNum
}
return 0
}
func (x *MachineInfo) GetItemId() int32 {
if x != nil {
return x.ItemId
}
return 0
}
func (x *MachineInfo) GetItemNum() int32 {
if x != nil {
return x.ItemNum
}
return 0
}
func (x *MachineInfo) GetIconAddr() string {
if x != nil {
return x.IconAddr
}
return ""
}
func (x *MachineInfo) GetName() string {
if x != nil {
return x.Name
}
return ""
}
// etcd /game/match_audience
type MatchAudience struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Platform string `protobuf:"bytes,1,opt,name=Platform,proto3" json:"Platform,omitempty"` // 平台
SnId int32 `protobuf:"varint,2,opt,name=SnId,proto3" json:"SnId,omitempty"` // 玩家ID
Ts int64 `protobuf:"varint,3,opt,name=Ts,proto3" json:"Ts,omitempty"` // 时间戳
}
func (x *MatchAudience) Reset() {
*x = MatchAudience{}
if protoimpl.UnsafeEnabled {
mi := &file_common_proto_msgTypes[88]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *MatchAudience) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*MatchAudience) ProtoMessage() {}
func (x *MatchAudience) ProtoReflect() protoreflect.Message {
mi := &file_common_proto_msgTypes[88]
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 MatchAudience.ProtoReflect.Descriptor instead.
func (*MatchAudience) Descriptor() ([]byte, []int) {
return file_common_proto_rawDescGZIP(), []int{88}
}
func (x *MatchAudience) GetPlatform() string {
if x != nil {
return x.Platform
}
return ""
}
func (x *MatchAudience) GetSnId() int32 {
if x != nil {
return x.SnId
}
return 0
}
func (x *MatchAudience) GetTs() int64 {
if x != nil {
return x.Ts
}
return 0
}
// etcd /game/spirit
type SpiritConfig struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Platform string `protobuf:"bytes,1,opt,name=Platform,proto3" json:"Platform,omitempty"` // 平台
On int32 `protobuf:"varint,2,opt,name=On,proto3" json:"On,omitempty"` // 精灵开关 1开启 2关闭
Url string `protobuf:"bytes,3,opt,name=Url,proto3" json:"Url,omitempty"`
}
func (x *SpiritConfig) Reset() {
*x = SpiritConfig{}
if protoimpl.UnsafeEnabled {
mi := &file_common_proto_msgTypes[89]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SpiritConfig) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SpiritConfig) ProtoMessage() {}
func (x *SpiritConfig) ProtoReflect() protoreflect.Message {
mi := &file_common_proto_msgTypes[89]
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 SpiritConfig.ProtoReflect.Descriptor instead.
func (*SpiritConfig) Descriptor() ([]byte, []int) {
return file_common_proto_rawDescGZIP(), []int{89}
}
func (x *SpiritConfig) GetPlatform() string {
if x != nil {
return x.Platform
}
return ""
}
func (x *SpiritConfig) GetOn() int32 {
if x != nil {
return x.On
}
return 0
}
func (x *SpiritConfig) GetUrl() string {
if x != nil {
return x.Url
}
return ""
}
// etcd /game/room_type
type RoomType struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Platform string `protobuf:"bytes,1,opt,name=Platform,proto3" json:"Platform,omitempty"` // 平台
Id int32 `protobuf:"varint,2,opt,name=Id,proto3" json:"Id,omitempty"` // 配置ID
Name string `protobuf:"bytes,3,opt,name=Name,proto3" json:"Name,omitempty"` // 类型名称
On int32 `protobuf:"varint,4,opt,name=On,proto3" json:"On,omitempty"` // 开关 1开启 2关闭
SortId int32 `protobuf:"varint,5,opt,name=SortId,proto3" json:"SortId,omitempty"` // 排序ID
}
func (x *RoomType) Reset() {
*x = RoomType{}
if protoimpl.UnsafeEnabled {
mi := &file_common_proto_msgTypes[90]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *RoomType) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*RoomType) ProtoMessage() {}
func (x *RoomType) ProtoReflect() protoreflect.Message {
mi := &file_common_proto_msgTypes[90]
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 RoomType.ProtoReflect.Descriptor instead.
func (*RoomType) Descriptor() ([]byte, []int) {
return file_common_proto_rawDescGZIP(), []int{90}
}
func (x *RoomType) GetPlatform() string {
if x != nil {
return x.Platform
}
return ""
}
func (x *RoomType) GetId() int32 {
if x != nil {
return x.Id
}
return 0
}
func (x *RoomType) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *RoomType) GetOn() int32 {
if x != nil {
return x.On
}
return 0
}
func (x *RoomType) GetSortId() int32 {
if x != nil {
return x.SortId
}
return 0
}
// etcd /game/room_config
type RoomConfig struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Platform string `protobuf:"bytes,1,opt,name=Platform,proto3" json:"Platform,omitempty"` // 平台
Id int32 `protobuf:"varint,2,opt,name=Id,proto3" json:"Id,omitempty"` // 配置id
Name string `protobuf:"bytes,3,opt,name=Name,proto3" json:"Name,omitempty"` // 配置名称
RoomType int32 `protobuf:"varint,4,opt,name=RoomType,proto3" json:"RoomType,omitempty"` // 房间类型id
On int32 `protobuf:"varint,5,opt,name=On,proto3" json:"On,omitempty"` // 开关 1开启 2关闭
SortId int32 `protobuf:"varint,6,opt,name=SortId,proto3" json:"SortId,omitempty"` // 排序ID
Cost []*ItemInfo `protobuf:"bytes,7,rep,name=Cost,proto3" json:"Cost,omitempty"` // 进入房间消耗
Reward []*ItemInfo `protobuf:"bytes,8,rep,name=Reward,proto3" json:"Reward,omitempty"` // 进入房间奖励
OnChannelName []string `protobuf:"bytes,9,rep,name=OnChannelName,proto3" json:"OnChannelName,omitempty"` // 开启的渠道名称
GameFreeId []int32 `protobuf:"varint,10,rep,packed,name=GameFreeId,proto3" json:"GameFreeId,omitempty"` // 场次id
Round []int32 `protobuf:"varint,11,rep,packed,name=Round,proto3" json:"Round,omitempty"` // 局数
PlayerNum []int32 `protobuf:"varint,12,rep,packed,name=PlayerNum,proto3" json:"PlayerNum,omitempty"` // 人数
NeedPassword int32 `protobuf:"varint,13,opt,name=NeedPassword,proto3" json:"NeedPassword,omitempty"` // 是否需要密码 1是 2否 3自定义
CostType int32 `protobuf:"varint,14,opt,name=CostType,proto3" json:"CostType,omitempty"` // 消耗类型 1AA 2房主 3自定义
Voice int32 `protobuf:"varint,15,opt,name=Voice,proto3" json:"Voice,omitempty"` // 是否开启语音 1是 2否 3自定义
ImageURI string `protobuf:"bytes,16,opt,name=ImageURI,proto3" json:"ImageURI,omitempty"` // 奖励图片
}
func (x *RoomConfig) Reset() {
*x = RoomConfig{}
if protoimpl.UnsafeEnabled {
mi := &file_common_proto_msgTypes[91]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *RoomConfig) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*RoomConfig) ProtoMessage() {}
func (x *RoomConfig) ProtoReflect() protoreflect.Message {
mi := &file_common_proto_msgTypes[91]
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 RoomConfig.ProtoReflect.Descriptor instead.
func (*RoomConfig) Descriptor() ([]byte, []int) {
return file_common_proto_rawDescGZIP(), []int{91}
}
func (x *RoomConfig) GetPlatform() string {
if x != nil {
return x.Platform
}
return ""
}
func (x *RoomConfig) GetId() int32 {
if x != nil {
return x.Id
}
return 0
}
func (x *RoomConfig) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *RoomConfig) GetRoomType() int32 {
if x != nil {
return x.RoomType
}
return 0
}
func (x *RoomConfig) GetOn() int32 {
if x != nil {
return x.On
}
return 0
}
func (x *RoomConfig) GetSortId() int32 {
if x != nil {
return x.SortId
}
return 0
}
func (x *RoomConfig) GetCost() []*ItemInfo {
if x != nil {
return x.Cost
}
return nil
}
func (x *RoomConfig) GetReward() []*ItemInfo {
if x != nil {
return x.Reward
}
return nil
}
func (x *RoomConfig) GetOnChannelName() []string {
if x != nil {
return x.OnChannelName
}
return nil
}
func (x *RoomConfig) GetGameFreeId() []int32 {
if x != nil {
return x.GameFreeId
}
return nil
}
func (x *RoomConfig) GetRound() []int32 {
if x != nil {
return x.Round
}
return nil
}
func (x *RoomConfig) GetPlayerNum() []int32 {
if x != nil {
return x.PlayerNum
}
return nil
}
func (x *RoomConfig) GetNeedPassword() int32 {
if x != nil {
return x.NeedPassword
}
return 0
}
func (x *RoomConfig) GetCostType() int32 {
if x != nil {
return x.CostType
}
return 0
}
func (x *RoomConfig) GetVoice() int32 {
if x != nil {
return x.Voice
}
return 0
}
func (x *RoomConfig) GetImageURI() string {
if x != nil {
return x.ImageURI
}
return ""
}
var File_common_proto protoreflect.FileDescriptor
var file_common_proto_rawDesc = []byte{
0x0a, 0x0c, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x06,
0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x1a, 0x1c, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c,
0x2f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2f, 0x70, 0x62, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb6, 0x01, 0x0a, 0x0e, 0x4d, 0x79, 0x73, 0x71, 0x6c, 0x44, 0x62,
0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x48, 0x6f, 0x73, 0x74, 0x4e,
0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x48, 0x6f, 0x73, 0x74, 0x4e,
0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x48, 0x6f, 0x73, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x18,
0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x48, 0x6f, 0x73, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x12,
0x1a, 0x0a, 0x08, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28,
0x09, 0x52, 0x08, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x55,
0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x55,
0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x61, 0x73, 0x73, 0x77,
0x6f, 0x72, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x61, 0x73, 0x73, 0x77,
0x6f, 0x72, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x06,
0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xe8, 0x01,
0x0a, 0x0e, 0x4d, 0x6f, 0x6e, 0x67, 0x6f, 0x44, 0x62, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67,
0x12, 0x1a, 0x0a, 0x08, 0x48, 0x6f, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01,
0x28, 0x09, 0x52, 0x08, 0x48, 0x6f, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08,
0x48, 0x6f, 0x73, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08,
0x48, 0x6f, 0x73, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x44, 0x61, 0x74, 0x61,
0x62, 0x61, 0x73, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x44, 0x61, 0x74, 0x61,
0x62, 0x61, 0x73, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x55, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65,
0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x55, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65,
0x12, 0x1a, 0x0a, 0x08, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x05, 0x20, 0x01,
0x28, 0x09, 0x52, 0x08, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x18, 0x0a, 0x07,
0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x4f,
0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x43, 0x66, 0x67, 0x53, 0x69, 0x67,
0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x43, 0x66, 0x67, 0x53, 0x69, 0x67, 0x6e,
0x12, 0x16, 0x0a, 0x06, 0x43, 0x66, 0x67, 0x56, 0x65, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05,
0x52, 0x06, 0x43, 0x66, 0x67, 0x56, 0x65, 0x72, 0x22, 0x72, 0x0a, 0x0a, 0x52, 0x61, 0x6e, 0x6b,
0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x12, 0x14, 0x0a, 0x05, 0x41, 0x73, 0x73, 0x65, 0x74, 0x18,
0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x41, 0x73, 0x73, 0x65, 0x74, 0x12, 0x1a, 0x0a, 0x08,
0x52, 0x65, 0x63, 0x68, 0x61, 0x72, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08,
0x52, 0x65, 0x63, 0x68, 0x61, 0x72, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x45, 0x78, 0x63, 0x68,
0x61, 0x6e, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x45, 0x78, 0x63, 0x68,
0x61, 0x6e, 0x67, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x74, 0x18, 0x04,
0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x74, 0x22, 0x92, 0x03, 0x0a,
0x0a, 0x43, 0x6c, 0x75, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x22, 0x0a, 0x0c, 0x43,
0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28,
0x03, 0x52, 0x0c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x69, 0x6e, 0x12,
0x22, 0x0a, 0x0c, 0x49, 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x43, 0x6f, 0x69, 0x6e, 0x18,
0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x49, 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x43,
0x6f, 0x69, 0x6e, 0x12, 0x2c, 0x0a, 0x11, 0x43, 0x6c, 0x75, 0x62, 0x49, 0x6e, 0x69, 0x74, 0x50,
0x6c, 0x61, 0x79, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x11,
0x43, 0x6c, 0x75, 0x62, 0x49, 0x6e, 0x69, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4e, 0x75,
0x6d, 0x12, 0x2c, 0x0a, 0x11, 0x49, 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x50, 0x6c, 0x61,
0x79, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x11, 0x49, 0x6e,
0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x12,
0x1e, 0x0a, 0x0a, 0x49, 0x73, 0x4f, 0x70, 0x65, 0x6e, 0x43, 0x6c, 0x75, 0x62, 0x18, 0x05, 0x20,
0x01, 0x28, 0x08, 0x52, 0x0a, 0x49, 0x73, 0x4f, 0x70, 0x65, 0x6e, 0x43, 0x6c, 0x75, 0x62, 0x12,
0x38, 0x0a, 0x17, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x75, 0x62, 0x43, 0x68, 0x65,
0x63, 0x6b, 0x42, 0x79, 0x4d, 0x61, 0x6e, 0x75, 0x61, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08,
0x52, 0x17, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x75, 0x62, 0x43, 0x68, 0x65, 0x63,
0x6b, 0x42, 0x79, 0x4d, 0x61, 0x6e, 0x75, 0x61, 0x6c, 0x12, 0x36, 0x0a, 0x16, 0x45, 0x64, 0x69,
0x74, 0x43, 0x6c, 0x75, 0x62, 0x4e, 0x6f, 0x74, 0x69, 0x63, 0x65, 0x42, 0x79, 0x4d, 0x61, 0x6e,
0x75, 0x61, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x16, 0x45, 0x64, 0x69, 0x74, 0x43,
0x6c, 0x75, 0x62, 0x4e, 0x6f, 0x74, 0x69, 0x63, 0x65, 0x42, 0x79, 0x4d, 0x61, 0x6e, 0x75, 0x61,
0x6c, 0x12, 0x2a, 0x0a, 0x10, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x6f, 0x6d, 0x41,
0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x10, 0x43, 0x72, 0x65,
0x61, 0x74, 0x65, 0x52, 0x6f, 0x6f, 0x6d, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x22, 0x0a,
0x0c, 0x47, 0x69, 0x76, 0x65, 0x43, 0x6f, 0x69, 0x6e, 0x52, 0x61, 0x74, 0x65, 0x18, 0x09, 0x20,
0x03, 0x28, 0x03, 0x52, 0x0c, 0x47, 0x69, 0x76, 0x65, 0x43, 0x6f, 0x69, 0x6e, 0x52, 0x61, 0x74,
0x65, 0x22, 0x37, 0x0a, 0x09, 0x54, 0x68, 0x69, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x12, 0x0e,
0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x1a,
0x0a, 0x08, 0x4d, 0x65, 0x72, 0x63, 0x68, 0x61, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05,
0x52, 0x08, 0x4d, 0x65, 0x72, 0x63, 0x68, 0x61, 0x6e, 0x74, 0x22, 0xce, 0x0b, 0x0a, 0x08, 0x50,
0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x22, 0x0a, 0x0c, 0x50, 0x6c, 0x61, 0x74, 0x66,
0x6f, 0x72, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x50,
0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x49,
0x73, 0x6f, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x49,
0x73, 0x6f, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x44, 0x69, 0x73, 0x61, 0x62,
0x6c, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x44, 0x69, 0x73, 0x61, 0x62,
0x6c, 0x65, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52,
0x02, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0d, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x53, 0x65, 0x72,
0x76, 0x69, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x43, 0x75, 0x73, 0x74,
0x6f, 0x6d, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x42, 0x69, 0x6e,
0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x42,
0x69, 0x6e, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x53, 0x65, 0x72,
0x76, 0x69, 0x63, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b,
0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x12, 0x36, 0x0a, 0x16, 0x55,
0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x47, 0x69, 0x76,
0x65, 0x43, 0x6f, 0x69, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x16, 0x55, 0x70, 0x67,
0x72, 0x61, 0x64, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x47, 0x69, 0x76, 0x65, 0x43,
0x6f, 0x69, 0x6e, 0x12, 0x2e, 0x0a, 0x12, 0x4e, 0x65, 0x77, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e,
0x74, 0x47, 0x69, 0x76, 0x65, 0x43, 0x6f, 0x69, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52,
0x12, 0x4e, 0x65, 0x77, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x47, 0x69, 0x76, 0x65, 0x43,
0x6f, 0x69, 0x6e, 0x12, 0x34, 0x0a, 0x15, 0x50, 0x65, 0x72, 0x42, 0x61, 0x6e, 0x6b, 0x4e, 0x6f,
0x4c, 0x69, 0x6d, 0x69, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0a, 0x20, 0x01,
0x28, 0x05, 0x52, 0x15, 0x50, 0x65, 0x72, 0x42, 0x61, 0x6e, 0x6b, 0x4e, 0x6f, 0x4c, 0x69, 0x6d,
0x69, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x45, 0x78, 0x63,
0x68, 0x61, 0x6e, 0x67, 0x65, 0x4d, 0x69, 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b,
0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4d, 0x69, 0x6e, 0x12, 0x24, 0x0a, 0x0d, 0x45,
0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x0c, 0x20, 0x01,
0x28, 0x05, 0x52, 0x0d, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4c, 0x69, 0x6d, 0x69,
0x74, 0x12, 0x20, 0x0a, 0x0b, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x61, 0x78,
0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65,
0x54, 0x61, 0x78, 0x12, 0x2a, 0x0a, 0x10, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x46,
0x6f, 0x72, 0x63, 0x65, 0x54, 0x61, 0x78, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x45,
0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x46, 0x6f, 0x72, 0x63, 0x65, 0x54, 0x61, 0x78, 0x12,
0x22, 0x0a, 0x0c, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x46, 0x6c, 0x6f, 0x77, 0x18,
0x0f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x46,
0x6c, 0x6f, 0x77, 0x12, 0x2a, 0x0a, 0x10, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x47,
0x69, 0x76, 0x65, 0x46, 0x6c, 0x6f, 0x77, 0x18, 0x10, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x45,
0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x47, 0x69, 0x76, 0x65, 0x46, 0x6c, 0x6f, 0x77, 0x12,
0x22, 0x0a, 0x0c, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x18,
0x11, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x46,
0x6c, 0x61, 0x67, 0x12, 0x20, 0x0a, 0x0b, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x56,
0x65, 0x72, 0x18, 0x12, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e,
0x67, 0x65, 0x56, 0x65, 0x72, 0x12, 0x2a, 0x0a, 0x10, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67,
0x65, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x05, 0x52,
0x10, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c,
0x65, 0x12, 0x1a, 0x0a, 0x08, 0x56, 0x69, 0x70, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x14, 0x20,
0x03, 0x28, 0x05, 0x52, 0x08, 0x56, 0x69, 0x70, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x22, 0x0a,
0x0c, 0x53, 0x70, 0x72, 0x65, 0x61, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x15, 0x20,
0x01, 0x28, 0x05, 0x52, 0x0c, 0x53, 0x70, 0x72, 0x65, 0x61, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69,
0x67, 0x12, 0x34, 0x0a, 0x0b, 0x4c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64,
0x18, 0x16, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e,
0x52, 0x61, 0x6e, 0x6b, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x52, 0x0b, 0x4c, 0x65, 0x61, 0x64,
0x65, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x12, 0x32, 0x0a, 0x0a, 0x43, 0x6c, 0x75, 0x62, 0x43,
0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x77, 0x65,
0x62, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x6c, 0x75, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52,
0x0a, 0x43, 0x6c, 0x75, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x26, 0x0a, 0x0e, 0x56,
0x65, 0x72, 0x69, 0x66, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x19, 0x20,
0x01, 0x28, 0x05, 0x52, 0x0e, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x54,
0x79, 0x70, 0x65, 0x12, 0x3f, 0x0a, 0x11, 0x54, 0x68, 0x69, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65,
0x4d, 0x65, 0x72, 0x63, 0x68, 0x61, 0x6e, 0x74, 0x18, 0x1a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11,
0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x68, 0x69, 0x72, 0x64, 0x47, 0x61, 0x6d,
0x65, 0x52, 0x11, 0x54, 0x68, 0x69, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x4d, 0x65, 0x72, 0x63,
0x68, 0x61, 0x6e, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x54, 0x79,
0x70, 0x65, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d,
0x54, 0x79, 0x70, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x4e, 0x65, 0x65, 0x64, 0x53, 0x61, 0x6d, 0x65,
0x4e, 0x61, 0x6d, 0x65, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x4e, 0x65, 0x65, 0x64,
0x53, 0x61, 0x6d, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x45, 0x78, 0x63, 0x68,
0x61, 0x6e, 0x67, 0x65, 0x42, 0x61, 0x6e, 0x6b, 0x4d, 0x61, 0x78, 0x18, 0x1e, 0x20, 0x01, 0x28,
0x05, 0x52, 0x0f, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x42, 0x61, 0x6e, 0x6b, 0x4d,
0x61, 0x78, 0x12, 0x2c, 0x0a, 0x11, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x41, 0x6c,
0x69, 0x70, 0x61, 0x79, 0x4d, 0x61, 0x78, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x11, 0x45,
0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x41, 0x6c, 0x69, 0x70, 0x61, 0x79, 0x4d, 0x61, 0x78,
0x12, 0x2e, 0x0a, 0x12, 0x50, 0x65, 0x72, 0x42, 0x61, 0x6e, 0x6b, 0x4e, 0x6f, 0x4c, 0x69, 0x6d,
0x69, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x20, 0x20, 0x01, 0x28, 0x05, 0x52, 0x12, 0x50, 0x65,
0x72, 0x42, 0x61, 0x6e, 0x6b, 0x4e, 0x6f, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4e, 0x61, 0x6d, 0x65,
0x12, 0x34, 0x0a, 0x15, 0x49, 0x73, 0x43, 0x61, 0x6e, 0x55, 0x73, 0x65, 0x72, 0x42, 0x69, 0x6e,
0x64, 0x50, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x65, 0x72, 0x18, 0x21, 0x20, 0x01, 0x28, 0x08, 0x52,
0x15, 0x49, 0x73, 0x43, 0x61, 0x6e, 0x55, 0x73, 0x65, 0x72, 0x42, 0x69, 0x6e, 0x64, 0x50, 0x72,
0x6f, 0x6d, 0x6f, 0x74, 0x65, 0x72, 0x12, 0x34, 0x0a, 0x15, 0x55, 0x73, 0x65, 0x72, 0x42, 0x69,
0x6e, 0x64, 0x50, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x65, 0x72, 0x50, 0x72, 0x69, 0x7a, 0x65, 0x18,
0x22, 0x20, 0x01, 0x28, 0x05, 0x52, 0x15, 0x55, 0x73, 0x65, 0x72, 0x42, 0x69, 0x6e, 0x64, 0x50,
0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x65, 0x72, 0x50, 0x72, 0x69, 0x7a, 0x65, 0x12, 0x20, 0x0a, 0x0b,
0x4d, 0x65, 0x72, 0x63, 0x68, 0x61, 0x6e, 0x74, 0x4b, 0x65, 0x79, 0x18, 0x23, 0x20, 0x01, 0x28,
0x09, 0x52, 0x0b, 0x4d, 0x65, 0x72, 0x63, 0x68, 0x61, 0x6e, 0x74, 0x4b, 0x65, 0x79, 0x12, 0x49,
0x0a, 0x0d, 0x42, 0x69, 0x6e, 0x64, 0x54, 0x65, 0x6c, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x18,
0x24, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x50,
0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x42, 0x69, 0x6e, 0x64, 0x54, 0x65, 0x6c, 0x52,
0x65, 0x77, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0d, 0x42, 0x69, 0x6e, 0x64,
0x54, 0x65, 0x6c, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x1a, 0x40, 0x0a, 0x12, 0x42, 0x69, 0x6e,
0x64, 0x54, 0x65, 0x6c, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12,
0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65,
0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03,
0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x3c, 0x0a, 0x0a, 0x47,
0x61, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x47, 0x61, 0x6d,
0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x47, 0x61, 0x6d, 0x65, 0x49,
0x64, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28,
0x08, 0x52, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x46, 0x0a, 0x10, 0x47, 0x61, 0x6d,
0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x12, 0x32, 0x0a,
0x0a, 0x47, 0x61, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28,
0x0b, 0x32, 0x12, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x61, 0x6d, 0x65, 0x53,
0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0a, 0x47, 0x61, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75,
0x73, 0x22, 0x71, 0x0a, 0x08, 0x47, 0x61, 0x6d, 0x65, 0x46, 0x72, 0x65, 0x65, 0x12, 0x18, 0x0a,
0x07, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07,
0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75,
0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12,
0x33, 0x0a, 0x0a, 0x44, 0x62, 0x47, 0x61, 0x6d, 0x65, 0x46, 0x72, 0x65, 0x65, 0x18, 0x03, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f,
0x47, 0x61, 0x6d, 0x65, 0x46, 0x72, 0x65, 0x65, 0x52, 0x0a, 0x44, 0x62, 0x47, 0x61, 0x6d, 0x65,
0x46, 0x72, 0x65, 0x65, 0x22, 0x68, 0x0a, 0x12, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d,
0x47, 0x61, 0x6d, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1e, 0x0a, 0x0a, 0x50, 0x6c,
0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a,
0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x64, 0x12, 0x32, 0x0a, 0x0b, 0x44, 0x62,
0x47, 0x61, 0x6d, 0x65, 0x46, 0x72, 0x65, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32,
0x10, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x61, 0x6d, 0x65, 0x46, 0x72, 0x65,
0x65, 0x52, 0x0b, 0x44, 0x62, 0x47, 0x61, 0x6d, 0x65, 0x46, 0x72, 0x65, 0x65, 0x73, 0x22, 0xca,
0x01, 0x0a, 0x10, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x44, 0x62, 0x43, 0x6f, 0x6e,
0x66, 0x69, 0x67, 0x12, 0x1e, 0x0a, 0x0a, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49,
0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72,
0x6d, 0x49, 0x64, 0x12, 0x2c, 0x0a, 0x05, 0x4d, 0x79, 0x73, 0x71, 0x6c, 0x18, 0x02, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x16, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x4d, 0x79, 0x73, 0x71,
0x6c, 0x44, 0x62, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x05, 0x4d, 0x79, 0x73, 0x71,
0x6c, 0x12, 0x30, 0x0a, 0x07, 0x4d, 0x6f, 0x6e, 0x67, 0x6f, 0x44, 0x62, 0x18, 0x03, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x16, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x4d, 0x6f, 0x6e, 0x67,
0x6f, 0x44, 0x62, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x07, 0x4d, 0x6f, 0x6e, 0x67,
0x6f, 0x44, 0x62, 0x12, 0x36, 0x0a, 0x0a, 0x4d, 0x6f, 0x6e, 0x67, 0x6f, 0x44, 0x62, 0x4c, 0x6f,
0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69,
0x2e, 0x4d, 0x6f, 0x6e, 0x67, 0x6f, 0x44, 0x62, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x52,
0x0a, 0x4d, 0x6f, 0x6e, 0x67, 0x6f, 0x44, 0x62, 0x4c, 0x6f, 0x67, 0x22, 0x8e, 0x01, 0x0a, 0x0f,
0x47, 0x61, 0x6d, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12,
0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12,
0x18, 0x0a, 0x07, 0x4c, 0x6f, 0x67, 0x69, 0x63, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05,
0x52, 0x07, 0x4c, 0x6f, 0x67, 0x69, 0x63, 0x49, 0x64, 0x12, 0x33, 0x0a, 0x0a, 0x44, 0x62, 0x47,
0x61, 0x6d, 0x65, 0x46, 0x72, 0x65, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e,
0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x46, 0x72,
0x65, 0x65, 0x52, 0x0a, 0x44, 0x62, 0x47, 0x61, 0x6d, 0x65, 0x46, 0x72, 0x65, 0x65, 0x12, 0x1c,
0x0a, 0x09, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28,
0x09, 0x52, 0x09, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0xa5, 0x02, 0x0a,
0x07, 0x41, 0x70, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01,
0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x50, 0x6c, 0x61, 0x74,
0x66, 0x6f, 0x72, 0x6d, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x50, 0x6c,
0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65,
0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b,
0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28,
0x09, 0x52, 0x0b, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1a,
0x0a, 0x08, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09,
0x52, 0x08, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x41, 0x70,
0x6b, 0x55, 0x72, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x41, 0x70, 0x6b, 0x55,
0x72, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x49, 0x70, 0x61, 0x55, 0x72, 0x6c, 0x18, 0x07, 0x20, 0x01,
0x28, 0x09, 0x52, 0x06, 0x49, 0x70, 0x61, 0x55, 0x72, 0x6c, 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x72,
0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a,
0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x43, 0x75,
0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x54, 0x79, 0x70, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09,
0x52, 0x0c, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x24,
0x0a, 0x0d, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x18,
0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x52,
0x61, 0x74, 0x69, 0x6f, 0x22, 0xad, 0x11, 0x0a, 0x0a, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x44,
0x61, 0x74, 0x61, 0x12, 0x12, 0x0a, 0x04, 0x53, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
0x05, 0x52, 0x04, 0x53, 0x6e, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x54, 0x65, 0x6c, 0x18, 0x02,
0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x54, 0x65, 0x6c, 0x12, 0x10, 0x0a, 0x03, 0x56, 0x49, 0x50,
0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x56, 0x49, 0x50, 0x12, 0x12, 0x0a, 0x04, 0x4e,
0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12,
0x12, 0x0a, 0x04, 0x43, 0x6f, 0x69, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x43,
0x6f, 0x69, 0x6e, 0x12, 0x2c, 0x0a, 0x11, 0x43, 0x6f, 0x69, 0x6e, 0x45, 0x78, 0x63, 0x68, 0x61,
0x6e, 0x67, 0x65, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x11,
0x43, 0x6f, 0x69, 0x6e, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x6f, 0x74, 0x61,
0x6c, 0x12, 0x22, 0x0a, 0x0c, 0x43, 0x6f, 0x69, 0x6e, 0x50, 0x61, 0x79, 0x54, 0x6f, 0x74, 0x61,
0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x43, 0x6f, 0x69, 0x6e, 0x50, 0x61, 0x79,
0x54, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54,
0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x43, 0x72, 0x65, 0x61, 0x74,
0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49,
0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49,
0x64, 0x12, 0x1a, 0x0a, 0x08, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4f, 0x53, 0x18, 0x0a, 0x20,
0x01, 0x28, 0x09, 0x52, 0x08, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4f, 0x53, 0x12, 0x1c, 0x0a,
0x09, 0x44, 0x72, 0x61, 0x77, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05,
0x52, 0x09, 0x44, 0x72, 0x61, 0x77, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x46,
0x61, 0x69, 0x6c, 0x43, 0x6f, 0x69, 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x46,
0x61, 0x69, 0x6c, 0x43, 0x6f, 0x69, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x46, 0x61, 0x69, 0x6c, 0x54,
0x69, 0x6d, 0x65, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x46, 0x61, 0x69, 0x6c,
0x54, 0x69, 0x6d, 0x65, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x47, 0x61, 0x6d, 0x65, 0x54, 0x61, 0x78,
0x18, 0x0e, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x47, 0x61, 0x6d, 0x65, 0x54, 0x61, 0x78, 0x12,
0x0e, 0x0a, 0x02, 0x49, 0x70, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x49, 0x70, 0x12,
0x14, 0x0a, 0x05, 0x49, 0x73, 0x52, 0x6f, 0x62, 0x18, 0x10, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05,
0x49, 0x73, 0x52, 0x6f, 0x62, 0x12, 0x24, 0x0a, 0x0d, 0x4c, 0x61, 0x73, 0x74, 0x4c, 0x6f, 0x67,
0x69, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x4c, 0x61,
0x73, 0x74, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x4d,
0x61, 0x72, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x4d,
0x61, 0x72, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x16, 0x0a, 0x06, 0x4f, 0x6e, 0x6c, 0x69, 0x6e,
0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x12,
0x18, 0x0a, 0x07, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09,
0x52, 0x07, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x50, 0x61, 0x63,
0x6b, 0x61, 0x67, 0x65, 0x49, 0x44, 0x18, 0x15, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x50, 0x61,
0x63, 0x6b, 0x61, 0x67, 0x65, 0x49, 0x44, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66,
0x6f, 0x72, 0x6d, 0x18, 0x16, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66,
0x6f, 0x72, 0x6d, 0x12, 0x14, 0x0a, 0x05, 0x52, 0x65, 0x67, 0x49, 0x70, 0x18, 0x17, 0x20, 0x01,
0x28, 0x09, 0x52, 0x05, 0x52, 0x65, 0x67, 0x49, 0x70, 0x12, 0x20, 0x0a, 0x0b, 0x53, 0x61, 0x66,
0x65, 0x42, 0x6f, 0x78, 0x43, 0x6f, 0x69, 0x6e, 0x18, 0x18, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b,
0x53, 0x61, 0x66, 0x65, 0x42, 0x6f, 0x78, 0x43, 0x6f, 0x69, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x57,
0x42, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x19, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x57, 0x42,
0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x57, 0x69, 0x6e, 0x43, 0x6f, 0x69, 0x6e,
0x18, 0x1a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x57, 0x69, 0x6e, 0x43, 0x6f, 0x69, 0x6e, 0x12,
0x1a, 0x0a, 0x08, 0x57, 0x69, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x18, 0x1b, 0x20, 0x01, 0x28,
0x05, 0x52, 0x08, 0x57, 0x69, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x42,
0x6c, 0x61, 0x63, 0x6b, 0x6c, 0x69, 0x73, 0x74, 0x54, 0x79, 0x70, 0x65, 0x18, 0x1c, 0x20, 0x01,
0x28, 0x05, 0x52, 0x0d, 0x42, 0x6c, 0x61, 0x63, 0x6b, 0x6c, 0x69, 0x73, 0x74, 0x54, 0x79, 0x70,
0x65, 0x12, 0x18, 0x0a, 0x07, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x49, 0x64, 0x18, 0x1d, 0x20, 0x01,
0x28, 0x05, 0x52, 0x07, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x47,
0x61, 0x6d, 0x65, 0x46, 0x72, 0x65, 0x65, 0x49, 0x64, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x05, 0x52,
0x0a, 0x47, 0x61, 0x6d, 0x65, 0x46, 0x72, 0x65, 0x65, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x44,
0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x44, 0x69,
0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x52, 0x6f, 0x6c, 0x65, 0x55, 0x6e, 0x6c,
0x6f, 0x63, 0x6b, 0x18, 0x20, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x52, 0x6f, 0x6c, 0x65, 0x55,
0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x1a, 0x0a, 0x08, 0x52, 0x6f, 0x6c, 0x65, 0x73, 0x49, 0x64,
0x73, 0x18, 0x21, 0x20, 0x03, 0x28, 0x05, 0x52, 0x08, 0x52, 0x6f, 0x6c, 0x65, 0x73, 0x49, 0x64,
0x73, 0x12, 0x1c, 0x0a, 0x09, 0x50, 0x65, 0x74, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x22,
0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x50, 0x65, 0x74, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x12,
0x18, 0x0a, 0x07, 0x50, 0x65, 0x74, 0x73, 0x49, 0x64, 0x73, 0x18, 0x23, 0x20, 0x03, 0x28, 0x05,
0x52, 0x07, 0x50, 0x65, 0x74, 0x73, 0x49, 0x64, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x41, 0x63, 0x63,
0x6f, 0x75, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x18, 0x24, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b,
0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x43,
0x68, 0x65, 0x73, 0x73, 0x47, 0x72, 0x61, 0x64, 0x65, 0x18, 0x25, 0x20, 0x01, 0x28, 0x05, 0x52,
0x0a, 0x43, 0x68, 0x65, 0x73, 0x73, 0x47, 0x72, 0x61, 0x64, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x41,
0x6c, 0x6c, 0x57, 0x69, 0x6e, 0x43, 0x6f, 0x69, 0x6e, 0x18, 0x26, 0x20, 0x01, 0x28, 0x03, 0x52,
0x0a, 0x41, 0x6c, 0x6c, 0x57, 0x69, 0x6e, 0x43, 0x6f, 0x69, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x41,
0x6c, 0x6c, 0x46, 0x6c, 0x6f, 0x77, 0x18, 0x27, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x41, 0x6c,
0x6c, 0x46, 0x6c, 0x6f, 0x77, 0x12, 0x2c, 0x0a, 0x11, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x50,
0x6f, 0x6f, 0x6c, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x28, 0x20, 0x01, 0x28, 0x03,
0x52, 0x11, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x50, 0x6f, 0x6f, 0x6c, 0x43, 0x75, 0x72, 0x72,
0x65, 0x6e, 0x74, 0x12, 0x28, 0x0a, 0x0f, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x50, 0x6f, 0x6f,
0x6c, 0x55, 0x70, 0x70, 0x65, 0x72, 0x18, 0x29, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0f, 0x50, 0x6c,
0x61, 0x79, 0x65, 0x72, 0x50, 0x6f, 0x6f, 0x6c, 0x55, 0x70, 0x70, 0x65, 0x72, 0x12, 0x28, 0x0a,
0x0f, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x50, 0x6f, 0x6f, 0x6c, 0x4c, 0x6f, 0x77, 0x65, 0x72,
0x18, 0x2a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0f, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x50, 0x6f,
0x6f, 0x6c, 0x4c, 0x6f, 0x77, 0x65, 0x72, 0x12, 0x26, 0x0a, 0x0e, 0x50, 0x6c, 0x61, 0x79, 0x65,
0x72, 0x50, 0x6f, 0x6f, 0x6c, 0x52, 0x61, 0x74, 0x65, 0x18, 0x2b, 0x20, 0x01, 0x28, 0x03, 0x52,
0x0e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x50, 0x6f, 0x6f, 0x6c, 0x52, 0x61, 0x74, 0x65, 0x12,
0x3f, 0x0a, 0x09, 0x52, 0x61, 0x6e, 0x6b, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x2c, 0x20, 0x03,
0x28, 0x0b, 0x32, 0x21, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x6c, 0x61, 0x79,
0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x52, 0x61, 0x6e, 0x6b, 0x53, 0x63, 0x6f, 0x72, 0x65,
0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x09, 0x52, 0x61, 0x6e, 0x6b, 0x53, 0x63, 0x6f, 0x72, 0x65,
0x12, 0x1c, 0x0a, 0x09, 0x52, 0x6f, 0x6c, 0x65, 0x41, 0x64, 0x64, 0x65, 0x64, 0x18, 0x2d, 0x20,
0x01, 0x28, 0x03, 0x52, 0x09, 0x52, 0x6f, 0x6c, 0x65, 0x41, 0x64, 0x64, 0x65, 0x64, 0x12, 0x1a,
0x0a, 0x08, 0x56, 0x69, 0x70, 0x41, 0x64, 0x64, 0x65, 0x64, 0x18, 0x2e, 0x20, 0x01, 0x28, 0x03,
0x52, 0x08, 0x56, 0x69, 0x70, 0x41, 0x64, 0x64, 0x65, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x56, 0x69,
0x70, 0x45, 0x78, 0x70, 0x18, 0x2f, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x56, 0x69, 0x70, 0x45,
0x78, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x68, 0x6f, 0x70, 0x49, 0x64, 0x18, 0x30, 0x20, 0x03,
0x28, 0x05, 0x52, 0x06, 0x53, 0x68, 0x6f, 0x70, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x44, 0x65,
0x6c, 0x65, 0x74, 0x65, 0x18, 0x31, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x44, 0x65, 0x6c, 0x65,
0x74, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x43, 0x6f, 0x64, 0x65,
0x18, 0x32, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x43, 0x6f,
0x64, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x53, 0x6e, 0x49, 0x64,
0x18, 0x33, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x53, 0x6e,
0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x53, 0x63, 0x6f, 0x72,
0x65, 0x18, 0x34, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x53,
0x63, 0x6f, 0x72, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18,
0x35, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x20,
0x0a, 0x0b, 0x4c, 0x61, 0x73, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x36, 0x20,
0x01, 0x28, 0x09, 0x52, 0x0b, 0x4c, 0x61, 0x73, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c,
0x12, 0x26, 0x0a, 0x05, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x37, 0x20, 0x03, 0x28, 0x0b, 0x32,
0x10, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66,
0x6f, 0x52, 0x05, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x49, 0x73, 0x50, 0x65,
0x72, 0x6d, 0x69, 0x74, 0x18, 0x38, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x49, 0x73, 0x50, 0x65,
0x72, 0x6d, 0x69, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x4c, 0x6f, 0x6e, 0x67, 0x18, 0x39, 0x20, 0x01,
0x28, 0x03, 0x52, 0x04, 0x4c, 0x6f, 0x6e, 0x67, 0x12, 0x20, 0x0a, 0x0b, 0x50, 0x65, 0x72, 0x6d,
0x69, 0x74, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x3a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x50,
0x65, 0x72, 0x6d, 0x69, 0x74, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x56, 0x43,
0x61, 0x72, 0x64, 0x43, 0x6f, 0x73, 0x74, 0x18, 0x3b, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x56,
0x43, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x4d, 0x6f, 0x6e, 0x65,
0x79, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x3c, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x4d, 0x6f,
0x6e, 0x65, 0x79, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x1c, 0x0a, 0x09, 0x43, 0x68, 0x61, 0x6e,
0x6e, 0x65, 0x6c, 0x49, 0x44, 0x18, 0x3d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x43, 0x68, 0x61,
0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x55, 0x73, 0x65, 0x52, 0x6f, 0x6c,
0x65, 0x49, 0x64, 0x18, 0x3e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x55, 0x73, 0x65, 0x52, 0x6f,
0x6c, 0x65, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x55, 0x73, 0x65, 0x53, 0x6b, 0x69, 0x6e, 0x49,
0x64, 0x18, 0x3f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x55, 0x73, 0x65, 0x53, 0x6b, 0x69, 0x6e,
0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x53, 0x6b, 0x69, 0x6e, 0x49, 0x64, 0x73, 0x18, 0x40, 0x20,
0x03, 0x28, 0x05, 0x52, 0x07, 0x53, 0x6b, 0x69, 0x6e, 0x49, 0x64, 0x73, 0x12, 0x37, 0x0a, 0x0e,
0x52, 0x6f, 0x6c, 0x65, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x41,
0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x4d, 0x6f,
0x64, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0e, 0x52, 0x6f, 0x6c, 0x65, 0x55, 0x6e, 0x6c, 0x6f, 0x63,
0x6b, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x35, 0x0a, 0x0d, 0x50, 0x65, 0x74, 0x55, 0x6e, 0x6c, 0x6f,
0x63, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x42, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x77,
0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x4d, 0x6f, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0d, 0x50,
0x65, 0x74, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x3f, 0x0a, 0x12,
0x50, 0x65, 0x74, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x4c, 0x69,
0x73, 0x74, 0x18, 0x43, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70,
0x69, 0x2e, 0x4d, 0x6f, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x12, 0x50, 0x65, 0x74, 0x53, 0x6b,
0x69, 0x6c, 0x6c, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x37, 0x0a,
0x0e, 0x53, 0x6b, 0x69, 0x6e, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x18,
0x44, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x4d,
0x6f, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0e, 0x53, 0x6b, 0x69, 0x6e, 0x55, 0x6e, 0x6c, 0x6f,
0x63, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x1a, 0x3c, 0x0a, 0x0e, 0x52, 0x61, 0x6e, 0x6b, 0x53, 0x63,
0x6f, 0x72, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18,
0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61,
0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
0x3a, 0x02, 0x38, 0x01, 0x22, 0x3f, 0x0a, 0x07, 0x4d, 0x6f, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x12,
0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12,
0x14, 0x0a, 0x05, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05,
0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x0e, 0x0a, 0x02, 0x54, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28,
0x03, 0x52, 0x02, 0x54, 0x73, 0x22, 0xc4, 0x05, 0x0a, 0x08, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x6e,
0x66, 0x6f, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01,
0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x18,
0x0a, 0x07, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52,
0x07, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x47, 0x61, 0x6d, 0x65,
0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x64,
0x12, 0x1a, 0x0a, 0x08, 0x47, 0x61, 0x6d, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x18, 0x04, 0x20, 0x01,
0x28, 0x05, 0x52, 0x08, 0x47, 0x61, 0x6d, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x1c, 0x0a, 0x09,
0x53, 0x63, 0x65, 0x6e, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52,
0x09, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x47, 0x72,
0x6f, 0x75, 0x70, 0x49, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x47, 0x72, 0x6f,
0x75, 0x70, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x47, 0x61, 0x6d, 0x65, 0x46, 0x72, 0x65, 0x65,
0x49, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x47, 0x61, 0x6d, 0x65, 0x46, 0x72,
0x65, 0x65, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x53, 0x72, 0x76, 0x49, 0x64, 0x18, 0x08, 0x20,
0x01, 0x28, 0x05, 0x52, 0x05, 0x53, 0x72, 0x76, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x43, 0x72,
0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x43, 0x72, 0x65,
0x61, 0x74, 0x6f, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x18,
0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x12, 0x1e,
0x0a, 0x0a, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x0b, 0x20, 0x01,
0x28, 0x09, 0x52, 0x0a, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x16,
0x0a, 0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x05, 0x52, 0x06,
0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72,
0x49, 0x64, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x05, 0x52, 0x09, 0x50, 0x6c, 0x61, 0x79, 0x65,
0x72, 0x49, 0x64, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x6e,
0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43,
0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x52, 0x6f, 0x62, 0x6f, 0x74, 0x43, 0x6e, 0x74, 0x18, 0x0f,
0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x52, 0x6f, 0x62, 0x6f, 0x74, 0x43, 0x6e, 0x74, 0x12, 0x14,
0x0a, 0x05, 0x53, 0x74, 0x61, 0x72, 0x74, 0x18, 0x10, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x53,
0x74, 0x61, 0x72, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69,
0x6d, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65,
0x54, 0x69, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x42, 0x61, 0x73, 0x65, 0x53, 0x63, 0x6f, 0x72,
0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x42, 0x61, 0x73, 0x65, 0x53, 0x63, 0x6f,
0x72, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x52, 0x6f, 0x6f, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
0x49, 0x64, 0x18, 0x13, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x52, 0x6f, 0x6f, 0x6d, 0x43, 0x6f,
0x6e, 0x66, 0x69, 0x67, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x43, 0x75, 0x72, 0x72, 0x52, 0x6f,
0x75, 0x6e, 0x64, 0x18, 0x14, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x43, 0x75, 0x72, 0x72, 0x52,
0x6f, 0x75, 0x6e, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x4d, 0x61, 0x78, 0x52, 0x6f, 0x75, 0x6e, 0x64,
0x18, 0x15, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x4d, 0x61, 0x78, 0x52, 0x6f, 0x75, 0x6e, 0x64,
0x12, 0x1a, 0x0a, 0x08, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x16, 0x20, 0x01,
0x28, 0x09, 0x52, 0x08, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x1a, 0x0a, 0x08,
0x43, 0x6f, 0x73, 0x74, 0x54, 0x79, 0x70, 0x65, 0x18, 0x17, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08,
0x43, 0x6f, 0x73, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x56, 0x6f, 0x69, 0x63,
0x65, 0x18, 0x18, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x56, 0x6f, 0x69, 0x63, 0x65, 0x12, 0x1c,
0x0a, 0x09, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x18, 0x19, 0x20, 0x01, 0x28,
0x05, 0x52, 0x09, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x22, 0xb4, 0x04, 0x0a,
0x12, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x41, 0x64, 0x6a,
0x75, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
0x02, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18,
0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12,
0x1e, 0x0a, 0x0a, 0x47, 0x61, 0x6d, 0x65, 0x46, 0x72, 0x65, 0x65, 0x49, 0x64, 0x18, 0x03, 0x20,
0x01, 0x28, 0x05, 0x52, 0x0a, 0x47, 0x61, 0x6d, 0x65, 0x46, 0x72, 0x65, 0x65, 0x49, 0x64, 0x12,
0x12, 0x0a, 0x04, 0x53, 0x6e, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x53,
0x6e, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x4d, 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28,
0x05, 0x52, 0x04, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x54, 0x6f, 0x74, 0x61, 0x6c,
0x54, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x54, 0x6f, 0x74, 0x61,
0x6c, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x43, 0x75, 0x72, 0x54, 0x69, 0x6d, 0x65,
0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x43, 0x75, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x12,
0x16, 0x0a, 0x06, 0x42, 0x65, 0x74, 0x4d, 0x69, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52,
0x06, 0x42, 0x65, 0x74, 0x4d, 0x69, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x42, 0x65, 0x74, 0x4d, 0x61,
0x78, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x42, 0x65, 0x74, 0x4d, 0x61, 0x78, 0x12,
0x24, 0x0a, 0x0d, 0x42, 0x61, 0x6e, 0x6b, 0x65, 0x72, 0x4c, 0x6f, 0x73, 0x65, 0x4d, 0x69, 0x6e,
0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x42, 0x61, 0x6e, 0x6b, 0x65, 0x72, 0x4c, 0x6f,
0x73, 0x65, 0x4d, 0x69, 0x6e, 0x12, 0x22, 0x0a, 0x0c, 0x42, 0x61, 0x6e, 0x6b, 0x65, 0x72, 0x57,
0x69, 0x6e, 0x4d, 0x69, 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x42, 0x61, 0x6e,
0x6b, 0x65, 0x72, 0x57, 0x69, 0x6e, 0x4d, 0x69, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x43, 0x61, 0x72,
0x64, 0x4d, 0x69, 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x43, 0x61, 0x72, 0x64,
0x4d, 0x69, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x43, 0x61, 0x72, 0x64, 0x4d, 0x61, 0x78, 0x18, 0x0d,
0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x43, 0x61, 0x72, 0x64, 0x4d, 0x61, 0x78, 0x12, 0x1a, 0x0a,
0x08, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x05, 0x52,
0x08, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x57, 0x69, 0x6e,
0x52, 0x61, 0x74, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x57, 0x69, 0x6e, 0x52,
0x61, 0x74, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x18, 0x10, 0x20,
0x01, 0x28, 0x05, 0x52, 0x06, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x47,
0x61, 0x6d, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x47,
0x61, 0x6d, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x4f, 0x70, 0x65, 0x72, 0x61,
0x74, 0x6f, 0x72, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x4f, 0x70, 0x65, 0x72, 0x61,
0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d,
0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54,
0x69, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d,
0x65, 0x18, 0x14, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54,
0x69, 0x6d, 0x65, 0x22, 0xbc, 0x01, 0x0a, 0x0a, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x6e,
0x66, 0x6f, 0x12, 0x14, 0x0a, 0x05, 0x53, 0x72, 0x76, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
0x05, 0x52, 0x05, 0x53, 0x72, 0x76, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x53, 0x72, 0x76, 0x54,
0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x53, 0x72, 0x76, 0x54, 0x79,
0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28,
0x05, 0x52, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x50, 0x6c, 0x61, 0x79,
0x65, 0x72, 0x4e, 0x75, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x50, 0x6c, 0x61,
0x79, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x52, 0x6f, 0x62, 0x6f, 0x74, 0x4e,
0x75, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x52, 0x6f, 0x62, 0x6f, 0x74, 0x4e,
0x75, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x4e, 0x75, 0x6d, 0x18, 0x06,
0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x4e, 0x75, 0x6d, 0x12, 0x12,
0x0a, 0x04, 0x44, 0x61, 0x74, 0x61, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x44, 0x61,
0x74, 0x61, 0x22, 0xfd, 0x04, 0x0a, 0x0f, 0x43, 0x6f, 0x69, 0x6e, 0x50, 0x6f, 0x6f, 0x6c, 0x53,
0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f,
0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f,
0x72, 0x6d, 0x12, 0x18, 0x0a, 0x07, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x18, 0x02, 0x20,
0x01, 0x28, 0x05, 0x52, 0x07, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a,
0x47, 0x61, 0x6d, 0x65, 0x46, 0x72, 0x65, 0x65, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05,
0x52, 0x0a, 0x47, 0x61, 0x6d, 0x65, 0x46, 0x72, 0x65, 0x65, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08,
0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08,
0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x49, 0x6e, 0x69, 0x74,
0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x49, 0x6e, 0x69,
0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x4c, 0x6f, 0x77, 0x65, 0x72, 0x4c,
0x69, 0x6d, 0x69, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x4c, 0x6f, 0x77, 0x65,
0x72, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x55, 0x70, 0x70, 0x65, 0x72, 0x4c,
0x69, 0x6d, 0x69, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x55, 0x70, 0x70, 0x65,
0x72, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x51, 0x75, 0x44, 0x75, 0x18, 0x08,
0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x51, 0x75, 0x44, 0x75, 0x12, 0x1c, 0x0a, 0x09, 0x55, 0x70,
0x70, 0x65, 0x72, 0x4f, 0x64, 0x64, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x55,
0x70, 0x70, 0x65, 0x72, 0x4f, 0x64, 0x64, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x55, 0x70, 0x70, 0x65,
0x72, 0x4f, 0x64, 0x64, 0x73, 0x4d, 0x61, 0x78, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c,
0x55, 0x70, 0x70, 0x65, 0x72, 0x4f, 0x64, 0x64, 0x73, 0x4d, 0x61, 0x78, 0x12, 0x1c, 0x0a, 0x09,
0x4c, 0x6f, 0x77, 0x65, 0x72, 0x4f, 0x64, 0x64, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52,
0x09, 0x4c, 0x6f, 0x77, 0x65, 0x72, 0x4f, 0x64, 0x64, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x4c, 0x6f,
0x77, 0x65, 0x72, 0x4f, 0x64, 0x64, 0x73, 0x4d, 0x61, 0x78, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05,
0x52, 0x0c, 0x4c, 0x6f, 0x77, 0x65, 0x72, 0x4f, 0x64, 0x64, 0x73, 0x4d, 0x61, 0x78, 0x12, 0x1e,
0x0a, 0x0a, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x74, 0x52, 0x61, 0x74, 0x65, 0x18, 0x0d, 0x20, 0x01,
0x28, 0x05, 0x52, 0x0a, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x74, 0x52, 0x61, 0x74, 0x65, 0x12, 0x1c,
0x0a, 0x09, 0x52, 0x65, 0x73, 0x65, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28,
0x03, 0x52, 0x09, 0x52, 0x65, 0x73, 0x65, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06,
0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x53, 0x77,
0x69, 0x74, 0x63, 0x68, 0x12, 0x1c, 0x0a, 0x09, 0x43, 0x6f, 0x69, 0x6e, 0x56, 0x61, 0x6c, 0x75,
0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x43, 0x6f, 0x69, 0x6e, 0x56, 0x61, 0x6c,
0x75, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x74, 0x50, 0x6f, 0x6f, 0x6c,
0x18, 0x11, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x74, 0x50, 0x6f,
0x6f, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x43, 0x74, 0x72, 0x6c, 0x52, 0x61, 0x74, 0x65, 0x18, 0x12,
0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x43, 0x74, 0x72, 0x6c, 0x52, 0x61, 0x74, 0x65, 0x12, 0x28,
0x0a, 0x0f, 0x49, 0x6e, 0x69, 0x74, 0x4e, 0x6f, 0x76, 0x69, 0x63, 0x65, 0x56, 0x61, 0x6c, 0x75,
0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0f, 0x49, 0x6e, 0x69, 0x74, 0x4e, 0x6f, 0x76,
0x69, 0x63, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x4e, 0x6f, 0x76, 0x69,
0x63, 0x65, 0x43, 0x6f, 0x69, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x14, 0x20, 0x01, 0x28,
0x03, 0x52, 0x0f, 0x4e, 0x6f, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x69, 0x6e, 0x56, 0x61, 0x6c,
0x75, 0x65, 0x22, 0xb5, 0x02, 0x0a, 0x0b, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x6e,
0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02,
0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x4d, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
0x05, 0x52, 0x05, 0x4d, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x54, 0x69, 0x74, 0x6c,
0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x18,
0x0a, 0x07, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52,
0x07, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74,
0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1e,
0x0a, 0x0a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01,
0x28, 0x03, 0x52, 0x0a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x18,
0x0a, 0x07, 0x53, 0x72, 0x63, 0x53, 0x6e, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52,
0x07, 0x53, 0x72, 0x63, 0x53, 0x6e, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x44, 0x65, 0x73, 0x74,
0x53, 0x6e, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x44, 0x65, 0x73, 0x74,
0x53, 0x6e, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x43, 0x6f, 0x69, 0x6e, 0x18, 0x09, 0x20, 0x01,
0x28, 0x03, 0x52, 0x04, 0x43, 0x6f, 0x69, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x47, 0x69, 0x66, 0x74,
0x49, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x47, 0x69, 0x66, 0x74, 0x49, 0x64,
0x12, 0x1c, 0x0a, 0x09, 0x47, 0x69, 0x66, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, 0x0b, 0x20,
0x01, 0x28, 0x05, 0x52, 0x09, 0x47, 0x69, 0x66, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1a,
0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09,
0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x22, 0xf5, 0x02, 0x0a, 0x0d, 0x48,
0x6f, 0x72, 0x73, 0x65, 0x52, 0x61, 0x63, 0x65, 0x4c, 0x61, 0x6d, 0x70, 0x12, 0x0e, 0x0a, 0x02,
0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08,
0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08,
0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x14, 0x0a, 0x05, 0x54, 0x69, 0x74, 0x6c,
0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x18,
0x0a, 0x07, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52,
0x07, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x46, 0x6f, 0x6f, 0x74,
0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x46, 0x6f, 0x6f, 0x74, 0x65, 0x72,
0x12, 0x1c, 0x0a, 0x09, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20,
0x01, 0x28, 0x03, 0x52, 0x09, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1c,
0x0a, 0x09, 0x46, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28,
0x05, 0x52, 0x09, 0x46, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x14, 0x0a, 0x05,
0x53, 0x74, 0x61, 0x74, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x53, 0x74, 0x61,
0x74, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65,
0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69,
0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28,
0x05, 0x52, 0x05, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x72, 0x69, 0x6f,
0x72, 0x69, 0x74, 0x79, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x50, 0x72, 0x69, 0x6f,
0x72, 0x69, 0x74, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x4d, 0x73, 0x67, 0x54, 0x79, 0x70, 0x65, 0x18,
0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x4d, 0x73, 0x67, 0x54, 0x79, 0x70, 0x65, 0x12, 0x16,
0x0a, 0x06, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x05, 0x52, 0x06,
0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x53,
0x65, 0x63, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x53,
0x65, 0x63, 0x22, 0x39, 0x0a, 0x0d, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x47, 0x61, 0x6d, 0x65,
0x43, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20,
0x01, 0x28, 0x05, 0x52, 0x06, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x43,
0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x43, 0x6e, 0x74, 0x22, 0xe5, 0x02,
0x0a, 0x0c, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x1a,
0x0a, 0x08, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x43, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05,
0x52, 0x08, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x43, 0x6e, 0x74, 0x12, 0x2a, 0x0a, 0x10, 0x41, 0x6e,
0x64, 0x72, 0x6f, 0x69, 0x64, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x43, 0x6e, 0x74, 0x18, 0x02,
0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x41, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x4f, 0x6e, 0x6c,
0x69, 0x6e, 0x65, 0x43, 0x6e, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x49, 0x6f, 0x73, 0x4f, 0x6e, 0x6c,
0x69, 0x6e, 0x65, 0x43, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x49, 0x6f,
0x73, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x43, 0x6e, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x44, 0x61,
0x74, 0x69, 0x6e, 0x67, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28,
0x05, 0x52, 0x0d, 0x44, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73,
0x12, 0x24, 0x0a, 0x0d, 0x4f, 0x6e, 0x52, 0x6f, 0x6f, 0x6d, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72,
0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x4f, 0x6e, 0x52, 0x6f, 0x6f, 0x6d, 0x50,
0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x12, 0x30, 0x0a, 0x13, 0x54, 0x6f, 0x64, 0x61, 0x79, 0x52,
0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x06, 0x20,
0x01, 0x28, 0x05, 0x52, 0x13, 0x54, 0x6f, 0x64, 0x61, 0x79, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74,
0x65, 0x72, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x36, 0x0a, 0x16, 0x53, 0x65, 0x76, 0x65,
0x6e, 0x44, 0x61, 0x79, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x4f, 0x6e, 0x6c, 0x69,
0x6e, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x16, 0x53, 0x65, 0x76, 0x65, 0x6e, 0x44,
0x61, 0x79, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65,
0x12, 0x33, 0x0a, 0x09, 0x47, 0x61, 0x6d, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x08, 0x20,
0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x4f, 0x6e, 0x6c,
0x69, 0x6e, 0x65, 0x47, 0x61, 0x6d, 0x65, 0x43, 0x6e, 0x74, 0x52, 0x09, 0x47, 0x61, 0x6d, 0x65,
0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x9a, 0x03, 0x0a, 0x0c, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e,
0x4e, 0x6f, 0x74, 0x69, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x53, 0x6f, 0x72, 0x74, 0x18, 0x01,
0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x53, 0x6f, 0x72, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x54, 0x69,
0x74, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x54, 0x69, 0x74, 0x6c, 0x65,
0x12, 0x18, 0x0a, 0x07, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28,
0x09, 0x52, 0x07, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x54, 0x79,
0x70, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x54, 0x79,
0x70, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x18, 0x05,
0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x53, 0x74,
0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x53,
0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x45, 0x6e, 0x64, 0x54,
0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x45, 0x6e, 0x64, 0x54, 0x69,
0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x08,
0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x22,
0x0a, 0x0c, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x54, 0x79, 0x70, 0x65, 0x18, 0x09,
0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x54, 0x79,
0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x49, 0x6d, 0x67, 0x55, 0x72, 0x6c, 0x18, 0x0a, 0x20, 0x01,
0x28, 0x09, 0x52, 0x06, 0x49, 0x6d, 0x67, 0x55, 0x72, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x4e, 0x6f,
0x74, 0x69, 0x63, 0x65, 0x49, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x4e, 0x6f,
0x74, 0x69, 0x63, 0x65, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x49, 0x73, 0x4c, 0x6f, 0x6f, 0x70,
0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x49, 0x73, 0x4c, 0x6f, 0x6f, 0x70, 0x12, 0x1a,
0x0a, 0x08, 0x4c, 0x6f, 0x6f, 0x70, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05,
0x52, 0x08, 0x4c, 0x6f, 0x6f, 0x70, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x4f, 0x6e,
0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x0e, 0x20, 0x03, 0x28,
0x09, 0x52, 0x0d, 0x4f, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4e, 0x61, 0x6d, 0x65,
0x12, 0x10, 0x0a, 0x03, 0x55, 0x72, 0x6c, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x55,
0x72, 0x6c, 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, 0x9b, 0x04, 0x0a,
0x0c, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x53, 0x68, 0x6f, 0x70, 0x12, 0x0e, 0x0a,
0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x18, 0x0a,
0x07, 0x50, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07,
0x50, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x18,
0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x4e,
0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12,
0x18, 0x0a, 0x07, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09,
0x52, 0x07, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x44, 0x61, 0x79,
0x50, 0x6c, 0x61, 0x79, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52,
0x0c, 0x44, 0x61, 0x79, 0x50, 0x6c, 0x61, 0x79, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x2c, 0x0a,
0x06, 0x45, 0x78, 0x54, 0x79, 0x70, 0x65, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e,
0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x54,
0x79, 0x70, 0x65, 0x52, 0x06, 0x45, 0x78, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x54,
0x65, 0x6c, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09,
0x54, 0x65, 0x6c, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x49, 0x74, 0x65,
0x6d, 0x49, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x49, 0x74, 0x65, 0x6d, 0x49,
0x64, 0x12, 0x26, 0x0a, 0x0e, 0x56, 0x69, 0x70, 0x44, 0x61, 0x79, 0x4d, 0x61, 0x78, 0x4c, 0x69,
0x6d, 0x69, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x56, 0x69, 0x70, 0x44, 0x61,
0x79, 0x4d, 0x61, 0x78, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x2c, 0x0a, 0x11, 0x4e, 0x6f, 0x74,
0x56, 0x69, 0x70, 0x44, 0x61, 0x79, 0x4d, 0x61, 0x78, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x0d,
0x20, 0x01, 0x28, 0x05, 0x52, 0x11, 0x4e, 0x6f, 0x74, 0x56, 0x69, 0x70, 0x44, 0x61, 0x79, 0x4d,
0x61, 0x78, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x56, 0x69, 0x70, 0x53, 0x68,
0x6f, 0x70, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x56,
0x69, 0x70, 0x53, 0x68, 0x6f, 0x70, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x28, 0x0a, 0x0f, 0x4e,
0x6f, 0x74, 0x56, 0x69, 0x70, 0x53, 0x68, 0x6f, 0x70, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x0f,
0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x4e, 0x6f, 0x74, 0x56, 0x69, 0x70, 0x53, 0x68, 0x6f, 0x70,
0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x53, 0x68, 0x6f, 0x70, 0x54, 0x79, 0x70,
0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x53, 0x68, 0x6f, 0x70, 0x54, 0x79, 0x70,
0x65, 0x12, 0x2f, 0x0a, 0x07, 0x54, 0x65, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x18, 0x11, 0x20, 0x03,
0x28, 0x0b, 0x32, 0x15, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x65, 0x6c, 0x43,
0x68, 0x61, 0x72, 0x67, 0x65, 0x44, 0x61, 0x74, 0x61, 0x52, 0x07, 0x54, 0x65, 0x6c, 0x44, 0x61,
0x74, 0x61, 0x12, 0x26, 0x0a, 0x05, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x12, 0x20, 0x03, 0x28,
0x0b, 0x32, 0x10, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x49,
0x6e, 0x66, 0x6f, 0x52, 0x05, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x22, 0x45, 0x0a, 0x0d, 0x54, 0x65,
0x6c, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x44, 0x61, 0x74, 0x61, 0x12, 0x0e, 0x0a, 0x02, 0x49,
0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x4e,
0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12,
0x10, 0x0a, 0x03, 0x55, 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x55, 0x72,
0x6c, 0x22, 0x78, 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, 0x16, 0x0a, 0x06, 0x44, 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x04, 0x20,
0x01, 0x28, 0x05, 0x52, 0x06, 0x44, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x49,
0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x22, 0x84, 0x01, 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, 0x12, 0x2a, 0x0a, 0x06, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74,
0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e,
0x53, 0x68, 0x6f, 0x70, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x52, 0x06, 0x57, 0x65, 0x69, 0x67,
0x68, 0x74, 0x22, 0x88, 0x01, 0x0a, 0x0a, 0x53, 0x68, 0x6f, 0x70, 0x57, 0x65, 0x69, 0x67, 0x68,
0x74, 0x12, 0x1a, 0x0a, 0x08, 0x53, 0x68, 0x6f, 0x70, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20,
0x01, 0x28, 0x05, 0x52, 0x08, 0x53, 0x68, 0x6f, 0x70, 0x54, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a,
0x06, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x57,
0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20,
0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x49, 0x73, 0x53,
0x68, 0x6f, 0x77, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x49, 0x73, 0x53, 0x68, 0x6f,
0x77, 0x12, 0x1a, 0x0a, 0x08, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20,
0x03, 0x28, 0x05, 0x52, 0x08, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 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, 0xb1, 0x07, 0x0a, 0x0d, 0x47,
0x61, 0x6d, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x44, 0x61, 0x74, 0x65, 0x12, 0x0e, 0x0a, 0x02,
0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a,
0x47, 0x61, 0x6d, 0x65, 0x46, 0x72, 0x65, 0x65, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05,
0x52, 0x0a, 0x47, 0x61, 0x6d, 0x65, 0x46, 0x72, 0x65, 0x65, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09,
0x4d, 0x61, 0x74, 0x63, 0x68, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52,
0x09, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x4d, 0x61,
0x74, 0x63, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x4d,
0x61, 0x74, 0x63, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x4d, 0x61, 0x74, 0x63,
0x68, 0x4e, 0x75, 0x6d, 0x65, 0x62, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x4d,
0x61, 0x74, 0x63, 0x68, 0x4e, 0x75, 0x6d, 0x65, 0x62, 0x72, 0x12, 0x26, 0x0a, 0x0e, 0x4d, 0x61,
0x74, 0x63, 0x68, 0x50, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x03,
0x28, 0x05, 0x52, 0x0e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x69,
0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x77, 0x69, 0x74, 0x63,
0x68, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x77,
0x69, 0x74, 0x63, 0x68, 0x12, 0x2c, 0x0a, 0x05, 0x41, 0x77, 0x61, 0x72, 0x64, 0x18, 0x08, 0x20,
0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x4d, 0x61, 0x74,
0x63, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x41, 0x77, 0x61, 0x72, 0x64, 0x52, 0x05, 0x41, 0x77, 0x61,
0x72, 0x64, 0x12, 0x26, 0x0a, 0x0e, 0x53, 0x69, 0x67, 0x6e, 0x75, 0x70, 0x43, 0x6f, 0x73, 0x74,
0x43, 0x6f, 0x69, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x53, 0x69, 0x67, 0x6e,
0x75, 0x70, 0x43, 0x6f, 0x73, 0x74, 0x43, 0x6f, 0x69, 0x6e, 0x12, 0x2c, 0x0a, 0x11, 0x53, 0x69,
0x67, 0x6e, 0x75, 0x70, 0x43, 0x6f, 0x73, 0x74, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x18,
0x0a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x11, 0x53, 0x69, 0x67, 0x6e, 0x75, 0x70, 0x43, 0x6f, 0x73,
0x74, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x12, 0x38, 0x0a, 0x0e, 0x53, 0x69, 0x67, 0x6e,
0x75, 0x70, 0x43, 0x6f, 0x73, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x10, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x6e,
0x66, 0x6f, 0x52, 0x0e, 0x53, 0x69, 0x67, 0x6e, 0x75, 0x70, 0x43, 0x6f, 0x73, 0x74, 0x49, 0x74,
0x65, 0x6d, 0x12, 0x24, 0x0a, 0x0d, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x54,
0x79, 0x70, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x4d, 0x61, 0x74, 0x63, 0x68,
0x54, 0x69, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x4d, 0x61, 0x74, 0x63,
0x68, 0x54, 0x69, 0x6d, 0x65, 0x57, 0x65, 0x65, 0x6b, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x05, 0x52,
0x0d, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x57, 0x65, 0x65, 0x6b, 0x12, 0x2c,
0x0a, 0x11, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74,
0x48, 0x4d, 0x53, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x11, 0x4d, 0x61, 0x74, 0x63, 0x68,
0x54, 0x69, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x48, 0x4d, 0x53, 0x12, 0x28, 0x0a, 0x0f,
0x4d, 0x61, 0x74, 0x63, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x45, 0x6e, 0x64, 0x48, 0x4d, 0x53, 0x18,
0x0f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x54, 0x69, 0x6d, 0x65,
0x45, 0x6e, 0x64, 0x48, 0x4d, 0x53, 0x12, 0x26, 0x0a, 0x0e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x54,
0x69, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x10, 0x20, 0x03, 0x28, 0x03, 0x52, 0x0e,
0x4d, 0x61, 0x74, 0x63, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1a,
0x0a, 0x08, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x55, 0x52, 0x4c, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09,
0x52, 0x08, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x55, 0x52, 0x4c, 0x12, 0x1c, 0x0a, 0x09, 0x41, 0x77,
0x61, 0x72, 0x64, 0x53, 0x68, 0x6f, 0x77, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x41,
0x77, 0x61, 0x72, 0x64, 0x53, 0x68, 0x6f, 0x77, 0x12, 0x12, 0x0a, 0x04, 0x52, 0x75, 0x6c, 0x65,
0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x16, 0x0a, 0x06,
0x53, 0x6f, 0x72, 0x74, 0x49, 0x64, 0x18, 0x14, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x53, 0x6f,
0x72, 0x74, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x55, 0x73, 0x65, 0x52, 0x6f, 0x62, 0x6f, 0x74,
0x18, 0x15, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x55, 0x73, 0x65, 0x52, 0x6f, 0x62, 0x6f, 0x74,
0x12, 0x1e, 0x0a, 0x0a, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x16,
0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4c, 0x65, 0x76, 0x65, 0x6c,
0x12, 0x24, 0x0a, 0x0d, 0x4f, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4e, 0x61, 0x6d,
0x65, 0x18, 0x17, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x4f, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x6e,
0x65, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x43, 0x61, 0x72, 0x64, 0x54, 0x79,
0x70, 0x65, 0x18, 0x18, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x43, 0x61, 0x72, 0x64, 0x54, 0x79,
0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x68, 0x6f, 0x77, 0x49, 0x64, 0x18, 0x19, 0x20, 0x01,
0x28, 0x05, 0x52, 0x06, 0x53, 0x68, 0x6f, 0x77, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x41, 0x77,
0x61, 0x72, 0x64, 0x4e, 0x75, 0x6d, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x41, 0x77,
0x61, 0x72, 0x64, 0x4e, 0x75, 0x6d, 0x12, 0x26, 0x0a, 0x0e, 0x41, 0x75, 0x64, 0x69, 0x65, 0x6e,
0x63, 0x65, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e,
0x41, 0x75, 0x64, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x22, 0x5a,
0x0a, 0x11, 0x47, 0x61, 0x6d, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x44, 0x61, 0x74, 0x65, 0x4c,
0x69, 0x73, 0x74, 0x12, 0x29, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28,
0x0b, 0x32, 0x15, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x61, 0x6d, 0x65, 0x4d,
0x61, 0x74, 0x63, 0x68, 0x44, 0x61, 0x74, 0x65, 0x52, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1a,
0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x22, 0x5b, 0x0a, 0x0d, 0x4d, 0x61,
0x74, 0x63, 0x68, 0x54, 0x79, 0x70, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x4e,
0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12,
0x16, 0x0a, 0x06, 0x53, 0x6f, 0x72, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52,
0x06, 0x53, 0x6f, 0x72, 0x74, 0x49, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x4f, 0x6e, 0x18, 0x03, 0x20,
0x01, 0x28, 0x08, 0x52, 0x02, 0x4f, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x04, 0x20,
0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x22, 0x56, 0x0a, 0x0d, 0x47, 0x61, 0x6d, 0x65, 0x4d,
0x61, 0x74, 0x63, 0x68, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74,
0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74,
0x66, 0x6f, 0x72, 0x6d, 0x12, 0x29, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x03,
0x28, 0x0b, 0x32, 0x15, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x4d, 0x61, 0x74, 0x63,
0x68, 0x54, 0x79, 0x70, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x22,
0x64, 0x0a, 0x0b, 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x44, 0x61, 0x74, 0x65, 0x12, 0x14,
0x0a, 0x05, 0x47, 0x72, 0x61, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x47,
0x72, 0x61, 0x64, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01,
0x28, 0x05, 0x52, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65,
0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x17, 0x0a, 0x07,
0x49, 0x74, 0x65, 0x6d, 0x5f, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x49,
0x74, 0x65, 0x6d, 0x49, 0x64, 0x22, 0x4f, 0x0a, 0x14, 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65,
0x54, 0x75, 0x72, 0x6e, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x65, 0x12, 0x0e, 0x0a,
0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x27, 0x0a,
0x04, 0x44, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x77, 0x65,
0x62, 0x61, 0x70, 0x69, 0x2e, 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x44, 0x61, 0x74, 0x65,
0x52, 0x04, 0x44, 0x61, 0x74, 0x65, 0x22, 0x2a, 0x0a, 0x14, 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72,
0x65, 0x54, 0x75, 0x72, 0x6e, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x61, 0x74, 0x65, 0x12, 0x12,
0x0a, 0x04, 0x52, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x05, 0x52, 0x04, 0x52, 0x61,
0x74, 0x65, 0x22, 0xba, 0x01, 0x0a, 0x18, 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x54, 0x75,
0x72, 0x6e, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12,
0x30, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e,
0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x54, 0x75,
0x72, 0x6e, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x65, 0x52, 0x04, 0x4c, 0x69, 0x73,
0x74, 0x12, 0x38, 0x0a, 0x08, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20,
0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x57, 0x65, 0x6c,
0x66, 0x61, 0x72, 0x65, 0x54, 0x75, 0x72, 0x6e, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x61, 0x74,
0x65, 0x52, 0x08, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x50,
0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50,
0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x77, 0x69, 0x74, 0x63,
0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x22,
0x61, 0x0a, 0x10, 0x41, 0x64, 0x64, 0x55, 0x70, 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x44,
0x61, 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x41, 0x64, 0x64, 0x55, 0x70, 0x44, 0x61, 0x79, 0x18,
0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x41, 0x64, 0x64, 0x55, 0x70, 0x44, 0x61, 0x79, 0x12,
0x31, 0x0a, 0x09, 0x41, 0x64, 0x64, 0x55, 0x70, 0x44, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x03,
0x28, 0x0b, 0x32, 0x13, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x57, 0x65, 0x6c, 0x66,
0x61, 0x72, 0x65, 0x44, 0x61, 0x74, 0x65, 0x52, 0x09, 0x41, 0x64, 0x64, 0x55, 0x70, 0x44, 0x61,
0x74, 0x65, 0x22, 0x48, 0x0a, 0x12, 0x41, 0x64, 0x64, 0x55, 0x70, 0x44, 0x61, 0x74, 0x65, 0x32,
0x54, 0x79, 0x70, 0x65, 0x44, 0x61, 0x74, 0x61, 0x12, 0x10, 0x0a, 0x03, 0x44, 0x61, 0x79, 0x18,
0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x44, 0x61, 0x79, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64,
0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x4e, 0x75,
0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x4e, 0x75, 0x6d, 0x22, 0xc9, 0x02, 0x0a,
0x10, 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x37, 0x53, 0x69, 0x67, 0x6e, 0x44, 0x61, 0x74,
0x65, 0x12, 0x10, 0x0a, 0x03, 0x44, 0x61, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03,
0x44, 0x61, 0x79, 0x12, 0x27, 0x0a, 0x04, 0x44, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28,
0x0b, 0x32, 0x13, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x57, 0x65, 0x6c, 0x66, 0x61,
0x72, 0x65, 0x44, 0x61, 0x74, 0x65, 0x52, 0x04, 0x44, 0x61, 0x74, 0x65, 0x12, 0x36, 0x0a, 0x09,
0x41, 0x64, 0x64, 0x55, 0x70, 0x44, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32,
0x18, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x41, 0x64, 0x64, 0x55, 0x70, 0x57, 0x65,
0x6c, 0x66, 0x61, 0x72, 0x65, 0x44, 0x61, 0x74, 0x65, 0x52, 0x09, 0x41, 0x64, 0x64, 0x55, 0x70,
0x44, 0x61, 0x74, 0x65, 0x12, 0x38, 0x0a, 0x0a, 0x41, 0x64, 0x64, 0x55, 0x70, 0x44, 0x61, 0x74,
0x65, 0x32, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70,
0x69, 0x2e, 0x41, 0x64, 0x64, 0x55, 0x70, 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x44, 0x61,
0x74, 0x65, 0x52, 0x0a, 0x41, 0x64, 0x64, 0x55, 0x70, 0x44, 0x61, 0x74, 0x65, 0x32, 0x12, 0x44,
0x0a, 0x10, 0x41, 0x64, 0x64, 0x55, 0x70, 0x44, 0x61, 0x74, 0x65, 0x32, 0x47, 0x6f, 0x6f, 0x67,
0x6c, 0x65, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70,
0x69, 0x2e, 0x41, 0x64, 0x64, 0x55, 0x70, 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x44, 0x61,
0x74, 0x65, 0x52, 0x10, 0x41, 0x64, 0x64, 0x55, 0x70, 0x44, 0x61, 0x74, 0x65, 0x32, 0x47, 0x6f,
0x6f, 0x67, 0x6c, 0x65, 0x12, 0x42, 0x0a, 0x0e, 0x41, 0x64, 0x64, 0x55, 0x70, 0x44, 0x61, 0x74,
0x65, 0x32, 0x54, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x77,
0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x41, 0x64, 0x64, 0x55, 0x70, 0x44, 0x61, 0x74, 0x65, 0x32,
0x54, 0x79, 0x70, 0x65, 0x44, 0x61, 0x74, 0x61, 0x52, 0x0e, 0x41, 0x64, 0x64, 0x55, 0x70, 0x44,
0x61, 0x74, 0x65, 0x32, 0x54, 0x79, 0x70, 0x65, 0x22, 0x78, 0x0a, 0x14, 0x57, 0x65, 0x6c, 0x66,
0x61, 0x72, 0x65, 0x37, 0x53, 0x69, 0x67, 0x6e, 0x44, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x73, 0x74,
0x12, 0x2c, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18,
0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x37,
0x53, 0x69, 0x67, 0x6e, 0x44, 0x61, 0x74, 0x65, 0x52, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1a,
0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x77,
0x69, 0x74, 0x63, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x53, 0x77, 0x69, 0x74,
0x63, 0x68, 0x22, 0xdb, 0x01, 0x0a, 0x0c, 0x42, 0x6c, 0x69, 0x6e, 0x64, 0x42, 0x6f, 0x78, 0x44,
0x61, 0x74, 0x61, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52,
0x02, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
0x05, 0x52, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18,
0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x47,
0x72, 0x61, 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x47, 0x72, 0x61, 0x64,
0x65, 0x12, 0x18, 0x0a, 0x07, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01,
0x28, 0x05, 0x52, 0x07, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x70,
0x72, 0x69, 0x63, 0x65, 0x31, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x70, 0x72, 0x69,
0x63, 0x65, 0x31, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x72, 0x69, 0x63, 0x65, 0x32, 0x18, 0x07, 0x20,
0x01, 0x28, 0x03, 0x52, 0x06, 0x70, 0x72, 0x69, 0x63, 0x65, 0x32, 0x12, 0x1a, 0x0a, 0x08, 0x44,
0x69, 0x73, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x01, 0x52, 0x08, 0x44,
0x69, 0x73, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x49, 0x74, 0x65, 0x6d, 0x5f,
0x49, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64,
0x22, 0xa3, 0x01, 0x0a, 0x17, 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x42, 0x6c, 0x69, 0x6e,
0x64, 0x42, 0x6f, 0x78, 0x44, 0x61, 0x74, 0x61, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x28, 0x0a, 0x04,
0x4c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x77, 0x65, 0x62,
0x61, 0x70, 0x69, 0x2e, 0x42, 0x6c, 0x69, 0x6e, 0x64, 0x42, 0x6f, 0x78, 0x44, 0x61, 0x74, 0x61,
0x52, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f,
0x72, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f,
0x72, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x18, 0x03, 0x20, 0x01,
0x28, 0x05, 0x52, 0x06, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x12, 0x14, 0x0a, 0x05, 0x43, 0x79,
0x63, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x43, 0x79, 0x63, 0x6c, 0x65,
0x12, 0x14, 0x0a, 0x05, 0x4d, 0x69, 0x6e, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52,
0x05, 0x4d, 0x69, 0x6e, 0x49, 0x64, 0x22, 0xc5, 0x01, 0x0a, 0x0c, 0x57, 0x65, 0x6c, 0x66, 0x61,
0x72, 0x65, 0x53, 0x70, 0x72, 0x65, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x44, 0x61, 0x79, 0x18, 0x01,
0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x44, 0x61, 0x79, 0x12, 0x27, 0x0a, 0x04, 0x49, 0x74, 0x65,
0x6d, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69,
0x2e, 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x44, 0x61, 0x74, 0x65, 0x52, 0x04, 0x49, 0x74,
0x65, 0x6d, 0x12, 0x14, 0x0a, 0x05, 0x56, 0x49, 0x50, 0x45, 0x58, 0x18, 0x03, 0x20, 0x01, 0x28,
0x05, 0x52, 0x05, 0x56, 0x49, 0x50, 0x45, 0x58, 0x12, 0x18, 0x0a, 0x07, 0x43, 0x6f, 0x6e, 0x73,
0x75, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x43, 0x6f, 0x6e, 0x73, 0x75,
0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x72, 0x69, 0x63, 0x65, 0x31, 0x18, 0x06, 0x20, 0x01,
0x28, 0x03, 0x52, 0x06, 0x70, 0x72, 0x69, 0x63, 0x65, 0x31, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x72,
0x69, 0x63, 0x65, 0x32, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x70, 0x72, 0x69, 0x63,
0x65, 0x32, 0x12, 0x1a, 0x0a, 0x08, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x08,
0x20, 0x01, 0x28, 0x01, 0x52, 0x08, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x8d,
0x01, 0x0a, 0x17, 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x46, 0x69, 0x72, 0x73, 0x74, 0x50,
0x61, 0x79, 0x44, 0x61, 0x74, 0x61, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x28, 0x0a, 0x04, 0x4c, 0x69,
0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70,
0x69, 0x2e, 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, 0xa2, 0x07, 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, 0x3e, 0x0a, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69,
0x6c, 0x65, 0x67, 0x65, 0x31, 0x18, 0x05, 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, 0x31, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x50, 0x72, 0x69,
0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x31, 0x12, 0x1e, 0x0a, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69,
0x6c, 0x65, 0x67, 0x65, 0x32, 0x18, 0x06, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0a, 0x50, 0x72, 0x69,
0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x32, 0x12, 0x1e, 0x0a, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69,
0x6c, 0x65, 0x67, 0x65, 0x33, 0x18, 0x07, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0a, 0x50, 0x72, 0x69,
0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x33, 0x12, 0x1e, 0x0a, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69,
0x6c, 0x65, 0x67, 0x65, 0x34, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x50, 0x72, 0x69,
0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x34, 0x12, 0x1e, 0x0a, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69,
0x6c, 0x65, 0x67, 0x65, 0x35, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x50, 0x72, 0x69,
0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x35, 0x12, 0x1e, 0x0a, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69,
0x6c, 0x65, 0x67, 0x65, 0x36, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x50, 0x72, 0x69,
0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x36, 0x12, 0x3e, 0x0a, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69,
0x6c, 0x65, 0x67, 0x65, 0x37, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x65,
0x62, 0x61, 0x70, 0x69, 0x2e, 0x56, 0x49, 0x50, 0x63, 0x66, 0x67, 0x2e, 0x50, 0x72, 0x69, 0x76,
0x69, 0x6c, 0x65, 0x67, 0x65, 0x37, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x50, 0x72, 0x69,
0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x37, 0x12, 0x28, 0x0a, 0x0f, 0x50, 0x72, 0x69, 0x76, 0x69,
0x6c, 0x65, 0x67, 0x65, 0x37, 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05,
0x52, 0x0f, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x37, 0x50, 0x72, 0x69, 0x63,
0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x38, 0x18,
0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65,
0x38, 0x12, 0x28, 0x0a, 0x0f, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x4f, 0x75, 0x74, 0x6c, 0x69,
0x6e, 0x65, 0x49, 0x44, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0f, 0x52, 0x65, 0x77, 0x61,
0x72, 0x64, 0x4f, 0x75, 0x74, 0x6c, 0x69, 0x6e, 0x65, 0x49, 0x44, 0x12, 0x18, 0x0a, 0x07, 0x53,
0x68, 0x6f, 0x70, 0x49, 0x64, 0x32, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x53, 0x68,
0x6f, 0x70, 0x49, 0x64, 0x32, 0x12, 0x18, 0x0a, 0x07, 0x53, 0x68, 0x6f, 0x70, 0x49, 0x64, 0x37,
0x18, 0x10, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x53, 0x68, 0x6f, 0x70, 0x49, 0x64, 0x37, 0x12,
0x26, 0x0a, 0x0e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x46, 0x72, 0x65, 0x65, 0x54, 0x69, 0x6d, 0x65,
0x73, 0x18, 0x11, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x46, 0x72,
0x65, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x12, 0x3e, 0x0a, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69,
0x6c, 0x65, 0x67, 0x65, 0x39, 0x18, 0x12, 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, 0x39, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x50, 0x72, 0x69,
0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x39, 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, 0x31, 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, 0x1a,
0x3d, 0x0a, 0x0f, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x39, 0x45, 0x6e, 0x74,
0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52,
0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20,
0x01, 0x28, 0x03, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x70,
0x0a, 0x0e, 0x56, 0x49, 0x50, 0x63, 0x66, 0x67, 0x44, 0x61, 0x74, 0x61, 0x4c, 0x69, 0x73, 0x74,
0x12, 0x22, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e,
0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x56, 0x49, 0x50, 0x63, 0x66, 0x67, 0x52, 0x04,
0x4c, 0x69, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d,
0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d,
0x12, 0x1e, 0x0a, 0x0a, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x18, 0x03,
0x20, 0x01, 0x28, 0x01, 0x52, 0x0a, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x52, 0x61, 0x74, 0x69, 0x6f,
0x22, 0x95, 0x01, 0x0a, 0x09, 0x57, 0x62, 0x43, 0x74, 0x72, 0x6c, 0x43, 0x66, 0x67, 0x12, 0x1a,
0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x52, 0x65,
0x61, 0x6c, 0x43, 0x74, 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x52, 0x65,
0x61, 0x6c, 0x43, 0x74, 0x72, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x4e, 0x6f, 0x76, 0x69, 0x63, 0x65,
0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x4e, 0x6f, 0x76, 0x69, 0x63, 0x65, 0x12, 0x18,
0x0a, 0x07, 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52,
0x07, 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x4b, 0x69, 0x6c, 0x6c,
0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x4b, 0x69,
0x6c, 0x6c, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x22, 0x57, 0x0a, 0x0b, 0x45, 0x6e, 0x74, 0x72,
0x79, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66,
0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66,
0x6f, 0x72, 0x6d, 0x12, 0x14, 0x0a, 0x05, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01,
0x28, 0x05, 0x52, 0x05, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x77, 0x69,
0x74, 0x63, 0x68, 0x18, 0x03, 0x20, 0x03, 0x28, 0x08, 0x52, 0x06, 0x53, 0x77, 0x69, 0x74, 0x63,
0x68, 0x22, 0x64, 0x0a, 0x0f, 0x43, 0x68, 0x65, 0x73, 0x73, 0x52, 0x61, 0x6e, 0x6b, 0x43, 0x6f,
0x6e, 0x66, 0x69, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01,
0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x53, 0x63, 0x6f, 0x72,
0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x27,
0x0a, 0x04, 0x49, 0x74, 0x65, 0x6d, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x77,
0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x44, 0x61, 0x74,
0x65, 0x52, 0x04, 0x49, 0x74, 0x65, 0x6d, 0x22, 0x75, 0x0a, 0x10, 0x43, 0x68, 0x65, 0x73, 0x73,
0x52, 0x61, 0x6e, 0x6b, 0x63, 0x66, 0x67, 0x44, 0x61, 0x74, 0x61, 0x12, 0x2d, 0x0a, 0x05, 0x44,
0x61, 0x74, 0x61, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x77, 0x65, 0x62,
0x61, 0x70, 0x69, 0x2e, 0x43, 0x68, 0x65, 0x73, 0x73, 0x52, 0x61, 0x6e, 0x6b, 0x43, 0x6f, 0x6e,
0x66, 0x69, 0x67, 0x52, 0x05, 0x44, 0x61, 0x74, 0x61, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c,
0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c,
0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x64,
0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x22, 0xb4,
0x03, 0x0a, 0x0a, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x50, 0x6f, 0x6f, 0x6c, 0x12, 0x1a, 0x0a,
0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x1e, 0x0a, 0x0a, 0x55, 0x70, 0x70,
0x65, 0x72, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x55,
0x70, 0x70, 0x65, 0x72, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x4c, 0x6f, 0x77,
0x65, 0x72, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x4c,
0x6f, 0x77, 0x65, 0x72, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x51, 0x75, 0x44,
0x75, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x51, 0x75, 0x44, 0x75, 0x12, 0x1c, 0x0a,
0x09, 0x55, 0x70, 0x70, 0x65, 0x72, 0x4f, 0x64, 0x64, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05,
0x52, 0x09, 0x55, 0x70, 0x70, 0x65, 0x72, 0x4f, 0x64, 0x64, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x55,
0x70, 0x70, 0x65, 0x72, 0x4f, 0x64, 0x64, 0x73, 0x4d, 0x61, 0x78, 0x18, 0x06, 0x20, 0x01, 0x28,
0x05, 0x52, 0x0c, 0x55, 0x70, 0x70, 0x65, 0x72, 0x4f, 0x64, 0x64, 0x73, 0x4d, 0x61, 0x78, 0x12,
0x1c, 0x0a, 0x09, 0x4c, 0x6f, 0x77, 0x65, 0x72, 0x4f, 0x64, 0x64, 0x73, 0x18, 0x07, 0x20, 0x01,
0x28, 0x05, 0x52, 0x09, 0x4c, 0x6f, 0x77, 0x65, 0x72, 0x4f, 0x64, 0x64, 0x73, 0x12, 0x22, 0x0a,
0x0c, 0x4c, 0x6f, 0x77, 0x65, 0x72, 0x4f, 0x64, 0x64, 0x73, 0x4d, 0x61, 0x78, 0x18, 0x08, 0x20,
0x01, 0x28, 0x05, 0x52, 0x0c, 0x4c, 0x6f, 0x77, 0x65, 0x72, 0x4f, 0x64, 0x64, 0x73, 0x4d, 0x61,
0x78, 0x12, 0x18, 0x0a, 0x07, 0x46, 0x69, 0x67, 0x68, 0x74, 0x55, 0x70, 0x18, 0x09, 0x20, 0x01,
0x28, 0x05, 0x52, 0x07, 0x46, 0x69, 0x67, 0x68, 0x74, 0x55, 0x70, 0x12, 0x1c, 0x0a, 0x09, 0x46,
0x69, 0x67, 0x68, 0x74, 0x44, 0x6f, 0x77, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09,
0x46, 0x69, 0x67, 0x68, 0x74, 0x44, 0x6f, 0x77, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x50, 0x61, 0x79,
0x55, 0x70, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x50, 0x61, 0x79, 0x55, 0x70, 0x12,
0x18, 0x0a, 0x07, 0x50, 0x61, 0x79, 0x44, 0x6f, 0x77, 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05,
0x52, 0x07, 0x50, 0x61, 0x79, 0x44, 0x6f, 0x77, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x54, 0x69, 0x61,
0x6e, 0x48, 0x75, 0x52, 0x61, 0x74, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x54,
0x69, 0x61, 0x6e, 0x48, 0x75, 0x52, 0x61, 0x74, 0x65, 0x12, 0x2a, 0x0a, 0x10, 0x50, 0x6c, 0x61,
0x79, 0x65, 0x72, 0x50, 0x6f, 0x6f, 0x6c, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x18, 0x0e, 0x20,
0x01, 0x28, 0x08, 0x52, 0x10, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x50, 0x6f, 0x6f, 0x6c, 0x53,
0x77, 0x69, 0x74, 0x63, 0x68, 0x22, 0xc8, 0x01, 0x0a, 0x0a, 0x47, 0x61, 0x6d, 0x65, 0x43, 0x6f,
0x6e, 0x66, 0x69, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d,
0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d,
0x12, 0x16, 0x0a, 0x06, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08,
0x52, 0x06, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x54, 0x69, 0x61, 0x6e,
0x48, 0x75, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x54, 0x69, 0x61, 0x6e, 0x48, 0x75,
0x12, 0x14, 0x0a, 0x05, 0x50, 0x61, 0x69, 0x4b, 0x75, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52,
0x05, 0x50, 0x61, 0x69, 0x4b, 0x75, 0x12, 0x16, 0x0a, 0x06, 0x46, 0x65, 0x6e, 0x43, 0x68, 0x61,
0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x46, 0x65, 0x6e, 0x43, 0x68, 0x61, 0x12, 0x20,
0x0a, 0x0b, 0x46, 0x65, 0x6e, 0x43, 0x68, 0x61, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x06, 0x20,
0x01, 0x28, 0x05, 0x52, 0x0b, 0x46, 0x65, 0x6e, 0x43, 0x68, 0x61, 0x53, 0x63, 0x6f, 0x72, 0x65,
0x12, 0x1e, 0x0a, 0x0a, 0x47, 0x6f, 0x6f, 0x64, 0x46, 0x65, 0x6e, 0x43, 0x68, 0x61, 0x18, 0x07,
0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x47, 0x6f, 0x6f, 0x64, 0x46, 0x65, 0x6e, 0x43, 0x68, 0x61,
0x22, 0x4f, 0x0a, 0x19, 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x50, 0x68, 0x6f, 0x6e, 0x65,
0x4c, 0x6f, 0x74, 0x74, 0x65, 0x72, 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1a, 0x0a,
0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x77, 0x69,
0x74, 0x63, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x53, 0x77, 0x69, 0x74, 0x63,
0x68, 0x22, 0x4a, 0x0a, 0x14, 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x43, 0x6f, 0x6c, 0x6c,
0x65, 0x63, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61,
0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61,
0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x18,
0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x22, 0x67, 0x0a,
0x13, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x43, 0x6f,
0x6e, 0x66, 0x69, 0x67, 0x12, 0x0e, 0x0a, 0x02, 0x54, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05,
0x52, 0x02, 0x54, 0x70, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d,
0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d,
0x12, 0x24, 0x0a, 0x0d, 0x4f, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4e, 0x61, 0x6d,
0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x4f, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x6e,
0x65, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x45, 0x0a, 0x09, 0x52, 0x61, 0x6e, 0x6b, 0x41, 0x77,
0x61, 0x72, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01,
0x28, 0x03, 0x52, 0x05, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x45, 0x6e, 0x64,
0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x45, 0x6e, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x4e,
0x75, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x4e, 0x75, 0x6d, 0x22, 0xb2, 0x03,
0x0a, 0x0f, 0x41, 0x63, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69,
0x67, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20,
0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x1c, 0x0a,
0x09, 0x42, 0x69, 0x6e, 0x64, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03,
0x52, 0x09, 0x42, 0x69, 0x6e, 0x64, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x52,
0x65, 0x63, 0x68, 0x61, 0x72, 0x67, 0x65, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01,
0x28, 0x03, 0x52, 0x0d, 0x52, 0x65, 0x63, 0x68, 0x61, 0x72, 0x67, 0x65, 0x53, 0x63, 0x6f, 0x72,
0x65, 0x12, 0x41, 0x0a, 0x08, 0x50, 0x61, 0x79, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x04, 0x20,
0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x41, 0x63, 0x74,
0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x50, 0x61, 0x79,
0x53, 0x63, 0x6f, 0x72, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x50, 0x61, 0x79, 0x53,
0x63, 0x6f, 0x72, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x52, 0x61, 0x74, 0x65, 0x73, 0x18, 0x05, 0x20,
0x03, 0x28, 0x03, 0x52, 0x05, 0x52, 0x61, 0x74, 0x65, 0x73, 0x12, 0x2b, 0x0a, 0x07, 0x41, 0x77,
0x61, 0x72, 0x64, 0x73, 0x31, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x77, 0x65,
0x62, 0x61, 0x70, 0x69, 0x2e, 0x52, 0x61, 0x6e, 0x6b, 0x41, 0x77, 0x61, 0x72, 0x64, 0x52, 0x07,
0x41, 0x77, 0x61, 0x72, 0x64, 0x73, 0x31, 0x12, 0x2b, 0x0a, 0x07, 0x41, 0x77, 0x61, 0x72, 0x64,
0x73, 0x32, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70,
0x69, 0x2e, 0x52, 0x61, 0x6e, 0x6b, 0x41, 0x77, 0x61, 0x72, 0x64, 0x52, 0x07, 0x41, 0x77, 0x61,
0x72, 0x64, 0x73, 0x32, 0x12, 0x2b, 0x0a, 0x07, 0x41, 0x77, 0x61, 0x72, 0x64, 0x73, 0x33, 0x18,
0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x52,
0x61, 0x6e, 0x6b, 0x41, 0x77, 0x61, 0x72, 0x64, 0x52, 0x07, 0x41, 0x77, 0x61, 0x72, 0x64, 0x73,
0x33, 0x12, 0x22, 0x0a, 0x0c, 0x42, 0x69, 0x6e, 0x64, 0x54, 0x65, 0x6c, 0x53, 0x63, 0x6f, 0x72,
0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x42, 0x69, 0x6e, 0x64, 0x54, 0x65, 0x6c,
0x53, 0x63, 0x6f, 0x72, 0x65, 0x1a, 0x3b, 0x0a, 0x0d, 0x50, 0x61, 0x79, 0x53, 0x63, 0x6f, 0x72,
0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20,
0x01, 0x28, 0x03, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75,
0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02,
0x38, 0x01, 0x22, 0x91, 0x01, 0x0a, 0x11, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x4c, 0x65, 0x76,
0x65, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x52, 0x61, 0x6e, 0x6b,
0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x52, 0x61, 0x6e, 0x6b, 0x12, 0x14, 0x0a, 0x05,
0x53, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x53, 0x63, 0x6f,
0x72, 0x65, 0x12, 0x28, 0x0a, 0x06, 0x41, 0x77, 0x61, 0x72, 0x64, 0x31, 0x18, 0x03, 0x20, 0x03,
0x28, 0x0b, 0x32, 0x10, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x49, 0x74, 0x65, 0x6d,
0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x41, 0x77, 0x61, 0x72, 0x64, 0x31, 0x12, 0x28, 0x0a, 0x06,
0x41, 0x77, 0x61, 0x72, 0x64, 0x32, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x77,
0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06,
0x41, 0x77, 0x61, 0x72, 0x64, 0x32, 0x22, 0xea, 0x01, 0x0a, 0x14, 0x50, 0x65, 0x72, 0x6d, 0x69,
0x74, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12,
0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12,
0x16, 0x0a, 0x06, 0x53, 0x6f, 0x72, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52,
0x06, 0x53, 0x6f, 0x72, 0x74, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x04, 0x47, 0x61, 0x69, 0x6e, 0x18,
0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x49,
0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x47, 0x61, 0x69, 0x6e, 0x12, 0x24, 0x0a,
0x04, 0x43, 0x6f, 0x73, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x77, 0x65,
0x62, 0x61, 0x70, 0x69, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x43,
0x6f, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x49, 0x73, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x18,
0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x49, 0x73, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x12,
0x14, 0x0a, 0x05, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05,
0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x18, 0x07,
0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x49,
0x73, 0x53, 0x68, 0x6f, 0x77, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x49, 0x73, 0x53,
0x68, 0x6f, 0x77, 0x22, 0x64, 0x0a, 0x10, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x52, 0x61, 0x6e,
0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x14, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x72, 0x74,
0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x10, 0x0a,
0x03, 0x45, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x45, 0x6e, 0x64, 0x12,
0x28, 0x0a, 0x06, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32,
0x10, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66,
0x6f, 0x52, 0x06, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x22, 0xec, 0x01, 0x0a, 0x13, 0x50, 0x65,
0x72, 0x6d, 0x69, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69,
0x67, 0x12, 0x18, 0x0a, 0x07, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01,
0x28, 0x09, 0x52, 0x07, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x3b, 0x0a, 0x0b, 0x4c,
0x65, 0x76, 0x65, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b,
0x32, 0x19, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74,
0x4c, 0x65, 0x76, 0x65, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0b, 0x4c, 0x65, 0x76,
0x65, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x44, 0x0a, 0x0e, 0x45, 0x78, 0x63, 0x68,
0x61, 0x6e, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b,
0x32, 0x1c, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74,
0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0e,
0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x38,
0x0a, 0x0a, 0x52, 0x61, 0x6e, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x04, 0x20, 0x03,
0x28, 0x0b, 0x32, 0x18, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x65, 0x72, 0x6d,
0x69, 0x74, 0x52, 0x61, 0x6e, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0a, 0x52, 0x61,
0x6e, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x92, 0x01, 0x0a, 0x0f, 0x41, 0x63, 0x74,
0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1a, 0x0a, 0x08,
0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08,
0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x18, 0x0a, 0x07, 0x53, 0x74, 0x61, 0x72,
0x74, 0x54, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x53, 0x74, 0x61, 0x72, 0x74,
0x54, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x44, 0x61, 0x79, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05,
0x52, 0x04, 0x44, 0x61, 0x79, 0x73, 0x12, 0x35, 0x0a, 0x07, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69,
0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x6f,
0x6e, 0x66, 0x69, 0x67, 0x52, 0x07, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x22, 0x94, 0x01,
0x0a, 0x12, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x4c, 0x6f, 0x74, 0x74, 0x65, 0x72, 0x79,
0x49, 0x6e, 0x66, 0x6f, 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, 0x16, 0x0a, 0x06,
0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x49, 0x74,
0x65, 0x6d, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x47, 0x72, 0x61, 0x64, 0x65, 0x18, 0x05, 0x20,
0x01, 0x28, 0x05, 0x52, 0x05, 0x47, 0x72, 0x61, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x4f, 0x64,
0x64, 0x72, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x4f, 0x64, 0x64,
0x72, 0x61, 0x74, 0x65, 0x22, 0x68, 0x0a, 0x15, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x4c,
0x6f, 0x74, 0x74, 0x65, 0x72, 0x79, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x12, 0x10, 0x0a,
0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12,
0x14, 0x0a, 0x05, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05,
0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x27, 0x0a, 0x05, 0x41, 0x77, 0x61, 0x72, 0x64, 0x18, 0x03,
0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x41, 0x77,
0x61, 0x72, 0x64, 0x44, 0x61, 0x74, 0x61, 0x52, 0x05, 0x41, 0x77, 0x61, 0x72, 0x64, 0x22, 0x3d,
0x0a, 0x09, 0x41, 0x77, 0x61, 0x72, 0x64, 0x44, 0x61, 0x74, 0x61, 0x12, 0x18, 0x0a, 0x07, 0x41,
0x77, 0x61, 0x72, 0x64, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x41, 0x77,
0x61, 0x72, 0x64, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18,
0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x22, 0xd3, 0x01,
0x0a, 0x12, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x4c, 0x6f, 0x74, 0x74, 0x65, 0x72, 0x79,
0x44, 0x61, 0x74, 0x61, 0x12, 0x18, 0x0a, 0x07, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18,
0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x2e,
0x0a, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x77,
0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x4c, 0x6f, 0x74,
0x74, 0x65, 0x72, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1a,
0x0a, 0x08, 0x4d, 0x61, 0x78, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05,
0x52, 0x08, 0x4d, 0x61, 0x78, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x44, 0x69,
0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x4e, 0x75, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a,
0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x4e, 0x75, 0x6d, 0x12, 0x37, 0x0a, 0x07, 0x50, 0x6c,
0x61, 0x79, 0x65, 0x72, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x77, 0x65,
0x62, 0x61, 0x70, 0x69, 0x2e, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x4c, 0x6f, 0x74, 0x74,
0x65, 0x72, 0x79, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x52, 0x07, 0x50, 0x6c, 0x61, 0x79,
0x65, 0x72, 0x73, 0x22, 0x70, 0x0a, 0x14, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x4c, 0x6f,
0x74, 0x74, 0x65, 0x72, 0x79, 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, 0x3c, 0x0a, 0x0b, 0x4c, 0x6f, 0x74, 0x74, 0x65,
0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x77,
0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x4c, 0x6f, 0x74,
0x74, 0x65, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x52, 0x0b, 0x4c, 0x6f, 0x74, 0x74, 0x65, 0x72,
0x79, 0x44, 0x61, 0x74, 0x61, 0x22, 0x53, 0x0a, 0x0a, 0x49, 0x74, 0x65, 0x6d, 0x43, 0x6f, 0x6e,
0x66, 0x69, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18,
0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12,
0x29, 0x0a, 0x05, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13,
0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x49,
0x74, 0x65, 0x6d, 0x52, 0x05, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x22, 0x83, 0x01, 0x0a, 0x0d, 0x52,
0x61, 0x6e, 0x6b, 0x41, 0x77, 0x61, 0x72, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02,
0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08,
0x52, 0x61, 0x6e, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08,
0x52, 0x61, 0x6e, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x52, 0x61, 0x6e, 0x6b,
0x4c, 0x65, 0x76, 0x65, 0x6c, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x52,
0x61, 0x6e, 0x6b, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x04, 0x49, 0x74,
0x65, 0x6d, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70,
0x69, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x49, 0x74, 0x65, 0x6d,
0x22, 0xb3, 0x01, 0x0a, 0x0c, 0x52, 0x61, 0x6e, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x49, 0x6e, 0x66,
0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49,
0x64, 0x12, 0x14, 0x0a, 0x05, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05,
0x52, 0x05, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x52, 0x61, 0x6e, 0x6b, 0x4e,
0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x52, 0x61, 0x6e, 0x6b, 0x4e,
0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x52, 0x61, 0x6e, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x18,
0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x52, 0x61, 0x6e, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12,
0x18, 0x0a, 0x07, 0x54, 0x75, 0x72, 0x6e, 0x4f, 0x66, 0x66, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05,
0x52, 0x07, 0x54, 0x75, 0x72, 0x6e, 0x4f, 0x66, 0x66, 0x12, 0x2b, 0x0a, 0x05, 0x41, 0x77, 0x61,
0x72, 0x64, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70,
0x69, 0x2e, 0x52, 0x61, 0x6e, 0x6b, 0x41, 0x77, 0x61, 0x72, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x52,
0x05, 0x41, 0x77, 0x61, 0x72, 0x64, 0x22, 0x56, 0x0a, 0x0e, 0x52, 0x61, 0x6e, 0x6b, 0x54, 0x79,
0x70, 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, 0x28, 0x0a, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x03,
0x28, 0x0b, 0x32, 0x14, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x52, 0x61, 0x6e, 0x6b,
0x54, 0x79, 0x70, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0xed,
0x01, 0x0a, 0x09, 0x53, 0x6b, 0x69, 0x6e, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x14, 0x0a, 0x05,
0x4c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x4c, 0x65, 0x76,
0x65, 0x6c, 0x12, 0x35, 0x0a, 0x06, 0x55, 0x70, 0x49, 0x74, 0x65, 0x6d, 0x18, 0x02, 0x20, 0x03,
0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x6b, 0x69, 0x6e,
0x4c, 0x65, 0x76, 0x65, 0x6c, 0x2e, 0x55, 0x70, 0x49, 0x74, 0x65, 0x6d, 0x45, 0x6e, 0x74, 0x72,
0x79, 0x52, 0x06, 0x55, 0x70, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x18, 0x0a, 0x07, 0x53, 0x6b, 0x69,
0x6c, 0x6c, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x53, 0x6b, 0x69, 0x6c,
0x6c, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x4c, 0x65, 0x76, 0x65,
0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x4c, 0x65,
0x76, 0x65, 0x6c, 0x12, 0x1e, 0x0a, 0x0a, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x56, 0x61, 0x6c, 0x75,
0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x56, 0x61,
0x6c, 0x75, 0x65, 0x1a, 0x39, 0x0a, 0x0b, 0x55, 0x70, 0x49, 0x74, 0x65, 0x6d, 0x45, 0x6e, 0x74,
0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52,
0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20,
0x01, 0x28, 0x03, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xa6,
0x02, 0x0a, 0x08, 0x53, 0x6b, 0x69, 0x6e, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x0e, 0x0a, 0x02, 0x49,
0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x55,
0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52,
0x0a, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, 0x43, 0x0a, 0x0b, 0x55,
0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b,
0x32, 0x21, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x6b, 0x69, 0x6e, 0x49, 0x74,
0x65, 0x6d, 0x2e, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x45, 0x6e,
0x74, 0x72, 0x79, 0x52, 0x0b, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x50, 0x61, 0x72, 0x61, 0x6d,
0x12, 0x1c, 0x0a, 0x09, 0x49, 0x73, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x18, 0x04, 0x20,
0x01, 0x28, 0x05, 0x52, 0x09, 0x49, 0x73, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x12, 0x1c,
0x0a, 0x09, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28,
0x05, 0x52, 0x09, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x12, 0x29, 0x0a, 0x06,
0x4c, 0x65, 0x76, 0x65, 0x6c, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x77,
0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x6b, 0x69, 0x6e, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52,
0x06, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x73, 0x1a, 0x3e, 0x0a, 0x10, 0x55, 0x6e, 0x6c, 0x6f, 0x63,
0x6b, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b,
0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a,
0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x76, 0x61,
0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x50, 0x0a, 0x0a, 0x53, 0x6b, 0x69, 0x6e, 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, 0x26, 0x0a, 0x05, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b,
0x32, 0x10, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x6b, 0x69, 0x6e, 0x49, 0x74,
0x65, 0x6d, 0x52, 0x05, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x22, 0x9c, 0x01, 0x0a, 0x0e, 0x41, 0x77,
0x61, 0x72, 0x64, 0x4c, 0x6f, 0x67, 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, 0x30, 0x0a, 0x08, 0x41, 0x77, 0x61, 0x72,
0x64, 0x4c, 0x6f, 0x67, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x77, 0x65, 0x62,
0x61, 0x70, 0x69, 0x2e, 0x41, 0x77, 0x61, 0x72, 0x64, 0x4c, 0x6f, 0x67, 0x44, 0x61, 0x74, 0x61,
0x52, 0x08, 0x41, 0x77, 0x61, 0x72, 0x64, 0x4c, 0x6f, 0x67, 0x12, 0x3c, 0x0a, 0x0c, 0x41, 0x6e,
0x6e, 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x72, 0x4c, 0x6f, 0x67, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b,
0x32, 0x18, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x75, 0x6e,
0x63, 0x65, 0x72, 0x4c, 0x6f, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0c, 0x41, 0x6e, 0x6e, 0x6f,
0x75, 0x6e, 0x63, 0x65, 0x72, 0x4c, 0x6f, 0x67, 0x22, 0x70, 0x0a, 0x0c, 0x41, 0x77, 0x61, 0x72,
0x64, 0x4c, 0x6f, 0x67, 0x44, 0x61, 0x74, 0x61, 0x12, 0x16, 0x0a, 0x06, 0x54, 0x79, 0x70, 0x65,
0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x54, 0x79, 0x70, 0x65, 0x49, 0x64,
0x12, 0x16, 0x0a, 0x06, 0x53, 0x6f, 0x72, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05,
0x52, 0x06, 0x53, 0x6f, 0x72, 0x74, 0x49, 0x64, 0x12, 0x30, 0x0a, 0x08, 0x41, 0x77, 0x61, 0x72,
0x64, 0x4c, 0x6f, 0x67, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x77, 0x65, 0x62,
0x61, 0x70, 0x69, 0x2e, 0x41, 0x77, 0x61, 0x72, 0x64, 0x4c, 0x6f, 0x67, 0x49, 0x6e, 0x66, 0x6f,
0x52, 0x08, 0x41, 0x77, 0x61, 0x72, 0x64, 0x4c, 0x6f, 0x67, 0x22, 0x60, 0x0a, 0x0c, 0x41, 0x77,
0x61, 0x72, 0x64, 0x4c, 0x6f, 0x67, 0x49, 0x6e, 0x66, 0x6f, 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, 0x10, 0x0a, 0x03, 0x4e, 0x75, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52,
0x03, 0x4e, 0x75, 0x6d, 0x12, 0x10, 0x0a, 0x03, 0x55, 0x72, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28,
0x09, 0x52, 0x03, 0x55, 0x72, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x18,
0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x22, 0x80, 0x01, 0x0a,
0x10, 0x41, 0x6e, 0x6e, 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x72, 0x4c, 0x6f, 0x67, 0x49, 0x6e, 0x66,
0x6f, 0x12, 0x12, 0x0a, 0x04, 0x53, 0x6e, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52,
0x04, 0x53, 0x6e, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20,
0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x50, 0x68, 0x6f,
0x6e, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x12,
0x16, 0x0a, 0x06, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52,
0x06, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x54, 0x79, 0x70, 0x65, 0x49,
0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x54, 0x79, 0x70, 0x65, 0x49, 0x64, 0x22,
0x4d, 0x0a, 0x0b, 0x47, 0x75, 0x69, 0x64, 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, 0x0e, 0x0a, 0x02, 0x4f, 0x6e,
0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x4f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x53, 0x6b,
0x69, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x53, 0x6b, 0x69, 0x70, 0x22, 0x54,
0x0a, 0x0d, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 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, 0x27, 0x0a, 0x04, 0x49,
0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x77, 0x65, 0x62, 0x61,
0x70, 0x69, 0x2e, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04,
0x49, 0x6e, 0x66, 0x6f, 0x22, 0x85, 0x02, 0x0a, 0x0b, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65,
0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1c, 0x0a, 0x09, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x49,
0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65,
0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x41, 0x70, 0x70, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28,
0x03, 0x52, 0x05, 0x41, 0x70, 0x70, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x53, 0x65, 0x72, 0x76,
0x65, 0x72, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c,
0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x12, 0x1a, 0x0a, 0x08,
0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08,
0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x43, 0x6f, 0x73, 0x74,
0x49, 0x74, 0x65, 0x6d, 0x4e, 0x75, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x43,
0x6f, 0x73, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x4e, 0x75, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x49, 0x74,
0x65, 0x6d, 0x49, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x49, 0x74, 0x65, 0x6d,
0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x49, 0x74, 0x65, 0x6d, 0x4e, 0x75, 0x6d, 0x18, 0x07, 0x20,
0x01, 0x28, 0x05, 0x52, 0x07, 0x49, 0x74, 0x65, 0x6d, 0x4e, 0x75, 0x6d, 0x12, 0x1a, 0x0a, 0x08,
0x49, 0x63, 0x6f, 0x6e, 0x41, 0x64, 0x64, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08,
0x49, 0x63, 0x6f, 0x6e, 0x41, 0x64, 0x64, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65,
0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x4f, 0x0a, 0x0d,
0x4d, 0x61, 0x74, 0x63, 0x68, 0x41, 0x75, 0x64, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x1a, 0x0a,
0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x53, 0x6e, 0x49,
0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x53, 0x6e, 0x49, 0x64, 0x12, 0x0e, 0x0a,
0x02, 0x54, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x54, 0x73, 0x22, 0x4c, 0x0a,
0x0c, 0x53, 0x70, 0x69, 0x72, 0x69, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1a, 0x0a,
0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x0e, 0x0a, 0x02, 0x4f, 0x6e, 0x18,
0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x4f, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x55, 0x72, 0x6c,
0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x55, 0x72, 0x6c, 0x22, 0x72, 0x0a, 0x08, 0x52,
0x6f, 0x6f, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66,
0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66,
0x6f, 0x72, 0x6d, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52,
0x02, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28,
0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x4f, 0x6e, 0x18, 0x04, 0x20,
0x01, 0x28, 0x05, 0x52, 0x02, 0x4f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x6f, 0x72, 0x74, 0x49,
0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x53, 0x6f, 0x72, 0x74, 0x49, 0x64, 0x22,
0xcc, 0x03, 0x0a, 0x0a, 0x52, 0x6f, 0x6f, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1a,
0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64,
0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61,
0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1a,
0x0a, 0x08, 0x52, 0x6f, 0x6f, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05,
0x52, 0x08, 0x52, 0x6f, 0x6f, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x4f, 0x6e,
0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x4f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x6f,
0x72, 0x74, 0x49, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x53, 0x6f, 0x72, 0x74,
0x49, 0x64, 0x12, 0x24, 0x0a, 0x04, 0x43, 0x6f, 0x73, 0x74, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b,
0x32, 0x10, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x6e,
0x66, 0x6f, 0x52, 0x04, 0x43, 0x6f, 0x73, 0x74, 0x12, 0x28, 0x0a, 0x06, 0x52, 0x65, 0x77, 0x61,
0x72, 0x64, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70,
0x69, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x52, 0x65, 0x77, 0x61,
0x72, 0x64, 0x12, 0x24, 0x0a, 0x0d, 0x4f, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4e,
0x61, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x4f, 0x6e, 0x43, 0x68, 0x61,
0x6e, 0x6e, 0x65, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x47, 0x61, 0x6d, 0x65,
0x46, 0x72, 0x65, 0x65, 0x49, 0x64, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0a, 0x47, 0x61,
0x6d, 0x65, 0x46, 0x72, 0x65, 0x65, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x52, 0x6f, 0x75, 0x6e,
0x64, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x05, 0x52, 0x05, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x1c,
0x0a, 0x09, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x18, 0x0c, 0x20, 0x03, 0x28,
0x05, 0x52, 0x09, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x12, 0x22, 0x0a, 0x0c,
0x4e, 0x65, 0x65, 0x64, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x0d, 0x20, 0x01,
0x28, 0x05, 0x52, 0x0c, 0x4e, 0x65, 0x65, 0x64, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64,
0x12, 0x1a, 0x0a, 0x08, 0x43, 0x6f, 0x73, 0x74, 0x54, 0x79, 0x70, 0x65, 0x18, 0x0e, 0x20, 0x01,
0x28, 0x05, 0x52, 0x08, 0x43, 0x6f, 0x73, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05,
0x56, 0x6f, 0x69, 0x63, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x56, 0x6f, 0x69,
0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x52, 0x49, 0x18, 0x10,
0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x52, 0x49, 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 (
file_common_proto_rawDescOnce sync.Once
file_common_proto_rawDescData = file_common_proto_rawDesc
)
func file_common_proto_rawDescGZIP() []byte {
file_common_proto_rawDescOnce.Do(func() {
file_common_proto_rawDescData = protoimpl.X.CompressGZIP(file_common_proto_rawDescData)
})
return file_common_proto_rawDescData
}
var file_common_proto_msgTypes = make([]protoimpl.MessageInfo, 102)
var file_common_proto_goTypes = []interface{}{
(*MysqlDbSetting)(nil), // 0: webapi.MysqlDbSetting
(*MongoDbSetting)(nil), // 1: webapi.MongoDbSetting
(*RankSwitch)(nil), // 2: webapi.RankSwitch
(*ClubConfig)(nil), // 3: webapi.ClubConfig
(*ThirdGame)(nil), // 4: webapi.ThirdGame
(*Platform)(nil), // 5: webapi.Platform
(*GameStatus)(nil), // 6: webapi.GameStatus
(*GameConfigGlobal)(nil), // 7: webapi.GameConfigGlobal
(*GameFree)(nil), // 8: webapi.GameFree
(*PlatformGameConfig)(nil), // 9: webapi.PlatformGameConfig
(*PlatformDbConfig)(nil), // 10: webapi.PlatformDbConfig
(*GameConfigGroup)(nil), // 11: webapi.GameConfigGroup
(*AppInfo)(nil), // 12: webapi.AppInfo
(*PlayerData)(nil), // 13: webapi.PlayerData
(*ModInfo)(nil), // 14: webapi.ModInfo
(*RoomInfo)(nil), // 15: webapi.RoomInfo
(*PlayerSingleAdjust)(nil), // 16: webapi.PlayerSingleAdjust
(*ServerInfo)(nil), // 17: webapi.ServerInfo
(*CoinPoolSetting)(nil), // 18: webapi.CoinPoolSetting
(*MessageInfo)(nil), // 19: webapi.MessageInfo
(*HorseRaceLamp)(nil), // 20: webapi.HorseRaceLamp
(*OnlineGameCnt)(nil), // 21: webapi.OnlineGameCnt
(*OnlineReport)(nil), // 22: webapi.OnlineReport
(*CommonNotice)(nil), // 23: webapi.CommonNotice
(*CommonNoticeList)(nil), // 24: webapi.CommonNoticeList
(*ExchangeShop)(nil), // 25: webapi.ExchangeShop
(*TelChargeData)(nil), // 26: webapi.TelChargeData
(*ExchangeType)(nil), // 27: webapi.ExchangeType
(*ExchangeShopList)(nil), // 28: webapi.ExchangeShopList
(*ShopWeight)(nil), // 29: webapi.ShopWeight
(*ItemShop)(nil), // 30: webapi.ItemShop
(*ItemShopList)(nil), // 31: webapi.ItemShopList
(*ItemInfo)(nil), // 32: webapi.ItemInfo
(*MatchInfoAward)(nil), // 33: webapi.MatchInfoAward
(*GameMatchDate)(nil), // 34: webapi.GameMatchDate
(*GameMatchDateList)(nil), // 35: webapi.GameMatchDateList
(*MatchTypeInfo)(nil), // 36: webapi.MatchTypeInfo
(*GameMatchType)(nil), // 37: webapi.GameMatchType
(*WelfareDate)(nil), // 38: webapi.WelfareDate
(*WelfareTurnplateDate)(nil), // 39: webapi.WelfareTurnplateDate
(*WelfareTurnplateRate)(nil), // 40: webapi.WelfareTurnplateRate
(*WelfareTurnplateDateList)(nil), // 41: webapi.WelfareTurnplateDateList
(*AddUpWelfareDate)(nil), // 42: webapi.AddUpWelfareDate
(*AddUpDate2TypeData)(nil), // 43: webapi.AddUpDate2TypeData
(*Welfare7SignDate)(nil), // 44: webapi.Welfare7SignDate
(*Welfare7SignDateList)(nil), // 45: webapi.Welfare7SignDateList
(*BlindBoxData)(nil), // 46: webapi.BlindBoxData
(*WelfareBlindBoxDataList)(nil), // 47: webapi.WelfareBlindBoxDataList
(*WelfareSpree)(nil), // 48: webapi.WelfareSpree
(*WelfareFirstPayDataList)(nil), // 49: webapi.WelfareFirstPayDataList
(*WelfareContinuousPayDataList)(nil), // 50: webapi.WelfareContinuousPayDataList
(*VIPcfg)(nil), // 51: webapi.VIPcfg
(*VIPcfgDataList)(nil), // 52: webapi.VIPcfgDataList
(*WbCtrlCfg)(nil), // 53: webapi.WbCtrlCfg
(*EntrySwitch)(nil), // 54: webapi.EntrySwitch
(*ChessRankConfig)(nil), // 55: webapi.ChessRankConfig
(*ChessRankcfgData)(nil), // 56: webapi.ChessRankcfgData
(*PlayerPool)(nil), // 57: webapi.PlayerPool
(*GameConfig)(nil), // 58: webapi.GameConfig
(*WelfarePhoneLotteryStatus)(nil), // 59: webapi.WelfarePhoneLotteryStatus
(*WelfareCollectConfig)(nil), // 60: webapi.WelfareCollectConfig
(*ChannelSwitchConfig)(nil), // 61: webapi.ChannelSwitchConfig
(*RankAward)(nil), // 62: webapi.RankAward
(*ActInviteConfig)(nil), // 63: webapi.ActInviteConfig
(*PermitLevelConfig)(nil), // 64: webapi.PermitLevelConfig
(*PermitExchangeConfig)(nil), // 65: webapi.PermitExchangeConfig
(*PermitRankConfig)(nil), // 66: webapi.PermitRankConfig
(*PermitChannelConfig)(nil), // 67: webapi.PermitChannelConfig
(*ActPermitConfig)(nil), // 68: webapi.ActPermitConfig
(*DiamondLotteryInfo)(nil), // 69: webapi.DiamondLotteryInfo
(*DiamondLotteryPlayers)(nil), // 70: webapi.DiamondLotteryPlayers
(*AwardData)(nil), // 71: webapi.AwardData
(*DiamondLotteryData)(nil), // 72: webapi.DiamondLotteryData
(*DiamondLotteryConfig)(nil), // 73: webapi.DiamondLotteryConfig
(*ItemConfig)(nil), // 74: webapi.ItemConfig
(*RankAwardInfo)(nil), // 75: webapi.RankAwardInfo
(*RankTypeInfo)(nil), // 76: webapi.RankTypeInfo
(*RankTypeConfig)(nil), // 77: webapi.RankTypeConfig
(*SkinLevel)(nil), // 78: webapi.SkinLevel
(*SkinItem)(nil), // 79: webapi.SkinItem
(*SkinConfig)(nil), // 80: webapi.SkinConfig
(*AwardLogConfig)(nil), // 81: webapi.AwardLogConfig
(*AwardLogData)(nil), // 82: webapi.AwardLogData
(*AwardLogInfo)(nil), // 83: webapi.AwardLogInfo
(*AnnouncerLogInfo)(nil), // 84: webapi.AnnouncerLogInfo
(*GuideConfig)(nil), // 85: webapi.GuideConfig
(*MachineConfig)(nil), // 86: webapi.MachineConfig
(*MachineInfo)(nil), // 87: webapi.MachineInfo
(*MatchAudience)(nil), // 88: webapi.MatchAudience
(*SpiritConfig)(nil), // 89: webapi.SpiritConfig
(*RoomType)(nil), // 90: webapi.RoomType
(*RoomConfig)(nil), // 91: webapi.RoomConfig
nil, // 92: webapi.Platform.BindTelRewardEntry
nil, // 93: webapi.PlayerData.RankScoreEntry
nil, // 94: webapi.ItemShop.AwardEntry
nil, // 95: webapi.VIPcfg.AwardEntry
nil, // 96: webapi.VIPcfg.Privilege1Entry
nil, // 97: webapi.VIPcfg.Privilege7Entry
nil, // 98: webapi.VIPcfg.Privilege9Entry
nil, // 99: webapi.ActInviteConfig.PayScoreEntry
nil, // 100: webapi.SkinLevel.UpItemEntry
nil, // 101: webapi.SkinItem.UnlockParamEntry
(*server.DB_GameFree)(nil), // 102: server.DB_GameFree
(*server.DB_GameItem)(nil), // 103: server.DB_GameItem
}
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
92, // 3: webapi.Platform.BindTelReward:type_name -> webapi.Platform.BindTelRewardEntry
6, // 4: webapi.GameConfigGlobal.GameStatus:type_name -> webapi.GameStatus
102, // 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
102, // 10: webapi.GameConfigGroup.DbGameFree:type_name -> server.DB_GameFree
93, // 11: webapi.PlayerData.RankScore:type_name -> webapi.PlayerData.RankScoreEntry
32, // 12: webapi.PlayerData.Items:type_name -> webapi.ItemInfo
14, // 13: webapi.PlayerData.RoleUnlockList:type_name -> webapi.ModInfo
14, // 14: webapi.PlayerData.PetUnlockList:type_name -> webapi.ModInfo
14, // 15: webapi.PlayerData.PetSkillUnlockList:type_name -> webapi.ModInfo
14, // 16: webapi.PlayerData.SkinUnlockList:type_name -> webapi.ModInfo
21, // 17: webapi.OnlineReport.GameCount:type_name -> webapi.OnlineGameCnt
23, // 18: webapi.CommonNoticeList.List:type_name -> webapi.CommonNotice
27, // 19: webapi.ExchangeShop.ExType:type_name -> webapi.ExchangeType
26, // 20: webapi.ExchangeShop.TelData:type_name -> webapi.TelChargeData
32, // 21: webapi.ExchangeShop.Items:type_name -> webapi.ItemInfo
25, // 22: webapi.ExchangeShopList.List:type_name -> webapi.ExchangeShop
29, // 23: webapi.ExchangeShopList.Weight:type_name -> webapi.ShopWeight
94, // 24: webapi.ItemShop.Award:type_name -> webapi.ItemShop.AwardEntry
30, // 25: webapi.ItemShopList.List:type_name -> webapi.ItemShop
32, // 26: webapi.MatchInfoAward.ItemId:type_name -> webapi.ItemInfo
33, // 27: webapi.GameMatchDate.Award:type_name -> webapi.MatchInfoAward
32, // 28: webapi.GameMatchDate.SignupCostItem:type_name -> webapi.ItemInfo
34, // 29: webapi.GameMatchDateList.List:type_name -> webapi.GameMatchDate
36, // 30: webapi.GameMatchType.List:type_name -> webapi.MatchTypeInfo
38, // 31: webapi.WelfareTurnplateDate.Date:type_name -> webapi.WelfareDate
39, // 32: webapi.WelfareTurnplateDateList.List:type_name -> webapi.WelfareTurnplateDate
40, // 33: webapi.WelfareTurnplateDateList.RateList:type_name -> webapi.WelfareTurnplateRate
38, // 34: webapi.AddUpWelfareDate.AddUpDate:type_name -> webapi.WelfareDate
38, // 35: webapi.Welfare7SignDate.Date:type_name -> webapi.WelfareDate
42, // 36: webapi.Welfare7SignDate.AddUpDate:type_name -> webapi.AddUpWelfareDate
42, // 37: webapi.Welfare7SignDate.AddUpDate2:type_name -> webapi.AddUpWelfareDate
42, // 38: webapi.Welfare7SignDate.AddUpDate2Google:type_name -> webapi.AddUpWelfareDate
43, // 39: webapi.Welfare7SignDate.AddUpDate2Type:type_name -> webapi.AddUpDate2TypeData
44, // 40: webapi.Welfare7SignDateList.List:type_name -> webapi.Welfare7SignDate
46, // 41: webapi.WelfareBlindBoxDataList.List:type_name -> webapi.BlindBoxData
38, // 42: webapi.WelfareSpree.Item:type_name -> webapi.WelfareDate
48, // 43: webapi.WelfareFirstPayDataList.List:type_name -> webapi.WelfareSpree
48, // 44: webapi.WelfareContinuousPayDataList.List:type_name -> webapi.WelfareSpree
95, // 45: webapi.VIPcfg.Award:type_name -> webapi.VIPcfg.AwardEntry
96, // 46: webapi.VIPcfg.Privilege1:type_name -> webapi.VIPcfg.Privilege1Entry
97, // 47: webapi.VIPcfg.Privilege7:type_name -> webapi.VIPcfg.Privilege7Entry
98, // 48: webapi.VIPcfg.Privilege9:type_name -> webapi.VIPcfg.Privilege9Entry
51, // 49: webapi.VIPcfgDataList.List:type_name -> webapi.VIPcfg
38, // 50: webapi.ChessRankConfig.Item:type_name -> webapi.WelfareDate
55, // 51: webapi.ChessRankcfgData.Datas:type_name -> webapi.ChessRankConfig
99, // 52: webapi.ActInviteConfig.PayScore:type_name -> webapi.ActInviteConfig.PayScoreEntry
62, // 53: webapi.ActInviteConfig.Awards1:type_name -> webapi.RankAward
62, // 54: webapi.ActInviteConfig.Awards2:type_name -> webapi.RankAward
62, // 55: webapi.ActInviteConfig.Awards3:type_name -> webapi.RankAward
32, // 56: webapi.PermitLevelConfig.Award1:type_name -> webapi.ItemInfo
32, // 57: webapi.PermitLevelConfig.Award2:type_name -> webapi.ItemInfo
32, // 58: webapi.PermitExchangeConfig.Gain:type_name -> webapi.ItemInfo
32, // 59: webapi.PermitExchangeConfig.Cost:type_name -> webapi.ItemInfo
32, // 60: webapi.PermitRankConfig.ItemId:type_name -> webapi.ItemInfo
64, // 61: webapi.PermitChannelConfig.LevelConfig:type_name -> webapi.PermitLevelConfig
65, // 62: webapi.PermitChannelConfig.ExchangeConfig:type_name -> webapi.PermitExchangeConfig
66, // 63: webapi.PermitChannelConfig.RankConfig:type_name -> webapi.PermitRankConfig
67, // 64: webapi.ActPermitConfig.Configs:type_name -> webapi.PermitChannelConfig
71, // 65: webapi.DiamondLotteryPlayers.Award:type_name -> webapi.AwardData
69, // 66: webapi.DiamondLotteryData.Info:type_name -> webapi.DiamondLotteryInfo
70, // 67: webapi.DiamondLotteryData.Players:type_name -> webapi.DiamondLotteryPlayers
72, // 68: webapi.DiamondLotteryConfig.LotteryData:type_name -> webapi.DiamondLotteryData
103, // 69: webapi.ItemConfig.Items:type_name -> server.DB_GameItem
32, // 70: webapi.RankAwardInfo.Item:type_name -> webapi.ItemInfo
75, // 71: webapi.RankTypeInfo.Award:type_name -> webapi.RankAwardInfo
76, // 72: webapi.RankTypeConfig.Info:type_name -> webapi.RankTypeInfo
100, // 73: webapi.SkinLevel.UpItem:type_name -> webapi.SkinLevel.UpItemEntry
101, // 74: webapi.SkinItem.UnlockParam:type_name -> webapi.SkinItem.UnlockParamEntry
78, // 75: webapi.SkinItem.Levels:type_name -> webapi.SkinLevel
79, // 76: webapi.SkinConfig.Items:type_name -> webapi.SkinItem
82, // 77: webapi.AwardLogConfig.AwardLog:type_name -> webapi.AwardLogData
84, // 78: webapi.AwardLogConfig.AnnouncerLog:type_name -> webapi.AnnouncerLogInfo
83, // 79: webapi.AwardLogData.AwardLog:type_name -> webapi.AwardLogInfo
87, // 80: webapi.MachineConfig.Info:type_name -> webapi.MachineInfo
32, // 81: webapi.RoomConfig.Cost:type_name -> webapi.ItemInfo
32, // 82: webapi.RoomConfig.Reward:type_name -> webapi.ItemInfo
83, // [83:83] is the sub-list for method output_type
83, // [83:83] is the sub-list for method input_type
83, // [83:83] is the sub-list for extension type_name
83, // [83:83] is the sub-list for extension extendee
0, // [0:83] is the sub-list for field type_name
}
func init() { file_common_proto_init() }
func file_common_proto_init() {
if File_common_proto != nil {
return
}
if !protoimpl.UnsafeEnabled {
file_common_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*MysqlDbSetting); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_common_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*MongoDbSetting); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_common_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*RankSwitch); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_common_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ClubConfig); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_common_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ThirdGame); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_common_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Platform); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_common_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GameStatus); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_common_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GameConfigGlobal); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_common_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GameFree); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_common_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*PlatformGameConfig); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_common_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*PlatformDbConfig); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_common_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GameConfigGroup); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_common_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*AppInfo); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_common_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*PlayerData); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_common_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ModInfo); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_common_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*RoomInfo); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_common_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*PlayerSingleAdjust); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_common_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ServerInfo); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_common_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CoinPoolSetting); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_common_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*MessageInfo); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_common_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*HorseRaceLamp); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_common_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*OnlineGameCnt); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_common_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*OnlineReport); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_common_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CommonNotice); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_common_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CommonNoticeList); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_common_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ExchangeShop); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_common_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*TelChargeData); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_common_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ExchangeType); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_common_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ExchangeShopList); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_common_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ShopWeight); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_common_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ItemShop); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_common_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ItemShopList); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_common_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ItemInfo); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_common_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*MatchInfoAward); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_common_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GameMatchDate); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_common_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GameMatchDateList); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_common_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*MatchTypeInfo); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_common_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GameMatchType); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_common_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*WelfareDate); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_common_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*WelfareTurnplateDate); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_common_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*WelfareTurnplateRate); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_common_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*WelfareTurnplateDateList); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_common_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*AddUpWelfareDate); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_common_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*AddUpDate2TypeData); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_common_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Welfare7SignDate); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_common_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Welfare7SignDateList); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_common_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*BlindBoxData); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_common_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*WelfareBlindBoxDataList); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_common_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*WelfareSpree); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_common_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*WelfareFirstPayDataList); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_common_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*WelfareContinuousPayDataList); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_common_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*VIPcfg); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_common_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*VIPcfgDataList); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_common_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*WbCtrlCfg); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_common_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*EntrySwitch); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_common_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ChessRankConfig); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_common_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ChessRankcfgData); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_common_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*PlayerPool); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_common_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GameConfig); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_common_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*WelfarePhoneLotteryStatus); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_common_proto_msgTypes[60].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*WelfareCollectConfig); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_common_proto_msgTypes[61].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ChannelSwitchConfig); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_common_proto_msgTypes[62].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*RankAward); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_common_proto_msgTypes[63].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ActInviteConfig); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_common_proto_msgTypes[64].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*PermitLevelConfig); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_common_proto_msgTypes[65].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*PermitExchangeConfig); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_common_proto_msgTypes[66].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*PermitRankConfig); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_common_proto_msgTypes[67].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*PermitChannelConfig); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_common_proto_msgTypes[68].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ActPermitConfig); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_common_proto_msgTypes[69].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DiamondLotteryInfo); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_common_proto_msgTypes[70].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DiamondLotteryPlayers); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_common_proto_msgTypes[71].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*AwardData); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_common_proto_msgTypes[72].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DiamondLotteryData); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_common_proto_msgTypes[73].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DiamondLotteryConfig); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_common_proto_msgTypes[74].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ItemConfig); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_common_proto_msgTypes[75].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*RankAwardInfo); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_common_proto_msgTypes[76].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*RankTypeInfo); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_common_proto_msgTypes[77].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*RankTypeConfig); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_common_proto_msgTypes[78].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SkinLevel); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_common_proto_msgTypes[79].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SkinItem); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_common_proto_msgTypes[80].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SkinConfig); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_common_proto_msgTypes[81].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*AwardLogConfig); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_common_proto_msgTypes[82].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*AwardLogData); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_common_proto_msgTypes[83].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*AwardLogInfo); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_common_proto_msgTypes[84].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*AnnouncerLogInfo); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_common_proto_msgTypes[85].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GuideConfig); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_common_proto_msgTypes[86].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*MachineConfig); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_common_proto_msgTypes[87].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*MachineInfo); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_common_proto_msgTypes[88].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*MatchAudience); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_common_proto_msgTypes[89].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SpiritConfig); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_common_proto_msgTypes[90].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*RoomType); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_common_proto_msgTypes[91].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*RoomConfig); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_common_proto_rawDesc,
NumEnums: 0,
NumMessages: 102,
NumExtensions: 0,
NumServices: 0,
},
GoTypes: file_common_proto_goTypes,
DependencyIndexes: file_common_proto_depIdxs,
MessageInfos: file_common_proto_msgTypes,
}.Build()
File_common_proto = out.File
file_common_proto_rawDesc = nil
file_common_proto_goTypes = nil
file_common_proto_depIdxs = nil
}