2026-06-17 23:13:08 +08:00

8047 lines
325 KiB
Go

// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.35.1
// protoc v7.35.0
// source: proto/game/v1/game.proto
package gamev1
import (
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
reflect "reflect"
sync "sync"
)
const (
// Verify that this generated code is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
// Verify that runtime/protoimpl is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
// RequestMeta 是 game-service 内部 RPC 的最小追踪和租户上下文。
type RequestMeta struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
RequestId string `protobuf:"bytes,1,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
Caller string `protobuf:"bytes,2,opt,name=caller,proto3" json:"caller,omitempty"`
GatewayNodeId string `protobuf:"bytes,3,opt,name=gateway_node_id,json=gatewayNodeId,proto3" json:"gateway_node_id,omitempty"`
ActorUserId int64 `protobuf:"varint,4,opt,name=actor_user_id,json=actorUserId,proto3" json:"actor_user_id,omitempty"`
SentAtMs int64 `protobuf:"varint,5,opt,name=sent_at_ms,json=sentAtMs,proto3" json:"sent_at_ms,omitempty"`
AppCode string `protobuf:"bytes,6,opt,name=app_code,json=appCode,proto3" json:"app_code,omitempty"`
}
func (x *RequestMeta) Reset() {
*x = RequestMeta{}
mi := &file_proto_game_v1_game_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *RequestMeta) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*RequestMeta) ProtoMessage() {}
func (x *RequestMeta) ProtoReflect() protoreflect.Message {
mi := &file_proto_game_v1_game_proto_msgTypes[0]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use RequestMeta.ProtoReflect.Descriptor instead.
func (*RequestMeta) Descriptor() ([]byte, []int) {
return file_proto_game_v1_game_proto_rawDescGZIP(), []int{0}
}
func (x *RequestMeta) GetRequestId() string {
if x != nil {
return x.RequestId
}
return ""
}
func (x *RequestMeta) GetCaller() string {
if x != nil {
return x.Caller
}
return ""
}
func (x *RequestMeta) GetGatewayNodeId() string {
if x != nil {
return x.GatewayNodeId
}
return ""
}
func (x *RequestMeta) GetActorUserId() int64 {
if x != nil {
return x.ActorUserId
}
return 0
}
func (x *RequestMeta) GetSentAtMs() int64 {
if x != nil {
return x.SentAtMs
}
return 0
}
func (x *RequestMeta) GetAppCode() string {
if x != nil {
return x.AppCode
}
return ""
}
type GamePlatform struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
AppCode string `protobuf:"bytes,1,opt,name=app_code,json=appCode,proto3" json:"app_code,omitempty"`
PlatformCode string `protobuf:"bytes,2,opt,name=platform_code,json=platformCode,proto3" json:"platform_code,omitempty"`
PlatformName string `protobuf:"bytes,3,opt,name=platform_name,json=platformName,proto3" json:"platform_name,omitempty"`
Status string `protobuf:"bytes,4,opt,name=status,proto3" json:"status,omitempty"`
ApiBaseUrl string `protobuf:"bytes,5,opt,name=api_base_url,json=apiBaseUrl,proto3" json:"api_base_url,omitempty"`
SortOrder int32 `protobuf:"varint,6,opt,name=sort_order,json=sortOrder,proto3" json:"sort_order,omitempty"`
CreatedAtMs int64 `protobuf:"varint,7,opt,name=created_at_ms,json=createdAtMs,proto3" json:"created_at_ms,omitempty"`
UpdatedAtMs int64 `protobuf:"varint,8,opt,name=updated_at_ms,json=updatedAtMs,proto3" json:"updated_at_ms,omitempty"`
AdapterType string `protobuf:"bytes,9,opt,name=adapter_type,json=adapterType,proto3" json:"adapter_type,omitempty"`
// callback_secret is visible to admin platform configuration pages and writable for key rotation.
CallbackSecret string `protobuf:"bytes,10,opt,name=callback_secret,json=callbackSecret,proto3" json:"callback_secret,omitempty"`
CallbackSecretSet bool `protobuf:"varint,11,opt,name=callback_secret_set,json=callbackSecretSet,proto3" json:"callback_secret_set,omitempty"`
CallbackIpWhitelist []string `protobuf:"bytes,12,rep,name=callback_ip_whitelist,json=callbackIpWhitelist,proto3" json:"callback_ip_whitelist,omitempty"`
AdapterConfigJson string `protobuf:"bytes,13,opt,name=adapter_config_json,json=adapterConfigJson,proto3" json:"adapter_config_json,omitempty"`
}
func (x *GamePlatform) Reset() {
*x = GamePlatform{}
mi := &file_proto_game_v1_game_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *GamePlatform) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GamePlatform) ProtoMessage() {}
func (x *GamePlatform) ProtoReflect() protoreflect.Message {
mi := &file_proto_game_v1_game_proto_msgTypes[1]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GamePlatform.ProtoReflect.Descriptor instead.
func (*GamePlatform) Descriptor() ([]byte, []int) {
return file_proto_game_v1_game_proto_rawDescGZIP(), []int{1}
}
func (x *GamePlatform) GetAppCode() string {
if x != nil {
return x.AppCode
}
return ""
}
func (x *GamePlatform) GetPlatformCode() string {
if x != nil {
return x.PlatformCode
}
return ""
}
func (x *GamePlatform) GetPlatformName() string {
if x != nil {
return x.PlatformName
}
return ""
}
func (x *GamePlatform) GetStatus() string {
if x != nil {
return x.Status
}
return ""
}
func (x *GamePlatform) GetApiBaseUrl() string {
if x != nil {
return x.ApiBaseUrl
}
return ""
}
func (x *GamePlatform) GetSortOrder() int32 {
if x != nil {
return x.SortOrder
}
return 0
}
func (x *GamePlatform) GetCreatedAtMs() int64 {
if x != nil {
return x.CreatedAtMs
}
return 0
}
func (x *GamePlatform) GetUpdatedAtMs() int64 {
if x != nil {
return x.UpdatedAtMs
}
return 0
}
func (x *GamePlatform) GetAdapterType() string {
if x != nil {
return x.AdapterType
}
return ""
}
func (x *GamePlatform) GetCallbackSecret() string {
if x != nil {
return x.CallbackSecret
}
return ""
}
func (x *GamePlatform) GetCallbackSecretSet() bool {
if x != nil {
return x.CallbackSecretSet
}
return false
}
func (x *GamePlatform) GetCallbackIpWhitelist() []string {
if x != nil {
return x.CallbackIpWhitelist
}
return nil
}
func (x *GamePlatform) GetAdapterConfigJson() string {
if x != nil {
return x.AdapterConfigJson
}
return ""
}
type GameCatalogItem struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
AppCode string `protobuf:"bytes,1,opt,name=app_code,json=appCode,proto3" json:"app_code,omitempty"`
GameId string `protobuf:"bytes,2,opt,name=game_id,json=gameId,proto3" json:"game_id,omitempty"`
PlatformCode string `protobuf:"bytes,3,opt,name=platform_code,json=platformCode,proto3" json:"platform_code,omitempty"`
ProviderGameId string `protobuf:"bytes,4,opt,name=provider_game_id,json=providerGameId,proto3" json:"provider_game_id,omitempty"`
GameName string `protobuf:"bytes,5,opt,name=game_name,json=gameName,proto3" json:"game_name,omitempty"`
Category string `protobuf:"bytes,6,opt,name=category,proto3" json:"category,omitempty"`
IconUrl string `protobuf:"bytes,7,opt,name=icon_url,json=iconUrl,proto3" json:"icon_url,omitempty"`
CoverUrl string `protobuf:"bytes,8,opt,name=cover_url,json=coverUrl,proto3" json:"cover_url,omitempty"`
LaunchMode string `protobuf:"bytes,9,opt,name=launch_mode,json=launchMode,proto3" json:"launch_mode,omitempty"`
Orientation string `protobuf:"bytes,10,opt,name=orientation,proto3" json:"orientation,omitempty"`
MinCoin int64 `protobuf:"varint,11,opt,name=min_coin,json=minCoin,proto3" json:"min_coin,omitempty"`
Status string `protobuf:"bytes,12,opt,name=status,proto3" json:"status,omitempty"`
SortOrder int32 `protobuf:"varint,13,opt,name=sort_order,json=sortOrder,proto3" json:"sort_order,omitempty"`
Tags []string `protobuf:"bytes,14,rep,name=tags,proto3" json:"tags,omitempty"`
CreatedAtMs int64 `protobuf:"varint,15,opt,name=created_at_ms,json=createdAtMs,proto3" json:"created_at_ms,omitempty"`
UpdatedAtMs int64 `protobuf:"varint,16,opt,name=updated_at_ms,json=updatedAtMs,proto3" json:"updated_at_ms,omitempty"`
SafeHeight int32 `protobuf:"varint,17,opt,name=safe_height,json=safeHeight,proto3" json:"safe_height,omitempty"`
}
func (x *GameCatalogItem) Reset() {
*x = GameCatalogItem{}
mi := &file_proto_game_v1_game_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *GameCatalogItem) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GameCatalogItem) ProtoMessage() {}
func (x *GameCatalogItem) ProtoReflect() protoreflect.Message {
mi := &file_proto_game_v1_game_proto_msgTypes[2]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GameCatalogItem.ProtoReflect.Descriptor instead.
func (*GameCatalogItem) Descriptor() ([]byte, []int) {
return file_proto_game_v1_game_proto_rawDescGZIP(), []int{2}
}
func (x *GameCatalogItem) GetAppCode() string {
if x != nil {
return x.AppCode
}
return ""
}
func (x *GameCatalogItem) GetGameId() string {
if x != nil {
return x.GameId
}
return ""
}
func (x *GameCatalogItem) GetPlatformCode() string {
if x != nil {
return x.PlatformCode
}
return ""
}
func (x *GameCatalogItem) GetProviderGameId() string {
if x != nil {
return x.ProviderGameId
}
return ""
}
func (x *GameCatalogItem) GetGameName() string {
if x != nil {
return x.GameName
}
return ""
}
func (x *GameCatalogItem) GetCategory() string {
if x != nil {
return x.Category
}
return ""
}
func (x *GameCatalogItem) GetIconUrl() string {
if x != nil {
return x.IconUrl
}
return ""
}
func (x *GameCatalogItem) GetCoverUrl() string {
if x != nil {
return x.CoverUrl
}
return ""
}
func (x *GameCatalogItem) GetLaunchMode() string {
if x != nil {
return x.LaunchMode
}
return ""
}
func (x *GameCatalogItem) GetOrientation() string {
if x != nil {
return x.Orientation
}
return ""
}
func (x *GameCatalogItem) GetMinCoin() int64 {
if x != nil {
return x.MinCoin
}
return 0
}
func (x *GameCatalogItem) GetStatus() string {
if x != nil {
return x.Status
}
return ""
}
func (x *GameCatalogItem) GetSortOrder() int32 {
if x != nil {
return x.SortOrder
}
return 0
}
func (x *GameCatalogItem) GetTags() []string {
if x != nil {
return x.Tags
}
return nil
}
func (x *GameCatalogItem) GetCreatedAtMs() int64 {
if x != nil {
return x.CreatedAtMs
}
return 0
}
func (x *GameCatalogItem) GetUpdatedAtMs() int64 {
if x != nil {
return x.UpdatedAtMs
}
return 0
}
func (x *GameCatalogItem) GetSafeHeight() int32 {
if x != nil {
return x.SafeHeight
}
return 0
}
type AppGame struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
GameId string `protobuf:"bytes,1,opt,name=game_id,json=gameId,proto3" json:"game_id,omitempty"`
PlatformCode string `protobuf:"bytes,2,opt,name=platform_code,json=platformCode,proto3" json:"platform_code,omitempty"`
NameKey string `protobuf:"bytes,3,opt,name=name_key,json=nameKey,proto3" json:"name_key,omitempty"`
Name string `protobuf:"bytes,4,opt,name=name,proto3" json:"name,omitempty"`
IconUrl string `protobuf:"bytes,5,opt,name=icon_url,json=iconUrl,proto3" json:"icon_url,omitempty"`
CoverUrl string `protobuf:"bytes,6,opt,name=cover_url,json=coverUrl,proto3" json:"cover_url,omitempty"`
Category string `protobuf:"bytes,7,opt,name=category,proto3" json:"category,omitempty"`
LaunchMode string `protobuf:"bytes,8,opt,name=launch_mode,json=launchMode,proto3" json:"launch_mode,omitempty"`
Orientation string `protobuf:"bytes,9,opt,name=orientation,proto3" json:"orientation,omitempty"`
MinCoin int64 `protobuf:"varint,10,opt,name=min_coin,json=minCoin,proto3" json:"min_coin,omitempty"`
Enabled bool `protobuf:"varint,11,opt,name=enabled,proto3" json:"enabled,omitempty"`
Maintenance bool `protobuf:"varint,12,opt,name=maintenance,proto3" json:"maintenance,omitempty"`
SortOrder int32 `protobuf:"varint,13,opt,name=sort_order,json=sortOrder,proto3" json:"sort_order,omitempty"`
SafeHeight int32 `protobuf:"varint,14,opt,name=safe_height,json=safeHeight,proto3" json:"safe_height,omitempty"`
}
func (x *AppGame) Reset() {
*x = AppGame{}
mi := &file_proto_game_v1_game_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *AppGame) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*AppGame) ProtoMessage() {}
func (x *AppGame) ProtoReflect() protoreflect.Message {
mi := &file_proto_game_v1_game_proto_msgTypes[3]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use AppGame.ProtoReflect.Descriptor instead.
func (*AppGame) Descriptor() ([]byte, []int) {
return file_proto_game_v1_game_proto_rawDescGZIP(), []int{3}
}
func (x *AppGame) GetGameId() string {
if x != nil {
return x.GameId
}
return ""
}
func (x *AppGame) GetPlatformCode() string {
if x != nil {
return x.PlatformCode
}
return ""
}
func (x *AppGame) GetNameKey() string {
if x != nil {
return x.NameKey
}
return ""
}
func (x *AppGame) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *AppGame) GetIconUrl() string {
if x != nil {
return x.IconUrl
}
return ""
}
func (x *AppGame) GetCoverUrl() string {
if x != nil {
return x.CoverUrl
}
return ""
}
func (x *AppGame) GetCategory() string {
if x != nil {
return x.Category
}
return ""
}
func (x *AppGame) GetLaunchMode() string {
if x != nil {
return x.LaunchMode
}
return ""
}
func (x *AppGame) GetOrientation() string {
if x != nil {
return x.Orientation
}
return ""
}
func (x *AppGame) GetMinCoin() int64 {
if x != nil {
return x.MinCoin
}
return 0
}
func (x *AppGame) GetEnabled() bool {
if x != nil {
return x.Enabled
}
return false
}
func (x *AppGame) GetMaintenance() bool {
if x != nil {
return x.Maintenance
}
return false
}
func (x *AppGame) GetSortOrder() int32 {
if x != nil {
return x.SortOrder
}
return 0
}
func (x *AppGame) GetSafeHeight() int32 {
if x != nil {
return x.SafeHeight
}
return 0
}
type ListGamesRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Meta *RequestMeta `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
UserId int64 `protobuf:"varint,2,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
Scene string `protobuf:"bytes,3,opt,name=scene,proto3" json:"scene,omitempty"`
RoomId string `protobuf:"bytes,4,opt,name=room_id,json=roomId,proto3" json:"room_id,omitempty"`
RegionId int64 `protobuf:"varint,5,opt,name=region_id,json=regionId,proto3" json:"region_id,omitempty"`
Language string `protobuf:"bytes,6,opt,name=language,proto3" json:"language,omitempty"`
ClientPlatform string `protobuf:"bytes,7,opt,name=client_platform,json=clientPlatform,proto3" json:"client_platform,omitempty"`
}
func (x *ListGamesRequest) Reset() {
*x = ListGamesRequest{}
mi := &file_proto_game_v1_game_proto_msgTypes[4]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *ListGamesRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ListGamesRequest) ProtoMessage() {}
func (x *ListGamesRequest) ProtoReflect() protoreflect.Message {
mi := &file_proto_game_v1_game_proto_msgTypes[4]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ListGamesRequest.ProtoReflect.Descriptor instead.
func (*ListGamesRequest) Descriptor() ([]byte, []int) {
return file_proto_game_v1_game_proto_rawDescGZIP(), []int{4}
}
func (x *ListGamesRequest) GetMeta() *RequestMeta {
if x != nil {
return x.Meta
}
return nil
}
func (x *ListGamesRequest) GetUserId() int64 {
if x != nil {
return x.UserId
}
return 0
}
func (x *ListGamesRequest) GetScene() string {
if x != nil {
return x.Scene
}
return ""
}
func (x *ListGamesRequest) GetRoomId() string {
if x != nil {
return x.RoomId
}
return ""
}
func (x *ListGamesRequest) GetRegionId() int64 {
if x != nil {
return x.RegionId
}
return 0
}
func (x *ListGamesRequest) GetLanguage() string {
if x != nil {
return x.Language
}
return ""
}
func (x *ListGamesRequest) GetClientPlatform() string {
if x != nil {
return x.ClientPlatform
}
return ""
}
type ListGamesResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Games []*AppGame `protobuf:"bytes,1,rep,name=games,proto3" json:"games,omitempty"`
ServerTimeMs int64 `protobuf:"varint,2,opt,name=server_time_ms,json=serverTimeMs,proto3" json:"server_time_ms,omitempty"`
}
func (x *ListGamesResponse) Reset() {
*x = ListGamesResponse{}
mi := &file_proto_game_v1_game_proto_msgTypes[5]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *ListGamesResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ListGamesResponse) ProtoMessage() {}
func (x *ListGamesResponse) ProtoReflect() protoreflect.Message {
mi := &file_proto_game_v1_game_proto_msgTypes[5]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ListGamesResponse.ProtoReflect.Descriptor instead.
func (*ListGamesResponse) Descriptor() ([]byte, []int) {
return file_proto_game_v1_game_proto_rawDescGZIP(), []int{5}
}
func (x *ListGamesResponse) GetGames() []*AppGame {
if x != nil {
return x.Games
}
return nil
}
func (x *ListGamesResponse) GetServerTimeMs() int64 {
if x != nil {
return x.ServerTimeMs
}
return 0
}
type ListRecentGamesRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Meta *RequestMeta `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
UserId int64 `protobuf:"varint,2,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
Scene string `protobuf:"bytes,3,opt,name=scene,proto3" json:"scene,omitempty"`
RoomId string `protobuf:"bytes,4,opt,name=room_id,json=roomId,proto3" json:"room_id,omitempty"`
RegionId int64 `protobuf:"varint,5,opt,name=region_id,json=regionId,proto3" json:"region_id,omitempty"`
Language string `protobuf:"bytes,6,opt,name=language,proto3" json:"language,omitempty"`
ClientPlatform string `protobuf:"bytes,7,opt,name=client_platform,json=clientPlatform,proto3" json:"client_platform,omitempty"`
PageSize int32 `protobuf:"varint,8,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
}
func (x *ListRecentGamesRequest) Reset() {
*x = ListRecentGamesRequest{}
mi := &file_proto_game_v1_game_proto_msgTypes[6]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *ListRecentGamesRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ListRecentGamesRequest) ProtoMessage() {}
func (x *ListRecentGamesRequest) ProtoReflect() protoreflect.Message {
mi := &file_proto_game_v1_game_proto_msgTypes[6]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ListRecentGamesRequest.ProtoReflect.Descriptor instead.
func (*ListRecentGamesRequest) Descriptor() ([]byte, []int) {
return file_proto_game_v1_game_proto_rawDescGZIP(), []int{6}
}
func (x *ListRecentGamesRequest) GetMeta() *RequestMeta {
if x != nil {
return x.Meta
}
return nil
}
func (x *ListRecentGamesRequest) GetUserId() int64 {
if x != nil {
return x.UserId
}
return 0
}
func (x *ListRecentGamesRequest) GetScene() string {
if x != nil {
return x.Scene
}
return ""
}
func (x *ListRecentGamesRequest) GetRoomId() string {
if x != nil {
return x.RoomId
}
return ""
}
func (x *ListRecentGamesRequest) GetRegionId() int64 {
if x != nil {
return x.RegionId
}
return 0
}
func (x *ListRecentGamesRequest) GetLanguage() string {
if x != nil {
return x.Language
}
return ""
}
func (x *ListRecentGamesRequest) GetClientPlatform() string {
if x != nil {
return x.ClientPlatform
}
return ""
}
func (x *ListRecentGamesRequest) GetPageSize() int32 {
if x != nil {
return x.PageSize
}
return 0
}
type ListExploreWinnersRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Meta *RequestMeta `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
}
func (x *ListExploreWinnersRequest) Reset() {
*x = ListExploreWinnersRequest{}
mi := &file_proto_game_v1_game_proto_msgTypes[7]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *ListExploreWinnersRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ListExploreWinnersRequest) ProtoMessage() {}
func (x *ListExploreWinnersRequest) ProtoReflect() protoreflect.Message {
mi := &file_proto_game_v1_game_proto_msgTypes[7]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ListExploreWinnersRequest.ProtoReflect.Descriptor instead.
func (*ListExploreWinnersRequest) Descriptor() ([]byte, []int) {
return file_proto_game_v1_game_proto_rawDescGZIP(), []int{7}
}
func (x *ListExploreWinnersRequest) GetMeta() *RequestMeta {
if x != nil {
return x.Meta
}
return nil
}
func (x *ListExploreWinnersRequest) GetPageSize() int32 {
if x != nil {
return x.PageSize
}
return 0
}
type ExploreWinner struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
WinId string `protobuf:"bytes,1,opt,name=win_id,json=winId,proto3" json:"win_id,omitempty"`
GameCode string `protobuf:"bytes,2,opt,name=game_code,json=gameCode,proto3" json:"game_code,omitempty"`
GameId string `protobuf:"bytes,3,opt,name=game_id,json=gameId,proto3" json:"game_id,omitempty"`
UserId int64 `protobuf:"varint,4,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
DisplayName string `protobuf:"bytes,5,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"`
AvatarUrl string `protobuf:"bytes,6,opt,name=avatar_url,json=avatarUrl,proto3" json:"avatar_url,omitempty"`
CoinAmount int64 `protobuf:"varint,7,opt,name=coin_amount,json=coinAmount,proto3" json:"coin_amount,omitempty"`
WonAtMs int64 `protobuf:"varint,8,opt,name=won_at_ms,json=wonAtMs,proto3" json:"won_at_ms,omitempty"`
}
func (x *ExploreWinner) Reset() {
*x = ExploreWinner{}
mi := &file_proto_game_v1_game_proto_msgTypes[8]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *ExploreWinner) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ExploreWinner) ProtoMessage() {}
func (x *ExploreWinner) ProtoReflect() protoreflect.Message {
mi := &file_proto_game_v1_game_proto_msgTypes[8]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ExploreWinner.ProtoReflect.Descriptor instead.
func (*ExploreWinner) Descriptor() ([]byte, []int) {
return file_proto_game_v1_game_proto_rawDescGZIP(), []int{8}
}
func (x *ExploreWinner) GetWinId() string {
if x != nil {
return x.WinId
}
return ""
}
func (x *ExploreWinner) GetGameCode() string {
if x != nil {
return x.GameCode
}
return ""
}
func (x *ExploreWinner) GetGameId() string {
if x != nil {
return x.GameId
}
return ""
}
func (x *ExploreWinner) GetUserId() int64 {
if x != nil {
return x.UserId
}
return 0
}
func (x *ExploreWinner) GetDisplayName() string {
if x != nil {
return x.DisplayName
}
return ""
}
func (x *ExploreWinner) GetAvatarUrl() string {
if x != nil {
return x.AvatarUrl
}
return ""
}
func (x *ExploreWinner) GetCoinAmount() int64 {
if x != nil {
return x.CoinAmount
}
return 0
}
func (x *ExploreWinner) GetWonAtMs() int64 {
if x != nil {
return x.WonAtMs
}
return 0
}
type ListExploreWinnersResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Winners []*ExploreWinner `protobuf:"bytes,1,rep,name=winners,proto3" json:"winners,omitempty"`
ServerTimeMs int64 `protobuf:"varint,2,opt,name=server_time_ms,json=serverTimeMs,proto3" json:"server_time_ms,omitempty"`
}
func (x *ListExploreWinnersResponse) Reset() {
*x = ListExploreWinnersResponse{}
mi := &file_proto_game_v1_game_proto_msgTypes[9]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *ListExploreWinnersResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ListExploreWinnersResponse) ProtoMessage() {}
func (x *ListExploreWinnersResponse) ProtoReflect() protoreflect.Message {
mi := &file_proto_game_v1_game_proto_msgTypes[9]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ListExploreWinnersResponse.ProtoReflect.Descriptor instead.
func (*ListExploreWinnersResponse) Descriptor() ([]byte, []int) {
return file_proto_game_v1_game_proto_rawDescGZIP(), []int{9}
}
func (x *ListExploreWinnersResponse) GetWinners() []*ExploreWinner {
if x != nil {
return x.Winners
}
return nil
}
func (x *ListExploreWinnersResponse) GetServerTimeMs() int64 {
if x != nil {
return x.ServerTimeMs
}
return 0
}
type GetBridgeScriptRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Meta *RequestMeta `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
}
func (x *GetBridgeScriptRequest) Reset() {
*x = GetBridgeScriptRequest{}
mi := &file_proto_game_v1_game_proto_msgTypes[10]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *GetBridgeScriptRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetBridgeScriptRequest) ProtoMessage() {}
func (x *GetBridgeScriptRequest) ProtoReflect() protoreflect.Message {
mi := &file_proto_game_v1_game_proto_msgTypes[10]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GetBridgeScriptRequest.ProtoReflect.Descriptor instead.
func (*GetBridgeScriptRequest) Descriptor() ([]byte, []int) {
return file_proto_game_v1_game_proto_rawDescGZIP(), []int{10}
}
func (x *GetBridgeScriptRequest) GetMeta() *RequestMeta {
if x != nil {
return x.Meta
}
return nil
}
type GameBridgeScriptConfig struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
BridgeScriptUrl string `protobuf:"bytes,1,opt,name=bridge_script_url,json=bridgeScriptUrl,proto3" json:"bridge_script_url,omitempty"`
BridgeScriptVersion string `protobuf:"bytes,2,opt,name=bridge_script_version,json=bridgeScriptVersion,proto3" json:"bridge_script_version,omitempty"`
BridgeScriptSha256 string `protobuf:"bytes,3,opt,name=bridge_script_sha256,json=bridgeScriptSha256,proto3" json:"bridge_script_sha256,omitempty"`
}
func (x *GameBridgeScriptConfig) Reset() {
*x = GameBridgeScriptConfig{}
mi := &file_proto_game_v1_game_proto_msgTypes[11]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *GameBridgeScriptConfig) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GameBridgeScriptConfig) ProtoMessage() {}
func (x *GameBridgeScriptConfig) ProtoReflect() protoreflect.Message {
mi := &file_proto_game_v1_game_proto_msgTypes[11]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GameBridgeScriptConfig.ProtoReflect.Descriptor instead.
func (*GameBridgeScriptConfig) Descriptor() ([]byte, []int) {
return file_proto_game_v1_game_proto_rawDescGZIP(), []int{11}
}
func (x *GameBridgeScriptConfig) GetBridgeScriptUrl() string {
if x != nil {
return x.BridgeScriptUrl
}
return ""
}
func (x *GameBridgeScriptConfig) GetBridgeScriptVersion() string {
if x != nil {
return x.BridgeScriptVersion
}
return ""
}
func (x *GameBridgeScriptConfig) GetBridgeScriptSha256() string {
if x != nil {
return x.BridgeScriptSha256
}
return ""
}
type GetBridgeScriptResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Config *GameBridgeScriptConfig `protobuf:"bytes,1,opt,name=config,proto3" json:"config,omitempty"`
ServerTimeMs int64 `protobuf:"varint,2,opt,name=server_time_ms,json=serverTimeMs,proto3" json:"server_time_ms,omitempty"`
}
func (x *GetBridgeScriptResponse) Reset() {
*x = GetBridgeScriptResponse{}
mi := &file_proto_game_v1_game_proto_msgTypes[12]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *GetBridgeScriptResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetBridgeScriptResponse) ProtoMessage() {}
func (x *GetBridgeScriptResponse) ProtoReflect() protoreflect.Message {
mi := &file_proto_game_v1_game_proto_msgTypes[12]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GetBridgeScriptResponse.ProtoReflect.Descriptor instead.
func (*GetBridgeScriptResponse) Descriptor() ([]byte, []int) {
return file_proto_game_v1_game_proto_rawDescGZIP(), []int{12}
}
func (x *GetBridgeScriptResponse) GetConfig() *GameBridgeScriptConfig {
if x != nil {
return x.Config
}
return nil
}
func (x *GetBridgeScriptResponse) GetServerTimeMs() int64 {
if x != nil {
return x.ServerTimeMs
}
return 0
}
type LaunchGameRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Meta *RequestMeta `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
UserId int64 `protobuf:"varint,2,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
DisplayUserId string `protobuf:"bytes,3,opt,name=display_user_id,json=displayUserId,proto3" json:"display_user_id,omitempty"`
GameId string `protobuf:"bytes,4,opt,name=game_id,json=gameId,proto3" json:"game_id,omitempty"`
Scene string `protobuf:"bytes,5,opt,name=scene,proto3" json:"scene,omitempty"`
RoomId string `protobuf:"bytes,6,opt,name=room_id,json=roomId,proto3" json:"room_id,omitempty"`
// access_token is the same bearer token used by the App request.
// Provider adapters pass it through as the game token instead of minting a separate game token.
AccessToken string `protobuf:"bytes,7,opt,name=access_token,json=accessToken,proto3" json:"access_token,omitempty"`
}
func (x *LaunchGameRequest) Reset() {
*x = LaunchGameRequest{}
mi := &file_proto_game_v1_game_proto_msgTypes[13]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *LaunchGameRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*LaunchGameRequest) ProtoMessage() {}
func (x *LaunchGameRequest) ProtoReflect() protoreflect.Message {
mi := &file_proto_game_v1_game_proto_msgTypes[13]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use LaunchGameRequest.ProtoReflect.Descriptor instead.
func (*LaunchGameRequest) Descriptor() ([]byte, []int) {
return file_proto_game_v1_game_proto_rawDescGZIP(), []int{13}
}
func (x *LaunchGameRequest) GetMeta() *RequestMeta {
if x != nil {
return x.Meta
}
return nil
}
func (x *LaunchGameRequest) GetUserId() int64 {
if x != nil {
return x.UserId
}
return 0
}
func (x *LaunchGameRequest) GetDisplayUserId() string {
if x != nil {
return x.DisplayUserId
}
return ""
}
func (x *LaunchGameRequest) GetGameId() string {
if x != nil {
return x.GameId
}
return ""
}
func (x *LaunchGameRequest) GetScene() string {
if x != nil {
return x.Scene
}
return ""
}
func (x *LaunchGameRequest) GetRoomId() string {
if x != nil {
return x.RoomId
}
return ""
}
func (x *LaunchGameRequest) GetAccessToken() string {
if x != nil {
return x.AccessToken
}
return ""
}
type LaunchGameResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
SessionId string `protobuf:"bytes,1,opt,name=session_id,json=sessionId,proto3" json:"session_id,omitempty"`
LaunchUrl string `protobuf:"bytes,2,opt,name=launch_url,json=launchUrl,proto3" json:"launch_url,omitempty"`
ExpiresAtMs int64 `protobuf:"varint,3,opt,name=expires_at_ms,json=expiresAtMs,proto3" json:"expires_at_ms,omitempty"`
Orientation string `protobuf:"bytes,4,opt,name=orientation,proto3" json:"orientation,omitempty"`
ServerTimeMs int64 `protobuf:"varint,5,opt,name=server_time_ms,json=serverTimeMs,proto3" json:"server_time_ms,omitempty"`
SafeHeight int32 `protobuf:"varint,6,opt,name=safe_height,json=safeHeight,proto3" json:"safe_height,omitempty"`
}
func (x *LaunchGameResponse) Reset() {
*x = LaunchGameResponse{}
mi := &file_proto_game_v1_game_proto_msgTypes[14]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *LaunchGameResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*LaunchGameResponse) ProtoMessage() {}
func (x *LaunchGameResponse) ProtoReflect() protoreflect.Message {
mi := &file_proto_game_v1_game_proto_msgTypes[14]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use LaunchGameResponse.ProtoReflect.Descriptor instead.
func (*LaunchGameResponse) Descriptor() ([]byte, []int) {
return file_proto_game_v1_game_proto_rawDescGZIP(), []int{14}
}
func (x *LaunchGameResponse) GetSessionId() string {
if x != nil {
return x.SessionId
}
return ""
}
func (x *LaunchGameResponse) GetLaunchUrl() string {
if x != nil {
return x.LaunchUrl
}
return ""
}
func (x *LaunchGameResponse) GetExpiresAtMs() int64 {
if x != nil {
return x.ExpiresAtMs
}
return 0
}
func (x *LaunchGameResponse) GetOrientation() string {
if x != nil {
return x.Orientation
}
return ""
}
func (x *LaunchGameResponse) GetServerTimeMs() int64 {
if x != nil {
return x.ServerTimeMs
}
return 0
}
func (x *LaunchGameResponse) GetSafeHeight() int32 {
if x != nil {
return x.SafeHeight
}
return 0
}
type DiceParticipant struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
UserId int64 `protobuf:"varint,1,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
SeatNo int32 `protobuf:"varint,2,opt,name=seat_no,json=seatNo,proto3" json:"seat_no,omitempty"`
Status string `protobuf:"bytes,3,opt,name=status,proto3" json:"status,omitempty"`
StakeCoin int64 `protobuf:"varint,4,opt,name=stake_coin,json=stakeCoin,proto3" json:"stake_coin,omitempty"`
DicePoints []int32 `protobuf:"varint,5,rep,packed,name=dice_points,json=dicePoints,proto3" json:"dice_points,omitempty"`
Result string `protobuf:"bytes,6,opt,name=result,proto3" json:"result,omitempty"`
PayoutCoin int64 `protobuf:"varint,7,opt,name=payout_coin,json=payoutCoin,proto3" json:"payout_coin,omitempty"`
BalanceAfter int64 `protobuf:"varint,8,opt,name=balance_after,json=balanceAfter,proto3" json:"balance_after,omitempty"`
JoinedAtMs int64 `protobuf:"varint,9,opt,name=joined_at_ms,json=joinedAtMs,proto3" json:"joined_at_ms,omitempty"`
UpdatedAtMs int64 `protobuf:"varint,10,opt,name=updated_at_ms,json=updatedAtMs,proto3" json:"updated_at_ms,omitempty"`
ParticipantType string `protobuf:"bytes,11,opt,name=participant_type,json=participantType,proto3" json:"participant_type,omitempty"`
IsRobot bool `protobuf:"varint,12,opt,name=is_robot,json=isRobot,proto3" json:"is_robot,omitempty"`
RpsGesture string `protobuf:"bytes,13,opt,name=rps_gesture,json=rpsGesture,proto3" json:"rps_gesture,omitempty"`
}
func (x *DiceParticipant) Reset() {
*x = DiceParticipant{}
mi := &file_proto_game_v1_game_proto_msgTypes[15]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *DiceParticipant) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DiceParticipant) ProtoMessage() {}
func (x *DiceParticipant) ProtoReflect() protoreflect.Message {
mi := &file_proto_game_v1_game_proto_msgTypes[15]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use DiceParticipant.ProtoReflect.Descriptor instead.
func (*DiceParticipant) Descriptor() ([]byte, []int) {
return file_proto_game_v1_game_proto_rawDescGZIP(), []int{15}
}
func (x *DiceParticipant) GetUserId() int64 {
if x != nil {
return x.UserId
}
return 0
}
func (x *DiceParticipant) GetSeatNo() int32 {
if x != nil {
return x.SeatNo
}
return 0
}
func (x *DiceParticipant) GetStatus() string {
if x != nil {
return x.Status
}
return ""
}
func (x *DiceParticipant) GetStakeCoin() int64 {
if x != nil {
return x.StakeCoin
}
return 0
}
func (x *DiceParticipant) GetDicePoints() []int32 {
if x != nil {
return x.DicePoints
}
return nil
}
func (x *DiceParticipant) GetResult() string {
if x != nil {
return x.Result
}
return ""
}
func (x *DiceParticipant) GetPayoutCoin() int64 {
if x != nil {
return x.PayoutCoin
}
return 0
}
func (x *DiceParticipant) GetBalanceAfter() int64 {
if x != nil {
return x.BalanceAfter
}
return 0
}
func (x *DiceParticipant) GetJoinedAtMs() int64 {
if x != nil {
return x.JoinedAtMs
}
return 0
}
func (x *DiceParticipant) GetUpdatedAtMs() int64 {
if x != nil {
return x.UpdatedAtMs
}
return 0
}
func (x *DiceParticipant) GetParticipantType() string {
if x != nil {
return x.ParticipantType
}
return ""
}
func (x *DiceParticipant) GetIsRobot() bool {
if x != nil {
return x.IsRobot
}
return false
}
func (x *DiceParticipant) GetRpsGesture() string {
if x != nil {
return x.RpsGesture
}
return ""
}
type DiceMatch struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
AppCode string `protobuf:"bytes,1,opt,name=app_code,json=appCode,proto3" json:"app_code,omitempty"`
MatchId string `protobuf:"bytes,2,opt,name=match_id,json=matchId,proto3" json:"match_id,omitempty"`
GameId string `protobuf:"bytes,3,opt,name=game_id,json=gameId,proto3" json:"game_id,omitempty"`
RoomId string `protobuf:"bytes,4,opt,name=room_id,json=roomId,proto3" json:"room_id,omitempty"`
RegionId int64 `protobuf:"varint,5,opt,name=region_id,json=regionId,proto3" json:"region_id,omitempty"`
MinPlayers int32 `protobuf:"varint,6,opt,name=min_players,json=minPlayers,proto3" json:"min_players,omitempty"`
MaxPlayers int32 `protobuf:"varint,7,opt,name=max_players,json=maxPlayers,proto3" json:"max_players,omitempty"`
CurrentPlayers int32 `protobuf:"varint,8,opt,name=current_players,json=currentPlayers,proto3" json:"current_players,omitempty"`
StakeCoin int64 `protobuf:"varint,9,opt,name=stake_coin,json=stakeCoin,proto3" json:"stake_coin,omitempty"`
RoundNo int32 `protobuf:"varint,10,opt,name=round_no,json=roundNo,proto3" json:"round_no,omitempty"`
Status string `protobuf:"bytes,11,opt,name=status,proto3" json:"status,omitempty"`
Result string `protobuf:"bytes,12,opt,name=result,proto3" json:"result,omitempty"`
Participants []*DiceParticipant `protobuf:"bytes,13,rep,name=participants,proto3" json:"participants,omitempty"`
JoinDeadlineMs int64 `protobuf:"varint,14,opt,name=join_deadline_ms,json=joinDeadlineMs,proto3" json:"join_deadline_ms,omitempty"`
CreatedAtMs int64 `protobuf:"varint,15,opt,name=created_at_ms,json=createdAtMs,proto3" json:"created_at_ms,omitempty"`
UpdatedAtMs int64 `protobuf:"varint,16,opt,name=updated_at_ms,json=updatedAtMs,proto3" json:"updated_at_ms,omitempty"`
SettledAtMs int64 `protobuf:"varint,17,opt,name=settled_at_ms,json=settledAtMs,proto3" json:"settled_at_ms,omitempty"`
Phase string `protobuf:"bytes,18,opt,name=phase,proto3" json:"phase,omitempty"`
PhaseDeadlineMs int64 `protobuf:"varint,19,opt,name=phase_deadline_ms,json=phaseDeadlineMs,proto3" json:"phase_deadline_ms,omitempty"`
FeeBps int32 `protobuf:"varint,20,opt,name=fee_bps,json=feeBps,proto3" json:"fee_bps,omitempty"`
PoolBps int32 `protobuf:"varint,21,opt,name=pool_bps,json=poolBps,proto3" json:"pool_bps,omitempty"`
MatchMode string `protobuf:"bytes,22,opt,name=match_mode,json=matchMode,proto3" json:"match_mode,omitempty"`
ForcedResult string `protobuf:"bytes,23,opt,name=forced_result,json=forcedResult,proto3" json:"forced_result,omitempty"`
ReadyAtMs int64 `protobuf:"varint,24,opt,name=ready_at_ms,json=readyAtMs,proto3" json:"ready_at_ms,omitempty"`
CanceledAtMs int64 `protobuf:"varint,25,opt,name=canceled_at_ms,json=canceledAtMs,proto3" json:"canceled_at_ms,omitempty"`
PoolDeltaCoin int64 `protobuf:"varint,26,opt,name=pool_delta_coin,json=poolDeltaCoin,proto3" json:"pool_delta_coin,omitempty"`
}
func (x *DiceMatch) Reset() {
*x = DiceMatch{}
mi := &file_proto_game_v1_game_proto_msgTypes[16]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *DiceMatch) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DiceMatch) ProtoMessage() {}
func (x *DiceMatch) ProtoReflect() protoreflect.Message {
mi := &file_proto_game_v1_game_proto_msgTypes[16]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use DiceMatch.ProtoReflect.Descriptor instead.
func (*DiceMatch) Descriptor() ([]byte, []int) {
return file_proto_game_v1_game_proto_rawDescGZIP(), []int{16}
}
func (x *DiceMatch) GetAppCode() string {
if x != nil {
return x.AppCode
}
return ""
}
func (x *DiceMatch) GetMatchId() string {
if x != nil {
return x.MatchId
}
return ""
}
func (x *DiceMatch) GetGameId() string {
if x != nil {
return x.GameId
}
return ""
}
func (x *DiceMatch) GetRoomId() string {
if x != nil {
return x.RoomId
}
return ""
}
func (x *DiceMatch) GetRegionId() int64 {
if x != nil {
return x.RegionId
}
return 0
}
func (x *DiceMatch) GetMinPlayers() int32 {
if x != nil {
return x.MinPlayers
}
return 0
}
func (x *DiceMatch) GetMaxPlayers() int32 {
if x != nil {
return x.MaxPlayers
}
return 0
}
func (x *DiceMatch) GetCurrentPlayers() int32 {
if x != nil {
return x.CurrentPlayers
}
return 0
}
func (x *DiceMatch) GetStakeCoin() int64 {
if x != nil {
return x.StakeCoin
}
return 0
}
func (x *DiceMatch) GetRoundNo() int32 {
if x != nil {
return x.RoundNo
}
return 0
}
func (x *DiceMatch) GetStatus() string {
if x != nil {
return x.Status
}
return ""
}
func (x *DiceMatch) GetResult() string {
if x != nil {
return x.Result
}
return ""
}
func (x *DiceMatch) GetParticipants() []*DiceParticipant {
if x != nil {
return x.Participants
}
return nil
}
func (x *DiceMatch) GetJoinDeadlineMs() int64 {
if x != nil {
return x.JoinDeadlineMs
}
return 0
}
func (x *DiceMatch) GetCreatedAtMs() int64 {
if x != nil {
return x.CreatedAtMs
}
return 0
}
func (x *DiceMatch) GetUpdatedAtMs() int64 {
if x != nil {
return x.UpdatedAtMs
}
return 0
}
func (x *DiceMatch) GetSettledAtMs() int64 {
if x != nil {
return x.SettledAtMs
}
return 0
}
func (x *DiceMatch) GetPhase() string {
if x != nil {
return x.Phase
}
return ""
}
func (x *DiceMatch) GetPhaseDeadlineMs() int64 {
if x != nil {
return x.PhaseDeadlineMs
}
return 0
}
func (x *DiceMatch) GetFeeBps() int32 {
if x != nil {
return x.FeeBps
}
return 0
}
func (x *DiceMatch) GetPoolBps() int32 {
if x != nil {
return x.PoolBps
}
return 0
}
func (x *DiceMatch) GetMatchMode() string {
if x != nil {
return x.MatchMode
}
return ""
}
func (x *DiceMatch) GetForcedResult() string {
if x != nil {
return x.ForcedResult
}
return ""
}
func (x *DiceMatch) GetReadyAtMs() int64 {
if x != nil {
return x.ReadyAtMs
}
return 0
}
func (x *DiceMatch) GetCanceledAtMs() int64 {
if x != nil {
return x.CanceledAtMs
}
return 0
}
func (x *DiceMatch) GetPoolDeltaCoin() int64 {
if x != nil {
return x.PoolDeltaCoin
}
return 0
}
type DiceStakeOption struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
StakeCoin int64 `protobuf:"varint,1,opt,name=stake_coin,json=stakeCoin,proto3" json:"stake_coin,omitempty"`
Enabled bool `protobuf:"varint,2,opt,name=enabled,proto3" json:"enabled,omitempty"`
SortOrder int32 `protobuf:"varint,3,opt,name=sort_order,json=sortOrder,proto3" json:"sort_order,omitempty"`
}
func (x *DiceStakeOption) Reset() {
*x = DiceStakeOption{}
mi := &file_proto_game_v1_game_proto_msgTypes[17]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *DiceStakeOption) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DiceStakeOption) ProtoMessage() {}
func (x *DiceStakeOption) ProtoReflect() protoreflect.Message {
mi := &file_proto_game_v1_game_proto_msgTypes[17]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use DiceStakeOption.ProtoReflect.Descriptor instead.
func (*DiceStakeOption) Descriptor() ([]byte, []int) {
return file_proto_game_v1_game_proto_rawDescGZIP(), []int{17}
}
func (x *DiceStakeOption) GetStakeCoin() int64 {
if x != nil {
return x.StakeCoin
}
return 0
}
func (x *DiceStakeOption) GetEnabled() bool {
if x != nil {
return x.Enabled
}
return false
}
func (x *DiceStakeOption) GetSortOrder() int32 {
if x != nil {
return x.SortOrder
}
return 0
}
type DiceConfig struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
AppCode string `protobuf:"bytes,1,opt,name=app_code,json=appCode,proto3" json:"app_code,omitempty"`
GameId string `protobuf:"bytes,2,opt,name=game_id,json=gameId,proto3" json:"game_id,omitempty"`
Status string `protobuf:"bytes,3,opt,name=status,proto3" json:"status,omitempty"`
StakeOptions []*DiceStakeOption `protobuf:"bytes,4,rep,name=stake_options,json=stakeOptions,proto3" json:"stake_options,omitempty"`
FeeBps int32 `protobuf:"varint,5,opt,name=fee_bps,json=feeBps,proto3" json:"fee_bps,omitempty"`
PoolBps int32 `protobuf:"varint,6,opt,name=pool_bps,json=poolBps,proto3" json:"pool_bps,omitempty"`
MinPlayers int32 `protobuf:"varint,7,opt,name=min_players,json=minPlayers,proto3" json:"min_players,omitempty"`
MaxPlayers int32 `protobuf:"varint,8,opt,name=max_players,json=maxPlayers,proto3" json:"max_players,omitempty"`
RobotEnabled bool `protobuf:"varint,9,opt,name=robot_enabled,json=robotEnabled,proto3" json:"robot_enabled,omitempty"`
RobotMatchWaitMs int64 `protobuf:"varint,10,opt,name=robot_match_wait_ms,json=robotMatchWaitMs,proto3" json:"robot_match_wait_ms,omitempty"`
PoolBalanceCoin int64 `protobuf:"varint,11,opt,name=pool_balance_coin,json=poolBalanceCoin,proto3" json:"pool_balance_coin,omitempty"`
CreatedAtMs int64 `protobuf:"varint,12,opt,name=created_at_ms,json=createdAtMs,proto3" json:"created_at_ms,omitempty"`
UpdatedAtMs int64 `protobuf:"varint,13,opt,name=updated_at_ms,json=updatedAtMs,proto3" json:"updated_at_ms,omitempty"`
}
func (x *DiceConfig) Reset() {
*x = DiceConfig{}
mi := &file_proto_game_v1_game_proto_msgTypes[18]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *DiceConfig) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DiceConfig) ProtoMessage() {}
func (x *DiceConfig) ProtoReflect() protoreflect.Message {
mi := &file_proto_game_v1_game_proto_msgTypes[18]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use DiceConfig.ProtoReflect.Descriptor instead.
func (*DiceConfig) Descriptor() ([]byte, []int) {
return file_proto_game_v1_game_proto_rawDescGZIP(), []int{18}
}
func (x *DiceConfig) GetAppCode() string {
if x != nil {
return x.AppCode
}
return ""
}
func (x *DiceConfig) GetGameId() string {
if x != nil {
return x.GameId
}
return ""
}
func (x *DiceConfig) GetStatus() string {
if x != nil {
return x.Status
}
return ""
}
func (x *DiceConfig) GetStakeOptions() []*DiceStakeOption {
if x != nil {
return x.StakeOptions
}
return nil
}
func (x *DiceConfig) GetFeeBps() int32 {
if x != nil {
return x.FeeBps
}
return 0
}
func (x *DiceConfig) GetPoolBps() int32 {
if x != nil {
return x.PoolBps
}
return 0
}
func (x *DiceConfig) GetMinPlayers() int32 {
if x != nil {
return x.MinPlayers
}
return 0
}
func (x *DiceConfig) GetMaxPlayers() int32 {
if x != nil {
return x.MaxPlayers
}
return 0
}
func (x *DiceConfig) GetRobotEnabled() bool {
if x != nil {
return x.RobotEnabled
}
return false
}
func (x *DiceConfig) GetRobotMatchWaitMs() int64 {
if x != nil {
return x.RobotMatchWaitMs
}
return 0
}
func (x *DiceConfig) GetPoolBalanceCoin() int64 {
if x != nil {
return x.PoolBalanceCoin
}
return 0
}
func (x *DiceConfig) GetCreatedAtMs() int64 {
if x != nil {
return x.CreatedAtMs
}
return 0
}
func (x *DiceConfig) GetUpdatedAtMs() int64 {
if x != nil {
return x.UpdatedAtMs
}
return 0
}
type GetDiceConfigRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Meta *RequestMeta `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
GameId string `protobuf:"bytes,2,opt,name=game_id,json=gameId,proto3" json:"game_id,omitempty"`
}
func (x *GetDiceConfigRequest) Reset() {
*x = GetDiceConfigRequest{}
mi := &file_proto_game_v1_game_proto_msgTypes[19]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *GetDiceConfigRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetDiceConfigRequest) ProtoMessage() {}
func (x *GetDiceConfigRequest) ProtoReflect() protoreflect.Message {
mi := &file_proto_game_v1_game_proto_msgTypes[19]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GetDiceConfigRequest.ProtoReflect.Descriptor instead.
func (*GetDiceConfigRequest) Descriptor() ([]byte, []int) {
return file_proto_game_v1_game_proto_rawDescGZIP(), []int{19}
}
func (x *GetDiceConfigRequest) GetMeta() *RequestMeta {
if x != nil {
return x.Meta
}
return nil
}
func (x *GetDiceConfigRequest) GetGameId() string {
if x != nil {
return x.GameId
}
return ""
}
type DiceConfigResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Config *DiceConfig `protobuf:"bytes,1,opt,name=config,proto3" json:"config,omitempty"`
ServerTimeMs int64 `protobuf:"varint,2,opt,name=server_time_ms,json=serverTimeMs,proto3" json:"server_time_ms,omitempty"`
}
func (x *DiceConfigResponse) Reset() {
*x = DiceConfigResponse{}
mi := &file_proto_game_v1_game_proto_msgTypes[20]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *DiceConfigResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DiceConfigResponse) ProtoMessage() {}
func (x *DiceConfigResponse) ProtoReflect() protoreflect.Message {
mi := &file_proto_game_v1_game_proto_msgTypes[20]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use DiceConfigResponse.ProtoReflect.Descriptor instead.
func (*DiceConfigResponse) Descriptor() ([]byte, []int) {
return file_proto_game_v1_game_proto_rawDescGZIP(), []int{20}
}
func (x *DiceConfigResponse) GetConfig() *DiceConfig {
if x != nil {
return x.Config
}
return nil
}
func (x *DiceConfigResponse) GetServerTimeMs() int64 {
if x != nil {
return x.ServerTimeMs
}
return 0
}
type RoomRPSStakeGift struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
GiftId int64 `protobuf:"varint,1,opt,name=gift_id,json=giftId,proto3" json:"gift_id,omitempty"`
GiftName string `protobuf:"bytes,2,opt,name=gift_name,json=giftName,proto3" json:"gift_name,omitempty"`
GiftIconUrl string `protobuf:"bytes,3,opt,name=gift_icon_url,json=giftIconUrl,proto3" json:"gift_icon_url,omitempty"`
GiftPriceCoin int64 `protobuf:"varint,4,opt,name=gift_price_coin,json=giftPriceCoin,proto3" json:"gift_price_coin,omitempty"`
Enabled bool `protobuf:"varint,5,opt,name=enabled,proto3" json:"enabled,omitempty"`
SortOrder int32 `protobuf:"varint,6,opt,name=sort_order,json=sortOrder,proto3" json:"sort_order,omitempty"`
GiftIdText string `protobuf:"bytes,7,opt,name=gift_id_text,json=giftIdText,proto3" json:"gift_id_text,omitempty"`
GiftAnimationUrl string `protobuf:"bytes,8,opt,name=gift_animation_url,json=giftAnimationUrl,proto3" json:"gift_animation_url,omitempty"`
}
func (x *RoomRPSStakeGift) Reset() {
*x = RoomRPSStakeGift{}
mi := &file_proto_game_v1_game_proto_msgTypes[21]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *RoomRPSStakeGift) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*RoomRPSStakeGift) ProtoMessage() {}
func (x *RoomRPSStakeGift) ProtoReflect() protoreflect.Message {
mi := &file_proto_game_v1_game_proto_msgTypes[21]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use RoomRPSStakeGift.ProtoReflect.Descriptor instead.
func (*RoomRPSStakeGift) Descriptor() ([]byte, []int) {
return file_proto_game_v1_game_proto_rawDescGZIP(), []int{21}
}
func (x *RoomRPSStakeGift) GetGiftId() int64 {
if x != nil {
return x.GiftId
}
return 0
}
func (x *RoomRPSStakeGift) GetGiftName() string {
if x != nil {
return x.GiftName
}
return ""
}
func (x *RoomRPSStakeGift) GetGiftIconUrl() string {
if x != nil {
return x.GiftIconUrl
}
return ""
}
func (x *RoomRPSStakeGift) GetGiftPriceCoin() int64 {
if x != nil {
return x.GiftPriceCoin
}
return 0
}
func (x *RoomRPSStakeGift) GetEnabled() bool {
if x != nil {
return x.Enabled
}
return false
}
func (x *RoomRPSStakeGift) GetSortOrder() int32 {
if x != nil {
return x.SortOrder
}
return 0
}
func (x *RoomRPSStakeGift) GetGiftIdText() string {
if x != nil {
return x.GiftIdText
}
return ""
}
func (x *RoomRPSStakeGift) GetGiftAnimationUrl() string {
if x != nil {
return x.GiftAnimationUrl
}
return ""
}
type RoomRPSConfig struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
AppCode string `protobuf:"bytes,1,opt,name=app_code,json=appCode,proto3" json:"app_code,omitempty"`
GameId string `protobuf:"bytes,2,opt,name=game_id,json=gameId,proto3" json:"game_id,omitempty"`
Status string `protobuf:"bytes,3,opt,name=status,proto3" json:"status,omitempty"`
ChallengeTimeoutMs int64 `protobuf:"varint,4,opt,name=challenge_timeout_ms,json=challengeTimeoutMs,proto3" json:"challenge_timeout_ms,omitempty"`
RevealCountdownMs int64 `protobuf:"varint,5,opt,name=reveal_countdown_ms,json=revealCountdownMs,proto3" json:"reveal_countdown_ms,omitempty"`
StakeGifts []*RoomRPSStakeGift `protobuf:"bytes,6,rep,name=stake_gifts,json=stakeGifts,proto3" json:"stake_gifts,omitempty"`
CreatedAtMs int64 `protobuf:"varint,7,opt,name=created_at_ms,json=createdAtMs,proto3" json:"created_at_ms,omitempty"`
UpdatedAtMs int64 `protobuf:"varint,8,opt,name=updated_at_ms,json=updatedAtMs,proto3" json:"updated_at_ms,omitempty"`
}
func (x *RoomRPSConfig) Reset() {
*x = RoomRPSConfig{}
mi := &file_proto_game_v1_game_proto_msgTypes[22]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *RoomRPSConfig) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*RoomRPSConfig) ProtoMessage() {}
func (x *RoomRPSConfig) ProtoReflect() protoreflect.Message {
mi := &file_proto_game_v1_game_proto_msgTypes[22]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use RoomRPSConfig.ProtoReflect.Descriptor instead.
func (*RoomRPSConfig) Descriptor() ([]byte, []int) {
return file_proto_game_v1_game_proto_rawDescGZIP(), []int{22}
}
func (x *RoomRPSConfig) GetAppCode() string {
if x != nil {
return x.AppCode
}
return ""
}
func (x *RoomRPSConfig) GetGameId() string {
if x != nil {
return x.GameId
}
return ""
}
func (x *RoomRPSConfig) GetStatus() string {
if x != nil {
return x.Status
}
return ""
}
func (x *RoomRPSConfig) GetChallengeTimeoutMs() int64 {
if x != nil {
return x.ChallengeTimeoutMs
}
return 0
}
func (x *RoomRPSConfig) GetRevealCountdownMs() int64 {
if x != nil {
return x.RevealCountdownMs
}
return 0
}
func (x *RoomRPSConfig) GetStakeGifts() []*RoomRPSStakeGift {
if x != nil {
return x.StakeGifts
}
return nil
}
func (x *RoomRPSConfig) GetCreatedAtMs() int64 {
if x != nil {
return x.CreatedAtMs
}
return 0
}
func (x *RoomRPSConfig) GetUpdatedAtMs() int64 {
if x != nil {
return x.UpdatedAtMs
}
return 0
}
type RoomRPSPlayer struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
UserId int64 `protobuf:"varint,1,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
Gesture string `protobuf:"bytes,2,opt,name=gesture,proto3" json:"gesture,omitempty"`
Result string `protobuf:"bytes,3,opt,name=result,proto3" json:"result,omitempty"`
BalanceAfter int64 `protobuf:"varint,4,opt,name=balance_after,json=balanceAfter,proto3" json:"balance_after,omitempty"`
JoinedAtMs int64 `protobuf:"varint,5,opt,name=joined_at_ms,json=joinedAtMs,proto3" json:"joined_at_ms,omitempty"`
}
func (x *RoomRPSPlayer) Reset() {
*x = RoomRPSPlayer{}
mi := &file_proto_game_v1_game_proto_msgTypes[23]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *RoomRPSPlayer) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*RoomRPSPlayer) ProtoMessage() {}
func (x *RoomRPSPlayer) ProtoReflect() protoreflect.Message {
mi := &file_proto_game_v1_game_proto_msgTypes[23]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use RoomRPSPlayer.ProtoReflect.Descriptor instead.
func (*RoomRPSPlayer) Descriptor() ([]byte, []int) {
return file_proto_game_v1_game_proto_rawDescGZIP(), []int{23}
}
func (x *RoomRPSPlayer) GetUserId() int64 {
if x != nil {
return x.UserId
}
return 0
}
func (x *RoomRPSPlayer) GetGesture() string {
if x != nil {
return x.Gesture
}
return ""
}
func (x *RoomRPSPlayer) GetResult() string {
if x != nil {
return x.Result
}
return ""
}
func (x *RoomRPSPlayer) GetBalanceAfter() int64 {
if x != nil {
return x.BalanceAfter
}
return 0
}
func (x *RoomRPSPlayer) GetJoinedAtMs() int64 {
if x != nil {
return x.JoinedAtMs
}
return 0
}
type RoomRPSChallenge struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
AppCode string `protobuf:"bytes,1,opt,name=app_code,json=appCode,proto3" json:"app_code,omitempty"`
ChallengeId string `protobuf:"bytes,2,opt,name=challenge_id,json=challengeId,proto3" json:"challenge_id,omitempty"`
RoomId string `protobuf:"bytes,3,opt,name=room_id,json=roomId,proto3" json:"room_id,omitempty"`
RegionId int64 `protobuf:"varint,4,opt,name=region_id,json=regionId,proto3" json:"region_id,omitempty"`
Status string `protobuf:"bytes,5,opt,name=status,proto3" json:"status,omitempty"`
StakeGiftId int64 `protobuf:"varint,6,opt,name=stake_gift_id,json=stakeGiftId,proto3" json:"stake_gift_id,omitempty"`
StakeCoin int64 `protobuf:"varint,7,opt,name=stake_coin,json=stakeCoin,proto3" json:"stake_coin,omitempty"`
Initiator *RoomRPSPlayer `protobuf:"bytes,8,opt,name=initiator,proto3" json:"initiator,omitempty"`
Challenger *RoomRPSPlayer `protobuf:"bytes,9,opt,name=challenger,proto3" json:"challenger,omitempty"`
WinnerUserId int64 `protobuf:"varint,10,opt,name=winner_user_id,json=winnerUserId,proto3" json:"winner_user_id,omitempty"`
SettlementStatus string `protobuf:"bytes,11,opt,name=settlement_status,json=settlementStatus,proto3" json:"settlement_status,omitempty"`
FailureReason string `protobuf:"bytes,12,opt,name=failure_reason,json=failureReason,proto3" json:"failure_reason,omitempty"`
TimeoutAtMs int64 `protobuf:"varint,13,opt,name=timeout_at_ms,json=timeoutAtMs,proto3" json:"timeout_at_ms,omitempty"`
RevealAtMs int64 `protobuf:"varint,14,opt,name=reveal_at_ms,json=revealAtMs,proto3" json:"reveal_at_ms,omitempty"`
CreatedAtMs int64 `protobuf:"varint,15,opt,name=created_at_ms,json=createdAtMs,proto3" json:"created_at_ms,omitempty"`
MatchedAtMs int64 `protobuf:"varint,16,opt,name=matched_at_ms,json=matchedAtMs,proto3" json:"matched_at_ms,omitempty"`
SettledAtMs int64 `protobuf:"varint,17,opt,name=settled_at_ms,json=settledAtMs,proto3" json:"settled_at_ms,omitempty"`
UpdatedAtMs int64 `protobuf:"varint,18,opt,name=updated_at_ms,json=updatedAtMs,proto3" json:"updated_at_ms,omitempty"`
StakeGiftIdText string `protobuf:"bytes,19,opt,name=stake_gift_id_text,json=stakeGiftIdText,proto3" json:"stake_gift_id_text,omitempty"`
}
func (x *RoomRPSChallenge) Reset() {
*x = RoomRPSChallenge{}
mi := &file_proto_game_v1_game_proto_msgTypes[24]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *RoomRPSChallenge) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*RoomRPSChallenge) ProtoMessage() {}
func (x *RoomRPSChallenge) ProtoReflect() protoreflect.Message {
mi := &file_proto_game_v1_game_proto_msgTypes[24]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use RoomRPSChallenge.ProtoReflect.Descriptor instead.
func (*RoomRPSChallenge) Descriptor() ([]byte, []int) {
return file_proto_game_v1_game_proto_rawDescGZIP(), []int{24}
}
func (x *RoomRPSChallenge) GetAppCode() string {
if x != nil {
return x.AppCode
}
return ""
}
func (x *RoomRPSChallenge) GetChallengeId() string {
if x != nil {
return x.ChallengeId
}
return ""
}
func (x *RoomRPSChallenge) GetRoomId() string {
if x != nil {
return x.RoomId
}
return ""
}
func (x *RoomRPSChallenge) GetRegionId() int64 {
if x != nil {
return x.RegionId
}
return 0
}
func (x *RoomRPSChallenge) GetStatus() string {
if x != nil {
return x.Status
}
return ""
}
func (x *RoomRPSChallenge) GetStakeGiftId() int64 {
if x != nil {
return x.StakeGiftId
}
return 0
}
func (x *RoomRPSChallenge) GetStakeCoin() int64 {
if x != nil {
return x.StakeCoin
}
return 0
}
func (x *RoomRPSChallenge) GetInitiator() *RoomRPSPlayer {
if x != nil {
return x.Initiator
}
return nil
}
func (x *RoomRPSChallenge) GetChallenger() *RoomRPSPlayer {
if x != nil {
return x.Challenger
}
return nil
}
func (x *RoomRPSChallenge) GetWinnerUserId() int64 {
if x != nil {
return x.WinnerUserId
}
return 0
}
func (x *RoomRPSChallenge) GetSettlementStatus() string {
if x != nil {
return x.SettlementStatus
}
return ""
}
func (x *RoomRPSChallenge) GetFailureReason() string {
if x != nil {
return x.FailureReason
}
return ""
}
func (x *RoomRPSChallenge) GetTimeoutAtMs() int64 {
if x != nil {
return x.TimeoutAtMs
}
return 0
}
func (x *RoomRPSChallenge) GetRevealAtMs() int64 {
if x != nil {
return x.RevealAtMs
}
return 0
}
func (x *RoomRPSChallenge) GetCreatedAtMs() int64 {
if x != nil {
return x.CreatedAtMs
}
return 0
}
func (x *RoomRPSChallenge) GetMatchedAtMs() int64 {
if x != nil {
return x.MatchedAtMs
}
return 0
}
func (x *RoomRPSChallenge) GetSettledAtMs() int64 {
if x != nil {
return x.SettledAtMs
}
return 0
}
func (x *RoomRPSChallenge) GetUpdatedAtMs() int64 {
if x != nil {
return x.UpdatedAtMs
}
return 0
}
func (x *RoomRPSChallenge) GetStakeGiftIdText() string {
if x != nil {
return x.StakeGiftIdText
}
return ""
}
type GetRoomRPSConfigRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Meta *RequestMeta `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
}
func (x *GetRoomRPSConfigRequest) Reset() {
*x = GetRoomRPSConfigRequest{}
mi := &file_proto_game_v1_game_proto_msgTypes[25]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *GetRoomRPSConfigRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetRoomRPSConfigRequest) ProtoMessage() {}
func (x *GetRoomRPSConfigRequest) ProtoReflect() protoreflect.Message {
mi := &file_proto_game_v1_game_proto_msgTypes[25]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GetRoomRPSConfigRequest.ProtoReflect.Descriptor instead.
func (*GetRoomRPSConfigRequest) Descriptor() ([]byte, []int) {
return file_proto_game_v1_game_proto_rawDescGZIP(), []int{25}
}
func (x *GetRoomRPSConfigRequest) GetMeta() *RequestMeta {
if x != nil {
return x.Meta
}
return nil
}
type RoomRPSConfigResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Config *RoomRPSConfig `protobuf:"bytes,1,opt,name=config,proto3" json:"config,omitempty"`
ServerTimeMs int64 `protobuf:"varint,2,opt,name=server_time_ms,json=serverTimeMs,proto3" json:"server_time_ms,omitempty"`
}
func (x *RoomRPSConfigResponse) Reset() {
*x = RoomRPSConfigResponse{}
mi := &file_proto_game_v1_game_proto_msgTypes[26]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *RoomRPSConfigResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*RoomRPSConfigResponse) ProtoMessage() {}
func (x *RoomRPSConfigResponse) ProtoReflect() protoreflect.Message {
mi := &file_proto_game_v1_game_proto_msgTypes[26]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use RoomRPSConfigResponse.ProtoReflect.Descriptor instead.
func (*RoomRPSConfigResponse) Descriptor() ([]byte, []int) {
return file_proto_game_v1_game_proto_rawDescGZIP(), []int{26}
}
func (x *RoomRPSConfigResponse) GetConfig() *RoomRPSConfig {
if x != nil {
return x.Config
}
return nil
}
func (x *RoomRPSConfigResponse) GetServerTimeMs() int64 {
if x != nil {
return x.ServerTimeMs
}
return 0
}
type CreateRoomRPSChallengeRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Meta *RequestMeta `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
UserId int64 `protobuf:"varint,2,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
RoomId string `protobuf:"bytes,3,opt,name=room_id,json=roomId,proto3" json:"room_id,omitempty"`
RegionId int64 `protobuf:"varint,4,opt,name=region_id,json=regionId,proto3" json:"region_id,omitempty"`
GiftId int64 `protobuf:"varint,5,opt,name=gift_id,json=giftId,proto3" json:"gift_id,omitempty"`
Gesture string `protobuf:"bytes,6,opt,name=gesture,proto3" json:"gesture,omitempty"`
GiftIdText string `protobuf:"bytes,7,opt,name=gift_id_text,json=giftIdText,proto3" json:"gift_id_text,omitempty"`
}
func (x *CreateRoomRPSChallengeRequest) Reset() {
*x = CreateRoomRPSChallengeRequest{}
mi := &file_proto_game_v1_game_proto_msgTypes[27]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *CreateRoomRPSChallengeRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CreateRoomRPSChallengeRequest) ProtoMessage() {}
func (x *CreateRoomRPSChallengeRequest) ProtoReflect() protoreflect.Message {
mi := &file_proto_game_v1_game_proto_msgTypes[27]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CreateRoomRPSChallengeRequest.ProtoReflect.Descriptor instead.
func (*CreateRoomRPSChallengeRequest) Descriptor() ([]byte, []int) {
return file_proto_game_v1_game_proto_rawDescGZIP(), []int{27}
}
func (x *CreateRoomRPSChallengeRequest) GetMeta() *RequestMeta {
if x != nil {
return x.Meta
}
return nil
}
func (x *CreateRoomRPSChallengeRequest) GetUserId() int64 {
if x != nil {
return x.UserId
}
return 0
}
func (x *CreateRoomRPSChallengeRequest) GetRoomId() string {
if x != nil {
return x.RoomId
}
return ""
}
func (x *CreateRoomRPSChallengeRequest) GetRegionId() int64 {
if x != nil {
return x.RegionId
}
return 0
}
func (x *CreateRoomRPSChallengeRequest) GetGiftId() int64 {
if x != nil {
return x.GiftId
}
return 0
}
func (x *CreateRoomRPSChallengeRequest) GetGesture() string {
if x != nil {
return x.Gesture
}
return ""
}
func (x *CreateRoomRPSChallengeRequest) GetGiftIdText() string {
if x != nil {
return x.GiftIdText
}
return ""
}
type AcceptRoomRPSChallengeRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Meta *RequestMeta `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
UserId int64 `protobuf:"varint,2,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
ChallengeId string `protobuf:"bytes,3,opt,name=challenge_id,json=challengeId,proto3" json:"challenge_id,omitempty"`
Gesture string `protobuf:"bytes,4,opt,name=gesture,proto3" json:"gesture,omitempty"`
}
func (x *AcceptRoomRPSChallengeRequest) Reset() {
*x = AcceptRoomRPSChallengeRequest{}
mi := &file_proto_game_v1_game_proto_msgTypes[28]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *AcceptRoomRPSChallengeRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*AcceptRoomRPSChallengeRequest) ProtoMessage() {}
func (x *AcceptRoomRPSChallengeRequest) ProtoReflect() protoreflect.Message {
mi := &file_proto_game_v1_game_proto_msgTypes[28]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use AcceptRoomRPSChallengeRequest.ProtoReflect.Descriptor instead.
func (*AcceptRoomRPSChallengeRequest) Descriptor() ([]byte, []int) {
return file_proto_game_v1_game_proto_rawDescGZIP(), []int{28}
}
func (x *AcceptRoomRPSChallengeRequest) GetMeta() *RequestMeta {
if x != nil {
return x.Meta
}
return nil
}
func (x *AcceptRoomRPSChallengeRequest) GetUserId() int64 {
if x != nil {
return x.UserId
}
return 0
}
func (x *AcceptRoomRPSChallengeRequest) GetChallengeId() string {
if x != nil {
return x.ChallengeId
}
return ""
}
func (x *AcceptRoomRPSChallengeRequest) GetGesture() string {
if x != nil {
return x.Gesture
}
return ""
}
type GetRoomRPSChallengeRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Meta *RequestMeta `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
UserId int64 `protobuf:"varint,2,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
ChallengeId string `protobuf:"bytes,3,opt,name=challenge_id,json=challengeId,proto3" json:"challenge_id,omitempty"`
}
func (x *GetRoomRPSChallengeRequest) Reset() {
*x = GetRoomRPSChallengeRequest{}
mi := &file_proto_game_v1_game_proto_msgTypes[29]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *GetRoomRPSChallengeRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetRoomRPSChallengeRequest) ProtoMessage() {}
func (x *GetRoomRPSChallengeRequest) ProtoReflect() protoreflect.Message {
mi := &file_proto_game_v1_game_proto_msgTypes[29]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GetRoomRPSChallengeRequest.ProtoReflect.Descriptor instead.
func (*GetRoomRPSChallengeRequest) Descriptor() ([]byte, []int) {
return file_proto_game_v1_game_proto_rawDescGZIP(), []int{29}
}
func (x *GetRoomRPSChallengeRequest) GetMeta() *RequestMeta {
if x != nil {
return x.Meta
}
return nil
}
func (x *GetRoomRPSChallengeRequest) GetUserId() int64 {
if x != nil {
return x.UserId
}
return 0
}
func (x *GetRoomRPSChallengeRequest) GetChallengeId() string {
if x != nil {
return x.ChallengeId
}
return ""
}
type ListRoomRPSChallengesRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Meta *RequestMeta `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
UserId int64 `protobuf:"varint,2,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
RoomId string `protobuf:"bytes,3,opt,name=room_id,json=roomId,proto3" json:"room_id,omitempty"`
Status string `protobuf:"bytes,4,opt,name=status,proto3" json:"status,omitempty"`
InitiatorUserId int64 `protobuf:"varint,5,opt,name=initiator_user_id,json=initiatorUserId,proto3" json:"initiator_user_id,omitempty"`
ChallengerUserId int64 `protobuf:"varint,6,opt,name=challenger_user_id,json=challengerUserId,proto3" json:"challenger_user_id,omitempty"`
StartTimeMs int64 `protobuf:"varint,7,opt,name=start_time_ms,json=startTimeMs,proto3" json:"start_time_ms,omitempty"`
EndTimeMs int64 `protobuf:"varint,8,opt,name=end_time_ms,json=endTimeMs,proto3" json:"end_time_ms,omitempty"`
PageSize int32 `protobuf:"varint,9,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
Cursor string `protobuf:"bytes,10,opt,name=cursor,proto3" json:"cursor,omitempty"`
}
func (x *ListRoomRPSChallengesRequest) Reset() {
*x = ListRoomRPSChallengesRequest{}
mi := &file_proto_game_v1_game_proto_msgTypes[30]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *ListRoomRPSChallengesRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ListRoomRPSChallengesRequest) ProtoMessage() {}
func (x *ListRoomRPSChallengesRequest) ProtoReflect() protoreflect.Message {
mi := &file_proto_game_v1_game_proto_msgTypes[30]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ListRoomRPSChallengesRequest.ProtoReflect.Descriptor instead.
func (*ListRoomRPSChallengesRequest) Descriptor() ([]byte, []int) {
return file_proto_game_v1_game_proto_rawDescGZIP(), []int{30}
}
func (x *ListRoomRPSChallengesRequest) GetMeta() *RequestMeta {
if x != nil {
return x.Meta
}
return nil
}
func (x *ListRoomRPSChallengesRequest) GetUserId() int64 {
if x != nil {
return x.UserId
}
return 0
}
func (x *ListRoomRPSChallengesRequest) GetRoomId() string {
if x != nil {
return x.RoomId
}
return ""
}
func (x *ListRoomRPSChallengesRequest) GetStatus() string {
if x != nil {
return x.Status
}
return ""
}
func (x *ListRoomRPSChallengesRequest) GetInitiatorUserId() int64 {
if x != nil {
return x.InitiatorUserId
}
return 0
}
func (x *ListRoomRPSChallengesRequest) GetChallengerUserId() int64 {
if x != nil {
return x.ChallengerUserId
}
return 0
}
func (x *ListRoomRPSChallengesRequest) GetStartTimeMs() int64 {
if x != nil {
return x.StartTimeMs
}
return 0
}
func (x *ListRoomRPSChallengesRequest) GetEndTimeMs() int64 {
if x != nil {
return x.EndTimeMs
}
return 0
}
func (x *ListRoomRPSChallengesRequest) GetPageSize() int32 {
if x != nil {
return x.PageSize
}
return 0
}
func (x *ListRoomRPSChallengesRequest) GetCursor() string {
if x != nil {
return x.Cursor
}
return ""
}
type RoomRPSChallengeResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Challenge *RoomRPSChallenge `protobuf:"bytes,1,opt,name=challenge,proto3" json:"challenge,omitempty"`
ServerTimeMs int64 `protobuf:"varint,2,opt,name=server_time_ms,json=serverTimeMs,proto3" json:"server_time_ms,omitempty"`
}
func (x *RoomRPSChallengeResponse) Reset() {
*x = RoomRPSChallengeResponse{}
mi := &file_proto_game_v1_game_proto_msgTypes[31]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *RoomRPSChallengeResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*RoomRPSChallengeResponse) ProtoMessage() {}
func (x *RoomRPSChallengeResponse) ProtoReflect() protoreflect.Message {
mi := &file_proto_game_v1_game_proto_msgTypes[31]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use RoomRPSChallengeResponse.ProtoReflect.Descriptor instead.
func (*RoomRPSChallengeResponse) Descriptor() ([]byte, []int) {
return file_proto_game_v1_game_proto_rawDescGZIP(), []int{31}
}
func (x *RoomRPSChallengeResponse) GetChallenge() *RoomRPSChallenge {
if x != nil {
return x.Challenge
}
return nil
}
func (x *RoomRPSChallengeResponse) GetServerTimeMs() int64 {
if x != nil {
return x.ServerTimeMs
}
return 0
}
type ListRoomRPSChallengesResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Challenges []*RoomRPSChallenge `protobuf:"bytes,1,rep,name=challenges,proto3" json:"challenges,omitempty"`
NextCursor string `protobuf:"bytes,2,opt,name=next_cursor,json=nextCursor,proto3" json:"next_cursor,omitempty"`
PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
ServerTimeMs int64 `protobuf:"varint,4,opt,name=server_time_ms,json=serverTimeMs,proto3" json:"server_time_ms,omitempty"`
}
func (x *ListRoomRPSChallengesResponse) Reset() {
*x = ListRoomRPSChallengesResponse{}
mi := &file_proto_game_v1_game_proto_msgTypes[32]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *ListRoomRPSChallengesResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ListRoomRPSChallengesResponse) ProtoMessage() {}
func (x *ListRoomRPSChallengesResponse) ProtoReflect() protoreflect.Message {
mi := &file_proto_game_v1_game_proto_msgTypes[32]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ListRoomRPSChallengesResponse.ProtoReflect.Descriptor instead.
func (*ListRoomRPSChallengesResponse) Descriptor() ([]byte, []int) {
return file_proto_game_v1_game_proto_rawDescGZIP(), []int{32}
}
func (x *ListRoomRPSChallengesResponse) GetChallenges() []*RoomRPSChallenge {
if x != nil {
return x.Challenges
}
return nil
}
func (x *ListRoomRPSChallengesResponse) GetNextCursor() string {
if x != nil {
return x.NextCursor
}
return ""
}
func (x *ListRoomRPSChallengesResponse) GetPageSize() int32 {
if x != nil {
return x.PageSize
}
return 0
}
func (x *ListRoomRPSChallengesResponse) GetServerTimeMs() int64 {
if x != nil {
return x.ServerTimeMs
}
return 0
}
type UpdateRoomRPSConfigRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Meta *RequestMeta `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
Config *RoomRPSConfig `protobuf:"bytes,2,opt,name=config,proto3" json:"config,omitempty"`
}
func (x *UpdateRoomRPSConfigRequest) Reset() {
*x = UpdateRoomRPSConfigRequest{}
mi := &file_proto_game_v1_game_proto_msgTypes[33]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *UpdateRoomRPSConfigRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*UpdateRoomRPSConfigRequest) ProtoMessage() {}
func (x *UpdateRoomRPSConfigRequest) ProtoReflect() protoreflect.Message {
mi := &file_proto_game_v1_game_proto_msgTypes[33]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use UpdateRoomRPSConfigRequest.ProtoReflect.Descriptor instead.
func (*UpdateRoomRPSConfigRequest) Descriptor() ([]byte, []int) {
return file_proto_game_v1_game_proto_rawDescGZIP(), []int{33}
}
func (x *UpdateRoomRPSConfigRequest) GetMeta() *RequestMeta {
if x != nil {
return x.Meta
}
return nil
}
func (x *UpdateRoomRPSConfigRequest) GetConfig() *RoomRPSConfig {
if x != nil {
return x.Config
}
return nil
}
type RetryRoomRPSSettlementRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Meta *RequestMeta `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
ChallengeId string `protobuf:"bytes,2,opt,name=challenge_id,json=challengeId,proto3" json:"challenge_id,omitempty"`
}
func (x *RetryRoomRPSSettlementRequest) Reset() {
*x = RetryRoomRPSSettlementRequest{}
mi := &file_proto_game_v1_game_proto_msgTypes[34]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *RetryRoomRPSSettlementRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*RetryRoomRPSSettlementRequest) ProtoMessage() {}
func (x *RetryRoomRPSSettlementRequest) ProtoReflect() protoreflect.Message {
mi := &file_proto_game_v1_game_proto_msgTypes[34]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use RetryRoomRPSSettlementRequest.ProtoReflect.Descriptor instead.
func (*RetryRoomRPSSettlementRequest) Descriptor() ([]byte, []int) {
return file_proto_game_v1_game_proto_rawDescGZIP(), []int{34}
}
func (x *RetryRoomRPSSettlementRequest) GetMeta() *RequestMeta {
if x != nil {
return x.Meta
}
return nil
}
func (x *RetryRoomRPSSettlementRequest) GetChallengeId() string {
if x != nil {
return x.ChallengeId
}
return ""
}
type ExpireRoomRPSChallengeRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Meta *RequestMeta `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
ChallengeId string `protobuf:"bytes,2,opt,name=challenge_id,json=challengeId,proto3" json:"challenge_id,omitempty"`
}
func (x *ExpireRoomRPSChallengeRequest) Reset() {
*x = ExpireRoomRPSChallengeRequest{}
mi := &file_proto_game_v1_game_proto_msgTypes[35]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *ExpireRoomRPSChallengeRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ExpireRoomRPSChallengeRequest) ProtoMessage() {}
func (x *ExpireRoomRPSChallengeRequest) ProtoReflect() protoreflect.Message {
mi := &file_proto_game_v1_game_proto_msgTypes[35]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ExpireRoomRPSChallengeRequest.ProtoReflect.Descriptor instead.
func (*ExpireRoomRPSChallengeRequest) Descriptor() ([]byte, []int) {
return file_proto_game_v1_game_proto_rawDescGZIP(), []int{35}
}
func (x *ExpireRoomRPSChallengeRequest) GetMeta() *RequestMeta {
if x != nil {
return x.Meta
}
return nil
}
func (x *ExpireRoomRPSChallengeRequest) GetChallengeId() string {
if x != nil {
return x.ChallengeId
}
return ""
}
type CreateDiceMatchRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Meta *RequestMeta `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
UserId int64 `protobuf:"varint,2,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
GameId string `protobuf:"bytes,3,opt,name=game_id,json=gameId,proto3" json:"game_id,omitempty"`
RoomId string `protobuf:"bytes,4,opt,name=room_id,json=roomId,proto3" json:"room_id,omitempty"`
RegionId int64 `protobuf:"varint,5,opt,name=region_id,json=regionId,proto3" json:"region_id,omitempty"`
StakeCoin int64 `protobuf:"varint,6,opt,name=stake_coin,json=stakeCoin,proto3" json:"stake_coin,omitempty"`
MinPlayers int32 `protobuf:"varint,7,opt,name=min_players,json=minPlayers,proto3" json:"min_players,omitempty"`
MaxPlayers int32 `protobuf:"varint,8,opt,name=max_players,json=maxPlayers,proto3" json:"max_players,omitempty"`
RpsGesture string `protobuf:"bytes,9,opt,name=rps_gesture,json=rpsGesture,proto3" json:"rps_gesture,omitempty"`
}
func (x *CreateDiceMatchRequest) Reset() {
*x = CreateDiceMatchRequest{}
mi := &file_proto_game_v1_game_proto_msgTypes[36]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *CreateDiceMatchRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CreateDiceMatchRequest) ProtoMessage() {}
func (x *CreateDiceMatchRequest) ProtoReflect() protoreflect.Message {
mi := &file_proto_game_v1_game_proto_msgTypes[36]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CreateDiceMatchRequest.ProtoReflect.Descriptor instead.
func (*CreateDiceMatchRequest) Descriptor() ([]byte, []int) {
return file_proto_game_v1_game_proto_rawDescGZIP(), []int{36}
}
func (x *CreateDiceMatchRequest) GetMeta() *RequestMeta {
if x != nil {
return x.Meta
}
return nil
}
func (x *CreateDiceMatchRequest) GetUserId() int64 {
if x != nil {
return x.UserId
}
return 0
}
func (x *CreateDiceMatchRequest) GetGameId() string {
if x != nil {
return x.GameId
}
return ""
}
func (x *CreateDiceMatchRequest) GetRoomId() string {
if x != nil {
return x.RoomId
}
return ""
}
func (x *CreateDiceMatchRequest) GetRegionId() int64 {
if x != nil {
return x.RegionId
}
return 0
}
func (x *CreateDiceMatchRequest) GetStakeCoin() int64 {
if x != nil {
return x.StakeCoin
}
return 0
}
func (x *CreateDiceMatchRequest) GetMinPlayers() int32 {
if x != nil {
return x.MinPlayers
}
return 0
}
func (x *CreateDiceMatchRequest) GetMaxPlayers() int32 {
if x != nil {
return x.MaxPlayers
}
return 0
}
func (x *CreateDiceMatchRequest) GetRpsGesture() string {
if x != nil {
return x.RpsGesture
}
return ""
}
type JoinDiceMatchRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Meta *RequestMeta `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
UserId int64 `protobuf:"varint,2,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
MatchId string `protobuf:"bytes,3,opt,name=match_id,json=matchId,proto3" json:"match_id,omitempty"`
GameId string `protobuf:"bytes,4,opt,name=game_id,json=gameId,proto3" json:"game_id,omitempty"`
RpsGesture string `protobuf:"bytes,5,opt,name=rps_gesture,json=rpsGesture,proto3" json:"rps_gesture,omitempty"`
}
func (x *JoinDiceMatchRequest) Reset() {
*x = JoinDiceMatchRequest{}
mi := &file_proto_game_v1_game_proto_msgTypes[37]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *JoinDiceMatchRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*JoinDiceMatchRequest) ProtoMessage() {}
func (x *JoinDiceMatchRequest) ProtoReflect() protoreflect.Message {
mi := &file_proto_game_v1_game_proto_msgTypes[37]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use JoinDiceMatchRequest.ProtoReflect.Descriptor instead.
func (*JoinDiceMatchRequest) Descriptor() ([]byte, []int) {
return file_proto_game_v1_game_proto_rawDescGZIP(), []int{37}
}
func (x *JoinDiceMatchRequest) GetMeta() *RequestMeta {
if x != nil {
return x.Meta
}
return nil
}
func (x *JoinDiceMatchRequest) GetUserId() int64 {
if x != nil {
return x.UserId
}
return 0
}
func (x *JoinDiceMatchRequest) GetMatchId() string {
if x != nil {
return x.MatchId
}
return ""
}
func (x *JoinDiceMatchRequest) GetGameId() string {
if x != nil {
return x.GameId
}
return ""
}
func (x *JoinDiceMatchRequest) GetRpsGesture() string {
if x != nil {
return x.RpsGesture
}
return ""
}
type GetDiceMatchRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Meta *RequestMeta `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
UserId int64 `protobuf:"varint,2,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
MatchId string `protobuf:"bytes,3,opt,name=match_id,json=matchId,proto3" json:"match_id,omitempty"`
GameId string `protobuf:"bytes,4,opt,name=game_id,json=gameId,proto3" json:"game_id,omitempty"`
}
func (x *GetDiceMatchRequest) Reset() {
*x = GetDiceMatchRequest{}
mi := &file_proto_game_v1_game_proto_msgTypes[38]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *GetDiceMatchRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetDiceMatchRequest) ProtoMessage() {}
func (x *GetDiceMatchRequest) ProtoReflect() protoreflect.Message {
mi := &file_proto_game_v1_game_proto_msgTypes[38]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GetDiceMatchRequest.ProtoReflect.Descriptor instead.
func (*GetDiceMatchRequest) Descriptor() ([]byte, []int) {
return file_proto_game_v1_game_proto_rawDescGZIP(), []int{38}
}
func (x *GetDiceMatchRequest) GetMeta() *RequestMeta {
if x != nil {
return x.Meta
}
return nil
}
func (x *GetDiceMatchRequest) GetUserId() int64 {
if x != nil {
return x.UserId
}
return 0
}
func (x *GetDiceMatchRequest) GetMatchId() string {
if x != nil {
return x.MatchId
}
return ""
}
func (x *GetDiceMatchRequest) GetGameId() string {
if x != nil {
return x.GameId
}
return ""
}
type RollDiceMatchRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Meta *RequestMeta `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
UserId int64 `protobuf:"varint,2,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
MatchId string `protobuf:"bytes,3,opt,name=match_id,json=matchId,proto3" json:"match_id,omitempty"`
GameId string `protobuf:"bytes,4,opt,name=game_id,json=gameId,proto3" json:"game_id,omitempty"`
RpsGesture string `protobuf:"bytes,5,opt,name=rps_gesture,json=rpsGesture,proto3" json:"rps_gesture,omitempty"`
}
func (x *RollDiceMatchRequest) Reset() {
*x = RollDiceMatchRequest{}
mi := &file_proto_game_v1_game_proto_msgTypes[39]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *RollDiceMatchRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*RollDiceMatchRequest) ProtoMessage() {}
func (x *RollDiceMatchRequest) ProtoReflect() protoreflect.Message {
mi := &file_proto_game_v1_game_proto_msgTypes[39]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use RollDiceMatchRequest.ProtoReflect.Descriptor instead.
func (*RollDiceMatchRequest) Descriptor() ([]byte, []int) {
return file_proto_game_v1_game_proto_rawDescGZIP(), []int{39}
}
func (x *RollDiceMatchRequest) GetMeta() *RequestMeta {
if x != nil {
return x.Meta
}
return nil
}
func (x *RollDiceMatchRequest) GetUserId() int64 {
if x != nil {
return x.UserId
}
return 0
}
func (x *RollDiceMatchRequest) GetMatchId() string {
if x != nil {
return x.MatchId
}
return ""
}
func (x *RollDiceMatchRequest) GetGameId() string {
if x != nil {
return x.GameId
}
return ""
}
func (x *RollDiceMatchRequest) GetRpsGesture() string {
if x != nil {
return x.RpsGesture
}
return ""
}
type MatchDiceRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Meta *RequestMeta `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
UserId int64 `protobuf:"varint,2,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
GameId string `protobuf:"bytes,3,opt,name=game_id,json=gameId,proto3" json:"game_id,omitempty"`
RoomId string `protobuf:"bytes,4,opt,name=room_id,json=roomId,proto3" json:"room_id,omitempty"`
RegionId int64 `protobuf:"varint,5,opt,name=region_id,json=regionId,proto3" json:"region_id,omitempty"`
StakeCoin int64 `protobuf:"varint,6,opt,name=stake_coin,json=stakeCoin,proto3" json:"stake_coin,omitempty"`
RpsGesture string `protobuf:"bytes,7,opt,name=rps_gesture,json=rpsGesture,proto3" json:"rps_gesture,omitempty"`
}
func (x *MatchDiceRequest) Reset() {
*x = MatchDiceRequest{}
mi := &file_proto_game_v1_game_proto_msgTypes[40]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *MatchDiceRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*MatchDiceRequest) ProtoMessage() {}
func (x *MatchDiceRequest) ProtoReflect() protoreflect.Message {
mi := &file_proto_game_v1_game_proto_msgTypes[40]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use MatchDiceRequest.ProtoReflect.Descriptor instead.
func (*MatchDiceRequest) Descriptor() ([]byte, []int) {
return file_proto_game_v1_game_proto_rawDescGZIP(), []int{40}
}
func (x *MatchDiceRequest) GetMeta() *RequestMeta {
if x != nil {
return x.Meta
}
return nil
}
func (x *MatchDiceRequest) GetUserId() int64 {
if x != nil {
return x.UserId
}
return 0
}
func (x *MatchDiceRequest) GetGameId() string {
if x != nil {
return x.GameId
}
return ""
}
func (x *MatchDiceRequest) GetRoomId() string {
if x != nil {
return x.RoomId
}
return ""
}
func (x *MatchDiceRequest) GetRegionId() int64 {
if x != nil {
return x.RegionId
}
return 0
}
func (x *MatchDiceRequest) GetStakeCoin() int64 {
if x != nil {
return x.StakeCoin
}
return 0
}
func (x *MatchDiceRequest) GetRpsGesture() string {
if x != nil {
return x.RpsGesture
}
return ""
}
type CancelDiceMatchRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Meta *RequestMeta `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
UserId int64 `protobuf:"varint,2,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
MatchId string `protobuf:"bytes,3,opt,name=match_id,json=matchId,proto3" json:"match_id,omitempty"`
GameId string `protobuf:"bytes,4,opt,name=game_id,json=gameId,proto3" json:"game_id,omitempty"`
}
func (x *CancelDiceMatchRequest) Reset() {
*x = CancelDiceMatchRequest{}
mi := &file_proto_game_v1_game_proto_msgTypes[41]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *CancelDiceMatchRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CancelDiceMatchRequest) ProtoMessage() {}
func (x *CancelDiceMatchRequest) ProtoReflect() protoreflect.Message {
mi := &file_proto_game_v1_game_proto_msgTypes[41]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CancelDiceMatchRequest.ProtoReflect.Descriptor instead.
func (*CancelDiceMatchRequest) Descriptor() ([]byte, []int) {
return file_proto_game_v1_game_proto_rawDescGZIP(), []int{41}
}
func (x *CancelDiceMatchRequest) GetMeta() *RequestMeta {
if x != nil {
return x.Meta
}
return nil
}
func (x *CancelDiceMatchRequest) GetUserId() int64 {
if x != nil {
return x.UserId
}
return 0
}
func (x *CancelDiceMatchRequest) GetMatchId() string {
if x != nil {
return x.MatchId
}
return ""
}
func (x *CancelDiceMatchRequest) GetGameId() string {
if x != nil {
return x.GameId
}
return ""
}
type DiceMatchResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Match *DiceMatch `protobuf:"bytes,1,opt,name=match,proto3" json:"match,omitempty"`
ServerTimeMs int64 `protobuf:"varint,2,opt,name=server_time_ms,json=serverTimeMs,proto3" json:"server_time_ms,omitempty"`
}
func (x *DiceMatchResponse) Reset() {
*x = DiceMatchResponse{}
mi := &file_proto_game_v1_game_proto_msgTypes[42]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *DiceMatchResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DiceMatchResponse) ProtoMessage() {}
func (x *DiceMatchResponse) ProtoReflect() protoreflect.Message {
mi := &file_proto_game_v1_game_proto_msgTypes[42]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use DiceMatchResponse.ProtoReflect.Descriptor instead.
func (*DiceMatchResponse) Descriptor() ([]byte, []int) {
return file_proto_game_v1_game_proto_rawDescGZIP(), []int{42}
}
func (x *DiceMatchResponse) GetMatch() *DiceMatch {
if x != nil {
return x.Match
}
return nil
}
func (x *DiceMatchResponse) GetServerTimeMs() int64 {
if x != nil {
return x.ServerTimeMs
}
return 0
}
type CallbackRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Meta *RequestMeta `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
PlatformCode string `protobuf:"bytes,2,opt,name=platform_code,json=platformCode,proto3" json:"platform_code,omitempty"`
Operation string `protobuf:"bytes,3,opt,name=operation,proto3" json:"operation,omitempty"`
RawBody []byte `protobuf:"bytes,4,opt,name=raw_body,json=rawBody,proto3" json:"raw_body,omitempty"`
Headers map[string]string `protobuf:"bytes,5,rep,name=headers,proto3" json:"headers,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
Query map[string]string `protobuf:"bytes,6,rep,name=query,proto3" json:"query,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
RemoteAddr string `protobuf:"bytes,7,opt,name=remote_addr,json=remoteAddr,proto3" json:"remote_addr,omitempty"`
}
func (x *CallbackRequest) Reset() {
*x = CallbackRequest{}
mi := &file_proto_game_v1_game_proto_msgTypes[43]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *CallbackRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CallbackRequest) ProtoMessage() {}
func (x *CallbackRequest) ProtoReflect() protoreflect.Message {
mi := &file_proto_game_v1_game_proto_msgTypes[43]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CallbackRequest.ProtoReflect.Descriptor instead.
func (*CallbackRequest) Descriptor() ([]byte, []int) {
return file_proto_game_v1_game_proto_rawDescGZIP(), []int{43}
}
func (x *CallbackRequest) GetMeta() *RequestMeta {
if x != nil {
return x.Meta
}
return nil
}
func (x *CallbackRequest) GetPlatformCode() string {
if x != nil {
return x.PlatformCode
}
return ""
}
func (x *CallbackRequest) GetOperation() string {
if x != nil {
return x.Operation
}
return ""
}
func (x *CallbackRequest) GetRawBody() []byte {
if x != nil {
return x.RawBody
}
return nil
}
func (x *CallbackRequest) GetHeaders() map[string]string {
if x != nil {
return x.Headers
}
return nil
}
func (x *CallbackRequest) GetQuery() map[string]string {
if x != nil {
return x.Query
}
return nil
}
func (x *CallbackRequest) GetRemoteAddr() string {
if x != nil {
return x.RemoteAddr
}
return ""
}
type CallbackResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
RawBody []byte `protobuf:"bytes,1,opt,name=raw_body,json=rawBody,proto3" json:"raw_body,omitempty"`
ContentType string `protobuf:"bytes,2,opt,name=content_type,json=contentType,proto3" json:"content_type,omitempty"`
}
func (x *CallbackResponse) Reset() {
*x = CallbackResponse{}
mi := &file_proto_game_v1_game_proto_msgTypes[44]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *CallbackResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CallbackResponse) ProtoMessage() {}
func (x *CallbackResponse) ProtoReflect() protoreflect.Message {
mi := &file_proto_game_v1_game_proto_msgTypes[44]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CallbackResponse.ProtoReflect.Descriptor instead.
func (*CallbackResponse) Descriptor() ([]byte, []int) {
return file_proto_game_v1_game_proto_rawDescGZIP(), []int{44}
}
func (x *CallbackResponse) GetRawBody() []byte {
if x != nil {
return x.RawBody
}
return nil
}
func (x *CallbackResponse) GetContentType() string {
if x != nil {
return x.ContentType
}
return ""
}
type CronBatchRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Meta *RequestMeta `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
RunId string `protobuf:"bytes,2,opt,name=run_id,json=runId,proto3" json:"run_id,omitempty"`
WorkerId string `protobuf:"bytes,3,opt,name=worker_id,json=workerId,proto3" json:"worker_id,omitempty"`
BatchSize int32 `protobuf:"varint,4,opt,name=batch_size,json=batchSize,proto3" json:"batch_size,omitempty"`
LockTtlMs int64 `protobuf:"varint,5,opt,name=lock_ttl_ms,json=lockTtlMs,proto3" json:"lock_ttl_ms,omitempty"`
}
func (x *CronBatchRequest) Reset() {
*x = CronBatchRequest{}
mi := &file_proto_game_v1_game_proto_msgTypes[45]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *CronBatchRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CronBatchRequest) ProtoMessage() {}
func (x *CronBatchRequest) ProtoReflect() protoreflect.Message {
mi := &file_proto_game_v1_game_proto_msgTypes[45]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CronBatchRequest.ProtoReflect.Descriptor instead.
func (*CronBatchRequest) Descriptor() ([]byte, []int) {
return file_proto_game_v1_game_proto_rawDescGZIP(), []int{45}
}
func (x *CronBatchRequest) GetMeta() *RequestMeta {
if x != nil {
return x.Meta
}
return nil
}
func (x *CronBatchRequest) GetRunId() string {
if x != nil {
return x.RunId
}
return ""
}
func (x *CronBatchRequest) GetWorkerId() string {
if x != nil {
return x.WorkerId
}
return ""
}
func (x *CronBatchRequest) GetBatchSize() int32 {
if x != nil {
return x.BatchSize
}
return 0
}
func (x *CronBatchRequest) GetLockTtlMs() int64 {
if x != nil {
return x.LockTtlMs
}
return 0
}
type CronBatchResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
ClaimedCount int32 `protobuf:"varint,1,opt,name=claimed_count,json=claimedCount,proto3" json:"claimed_count,omitempty"`
ProcessedCount int32 `protobuf:"varint,2,opt,name=processed_count,json=processedCount,proto3" json:"processed_count,omitempty"`
SuccessCount int32 `protobuf:"varint,3,opt,name=success_count,json=successCount,proto3" json:"success_count,omitempty"`
FailureCount int32 `protobuf:"varint,4,opt,name=failure_count,json=failureCount,proto3" json:"failure_count,omitempty"`
HasMore bool `protobuf:"varint,5,opt,name=has_more,json=hasMore,proto3" json:"has_more,omitempty"`
}
func (x *CronBatchResponse) Reset() {
*x = CronBatchResponse{}
mi := &file_proto_game_v1_game_proto_msgTypes[46]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *CronBatchResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CronBatchResponse) ProtoMessage() {}
func (x *CronBatchResponse) ProtoReflect() protoreflect.Message {
mi := &file_proto_game_v1_game_proto_msgTypes[46]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CronBatchResponse.ProtoReflect.Descriptor instead.
func (*CronBatchResponse) Descriptor() ([]byte, []int) {
return file_proto_game_v1_game_proto_rawDescGZIP(), []int{46}
}
func (x *CronBatchResponse) GetClaimedCount() int32 {
if x != nil {
return x.ClaimedCount
}
return 0
}
func (x *CronBatchResponse) GetProcessedCount() int32 {
if x != nil {
return x.ProcessedCount
}
return 0
}
func (x *CronBatchResponse) GetSuccessCount() int32 {
if x != nil {
return x.SuccessCount
}
return 0
}
func (x *CronBatchResponse) GetFailureCount() int32 {
if x != nil {
return x.FailureCount
}
return 0
}
func (x *CronBatchResponse) GetHasMore() bool {
if x != nil {
return x.HasMore
}
return false
}
type ListPlatformsRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Meta *RequestMeta `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
Status string `protobuf:"bytes,2,opt,name=status,proto3" json:"status,omitempty"`
}
func (x *ListPlatformsRequest) Reset() {
*x = ListPlatformsRequest{}
mi := &file_proto_game_v1_game_proto_msgTypes[47]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *ListPlatformsRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ListPlatformsRequest) ProtoMessage() {}
func (x *ListPlatformsRequest) ProtoReflect() protoreflect.Message {
mi := &file_proto_game_v1_game_proto_msgTypes[47]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ListPlatformsRequest.ProtoReflect.Descriptor instead.
func (*ListPlatformsRequest) Descriptor() ([]byte, []int) {
return file_proto_game_v1_game_proto_rawDescGZIP(), []int{47}
}
func (x *ListPlatformsRequest) GetMeta() *RequestMeta {
if x != nil {
return x.Meta
}
return nil
}
func (x *ListPlatformsRequest) GetStatus() string {
if x != nil {
return x.Status
}
return ""
}
type ListPlatformsResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Platforms []*GamePlatform `protobuf:"bytes,1,rep,name=platforms,proto3" json:"platforms,omitempty"`
ServerTimeMs int64 `protobuf:"varint,2,opt,name=server_time_ms,json=serverTimeMs,proto3" json:"server_time_ms,omitempty"`
}
func (x *ListPlatformsResponse) Reset() {
*x = ListPlatformsResponse{}
mi := &file_proto_game_v1_game_proto_msgTypes[48]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *ListPlatformsResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ListPlatformsResponse) ProtoMessage() {}
func (x *ListPlatformsResponse) ProtoReflect() protoreflect.Message {
mi := &file_proto_game_v1_game_proto_msgTypes[48]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ListPlatformsResponse.ProtoReflect.Descriptor instead.
func (*ListPlatformsResponse) Descriptor() ([]byte, []int) {
return file_proto_game_v1_game_proto_rawDescGZIP(), []int{48}
}
func (x *ListPlatformsResponse) GetPlatforms() []*GamePlatform {
if x != nil {
return x.Platforms
}
return nil
}
func (x *ListPlatformsResponse) GetServerTimeMs() int64 {
if x != nil {
return x.ServerTimeMs
}
return 0
}
type UpsertPlatformRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Meta *RequestMeta `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
Platform *GamePlatform `protobuf:"bytes,2,opt,name=platform,proto3" json:"platform,omitempty"`
}
func (x *UpsertPlatformRequest) Reset() {
*x = UpsertPlatformRequest{}
mi := &file_proto_game_v1_game_proto_msgTypes[49]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *UpsertPlatformRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*UpsertPlatformRequest) ProtoMessage() {}
func (x *UpsertPlatformRequest) ProtoReflect() protoreflect.Message {
mi := &file_proto_game_v1_game_proto_msgTypes[49]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use UpsertPlatformRequest.ProtoReflect.Descriptor instead.
func (*UpsertPlatformRequest) Descriptor() ([]byte, []int) {
return file_proto_game_v1_game_proto_rawDescGZIP(), []int{49}
}
func (x *UpsertPlatformRequest) GetMeta() *RequestMeta {
if x != nil {
return x.Meta
}
return nil
}
func (x *UpsertPlatformRequest) GetPlatform() *GamePlatform {
if x != nil {
return x.Platform
}
return nil
}
type PlatformResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Platform *GamePlatform `protobuf:"bytes,1,opt,name=platform,proto3" json:"platform,omitempty"`
ServerTimeMs int64 `protobuf:"varint,2,opt,name=server_time_ms,json=serverTimeMs,proto3" json:"server_time_ms,omitempty"`
}
func (x *PlatformResponse) Reset() {
*x = PlatformResponse{}
mi := &file_proto_game_v1_game_proto_msgTypes[50]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *PlatformResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*PlatformResponse) ProtoMessage() {}
func (x *PlatformResponse) ProtoReflect() protoreflect.Message {
mi := &file_proto_game_v1_game_proto_msgTypes[50]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use PlatformResponse.ProtoReflect.Descriptor instead.
func (*PlatformResponse) Descriptor() ([]byte, []int) {
return file_proto_game_v1_game_proto_rawDescGZIP(), []int{50}
}
func (x *PlatformResponse) GetPlatform() *GamePlatform {
if x != nil {
return x.Platform
}
return nil
}
func (x *PlatformResponse) GetServerTimeMs() int64 {
if x != nil {
return x.ServerTimeMs
}
return 0
}
type ListCatalogRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Meta *RequestMeta `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
PlatformCode string `protobuf:"bytes,2,opt,name=platform_code,json=platformCode,proto3" json:"platform_code,omitempty"`
Status string `protobuf:"bytes,3,opt,name=status,proto3" json:"status,omitempty"`
PageSize int32 `protobuf:"varint,4,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
Cursor string `protobuf:"bytes,5,opt,name=cursor,proto3" json:"cursor,omitempty"`
}
func (x *ListCatalogRequest) Reset() {
*x = ListCatalogRequest{}
mi := &file_proto_game_v1_game_proto_msgTypes[51]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *ListCatalogRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ListCatalogRequest) ProtoMessage() {}
func (x *ListCatalogRequest) ProtoReflect() protoreflect.Message {
mi := &file_proto_game_v1_game_proto_msgTypes[51]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ListCatalogRequest.ProtoReflect.Descriptor instead.
func (*ListCatalogRequest) Descriptor() ([]byte, []int) {
return file_proto_game_v1_game_proto_rawDescGZIP(), []int{51}
}
func (x *ListCatalogRequest) GetMeta() *RequestMeta {
if x != nil {
return x.Meta
}
return nil
}
func (x *ListCatalogRequest) GetPlatformCode() string {
if x != nil {
return x.PlatformCode
}
return ""
}
func (x *ListCatalogRequest) GetStatus() string {
if x != nil {
return x.Status
}
return ""
}
func (x *ListCatalogRequest) GetPageSize() int32 {
if x != nil {
return x.PageSize
}
return 0
}
func (x *ListCatalogRequest) GetCursor() string {
if x != nil {
return x.Cursor
}
return ""
}
type ListCatalogResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Games []*GameCatalogItem `protobuf:"bytes,1,rep,name=games,proto3" json:"games,omitempty"`
NextCursor string `protobuf:"bytes,2,opt,name=next_cursor,json=nextCursor,proto3" json:"next_cursor,omitempty"`
ServerTimeMs int64 `protobuf:"varint,3,opt,name=server_time_ms,json=serverTimeMs,proto3" json:"server_time_ms,omitempty"`
}
func (x *ListCatalogResponse) Reset() {
*x = ListCatalogResponse{}
mi := &file_proto_game_v1_game_proto_msgTypes[52]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *ListCatalogResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ListCatalogResponse) ProtoMessage() {}
func (x *ListCatalogResponse) ProtoReflect() protoreflect.Message {
mi := &file_proto_game_v1_game_proto_msgTypes[52]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ListCatalogResponse.ProtoReflect.Descriptor instead.
func (*ListCatalogResponse) Descriptor() ([]byte, []int) {
return file_proto_game_v1_game_proto_rawDescGZIP(), []int{52}
}
func (x *ListCatalogResponse) GetGames() []*GameCatalogItem {
if x != nil {
return x.Games
}
return nil
}
func (x *ListCatalogResponse) GetNextCursor() string {
if x != nil {
return x.NextCursor
}
return ""
}
func (x *ListCatalogResponse) GetServerTimeMs() int64 {
if x != nil {
return x.ServerTimeMs
}
return 0
}
type UpsertCatalogRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Meta *RequestMeta `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
Game *GameCatalogItem `protobuf:"bytes,2,opt,name=game,proto3" json:"game,omitempty"`
}
func (x *UpsertCatalogRequest) Reset() {
*x = UpsertCatalogRequest{}
mi := &file_proto_game_v1_game_proto_msgTypes[53]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *UpsertCatalogRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*UpsertCatalogRequest) ProtoMessage() {}
func (x *UpsertCatalogRequest) ProtoReflect() protoreflect.Message {
mi := &file_proto_game_v1_game_proto_msgTypes[53]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use UpsertCatalogRequest.ProtoReflect.Descriptor instead.
func (*UpsertCatalogRequest) Descriptor() ([]byte, []int) {
return file_proto_game_v1_game_proto_rawDescGZIP(), []int{53}
}
func (x *UpsertCatalogRequest) GetMeta() *RequestMeta {
if x != nil {
return x.Meta
}
return nil
}
func (x *UpsertCatalogRequest) GetGame() *GameCatalogItem {
if x != nil {
return x.Game
}
return nil
}
type CatalogResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Game *GameCatalogItem `protobuf:"bytes,1,opt,name=game,proto3" json:"game,omitempty"`
ServerTimeMs int64 `protobuf:"varint,2,opt,name=server_time_ms,json=serverTimeMs,proto3" json:"server_time_ms,omitempty"`
}
func (x *CatalogResponse) Reset() {
*x = CatalogResponse{}
mi := &file_proto_game_v1_game_proto_msgTypes[54]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *CatalogResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CatalogResponse) ProtoMessage() {}
func (x *CatalogResponse) ProtoReflect() protoreflect.Message {
mi := &file_proto_game_v1_game_proto_msgTypes[54]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CatalogResponse.ProtoReflect.Descriptor instead.
func (*CatalogResponse) Descriptor() ([]byte, []int) {
return file_proto_game_v1_game_proto_rawDescGZIP(), []int{54}
}
func (x *CatalogResponse) GetGame() *GameCatalogItem {
if x != nil {
return x.Game
}
return nil
}
func (x *CatalogResponse) GetServerTimeMs() int64 {
if x != nil {
return x.ServerTimeMs
}
return 0
}
type SetGameStatusRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Meta *RequestMeta `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
GameId string `protobuf:"bytes,2,opt,name=game_id,json=gameId,proto3" json:"game_id,omitempty"`
Status string `protobuf:"bytes,3,opt,name=status,proto3" json:"status,omitempty"`
}
func (x *SetGameStatusRequest) Reset() {
*x = SetGameStatusRequest{}
mi := &file_proto_game_v1_game_proto_msgTypes[55]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *SetGameStatusRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SetGameStatusRequest) ProtoMessage() {}
func (x *SetGameStatusRequest) ProtoReflect() protoreflect.Message {
mi := &file_proto_game_v1_game_proto_msgTypes[55]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use SetGameStatusRequest.ProtoReflect.Descriptor instead.
func (*SetGameStatusRequest) Descriptor() ([]byte, []int) {
return file_proto_game_v1_game_proto_rawDescGZIP(), []int{55}
}
func (x *SetGameStatusRequest) GetMeta() *RequestMeta {
if x != nil {
return x.Meta
}
return nil
}
func (x *SetGameStatusRequest) GetGameId() string {
if x != nil {
return x.GameId
}
return ""
}
func (x *SetGameStatusRequest) GetStatus() string {
if x != nil {
return x.Status
}
return ""
}
type DeleteCatalogRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Meta *RequestMeta `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
GameId string `protobuf:"bytes,2,opt,name=game_id,json=gameId,proto3" json:"game_id,omitempty"`
}
func (x *DeleteCatalogRequest) Reset() {
*x = DeleteCatalogRequest{}
mi := &file_proto_game_v1_game_proto_msgTypes[56]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *DeleteCatalogRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DeleteCatalogRequest) ProtoMessage() {}
func (x *DeleteCatalogRequest) ProtoReflect() protoreflect.Message {
mi := &file_proto_game_v1_game_proto_msgTypes[56]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use DeleteCatalogRequest.ProtoReflect.Descriptor instead.
func (*DeleteCatalogRequest) Descriptor() ([]byte, []int) {
return file_proto_game_v1_game_proto_rawDescGZIP(), []int{56}
}
func (x *DeleteCatalogRequest) GetMeta() *RequestMeta {
if x != nil {
return x.Meta
}
return nil
}
func (x *DeleteCatalogRequest) GetGameId() string {
if x != nil {
return x.GameId
}
return ""
}
type DeleteCatalogResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
ServerTimeMs int64 `protobuf:"varint,1,opt,name=server_time_ms,json=serverTimeMs,proto3" json:"server_time_ms,omitempty"`
}
func (x *DeleteCatalogResponse) Reset() {
*x = DeleteCatalogResponse{}
mi := &file_proto_game_v1_game_proto_msgTypes[57]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *DeleteCatalogResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DeleteCatalogResponse) ProtoMessage() {}
func (x *DeleteCatalogResponse) ProtoReflect() protoreflect.Message {
mi := &file_proto_game_v1_game_proto_msgTypes[57]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use DeleteCatalogResponse.ProtoReflect.Descriptor instead.
func (*DeleteCatalogResponse) Descriptor() ([]byte, []int) {
return file_proto_game_v1_game_proto_rawDescGZIP(), []int{57}
}
func (x *DeleteCatalogResponse) GetServerTimeMs() int64 {
if x != nil {
return x.ServerTimeMs
}
return 0
}
type ListSelfGamesRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Meta *RequestMeta `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
}
func (x *ListSelfGamesRequest) Reset() {
*x = ListSelfGamesRequest{}
mi := &file_proto_game_v1_game_proto_msgTypes[58]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *ListSelfGamesRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ListSelfGamesRequest) ProtoMessage() {}
func (x *ListSelfGamesRequest) ProtoReflect() protoreflect.Message {
mi := &file_proto_game_v1_game_proto_msgTypes[58]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ListSelfGamesRequest.ProtoReflect.Descriptor instead.
func (*ListSelfGamesRequest) Descriptor() ([]byte, []int) {
return file_proto_game_v1_game_proto_rawDescGZIP(), []int{58}
}
func (x *ListSelfGamesRequest) GetMeta() *RequestMeta {
if x != nil {
return x.Meta
}
return nil
}
type ListSelfGamesResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Games []*DiceConfig `protobuf:"bytes,1,rep,name=games,proto3" json:"games,omitempty"`
ServerTimeMs int64 `protobuf:"varint,2,opt,name=server_time_ms,json=serverTimeMs,proto3" json:"server_time_ms,omitempty"`
}
func (x *ListSelfGamesResponse) Reset() {
*x = ListSelfGamesResponse{}
mi := &file_proto_game_v1_game_proto_msgTypes[59]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *ListSelfGamesResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ListSelfGamesResponse) ProtoMessage() {}
func (x *ListSelfGamesResponse) ProtoReflect() protoreflect.Message {
mi := &file_proto_game_v1_game_proto_msgTypes[59]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ListSelfGamesResponse.ProtoReflect.Descriptor instead.
func (*ListSelfGamesResponse) Descriptor() ([]byte, []int) {
return file_proto_game_v1_game_proto_rawDescGZIP(), []int{59}
}
func (x *ListSelfGamesResponse) GetGames() []*DiceConfig {
if x != nil {
return x.Games
}
return nil
}
func (x *ListSelfGamesResponse) GetServerTimeMs() int64 {
if x != nil {
return x.ServerTimeMs
}
return 0
}
type UpdateDiceConfigRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Meta *RequestMeta `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
Config *DiceConfig `protobuf:"bytes,2,opt,name=config,proto3" json:"config,omitempty"`
}
func (x *UpdateDiceConfigRequest) Reset() {
*x = UpdateDiceConfigRequest{}
mi := &file_proto_game_v1_game_proto_msgTypes[60]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *UpdateDiceConfigRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*UpdateDiceConfigRequest) ProtoMessage() {}
func (x *UpdateDiceConfigRequest) ProtoReflect() protoreflect.Message {
mi := &file_proto_game_v1_game_proto_msgTypes[60]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use UpdateDiceConfigRequest.ProtoReflect.Descriptor instead.
func (*UpdateDiceConfigRequest) Descriptor() ([]byte, []int) {
return file_proto_game_v1_game_proto_rawDescGZIP(), []int{60}
}
func (x *UpdateDiceConfigRequest) GetMeta() *RequestMeta {
if x != nil {
return x.Meta
}
return nil
}
func (x *UpdateDiceConfigRequest) GetConfig() *DiceConfig {
if x != nil {
return x.Config
}
return nil
}
type SelfGameNewUserPolicy struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
AppCode string `protobuf:"bytes,1,opt,name=app_code,json=appCode,proto3" json:"app_code,omitempty"`
GameId string `protobuf:"bytes,2,opt,name=game_id,json=gameId,proto3" json:"game_id,omitempty"`
Enabled bool `protobuf:"varint,3,opt,name=enabled,proto3" json:"enabled,omitempty"`
ProtectionRounds int32 `protobuf:"varint,4,opt,name=protection_rounds,json=protectionRounds,proto3" json:"protection_rounds,omitempty"`
ProtectionHours int32 `protobuf:"varint,5,opt,name=protection_hours,json=protectionHours,proto3" json:"protection_hours,omitempty"`
MaxStakeCoin int64 `protobuf:"varint,6,opt,name=max_stake_coin,json=maxStakeCoin,proto3" json:"max_stake_coin,omitempty"`
LifetimeSubsidyQuotaCoin int64 `protobuf:"varint,7,opt,name=lifetime_subsidy_quota_coin,json=lifetimeSubsidyQuotaCoin,proto3" json:"lifetime_subsidy_quota_coin,omitempty"`
Day1SubsidyQuotaCoin int64 `protobuf:"varint,8,opt,name=day1_subsidy_quota_coin,json=day1SubsidyQuotaCoin,proto3" json:"day1_subsidy_quota_coin,omitempty"`
SingleRoundSubsidyCapCoin int64 `protobuf:"varint,9,opt,name=single_round_subsidy_cap_coin,json=singleRoundSubsidyCapCoin,proto3" json:"single_round_subsidy_cap_coin,omitempty"`
StrategyLevel string `protobuf:"bytes,10,opt,name=strategy_level,json=strategyLevel,proto3" json:"strategy_level,omitempty"`
LoseStreakProtectionEnabled bool `protobuf:"varint,11,opt,name=lose_streak_protection_enabled,json=loseStreakProtectionEnabled,proto3" json:"lose_streak_protection_enabled,omitempty"`
LoseStreakTrigger int32 `protobuf:"varint,12,opt,name=lose_streak_trigger,json=loseStreakTrigger,proto3" json:"lose_streak_trigger,omitempty"`
CreatedAtMs int64 `protobuf:"varint,13,opt,name=created_at_ms,json=createdAtMs,proto3" json:"created_at_ms,omitempty"`
UpdatedAtMs int64 `protobuf:"varint,14,opt,name=updated_at_ms,json=updatedAtMs,proto3" json:"updated_at_ms,omitempty"`
NormalPhaseTargetWinRatePercent int32 `protobuf:"varint,15,opt,name=normal_phase_target_win_rate_percent,json=normalPhaseTargetWinRatePercent,proto3" json:"normal_phase_target_win_rate_percent,omitempty"`
BlackPoolRobotForceWinEnabled bool `protobuf:"varint,16,opt,name=black_pool_robot_force_win_enabled,json=blackPoolRobotForceWinEnabled,proto3" json:"black_pool_robot_force_win_enabled,omitempty"`
}
func (x *SelfGameNewUserPolicy) Reset() {
*x = SelfGameNewUserPolicy{}
mi := &file_proto_game_v1_game_proto_msgTypes[61]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *SelfGameNewUserPolicy) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SelfGameNewUserPolicy) ProtoMessage() {}
func (x *SelfGameNewUserPolicy) ProtoReflect() protoreflect.Message {
mi := &file_proto_game_v1_game_proto_msgTypes[61]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use SelfGameNewUserPolicy.ProtoReflect.Descriptor instead.
func (*SelfGameNewUserPolicy) Descriptor() ([]byte, []int) {
return file_proto_game_v1_game_proto_rawDescGZIP(), []int{61}
}
func (x *SelfGameNewUserPolicy) GetAppCode() string {
if x != nil {
return x.AppCode
}
return ""
}
func (x *SelfGameNewUserPolicy) GetGameId() string {
if x != nil {
return x.GameId
}
return ""
}
func (x *SelfGameNewUserPolicy) GetEnabled() bool {
if x != nil {
return x.Enabled
}
return false
}
func (x *SelfGameNewUserPolicy) GetProtectionRounds() int32 {
if x != nil {
return x.ProtectionRounds
}
return 0
}
func (x *SelfGameNewUserPolicy) GetProtectionHours() int32 {
if x != nil {
return x.ProtectionHours
}
return 0
}
func (x *SelfGameNewUserPolicy) GetMaxStakeCoin() int64 {
if x != nil {
return x.MaxStakeCoin
}
return 0
}
func (x *SelfGameNewUserPolicy) GetLifetimeSubsidyQuotaCoin() int64 {
if x != nil {
return x.LifetimeSubsidyQuotaCoin
}
return 0
}
func (x *SelfGameNewUserPolicy) GetDay1SubsidyQuotaCoin() int64 {
if x != nil {
return x.Day1SubsidyQuotaCoin
}
return 0
}
func (x *SelfGameNewUserPolicy) GetSingleRoundSubsidyCapCoin() int64 {
if x != nil {
return x.SingleRoundSubsidyCapCoin
}
return 0
}
func (x *SelfGameNewUserPolicy) GetStrategyLevel() string {
if x != nil {
return x.StrategyLevel
}
return ""
}
func (x *SelfGameNewUserPolicy) GetLoseStreakProtectionEnabled() bool {
if x != nil {
return x.LoseStreakProtectionEnabled
}
return false
}
func (x *SelfGameNewUserPolicy) GetLoseStreakTrigger() int32 {
if x != nil {
return x.LoseStreakTrigger
}
return 0
}
func (x *SelfGameNewUserPolicy) GetCreatedAtMs() int64 {
if x != nil {
return x.CreatedAtMs
}
return 0
}
func (x *SelfGameNewUserPolicy) GetUpdatedAtMs() int64 {
if x != nil {
return x.UpdatedAtMs
}
return 0
}
func (x *SelfGameNewUserPolicy) GetNormalPhaseTargetWinRatePercent() int32 {
if x != nil {
return x.NormalPhaseTargetWinRatePercent
}
return 0
}
func (x *SelfGameNewUserPolicy) GetBlackPoolRobotForceWinEnabled() bool {
if x != nil {
return x.BlackPoolRobotForceWinEnabled
}
return false
}
type GetSelfGameNewUserPolicyRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Meta *RequestMeta `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
GameId string `protobuf:"bytes,2,opt,name=game_id,json=gameId,proto3" json:"game_id,omitempty"`
}
func (x *GetSelfGameNewUserPolicyRequest) Reset() {
*x = GetSelfGameNewUserPolicyRequest{}
mi := &file_proto_game_v1_game_proto_msgTypes[62]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *GetSelfGameNewUserPolicyRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetSelfGameNewUserPolicyRequest) ProtoMessage() {}
func (x *GetSelfGameNewUserPolicyRequest) ProtoReflect() protoreflect.Message {
mi := &file_proto_game_v1_game_proto_msgTypes[62]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GetSelfGameNewUserPolicyRequest.ProtoReflect.Descriptor instead.
func (*GetSelfGameNewUserPolicyRequest) Descriptor() ([]byte, []int) {
return file_proto_game_v1_game_proto_rawDescGZIP(), []int{62}
}
func (x *GetSelfGameNewUserPolicyRequest) GetMeta() *RequestMeta {
if x != nil {
return x.Meta
}
return nil
}
func (x *GetSelfGameNewUserPolicyRequest) GetGameId() string {
if x != nil {
return x.GameId
}
return ""
}
type UpdateSelfGameNewUserPolicyRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Meta *RequestMeta `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
Policy *SelfGameNewUserPolicy `protobuf:"bytes,2,opt,name=policy,proto3" json:"policy,omitempty"`
}
func (x *UpdateSelfGameNewUserPolicyRequest) Reset() {
*x = UpdateSelfGameNewUserPolicyRequest{}
mi := &file_proto_game_v1_game_proto_msgTypes[63]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *UpdateSelfGameNewUserPolicyRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*UpdateSelfGameNewUserPolicyRequest) ProtoMessage() {}
func (x *UpdateSelfGameNewUserPolicyRequest) ProtoReflect() protoreflect.Message {
mi := &file_proto_game_v1_game_proto_msgTypes[63]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use UpdateSelfGameNewUserPolicyRequest.ProtoReflect.Descriptor instead.
func (*UpdateSelfGameNewUserPolicyRequest) Descriptor() ([]byte, []int) {
return file_proto_game_v1_game_proto_rawDescGZIP(), []int{63}
}
func (x *UpdateSelfGameNewUserPolicyRequest) GetMeta() *RequestMeta {
if x != nil {
return x.Meta
}
return nil
}
func (x *UpdateSelfGameNewUserPolicyRequest) GetPolicy() *SelfGameNewUserPolicy {
if x != nil {
return x.Policy
}
return nil
}
type SelfGameNewUserPolicyResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Policy *SelfGameNewUserPolicy `protobuf:"bytes,1,opt,name=policy,proto3" json:"policy,omitempty"`
ServerTimeMs int64 `protobuf:"varint,2,opt,name=server_time_ms,json=serverTimeMs,proto3" json:"server_time_ms,omitempty"`
}
func (x *SelfGameNewUserPolicyResponse) Reset() {
*x = SelfGameNewUserPolicyResponse{}
mi := &file_proto_game_v1_game_proto_msgTypes[64]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *SelfGameNewUserPolicyResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SelfGameNewUserPolicyResponse) ProtoMessage() {}
func (x *SelfGameNewUserPolicyResponse) ProtoReflect() protoreflect.Message {
mi := &file_proto_game_v1_game_proto_msgTypes[64]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use SelfGameNewUserPolicyResponse.ProtoReflect.Descriptor instead.
func (*SelfGameNewUserPolicyResponse) Descriptor() ([]byte, []int) {
return file_proto_game_v1_game_proto_rawDescGZIP(), []int{64}
}
func (x *SelfGameNewUserPolicyResponse) GetPolicy() *SelfGameNewUserPolicy {
if x != nil {
return x.Policy
}
return nil
}
func (x *SelfGameNewUserPolicyResponse) GetServerTimeMs() int64 {
if x != nil {
return x.ServerTimeMs
}
return 0
}
type SelfGameStakePool struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
AppCode string `protobuf:"bytes,1,opt,name=app_code,json=appCode,proto3" json:"app_code,omitempty"`
GameId string `protobuf:"bytes,2,opt,name=game_id,json=gameId,proto3" json:"game_id,omitempty"`
StakeCoin int64 `protobuf:"varint,3,opt,name=stake_coin,json=stakeCoin,proto3" json:"stake_coin,omitempty"`
BalanceCoin int64 `protobuf:"varint,4,opt,name=balance_coin,json=balanceCoin,proto3" json:"balance_coin,omitempty"`
ReservedCoin int64 `protobuf:"varint,5,opt,name=reserved_coin,json=reservedCoin,proto3" json:"reserved_coin,omitempty"`
AvailableCoin int64 `protobuf:"varint,6,opt,name=available_coin,json=availableCoin,proto3" json:"available_coin,omitempty"`
TargetBalanceCoin int64 `protobuf:"varint,7,opt,name=target_balance_coin,json=targetBalanceCoin,proto3" json:"target_balance_coin,omitempty"`
SafeBalanceCoin int64 `protobuf:"varint,8,opt,name=safe_balance_coin,json=safeBalanceCoin,proto3" json:"safe_balance_coin,omitempty"`
WarningBalanceCoin int64 `protobuf:"varint,9,opt,name=warning_balance_coin,json=warningBalanceCoin,proto3" json:"warning_balance_coin,omitempty"`
DangerBalanceCoin int64 `protobuf:"varint,10,opt,name=danger_balance_coin,json=dangerBalanceCoin,proto3" json:"danger_balance_coin,omitempty"`
Status string `protobuf:"bytes,11,opt,name=status,proto3" json:"status,omitempty"`
PoolLevel string `protobuf:"bytes,12,opt,name=pool_level,json=poolLevel,proto3" json:"pool_level,omitempty"`
RequiredPoolCoin int64 `protobuf:"varint,13,opt,name=required_pool_coin,json=requiredPoolCoin,proto3" json:"required_pool_coin,omitempty"`
HumanWinCapacity int64 `protobuf:"varint,14,opt,name=human_win_capacity,json=humanWinCapacity,proto3" json:"human_win_capacity,omitempty"`
BotMatchEnabled bool `protobuf:"varint,15,opt,name=bot_match_enabled,json=botMatchEnabled,proto3" json:"bot_match_enabled,omitempty"`
BlackReason string `protobuf:"bytes,16,opt,name=black_reason,json=blackReason,proto3" json:"black_reason,omitempty"`
CreatedAtMs int64 `protobuf:"varint,17,opt,name=created_at_ms,json=createdAtMs,proto3" json:"created_at_ms,omitempty"`
UpdatedAtMs int64 `protobuf:"varint,18,opt,name=updated_at_ms,json=updatedAtMs,proto3" json:"updated_at_ms,omitempty"`
}
func (x *SelfGameStakePool) Reset() {
*x = SelfGameStakePool{}
mi := &file_proto_game_v1_game_proto_msgTypes[65]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *SelfGameStakePool) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SelfGameStakePool) ProtoMessage() {}
func (x *SelfGameStakePool) ProtoReflect() protoreflect.Message {
mi := &file_proto_game_v1_game_proto_msgTypes[65]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use SelfGameStakePool.ProtoReflect.Descriptor instead.
func (*SelfGameStakePool) Descriptor() ([]byte, []int) {
return file_proto_game_v1_game_proto_rawDescGZIP(), []int{65}
}
func (x *SelfGameStakePool) GetAppCode() string {
if x != nil {
return x.AppCode
}
return ""
}
func (x *SelfGameStakePool) GetGameId() string {
if x != nil {
return x.GameId
}
return ""
}
func (x *SelfGameStakePool) GetStakeCoin() int64 {
if x != nil {
return x.StakeCoin
}
return 0
}
func (x *SelfGameStakePool) GetBalanceCoin() int64 {
if x != nil {
return x.BalanceCoin
}
return 0
}
func (x *SelfGameStakePool) GetReservedCoin() int64 {
if x != nil {
return x.ReservedCoin
}
return 0
}
func (x *SelfGameStakePool) GetAvailableCoin() int64 {
if x != nil {
return x.AvailableCoin
}
return 0
}
func (x *SelfGameStakePool) GetTargetBalanceCoin() int64 {
if x != nil {
return x.TargetBalanceCoin
}
return 0
}
func (x *SelfGameStakePool) GetSafeBalanceCoin() int64 {
if x != nil {
return x.SafeBalanceCoin
}
return 0
}
func (x *SelfGameStakePool) GetWarningBalanceCoin() int64 {
if x != nil {
return x.WarningBalanceCoin
}
return 0
}
func (x *SelfGameStakePool) GetDangerBalanceCoin() int64 {
if x != nil {
return x.DangerBalanceCoin
}
return 0
}
func (x *SelfGameStakePool) GetStatus() string {
if x != nil {
return x.Status
}
return ""
}
func (x *SelfGameStakePool) GetPoolLevel() string {
if x != nil {
return x.PoolLevel
}
return ""
}
func (x *SelfGameStakePool) GetRequiredPoolCoin() int64 {
if x != nil {
return x.RequiredPoolCoin
}
return 0
}
func (x *SelfGameStakePool) GetHumanWinCapacity() int64 {
if x != nil {
return x.HumanWinCapacity
}
return 0
}
func (x *SelfGameStakePool) GetBotMatchEnabled() bool {
if x != nil {
return x.BotMatchEnabled
}
return false
}
func (x *SelfGameStakePool) GetBlackReason() string {
if x != nil {
return x.BlackReason
}
return ""
}
func (x *SelfGameStakePool) GetCreatedAtMs() int64 {
if x != nil {
return x.CreatedAtMs
}
return 0
}
func (x *SelfGameStakePool) GetUpdatedAtMs() int64 {
if x != nil {
return x.UpdatedAtMs
}
return 0
}
type ListSelfGameStakePoolsRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Meta *RequestMeta `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
GameId string `protobuf:"bytes,2,opt,name=game_id,json=gameId,proto3" json:"game_id,omitempty"`
}
func (x *ListSelfGameStakePoolsRequest) Reset() {
*x = ListSelfGameStakePoolsRequest{}
mi := &file_proto_game_v1_game_proto_msgTypes[66]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *ListSelfGameStakePoolsRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ListSelfGameStakePoolsRequest) ProtoMessage() {}
func (x *ListSelfGameStakePoolsRequest) ProtoReflect() protoreflect.Message {
mi := &file_proto_game_v1_game_proto_msgTypes[66]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ListSelfGameStakePoolsRequest.ProtoReflect.Descriptor instead.
func (*ListSelfGameStakePoolsRequest) Descriptor() ([]byte, []int) {
return file_proto_game_v1_game_proto_rawDescGZIP(), []int{66}
}
func (x *ListSelfGameStakePoolsRequest) GetMeta() *RequestMeta {
if x != nil {
return x.Meta
}
return nil
}
func (x *ListSelfGameStakePoolsRequest) GetGameId() string {
if x != nil {
return x.GameId
}
return ""
}
type UpdateSelfGameStakePoolRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Meta *RequestMeta `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
Pool *SelfGameStakePool `protobuf:"bytes,2,opt,name=pool,proto3" json:"pool,omitempty"`
}
func (x *UpdateSelfGameStakePoolRequest) Reset() {
*x = UpdateSelfGameStakePoolRequest{}
mi := &file_proto_game_v1_game_proto_msgTypes[67]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *UpdateSelfGameStakePoolRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*UpdateSelfGameStakePoolRequest) ProtoMessage() {}
func (x *UpdateSelfGameStakePoolRequest) ProtoReflect() protoreflect.Message {
mi := &file_proto_game_v1_game_proto_msgTypes[67]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use UpdateSelfGameStakePoolRequest.ProtoReflect.Descriptor instead.
func (*UpdateSelfGameStakePoolRequest) Descriptor() ([]byte, []int) {
return file_proto_game_v1_game_proto_rawDescGZIP(), []int{67}
}
func (x *UpdateSelfGameStakePoolRequest) GetMeta() *RequestMeta {
if x != nil {
return x.Meta
}
return nil
}
func (x *UpdateSelfGameStakePoolRequest) GetPool() *SelfGameStakePool {
if x != nil {
return x.Pool
}
return nil
}
type SelfGameStakePoolResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Pool *SelfGameStakePool `protobuf:"bytes,1,opt,name=pool,proto3" json:"pool,omitempty"`
ServerTimeMs int64 `protobuf:"varint,2,opt,name=server_time_ms,json=serverTimeMs,proto3" json:"server_time_ms,omitempty"`
}
func (x *SelfGameStakePoolResponse) Reset() {
*x = SelfGameStakePoolResponse{}
mi := &file_proto_game_v1_game_proto_msgTypes[68]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *SelfGameStakePoolResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SelfGameStakePoolResponse) ProtoMessage() {}
func (x *SelfGameStakePoolResponse) ProtoReflect() protoreflect.Message {
mi := &file_proto_game_v1_game_proto_msgTypes[68]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use SelfGameStakePoolResponse.ProtoReflect.Descriptor instead.
func (*SelfGameStakePoolResponse) Descriptor() ([]byte, []int) {
return file_proto_game_v1_game_proto_rawDescGZIP(), []int{68}
}
func (x *SelfGameStakePoolResponse) GetPool() *SelfGameStakePool {
if x != nil {
return x.Pool
}
return nil
}
func (x *SelfGameStakePoolResponse) GetServerTimeMs() int64 {
if x != nil {
return x.ServerTimeMs
}
return 0
}
type ListSelfGameStakePoolsResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Pools []*SelfGameStakePool `protobuf:"bytes,1,rep,name=pools,proto3" json:"pools,omitempty"`
ServerTimeMs int64 `protobuf:"varint,2,opt,name=server_time_ms,json=serverTimeMs,proto3" json:"server_time_ms,omitempty"`
}
func (x *ListSelfGameStakePoolsResponse) Reset() {
*x = ListSelfGameStakePoolsResponse{}
mi := &file_proto_game_v1_game_proto_msgTypes[69]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *ListSelfGameStakePoolsResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ListSelfGameStakePoolsResponse) ProtoMessage() {}
func (x *ListSelfGameStakePoolsResponse) ProtoReflect() protoreflect.Message {
mi := &file_proto_game_v1_game_proto_msgTypes[69]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ListSelfGameStakePoolsResponse.ProtoReflect.Descriptor instead.
func (*ListSelfGameStakePoolsResponse) Descriptor() ([]byte, []int) {
return file_proto_game_v1_game_proto_rawDescGZIP(), []int{69}
}
func (x *ListSelfGameStakePoolsResponse) GetPools() []*SelfGameStakePool {
if x != nil {
return x.Pools
}
return nil
}
func (x *ListSelfGameStakePoolsResponse) GetServerTimeMs() int64 {
if x != nil {
return x.ServerTimeMs
}
return 0
}
type DicePoolAdjustment struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
AdjustmentId string `protobuf:"bytes,1,opt,name=adjustment_id,json=adjustmentId,proto3" json:"adjustment_id,omitempty"`
GameId string `protobuf:"bytes,2,opt,name=game_id,json=gameId,proto3" json:"game_id,omitempty"`
AmountCoin int64 `protobuf:"varint,3,opt,name=amount_coin,json=amountCoin,proto3" json:"amount_coin,omitempty"`
Direction string `protobuf:"bytes,4,opt,name=direction,proto3" json:"direction,omitempty"`
Reason string `protobuf:"bytes,5,opt,name=reason,proto3" json:"reason,omitempty"`
BalanceAfter int64 `protobuf:"varint,6,opt,name=balance_after,json=balanceAfter,proto3" json:"balance_after,omitempty"`
CreatedAtMs int64 `protobuf:"varint,7,opt,name=created_at_ms,json=createdAtMs,proto3" json:"created_at_ms,omitempty"`
StakeCoin int64 `protobuf:"varint,8,opt,name=stake_coin,json=stakeCoin,proto3" json:"stake_coin,omitempty"`
}
func (x *DicePoolAdjustment) Reset() {
*x = DicePoolAdjustment{}
mi := &file_proto_game_v1_game_proto_msgTypes[70]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *DicePoolAdjustment) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DicePoolAdjustment) ProtoMessage() {}
func (x *DicePoolAdjustment) ProtoReflect() protoreflect.Message {
mi := &file_proto_game_v1_game_proto_msgTypes[70]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use DicePoolAdjustment.ProtoReflect.Descriptor instead.
func (*DicePoolAdjustment) Descriptor() ([]byte, []int) {
return file_proto_game_v1_game_proto_rawDescGZIP(), []int{70}
}
func (x *DicePoolAdjustment) GetAdjustmentId() string {
if x != nil {
return x.AdjustmentId
}
return ""
}
func (x *DicePoolAdjustment) GetGameId() string {
if x != nil {
return x.GameId
}
return ""
}
func (x *DicePoolAdjustment) GetAmountCoin() int64 {
if x != nil {
return x.AmountCoin
}
return 0
}
func (x *DicePoolAdjustment) GetDirection() string {
if x != nil {
return x.Direction
}
return ""
}
func (x *DicePoolAdjustment) GetReason() string {
if x != nil {
return x.Reason
}
return ""
}
func (x *DicePoolAdjustment) GetBalanceAfter() int64 {
if x != nil {
return x.BalanceAfter
}
return 0
}
func (x *DicePoolAdjustment) GetCreatedAtMs() int64 {
if x != nil {
return x.CreatedAtMs
}
return 0
}
func (x *DicePoolAdjustment) GetStakeCoin() int64 {
if x != nil {
return x.StakeCoin
}
return 0
}
type AdjustSelfGameStakePoolRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Meta *RequestMeta `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
GameId string `protobuf:"bytes,2,opt,name=game_id,json=gameId,proto3" json:"game_id,omitempty"`
AmountCoin int64 `protobuf:"varint,3,opt,name=amount_coin,json=amountCoin,proto3" json:"amount_coin,omitempty"`
Direction string `protobuf:"bytes,4,opt,name=direction,proto3" json:"direction,omitempty"`
Reason string `protobuf:"bytes,5,opt,name=reason,proto3" json:"reason,omitempty"`
StakeCoin int64 `protobuf:"varint,6,opt,name=stake_coin,json=stakeCoin,proto3" json:"stake_coin,omitempty"`
}
func (x *AdjustSelfGameStakePoolRequest) Reset() {
*x = AdjustSelfGameStakePoolRequest{}
mi := &file_proto_game_v1_game_proto_msgTypes[71]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *AdjustSelfGameStakePoolRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*AdjustSelfGameStakePoolRequest) ProtoMessage() {}
func (x *AdjustSelfGameStakePoolRequest) ProtoReflect() protoreflect.Message {
mi := &file_proto_game_v1_game_proto_msgTypes[71]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use AdjustSelfGameStakePoolRequest.ProtoReflect.Descriptor instead.
func (*AdjustSelfGameStakePoolRequest) Descriptor() ([]byte, []int) {
return file_proto_game_v1_game_proto_rawDescGZIP(), []int{71}
}
func (x *AdjustSelfGameStakePoolRequest) GetMeta() *RequestMeta {
if x != nil {
return x.Meta
}
return nil
}
func (x *AdjustSelfGameStakePoolRequest) GetGameId() string {
if x != nil {
return x.GameId
}
return ""
}
func (x *AdjustSelfGameStakePoolRequest) GetAmountCoin() int64 {
if x != nil {
return x.AmountCoin
}
return 0
}
func (x *AdjustSelfGameStakePoolRequest) GetDirection() string {
if x != nil {
return x.Direction
}
return ""
}
func (x *AdjustSelfGameStakePoolRequest) GetReason() string {
if x != nil {
return x.Reason
}
return ""
}
func (x *AdjustSelfGameStakePoolRequest) GetStakeCoin() int64 {
if x != nil {
return x.StakeCoin
}
return 0
}
type AdjustSelfGameStakePoolResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Adjustment *DicePoolAdjustment `protobuf:"bytes,1,opt,name=adjustment,proto3" json:"adjustment,omitempty"`
Config *DiceConfig `protobuf:"bytes,2,opt,name=config,proto3" json:"config,omitempty"`
ServerTimeMs int64 `protobuf:"varint,3,opt,name=server_time_ms,json=serverTimeMs,proto3" json:"server_time_ms,omitempty"`
}
func (x *AdjustSelfGameStakePoolResponse) Reset() {
*x = AdjustSelfGameStakePoolResponse{}
mi := &file_proto_game_v1_game_proto_msgTypes[72]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *AdjustSelfGameStakePoolResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*AdjustSelfGameStakePoolResponse) ProtoMessage() {}
func (x *AdjustSelfGameStakePoolResponse) ProtoReflect() protoreflect.Message {
mi := &file_proto_game_v1_game_proto_msgTypes[72]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use AdjustSelfGameStakePoolResponse.ProtoReflect.Descriptor instead.
func (*AdjustSelfGameStakePoolResponse) Descriptor() ([]byte, []int) {
return file_proto_game_v1_game_proto_rawDescGZIP(), []int{72}
}
func (x *AdjustSelfGameStakePoolResponse) GetAdjustment() *DicePoolAdjustment {
if x != nil {
return x.Adjustment
}
return nil
}
func (x *AdjustSelfGameStakePoolResponse) GetConfig() *DiceConfig {
if x != nil {
return x.Config
}
return nil
}
func (x *AdjustSelfGameStakePoolResponse) GetServerTimeMs() int64 {
if x != nil {
return x.ServerTimeMs
}
return 0
}
type DiceRobot struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
AppCode string `protobuf:"bytes,1,opt,name=app_code,json=appCode,proto3" json:"app_code,omitempty"`
GameId string `protobuf:"bytes,2,opt,name=game_id,json=gameId,proto3" json:"game_id,omitempty"`
UserId int64 `protobuf:"varint,3,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
Status string `protobuf:"bytes,4,opt,name=status,proto3" json:"status,omitempty"`
CreatedByAdminId int64 `protobuf:"varint,5,opt,name=created_by_admin_id,json=createdByAdminId,proto3" json:"created_by_admin_id,omitempty"`
CreatedAtMs int64 `protobuf:"varint,6,opt,name=created_at_ms,json=createdAtMs,proto3" json:"created_at_ms,omitempty"`
UpdatedAtMs int64 `protobuf:"varint,7,opt,name=updated_at_ms,json=updatedAtMs,proto3" json:"updated_at_ms,omitempty"`
}
func (x *DiceRobot) Reset() {
*x = DiceRobot{}
mi := &file_proto_game_v1_game_proto_msgTypes[73]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *DiceRobot) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DiceRobot) ProtoMessage() {}
func (x *DiceRobot) ProtoReflect() protoreflect.Message {
mi := &file_proto_game_v1_game_proto_msgTypes[73]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use DiceRobot.ProtoReflect.Descriptor instead.
func (*DiceRobot) Descriptor() ([]byte, []int) {
return file_proto_game_v1_game_proto_rawDescGZIP(), []int{73}
}
func (x *DiceRobot) GetAppCode() string {
if x != nil {
return x.AppCode
}
return ""
}
func (x *DiceRobot) GetGameId() string {
if x != nil {
return x.GameId
}
return ""
}
func (x *DiceRobot) GetUserId() int64 {
if x != nil {
return x.UserId
}
return 0
}
func (x *DiceRobot) GetStatus() string {
if x != nil {
return x.Status
}
return ""
}
func (x *DiceRobot) GetCreatedByAdminId() int64 {
if x != nil {
return x.CreatedByAdminId
}
return 0
}
func (x *DiceRobot) GetCreatedAtMs() int64 {
if x != nil {
return x.CreatedAtMs
}
return 0
}
func (x *DiceRobot) GetUpdatedAtMs() int64 {
if x != nil {
return x.UpdatedAtMs
}
return 0
}
type ListDiceRobotsRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Meta *RequestMeta `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
GameId string `protobuf:"bytes,2,opt,name=game_id,json=gameId,proto3" json:"game_id,omitempty"`
Status string `protobuf:"bytes,3,opt,name=status,proto3" json:"status,omitempty"`
PageSize int32 `protobuf:"varint,4,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
Cursor string `protobuf:"bytes,5,opt,name=cursor,proto3" json:"cursor,omitempty"`
}
func (x *ListDiceRobotsRequest) Reset() {
*x = ListDiceRobotsRequest{}
mi := &file_proto_game_v1_game_proto_msgTypes[74]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *ListDiceRobotsRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ListDiceRobotsRequest) ProtoMessage() {}
func (x *ListDiceRobotsRequest) ProtoReflect() protoreflect.Message {
mi := &file_proto_game_v1_game_proto_msgTypes[74]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ListDiceRobotsRequest.ProtoReflect.Descriptor instead.
func (*ListDiceRobotsRequest) Descriptor() ([]byte, []int) {
return file_proto_game_v1_game_proto_rawDescGZIP(), []int{74}
}
func (x *ListDiceRobotsRequest) GetMeta() *RequestMeta {
if x != nil {
return x.Meta
}
return nil
}
func (x *ListDiceRobotsRequest) GetGameId() string {
if x != nil {
return x.GameId
}
return ""
}
func (x *ListDiceRobotsRequest) GetStatus() string {
if x != nil {
return x.Status
}
return ""
}
func (x *ListDiceRobotsRequest) GetPageSize() int32 {
if x != nil {
return x.PageSize
}
return 0
}
func (x *ListDiceRobotsRequest) GetCursor() string {
if x != nil {
return x.Cursor
}
return ""
}
type ListDiceRobotsResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Robots []*DiceRobot `protobuf:"bytes,1,rep,name=robots,proto3" json:"robots,omitempty"`
NextCursor string `protobuf:"bytes,2,opt,name=next_cursor,json=nextCursor,proto3" json:"next_cursor,omitempty"`
ServerTimeMs int64 `protobuf:"varint,3,opt,name=server_time_ms,json=serverTimeMs,proto3" json:"server_time_ms,omitempty"`
}
func (x *ListDiceRobotsResponse) Reset() {
*x = ListDiceRobotsResponse{}
mi := &file_proto_game_v1_game_proto_msgTypes[75]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *ListDiceRobotsResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ListDiceRobotsResponse) ProtoMessage() {}
func (x *ListDiceRobotsResponse) ProtoReflect() protoreflect.Message {
mi := &file_proto_game_v1_game_proto_msgTypes[75]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ListDiceRobotsResponse.ProtoReflect.Descriptor instead.
func (*ListDiceRobotsResponse) Descriptor() ([]byte, []int) {
return file_proto_game_v1_game_proto_rawDescGZIP(), []int{75}
}
func (x *ListDiceRobotsResponse) GetRobots() []*DiceRobot {
if x != nil {
return x.Robots
}
return nil
}
func (x *ListDiceRobotsResponse) GetNextCursor() string {
if x != nil {
return x.NextCursor
}
return ""
}
func (x *ListDiceRobotsResponse) GetServerTimeMs() int64 {
if x != nil {
return x.ServerTimeMs
}
return 0
}
type RegisterDiceRobotsRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Meta *RequestMeta `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
GameId string `protobuf:"bytes,2,opt,name=game_id,json=gameId,proto3" json:"game_id,omitempty"`
UserIds []int64 `protobuf:"varint,3,rep,packed,name=user_ids,json=userIds,proto3" json:"user_ids,omitempty"`
}
func (x *RegisterDiceRobotsRequest) Reset() {
*x = RegisterDiceRobotsRequest{}
mi := &file_proto_game_v1_game_proto_msgTypes[76]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *RegisterDiceRobotsRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*RegisterDiceRobotsRequest) ProtoMessage() {}
func (x *RegisterDiceRobotsRequest) ProtoReflect() protoreflect.Message {
mi := &file_proto_game_v1_game_proto_msgTypes[76]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use RegisterDiceRobotsRequest.ProtoReflect.Descriptor instead.
func (*RegisterDiceRobotsRequest) Descriptor() ([]byte, []int) {
return file_proto_game_v1_game_proto_rawDescGZIP(), []int{76}
}
func (x *RegisterDiceRobotsRequest) GetMeta() *RequestMeta {
if x != nil {
return x.Meta
}
return nil
}
func (x *RegisterDiceRobotsRequest) GetGameId() string {
if x != nil {
return x.GameId
}
return ""
}
func (x *RegisterDiceRobotsRequest) GetUserIds() []int64 {
if x != nil {
return x.UserIds
}
return nil
}
type RegisterDiceRobotsResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Robots []*DiceRobot `protobuf:"bytes,1,rep,name=robots,proto3" json:"robots,omitempty"`
ServerTimeMs int64 `protobuf:"varint,2,opt,name=server_time_ms,json=serverTimeMs,proto3" json:"server_time_ms,omitempty"`
}
func (x *RegisterDiceRobotsResponse) Reset() {
*x = RegisterDiceRobotsResponse{}
mi := &file_proto_game_v1_game_proto_msgTypes[77]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *RegisterDiceRobotsResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*RegisterDiceRobotsResponse) ProtoMessage() {}
func (x *RegisterDiceRobotsResponse) ProtoReflect() protoreflect.Message {
mi := &file_proto_game_v1_game_proto_msgTypes[77]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use RegisterDiceRobotsResponse.ProtoReflect.Descriptor instead.
func (*RegisterDiceRobotsResponse) Descriptor() ([]byte, []int) {
return file_proto_game_v1_game_proto_rawDescGZIP(), []int{77}
}
func (x *RegisterDiceRobotsResponse) GetRobots() []*DiceRobot {
if x != nil {
return x.Robots
}
return nil
}
func (x *RegisterDiceRobotsResponse) GetServerTimeMs() int64 {
if x != nil {
return x.ServerTimeMs
}
return 0
}
type SetDiceRobotStatusRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Meta *RequestMeta `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
GameId string `protobuf:"bytes,2,opt,name=game_id,json=gameId,proto3" json:"game_id,omitempty"`
UserId int64 `protobuf:"varint,3,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
Status string `protobuf:"bytes,4,opt,name=status,proto3" json:"status,omitempty"`
}
func (x *SetDiceRobotStatusRequest) Reset() {
*x = SetDiceRobotStatusRequest{}
mi := &file_proto_game_v1_game_proto_msgTypes[78]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *SetDiceRobotStatusRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SetDiceRobotStatusRequest) ProtoMessage() {}
func (x *SetDiceRobotStatusRequest) ProtoReflect() protoreflect.Message {
mi := &file_proto_game_v1_game_proto_msgTypes[78]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use SetDiceRobotStatusRequest.ProtoReflect.Descriptor instead.
func (*SetDiceRobotStatusRequest) Descriptor() ([]byte, []int) {
return file_proto_game_v1_game_proto_rawDescGZIP(), []int{78}
}
func (x *SetDiceRobotStatusRequest) GetMeta() *RequestMeta {
if x != nil {
return x.Meta
}
return nil
}
func (x *SetDiceRobotStatusRequest) GetGameId() string {
if x != nil {
return x.GameId
}
return ""
}
func (x *SetDiceRobotStatusRequest) GetUserId() int64 {
if x != nil {
return x.UserId
}
return 0
}
func (x *SetDiceRobotStatusRequest) GetStatus() string {
if x != nil {
return x.Status
}
return ""
}
type DeleteDiceRobotRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Meta *RequestMeta `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
GameId string `protobuf:"bytes,2,opt,name=game_id,json=gameId,proto3" json:"game_id,omitempty"`
UserId int64 `protobuf:"varint,3,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
}
func (x *DeleteDiceRobotRequest) Reset() {
*x = DeleteDiceRobotRequest{}
mi := &file_proto_game_v1_game_proto_msgTypes[79]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *DeleteDiceRobotRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DeleteDiceRobotRequest) ProtoMessage() {}
func (x *DeleteDiceRobotRequest) ProtoReflect() protoreflect.Message {
mi := &file_proto_game_v1_game_proto_msgTypes[79]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use DeleteDiceRobotRequest.ProtoReflect.Descriptor instead.
func (*DeleteDiceRobotRequest) Descriptor() ([]byte, []int) {
return file_proto_game_v1_game_proto_rawDescGZIP(), []int{79}
}
func (x *DeleteDiceRobotRequest) GetMeta() *RequestMeta {
if x != nil {
return x.Meta
}
return nil
}
func (x *DeleteDiceRobotRequest) GetGameId() string {
if x != nil {
return x.GameId
}
return ""
}
func (x *DeleteDiceRobotRequest) GetUserId() int64 {
if x != nil {
return x.UserId
}
return 0
}
type DeleteDiceRobotResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Deleted bool `protobuf:"varint,1,opt,name=deleted,proto3" json:"deleted,omitempty"`
ServerTimeMs int64 `protobuf:"varint,2,opt,name=server_time_ms,json=serverTimeMs,proto3" json:"server_time_ms,omitempty"`
}
func (x *DeleteDiceRobotResponse) Reset() {
*x = DeleteDiceRobotResponse{}
mi := &file_proto_game_v1_game_proto_msgTypes[80]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *DeleteDiceRobotResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DeleteDiceRobotResponse) ProtoMessage() {}
func (x *DeleteDiceRobotResponse) ProtoReflect() protoreflect.Message {
mi := &file_proto_game_v1_game_proto_msgTypes[80]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use DeleteDiceRobotResponse.ProtoReflect.Descriptor instead.
func (*DeleteDiceRobotResponse) Descriptor() ([]byte, []int) {
return file_proto_game_v1_game_proto_rawDescGZIP(), []int{80}
}
func (x *DeleteDiceRobotResponse) GetDeleted() bool {
if x != nil {
return x.Deleted
}
return false
}
func (x *DeleteDiceRobotResponse) GetServerTimeMs() int64 {
if x != nil {
return x.ServerTimeMs
}
return 0
}
type DiceRobotResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Robot *DiceRobot `protobuf:"bytes,1,opt,name=robot,proto3" json:"robot,omitempty"`
ServerTimeMs int64 `protobuf:"varint,2,opt,name=server_time_ms,json=serverTimeMs,proto3" json:"server_time_ms,omitempty"`
}
func (x *DiceRobotResponse) Reset() {
*x = DiceRobotResponse{}
mi := &file_proto_game_v1_game_proto_msgTypes[81]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *DiceRobotResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DiceRobotResponse) ProtoMessage() {}
func (x *DiceRobotResponse) ProtoReflect() protoreflect.Message {
mi := &file_proto_game_v1_game_proto_msgTypes[81]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use DiceRobotResponse.ProtoReflect.Descriptor instead.
func (*DiceRobotResponse) Descriptor() ([]byte, []int) {
return file_proto_game_v1_game_proto_rawDescGZIP(), []int{81}
}
func (x *DiceRobotResponse) GetRobot() *DiceRobot {
if x != nil {
return x.Robot
}
return nil
}
func (x *DiceRobotResponse) GetServerTimeMs() int64 {
if x != nil {
return x.ServerTimeMs
}
return 0
}
var File_proto_game_v1_game_proto protoreflect.FileDescriptor
var file_proto_game_v1_game_proto_rawDesc = []byte{
0x0a, 0x18, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x61, 0x6d, 0x65, 0x2f, 0x76, 0x31, 0x2f,
0x67, 0x61, 0x6d, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0d, 0x68, 0x79, 0x61, 0x70,
0x70, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x22, 0xc9, 0x01, 0x0a, 0x0b, 0x52, 0x65,
0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x71,
0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72,
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x61, 0x6c, 0x6c,
0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x61, 0x6c, 0x6c, 0x65, 0x72,
0x12, 0x26, 0x0a, 0x0f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5f, 0x6e, 0x6f, 0x64, 0x65,
0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x67, 0x61, 0x74, 0x65, 0x77,
0x61, 0x79, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0d, 0x61, 0x63, 0x74, 0x6f,
0x72, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52,
0x0b, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x0a,
0x73, 0x65, 0x6e, 0x74, 0x5f, 0x61, 0x74, 0x5f, 0x6d, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03,
0x52, 0x08, 0x73, 0x65, 0x6e, 0x74, 0x41, 0x74, 0x4d, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x70,
0x70, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x70,
0x70, 0x43, 0x6f, 0x64, 0x65, 0x22, 0xf4, 0x03, 0x0a, 0x0c, 0x47, 0x61, 0x6d, 0x65, 0x50, 0x6c,
0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x70, 0x70, 0x5f, 0x63, 0x6f,
0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x70, 0x70, 0x43, 0x6f, 0x64,
0x65, 0x12, 0x23, 0x0a, 0x0d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x5f, 0x63, 0x6f,
0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f,
0x72, 0x6d, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f,
0x72, 0x6d, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x70,
0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73,
0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61,
0x74, 0x75, 0x73, 0x12, 0x20, 0x0a, 0x0c, 0x61, 0x70, 0x69, 0x5f, 0x62, 0x61, 0x73, 0x65, 0x5f,
0x75, 0x72, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x70, 0x69, 0x42, 0x61,
0x73, 0x65, 0x55, 0x72, 0x6c, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x6f, 0x72, 0x74, 0x5f, 0x6f, 0x72,
0x64, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x73, 0x6f, 0x72, 0x74, 0x4f,
0x72, 0x64, 0x65, 0x72, 0x12, 0x22, 0x0a, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f,
0x61, 0x74, 0x5f, 0x6d, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x63, 0x72, 0x65,
0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x4d, 0x73, 0x12, 0x22, 0x0a, 0x0d, 0x75, 0x70, 0x64, 0x61,
0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x5f, 0x6d, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52,
0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x4d, 0x73, 0x12, 0x21, 0x0a, 0x0c,
0x61, 0x64, 0x61, 0x70, 0x74, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x09, 0x20, 0x01,
0x28, 0x09, 0x52, 0x0b, 0x61, 0x64, 0x61, 0x70, 0x74, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12,
0x27, 0x0a, 0x0f, 0x63, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x5f, 0x73, 0x65, 0x63, 0x72,
0x65, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x61, 0x6c, 0x6c, 0x62, 0x61,
0x63, 0x6b, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x12, 0x2e, 0x0a, 0x13, 0x63, 0x61, 0x6c, 0x6c,
0x62, 0x61, 0x63, 0x6b, 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x5f, 0x73, 0x65, 0x74, 0x18,
0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x63, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x53,
0x65, 0x63, 0x72, 0x65, 0x74, 0x53, 0x65, 0x74, 0x12, 0x32, 0x0a, 0x15, 0x63, 0x61, 0x6c, 0x6c,
0x62, 0x61, 0x63, 0x6b, 0x5f, 0x69, 0x70, 0x5f, 0x77, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73,
0x74, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x09, 0x52, 0x13, 0x63, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63,
0x6b, 0x49, 0x70, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x2e, 0x0a, 0x13,
0x61, 0x64, 0x61, 0x70, 0x74, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x6a,
0x73, 0x6f, 0x6e, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x61, 0x64, 0x61, 0x70, 0x74,
0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x4a, 0x73, 0x6f, 0x6e, 0x22, 0x97, 0x04, 0x0a,
0x0f, 0x47, 0x61, 0x6d, 0x65, 0x43, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x49, 0x74, 0x65, 0x6d,
0x12, 0x19, 0x0a, 0x08, 0x61, 0x70, 0x70, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01,
0x28, 0x09, 0x52, 0x07, 0x61, 0x70, 0x70, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x67,
0x61, 0x6d, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x67, 0x61,
0x6d, 0x65, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d,
0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x70, 0x6c, 0x61,
0x74, 0x66, 0x6f, 0x72, 0x6d, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x70, 0x72, 0x6f,
0x76, 0x69, 0x64, 0x65, 0x72, 0x5f, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20,
0x01, 0x28, 0x09, 0x52, 0x0e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x47, 0x61, 0x6d,
0x65, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65,
0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x67, 0x61, 0x6d, 0x65, 0x4e, 0x61, 0x6d, 0x65,
0x12, 0x1a, 0x0a, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x18, 0x06, 0x20, 0x01,
0x28, 0x09, 0x52, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x19, 0x0a, 0x08,
0x69, 0x63, 0x6f, 0x6e, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07,
0x69, 0x63, 0x6f, 0x6e, 0x55, 0x72, 0x6c, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6f, 0x76, 0x65, 0x72,
0x5f, 0x75, 0x72, 0x6c, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x6f, 0x76, 0x65,
0x72, 0x55, 0x72, 0x6c, 0x12, 0x1f, 0x0a, 0x0b, 0x6c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x5f, 0x6d,
0x6f, 0x64, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6c, 0x61, 0x75, 0x6e, 0x63,
0x68, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x6f, 0x72, 0x69, 0x65, 0x6e, 0x74, 0x61,
0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6f, 0x72, 0x69, 0x65,
0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x69, 0x6e, 0x5f, 0x63,
0x6f, 0x69, 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x6d, 0x69, 0x6e, 0x43, 0x6f,
0x69, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x0c, 0x20, 0x01,
0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x6f,
0x72, 0x74, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09,
0x73, 0x6f, 0x72, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x61, 0x67,
0x73, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x12, 0x22, 0x0a,
0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x5f, 0x6d, 0x73, 0x18, 0x0f,
0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x4d,
0x73, 0x12, 0x22, 0x0a, 0x0d, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x5f,
0x6d, 0x73, 0x18, 0x10, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65,
0x64, 0x41, 0x74, 0x4d, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x61, 0x66, 0x65, 0x5f, 0x68, 0x65,
0x69, 0x67, 0x68, 0x74, 0x18, 0x11, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x73, 0x61, 0x66, 0x65,
0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x22, 0xa4, 0x03, 0x0a, 0x07, 0x41, 0x70, 0x70, 0x47, 0x61,
0x6d, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20,
0x01, 0x28, 0x09, 0x52, 0x06, 0x67, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x70,
0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01,
0x28, 0x09, 0x52, 0x0c, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x43, 0x6f, 0x64, 0x65,
0x12, 0x19, 0x0a, 0x08, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x03, 0x20, 0x01,
0x28, 0x09, 0x52, 0x07, 0x6e, 0x61, 0x6d, 0x65, 0x4b, 0x65, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x6e,
0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12,
0x19, 0x0a, 0x08, 0x69, 0x63, 0x6f, 0x6e, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28,
0x09, 0x52, 0x07, 0x69, 0x63, 0x6f, 0x6e, 0x55, 0x72, 0x6c, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6f,
0x76, 0x65, 0x72, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63,
0x6f, 0x76, 0x65, 0x72, 0x55, 0x72, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67,
0x6f, 0x72, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67,
0x6f, 0x72, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x6c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x5f, 0x6d, 0x6f,
0x64, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6c, 0x61, 0x75, 0x6e, 0x63, 0x68,
0x4d, 0x6f, 0x64, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x6f, 0x72, 0x69, 0x65, 0x6e, 0x74, 0x61, 0x74,
0x69, 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6f, 0x72, 0x69, 0x65, 0x6e,
0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x69, 0x6e, 0x5f, 0x63, 0x6f,
0x69, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x6d, 0x69, 0x6e, 0x43, 0x6f, 0x69,
0x6e, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x0b, 0x20, 0x01,
0x28, 0x08, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x6d,
0x61, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08,
0x52, 0x0b, 0x6d, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x1d, 0x0a,
0x0a, 0x73, 0x6f, 0x72, 0x74, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x18, 0x0d, 0x20, 0x01, 0x28,
0x05, 0x52, 0x09, 0x73, 0x6f, 0x72, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x1f, 0x0a, 0x0b,
0x73, 0x61, 0x66, 0x65, 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28,
0x05, 0x52, 0x0a, 0x73, 0x61, 0x66, 0x65, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x22, 0xec, 0x01,
0x0a, 0x10, 0x4c, 0x69, 0x73, 0x74, 0x47, 0x61, 0x6d, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65,
0x73, 0x74, 0x12, 0x2e, 0x0a, 0x04, 0x6d, 0x65, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x1a, 0x2e, 0x68, 0x79, 0x61, 0x70, 0x70, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x2e, 0x76, 0x31,
0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x04, 0x6d, 0x65,
0x74, 0x61, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20,
0x01, 0x28, 0x03, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x73,
0x63, 0x65, 0x6e, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x63, 0x65, 0x6e,
0x65, 0x12, 0x17, 0x0a, 0x07, 0x72, 0x6f, 0x6f, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01,
0x28, 0x09, 0x52, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x65,
0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x72,
0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x75,
0x61, 0x67, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x75,
0x61, 0x67, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x6c,
0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x6c,
0x69, 0x65, 0x6e, 0x74, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x22, 0x67, 0x0a, 0x11,
0x4c, 0x69, 0x73, 0x74, 0x47, 0x61, 0x6d, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
0x65, 0x12, 0x2c, 0x0a, 0x05, 0x67, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b,
0x32, 0x16, 0x2e, 0x68, 0x79, 0x61, 0x70, 0x70, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x2e, 0x76, 0x31,
0x2e, 0x41, 0x70, 0x70, 0x47, 0x61, 0x6d, 0x65, 0x52, 0x05, 0x67, 0x61, 0x6d, 0x65, 0x73, 0x12,
0x24, 0x0a, 0x0e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6d,
0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54,
0x69, 0x6d, 0x65, 0x4d, 0x73, 0x22, 0x8f, 0x02, 0x0a, 0x16, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65,
0x63, 0x65, 0x6e, 0x74, 0x47, 0x61, 0x6d, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
0x12, 0x2e, 0x0a, 0x04, 0x6d, 0x65, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a,
0x2e, 0x68, 0x79, 0x61, 0x70, 0x70, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52,
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x04, 0x6d, 0x65, 0x74, 0x61,
0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28,
0x03, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x65,
0x6e, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x12,
0x17, 0x0a, 0x07, 0x72, 0x6f, 0x6f, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09,
0x52, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x65, 0x67, 0x69,
0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x72, 0x65, 0x67,
0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67,
0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67,
0x65, 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x6c, 0x61, 0x74,
0x66, 0x6f, 0x72, 0x6d, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x6c, 0x69, 0x65,
0x6e, 0x74, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61,
0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70,
0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x22, 0x68, 0x0a, 0x19, 0x4c, 0x69, 0x73, 0x74, 0x45,
0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x57, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71,
0x75, 0x65, 0x73, 0x74, 0x12, 0x2e, 0x0a, 0x04, 0x6d, 0x65, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x68, 0x79, 0x61, 0x70, 0x70, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x2e,
0x76, 0x31, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x04,
0x6d, 0x65, 0x74, 0x61, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a,
0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a,
0x65, 0x22, 0xf4, 0x01, 0x0a, 0x0d, 0x45, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x57, 0x69, 0x6e,
0x6e, 0x65, 0x72, 0x12, 0x15, 0x0a, 0x06, 0x77, 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20,
0x01, 0x28, 0x09, 0x52, 0x05, 0x77, 0x69, 0x6e, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x67, 0x61,
0x6d, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x67,
0x61, 0x6d, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x67, 0x61, 0x6d, 0x65, 0x5f,
0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x67, 0x61, 0x6d, 0x65, 0x49, 0x64,
0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28,
0x03, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73,
0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52,
0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a,
0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09,
0x52, 0x09, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x55, 0x72, 0x6c, 0x12, 0x1f, 0x0a, 0x0b, 0x63,
0x6f, 0x69, 0x6e, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03,
0x52, 0x0a, 0x63, 0x6f, 0x69, 0x6e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x09,
0x77, 0x6f, 0x6e, 0x5f, 0x61, 0x74, 0x5f, 0x6d, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52,
0x07, 0x77, 0x6f, 0x6e, 0x41, 0x74, 0x4d, 0x73, 0x22, 0x7a, 0x0a, 0x1a, 0x4c, 0x69, 0x73, 0x74,
0x45, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x57, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x73, 0x52, 0x65,
0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x36, 0x0a, 0x07, 0x77, 0x69, 0x6e, 0x6e, 0x65, 0x72,
0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x68, 0x79, 0x61, 0x70, 0x70, 0x2e,
0x67, 0x61, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x57,
0x69, 0x6e, 0x6e, 0x65, 0x72, 0x52, 0x07, 0x77, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x73, 0x12, 0x24,
0x0a, 0x0e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6d, 0x73,
0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x69,
0x6d, 0x65, 0x4d, 0x73, 0x22, 0x48, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x42, 0x72, 0x69, 0x64, 0x67,
0x65, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2e,
0x0a, 0x04, 0x6d, 0x65, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x68,
0x79, 0x61, 0x70, 0x70, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x71,
0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x04, 0x6d, 0x65, 0x74, 0x61, 0x22, 0xaa,
0x01, 0x0a, 0x16, 0x47, 0x61, 0x6d, 0x65, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x53, 0x63, 0x72,
0x69, 0x70, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x2a, 0x0a, 0x11, 0x62, 0x72, 0x69,
0x64, 0x67, 0x65, 0x5f, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x01,
0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x53, 0x63, 0x72, 0x69,
0x70, 0x74, 0x55, 0x72, 0x6c, 0x12, 0x32, 0x0a, 0x15, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x5f,
0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02,
0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x53, 0x63, 0x72, 0x69,
0x70, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x30, 0x0a, 0x14, 0x62, 0x72, 0x69,
0x64, 0x67, 0x65, 0x5f, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x5f, 0x73, 0x68, 0x61, 0x32, 0x35,
0x36, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x53,
0x63, 0x72, 0x69, 0x70, 0x74, 0x53, 0x68, 0x61, 0x32, 0x35, 0x36, 0x22, 0x7e, 0x0a, 0x17, 0x47,
0x65, 0x74, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x52, 0x65,
0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3d, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67,
0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x68, 0x79, 0x61, 0x70, 0x70, 0x2e, 0x67,
0x61, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x61, 0x6d, 0x65, 0x42, 0x72, 0x69, 0x64, 0x67,
0x65, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x63,
0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x24, 0x0a, 0x0e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f,
0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x73,
0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x4d, 0x73, 0x22, 0xef, 0x01, 0x0a, 0x11,
0x4c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x47, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
0x74, 0x12, 0x2e, 0x0a, 0x04, 0x6d, 0x65, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x1a, 0x2e, 0x68, 0x79, 0x61, 0x70, 0x70, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e,
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x04, 0x6d, 0x65, 0x74,
0x61, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01,
0x28, 0x03, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x64, 0x69,
0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20,
0x01, 0x28, 0x09, 0x52, 0x0d, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x55, 0x73, 0x65, 0x72,
0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20,
0x01, 0x28, 0x09, 0x52, 0x06, 0x67, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x73,
0x63, 0x65, 0x6e, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x63, 0x65, 0x6e,
0x65, 0x12, 0x17, 0x0a, 0x07, 0x72, 0x6f, 0x6f, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01,
0x28, 0x09, 0x52, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x63,
0x63, 0x65, 0x73, 0x73, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09,
0x52, 0x0b, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xdf, 0x01,
0x0a, 0x12, 0x4c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x47, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70,
0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f,
0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f,
0x6e, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x6c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x5f, 0x75, 0x72,
0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x55,
0x72, 0x6c, 0x12, 0x22, 0x0a, 0x0d, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x5f, 0x61, 0x74,
0x5f, 0x6d, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x65, 0x78, 0x70, 0x69, 0x72,
0x65, 0x73, 0x41, 0x74, 0x4d, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x6f, 0x72, 0x69, 0x65, 0x6e, 0x74,
0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6f, 0x72, 0x69,
0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x0a, 0x0e, 0x73, 0x65, 0x72, 0x76,
0x65, 0x72, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6d, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03,
0x52, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x4d, 0x73, 0x12, 0x1f,
0x0a, 0x0b, 0x73, 0x61, 0x66, 0x65, 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x06, 0x20,
0x01, 0x28, 0x05, 0x52, 0x0a, 0x73, 0x61, 0x66, 0x65, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x22,
0xa6, 0x03, 0x0a, 0x0f, 0x44, 0x69, 0x63, 0x65, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70,
0x61, 0x6e, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01,
0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07,
0x73, 0x65, 0x61, 0x74, 0x5f, 0x6e, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73,
0x65, 0x61, 0x74, 0x4e, 0x6f, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18,
0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1d, 0x0a,
0x0a, 0x73, 0x74, 0x61, 0x6b, 0x65, 0x5f, 0x63, 0x6f, 0x69, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28,
0x03, 0x52, 0x09, 0x73, 0x74, 0x61, 0x6b, 0x65, 0x43, 0x6f, 0x69, 0x6e, 0x12, 0x1f, 0x0a, 0x0b,
0x64, 0x69, 0x63, 0x65, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28,
0x05, 0x52, 0x0a, 0x64, 0x69, 0x63, 0x65, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x16, 0x0a,
0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72,
0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x5f,
0x63, 0x6f, 0x69, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x70, 0x61, 0x79, 0x6f,
0x75, 0x74, 0x43, 0x6f, 0x69, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63,
0x65, 0x5f, 0x61, 0x66, 0x74, 0x65, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x62,
0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x41, 0x66, 0x74, 0x65, 0x72, 0x12, 0x20, 0x0a, 0x0c, 0x6a,
0x6f, 0x69, 0x6e, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x5f, 0x6d, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28,
0x03, 0x52, 0x0a, 0x6a, 0x6f, 0x69, 0x6e, 0x65, 0x64, 0x41, 0x74, 0x4d, 0x73, 0x12, 0x22, 0x0a,
0x0d, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x5f, 0x6d, 0x73, 0x18, 0x0a,
0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x4d,
0x73, 0x12, 0x29, 0x0a, 0x10, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74,
0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x70, 0x61, 0x72,
0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x19, 0x0a, 0x08,
0x69, 0x73, 0x5f, 0x72, 0x6f, 0x62, 0x6f, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07,
0x69, 0x73, 0x52, 0x6f, 0x62, 0x6f, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x70, 0x73, 0x5f, 0x67,
0x65, 0x73, 0x74, 0x75, 0x72, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x70,
0x73, 0x47, 0x65, 0x73, 0x74, 0x75, 0x72, 0x65, 0x22, 0xe7, 0x06, 0x0a, 0x09, 0x44, 0x69, 0x63,
0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x70, 0x70, 0x5f, 0x63, 0x6f,
0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x70, 0x70, 0x43, 0x6f, 0x64,
0x65, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20,
0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07,
0x67, 0x61, 0x6d, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x67,
0x61, 0x6d, 0x65, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x72, 0x6f, 0x6f, 0x6d, 0x5f, 0x69, 0x64,
0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x12, 0x1b,
0x0a, 0x09, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28,
0x03, 0x52, 0x08, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x6d,
0x69, 0x6e, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05,
0x52, 0x0a, 0x6d, 0x69, 0x6e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x12, 0x1f, 0x0a, 0x0b,
0x6d, 0x61, 0x78, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28,
0x05, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x12, 0x27, 0x0a,
0x0f, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73,
0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x50,
0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x6b, 0x65, 0x5f,
0x63, 0x6f, 0x69, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x73, 0x74, 0x61, 0x6b,
0x65, 0x43, 0x6f, 0x69, 0x6e, 0x12, 0x19, 0x0a, 0x08, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x6e,
0x6f, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x4e, 0x6f,
0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09,
0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75,
0x6c, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74,
0x12, 0x42, 0x0a, 0x0c, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x73,
0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x68, 0x79, 0x61, 0x70, 0x70, 0x2e, 0x67,
0x61, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, 0x63, 0x65, 0x50, 0x61, 0x72, 0x74, 0x69,
0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x52, 0x0c, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70,
0x61, 0x6e, 0x74, 0x73, 0x12, 0x28, 0x0a, 0x10, 0x6a, 0x6f, 0x69, 0x6e, 0x5f, 0x64, 0x65, 0x61,
0x64, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x6d, 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e,
0x6a, 0x6f, 0x69, 0x6e, 0x44, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x4d, 0x73, 0x12, 0x22,
0x0a, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x5f, 0x6d, 0x73, 0x18,
0x0f, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74,
0x4d, 0x73, 0x12, 0x22, 0x0a, 0x0d, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74,
0x5f, 0x6d, 0x73, 0x18, 0x10, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74,
0x65, 0x64, 0x41, 0x74, 0x4d, 0x73, 0x12, 0x22, 0x0a, 0x0d, 0x73, 0x65, 0x74, 0x74, 0x6c, 0x65,
0x64, 0x5f, 0x61, 0x74, 0x5f, 0x6d, 0x73, 0x18, 0x11, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x73,
0x65, 0x74, 0x74, 0x6c, 0x65, 0x64, 0x41, 0x74, 0x4d, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x68,
0x61, 0x73, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x68, 0x61, 0x73, 0x65,
0x12, 0x2a, 0x0a, 0x11, 0x70, 0x68, 0x61, 0x73, 0x65, 0x5f, 0x64, 0x65, 0x61, 0x64, 0x6c, 0x69,
0x6e, 0x65, 0x5f, 0x6d, 0x73, 0x18, 0x13, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0f, 0x70, 0x68, 0x61,
0x73, 0x65, 0x44, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x4d, 0x73, 0x12, 0x17, 0x0a, 0x07,
0x66, 0x65, 0x65, 0x5f, 0x62, 0x70, 0x73, 0x18, 0x14, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x66,
0x65, 0x65, 0x42, 0x70, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x70, 0x6f, 0x6f, 0x6c, 0x5f, 0x62, 0x70,
0x73, 0x18, 0x15, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x70, 0x6f, 0x6f, 0x6c, 0x42, 0x70, 0x73,
0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x16,
0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x6f, 0x64, 0x65, 0x12,
0x23, 0x0a, 0x0d, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74,
0x18, 0x17, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x64, 0x52, 0x65,
0x73, 0x75, 0x6c, 0x74, 0x12, 0x1e, 0x0a, 0x0b, 0x72, 0x65, 0x61, 0x64, 0x79, 0x5f, 0x61, 0x74,
0x5f, 0x6d, 0x73, 0x18, 0x18, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x72, 0x65, 0x61, 0x64, 0x79,
0x41, 0x74, 0x4d, 0x73, 0x12, 0x24, 0x0a, 0x0e, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x65, 0x64,
0x5f, 0x61, 0x74, 0x5f, 0x6d, 0x73, 0x18, 0x19, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x63, 0x61,
0x6e, 0x63, 0x65, 0x6c, 0x65, 0x64, 0x41, 0x74, 0x4d, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x70, 0x6f,
0x6f, 0x6c, 0x5f, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x5f, 0x63, 0x6f, 0x69, 0x6e, 0x18, 0x1a, 0x20,
0x01, 0x28, 0x03, 0x52, 0x0d, 0x70, 0x6f, 0x6f, 0x6c, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x43, 0x6f,
0x69, 0x6e, 0x22, 0x69, 0x0a, 0x0f, 0x44, 0x69, 0x63, 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x4f,
0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x6b, 0x65, 0x5f, 0x63,
0x6f, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x73, 0x74, 0x61, 0x6b, 0x65,
0x43, 0x6f, 0x69, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18,
0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x1d,
0x0a, 0x0a, 0x73, 0x6f, 0x72, 0x74, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01,
0x28, 0x05, 0x52, 0x09, 0x73, 0x6f, 0x72, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x22, 0xe1, 0x03,
0x0a, 0x0a, 0x44, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x19, 0x0a, 0x08,
0x61, 0x70, 0x70, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07,
0x61, 0x70, 0x70, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x67, 0x61, 0x6d, 0x65, 0x5f,
0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x67, 0x61, 0x6d, 0x65, 0x49, 0x64,
0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x43, 0x0a, 0x0d, 0x73, 0x74, 0x61, 0x6b,
0x65, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32,
0x1e, 0x2e, 0x68, 0x79, 0x61, 0x70, 0x70, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e,
0x44, 0x69, 0x63, 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52,
0x0c, 0x73, 0x74, 0x61, 0x6b, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x17, 0x0a,
0x07, 0x66, 0x65, 0x65, 0x5f, 0x62, 0x70, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06,
0x66, 0x65, 0x65, 0x42, 0x70, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x70, 0x6f, 0x6f, 0x6c, 0x5f, 0x62,
0x70, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x70, 0x6f, 0x6f, 0x6c, 0x42, 0x70,
0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x69, 0x6e, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73,
0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6d, 0x69, 0x6e, 0x50, 0x6c, 0x61, 0x79, 0x65,
0x72, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72,
0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x50, 0x6c, 0x61, 0x79,
0x65, 0x72, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x6f, 0x62, 0x6f, 0x74, 0x5f, 0x65, 0x6e, 0x61,
0x62, 0x6c, 0x65, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x72, 0x6f, 0x62, 0x6f,
0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x2d, 0x0a, 0x13, 0x72, 0x6f, 0x62, 0x6f,
0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x77, 0x61, 0x69, 0x74, 0x5f, 0x6d, 0x73, 0x18,
0x0a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x10, 0x72, 0x6f, 0x62, 0x6f, 0x74, 0x4d, 0x61, 0x74, 0x63,
0x68, 0x57, 0x61, 0x69, 0x74, 0x4d, 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x70, 0x6f, 0x6f, 0x6c, 0x5f,
0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x69, 0x6e, 0x18, 0x0b, 0x20, 0x01,
0x28, 0x03, 0x52, 0x0f, 0x70, 0x6f, 0x6f, 0x6c, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x43,
0x6f, 0x69, 0x6e, 0x12, 0x22, 0x0a, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61,
0x74, 0x5f, 0x6d, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x63, 0x72, 0x65, 0x61,
0x74, 0x65, 0x64, 0x41, 0x74, 0x4d, 0x73, 0x12, 0x22, 0x0a, 0x0d, 0x75, 0x70, 0x64, 0x61, 0x74,
0x65, 0x64, 0x5f, 0x61, 0x74, 0x5f, 0x6d, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b,
0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x4d, 0x73, 0x4a, 0x04, 0x08, 0x0e, 0x10,
0x0f, 0x22, 0x5f, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x44, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66,
0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2e, 0x0a, 0x04, 0x6d, 0x65, 0x74,
0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x68, 0x79, 0x61, 0x70, 0x70, 0x2e,
0x67, 0x61, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d,
0x65, 0x74, 0x61, 0x52, 0x04, 0x6d, 0x65, 0x74, 0x61, 0x12, 0x17, 0x0a, 0x07, 0x67, 0x61, 0x6d,
0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x67, 0x61, 0x6d, 0x65,
0x49, 0x64, 0x22, 0x6d, 0x0a, 0x12, 0x44, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x31, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66,
0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x68, 0x79, 0x61, 0x70, 0x70,
0x2e, 0x67, 0x61, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6e,
0x66, 0x69, 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x24, 0x0a, 0x0e, 0x73,
0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6d, 0x73, 0x18, 0x02, 0x20,
0x01, 0x28, 0x03, 0x52, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x4d,
0x73, 0x22, 0x9d, 0x02, 0x0a, 0x10, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x50, 0x53, 0x53, 0x74, 0x61,
0x6b, 0x65, 0x47, 0x69, 0x66, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x67, 0x69, 0x66, 0x74, 0x5f, 0x69,
0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x67, 0x69, 0x66, 0x74, 0x49, 0x64, 0x12,
0x1b, 0x0a, 0x09, 0x67, 0x69, 0x66, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01,
0x28, 0x09, 0x52, 0x08, 0x67, 0x69, 0x66, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0d,
0x67, 0x69, 0x66, 0x74, 0x5f, 0x69, 0x63, 0x6f, 0x6e, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x03, 0x20,
0x01, 0x28, 0x09, 0x52, 0x0b, 0x67, 0x69, 0x66, 0x74, 0x49, 0x63, 0x6f, 0x6e, 0x55, 0x72, 0x6c,
0x12, 0x26, 0x0a, 0x0f, 0x67, 0x69, 0x66, 0x74, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x5f, 0x63,
0x6f, 0x69, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x67, 0x69, 0x66, 0x74, 0x50,
0x72, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x69, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62,
0x6c, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c,
0x65, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x6f, 0x72, 0x74, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72,
0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x73, 0x6f, 0x72, 0x74, 0x4f, 0x72, 0x64, 0x65,
0x72, 0x12, 0x20, 0x0a, 0x0c, 0x67, 0x69, 0x66, 0x74, 0x5f, 0x69, 0x64, 0x5f, 0x74, 0x65, 0x78,
0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x67, 0x69, 0x66, 0x74, 0x49, 0x64, 0x54,
0x65, 0x78, 0x74, 0x12, 0x2c, 0x0a, 0x12, 0x67, 0x69, 0x66, 0x74, 0x5f, 0x61, 0x6e, 0x69, 0x6d,
0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52,
0x10, 0x67, 0x69, 0x66, 0x74, 0x41, 0x6e, 0x69, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x72,
0x6c, 0x22, 0xc7, 0x02, 0x0a, 0x0d, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x50, 0x53, 0x43, 0x6f, 0x6e,
0x66, 0x69, 0x67, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x70, 0x70, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18,
0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x70, 0x70, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x17,
0x0a, 0x07, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
0x06, 0x67, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75,
0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12,
0x30, 0x0a, 0x14, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x74, 0x69, 0x6d,
0x65, 0x6f, 0x75, 0x74, 0x5f, 0x6d, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x12, 0x63,
0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x4d,
0x73, 0x12, 0x2e, 0x0a, 0x13, 0x72, 0x65, 0x76, 0x65, 0x61, 0x6c, 0x5f, 0x63, 0x6f, 0x75, 0x6e,
0x74, 0x64, 0x6f, 0x77, 0x6e, 0x5f, 0x6d, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x11,
0x72, 0x65, 0x76, 0x65, 0x61, 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x64, 0x6f, 0x77, 0x6e, 0x4d,
0x73, 0x12, 0x40, 0x0a, 0x0b, 0x73, 0x74, 0x61, 0x6b, 0x65, 0x5f, 0x67, 0x69, 0x66, 0x74, 0x73,
0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x68, 0x79, 0x61, 0x70, 0x70, 0x2e, 0x67,
0x61, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x50, 0x53, 0x53, 0x74,
0x61, 0x6b, 0x65, 0x47, 0x69, 0x66, 0x74, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x6b, 0x65, 0x47, 0x69,
0x66, 0x74, 0x73, 0x12, 0x22, 0x0a, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61,
0x74, 0x5f, 0x6d, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x63, 0x72, 0x65, 0x61,
0x74, 0x65, 0x64, 0x41, 0x74, 0x4d, 0x73, 0x12, 0x22, 0x0a, 0x0d, 0x75, 0x70, 0x64, 0x61, 0x74,
0x65, 0x64, 0x5f, 0x61, 0x74, 0x5f, 0x6d, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b,
0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x4d, 0x73, 0x22, 0xa1, 0x01, 0x0a, 0x0d,
0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x50, 0x53, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x12, 0x17, 0x0a,
0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06,
0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x67, 0x65, 0x73, 0x74, 0x75, 0x72,
0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x67, 0x65, 0x73, 0x74, 0x75, 0x72, 0x65,
0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x62, 0x61, 0x6c, 0x61,
0x6e, 0x63, 0x65, 0x5f, 0x61, 0x66, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52,
0x0c, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x41, 0x66, 0x74, 0x65, 0x72, 0x12, 0x20, 0x0a,
0x0c, 0x6a, 0x6f, 0x69, 0x6e, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x5f, 0x6d, 0x73, 0x18, 0x05, 0x20,
0x01, 0x28, 0x03, 0x52, 0x0a, 0x6a, 0x6f, 0x69, 0x6e, 0x65, 0x64, 0x41, 0x74, 0x4d, 0x73, 0x22,
0xd8, 0x05, 0x0a, 0x10, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x50, 0x53, 0x43, 0x68, 0x61, 0x6c, 0x6c,
0x65, 0x6e, 0x67, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x70, 0x70, 0x5f, 0x63, 0x6f, 0x64, 0x65,
0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x70, 0x70, 0x43, 0x6f, 0x64, 0x65, 0x12,
0x21, 0x0a, 0x0c, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18,
0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65,
0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x72, 0x6f, 0x6f, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20,
0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x72,
0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08,
0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74,
0x75, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73,
0x12, 0x22, 0x0a, 0x0d, 0x73, 0x74, 0x61, 0x6b, 0x65, 0x5f, 0x67, 0x69, 0x66, 0x74, 0x5f, 0x69,
0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x73, 0x74, 0x61, 0x6b, 0x65, 0x47, 0x69,
0x66, 0x74, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x6b, 0x65, 0x5f, 0x63, 0x6f,
0x69, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x73, 0x74, 0x61, 0x6b, 0x65, 0x43,
0x6f, 0x69, 0x6e, 0x12, 0x3a, 0x0a, 0x09, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x6f, 0x72,
0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x68, 0x79, 0x61, 0x70, 0x70, 0x2e, 0x67,
0x61, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x50, 0x53, 0x50, 0x6c,
0x61, 0x79, 0x65, 0x72, 0x52, 0x09, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x6f, 0x72, 0x12,
0x3c, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x72, 0x18, 0x09, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x68, 0x79, 0x61, 0x70, 0x70, 0x2e, 0x67, 0x61, 0x6d, 0x65,
0x2e, 0x76, 0x31, 0x2e, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x50, 0x53, 0x50, 0x6c, 0x61, 0x79, 0x65,
0x72, 0x52, 0x0a, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x72, 0x12, 0x24, 0x0a,
0x0e, 0x77, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18,
0x0a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x77, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x55, 0x73, 0x65,
0x72, 0x49, 0x64, 0x12, 0x2b, 0x0a, 0x11, 0x73, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x6d, 0x65, 0x6e,
0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10,
0x73, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73,
0x12, 0x25, 0x0a, 0x0e, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x5f, 0x72, 0x65, 0x61, 0x73,
0x6f, 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72,
0x65, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x22, 0x0a, 0x0d, 0x74, 0x69, 0x6d, 0x65, 0x6f,
0x75, 0x74, 0x5f, 0x61, 0x74, 0x5f, 0x6d, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b,
0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x41, 0x74, 0x4d, 0x73, 0x12, 0x20, 0x0a, 0x0c, 0x72,
0x65, 0x76, 0x65, 0x61, 0x6c, 0x5f, 0x61, 0x74, 0x5f, 0x6d, 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28,
0x03, 0x52, 0x0a, 0x72, 0x65, 0x76, 0x65, 0x61, 0x6c, 0x41, 0x74, 0x4d, 0x73, 0x12, 0x22, 0x0a,
0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x5f, 0x6d, 0x73, 0x18, 0x0f,
0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x4d,
0x73, 0x12, 0x22, 0x0a, 0x0d, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x5f,
0x6d, 0x73, 0x18, 0x10, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65,
0x64, 0x41, 0x74, 0x4d, 0x73, 0x12, 0x22, 0x0a, 0x0d, 0x73, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x64,
0x5f, 0x61, 0x74, 0x5f, 0x6d, 0x73, 0x18, 0x11, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x73, 0x65,
0x74, 0x74, 0x6c, 0x65, 0x64, 0x41, 0x74, 0x4d, 0x73, 0x12, 0x22, 0x0a, 0x0d, 0x75, 0x70, 0x64,
0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x5f, 0x6d, 0x73, 0x18, 0x12, 0x20, 0x01, 0x28, 0x03,
0x52, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x4d, 0x73, 0x12, 0x2b, 0x0a,
0x12, 0x73, 0x74, 0x61, 0x6b, 0x65, 0x5f, 0x67, 0x69, 0x66, 0x74, 0x5f, 0x69, 0x64, 0x5f, 0x74,
0x65, 0x78, 0x74, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x73, 0x74, 0x61, 0x6b, 0x65,
0x47, 0x69, 0x66, 0x74, 0x49, 0x64, 0x54, 0x65, 0x78, 0x74, 0x22, 0x49, 0x0a, 0x17, 0x47, 0x65,
0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x50, 0x53, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65,
0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2e, 0x0a, 0x04, 0x6d, 0x65, 0x74, 0x61, 0x18, 0x01, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x68, 0x79, 0x61, 0x70, 0x70, 0x2e, 0x67, 0x61, 0x6d, 0x65,
0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x52,
0x04, 0x6d, 0x65, 0x74, 0x61, 0x22, 0x73, 0x0a, 0x15, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x50, 0x53,
0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x34,
0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c,
0x2e, 0x68, 0x79, 0x61, 0x70, 0x70, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52,
0x6f, 0x6f, 0x6d, 0x52, 0x50, 0x53, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x63, 0x6f,
0x6e, 0x66, 0x69, 0x67, 0x12, 0x24, 0x0a, 0x0e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x74,
0x69, 0x6d, 0x65, 0x5f, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x73, 0x65,
0x72, 0x76, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x4d, 0x73, 0x22, 0xf3, 0x01, 0x0a, 0x1d, 0x43,
0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x50, 0x53, 0x43, 0x68, 0x61, 0x6c,
0x6c, 0x65, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2e, 0x0a, 0x04,
0x6d, 0x65, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x68, 0x79, 0x61,
0x70, 0x70, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65,
0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x04, 0x6d, 0x65, 0x74, 0x61, 0x12, 0x17, 0x0a, 0x07,
0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x75,
0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x72, 0x6f, 0x6f, 0x6d, 0x5f, 0x69, 0x64,
0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x12, 0x1b,
0x0a, 0x09, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28,
0x03, 0x52, 0x08, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x67,
0x69, 0x66, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x67, 0x69,
0x66, 0x74, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x67, 0x65, 0x73, 0x74, 0x75, 0x72, 0x65, 0x18,
0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x67, 0x65, 0x73, 0x74, 0x75, 0x72, 0x65, 0x12, 0x20,
0x0a, 0x0c, 0x67, 0x69, 0x66, 0x74, 0x5f, 0x69, 0x64, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x18, 0x07,
0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x67, 0x69, 0x66, 0x74, 0x49, 0x64, 0x54, 0x65, 0x78, 0x74,
0x22, 0xa5, 0x01, 0x0a, 0x1d, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x52,
0x50, 0x53, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65,
0x73, 0x74, 0x12, 0x2e, 0x0a, 0x04, 0x6d, 0x65, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x1a, 0x2e, 0x68, 0x79, 0x61, 0x70, 0x70, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x2e, 0x76, 0x31,
0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x04, 0x6d, 0x65,
0x74, 0x61, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20,
0x01, 0x28, 0x03, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x63,
0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28,
0x09, 0x52, 0x0b, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x49, 0x64, 0x12, 0x18,
0x0a, 0x07, 0x67, 0x65, 0x73, 0x74, 0x75, 0x72, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52,
0x07, 0x67, 0x65, 0x73, 0x74, 0x75, 0x72, 0x65, 0x22, 0x88, 0x01, 0x0a, 0x1a, 0x47, 0x65, 0x74,
0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x50, 0x53, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65,
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2e, 0x0a, 0x04, 0x6d, 0x65, 0x74, 0x61, 0x18,
0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x68, 0x79, 0x61, 0x70, 0x70, 0x2e, 0x67, 0x61,
0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74,
0x61, 0x52, 0x04, 0x6d, 0x65, 0x74, 0x61, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f,
0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64,
0x12, 0x21, 0x0a, 0x0c, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x69, 0x64,
0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67,
0x65, 0x49, 0x64, 0x22, 0xeb, 0x02, 0x0a, 0x1c, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x6f, 0x6f, 0x6d,
0x52, 0x50, 0x53, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x73, 0x52, 0x65, 0x71,
0x75, 0x65, 0x73, 0x74, 0x12, 0x2e, 0x0a, 0x04, 0x6d, 0x65, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x68, 0x79, 0x61, 0x70, 0x70, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x2e,
0x76, 0x31, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x04,
0x6d, 0x65, 0x74, 0x61, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18,
0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x17, 0x0a,
0x07, 0x72, 0x6f, 0x6f, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06,
0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73,
0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x2a,
0x0a, 0x11, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x75, 0x73, 0x65, 0x72,
0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0f, 0x69, 0x6e, 0x69, 0x74, 0x69,
0x61, 0x74, 0x6f, 0x72, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x2c, 0x0a, 0x12, 0x63, 0x68,
0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x72, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64,
0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x10, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67,
0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0d, 0x73, 0x74, 0x61, 0x72,
0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6d, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52,
0x0b, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x4d, 0x73, 0x12, 0x1e, 0x0a, 0x0b,
0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6d, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28,
0x03, 0x52, 0x09, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x4d, 0x73, 0x12, 0x1b, 0x0a, 0x09,
0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52,
0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x75, 0x72,
0x73, 0x6f, 0x72, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f,
0x72, 0x22, 0x7f, 0x0a, 0x18, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x50, 0x53, 0x43, 0x68, 0x61, 0x6c,
0x6c, 0x65, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3d, 0x0a,
0x09, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x1f, 0x2e, 0x68, 0x79, 0x61, 0x70, 0x70, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x2e, 0x76, 0x31,
0x2e, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x50, 0x53, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67,
0x65, 0x52, 0x09, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x12, 0x24, 0x0a, 0x0e,
0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6d, 0x73, 0x18, 0x02,
0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65,
0x4d, 0x73, 0x22, 0xc4, 0x01, 0x0a, 0x1d, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x52,
0x50, 0x53, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70,
0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3f, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67,
0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x68, 0x79, 0x61, 0x70, 0x70,
0x2e, 0x67, 0x61, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x50, 0x53,
0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x52, 0x0a, 0x63, 0x68, 0x61, 0x6c, 0x6c,
0x65, 0x6e, 0x67, 0x65, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x63, 0x75,
0x72, 0x73, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6e, 0x65, 0x78, 0x74,
0x43, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73,
0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53,
0x69, 0x7a, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x74, 0x69,
0x6d, 0x65, 0x5f, 0x6d, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x73, 0x65, 0x72,
0x76, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x4d, 0x73, 0x22, 0x82, 0x01, 0x0a, 0x1a, 0x55, 0x70,
0x64, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x50, 0x53, 0x43, 0x6f, 0x6e, 0x66, 0x69,
0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2e, 0x0a, 0x04, 0x6d, 0x65, 0x74, 0x61,
0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x68, 0x79, 0x61, 0x70, 0x70, 0x2e, 0x67,
0x61, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65,
0x74, 0x61, 0x52, 0x04, 0x6d, 0x65, 0x74, 0x61, 0x12, 0x34, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66,
0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x68, 0x79, 0x61, 0x70, 0x70,
0x2e, 0x67, 0x61, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x50, 0x53,
0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x72,
0x0a, 0x1d, 0x52, 0x65, 0x74, 0x72, 0x79, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x50, 0x53, 0x53, 0x65,
0x74, 0x74, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
0x2e, 0x0a, 0x04, 0x6d, 0x65, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e,
0x68, 0x79, 0x61, 0x70, 0x70, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65,
0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x04, 0x6d, 0x65, 0x74, 0x61, 0x12,
0x21, 0x0a, 0x0c, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18,
0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65,
0x49, 0x64, 0x22, 0x72, 0x0a, 0x1d, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x52, 0x6f, 0x6f, 0x6d,
0x52, 0x50, 0x53, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75,
0x65, 0x73, 0x74, 0x12, 0x2e, 0x0a, 0x04, 0x6d, 0x65, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x1a, 0x2e, 0x68, 0x79, 0x61, 0x70, 0x70, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x2e, 0x76,
0x31, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x04, 0x6d,
0x65, 0x74, 0x61, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65,
0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x68, 0x61, 0x6c, 0x6c,
0x65, 0x6e, 0x67, 0x65, 0x49, 0x64, 0x22, 0xb2, 0x02, 0x0a, 0x16, 0x43, 0x72, 0x65, 0x61, 0x74,
0x65, 0x44, 0x69, 0x63, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
0x74, 0x12, 0x2e, 0x0a, 0x04, 0x6d, 0x65, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x1a, 0x2e, 0x68, 0x79, 0x61, 0x70, 0x70, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e,
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x04, 0x6d, 0x65, 0x74,
0x61, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01,
0x28, 0x03, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x67, 0x61,
0x6d, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x67, 0x61, 0x6d,
0x65, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x72, 0x6f, 0x6f, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x04,
0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09,
0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52,
0x08, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61,
0x6b, 0x65, 0x5f, 0x63, 0x6f, 0x69, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x73,
0x74, 0x61, 0x6b, 0x65, 0x43, 0x6f, 0x69, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x69, 0x6e, 0x5f,
0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6d,
0x69, 0x6e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x61, 0x78,
0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a,
0x6d, 0x61, 0x78, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x70,
0x73, 0x5f, 0x67, 0x65, 0x73, 0x74, 0x75, 0x72, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52,
0x0a, 0x72, 0x70, 0x73, 0x47, 0x65, 0x73, 0x74, 0x75, 0x72, 0x65, 0x22, 0xb4, 0x01, 0x0a, 0x14,
0x4a, 0x6f, 0x69, 0x6e, 0x44, 0x69, 0x63, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71,
0x75, 0x65, 0x73, 0x74, 0x12, 0x2e, 0x0a, 0x04, 0x6d, 0x65, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x68, 0x79, 0x61, 0x70, 0x70, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x2e,
0x76, 0x31, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x04,
0x6d, 0x65, 0x74, 0x61, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18,
0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x19, 0x0a,
0x08, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52,
0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x67, 0x61, 0x6d, 0x65,
0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x67, 0x61, 0x6d, 0x65, 0x49,
0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x70, 0x73, 0x5f, 0x67, 0x65, 0x73, 0x74, 0x75, 0x72, 0x65,
0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x70, 0x73, 0x47, 0x65, 0x73, 0x74, 0x75,
0x72, 0x65, 0x22, 0x92, 0x01, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x44, 0x69, 0x63, 0x65, 0x4d, 0x61,
0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2e, 0x0a, 0x04, 0x6d, 0x65,
0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x68, 0x79, 0x61, 0x70, 0x70,
0x2e, 0x67, 0x61, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
0x4d, 0x65, 0x74, 0x61, 0x52, 0x04, 0x6d, 0x65, 0x74, 0x61, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73,
0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x75, 0x73, 0x65,
0x72, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x69, 0x64, 0x18,
0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x12, 0x17,
0x0a, 0x07, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52,
0x06, 0x67, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x22, 0xb4, 0x01, 0x0a, 0x14, 0x52, 0x6f, 0x6c, 0x6c,
0x44, 0x69, 0x63, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
0x12, 0x2e, 0x0a, 0x04, 0x6d, 0x65, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a,
0x2e, 0x68, 0x79, 0x61, 0x70, 0x70, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52,
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x04, 0x6d, 0x65, 0x74, 0x61,
0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28,
0x03, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x61, 0x74,
0x63, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x61, 0x74,
0x63, 0x68, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x69, 0x64, 0x18,
0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x67, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x12, 0x1f, 0x0a,
0x0b, 0x72, 0x70, 0x73, 0x5f, 0x67, 0x65, 0x73, 0x74, 0x75, 0x72, 0x65, 0x18, 0x05, 0x20, 0x01,
0x28, 0x09, 0x52, 0x0a, 0x72, 0x70, 0x73, 0x47, 0x65, 0x73, 0x74, 0x75, 0x72, 0x65, 0x22, 0xea,
0x01, 0x0a, 0x10, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x44, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75,
0x65, 0x73, 0x74, 0x12, 0x2e, 0x0a, 0x04, 0x6d, 0x65, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x1a, 0x2e, 0x68, 0x79, 0x61, 0x70, 0x70, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x2e, 0x76,
0x31, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x04, 0x6d,
0x65, 0x74, 0x61, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02,
0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07,
0x67, 0x61, 0x6d, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x67,
0x61, 0x6d, 0x65, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x72, 0x6f, 0x6f, 0x6d, 0x5f, 0x69, 0x64,
0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x12, 0x1b,
0x0a, 0x09, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28,
0x03, 0x52, 0x08, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x73,
0x74, 0x61, 0x6b, 0x65, 0x5f, 0x63, 0x6f, 0x69, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52,
0x09, 0x73, 0x74, 0x61, 0x6b, 0x65, 0x43, 0x6f, 0x69, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x70,
0x73, 0x5f, 0x67, 0x65, 0x73, 0x74, 0x75, 0x72, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52,
0x0a, 0x72, 0x70, 0x73, 0x47, 0x65, 0x73, 0x74, 0x75, 0x72, 0x65, 0x22, 0x95, 0x01, 0x0a, 0x16,
0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x44, 0x69, 0x63, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52,
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2e, 0x0a, 0x04, 0x6d, 0x65, 0x74, 0x61, 0x18, 0x01,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x68, 0x79, 0x61, 0x70, 0x70, 0x2e, 0x67, 0x61, 0x6d,
0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61,
0x52, 0x04, 0x6d, 0x65, 0x74, 0x61, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69,
0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12,
0x19, 0x0a, 0x08, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28,
0x09, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x67, 0x61,
0x6d, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x67, 0x61, 0x6d,
0x65, 0x49, 0x64, 0x22, 0x69, 0x0a, 0x11, 0x44, 0x69, 0x63, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68,
0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2e, 0x0a, 0x05, 0x6d, 0x61, 0x74, 0x63,
0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x68, 0x79, 0x61, 0x70, 0x70, 0x2e,
0x67, 0x61, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, 0x63, 0x65, 0x4d, 0x61, 0x74, 0x63,
0x68, 0x52, 0x05, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x24, 0x0a, 0x0e, 0x73, 0x65, 0x72, 0x76,
0x65, 0x72, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03,
0x52, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x4d, 0x73, 0x22, 0xbe,
0x03, 0x0a, 0x0f, 0x43, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65,
0x73, 0x74, 0x12, 0x2e, 0x0a, 0x04, 0x6d, 0x65, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x1a, 0x2e, 0x68, 0x79, 0x61, 0x70, 0x70, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x2e, 0x76, 0x31,
0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x04, 0x6d, 0x65,
0x74, 0x61, 0x12, 0x23, 0x0a, 0x0d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x5f, 0x63,
0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x70, 0x6c, 0x61, 0x74, 0x66,
0x6f, 0x72, 0x6d, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6f, 0x70, 0x65, 0x72, 0x61,
0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x70, 0x65, 0x72,
0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x19, 0x0a, 0x08, 0x72, 0x61, 0x77, 0x5f, 0x62, 0x6f, 0x64,
0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x72, 0x61, 0x77, 0x42, 0x6f, 0x64, 0x79,
0x12, 0x45, 0x0a, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28,
0x0b, 0x32, 0x2b, 0x2e, 0x68, 0x79, 0x61, 0x70, 0x70, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x2e, 0x76,
0x31, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
0x74, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07,
0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x3f, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79,
0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x68, 0x79, 0x61, 0x70, 0x70, 0x2e, 0x67,
0x61, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x52,
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x74, 0x72,
0x79, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x6d, 0x6f,
0x74, 0x65, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72,
0x65, 0x6d, 0x6f, 0x74, 0x65, 0x41, 0x64, 0x64, 0x72, 0x1a, 0x3a, 0x0a, 0x0c, 0x48, 0x65, 0x61,
0x64, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79,
0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76,
0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75,
0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x38, 0x0a, 0x0a, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e,
0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02,
0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22,
0x50, 0x0a, 0x10, 0x43, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f,
0x6e, 0x73, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x72, 0x61, 0x77, 0x5f, 0x62, 0x6f, 0x64, 0x79, 0x18,
0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x72, 0x61, 0x77, 0x42, 0x6f, 0x64, 0x79, 0x12, 0x21,
0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02,
0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70,
0x65, 0x22, 0xb5, 0x01, 0x0a, 0x10, 0x43, 0x72, 0x6f, 0x6e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52,
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2e, 0x0a, 0x04, 0x6d, 0x65, 0x74, 0x61, 0x18, 0x01,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x68, 0x79, 0x61, 0x70, 0x70, 0x2e, 0x67, 0x61, 0x6d,
0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61,
0x52, 0x04, 0x6d, 0x65, 0x74, 0x61, 0x12, 0x15, 0x0a, 0x06, 0x72, 0x75, 0x6e, 0x5f, 0x69, 0x64,
0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x72, 0x75, 0x6e, 0x49, 0x64, 0x12, 0x1b, 0x0a,
0x09, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
0x52, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x61,
0x74, 0x63, 0x68, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09,
0x62, 0x61, 0x74, 0x63, 0x68, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1e, 0x0a, 0x0b, 0x6c, 0x6f, 0x63,
0x6b, 0x5f, 0x74, 0x74, 0x6c, 0x5f, 0x6d, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09,
0x6c, 0x6f, 0x63, 0x6b, 0x54, 0x74, 0x6c, 0x4d, 0x73, 0x22, 0xc6, 0x01, 0x0a, 0x11, 0x43, 0x72,
0x6f, 0x6e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
0x23, 0x0a, 0x0d, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74,
0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x65, 0x64, 0x43,
0x6f, 0x75, 0x6e, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65,
0x64, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x70,
0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x23, 0x0a,
0x0d, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03,
0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x75,
0x6e, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x5f, 0x63, 0x6f,
0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x66, 0x61, 0x69, 0x6c, 0x75,
0x72, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x68, 0x61, 0x73, 0x5f, 0x6d,
0x6f, 0x72, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x68, 0x61, 0x73, 0x4d, 0x6f,
0x72, 0x65, 0x22, 0x5e, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f,
0x72, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2e, 0x0a, 0x04, 0x6d, 0x65,
0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x68, 0x79, 0x61, 0x70, 0x70,
0x2e, 0x67, 0x61, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
0x4d, 0x65, 0x74, 0x61, 0x52, 0x04, 0x6d, 0x65, 0x74, 0x61, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74,
0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74,
0x75, 0x73, 0x22, 0x78, 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f,
0x72, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x39, 0x0a, 0x09, 0x70,
0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b,
0x2e, 0x68, 0x79, 0x61, 0x70, 0x70, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47,
0x61, 0x6d, 0x65, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x52, 0x09, 0x70, 0x6c, 0x61,
0x74, 0x66, 0x6f, 0x72, 0x6d, 0x73, 0x12, 0x24, 0x0a, 0x0e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72,
0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c,
0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x4d, 0x73, 0x22, 0x80, 0x01, 0x0a,
0x15, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x52,
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2e, 0x0a, 0x04, 0x6d, 0x65, 0x74, 0x61, 0x18, 0x01,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x68, 0x79, 0x61, 0x70, 0x70, 0x2e, 0x67, 0x61, 0x6d,
0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61,
0x52, 0x04, 0x6d, 0x65, 0x74, 0x61, 0x12, 0x37, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f,
0x72, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x68, 0x79, 0x61, 0x70, 0x70,
0x2e, 0x67, 0x61, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x61, 0x6d, 0x65, 0x50, 0x6c, 0x61,
0x74, 0x66, 0x6f, 0x72, 0x6d, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x22,
0x71, 0x0a, 0x10, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f,
0x6e, 0x73, 0x65, 0x12, 0x37, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18,
0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x68, 0x79, 0x61, 0x70, 0x70, 0x2e, 0x67, 0x61,
0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x61, 0x6d, 0x65, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f,
0x72, 0x6d, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x24, 0x0a, 0x0e,
0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6d, 0x73, 0x18, 0x02,
0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65,
0x4d, 0x73, 0x22, 0xb6, 0x01, 0x0a, 0x12, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x61, 0x74, 0x61, 0x6c,
0x6f, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2e, 0x0a, 0x04, 0x6d, 0x65, 0x74,
0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x68, 0x79, 0x61, 0x70, 0x70, 0x2e,
0x67, 0x61, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d,
0x65, 0x74, 0x61, 0x52, 0x04, 0x6d, 0x65, 0x74, 0x61, 0x12, 0x23, 0x0a, 0x0d, 0x70, 0x6c, 0x61,
0x74, 0x66, 0x6f, 0x72, 0x6d, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
0x52, 0x0c, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x16,
0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06,
0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73,
0x69, 0x7a, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53,
0x69, 0x7a, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x18, 0x05, 0x20,
0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x22, 0x92, 0x01, 0x0a, 0x13,
0x4c, 0x69, 0x73, 0x74, 0x43, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f,
0x6e, 0x73, 0x65, 0x12, 0x34, 0x0a, 0x05, 0x67, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03,
0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x68, 0x79, 0x61, 0x70, 0x70, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x2e,
0x76, 0x31, 0x2e, 0x47, 0x61, 0x6d, 0x65, 0x43, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x49, 0x74,
0x65, 0x6d, 0x52, 0x05, 0x67, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x6e, 0x65, 0x78,
0x74, 0x5f, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a,
0x6e, 0x65, 0x78, 0x74, 0x43, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x12, 0x24, 0x0a, 0x0e, 0x73, 0x65,
0x72, 0x76, 0x65, 0x72, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6d, 0x73, 0x18, 0x03, 0x20, 0x01,
0x28, 0x03, 0x52, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x4d, 0x73,
0x22, 0x7a, 0x0a, 0x14, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x43, 0x61, 0x74, 0x61, 0x6c, 0x6f,
0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2e, 0x0a, 0x04, 0x6d, 0x65, 0x74, 0x61,
0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x68, 0x79, 0x61, 0x70, 0x70, 0x2e, 0x67,
0x61, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65,
0x74, 0x61, 0x52, 0x04, 0x6d, 0x65, 0x74, 0x61, 0x12, 0x32, 0x0a, 0x04, 0x67, 0x61, 0x6d, 0x65,
0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x68, 0x79, 0x61, 0x70, 0x70, 0x2e, 0x67,
0x61, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x61, 0x6d, 0x65, 0x43, 0x61, 0x74, 0x61, 0x6c,
0x6f, 0x67, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x04, 0x67, 0x61, 0x6d, 0x65, 0x22, 0x6b, 0x0a, 0x0f,
0x43, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
0x32, 0x0a, 0x04, 0x67, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e,
0x68, 0x79, 0x61, 0x70, 0x70, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x61,
0x6d, 0x65, 0x43, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x04, 0x67,
0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x74, 0x69,
0x6d, 0x65, 0x5f, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x73, 0x65, 0x72,
0x76, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x4d, 0x73, 0x22, 0x77, 0x0a, 0x14, 0x53, 0x65, 0x74,
0x47, 0x61, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
0x74, 0x12, 0x2e, 0x0a, 0x04, 0x6d, 0x65, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x1a, 0x2e, 0x68, 0x79, 0x61, 0x70, 0x70, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e,
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x04, 0x6d, 0x65, 0x74,
0x61, 0x12, 0x17, 0x0a, 0x07, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01,
0x28, 0x09, 0x52, 0x06, 0x67, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74,
0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74,
0x75, 0x73, 0x22, 0x5f, 0x0a, 0x14, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x61, 0x74, 0x61,
0x6c, 0x6f, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2e, 0x0a, 0x04, 0x6d, 0x65,
0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x68, 0x79, 0x61, 0x70, 0x70,
0x2e, 0x67, 0x61, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
0x4d, 0x65, 0x74, 0x61, 0x52, 0x04, 0x6d, 0x65, 0x74, 0x61, 0x12, 0x17, 0x0a, 0x07, 0x67, 0x61,
0x6d, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x67, 0x61, 0x6d,
0x65, 0x49, 0x64, 0x22, 0x3d, 0x0a, 0x15, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x61, 0x74,
0x61, 0x6c, 0x6f, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x24, 0x0a, 0x0e,
0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6d, 0x73, 0x18, 0x01,
0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65,
0x4d, 0x73, 0x22, 0x46, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x6c, 0x66, 0x47, 0x61,
0x6d, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2e, 0x0a, 0x04, 0x6d, 0x65,
0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x68, 0x79, 0x61, 0x70, 0x70,
0x2e, 0x67, 0x61, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
0x4d, 0x65, 0x74, 0x61, 0x52, 0x04, 0x6d, 0x65, 0x74, 0x61, 0x22, 0x6e, 0x0a, 0x15, 0x4c, 0x69,
0x73, 0x74, 0x53, 0x65, 0x6c, 0x66, 0x47, 0x61, 0x6d, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f,
0x6e, 0x73, 0x65, 0x12, 0x2f, 0x0a, 0x05, 0x67, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03,
0x28, 0x0b, 0x32, 0x19, 0x2e, 0x68, 0x79, 0x61, 0x70, 0x70, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x2e,
0x76, 0x31, 0x2e, 0x44, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x05, 0x67,
0x61, 0x6d, 0x65, 0x73, 0x12, 0x24, 0x0a, 0x0e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x74,
0x69, 0x6d, 0x65, 0x5f, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x73, 0x65,
0x72, 0x76, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x4d, 0x73, 0x22, 0x7c, 0x0a, 0x17, 0x55, 0x70,
0x64, 0x61, 0x74, 0x65, 0x44, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65,
0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2e, 0x0a, 0x04, 0x6d, 0x65, 0x74, 0x61, 0x18, 0x01, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x68, 0x79, 0x61, 0x70, 0x70, 0x2e, 0x67, 0x61, 0x6d, 0x65,
0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x52,
0x04, 0x6d, 0x65, 0x74, 0x61, 0x12, 0x31, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18,
0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x68, 0x79, 0x61, 0x70, 0x70, 0x2e, 0x67, 0x61,
0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x99, 0x06, 0x0a, 0x15, 0x53, 0x65, 0x6c,
0x66, 0x47, 0x61, 0x6d, 0x65, 0x4e, 0x65, 0x77, 0x55, 0x73, 0x65, 0x72, 0x50, 0x6f, 0x6c, 0x69,
0x63, 0x79, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x70, 0x70, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01,
0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x70, 0x70, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x17, 0x0a,
0x07, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06,
0x67, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65,
0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64,
0x12, 0x2b, 0x0a, 0x11, 0x70, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72,
0x6f, 0x75, 0x6e, 0x64, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x70, 0x72, 0x6f,
0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x73, 0x12, 0x29, 0x0a,
0x10, 0x70, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x68, 0x6f, 0x75, 0x72,
0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x70, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74,
0x69, 0x6f, 0x6e, 0x48, 0x6f, 0x75, 0x72, 0x73, 0x12, 0x24, 0x0a, 0x0e, 0x6d, 0x61, 0x78, 0x5f,
0x73, 0x74, 0x61, 0x6b, 0x65, 0x5f, 0x63, 0x6f, 0x69, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03,
0x52, 0x0c, 0x6d, 0x61, 0x78, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x43, 0x6f, 0x69, 0x6e, 0x12, 0x3d,
0x0a, 0x1b, 0x6c, 0x69, 0x66, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x75, 0x62, 0x73, 0x69,
0x64, 0x79, 0x5f, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x5f, 0x63, 0x6f, 0x69, 0x6e, 0x18, 0x07, 0x20,
0x01, 0x28, 0x03, 0x52, 0x18, 0x6c, 0x69, 0x66, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x53, 0x75, 0x62,
0x73, 0x69, 0x64, 0x79, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x43, 0x6f, 0x69, 0x6e, 0x12, 0x35, 0x0a,
0x17, 0x64, 0x61, 0x79, 0x31, 0x5f, 0x73, 0x75, 0x62, 0x73, 0x69, 0x64, 0x79, 0x5f, 0x71, 0x75,
0x6f, 0x74, 0x61, 0x5f, 0x63, 0x6f, 0x69, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x14,
0x64, 0x61, 0x79, 0x31, 0x53, 0x75, 0x62, 0x73, 0x69, 0x64, 0x79, 0x51, 0x75, 0x6f, 0x74, 0x61,
0x43, 0x6f, 0x69, 0x6e, 0x12, 0x40, 0x0a, 0x1d, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x5f, 0x72,
0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x73, 0x75, 0x62, 0x73, 0x69, 0x64, 0x79, 0x5f, 0x63, 0x61, 0x70,
0x5f, 0x63, 0x6f, 0x69, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x19, 0x73, 0x69, 0x6e,
0x67, 0x6c, 0x65, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x53, 0x75, 0x62, 0x73, 0x69, 0x64, 0x79, 0x43,
0x61, 0x70, 0x43, 0x6f, 0x69, 0x6e, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65,
0x67, 0x79, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d,
0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x43, 0x0a,
0x1e, 0x6c, 0x6f, 0x73, 0x65, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6b, 0x5f, 0x70, 0x72, 0x6f,
0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18,
0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1b, 0x6c, 0x6f, 0x73, 0x65, 0x53, 0x74, 0x72, 0x65, 0x61,
0x6b, 0x50, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x61, 0x62, 0x6c,
0x65, 0x64, 0x12, 0x2e, 0x0a, 0x13, 0x6c, 0x6f, 0x73, 0x65, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61,
0x6b, 0x5f, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52,
0x11, 0x6c, 0x6f, 0x73, 0x65, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6b, 0x54, 0x72, 0x69, 0x67, 0x67,
0x65, 0x72, 0x12, 0x22, 0x0a, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74,
0x5f, 0x6d, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74,
0x65, 0x64, 0x41, 0x74, 0x4d, 0x73, 0x12, 0x22, 0x0a, 0x0d, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65,
0x64, 0x5f, 0x61, 0x74, 0x5f, 0x6d, 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x75,
0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x4d, 0x73, 0x12, 0x4d, 0x0a, 0x24, 0x6e, 0x6f,
0x72, 0x6d, 0x61, 0x6c, 0x5f, 0x70, 0x68, 0x61, 0x73, 0x65, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65,
0x74, 0x5f, 0x77, 0x69, 0x6e, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x63, 0x65,
0x6e, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x1f, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c,
0x50, 0x68, 0x61, 0x73, 0x65, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x57, 0x69, 0x6e, 0x52, 0x61,
0x74, 0x65, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x12, 0x49, 0x0a, 0x22, 0x62, 0x6c, 0x61,
0x63, 0x6b, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x5f, 0x72, 0x6f, 0x62, 0x6f, 0x74, 0x5f, 0x66, 0x6f,
0x72, 0x63, 0x65, 0x5f, 0x77, 0x69, 0x6e, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18,
0x10, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1d, 0x62, 0x6c, 0x61, 0x63, 0x6b, 0x50, 0x6f, 0x6f, 0x6c,
0x52, 0x6f, 0x62, 0x6f, 0x74, 0x46, 0x6f, 0x72, 0x63, 0x65, 0x57, 0x69, 0x6e, 0x45, 0x6e, 0x61,
0x62, 0x6c, 0x65, 0x64, 0x22, 0x6a, 0x0a, 0x1f, 0x47, 0x65, 0x74, 0x53, 0x65, 0x6c, 0x66, 0x47,
0x61, 0x6d, 0x65, 0x4e, 0x65, 0x77, 0x55, 0x73, 0x65, 0x72, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79,
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2e, 0x0a, 0x04, 0x6d, 0x65, 0x74, 0x61, 0x18,
0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x68, 0x79, 0x61, 0x70, 0x70, 0x2e, 0x67, 0x61,
0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74,
0x61, 0x52, 0x04, 0x6d, 0x65, 0x74, 0x61, 0x12, 0x17, 0x0a, 0x07, 0x67, 0x61, 0x6d, 0x65, 0x5f,
0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x67, 0x61, 0x6d, 0x65, 0x49, 0x64,
0x22, 0x92, 0x01, 0x0a, 0x22, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x6c, 0x66, 0x47,
0x61, 0x6d, 0x65, 0x4e, 0x65, 0x77, 0x55, 0x73, 0x65, 0x72, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79,
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2e, 0x0a, 0x04, 0x6d, 0x65, 0x74, 0x61, 0x18,
0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x68, 0x79, 0x61, 0x70, 0x70, 0x2e, 0x67, 0x61,
0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74,
0x61, 0x52, 0x04, 0x6d, 0x65, 0x74, 0x61, 0x12, 0x3c, 0x0a, 0x06, 0x70, 0x6f, 0x6c, 0x69, 0x63,
0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x68, 0x79, 0x61, 0x70, 0x70, 0x2e,
0x67, 0x61, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x6c, 0x66, 0x47, 0x61, 0x6d, 0x65,
0x4e, 0x65, 0x77, 0x55, 0x73, 0x65, 0x72, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x06, 0x70,
0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0x83, 0x01, 0x0a, 0x1d, 0x53, 0x65, 0x6c, 0x66, 0x47, 0x61,
0x6d, 0x65, 0x4e, 0x65, 0x77, 0x55, 0x73, 0x65, 0x72, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52,
0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3c, 0x0a, 0x06, 0x70, 0x6f, 0x6c, 0x69, 0x63,
0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x68, 0x79, 0x61, 0x70, 0x70, 0x2e,
0x67, 0x61, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x6c, 0x66, 0x47, 0x61, 0x6d, 0x65,
0x4e, 0x65, 0x77, 0x55, 0x73, 0x65, 0x72, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x06, 0x70,
0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x24, 0x0a, 0x0e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f,
0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x73,
0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x4d, 0x73, 0x22, 0xbd, 0x05, 0x0a, 0x11,
0x53, 0x65, 0x6c, 0x66, 0x47, 0x61, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x50, 0x6f, 0x6f,
0x6c, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x70, 0x70, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20,
0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x70, 0x70, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x17, 0x0a, 0x07,
0x67, 0x61, 0x6d, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x67,
0x61, 0x6d, 0x65, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x6b, 0x65, 0x5f, 0x63,
0x6f, 0x69, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x73, 0x74, 0x61, 0x6b, 0x65,
0x43, 0x6f, 0x69, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x5f,
0x63, 0x6f, 0x69, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x62, 0x61, 0x6c, 0x61,
0x6e, 0x63, 0x65, 0x43, 0x6f, 0x69, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x65, 0x72,
0x76, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x69, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c,
0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x43, 0x6f, 0x69, 0x6e, 0x12, 0x25, 0x0a, 0x0e,
0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x69, 0x6e, 0x18, 0x06,
0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x43,
0x6f, 0x69, 0x6e, 0x12, 0x2e, 0x0a, 0x13, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x62, 0x61,
0x6c, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x69, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03,
0x52, 0x11, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x43,
0x6f, 0x69, 0x6e, 0x12, 0x2a, 0x0a, 0x11, 0x73, 0x61, 0x66, 0x65, 0x5f, 0x62, 0x61, 0x6c, 0x61,
0x6e, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x69, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0f,
0x73, 0x61, 0x66, 0x65, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x69, 0x6e, 0x12,
0x30, 0x0a, 0x14, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e,
0x63, 0x65, 0x5f, 0x63, 0x6f, 0x69, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x12, 0x77,
0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x69,
0x6e, 0x12, 0x2e, 0x0a, 0x13, 0x64, 0x61, 0x6e, 0x67, 0x65, 0x72, 0x5f, 0x62, 0x61, 0x6c, 0x61,
0x6e, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x69, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x11,
0x64, 0x61, 0x6e, 0x67, 0x65, 0x72, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x69,
0x6e, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28,
0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x6f, 0x6f,
0x6c, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70,
0x6f, 0x6f, 0x6c, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x2c, 0x0a, 0x12, 0x72, 0x65, 0x71, 0x75,
0x69, 0x72, 0x65, 0x64, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x5f, 0x63, 0x6f, 0x69, 0x6e, 0x18, 0x0d,
0x20, 0x01, 0x28, 0x03, 0x52, 0x10, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x50, 0x6f,
0x6f, 0x6c, 0x43, 0x6f, 0x69, 0x6e, 0x12, 0x2c, 0x0a, 0x12, 0x68, 0x75, 0x6d, 0x61, 0x6e, 0x5f,
0x77, 0x69, 0x6e, 0x5f, 0x63, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x18, 0x0e, 0x20, 0x01,
0x28, 0x03, 0x52, 0x10, 0x68, 0x75, 0x6d, 0x61, 0x6e, 0x57, 0x69, 0x6e, 0x43, 0x61, 0x70, 0x61,
0x63, 0x69, 0x74, 0x79, 0x12, 0x2a, 0x0a, 0x11, 0x62, 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63,
0x68, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52,
0x0f, 0x62, 0x6f, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64,
0x12, 0x21, 0x0a, 0x0c, 0x62, 0x6c, 0x61, 0x63, 0x6b, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e,
0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x62, 0x6c, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x61,
0x73, 0x6f, 0x6e, 0x12, 0x22, 0x0a, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61,
0x74, 0x5f, 0x6d, 0x73, 0x18, 0x11, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x63, 0x72, 0x65, 0x61,
0x74, 0x65, 0x64, 0x41, 0x74, 0x4d, 0x73, 0x12, 0x22, 0x0a, 0x0d, 0x75, 0x70, 0x64, 0x61, 0x74,
0x65, 0x64, 0x5f, 0x61, 0x74, 0x5f, 0x6d, 0x73, 0x18, 0x12, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b,
0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x4d, 0x73, 0x22, 0x68, 0x0a, 0x1d, 0x4c,
0x69, 0x73, 0x74, 0x53, 0x65, 0x6c, 0x66, 0x47, 0x61, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65,
0x50, 0x6f, 0x6f, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2e, 0x0a, 0x04,
0x6d, 0x65, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x68, 0x79, 0x61,
0x70, 0x70, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65,
0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x04, 0x6d, 0x65, 0x74, 0x61, 0x12, 0x17, 0x0a, 0x07,
0x67, 0x61, 0x6d, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x67,
0x61, 0x6d, 0x65, 0x49, 0x64, 0x22, 0x86, 0x01, 0x0a, 0x1e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65,
0x53, 0x65, 0x6c, 0x66, 0x47, 0x61, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x50, 0x6f, 0x6f,
0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2e, 0x0a, 0x04, 0x6d, 0x65, 0x74, 0x61,
0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x68, 0x79, 0x61, 0x70, 0x70, 0x2e, 0x67,
0x61, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65,
0x74, 0x61, 0x52, 0x04, 0x6d, 0x65, 0x74, 0x61, 0x12, 0x34, 0x0a, 0x04, 0x70, 0x6f, 0x6f, 0x6c,
0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x68, 0x79, 0x61, 0x70, 0x70, 0x2e, 0x67,
0x61, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x6c, 0x66, 0x47, 0x61, 0x6d, 0x65, 0x53,
0x74, 0x61, 0x6b, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x52, 0x04, 0x70, 0x6f, 0x6f, 0x6c, 0x22, 0x77,
0x0a, 0x19, 0x53, 0x65, 0x6c, 0x66, 0x47, 0x61, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x50,
0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x34, 0x0a, 0x04, 0x70,
0x6f, 0x6f, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x68, 0x79, 0x61, 0x70,
0x70, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x6c, 0x66, 0x47, 0x61,
0x6d, 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x52, 0x04, 0x70, 0x6f, 0x6f,
0x6c, 0x12, 0x24, 0x0a, 0x0e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x74, 0x69, 0x6d, 0x65,
0x5f, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x65,
0x72, 0x54, 0x69, 0x6d, 0x65, 0x4d, 0x73, 0x22, 0x7e, 0x0a, 0x1e, 0x4c, 0x69, 0x73, 0x74, 0x53,
0x65, 0x6c, 0x66, 0x47, 0x61, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x50, 0x6f, 0x6f, 0x6c,
0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x36, 0x0a, 0x05, 0x70, 0x6f, 0x6f,
0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x68, 0x79, 0x61, 0x70, 0x70,
0x2e, 0x67, 0x61, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x6c, 0x66, 0x47, 0x61, 0x6d,
0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x52, 0x05, 0x70, 0x6f, 0x6f, 0x6c,
0x73, 0x12, 0x24, 0x0a, 0x0e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x74, 0x69, 0x6d, 0x65,
0x5f, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x65,
0x72, 0x54, 0x69, 0x6d, 0x65, 0x4d, 0x73, 0x22, 0x91, 0x02, 0x0a, 0x12, 0x44, 0x69, 0x63, 0x65,
0x50, 0x6f, 0x6f, 0x6c, 0x41, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x23,
0x0a, 0x0d, 0x61, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18,
0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x6d, 0x65, 0x6e,
0x74, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02,
0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x67, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b,
0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x63, 0x6f, 0x69, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28,
0x03, 0x52, 0x0a, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x6f, 0x69, 0x6e, 0x12, 0x1c, 0x0a,
0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09,
0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x72,
0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x61,
0x73, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x61,
0x66, 0x74, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x62, 0x61, 0x6c, 0x61,
0x6e, 0x63, 0x65, 0x41, 0x66, 0x74, 0x65, 0x72, 0x12, 0x22, 0x0a, 0x0d, 0x63, 0x72, 0x65, 0x61,
0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x5f, 0x6d, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52,
0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x4d, 0x73, 0x12, 0x1d, 0x0a, 0x0a,
0x73, 0x74, 0x61, 0x6b, 0x65, 0x5f, 0x63, 0x6f, 0x69, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03,
0x52, 0x09, 0x73, 0x74, 0x61, 0x6b, 0x65, 0x43, 0x6f, 0x69, 0x6e, 0x22, 0xdf, 0x01, 0x0a, 0x1e,
0x41, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x53, 0x65, 0x6c, 0x66, 0x47, 0x61, 0x6d, 0x65, 0x53, 0x74,
0x61, 0x6b, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2e,
0x0a, 0x04, 0x6d, 0x65, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x68,
0x79, 0x61, 0x70, 0x70, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x71,
0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x04, 0x6d, 0x65, 0x74, 0x61, 0x12, 0x17,
0x0a, 0x07, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
0x06, 0x67, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x6d, 0x6f, 0x75, 0x6e,
0x74, 0x5f, 0x63, 0x6f, 0x69, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x61, 0x6d,
0x6f, 0x75, 0x6e, 0x74, 0x43, 0x6f, 0x69, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65,
0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x69, 0x72,
0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e,
0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x1d,
0x0a, 0x0a, 0x73, 0x74, 0x61, 0x6b, 0x65, 0x5f, 0x63, 0x6f, 0x69, 0x6e, 0x18, 0x06, 0x20, 0x01,
0x28, 0x03, 0x52, 0x09, 0x73, 0x74, 0x61, 0x6b, 0x65, 0x43, 0x6f, 0x69, 0x6e, 0x22, 0xbd, 0x01,
0x0a, 0x1f, 0x41, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x53, 0x65, 0x6c, 0x66, 0x47, 0x61, 0x6d, 0x65,
0x53, 0x74, 0x61, 0x6b, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
0x65, 0x12, 0x41, 0x0a, 0x0a, 0x61, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x18,
0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x68, 0x79, 0x61, 0x70, 0x70, 0x2e, 0x67, 0x61,
0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, 0x63, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x41, 0x64,
0x6a, 0x75, 0x73, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0a, 0x61, 0x64, 0x6a, 0x75, 0x73, 0x74,
0x6d, 0x65, 0x6e, 0x74, 0x12, 0x31, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x68, 0x79, 0x61, 0x70, 0x70, 0x2e, 0x67, 0x61, 0x6d,
0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52,
0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x24, 0x0a, 0x0e, 0x73, 0x65, 0x72, 0x76, 0x65,
0x72, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6d, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52,
0x0c, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x4d, 0x73, 0x22, 0xe7, 0x01,
0x0a, 0x09, 0x44, 0x69, 0x63, 0x65, 0x52, 0x6f, 0x62, 0x6f, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x61,
0x70, 0x70, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61,
0x70, 0x70, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x69,
0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x67, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x12,
0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03,
0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74,
0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73,
0x12, 0x2d, 0x0a, 0x13, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x61,
0x64, 0x6d, 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x10, 0x63,
0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x42, 0x79, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x49, 0x64, 0x12,
0x22, 0x0a, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x5f, 0x6d, 0x73,
0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41,
0x74, 0x4d, 0x73, 0x12, 0x22, 0x0a, 0x0d, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61,
0x74, 0x5f, 0x6d, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x75, 0x70, 0x64, 0x61,
0x74, 0x65, 0x64, 0x41, 0x74, 0x4d, 0x73, 0x22, 0xad, 0x01, 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74,
0x44, 0x69, 0x63, 0x65, 0x52, 0x6f, 0x62, 0x6f, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
0x74, 0x12, 0x2e, 0x0a, 0x04, 0x6d, 0x65, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x1a, 0x2e, 0x68, 0x79, 0x61, 0x70, 0x70, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e,
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x04, 0x6d, 0x65, 0x74,
0x61, 0x12, 0x17, 0x0a, 0x07, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01,
0x28, 0x09, 0x52, 0x06, 0x67, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74,
0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74,
0x75, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18,
0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12,
0x16, 0x0a, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52,
0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x22, 0x91, 0x01, 0x0a, 0x16, 0x4c, 0x69, 0x73, 0x74,
0x44, 0x69, 0x63, 0x65, 0x52, 0x6f, 0x62, 0x6f, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
0x73, 0x65, 0x12, 0x30, 0x0a, 0x06, 0x72, 0x6f, 0x62, 0x6f, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03,
0x28, 0x0b, 0x32, 0x18, 0x2e, 0x68, 0x79, 0x61, 0x70, 0x70, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x2e,
0x76, 0x31, 0x2e, 0x44, 0x69, 0x63, 0x65, 0x52, 0x6f, 0x62, 0x6f, 0x74, 0x52, 0x06, 0x72, 0x6f,
0x62, 0x6f, 0x74, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x63, 0x75, 0x72,
0x73, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6e, 0x65, 0x78, 0x74, 0x43,
0x75, 0x72, 0x73, 0x6f, 0x72, 0x12, 0x24, 0x0a, 0x0e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f,
0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6d, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x73,
0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x4d, 0x73, 0x22, 0x7f, 0x0a, 0x19, 0x52,
0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x44, 0x69, 0x63, 0x65, 0x52, 0x6f, 0x62, 0x6f, 0x74,
0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2e, 0x0a, 0x04, 0x6d, 0x65, 0x74, 0x61,
0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x68, 0x79, 0x61, 0x70, 0x70, 0x2e, 0x67,
0x61, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65,
0x74, 0x61, 0x52, 0x04, 0x6d, 0x65, 0x74, 0x61, 0x12, 0x17, 0x0a, 0x07, 0x67, 0x61, 0x6d, 0x65,
0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x67, 0x61, 0x6d, 0x65, 0x49,
0x64, 0x12, 0x19, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x03, 0x20,
0x03, 0x28, 0x03, 0x52, 0x07, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x73, 0x22, 0x74, 0x0a, 0x1a,
0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x44, 0x69, 0x63, 0x65, 0x52, 0x6f, 0x62, 0x6f,
0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x30, 0x0a, 0x06, 0x72, 0x6f,
0x62, 0x6f, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x68, 0x79, 0x61,
0x70, 0x70, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, 0x63, 0x65, 0x52,
0x6f, 0x62, 0x6f, 0x74, 0x52, 0x06, 0x72, 0x6f, 0x62, 0x6f, 0x74, 0x73, 0x12, 0x24, 0x0a, 0x0e,
0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6d, 0x73, 0x18, 0x02,
0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65,
0x4d, 0x73, 0x22, 0x95, 0x01, 0x0a, 0x19, 0x53, 0x65, 0x74, 0x44, 0x69, 0x63, 0x65, 0x52, 0x6f,
0x62, 0x6f, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
0x12, 0x2e, 0x0a, 0x04, 0x6d, 0x65, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a,
0x2e, 0x68, 0x79, 0x61, 0x70, 0x70, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52,
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x04, 0x6d, 0x65, 0x74, 0x61,
0x12, 0x17, 0x0a, 0x07, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28,
0x09, 0x52, 0x06, 0x67, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65,
0x72, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72,
0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01,
0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x7a, 0x0a, 0x16, 0x44, 0x65,
0x6c, 0x65, 0x74, 0x65, 0x44, 0x69, 0x63, 0x65, 0x52, 0x6f, 0x62, 0x6f, 0x74, 0x52, 0x65, 0x71,
0x75, 0x65, 0x73, 0x74, 0x12, 0x2e, 0x0a, 0x04, 0x6d, 0x65, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x68, 0x79, 0x61, 0x70, 0x70, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x2e,
0x76, 0x31, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x04,
0x6d, 0x65, 0x74, 0x61, 0x12, 0x17, 0x0a, 0x07, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x69, 0x64, 0x18,
0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x67, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x12, 0x17, 0x0a,
0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06,
0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x22, 0x59, 0x0a, 0x17, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65,
0x44, 0x69, 0x63, 0x65, 0x52, 0x6f, 0x62, 0x6f, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
0x65, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01,
0x28, 0x08, 0x52, 0x07, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x12, 0x24, 0x0a, 0x0e, 0x73,
0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6d, 0x73, 0x18, 0x02, 0x20,
0x01, 0x28, 0x03, 0x52, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x4d,
0x73, 0x22, 0x69, 0x0a, 0x11, 0x44, 0x69, 0x63, 0x65, 0x52, 0x6f, 0x62, 0x6f, 0x74, 0x52, 0x65,
0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2e, 0x0a, 0x05, 0x72, 0x6f, 0x62, 0x6f, 0x74, 0x18,
0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x68, 0x79, 0x61, 0x70, 0x70, 0x2e, 0x67, 0x61,
0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, 0x63, 0x65, 0x52, 0x6f, 0x62, 0x6f, 0x74, 0x52,
0x05, 0x72, 0x6f, 0x62, 0x6f, 0x74, 0x12, 0x24, 0x0a, 0x0e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72,
0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c,
0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x4d, 0x73, 0x32, 0xe6, 0x0c, 0x0a,
0x0e, 0x47, 0x61, 0x6d, 0x65, 0x41, 0x70, 0x70, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12,
0x4e, 0x0a, 0x09, 0x4c, 0x69, 0x73, 0x74, 0x47, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x1f, 0x2e, 0x68,
0x79, 0x61, 0x70, 0x70, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73,
0x74, 0x47, 0x61, 0x6d, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e,
0x68, 0x79, 0x61, 0x70, 0x70, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69,
0x73, 0x74, 0x47, 0x61, 0x6d, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
0x5a, 0x0a, 0x0f, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x47, 0x61, 0x6d,
0x65, 0x73, 0x12, 0x25, 0x2e, 0x68, 0x79, 0x61, 0x70, 0x70, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x2e,
0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x47, 0x61, 0x6d,
0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x68, 0x79, 0x61, 0x70,
0x70, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x47, 0x61,
0x6d, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x69, 0x0a, 0x12, 0x4c,
0x69, 0x73, 0x74, 0x45, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x57, 0x69, 0x6e, 0x6e, 0x65, 0x72,
0x73, 0x12, 0x28, 0x2e, 0x68, 0x79, 0x61, 0x70, 0x70, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x2e, 0x76,
0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x57, 0x69, 0x6e,
0x6e, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x68, 0x79,
0x61, 0x70, 0x70, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74,
0x45, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x57, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x73, 0x52, 0x65,
0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x60, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x42, 0x72, 0x69,
0x64, 0x67, 0x65, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x12, 0x25, 0x2e, 0x68, 0x79, 0x61, 0x70,
0x70, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x72, 0x69,
0x64, 0x67, 0x65, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
0x1a, 0x26, 0x2e, 0x68, 0x79, 0x61, 0x70, 0x70, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x2e, 0x76, 0x31,
0x2e, 0x47, 0x65, 0x74, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74,
0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x51, 0x0a, 0x0a, 0x4c, 0x61, 0x75, 0x6e,
0x63, 0x68, 0x47, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x2e, 0x68, 0x79, 0x61, 0x70, 0x70, 0x2e, 0x67,
0x61, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x47, 0x61, 0x6d,
0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x68, 0x79, 0x61, 0x70, 0x70,
0x2e, 0x67, 0x61, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x47,
0x61, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x57, 0x0a, 0x0d, 0x47,
0x65, 0x74, 0x44, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x23, 0x2e, 0x68,
0x79, 0x61, 0x70, 0x70, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74,
0x44, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
0x74, 0x1a, 0x21, 0x2e, 0x68, 0x79, 0x61, 0x70, 0x70, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x2e, 0x76,
0x31, 0x2e, 0x44, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70,
0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4e, 0x0a, 0x09, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x44, 0x69, 0x63,
0x65, 0x12, 0x1f, 0x2e, 0x68, 0x79, 0x61, 0x70, 0x70, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x2e, 0x76,
0x31, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x44, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65,
0x73, 0x74, 0x1a, 0x20, 0x2e, 0x68, 0x79, 0x61, 0x70, 0x70, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x2e,
0x76, 0x31, 0x2e, 0x44, 0x69, 0x63, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70,
0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5a, 0x0a, 0x0f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x69,
0x63, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x25, 0x2e, 0x68, 0x79, 0x61, 0x70, 0x70, 0x2e,
0x67, 0x61, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x69,
0x63, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20,
0x2e, 0x68, 0x79, 0x61, 0x70, 0x70, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44,
0x69, 0x63, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
0x12, 0x56, 0x0a, 0x0d, 0x4a, 0x6f, 0x69, 0x6e, 0x44, 0x69, 0x63, 0x65, 0x4d, 0x61, 0x74, 0x63,
0x68, 0x12, 0x23, 0x2e, 0x68, 0x79, 0x61, 0x70, 0x70, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x2e, 0x76,
0x31, 0x2e, 0x4a, 0x6f, 0x69, 0x6e, 0x44, 0x69, 0x63, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52,
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x68, 0x79, 0x61, 0x70, 0x70, 0x2e, 0x67,
0x61, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, 0x63, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68,
0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x54, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x44,
0x69, 0x63, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x22, 0x2e, 0x68, 0x79, 0x61, 0x70, 0x70,
0x2e, 0x67, 0x61, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x69, 0x63, 0x65,
0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x68,
0x79, 0x61, 0x70, 0x70, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, 0x63,
0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x56,
0x0a, 0x0d, 0x52, 0x6f, 0x6c, 0x6c, 0x44, 0x69, 0x63, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12,
0x23, 0x2e, 0x68, 0x79, 0x61, 0x70, 0x70, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e,
0x52, 0x6f, 0x6c, 0x6c, 0x44, 0x69, 0x63, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71,
0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x68, 0x79, 0x61, 0x70, 0x70, 0x2e, 0x67, 0x61, 0x6d,
0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, 0x63, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65,
0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5a, 0x0a, 0x0f, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c,
0x44, 0x69, 0x63, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x25, 0x2e, 0x68, 0x79, 0x61, 0x70,
0x70, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c,
0x44, 0x69, 0x63, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
0x1a, 0x20, 0x2e, 0x68, 0x79, 0x61, 0x70, 0x70, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x2e, 0x76, 0x31,
0x2e, 0x44, 0x69, 0x63, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
0x73, 0x65, 0x12, 0x60, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x50, 0x53,
0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x26, 0x2e, 0x68, 0x79, 0x61, 0x70, 0x70, 0x2e, 0x67,
0x61, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x50,
0x53, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24,
0x2e, 0x68, 0x79, 0x61, 0x70, 0x70, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52,
0x6f, 0x6f, 0x6d, 0x52, 0x50, 0x53, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70,
0x6f, 0x6e, 0x73, 0x65, 0x12, 0x72, 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x6f, 0x6f, 0x6d,
0x52, 0x50, 0x53, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x73, 0x12, 0x2b, 0x2e,
0x68, 0x79, 0x61, 0x70, 0x70, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69,
0x73, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x50, 0x53, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e,
0x67, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x68, 0x79, 0x61,
0x70, 0x70, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52,
0x6f, 0x6f, 0x6d, 0x52, 0x50, 0x53, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x73,
0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6f, 0x0a, 0x16, 0x43, 0x72, 0x65, 0x61,
0x74, 0x65, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x50, 0x53, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e,
0x67, 0x65, 0x12, 0x2c, 0x2e, 0x68, 0x79, 0x61, 0x70, 0x70, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x2e,
0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x50, 0x53,
0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
0x1a, 0x27, 0x2e, 0x68, 0x79, 0x61, 0x70, 0x70, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x2e, 0x76, 0x31,
0x2e, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x50, 0x53, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67,
0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6f, 0x0a, 0x16, 0x41, 0x63, 0x63,
0x65, 0x70, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x50, 0x53, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65,
0x6e, 0x67, 0x65, 0x12, 0x2c, 0x2e, 0x68, 0x79, 0x61, 0x70, 0x70, 0x2e, 0x67, 0x61, 0x6d, 0x65,
0x2e, 0x76, 0x31, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x50,
0x53, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
0x74, 0x1a, 0x27, 0x2e, 0x68, 0x79, 0x61, 0x70, 0x70, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x2e, 0x76,
0x31, 0x2e, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x50, 0x53, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e,
0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x69, 0x0a, 0x13, 0x47, 0x65,
0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x50, 0x53, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67,
0x65, 0x12, 0x29, 0x2e, 0x68, 0x79, 0x61, 0x70, 0x70, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x2e, 0x76,
0x31, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x50, 0x53, 0x43, 0x68, 0x61, 0x6c,
0x6c, 0x65, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x68,
0x79, 0x61, 0x70, 0x70, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x6f, 0x6f,
0x6d, 0x52, 0x50, 0x53, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x73,
0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0x68, 0x0a, 0x13, 0x47, 0x61, 0x6d, 0x65, 0x43, 0x61, 0x6c,
0x6c, 0x62, 0x61, 0x63, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x51, 0x0a, 0x0e,
0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x43, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x12, 0x1e,
0x2e, 0x68, 0x79, 0x61, 0x70, 0x70, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43,
0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f,
0x2e, 0x68, 0x79, 0x61, 0x70, 0x70, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43,
0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32,
0x74, 0x0a, 0x0f, 0x47, 0x61, 0x6d, 0x65, 0x43, 0x72, 0x6f, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69,
0x63, 0x65, 0x12, 0x61, 0x0a, 0x1c, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x65, 0x76,
0x65, 0x6c, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4f, 0x75, 0x74, 0x62, 0x6f, 0x78, 0x42, 0x61, 0x74,
0x63, 0x68, 0x12, 0x1f, 0x2e, 0x68, 0x79, 0x61, 0x70, 0x70, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x2e,
0x76, 0x31, 0x2e, 0x43, 0x72, 0x6f, 0x6e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75,
0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x68, 0x79, 0x61, 0x70, 0x70, 0x2e, 0x67, 0x61, 0x6d, 0x65,
0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x6f, 0x6e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73,
0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0xd8, 0x12, 0x0a, 0x10, 0x47, 0x61, 0x6d, 0x65, 0x41, 0x64,
0x6d, 0x69, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x5a, 0x0a, 0x0d, 0x4c, 0x69,
0x73, 0x74, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x73, 0x12, 0x23, 0x2e, 0x68, 0x79,
0x61, 0x70, 0x70, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74,
0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
0x1a, 0x24, 0x2e, 0x68, 0x79, 0x61, 0x70, 0x70, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x2e, 0x76, 0x31,
0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x73, 0x52, 0x65,
0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x57, 0x0a, 0x0e, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74,
0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x24, 0x2e, 0x68, 0x79, 0x61, 0x70, 0x70,
0x2e, 0x67, 0x61, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x50,
0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f,
0x2e, 0x68, 0x79, 0x61, 0x70, 0x70, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50,
0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
0x54, 0x0a, 0x0b, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x12, 0x21,
0x2e, 0x68, 0x79, 0x61, 0x70, 0x70, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c,
0x69, 0x73, 0x74, 0x43, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
0x74, 0x1a, 0x22, 0x2e, 0x68, 0x79, 0x61, 0x70, 0x70, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x2e, 0x76,
0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x52, 0x65, 0x73,
0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x54, 0x0a, 0x0d, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x43,
0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x12, 0x23, 0x2e, 0x68, 0x79, 0x61, 0x70, 0x70, 0x2e, 0x67,
0x61, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x43, 0x61, 0x74,
0x61, 0x6c, 0x6f, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x68, 0x79,
0x61, 0x70, 0x70, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x61, 0x74, 0x61,
0x6c, 0x6f, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x54, 0x0a, 0x0d, 0x53,
0x65, 0x74, 0x47, 0x61, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x23, 0x2e, 0x68,
0x79, 0x61, 0x70, 0x70, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74,
0x47, 0x61, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
0x74, 0x1a, 0x1e, 0x2e, 0x68, 0x79, 0x61, 0x70, 0x70, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x2e, 0x76,
0x31, 0x2e, 0x43, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
0x65, 0x12, 0x5a, 0x0a, 0x0d, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x61, 0x74, 0x61, 0x6c,
0x6f, 0x67, 0x12, 0x23, 0x2e, 0x68, 0x79, 0x61, 0x70, 0x70, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x2e,
0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67,
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x68, 0x79, 0x61, 0x70, 0x70, 0x2e,
0x67, 0x61, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x61,
0x74, 0x61, 0x6c, 0x6f, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5a, 0x0a,
0x0d, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x6c, 0x66, 0x47, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x23,
0x2e, 0x68, 0x79, 0x61, 0x70, 0x70, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c,
0x69, 0x73, 0x74, 0x53, 0x65, 0x6c, 0x66, 0x47, 0x61, 0x6d, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75,
0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x68, 0x79, 0x61, 0x70, 0x70, 0x2e, 0x67, 0x61, 0x6d, 0x65,
0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x6c, 0x66, 0x47, 0x61, 0x6d, 0x65,
0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5d, 0x0a, 0x10, 0x55, 0x70, 0x64,
0x61, 0x74, 0x65, 0x44, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x26, 0x2e,
0x68, 0x79, 0x61, 0x70, 0x70, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70,
0x64, 0x61, 0x74, 0x65, 0x44, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65,
0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x68, 0x79, 0x61, 0x70, 0x70, 0x2e, 0x67, 0x61,
0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x78, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x53,
0x65, 0x6c, 0x66, 0x47, 0x61, 0x6d, 0x65, 0x4e, 0x65, 0x77, 0x55, 0x73, 0x65, 0x72, 0x50, 0x6f,
0x6c, 0x69, 0x63, 0x79, 0x12, 0x2e, 0x2e, 0x68, 0x79, 0x61, 0x70, 0x70, 0x2e, 0x67, 0x61, 0x6d,
0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x65, 0x6c, 0x66, 0x47, 0x61, 0x6d, 0x65,
0x4e, 0x65, 0x77, 0x55, 0x73, 0x65, 0x72, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71,
0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x68, 0x79, 0x61, 0x70, 0x70, 0x2e, 0x67, 0x61, 0x6d,
0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x6c, 0x66, 0x47, 0x61, 0x6d, 0x65, 0x4e, 0x65, 0x77,
0x55, 0x73, 0x65, 0x72, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
0x73, 0x65, 0x12, 0x7e, 0x0a, 0x1b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x6c, 0x66,
0x47, 0x61, 0x6d, 0x65, 0x4e, 0x65, 0x77, 0x55, 0x73, 0x65, 0x72, 0x50, 0x6f, 0x6c, 0x69, 0x63,
0x79, 0x12, 0x31, 0x2e, 0x68, 0x79, 0x61, 0x70, 0x70, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x2e, 0x76,
0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x6c, 0x66, 0x47, 0x61, 0x6d, 0x65,
0x4e, 0x65, 0x77, 0x55, 0x73, 0x65, 0x72, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71,
0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x68, 0x79, 0x61, 0x70, 0x70, 0x2e, 0x67, 0x61, 0x6d,
0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x6c, 0x66, 0x47, 0x61, 0x6d, 0x65, 0x4e, 0x65, 0x77,
0x55, 0x73, 0x65, 0x72, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
0x73, 0x65, 0x12, 0x75, 0x0a, 0x16, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x6c, 0x66, 0x47, 0x61,
0x6d, 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x73, 0x12, 0x2c, 0x2e, 0x68,
0x79, 0x61, 0x70, 0x70, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73,
0x74, 0x53, 0x65, 0x6c, 0x66, 0x47, 0x61, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x50, 0x6f,
0x6f, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x68, 0x79, 0x61,
0x70, 0x70, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53,
0x65, 0x6c, 0x66, 0x47, 0x61, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x50, 0x6f, 0x6f, 0x6c,
0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x72, 0x0a, 0x17, 0x55, 0x70, 0x64,
0x61, 0x74, 0x65, 0x53, 0x65, 0x6c, 0x66, 0x47, 0x61, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65,
0x50, 0x6f, 0x6f, 0x6c, 0x12, 0x2d, 0x2e, 0x68, 0x79, 0x61, 0x70, 0x70, 0x2e, 0x67, 0x61, 0x6d,
0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x6c, 0x66, 0x47,
0x61, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x71, 0x75,
0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x68, 0x79, 0x61, 0x70, 0x70, 0x2e, 0x67, 0x61, 0x6d, 0x65,
0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x6c, 0x66, 0x47, 0x61, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x6b,
0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x78, 0x0a,
0x17, 0x41, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x53, 0x65, 0x6c, 0x66, 0x47, 0x61, 0x6d, 0x65, 0x53,
0x74, 0x61, 0x6b, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x12, 0x2d, 0x2e, 0x68, 0x79, 0x61, 0x70, 0x70,
0x2e, 0x67, 0x61, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x53,
0x65, 0x6c, 0x66, 0x47, 0x61, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x50, 0x6f, 0x6f, 0x6c,
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x68, 0x79, 0x61, 0x70, 0x70, 0x2e,
0x67, 0x61, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x53, 0x65,
0x6c, 0x66, 0x47, 0x61, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x52,
0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5d, 0x0a, 0x0e, 0x4c, 0x69, 0x73, 0x74, 0x44,
0x69, 0x63, 0x65, 0x52, 0x6f, 0x62, 0x6f, 0x74, 0x73, 0x12, 0x24, 0x2e, 0x68, 0x79, 0x61, 0x70,
0x70, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x69,
0x63, 0x65, 0x52, 0x6f, 0x62, 0x6f, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
0x25, 0x2e, 0x68, 0x79, 0x61, 0x70, 0x70, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e,
0x4c, 0x69, 0x73, 0x74, 0x44, 0x69, 0x63, 0x65, 0x52, 0x6f, 0x62, 0x6f, 0x74, 0x73, 0x52, 0x65,
0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x69, 0x0a, 0x12, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74,
0x65, 0x72, 0x44, 0x69, 0x63, 0x65, 0x52, 0x6f, 0x62, 0x6f, 0x74, 0x73, 0x12, 0x28, 0x2e, 0x68,
0x79, 0x61, 0x70, 0x70, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x67,
0x69, 0x73, 0x74, 0x65, 0x72, 0x44, 0x69, 0x63, 0x65, 0x52, 0x6f, 0x62, 0x6f, 0x74, 0x73, 0x52,
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x68, 0x79, 0x61, 0x70, 0x70, 0x2e, 0x67,
0x61, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x44,
0x69, 0x63, 0x65, 0x52, 0x6f, 0x62, 0x6f, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
0x65, 0x12, 0x60, 0x0a, 0x12, 0x53, 0x65, 0x74, 0x44, 0x69, 0x63, 0x65, 0x52, 0x6f, 0x62, 0x6f,
0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x28, 0x2e, 0x68, 0x79, 0x61, 0x70, 0x70, 0x2e,
0x67, 0x61, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x44, 0x69, 0x63, 0x65, 0x52,
0x6f, 0x62, 0x6f, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
0x74, 0x1a, 0x20, 0x2e, 0x68, 0x79, 0x61, 0x70, 0x70, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x2e, 0x76,
0x31, 0x2e, 0x44, 0x69, 0x63, 0x65, 0x52, 0x6f, 0x62, 0x6f, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f,
0x6e, 0x73, 0x65, 0x12, 0x60, 0x0a, 0x0f, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, 0x69, 0x63,
0x65, 0x52, 0x6f, 0x62, 0x6f, 0x74, 0x12, 0x25, 0x2e, 0x68, 0x79, 0x61, 0x70, 0x70, 0x2e, 0x67,
0x61, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, 0x69, 0x63,
0x65, 0x52, 0x6f, 0x62, 0x6f, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e,
0x68, 0x79, 0x61, 0x70, 0x70, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65,
0x6c, 0x65, 0x74, 0x65, 0x44, 0x69, 0x63, 0x65, 0x52, 0x6f, 0x62, 0x6f, 0x74, 0x52, 0x65, 0x73,
0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x60, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d,
0x52, 0x50, 0x53, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x26, 0x2e, 0x68, 0x79, 0x61, 0x70,
0x70, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f,
0x6d, 0x52, 0x50, 0x53, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
0x74, 0x1a, 0x24, 0x2e, 0x68, 0x79, 0x61, 0x70, 0x70, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x2e, 0x76,
0x31, 0x2e, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x50, 0x53, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52,
0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x66, 0x0a, 0x13, 0x55, 0x70, 0x64, 0x61, 0x74,
0x65, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x50, 0x53, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x29,
0x2e, 0x68, 0x79, 0x61, 0x70, 0x70, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55,
0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x50, 0x53, 0x43, 0x6f, 0x6e, 0x66,
0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x68, 0x79, 0x61, 0x70,
0x70, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x50,
0x53, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
0x72, 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x50, 0x53, 0x43, 0x68,
0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x73, 0x12, 0x2b, 0x2e, 0x68, 0x79, 0x61, 0x70, 0x70,
0x2e, 0x67, 0x61, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x6f, 0x6f,
0x6d, 0x52, 0x50, 0x53, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x73, 0x52, 0x65,
0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x68, 0x79, 0x61, 0x70, 0x70, 0x2e, 0x67, 0x61,
0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x50,
0x53, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f,
0x6e, 0x73, 0x65, 0x12, 0x69, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x50,
0x53, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x12, 0x29, 0x2e, 0x68, 0x79, 0x61,
0x70, 0x70, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x6f,
0x6f, 0x6d, 0x52, 0x50, 0x53, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x52, 0x65,
0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x68, 0x79, 0x61, 0x70, 0x70, 0x2e, 0x67, 0x61,
0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x50, 0x53, 0x43, 0x68, 0x61,
0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6f,
0x0a, 0x16, 0x52, 0x65, 0x74, 0x72, 0x79, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x50, 0x53, 0x53, 0x65,
0x74, 0x74, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x2c, 0x2e, 0x68, 0x79, 0x61, 0x70, 0x70,
0x2e, 0x67, 0x61, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x74, 0x72, 0x79, 0x52, 0x6f,
0x6f, 0x6d, 0x52, 0x50, 0x53, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52,
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x68, 0x79, 0x61, 0x70, 0x70, 0x2e, 0x67,
0x61, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x50, 0x53, 0x43, 0x68,
0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
0x6f, 0x0a, 0x16, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x50, 0x53,
0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x12, 0x2c, 0x2e, 0x68, 0x79, 0x61, 0x70,
0x70, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65,
0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x50, 0x53, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65,
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x68, 0x79, 0x61, 0x70, 0x70, 0x2e,
0x67, 0x61, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x50, 0x53, 0x43,
0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
0x42, 0x26, 0x5a, 0x24, 0x68, 0x79, 0x61, 0x70, 0x70, 0x2e, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x2f,
0x61, 0x70, 0x69, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x61, 0x6d, 0x65, 0x2f, 0x76,
0x31, 0x3b, 0x67, 0x61, 0x6d, 0x65, 0x76, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
file_proto_game_v1_game_proto_rawDescOnce sync.Once
file_proto_game_v1_game_proto_rawDescData = file_proto_game_v1_game_proto_rawDesc
)
func file_proto_game_v1_game_proto_rawDescGZIP() []byte {
file_proto_game_v1_game_proto_rawDescOnce.Do(func() {
file_proto_game_v1_game_proto_rawDescData = protoimpl.X.CompressGZIP(file_proto_game_v1_game_proto_rawDescData)
})
return file_proto_game_v1_game_proto_rawDescData
}
var file_proto_game_v1_game_proto_msgTypes = make([]protoimpl.MessageInfo, 84)
var file_proto_game_v1_game_proto_goTypes = []any{
(*RequestMeta)(nil), // 0: hyapp.game.v1.RequestMeta
(*GamePlatform)(nil), // 1: hyapp.game.v1.GamePlatform
(*GameCatalogItem)(nil), // 2: hyapp.game.v1.GameCatalogItem
(*AppGame)(nil), // 3: hyapp.game.v1.AppGame
(*ListGamesRequest)(nil), // 4: hyapp.game.v1.ListGamesRequest
(*ListGamesResponse)(nil), // 5: hyapp.game.v1.ListGamesResponse
(*ListRecentGamesRequest)(nil), // 6: hyapp.game.v1.ListRecentGamesRequest
(*ListExploreWinnersRequest)(nil), // 7: hyapp.game.v1.ListExploreWinnersRequest
(*ExploreWinner)(nil), // 8: hyapp.game.v1.ExploreWinner
(*ListExploreWinnersResponse)(nil), // 9: hyapp.game.v1.ListExploreWinnersResponse
(*GetBridgeScriptRequest)(nil), // 10: hyapp.game.v1.GetBridgeScriptRequest
(*GameBridgeScriptConfig)(nil), // 11: hyapp.game.v1.GameBridgeScriptConfig
(*GetBridgeScriptResponse)(nil), // 12: hyapp.game.v1.GetBridgeScriptResponse
(*LaunchGameRequest)(nil), // 13: hyapp.game.v1.LaunchGameRequest
(*LaunchGameResponse)(nil), // 14: hyapp.game.v1.LaunchGameResponse
(*DiceParticipant)(nil), // 15: hyapp.game.v1.DiceParticipant
(*DiceMatch)(nil), // 16: hyapp.game.v1.DiceMatch
(*DiceStakeOption)(nil), // 17: hyapp.game.v1.DiceStakeOption
(*DiceConfig)(nil), // 18: hyapp.game.v1.DiceConfig
(*GetDiceConfigRequest)(nil), // 19: hyapp.game.v1.GetDiceConfigRequest
(*DiceConfigResponse)(nil), // 20: hyapp.game.v1.DiceConfigResponse
(*RoomRPSStakeGift)(nil), // 21: hyapp.game.v1.RoomRPSStakeGift
(*RoomRPSConfig)(nil), // 22: hyapp.game.v1.RoomRPSConfig
(*RoomRPSPlayer)(nil), // 23: hyapp.game.v1.RoomRPSPlayer
(*RoomRPSChallenge)(nil), // 24: hyapp.game.v1.RoomRPSChallenge
(*GetRoomRPSConfigRequest)(nil), // 25: hyapp.game.v1.GetRoomRPSConfigRequest
(*RoomRPSConfigResponse)(nil), // 26: hyapp.game.v1.RoomRPSConfigResponse
(*CreateRoomRPSChallengeRequest)(nil), // 27: hyapp.game.v1.CreateRoomRPSChallengeRequest
(*AcceptRoomRPSChallengeRequest)(nil), // 28: hyapp.game.v1.AcceptRoomRPSChallengeRequest
(*GetRoomRPSChallengeRequest)(nil), // 29: hyapp.game.v1.GetRoomRPSChallengeRequest
(*ListRoomRPSChallengesRequest)(nil), // 30: hyapp.game.v1.ListRoomRPSChallengesRequest
(*RoomRPSChallengeResponse)(nil), // 31: hyapp.game.v1.RoomRPSChallengeResponse
(*ListRoomRPSChallengesResponse)(nil), // 32: hyapp.game.v1.ListRoomRPSChallengesResponse
(*UpdateRoomRPSConfigRequest)(nil), // 33: hyapp.game.v1.UpdateRoomRPSConfigRequest
(*RetryRoomRPSSettlementRequest)(nil), // 34: hyapp.game.v1.RetryRoomRPSSettlementRequest
(*ExpireRoomRPSChallengeRequest)(nil), // 35: hyapp.game.v1.ExpireRoomRPSChallengeRequest
(*CreateDiceMatchRequest)(nil), // 36: hyapp.game.v1.CreateDiceMatchRequest
(*JoinDiceMatchRequest)(nil), // 37: hyapp.game.v1.JoinDiceMatchRequest
(*GetDiceMatchRequest)(nil), // 38: hyapp.game.v1.GetDiceMatchRequest
(*RollDiceMatchRequest)(nil), // 39: hyapp.game.v1.RollDiceMatchRequest
(*MatchDiceRequest)(nil), // 40: hyapp.game.v1.MatchDiceRequest
(*CancelDiceMatchRequest)(nil), // 41: hyapp.game.v1.CancelDiceMatchRequest
(*DiceMatchResponse)(nil), // 42: hyapp.game.v1.DiceMatchResponse
(*CallbackRequest)(nil), // 43: hyapp.game.v1.CallbackRequest
(*CallbackResponse)(nil), // 44: hyapp.game.v1.CallbackResponse
(*CronBatchRequest)(nil), // 45: hyapp.game.v1.CronBatchRequest
(*CronBatchResponse)(nil), // 46: hyapp.game.v1.CronBatchResponse
(*ListPlatformsRequest)(nil), // 47: hyapp.game.v1.ListPlatformsRequest
(*ListPlatformsResponse)(nil), // 48: hyapp.game.v1.ListPlatformsResponse
(*UpsertPlatformRequest)(nil), // 49: hyapp.game.v1.UpsertPlatformRequest
(*PlatformResponse)(nil), // 50: hyapp.game.v1.PlatformResponse
(*ListCatalogRequest)(nil), // 51: hyapp.game.v1.ListCatalogRequest
(*ListCatalogResponse)(nil), // 52: hyapp.game.v1.ListCatalogResponse
(*UpsertCatalogRequest)(nil), // 53: hyapp.game.v1.UpsertCatalogRequest
(*CatalogResponse)(nil), // 54: hyapp.game.v1.CatalogResponse
(*SetGameStatusRequest)(nil), // 55: hyapp.game.v1.SetGameStatusRequest
(*DeleteCatalogRequest)(nil), // 56: hyapp.game.v1.DeleteCatalogRequest
(*DeleteCatalogResponse)(nil), // 57: hyapp.game.v1.DeleteCatalogResponse
(*ListSelfGamesRequest)(nil), // 58: hyapp.game.v1.ListSelfGamesRequest
(*ListSelfGamesResponse)(nil), // 59: hyapp.game.v1.ListSelfGamesResponse
(*UpdateDiceConfigRequest)(nil), // 60: hyapp.game.v1.UpdateDiceConfigRequest
(*SelfGameNewUserPolicy)(nil), // 61: hyapp.game.v1.SelfGameNewUserPolicy
(*GetSelfGameNewUserPolicyRequest)(nil), // 62: hyapp.game.v1.GetSelfGameNewUserPolicyRequest
(*UpdateSelfGameNewUserPolicyRequest)(nil), // 63: hyapp.game.v1.UpdateSelfGameNewUserPolicyRequest
(*SelfGameNewUserPolicyResponse)(nil), // 64: hyapp.game.v1.SelfGameNewUserPolicyResponse
(*SelfGameStakePool)(nil), // 65: hyapp.game.v1.SelfGameStakePool
(*ListSelfGameStakePoolsRequest)(nil), // 66: hyapp.game.v1.ListSelfGameStakePoolsRequest
(*UpdateSelfGameStakePoolRequest)(nil), // 67: hyapp.game.v1.UpdateSelfGameStakePoolRequest
(*SelfGameStakePoolResponse)(nil), // 68: hyapp.game.v1.SelfGameStakePoolResponse
(*ListSelfGameStakePoolsResponse)(nil), // 69: hyapp.game.v1.ListSelfGameStakePoolsResponse
(*DicePoolAdjustment)(nil), // 70: hyapp.game.v1.DicePoolAdjustment
(*AdjustSelfGameStakePoolRequest)(nil), // 71: hyapp.game.v1.AdjustSelfGameStakePoolRequest
(*AdjustSelfGameStakePoolResponse)(nil), // 72: hyapp.game.v1.AdjustSelfGameStakePoolResponse
(*DiceRobot)(nil), // 73: hyapp.game.v1.DiceRobot
(*ListDiceRobotsRequest)(nil), // 74: hyapp.game.v1.ListDiceRobotsRequest
(*ListDiceRobotsResponse)(nil), // 75: hyapp.game.v1.ListDiceRobotsResponse
(*RegisterDiceRobotsRequest)(nil), // 76: hyapp.game.v1.RegisterDiceRobotsRequest
(*RegisterDiceRobotsResponse)(nil), // 77: hyapp.game.v1.RegisterDiceRobotsResponse
(*SetDiceRobotStatusRequest)(nil), // 78: hyapp.game.v1.SetDiceRobotStatusRequest
(*DeleteDiceRobotRequest)(nil), // 79: hyapp.game.v1.DeleteDiceRobotRequest
(*DeleteDiceRobotResponse)(nil), // 80: hyapp.game.v1.DeleteDiceRobotResponse
(*DiceRobotResponse)(nil), // 81: hyapp.game.v1.DiceRobotResponse
nil, // 82: hyapp.game.v1.CallbackRequest.HeadersEntry
nil, // 83: hyapp.game.v1.CallbackRequest.QueryEntry
}
var file_proto_game_v1_game_proto_depIdxs = []int32{
0, // 0: hyapp.game.v1.ListGamesRequest.meta:type_name -> hyapp.game.v1.RequestMeta
3, // 1: hyapp.game.v1.ListGamesResponse.games:type_name -> hyapp.game.v1.AppGame
0, // 2: hyapp.game.v1.ListRecentGamesRequest.meta:type_name -> hyapp.game.v1.RequestMeta
0, // 3: hyapp.game.v1.ListExploreWinnersRequest.meta:type_name -> hyapp.game.v1.RequestMeta
8, // 4: hyapp.game.v1.ListExploreWinnersResponse.winners:type_name -> hyapp.game.v1.ExploreWinner
0, // 5: hyapp.game.v1.GetBridgeScriptRequest.meta:type_name -> hyapp.game.v1.RequestMeta
11, // 6: hyapp.game.v1.GetBridgeScriptResponse.config:type_name -> hyapp.game.v1.GameBridgeScriptConfig
0, // 7: hyapp.game.v1.LaunchGameRequest.meta:type_name -> hyapp.game.v1.RequestMeta
15, // 8: hyapp.game.v1.DiceMatch.participants:type_name -> hyapp.game.v1.DiceParticipant
17, // 9: hyapp.game.v1.DiceConfig.stake_options:type_name -> hyapp.game.v1.DiceStakeOption
0, // 10: hyapp.game.v1.GetDiceConfigRequest.meta:type_name -> hyapp.game.v1.RequestMeta
18, // 11: hyapp.game.v1.DiceConfigResponse.config:type_name -> hyapp.game.v1.DiceConfig
21, // 12: hyapp.game.v1.RoomRPSConfig.stake_gifts:type_name -> hyapp.game.v1.RoomRPSStakeGift
23, // 13: hyapp.game.v1.RoomRPSChallenge.initiator:type_name -> hyapp.game.v1.RoomRPSPlayer
23, // 14: hyapp.game.v1.RoomRPSChallenge.challenger:type_name -> hyapp.game.v1.RoomRPSPlayer
0, // 15: hyapp.game.v1.GetRoomRPSConfigRequest.meta:type_name -> hyapp.game.v1.RequestMeta
22, // 16: hyapp.game.v1.RoomRPSConfigResponse.config:type_name -> hyapp.game.v1.RoomRPSConfig
0, // 17: hyapp.game.v1.CreateRoomRPSChallengeRequest.meta:type_name -> hyapp.game.v1.RequestMeta
0, // 18: hyapp.game.v1.AcceptRoomRPSChallengeRequest.meta:type_name -> hyapp.game.v1.RequestMeta
0, // 19: hyapp.game.v1.GetRoomRPSChallengeRequest.meta:type_name -> hyapp.game.v1.RequestMeta
0, // 20: hyapp.game.v1.ListRoomRPSChallengesRequest.meta:type_name -> hyapp.game.v1.RequestMeta
24, // 21: hyapp.game.v1.RoomRPSChallengeResponse.challenge:type_name -> hyapp.game.v1.RoomRPSChallenge
24, // 22: hyapp.game.v1.ListRoomRPSChallengesResponse.challenges:type_name -> hyapp.game.v1.RoomRPSChallenge
0, // 23: hyapp.game.v1.UpdateRoomRPSConfigRequest.meta:type_name -> hyapp.game.v1.RequestMeta
22, // 24: hyapp.game.v1.UpdateRoomRPSConfigRequest.config:type_name -> hyapp.game.v1.RoomRPSConfig
0, // 25: hyapp.game.v1.RetryRoomRPSSettlementRequest.meta:type_name -> hyapp.game.v1.RequestMeta
0, // 26: hyapp.game.v1.ExpireRoomRPSChallengeRequest.meta:type_name -> hyapp.game.v1.RequestMeta
0, // 27: hyapp.game.v1.CreateDiceMatchRequest.meta:type_name -> hyapp.game.v1.RequestMeta
0, // 28: hyapp.game.v1.JoinDiceMatchRequest.meta:type_name -> hyapp.game.v1.RequestMeta
0, // 29: hyapp.game.v1.GetDiceMatchRequest.meta:type_name -> hyapp.game.v1.RequestMeta
0, // 30: hyapp.game.v1.RollDiceMatchRequest.meta:type_name -> hyapp.game.v1.RequestMeta
0, // 31: hyapp.game.v1.MatchDiceRequest.meta:type_name -> hyapp.game.v1.RequestMeta
0, // 32: hyapp.game.v1.CancelDiceMatchRequest.meta:type_name -> hyapp.game.v1.RequestMeta
16, // 33: hyapp.game.v1.DiceMatchResponse.match:type_name -> hyapp.game.v1.DiceMatch
0, // 34: hyapp.game.v1.CallbackRequest.meta:type_name -> hyapp.game.v1.RequestMeta
82, // 35: hyapp.game.v1.CallbackRequest.headers:type_name -> hyapp.game.v1.CallbackRequest.HeadersEntry
83, // 36: hyapp.game.v1.CallbackRequest.query:type_name -> hyapp.game.v1.CallbackRequest.QueryEntry
0, // 37: hyapp.game.v1.CronBatchRequest.meta:type_name -> hyapp.game.v1.RequestMeta
0, // 38: hyapp.game.v1.ListPlatformsRequest.meta:type_name -> hyapp.game.v1.RequestMeta
1, // 39: hyapp.game.v1.ListPlatformsResponse.platforms:type_name -> hyapp.game.v1.GamePlatform
0, // 40: hyapp.game.v1.UpsertPlatformRequest.meta:type_name -> hyapp.game.v1.RequestMeta
1, // 41: hyapp.game.v1.UpsertPlatformRequest.platform:type_name -> hyapp.game.v1.GamePlatform
1, // 42: hyapp.game.v1.PlatformResponse.platform:type_name -> hyapp.game.v1.GamePlatform
0, // 43: hyapp.game.v1.ListCatalogRequest.meta:type_name -> hyapp.game.v1.RequestMeta
2, // 44: hyapp.game.v1.ListCatalogResponse.games:type_name -> hyapp.game.v1.GameCatalogItem
0, // 45: hyapp.game.v1.UpsertCatalogRequest.meta:type_name -> hyapp.game.v1.RequestMeta
2, // 46: hyapp.game.v1.UpsertCatalogRequest.game:type_name -> hyapp.game.v1.GameCatalogItem
2, // 47: hyapp.game.v1.CatalogResponse.game:type_name -> hyapp.game.v1.GameCatalogItem
0, // 48: hyapp.game.v1.SetGameStatusRequest.meta:type_name -> hyapp.game.v1.RequestMeta
0, // 49: hyapp.game.v1.DeleteCatalogRequest.meta:type_name -> hyapp.game.v1.RequestMeta
0, // 50: hyapp.game.v1.ListSelfGamesRequest.meta:type_name -> hyapp.game.v1.RequestMeta
18, // 51: hyapp.game.v1.ListSelfGamesResponse.games:type_name -> hyapp.game.v1.DiceConfig
0, // 52: hyapp.game.v1.UpdateDiceConfigRequest.meta:type_name -> hyapp.game.v1.RequestMeta
18, // 53: hyapp.game.v1.UpdateDiceConfigRequest.config:type_name -> hyapp.game.v1.DiceConfig
0, // 54: hyapp.game.v1.GetSelfGameNewUserPolicyRequest.meta:type_name -> hyapp.game.v1.RequestMeta
0, // 55: hyapp.game.v1.UpdateSelfGameNewUserPolicyRequest.meta:type_name -> hyapp.game.v1.RequestMeta
61, // 56: hyapp.game.v1.UpdateSelfGameNewUserPolicyRequest.policy:type_name -> hyapp.game.v1.SelfGameNewUserPolicy
61, // 57: hyapp.game.v1.SelfGameNewUserPolicyResponse.policy:type_name -> hyapp.game.v1.SelfGameNewUserPolicy
0, // 58: hyapp.game.v1.ListSelfGameStakePoolsRequest.meta:type_name -> hyapp.game.v1.RequestMeta
0, // 59: hyapp.game.v1.UpdateSelfGameStakePoolRequest.meta:type_name -> hyapp.game.v1.RequestMeta
65, // 60: hyapp.game.v1.UpdateSelfGameStakePoolRequest.pool:type_name -> hyapp.game.v1.SelfGameStakePool
65, // 61: hyapp.game.v1.SelfGameStakePoolResponse.pool:type_name -> hyapp.game.v1.SelfGameStakePool
65, // 62: hyapp.game.v1.ListSelfGameStakePoolsResponse.pools:type_name -> hyapp.game.v1.SelfGameStakePool
0, // 63: hyapp.game.v1.AdjustSelfGameStakePoolRequest.meta:type_name -> hyapp.game.v1.RequestMeta
70, // 64: hyapp.game.v1.AdjustSelfGameStakePoolResponse.adjustment:type_name -> hyapp.game.v1.DicePoolAdjustment
18, // 65: hyapp.game.v1.AdjustSelfGameStakePoolResponse.config:type_name -> hyapp.game.v1.DiceConfig
0, // 66: hyapp.game.v1.ListDiceRobotsRequest.meta:type_name -> hyapp.game.v1.RequestMeta
73, // 67: hyapp.game.v1.ListDiceRobotsResponse.robots:type_name -> hyapp.game.v1.DiceRobot
0, // 68: hyapp.game.v1.RegisterDiceRobotsRequest.meta:type_name -> hyapp.game.v1.RequestMeta
73, // 69: hyapp.game.v1.RegisterDiceRobotsResponse.robots:type_name -> hyapp.game.v1.DiceRobot
0, // 70: hyapp.game.v1.SetDiceRobotStatusRequest.meta:type_name -> hyapp.game.v1.RequestMeta
0, // 71: hyapp.game.v1.DeleteDiceRobotRequest.meta:type_name -> hyapp.game.v1.RequestMeta
73, // 72: hyapp.game.v1.DiceRobotResponse.robot:type_name -> hyapp.game.v1.DiceRobot
4, // 73: hyapp.game.v1.GameAppService.ListGames:input_type -> hyapp.game.v1.ListGamesRequest
6, // 74: hyapp.game.v1.GameAppService.ListRecentGames:input_type -> hyapp.game.v1.ListRecentGamesRequest
7, // 75: hyapp.game.v1.GameAppService.ListExploreWinners:input_type -> hyapp.game.v1.ListExploreWinnersRequest
10, // 76: hyapp.game.v1.GameAppService.GetBridgeScript:input_type -> hyapp.game.v1.GetBridgeScriptRequest
13, // 77: hyapp.game.v1.GameAppService.LaunchGame:input_type -> hyapp.game.v1.LaunchGameRequest
19, // 78: hyapp.game.v1.GameAppService.GetDiceConfig:input_type -> hyapp.game.v1.GetDiceConfigRequest
40, // 79: hyapp.game.v1.GameAppService.MatchDice:input_type -> hyapp.game.v1.MatchDiceRequest
36, // 80: hyapp.game.v1.GameAppService.CreateDiceMatch:input_type -> hyapp.game.v1.CreateDiceMatchRequest
37, // 81: hyapp.game.v1.GameAppService.JoinDiceMatch:input_type -> hyapp.game.v1.JoinDiceMatchRequest
38, // 82: hyapp.game.v1.GameAppService.GetDiceMatch:input_type -> hyapp.game.v1.GetDiceMatchRequest
39, // 83: hyapp.game.v1.GameAppService.RollDiceMatch:input_type -> hyapp.game.v1.RollDiceMatchRequest
41, // 84: hyapp.game.v1.GameAppService.CancelDiceMatch:input_type -> hyapp.game.v1.CancelDiceMatchRequest
25, // 85: hyapp.game.v1.GameAppService.GetRoomRPSConfig:input_type -> hyapp.game.v1.GetRoomRPSConfigRequest
30, // 86: hyapp.game.v1.GameAppService.ListRoomRPSChallenges:input_type -> hyapp.game.v1.ListRoomRPSChallengesRequest
27, // 87: hyapp.game.v1.GameAppService.CreateRoomRPSChallenge:input_type -> hyapp.game.v1.CreateRoomRPSChallengeRequest
28, // 88: hyapp.game.v1.GameAppService.AcceptRoomRPSChallenge:input_type -> hyapp.game.v1.AcceptRoomRPSChallengeRequest
29, // 89: hyapp.game.v1.GameAppService.GetRoomRPSChallenge:input_type -> hyapp.game.v1.GetRoomRPSChallengeRequest
43, // 90: hyapp.game.v1.GameCallbackService.HandleCallback:input_type -> hyapp.game.v1.CallbackRequest
45, // 91: hyapp.game.v1.GameCronService.ProcessLevelEventOutboxBatch:input_type -> hyapp.game.v1.CronBatchRequest
47, // 92: hyapp.game.v1.GameAdminService.ListPlatforms:input_type -> hyapp.game.v1.ListPlatformsRequest
49, // 93: hyapp.game.v1.GameAdminService.UpsertPlatform:input_type -> hyapp.game.v1.UpsertPlatformRequest
51, // 94: hyapp.game.v1.GameAdminService.ListCatalog:input_type -> hyapp.game.v1.ListCatalogRequest
53, // 95: hyapp.game.v1.GameAdminService.UpsertCatalog:input_type -> hyapp.game.v1.UpsertCatalogRequest
55, // 96: hyapp.game.v1.GameAdminService.SetGameStatus:input_type -> hyapp.game.v1.SetGameStatusRequest
56, // 97: hyapp.game.v1.GameAdminService.DeleteCatalog:input_type -> hyapp.game.v1.DeleteCatalogRequest
58, // 98: hyapp.game.v1.GameAdminService.ListSelfGames:input_type -> hyapp.game.v1.ListSelfGamesRequest
60, // 99: hyapp.game.v1.GameAdminService.UpdateDiceConfig:input_type -> hyapp.game.v1.UpdateDiceConfigRequest
62, // 100: hyapp.game.v1.GameAdminService.GetSelfGameNewUserPolicy:input_type -> hyapp.game.v1.GetSelfGameNewUserPolicyRequest
63, // 101: hyapp.game.v1.GameAdminService.UpdateSelfGameNewUserPolicy:input_type -> hyapp.game.v1.UpdateSelfGameNewUserPolicyRequest
66, // 102: hyapp.game.v1.GameAdminService.ListSelfGameStakePools:input_type -> hyapp.game.v1.ListSelfGameStakePoolsRequest
67, // 103: hyapp.game.v1.GameAdminService.UpdateSelfGameStakePool:input_type -> hyapp.game.v1.UpdateSelfGameStakePoolRequest
71, // 104: hyapp.game.v1.GameAdminService.AdjustSelfGameStakePool:input_type -> hyapp.game.v1.AdjustSelfGameStakePoolRequest
74, // 105: hyapp.game.v1.GameAdminService.ListDiceRobots:input_type -> hyapp.game.v1.ListDiceRobotsRequest
76, // 106: hyapp.game.v1.GameAdminService.RegisterDiceRobots:input_type -> hyapp.game.v1.RegisterDiceRobotsRequest
78, // 107: hyapp.game.v1.GameAdminService.SetDiceRobotStatus:input_type -> hyapp.game.v1.SetDiceRobotStatusRequest
79, // 108: hyapp.game.v1.GameAdminService.DeleteDiceRobot:input_type -> hyapp.game.v1.DeleteDiceRobotRequest
25, // 109: hyapp.game.v1.GameAdminService.GetRoomRPSConfig:input_type -> hyapp.game.v1.GetRoomRPSConfigRequest
33, // 110: hyapp.game.v1.GameAdminService.UpdateRoomRPSConfig:input_type -> hyapp.game.v1.UpdateRoomRPSConfigRequest
30, // 111: hyapp.game.v1.GameAdminService.ListRoomRPSChallenges:input_type -> hyapp.game.v1.ListRoomRPSChallengesRequest
29, // 112: hyapp.game.v1.GameAdminService.GetRoomRPSChallenge:input_type -> hyapp.game.v1.GetRoomRPSChallengeRequest
34, // 113: hyapp.game.v1.GameAdminService.RetryRoomRPSSettlement:input_type -> hyapp.game.v1.RetryRoomRPSSettlementRequest
35, // 114: hyapp.game.v1.GameAdminService.ExpireRoomRPSChallenge:input_type -> hyapp.game.v1.ExpireRoomRPSChallengeRequest
5, // 115: hyapp.game.v1.GameAppService.ListGames:output_type -> hyapp.game.v1.ListGamesResponse
5, // 116: hyapp.game.v1.GameAppService.ListRecentGames:output_type -> hyapp.game.v1.ListGamesResponse
9, // 117: hyapp.game.v1.GameAppService.ListExploreWinners:output_type -> hyapp.game.v1.ListExploreWinnersResponse
12, // 118: hyapp.game.v1.GameAppService.GetBridgeScript:output_type -> hyapp.game.v1.GetBridgeScriptResponse
14, // 119: hyapp.game.v1.GameAppService.LaunchGame:output_type -> hyapp.game.v1.LaunchGameResponse
20, // 120: hyapp.game.v1.GameAppService.GetDiceConfig:output_type -> hyapp.game.v1.DiceConfigResponse
42, // 121: hyapp.game.v1.GameAppService.MatchDice:output_type -> hyapp.game.v1.DiceMatchResponse
42, // 122: hyapp.game.v1.GameAppService.CreateDiceMatch:output_type -> hyapp.game.v1.DiceMatchResponse
42, // 123: hyapp.game.v1.GameAppService.JoinDiceMatch:output_type -> hyapp.game.v1.DiceMatchResponse
42, // 124: hyapp.game.v1.GameAppService.GetDiceMatch:output_type -> hyapp.game.v1.DiceMatchResponse
42, // 125: hyapp.game.v1.GameAppService.RollDiceMatch:output_type -> hyapp.game.v1.DiceMatchResponse
42, // 126: hyapp.game.v1.GameAppService.CancelDiceMatch:output_type -> hyapp.game.v1.DiceMatchResponse
26, // 127: hyapp.game.v1.GameAppService.GetRoomRPSConfig:output_type -> hyapp.game.v1.RoomRPSConfigResponse
32, // 128: hyapp.game.v1.GameAppService.ListRoomRPSChallenges:output_type -> hyapp.game.v1.ListRoomRPSChallengesResponse
31, // 129: hyapp.game.v1.GameAppService.CreateRoomRPSChallenge:output_type -> hyapp.game.v1.RoomRPSChallengeResponse
31, // 130: hyapp.game.v1.GameAppService.AcceptRoomRPSChallenge:output_type -> hyapp.game.v1.RoomRPSChallengeResponse
31, // 131: hyapp.game.v1.GameAppService.GetRoomRPSChallenge:output_type -> hyapp.game.v1.RoomRPSChallengeResponse
44, // 132: hyapp.game.v1.GameCallbackService.HandleCallback:output_type -> hyapp.game.v1.CallbackResponse
46, // 133: hyapp.game.v1.GameCronService.ProcessLevelEventOutboxBatch:output_type -> hyapp.game.v1.CronBatchResponse
48, // 134: hyapp.game.v1.GameAdminService.ListPlatforms:output_type -> hyapp.game.v1.ListPlatformsResponse
50, // 135: hyapp.game.v1.GameAdminService.UpsertPlatform:output_type -> hyapp.game.v1.PlatformResponse
52, // 136: hyapp.game.v1.GameAdminService.ListCatalog:output_type -> hyapp.game.v1.ListCatalogResponse
54, // 137: hyapp.game.v1.GameAdminService.UpsertCatalog:output_type -> hyapp.game.v1.CatalogResponse
54, // 138: hyapp.game.v1.GameAdminService.SetGameStatus:output_type -> hyapp.game.v1.CatalogResponse
57, // 139: hyapp.game.v1.GameAdminService.DeleteCatalog:output_type -> hyapp.game.v1.DeleteCatalogResponse
59, // 140: hyapp.game.v1.GameAdminService.ListSelfGames:output_type -> hyapp.game.v1.ListSelfGamesResponse
20, // 141: hyapp.game.v1.GameAdminService.UpdateDiceConfig:output_type -> hyapp.game.v1.DiceConfigResponse
64, // 142: hyapp.game.v1.GameAdminService.GetSelfGameNewUserPolicy:output_type -> hyapp.game.v1.SelfGameNewUserPolicyResponse
64, // 143: hyapp.game.v1.GameAdminService.UpdateSelfGameNewUserPolicy:output_type -> hyapp.game.v1.SelfGameNewUserPolicyResponse
69, // 144: hyapp.game.v1.GameAdminService.ListSelfGameStakePools:output_type -> hyapp.game.v1.ListSelfGameStakePoolsResponse
68, // 145: hyapp.game.v1.GameAdminService.UpdateSelfGameStakePool:output_type -> hyapp.game.v1.SelfGameStakePoolResponse
72, // 146: hyapp.game.v1.GameAdminService.AdjustSelfGameStakePool:output_type -> hyapp.game.v1.AdjustSelfGameStakePoolResponse
75, // 147: hyapp.game.v1.GameAdminService.ListDiceRobots:output_type -> hyapp.game.v1.ListDiceRobotsResponse
77, // 148: hyapp.game.v1.GameAdminService.RegisterDiceRobots:output_type -> hyapp.game.v1.RegisterDiceRobotsResponse
81, // 149: hyapp.game.v1.GameAdminService.SetDiceRobotStatus:output_type -> hyapp.game.v1.DiceRobotResponse
80, // 150: hyapp.game.v1.GameAdminService.DeleteDiceRobot:output_type -> hyapp.game.v1.DeleteDiceRobotResponse
26, // 151: hyapp.game.v1.GameAdminService.GetRoomRPSConfig:output_type -> hyapp.game.v1.RoomRPSConfigResponse
26, // 152: hyapp.game.v1.GameAdminService.UpdateRoomRPSConfig:output_type -> hyapp.game.v1.RoomRPSConfigResponse
32, // 153: hyapp.game.v1.GameAdminService.ListRoomRPSChallenges:output_type -> hyapp.game.v1.ListRoomRPSChallengesResponse
31, // 154: hyapp.game.v1.GameAdminService.GetRoomRPSChallenge:output_type -> hyapp.game.v1.RoomRPSChallengeResponse
31, // 155: hyapp.game.v1.GameAdminService.RetryRoomRPSSettlement:output_type -> hyapp.game.v1.RoomRPSChallengeResponse
31, // 156: hyapp.game.v1.GameAdminService.ExpireRoomRPSChallenge:output_type -> hyapp.game.v1.RoomRPSChallengeResponse
115, // [115:157] is the sub-list for method output_type
73, // [73:115] is the sub-list for method input_type
73, // [73:73] is the sub-list for extension type_name
73, // [73:73] is the sub-list for extension extendee
0, // [0:73] is the sub-list for field type_name
}
func init() { file_proto_game_v1_game_proto_init() }
func file_proto_game_v1_game_proto_init() {
if File_proto_game_v1_game_proto != nil {
return
}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_proto_game_v1_game_proto_rawDesc,
NumEnums: 0,
NumMessages: 84,
NumExtensions: 0,
NumServices: 4,
},
GoTypes: file_proto_game_v1_game_proto_goTypes,
DependencyIndexes: file_proto_game_v1_game_proto_depIdxs,
MessageInfos: file_proto_game_v1_game_proto_msgTypes,
}.Build()
File_proto_game_v1_game_proto = out.File
file_proto_game_v1_game_proto_rawDesc = nil
file_proto_game_v1_game_proto_goTypes = nil
file_proto_game_v1_game_proto_depIdxs = nil
}