diff --git a/pkg/demoinfocs/msg/cstrike15_gcmessages.pb.go b/pkg/demoinfocs/msg/cstrike15_gcmessages.pb.go index 0a22d93c..927e0ffa 100644 --- a/pkg/demoinfocs/msg/cstrike15_gcmessages.pb.go +++ b/pkg/demoinfocs/msg/cstrike15_gcmessages.pb.go @@ -1048,6 +1048,7 @@ type GlobalStatistics struct { ActiveSurveyId *uint32 `protobuf:"varint,13,opt,name=active_survey_id,json=activeSurveyId" json:"active_survey_id,omitempty"` Rtime32Cur *uint32 `protobuf:"varint,14,opt,name=rtime32_cur,json=rtime32Cur" json:"rtime32_cur,omitempty"` Rtime32EventStart *uint32 `protobuf:"varint,15,opt,name=rtime32_event_start,json=rtime32EventStart" json:"rtime32_event_start,omitempty"` + RequiredAppidVersion2 *uint32 `protobuf:"varint,16,opt,name=required_appid_version2,json=requiredAppidVersion2" json:"required_appid_version2,omitempty"` } func (x *GlobalStatistics) Reset() { @@ -1187,6 +1188,13 @@ func (x *GlobalStatistics) GetRtime32EventStart() uint32 { return 0 } +func (x *GlobalStatistics) GetRequiredAppidVersion2() uint32 { + if x != nil && x.RequiredAppidVersion2 != nil { + return *x.RequiredAppidVersion2 + } + return 0 +} + type OperationalStatisticDescription struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -6844,53 +6852,6 @@ func (x *CMsgGCCStrike15V2_MatchEndRewardDropsNotification) GetIteminfo() *CEcon return nil } -type CMsgItemAcknowledged struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Iteminfo *CEconItemPreviewDataBlock `protobuf:"bytes,1,opt,name=iteminfo" json:"iteminfo,omitempty"` -} - -func (x *CMsgItemAcknowledged) Reset() { - *x = CMsgItemAcknowledged{} - if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[69] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *CMsgItemAcknowledged) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*CMsgItemAcknowledged) ProtoMessage() {} - -func (x *CMsgItemAcknowledged) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[69] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use CMsgItemAcknowledged.ProtoReflect.Descriptor instead. -func (*CMsgItemAcknowledged) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{69} -} - -func (x *CMsgItemAcknowledged) GetIteminfo() *CEconItemPreviewDataBlock { - if x != nil { - return x.Iteminfo - } - return nil -} - type CMsgGCCStrike15V2_Client2GCEconPreviewDataBlockRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -6905,7 +6866,7 @@ type CMsgGCCStrike15V2_Client2GCEconPreviewDataBlockRequest struct { func (x *CMsgGCCStrike15V2_Client2GCEconPreviewDataBlockRequest) Reset() { *x = CMsgGCCStrike15V2_Client2GCEconPreviewDataBlockRequest{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[70] + mi := &file_cstrike15_gcmessages_proto_msgTypes[69] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6918,7 +6879,7 @@ func (x *CMsgGCCStrike15V2_Client2GCEconPreviewDataBlockRequest) String() string func (*CMsgGCCStrike15V2_Client2GCEconPreviewDataBlockRequest) ProtoMessage() {} func (x *CMsgGCCStrike15V2_Client2GCEconPreviewDataBlockRequest) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[70] + mi := &file_cstrike15_gcmessages_proto_msgTypes[69] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6931,7 +6892,7 @@ func (x *CMsgGCCStrike15V2_Client2GCEconPreviewDataBlockRequest) ProtoReflect() // Deprecated: Use CMsgGCCStrike15V2_Client2GCEconPreviewDataBlockRequest.ProtoReflect.Descriptor instead. func (*CMsgGCCStrike15V2_Client2GCEconPreviewDataBlockRequest) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{70} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{69} } func (x *CMsgGCCStrike15V2_Client2GCEconPreviewDataBlockRequest) GetParamS() uint64 { @@ -6973,7 +6934,7 @@ type CMsgGCCStrike15V2_Client2GCEconPreviewDataBlockResponse struct { func (x *CMsgGCCStrike15V2_Client2GCEconPreviewDataBlockResponse) Reset() { *x = CMsgGCCStrike15V2_Client2GCEconPreviewDataBlockResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[71] + mi := &file_cstrike15_gcmessages_proto_msgTypes[70] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6986,7 +6947,7 @@ func (x *CMsgGCCStrike15V2_Client2GCEconPreviewDataBlockResponse) String() strin func (*CMsgGCCStrike15V2_Client2GCEconPreviewDataBlockResponse) ProtoMessage() {} func (x *CMsgGCCStrike15V2_Client2GCEconPreviewDataBlockResponse) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[71] + mi := &file_cstrike15_gcmessages_proto_msgTypes[70] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6999,7 +6960,7 @@ func (x *CMsgGCCStrike15V2_Client2GCEconPreviewDataBlockResponse) ProtoReflect() // Deprecated: Use CMsgGCCStrike15V2_Client2GCEconPreviewDataBlockResponse.ProtoReflect.Descriptor instead. func (*CMsgGCCStrike15V2_Client2GCEconPreviewDataBlockResponse) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{71} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{70} } func (x *CMsgGCCStrike15V2_Client2GCEconPreviewDataBlockResponse) GetIteminfo() *CEconItemPreviewDataBlock { @@ -7018,7 +6979,7 @@ type CMsgGCCStrike15V2_MatchListRequestCurrentLiveGames struct { func (x *CMsgGCCStrike15V2_MatchListRequestCurrentLiveGames) Reset() { *x = CMsgGCCStrike15V2_MatchListRequestCurrentLiveGames{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[72] + mi := &file_cstrike15_gcmessages_proto_msgTypes[71] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7031,7 +6992,7 @@ func (x *CMsgGCCStrike15V2_MatchListRequestCurrentLiveGames) String() string { func (*CMsgGCCStrike15V2_MatchListRequestCurrentLiveGames) ProtoMessage() {} func (x *CMsgGCCStrike15V2_MatchListRequestCurrentLiveGames) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[72] + mi := &file_cstrike15_gcmessages_proto_msgTypes[71] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7044,7 +7005,7 @@ func (x *CMsgGCCStrike15V2_MatchListRequestCurrentLiveGames) ProtoReflect() prot // Deprecated: Use CMsgGCCStrike15V2_MatchListRequestCurrentLiveGames.ProtoReflect.Descriptor instead. func (*CMsgGCCStrike15V2_MatchListRequestCurrentLiveGames) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{72} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{71} } type CMsgGCCStrike15V2_MatchListRequestLiveGameForUser struct { @@ -7058,7 +7019,7 @@ type CMsgGCCStrike15V2_MatchListRequestLiveGameForUser struct { func (x *CMsgGCCStrike15V2_MatchListRequestLiveGameForUser) Reset() { *x = CMsgGCCStrike15V2_MatchListRequestLiveGameForUser{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[73] + mi := &file_cstrike15_gcmessages_proto_msgTypes[72] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7071,7 +7032,7 @@ func (x *CMsgGCCStrike15V2_MatchListRequestLiveGameForUser) String() string { func (*CMsgGCCStrike15V2_MatchListRequestLiveGameForUser) ProtoMessage() {} func (x *CMsgGCCStrike15V2_MatchListRequestLiveGameForUser) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[73] + mi := &file_cstrike15_gcmessages_proto_msgTypes[72] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7084,7 +7045,7 @@ func (x *CMsgGCCStrike15V2_MatchListRequestLiveGameForUser) ProtoReflect() proto // Deprecated: Use CMsgGCCStrike15V2_MatchListRequestLiveGameForUser.ProtoReflect.Descriptor instead. func (*CMsgGCCStrike15V2_MatchListRequestLiveGameForUser) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{73} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{72} } func (x *CMsgGCCStrike15V2_MatchListRequestLiveGameForUser) GetAccountid() uint32 { @@ -7105,7 +7066,7 @@ type CMsgGCCStrike15V2_MatchListRequestRecentUserGames struct { func (x *CMsgGCCStrike15V2_MatchListRequestRecentUserGames) Reset() { *x = CMsgGCCStrike15V2_MatchListRequestRecentUserGames{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[74] + mi := &file_cstrike15_gcmessages_proto_msgTypes[73] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7118,7 +7079,7 @@ func (x *CMsgGCCStrike15V2_MatchListRequestRecentUserGames) String() string { func (*CMsgGCCStrike15V2_MatchListRequestRecentUserGames) ProtoMessage() {} func (x *CMsgGCCStrike15V2_MatchListRequestRecentUserGames) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[74] + mi := &file_cstrike15_gcmessages_proto_msgTypes[73] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7131,7 +7092,7 @@ func (x *CMsgGCCStrike15V2_MatchListRequestRecentUserGames) ProtoReflect() proto // Deprecated: Use CMsgGCCStrike15V2_MatchListRequestRecentUserGames.ProtoReflect.Descriptor instead. func (*CMsgGCCStrike15V2_MatchListRequestRecentUserGames) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{74} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{73} } func (x *CMsgGCCStrike15V2_MatchListRequestRecentUserGames) GetAccountid() uint32 { @@ -7152,7 +7113,7 @@ type CMsgGCCStrike15V2_MatchListRequestTournamentGames struct { func (x *CMsgGCCStrike15V2_MatchListRequestTournamentGames) Reset() { *x = CMsgGCCStrike15V2_MatchListRequestTournamentGames{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[75] + mi := &file_cstrike15_gcmessages_proto_msgTypes[74] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7165,7 +7126,7 @@ func (x *CMsgGCCStrike15V2_MatchListRequestTournamentGames) String() string { func (*CMsgGCCStrike15V2_MatchListRequestTournamentGames) ProtoMessage() {} func (x *CMsgGCCStrike15V2_MatchListRequestTournamentGames) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[75] + mi := &file_cstrike15_gcmessages_proto_msgTypes[74] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7178,7 +7139,7 @@ func (x *CMsgGCCStrike15V2_MatchListRequestTournamentGames) ProtoReflect() proto // Deprecated: Use CMsgGCCStrike15V2_MatchListRequestTournamentGames.ProtoReflect.Descriptor instead. func (*CMsgGCCStrike15V2_MatchListRequestTournamentGames) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{75} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{74} } func (x *CMsgGCCStrike15V2_MatchListRequestTournamentGames) GetEventid() int32 { @@ -7201,7 +7162,7 @@ type CMsgGCCStrike15V2_MatchListRequestFullGameInfo struct { func (x *CMsgGCCStrike15V2_MatchListRequestFullGameInfo) Reset() { *x = CMsgGCCStrike15V2_MatchListRequestFullGameInfo{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[76] + mi := &file_cstrike15_gcmessages_proto_msgTypes[75] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7214,7 +7175,7 @@ func (x *CMsgGCCStrike15V2_MatchListRequestFullGameInfo) String() string { func (*CMsgGCCStrike15V2_MatchListRequestFullGameInfo) ProtoMessage() {} func (x *CMsgGCCStrike15V2_MatchListRequestFullGameInfo) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[76] + mi := &file_cstrike15_gcmessages_proto_msgTypes[75] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7227,7 +7188,7 @@ func (x *CMsgGCCStrike15V2_MatchListRequestFullGameInfo) ProtoReflect() protoref // Deprecated: Use CMsgGCCStrike15V2_MatchListRequestFullGameInfo.ProtoReflect.Descriptor instead. func (*CMsgGCCStrike15V2_MatchListRequestFullGameInfo) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{76} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{75} } func (x *CMsgGCCStrike15V2_MatchListRequestFullGameInfo) GetMatchid() uint64 { @@ -7266,7 +7227,7 @@ type CDataGCCStrike15V2_MatchInfo struct { func (x *CDataGCCStrike15V2_MatchInfo) Reset() { *x = CDataGCCStrike15V2_MatchInfo{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[77] + mi := &file_cstrike15_gcmessages_proto_msgTypes[76] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7279,7 +7240,7 @@ func (x *CDataGCCStrike15V2_MatchInfo) String() string { func (*CDataGCCStrike15V2_MatchInfo) ProtoMessage() {} func (x *CDataGCCStrike15V2_MatchInfo) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[77] + mi := &file_cstrike15_gcmessages_proto_msgTypes[76] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7292,7 +7253,7 @@ func (x *CDataGCCStrike15V2_MatchInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use CDataGCCStrike15V2_MatchInfo.ProtoReflect.Descriptor instead. func (*CDataGCCStrike15V2_MatchInfo) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{77} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{76} } func (x *CDataGCCStrike15V2_MatchInfo) GetMatchid() uint64 { @@ -7343,7 +7304,7 @@ type CDataGCCStrike15V2_TournamentGroupTeam struct { func (x *CDataGCCStrike15V2_TournamentGroupTeam) Reset() { *x = CDataGCCStrike15V2_TournamentGroupTeam{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[78] + mi := &file_cstrike15_gcmessages_proto_msgTypes[77] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7356,7 +7317,7 @@ func (x *CDataGCCStrike15V2_TournamentGroupTeam) String() string { func (*CDataGCCStrike15V2_TournamentGroupTeam) ProtoMessage() {} func (x *CDataGCCStrike15V2_TournamentGroupTeam) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[78] + mi := &file_cstrike15_gcmessages_proto_msgTypes[77] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7369,7 +7330,7 @@ func (x *CDataGCCStrike15V2_TournamentGroupTeam) ProtoReflect() protoreflect.Mes // Deprecated: Use CDataGCCStrike15V2_TournamentGroupTeam.ProtoReflect.Descriptor instead. func (*CDataGCCStrike15V2_TournamentGroupTeam) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{78} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{77} } func (x *CDataGCCStrike15V2_TournamentGroupTeam) GetTeamId() int32 { @@ -7413,7 +7374,7 @@ type CDataGCCStrike15V2_TournamentGroup struct { func (x *CDataGCCStrike15V2_TournamentGroup) Reset() { *x = CDataGCCStrike15V2_TournamentGroup{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[79] + mi := &file_cstrike15_gcmessages_proto_msgTypes[78] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7426,7 +7387,7 @@ func (x *CDataGCCStrike15V2_TournamentGroup) String() string { func (*CDataGCCStrike15V2_TournamentGroup) ProtoMessage() {} func (x *CDataGCCStrike15V2_TournamentGroup) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[79] + mi := &file_cstrike15_gcmessages_proto_msgTypes[78] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7439,7 +7400,7 @@ func (x *CDataGCCStrike15V2_TournamentGroup) ProtoReflect() protoreflect.Message // Deprecated: Use CDataGCCStrike15V2_TournamentGroup.ProtoReflect.Descriptor instead. func (*CDataGCCStrike15V2_TournamentGroup) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{79} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{78} } func (x *CDataGCCStrike15V2_TournamentGroup) GetGroupid() uint32 { @@ -7526,7 +7487,7 @@ type CDataGCCStrike15V2_TournamentSection struct { func (x *CDataGCCStrike15V2_TournamentSection) Reset() { *x = CDataGCCStrike15V2_TournamentSection{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[80] + mi := &file_cstrike15_gcmessages_proto_msgTypes[79] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7539,7 +7500,7 @@ func (x *CDataGCCStrike15V2_TournamentSection) String() string { func (*CDataGCCStrike15V2_TournamentSection) ProtoMessage() {} func (x *CDataGCCStrike15V2_TournamentSection) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[80] + mi := &file_cstrike15_gcmessages_proto_msgTypes[79] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7552,7 +7513,7 @@ func (x *CDataGCCStrike15V2_TournamentSection) ProtoReflect() protoreflect.Messa // Deprecated: Use CDataGCCStrike15V2_TournamentSection.ProtoReflect.Descriptor instead. func (*CDataGCCStrike15V2_TournamentSection) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{80} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{79} } func (x *CDataGCCStrike15V2_TournamentSection) GetSectionid() uint32 { @@ -7596,7 +7557,7 @@ type CDataGCCStrike15V2_TournamentInfo struct { func (x *CDataGCCStrike15V2_TournamentInfo) Reset() { *x = CDataGCCStrike15V2_TournamentInfo{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[81] + mi := &file_cstrike15_gcmessages_proto_msgTypes[80] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7609,7 +7570,7 @@ func (x *CDataGCCStrike15V2_TournamentInfo) String() string { func (*CDataGCCStrike15V2_TournamentInfo) ProtoMessage() {} func (x *CDataGCCStrike15V2_TournamentInfo) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[81] + mi := &file_cstrike15_gcmessages_proto_msgTypes[80] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7622,7 +7583,7 @@ func (x *CDataGCCStrike15V2_TournamentInfo) ProtoReflect() protoreflect.Message // Deprecated: Use CDataGCCStrike15V2_TournamentInfo.ProtoReflect.Descriptor instead. func (*CDataGCCStrike15V2_TournamentInfo) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{81} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{80} } func (x *CDataGCCStrike15V2_TournamentInfo) GetSections() []*CDataGCCStrike15V2_TournamentSection { @@ -7662,7 +7623,7 @@ type CMsgGCCStrike15V2_MatchList struct { func (x *CMsgGCCStrike15V2_MatchList) Reset() { *x = CMsgGCCStrike15V2_MatchList{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[82] + mi := &file_cstrike15_gcmessages_proto_msgTypes[81] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7675,7 +7636,7 @@ func (x *CMsgGCCStrike15V2_MatchList) String() string { func (*CMsgGCCStrike15V2_MatchList) ProtoMessage() {} func (x *CMsgGCCStrike15V2_MatchList) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[82] + mi := &file_cstrike15_gcmessages_proto_msgTypes[81] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7688,7 +7649,7 @@ func (x *CMsgGCCStrike15V2_MatchList) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgGCCStrike15V2_MatchList.ProtoReflect.Descriptor instead. func (*CMsgGCCStrike15V2_MatchList) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{82} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{81} } func (x *CMsgGCCStrike15V2_MatchList) GetMsgrequestid() uint32 { @@ -7745,7 +7706,7 @@ type CMsgGCCStrike15V2_MatchListTournamentOperatorMgmt struct { func (x *CMsgGCCStrike15V2_MatchListTournamentOperatorMgmt) Reset() { *x = CMsgGCCStrike15V2_MatchListTournamentOperatorMgmt{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[83] + mi := &file_cstrike15_gcmessages_proto_msgTypes[82] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7758,7 +7719,7 @@ func (x *CMsgGCCStrike15V2_MatchListTournamentOperatorMgmt) String() string { func (*CMsgGCCStrike15V2_MatchListTournamentOperatorMgmt) ProtoMessage() {} func (x *CMsgGCCStrike15V2_MatchListTournamentOperatorMgmt) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[83] + mi := &file_cstrike15_gcmessages_proto_msgTypes[82] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7771,7 +7732,7 @@ func (x *CMsgGCCStrike15V2_MatchListTournamentOperatorMgmt) ProtoReflect() proto // Deprecated: Use CMsgGCCStrike15V2_MatchListTournamentOperatorMgmt.ProtoReflect.Descriptor instead. func (*CMsgGCCStrike15V2_MatchListTournamentOperatorMgmt) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{83} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{82} } func (x *CMsgGCCStrike15V2_MatchListTournamentOperatorMgmt) GetEventid() int32 { @@ -7800,7 +7761,7 @@ type CMsgGCCStrike15V2_Predictions struct { func (x *CMsgGCCStrike15V2_Predictions) Reset() { *x = CMsgGCCStrike15V2_Predictions{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[84] + mi := &file_cstrike15_gcmessages_proto_msgTypes[83] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7813,7 +7774,7 @@ func (x *CMsgGCCStrike15V2_Predictions) String() string { func (*CMsgGCCStrike15V2_Predictions) ProtoMessage() {} func (x *CMsgGCCStrike15V2_Predictions) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[84] + mi := &file_cstrike15_gcmessages_proto_msgTypes[83] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7826,7 +7787,7 @@ func (x *CMsgGCCStrike15V2_Predictions) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgGCCStrike15V2_Predictions.ProtoReflect.Descriptor instead. func (*CMsgGCCStrike15V2_Predictions) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{84} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{83} } func (x *CMsgGCCStrike15V2_Predictions) GetEventId() uint32 { @@ -7855,7 +7816,7 @@ type CMsgGCCStrike15V2_Fantasy struct { func (x *CMsgGCCStrike15V2_Fantasy) Reset() { *x = CMsgGCCStrike15V2_Fantasy{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[85] + mi := &file_cstrike15_gcmessages_proto_msgTypes[84] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7868,7 +7829,7 @@ func (x *CMsgGCCStrike15V2_Fantasy) String() string { func (*CMsgGCCStrike15V2_Fantasy) ProtoMessage() {} func (x *CMsgGCCStrike15V2_Fantasy) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[85] + mi := &file_cstrike15_gcmessages_proto_msgTypes[84] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7881,7 +7842,7 @@ func (x *CMsgGCCStrike15V2_Fantasy) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgGCCStrike15V2_Fantasy.ProtoReflect.Descriptor instead. func (*CMsgGCCStrike15V2_Fantasy) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{85} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{84} } func (x *CMsgGCCStrike15V2_Fantasy) GetEventId() uint32 { @@ -7898,31 +7859,41 @@ func (x *CMsgGCCStrike15V2_Fantasy) GetTeams() []*CMsgGCCStrike15V2_Fantasy_Fant return nil } -type CAttribute_String struct { +type CMsgLegacySource1ClientWelcome struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Value *string `protobuf:"bytes,1,opt,name=value" json:"value,omitempty"` -} - -func (x *CAttribute_String) Reset() { - *x = CAttribute_String{} + Version *uint32 `protobuf:"varint,1,opt,name=version" json:"version,omitempty"` + GameData []byte `protobuf:"bytes,2,opt,name=game_data,json=gameData" json:"game_data,omitempty"` + OutofdateSubscribedCaches []*CMsgSOCacheSubscribed `protobuf:"bytes,3,rep,name=outofdate_subscribed_caches,json=outofdateSubscribedCaches" json:"outofdate_subscribed_caches,omitempty"` + UptodateSubscribedCaches []*CMsgSOCacheSubscriptionCheck `protobuf:"bytes,4,rep,name=uptodate_subscribed_caches,json=uptodateSubscribedCaches" json:"uptodate_subscribed_caches,omitempty"` + Location *CMsgLegacySource1ClientWelcome_Location `protobuf:"bytes,5,opt,name=location" json:"location,omitempty"` + GameData2 []byte `protobuf:"bytes,6,opt,name=game_data2,json=gameData2" json:"game_data2,omitempty"` + Rtime32GcWelcomeTimestamp *uint32 `protobuf:"varint,7,opt,name=rtime32_gc_welcome_timestamp,json=rtime32GcWelcomeTimestamp" json:"rtime32_gc_welcome_timestamp,omitempty"` + Currency *uint32 `protobuf:"varint,8,opt,name=currency" json:"currency,omitempty"` + Balance *uint32 `protobuf:"varint,9,opt,name=balance" json:"balance,omitempty"` + BalanceUrl *string `protobuf:"bytes,10,opt,name=balance_url,json=balanceUrl" json:"balance_url,omitempty"` + TxnCountryCode *string `protobuf:"bytes,11,opt,name=txn_country_code,json=txnCountryCode" json:"txn_country_code,omitempty"` +} + +func (x *CMsgLegacySource1ClientWelcome) Reset() { + *x = CMsgLegacySource1ClientWelcome{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[86] + mi := &file_cstrike15_gcmessages_proto_msgTypes[85] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CAttribute_String) String() string { +func (x *CMsgLegacySource1ClientWelcome) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CAttribute_String) ProtoMessage() {} +func (*CMsgLegacySource1ClientWelcome) ProtoMessage() {} -func (x *CAttribute_String) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[86] +func (x *CMsgLegacySource1ClientWelcome) ProtoReflect() protoreflect.Message { + mi := &file_cstrike15_gcmessages_proto_msgTypes[85] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7933,14 +7904,84 @@ func (x *CAttribute_String) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CAttribute_String.ProtoReflect.Descriptor instead. -func (*CAttribute_String) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{86} +// Deprecated: Use CMsgLegacySource1ClientWelcome.ProtoReflect.Descriptor instead. +func (*CMsgLegacySource1ClientWelcome) Descriptor() ([]byte, []int) { + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{85} } -func (x *CAttribute_String) GetValue() string { - if x != nil && x.Value != nil { - return *x.Value +func (x *CMsgLegacySource1ClientWelcome) GetVersion() uint32 { + if x != nil && x.Version != nil { + return *x.Version + } + return 0 +} + +func (x *CMsgLegacySource1ClientWelcome) GetGameData() []byte { + if x != nil { + return x.GameData + } + return nil +} + +func (x *CMsgLegacySource1ClientWelcome) GetOutofdateSubscribedCaches() []*CMsgSOCacheSubscribed { + if x != nil { + return x.OutofdateSubscribedCaches + } + return nil +} + +func (x *CMsgLegacySource1ClientWelcome) GetUptodateSubscribedCaches() []*CMsgSOCacheSubscriptionCheck { + if x != nil { + return x.UptodateSubscribedCaches + } + return nil +} + +func (x *CMsgLegacySource1ClientWelcome) GetLocation() *CMsgLegacySource1ClientWelcome_Location { + if x != nil { + return x.Location + } + return nil +} + +func (x *CMsgLegacySource1ClientWelcome) GetGameData2() []byte { + if x != nil { + return x.GameData2 + } + return nil +} + +func (x *CMsgLegacySource1ClientWelcome) GetRtime32GcWelcomeTimestamp() uint32 { + if x != nil && x.Rtime32GcWelcomeTimestamp != nil { + return *x.Rtime32GcWelcomeTimestamp + } + return 0 +} + +func (x *CMsgLegacySource1ClientWelcome) GetCurrency() uint32 { + if x != nil && x.Currency != nil { + return *x.Currency + } + return 0 +} + +func (x *CMsgLegacySource1ClientWelcome) GetBalance() uint32 { + if x != nil && x.Balance != nil { + return *x.Balance + } + return 0 +} + +func (x *CMsgLegacySource1ClientWelcome) GetBalanceUrl() string { + if x != nil && x.BalanceUrl != nil { + return *x.BalanceUrl + } + return "" +} + +func (x *CMsgLegacySource1ClientWelcome) GetTxnCountryCode() string { + if x != nil && x.TxnCountryCode != nil { + return *x.TxnCountryCode } return "" } @@ -7962,7 +8003,7 @@ type CMsgCStrike15Welcome struct { func (x *CMsgCStrike15Welcome) Reset() { *x = CMsgCStrike15Welcome{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[87] + mi := &file_cstrike15_gcmessages_proto_msgTypes[86] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7975,7 +8016,7 @@ func (x *CMsgCStrike15Welcome) String() string { func (*CMsgCStrike15Welcome) ProtoMessage() {} func (x *CMsgCStrike15Welcome) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[87] + mi := &file_cstrike15_gcmessages_proto_msgTypes[86] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7988,7 +8029,7 @@ func (x *CMsgCStrike15Welcome) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgCStrike15Welcome.ProtoReflect.Descriptor instead. func (*CMsgCStrike15Welcome) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{87} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{86} } func (x *CMsgCStrike15Welcome) GetStoreItemHash() uint32 { @@ -8055,7 +8096,7 @@ type CMsgGCCStrike15V2_ClientVarValueNotificationInfo struct { func (x *CMsgGCCStrike15V2_ClientVarValueNotificationInfo) Reset() { *x = CMsgGCCStrike15V2_ClientVarValueNotificationInfo{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[88] + mi := &file_cstrike15_gcmessages_proto_msgTypes[87] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8068,7 +8109,7 @@ func (x *CMsgGCCStrike15V2_ClientVarValueNotificationInfo) String() string { func (*CMsgGCCStrike15V2_ClientVarValueNotificationInfo) ProtoMessage() {} func (x *CMsgGCCStrike15V2_ClientVarValueNotificationInfo) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[88] + mi := &file_cstrike15_gcmessages_proto_msgTypes[87] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8081,7 +8122,7 @@ func (x *CMsgGCCStrike15V2_ClientVarValueNotificationInfo) ProtoReflect() protor // Deprecated: Use CMsgGCCStrike15V2_ClientVarValueNotificationInfo.ProtoReflect.Descriptor instead. func (*CMsgGCCStrike15V2_ClientVarValueNotificationInfo) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{88} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{87} } func (x *CMsgGCCStrike15V2_ClientVarValueNotificationInfo) GetValueName() string { @@ -8133,7 +8174,7 @@ type CMsgGCCStrike15V2_ServerVarValueNotificationInfo struct { func (x *CMsgGCCStrike15V2_ServerVarValueNotificationInfo) Reset() { *x = CMsgGCCStrike15V2_ServerVarValueNotificationInfo{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[89] + mi := &file_cstrike15_gcmessages_proto_msgTypes[88] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8146,7 +8187,7 @@ func (x *CMsgGCCStrike15V2_ServerVarValueNotificationInfo) String() string { func (*CMsgGCCStrike15V2_ServerVarValueNotificationInfo) ProtoMessage() {} func (x *CMsgGCCStrike15V2_ServerVarValueNotificationInfo) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[89] + mi := &file_cstrike15_gcmessages_proto_msgTypes[88] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8159,7 +8200,7 @@ func (x *CMsgGCCStrike15V2_ServerVarValueNotificationInfo) ProtoReflect() protor // Deprecated: Use CMsgGCCStrike15V2_ServerVarValueNotificationInfo.ProtoReflect.Descriptor instead. func (*CMsgGCCStrike15V2_ServerVarValueNotificationInfo) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{89} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{88} } func (x *CMsgGCCStrike15V2_ServerVarValueNotificationInfo) GetAccountid() uint32 { @@ -8199,7 +8240,7 @@ type CMsgGCCStrike15V2_GiftsLeaderboardRequest struct { func (x *CMsgGCCStrike15V2_GiftsLeaderboardRequest) Reset() { *x = CMsgGCCStrike15V2_GiftsLeaderboardRequest{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[90] + mi := &file_cstrike15_gcmessages_proto_msgTypes[89] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8212,7 +8253,7 @@ func (x *CMsgGCCStrike15V2_GiftsLeaderboardRequest) String() string { func (*CMsgGCCStrike15V2_GiftsLeaderboardRequest) ProtoMessage() {} func (x *CMsgGCCStrike15V2_GiftsLeaderboardRequest) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[90] + mi := &file_cstrike15_gcmessages_proto_msgTypes[89] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8225,7 +8266,7 @@ func (x *CMsgGCCStrike15V2_GiftsLeaderboardRequest) ProtoReflect() protoreflect. // Deprecated: Use CMsgGCCStrike15V2_GiftsLeaderboardRequest.ProtoReflect.Descriptor instead. func (*CMsgGCCStrike15V2_GiftsLeaderboardRequest) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{90} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{89} } type CMsgGCCStrike15V2_GiftsLeaderboardResponse struct { @@ -8243,7 +8284,7 @@ type CMsgGCCStrike15V2_GiftsLeaderboardResponse struct { func (x *CMsgGCCStrike15V2_GiftsLeaderboardResponse) Reset() { *x = CMsgGCCStrike15V2_GiftsLeaderboardResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[91] + mi := &file_cstrike15_gcmessages_proto_msgTypes[90] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8256,7 +8297,7 @@ func (x *CMsgGCCStrike15V2_GiftsLeaderboardResponse) String() string { func (*CMsgGCCStrike15V2_GiftsLeaderboardResponse) ProtoMessage() {} func (x *CMsgGCCStrike15V2_GiftsLeaderboardResponse) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[91] + mi := &file_cstrike15_gcmessages_proto_msgTypes[90] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8269,7 +8310,7 @@ func (x *CMsgGCCStrike15V2_GiftsLeaderboardResponse) ProtoReflect() protoreflect // Deprecated: Use CMsgGCCStrike15V2_GiftsLeaderboardResponse.ProtoReflect.Descriptor instead. func (*CMsgGCCStrike15V2_GiftsLeaderboardResponse) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{91} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{90} } func (x *CMsgGCCStrike15V2_GiftsLeaderboardResponse) GetServertime() uint32 { @@ -8319,7 +8360,7 @@ type CMsgGCCStrike15V2_ClientSubmitSurveyVote struct { func (x *CMsgGCCStrike15V2_ClientSubmitSurveyVote) Reset() { *x = CMsgGCCStrike15V2_ClientSubmitSurveyVote{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[92] + mi := &file_cstrike15_gcmessages_proto_msgTypes[91] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8332,7 +8373,7 @@ func (x *CMsgGCCStrike15V2_ClientSubmitSurveyVote) String() string { func (*CMsgGCCStrike15V2_ClientSubmitSurveyVote) ProtoMessage() {} func (x *CMsgGCCStrike15V2_ClientSubmitSurveyVote) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[92] + mi := &file_cstrike15_gcmessages_proto_msgTypes[91] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8345,7 +8386,7 @@ func (x *CMsgGCCStrike15V2_ClientSubmitSurveyVote) ProtoReflect() protoreflect.M // Deprecated: Use CMsgGCCStrike15V2_ClientSubmitSurveyVote.ProtoReflect.Descriptor instead. func (*CMsgGCCStrike15V2_ClientSubmitSurveyVote) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{92} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{91} } func (x *CMsgGCCStrike15V2_ClientSubmitSurveyVote) GetSurveyId() uint32 { @@ -8373,7 +8414,7 @@ type CMsgGCCStrike15V2_Server2GCClientValidate struct { func (x *CMsgGCCStrike15V2_Server2GCClientValidate) Reset() { *x = CMsgGCCStrike15V2_Server2GCClientValidate{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[93] + mi := &file_cstrike15_gcmessages_proto_msgTypes[92] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8386,7 +8427,7 @@ func (x *CMsgGCCStrike15V2_Server2GCClientValidate) String() string { func (*CMsgGCCStrike15V2_Server2GCClientValidate) ProtoMessage() {} func (x *CMsgGCCStrike15V2_Server2GCClientValidate) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[93] + mi := &file_cstrike15_gcmessages_proto_msgTypes[92] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8399,7 +8440,7 @@ func (x *CMsgGCCStrike15V2_Server2GCClientValidate) ProtoReflect() protoreflect. // Deprecated: Use CMsgGCCStrike15V2_Server2GCClientValidate.ProtoReflect.Descriptor instead. func (*CMsgGCCStrike15V2_Server2GCClientValidate) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{93} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{92} } func (x *CMsgGCCStrike15V2_Server2GCClientValidate) GetAccountid() uint32 { @@ -8423,7 +8464,7 @@ type CMsgGCCStrike15V2_GC2ClientTournamentInfo struct { func (x *CMsgGCCStrike15V2_GC2ClientTournamentInfo) Reset() { *x = CMsgGCCStrike15V2_GC2ClientTournamentInfo{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[94] + mi := &file_cstrike15_gcmessages_proto_msgTypes[93] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8436,7 +8477,7 @@ func (x *CMsgGCCStrike15V2_GC2ClientTournamentInfo) String() string { func (*CMsgGCCStrike15V2_GC2ClientTournamentInfo) ProtoMessage() {} func (x *CMsgGCCStrike15V2_GC2ClientTournamentInfo) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[94] + mi := &file_cstrike15_gcmessages_proto_msgTypes[93] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8449,7 +8490,7 @@ func (x *CMsgGCCStrike15V2_GC2ClientTournamentInfo) ProtoReflect() protoreflect. // Deprecated: Use CMsgGCCStrike15V2_GC2ClientTournamentInfo.ProtoReflect.Descriptor instead. func (*CMsgGCCStrike15V2_GC2ClientTournamentInfo) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{94} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{93} } func (x *CMsgGCCStrike15V2_GC2ClientTournamentInfo) GetEventid() uint32 { @@ -8493,7 +8534,7 @@ type CSOEconCoupon struct { func (x *CSOEconCoupon) Reset() { *x = CSOEconCoupon{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[95] + mi := &file_cstrike15_gcmessages_proto_msgTypes[94] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8506,7 +8547,7 @@ func (x *CSOEconCoupon) String() string { func (*CSOEconCoupon) ProtoMessage() {} func (x *CSOEconCoupon) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[95] + mi := &file_cstrike15_gcmessages_proto_msgTypes[94] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8519,7 +8560,7 @@ func (x *CSOEconCoupon) ProtoReflect() protoreflect.Message { // Deprecated: Use CSOEconCoupon.ProtoReflect.Descriptor instead. func (*CSOEconCoupon) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{95} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{94} } func (x *CSOEconCoupon) GetEntryid() uint32 { @@ -8556,7 +8597,7 @@ type CSOQuestProgress struct { func (x *CSOQuestProgress) Reset() { *x = CSOQuestProgress{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[96] + mi := &file_cstrike15_gcmessages_proto_msgTypes[95] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8569,7 +8610,7 @@ func (x *CSOQuestProgress) String() string { func (*CSOQuestProgress) ProtoMessage() {} func (x *CSOQuestProgress) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[96] + mi := &file_cstrike15_gcmessages_proto_msgTypes[95] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8582,7 +8623,7 @@ func (x *CSOQuestProgress) ProtoReflect() protoreflect.Message { // Deprecated: Use CSOQuestProgress.ProtoReflect.Descriptor instead. func (*CSOQuestProgress) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{96} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{95} } func (x *CSOQuestProgress) GetQuestid() uint32 { @@ -8623,7 +8664,7 @@ type CSOAccountSeasonalOperation struct { func (x *CSOAccountSeasonalOperation) Reset() { *x = CSOAccountSeasonalOperation{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[97] + mi := &file_cstrike15_gcmessages_proto_msgTypes[96] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8636,7 +8677,7 @@ func (x *CSOAccountSeasonalOperation) String() string { func (*CSOAccountSeasonalOperation) ProtoMessage() {} func (x *CSOAccountSeasonalOperation) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[97] + mi := &file_cstrike15_gcmessages_proto_msgTypes[96] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8649,7 +8690,7 @@ func (x *CSOAccountSeasonalOperation) ProtoReflect() protoreflect.Message { // Deprecated: Use CSOAccountSeasonalOperation.ProtoReflect.Descriptor instead. func (*CSOAccountSeasonalOperation) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{97} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{96} } func (x *CSOAccountSeasonalOperation) GetSeasonValue() uint32 { @@ -8713,7 +8754,7 @@ type CSOAccountRecurringSubscription struct { func (x *CSOAccountRecurringSubscription) Reset() { *x = CSOAccountRecurringSubscription{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[98] + mi := &file_cstrike15_gcmessages_proto_msgTypes[97] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8726,7 +8767,7 @@ func (x *CSOAccountRecurringSubscription) String() string { func (*CSOAccountRecurringSubscription) ProtoMessage() {} func (x *CSOAccountRecurringSubscription) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[98] + mi := &file_cstrike15_gcmessages_proto_msgTypes[97] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8739,7 +8780,7 @@ func (x *CSOAccountRecurringSubscription) ProtoReflect() protoreflect.Message { // Deprecated: Use CSOAccountRecurringSubscription.ProtoReflect.Descriptor instead. func (*CSOAccountRecurringSubscription) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{98} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{97} } func (x *CSOAccountRecurringSubscription) GetTimeNextCycle() uint32 { @@ -8769,7 +8810,7 @@ type CSOPersonaDataPublic struct { func (x *CSOPersonaDataPublic) Reset() { *x = CSOPersonaDataPublic{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[99] + mi := &file_cstrike15_gcmessages_proto_msgTypes[98] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8782,7 +8823,7 @@ func (x *CSOPersonaDataPublic) String() string { func (*CSOPersonaDataPublic) ProtoMessage() {} func (x *CSOPersonaDataPublic) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[99] + mi := &file_cstrike15_gcmessages_proto_msgTypes[98] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8795,7 +8836,7 @@ func (x *CSOPersonaDataPublic) ProtoReflect() protoreflect.Message { // Deprecated: Use CSOPersonaDataPublic.ProtoReflect.Descriptor instead. func (*CSOPersonaDataPublic) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{99} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{98} } func (x *CSOPersonaDataPublic) GetPlayerLevel() int32 { @@ -8830,7 +8871,7 @@ type CMsgGC_GlobalGame_Subscribe struct { func (x *CMsgGC_GlobalGame_Subscribe) Reset() { *x = CMsgGC_GlobalGame_Subscribe{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[100] + mi := &file_cstrike15_gcmessages_proto_msgTypes[99] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8843,7 +8884,7 @@ func (x *CMsgGC_GlobalGame_Subscribe) String() string { func (*CMsgGC_GlobalGame_Subscribe) ProtoMessage() {} func (x *CMsgGC_GlobalGame_Subscribe) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[100] + mi := &file_cstrike15_gcmessages_proto_msgTypes[99] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8856,7 +8897,7 @@ func (x *CMsgGC_GlobalGame_Subscribe) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgGC_GlobalGame_Subscribe.ProtoReflect.Descriptor instead. func (*CMsgGC_GlobalGame_Subscribe) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{100} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{99} } func (x *CMsgGC_GlobalGame_Subscribe) GetTicket() uint64 { @@ -8877,7 +8918,7 @@ type CMsgGC_GlobalGame_Unsubscribe struct { func (x *CMsgGC_GlobalGame_Unsubscribe) Reset() { *x = CMsgGC_GlobalGame_Unsubscribe{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[101] + mi := &file_cstrike15_gcmessages_proto_msgTypes[100] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8890,7 +8931,7 @@ func (x *CMsgGC_GlobalGame_Unsubscribe) String() string { func (*CMsgGC_GlobalGame_Unsubscribe) ProtoMessage() {} func (x *CMsgGC_GlobalGame_Unsubscribe) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[101] + mi := &file_cstrike15_gcmessages_proto_msgTypes[100] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8903,7 +8944,7 @@ func (x *CMsgGC_GlobalGame_Unsubscribe) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgGC_GlobalGame_Unsubscribe.ProtoReflect.Descriptor instead. func (*CMsgGC_GlobalGame_Unsubscribe) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{101} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{100} } func (x *CMsgGC_GlobalGame_Unsubscribe) GetTimeleft() int32 { @@ -8926,7 +8967,7 @@ type CMsgGC_GlobalGame_Play struct { func (x *CMsgGC_GlobalGame_Play) Reset() { *x = CMsgGC_GlobalGame_Play{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[102] + mi := &file_cstrike15_gcmessages_proto_msgTypes[101] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8939,7 +8980,7 @@ func (x *CMsgGC_GlobalGame_Play) String() string { func (*CMsgGC_GlobalGame_Play) ProtoMessage() {} func (x *CMsgGC_GlobalGame_Play) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[102] + mi := &file_cstrike15_gcmessages_proto_msgTypes[101] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8952,7 +8993,7 @@ func (x *CMsgGC_GlobalGame_Play) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgGC_GlobalGame_Play.ProtoReflect.Descriptor instead. func (*CMsgGC_GlobalGame_Play) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{102} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{101} } func (x *CMsgGC_GlobalGame_Play) GetTicket() uint64 { @@ -8987,7 +9028,7 @@ type CMsgGCCStrike15V2_AcknowledgePenalty struct { func (x *CMsgGCCStrike15V2_AcknowledgePenalty) Reset() { *x = CMsgGCCStrike15V2_AcknowledgePenalty{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[103] + mi := &file_cstrike15_gcmessages_proto_msgTypes[102] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9000,7 +9041,7 @@ func (x *CMsgGCCStrike15V2_AcknowledgePenalty) String() string { func (*CMsgGCCStrike15V2_AcknowledgePenalty) ProtoMessage() {} func (x *CMsgGCCStrike15V2_AcknowledgePenalty) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[103] + mi := &file_cstrike15_gcmessages_proto_msgTypes[102] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9013,7 +9054,7 @@ func (x *CMsgGCCStrike15V2_AcknowledgePenalty) ProtoReflect() protoreflect.Messa // Deprecated: Use CMsgGCCStrike15V2_AcknowledgePenalty.ProtoReflect.Descriptor instead. func (*CMsgGCCStrike15V2_AcknowledgePenalty) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{103} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{102} } func (x *CMsgGCCStrike15V2_AcknowledgePenalty) GetAcknowledged() int32 { @@ -9037,7 +9078,7 @@ type CMsgGCCStrike15V2_Client2GCRequestPrestigeCoin struct { func (x *CMsgGCCStrike15V2_Client2GCRequestPrestigeCoin) Reset() { *x = CMsgGCCStrike15V2_Client2GCRequestPrestigeCoin{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[104] + mi := &file_cstrike15_gcmessages_proto_msgTypes[103] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9050,7 +9091,7 @@ func (x *CMsgGCCStrike15V2_Client2GCRequestPrestigeCoin) String() string { func (*CMsgGCCStrike15V2_Client2GCRequestPrestigeCoin) ProtoMessage() {} func (x *CMsgGCCStrike15V2_Client2GCRequestPrestigeCoin) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[104] + mi := &file_cstrike15_gcmessages_proto_msgTypes[103] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9063,7 +9104,7 @@ func (x *CMsgGCCStrike15V2_Client2GCRequestPrestigeCoin) ProtoReflect() protoref // Deprecated: Use CMsgGCCStrike15V2_Client2GCRequestPrestigeCoin.ProtoReflect.Descriptor instead. func (*CMsgGCCStrike15V2_Client2GCRequestPrestigeCoin) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{104} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{103} } func (x *CMsgGCCStrike15V2_Client2GCRequestPrestigeCoin) GetDefindex() uint32 { @@ -9106,7 +9147,7 @@ type CMsgGCCStrike15V2_Client2GCStreamUnlock struct { func (x *CMsgGCCStrike15V2_Client2GCStreamUnlock) Reset() { *x = CMsgGCCStrike15V2_Client2GCStreamUnlock{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[105] + mi := &file_cstrike15_gcmessages_proto_msgTypes[104] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9119,7 +9160,7 @@ func (x *CMsgGCCStrike15V2_Client2GCStreamUnlock) String() string { func (*CMsgGCCStrike15V2_Client2GCStreamUnlock) ProtoMessage() {} func (x *CMsgGCCStrike15V2_Client2GCStreamUnlock) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[105] + mi := &file_cstrike15_gcmessages_proto_msgTypes[104] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9132,7 +9173,7 @@ func (x *CMsgGCCStrike15V2_Client2GCStreamUnlock) ProtoReflect() protoreflect.Me // Deprecated: Use CMsgGCCStrike15V2_Client2GCStreamUnlock.ProtoReflect.Descriptor instead. func (*CMsgGCCStrike15V2_Client2GCStreamUnlock) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{105} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{104} } func (x *CMsgGCCStrike15V2_Client2GCStreamUnlock) GetTicket() uint64 { @@ -9160,7 +9201,7 @@ type CMsgGCCStrike15V2_ClientToGCRequestElevate struct { func (x *CMsgGCCStrike15V2_ClientToGCRequestElevate) Reset() { *x = CMsgGCCStrike15V2_ClientToGCRequestElevate{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[106] + mi := &file_cstrike15_gcmessages_proto_msgTypes[105] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9173,7 +9214,7 @@ func (x *CMsgGCCStrike15V2_ClientToGCRequestElevate) String() string { func (*CMsgGCCStrike15V2_ClientToGCRequestElevate) ProtoMessage() {} func (x *CMsgGCCStrike15V2_ClientToGCRequestElevate) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[106] + mi := &file_cstrike15_gcmessages_proto_msgTypes[105] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9186,7 +9227,7 @@ func (x *CMsgGCCStrike15V2_ClientToGCRequestElevate) ProtoReflect() protoreflect // Deprecated: Use CMsgGCCStrike15V2_ClientToGCRequestElevate.ProtoReflect.Descriptor instead. func (*CMsgGCCStrike15V2_ClientToGCRequestElevate) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{106} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{105} } func (x *CMsgGCCStrike15V2_ClientToGCRequestElevate) GetStage() uint32 { @@ -9208,7 +9249,7 @@ type CMsgGCCStrike15V2_ClientToGCChat struct { func (x *CMsgGCCStrike15V2_ClientToGCChat) Reset() { *x = CMsgGCCStrike15V2_ClientToGCChat{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[107] + mi := &file_cstrike15_gcmessages_proto_msgTypes[106] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9221,7 +9262,7 @@ func (x *CMsgGCCStrike15V2_ClientToGCChat) String() string { func (*CMsgGCCStrike15V2_ClientToGCChat) ProtoMessage() {} func (x *CMsgGCCStrike15V2_ClientToGCChat) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[107] + mi := &file_cstrike15_gcmessages_proto_msgTypes[106] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9234,7 +9275,7 @@ func (x *CMsgGCCStrike15V2_ClientToGCChat) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgGCCStrike15V2_ClientToGCChat.ProtoReflect.Descriptor instead. func (*CMsgGCCStrike15V2_ClientToGCChat) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{107} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{106} } func (x *CMsgGCCStrike15V2_ClientToGCChat) GetMatchId() uint64 { @@ -9263,7 +9304,7 @@ type CMsgGCCStrike15V2_GCToClientChat struct { func (x *CMsgGCCStrike15V2_GCToClientChat) Reset() { *x = CMsgGCCStrike15V2_GCToClientChat{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[108] + mi := &file_cstrike15_gcmessages_proto_msgTypes[107] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9276,7 +9317,7 @@ func (x *CMsgGCCStrike15V2_GCToClientChat) String() string { func (*CMsgGCCStrike15V2_GCToClientChat) ProtoMessage() {} func (x *CMsgGCCStrike15V2_GCToClientChat) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[108] + mi := &file_cstrike15_gcmessages_proto_msgTypes[107] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9289,7 +9330,7 @@ func (x *CMsgGCCStrike15V2_GCToClientChat) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgGCCStrike15V2_GCToClientChat.ProtoReflect.Descriptor instead. func (*CMsgGCCStrike15V2_GCToClientChat) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{108} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{107} } func (x *CMsgGCCStrike15V2_GCToClientChat) GetAccountId() uint32 { @@ -9318,7 +9359,7 @@ type CMsgGCCStrike15V2_ClientAuthKeyCode struct { func (x *CMsgGCCStrike15V2_ClientAuthKeyCode) Reset() { *x = CMsgGCCStrike15V2_ClientAuthKeyCode{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[109] + mi := &file_cstrike15_gcmessages_proto_msgTypes[108] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9331,7 +9372,7 @@ func (x *CMsgGCCStrike15V2_ClientAuthKeyCode) String() string { func (*CMsgGCCStrike15V2_ClientAuthKeyCode) ProtoMessage() {} func (x *CMsgGCCStrike15V2_ClientAuthKeyCode) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[109] + mi := &file_cstrike15_gcmessages_proto_msgTypes[108] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9344,7 +9385,7 @@ func (x *CMsgGCCStrike15V2_ClientAuthKeyCode) ProtoReflect() protoreflect.Messag // Deprecated: Use CMsgGCCStrike15V2_ClientAuthKeyCode.ProtoReflect.Descriptor instead. func (*CMsgGCCStrike15V2_ClientAuthKeyCode) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{109} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{108} } func (x *CMsgGCCStrike15V2_ClientAuthKeyCode) GetEventid() uint32 { @@ -9372,7 +9413,7 @@ type CMsgGCCStrike15_GotvSyncPacket struct { func (x *CMsgGCCStrike15_GotvSyncPacket) Reset() { *x = CMsgGCCStrike15_GotvSyncPacket{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[110] + mi := &file_cstrike15_gcmessages_proto_msgTypes[109] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9385,7 +9426,7 @@ func (x *CMsgGCCStrike15_GotvSyncPacket) String() string { func (*CMsgGCCStrike15_GotvSyncPacket) ProtoMessage() {} func (x *CMsgGCCStrike15_GotvSyncPacket) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[110] + mi := &file_cstrike15_gcmessages_proto_msgTypes[109] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9398,7 +9439,7 @@ func (x *CMsgGCCStrike15_GotvSyncPacket) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgGCCStrike15_GotvSyncPacket.ProtoReflect.Descriptor instead. func (*CMsgGCCStrike15_GotvSyncPacket) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{110} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{109} } func (x *CMsgGCCStrike15_GotvSyncPacket) GetData() *CEngineGotvSyncPacket { @@ -9418,7 +9459,7 @@ type PlayerDecalDigitalSignature struct { Rtime *uint32 `protobuf:"varint,3,opt,name=rtime" json:"rtime,omitempty"` Endpos []float32 `protobuf:"fixed32,4,rep,name=endpos" json:"endpos,omitempty"` Startpos []float32 `protobuf:"fixed32,5,rep,name=startpos" json:"startpos,omitempty"` - Right []float32 `protobuf:"fixed32,6,rep,name=right" json:"right,omitempty"` + Left []float32 `protobuf:"fixed32,6,rep,name=left" json:"left,omitempty"` TxDefidx *uint32 `protobuf:"varint,7,opt,name=tx_defidx,json=txDefidx" json:"tx_defidx,omitempty"` Entindex *int32 `protobuf:"varint,8,opt,name=entindex" json:"entindex,omitempty"` Hitbox *uint32 `protobuf:"varint,9,opt,name=hitbox" json:"hitbox,omitempty"` @@ -9432,7 +9473,7 @@ type PlayerDecalDigitalSignature struct { func (x *PlayerDecalDigitalSignature) Reset() { *x = PlayerDecalDigitalSignature{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[111] + mi := &file_cstrike15_gcmessages_proto_msgTypes[110] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9445,7 +9486,7 @@ func (x *PlayerDecalDigitalSignature) String() string { func (*PlayerDecalDigitalSignature) ProtoMessage() {} func (x *PlayerDecalDigitalSignature) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[111] + mi := &file_cstrike15_gcmessages_proto_msgTypes[110] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9458,7 +9499,7 @@ func (x *PlayerDecalDigitalSignature) ProtoReflect() protoreflect.Message { // Deprecated: Use PlayerDecalDigitalSignature.ProtoReflect.Descriptor instead. func (*PlayerDecalDigitalSignature) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{111} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{110} } func (x *PlayerDecalDigitalSignature) GetSignature() []byte { @@ -9496,9 +9537,9 @@ func (x *PlayerDecalDigitalSignature) GetStartpos() []float32 { return nil } -func (x *PlayerDecalDigitalSignature) GetRight() []float32 { +func (x *PlayerDecalDigitalSignature) GetLeft() []float32 { if x != nil { - return x.Right + return x.Left } return nil } @@ -9571,7 +9612,7 @@ type CMsgGCCStrike15V2_ClientPlayerDecalSign struct { func (x *CMsgGCCStrike15V2_ClientPlayerDecalSign) Reset() { *x = CMsgGCCStrike15V2_ClientPlayerDecalSign{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[112] + mi := &file_cstrike15_gcmessages_proto_msgTypes[111] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9584,7 +9625,7 @@ func (x *CMsgGCCStrike15V2_ClientPlayerDecalSign) String() string { func (*CMsgGCCStrike15V2_ClientPlayerDecalSign) ProtoMessage() {} func (x *CMsgGCCStrike15V2_ClientPlayerDecalSign) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[112] + mi := &file_cstrike15_gcmessages_proto_msgTypes[111] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9597,7 +9638,7 @@ func (x *CMsgGCCStrike15V2_ClientPlayerDecalSign) ProtoReflect() protoreflect.Me // Deprecated: Use CMsgGCCStrike15V2_ClientPlayerDecalSign.ProtoReflect.Descriptor instead. func (*CMsgGCCStrike15V2_ClientPlayerDecalSign) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{112} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{111} } func (x *CMsgGCCStrike15V2_ClientPlayerDecalSign) GetData() *PlayerDecalDigitalSignature { @@ -9627,7 +9668,7 @@ type CMsgGCCStrike15V2_ClientLogonFatalError struct { func (x *CMsgGCCStrike15V2_ClientLogonFatalError) Reset() { *x = CMsgGCCStrike15V2_ClientLogonFatalError{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[113] + mi := &file_cstrike15_gcmessages_proto_msgTypes[112] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9640,7 +9681,7 @@ func (x *CMsgGCCStrike15V2_ClientLogonFatalError) String() string { func (*CMsgGCCStrike15V2_ClientLogonFatalError) ProtoMessage() {} func (x *CMsgGCCStrike15V2_ClientLogonFatalError) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[113] + mi := &file_cstrike15_gcmessages_proto_msgTypes[112] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9653,7 +9694,7 @@ func (x *CMsgGCCStrike15V2_ClientLogonFatalError) ProtoReflect() protoreflect.Me // Deprecated: Use CMsgGCCStrike15V2_ClientLogonFatalError.ProtoReflect.Descriptor instead. func (*CMsgGCCStrike15V2_ClientLogonFatalError) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{113} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{112} } func (x *CMsgGCCStrike15V2_ClientLogonFatalError) GetErrorcode() uint32 { @@ -9690,7 +9731,7 @@ type CMsgGCCStrike15V2_ClientPollState struct { func (x *CMsgGCCStrike15V2_ClientPollState) Reset() { *x = CMsgGCCStrike15V2_ClientPollState{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[114] + mi := &file_cstrike15_gcmessages_proto_msgTypes[113] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9703,7 +9744,7 @@ func (x *CMsgGCCStrike15V2_ClientPollState) String() string { func (*CMsgGCCStrike15V2_ClientPollState) ProtoMessage() {} func (x *CMsgGCCStrike15V2_ClientPollState) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[114] + mi := &file_cstrike15_gcmessages_proto_msgTypes[113] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9716,7 +9757,7 @@ func (x *CMsgGCCStrike15V2_ClientPollState) ProtoReflect() protoreflect.Message // Deprecated: Use CMsgGCCStrike15V2_ClientPollState.ProtoReflect.Descriptor instead. func (*CMsgGCCStrike15V2_ClientPollState) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{114} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{113} } func (x *CMsgGCCStrike15V2_ClientPollState) GetPollid() uint32 { @@ -9759,7 +9800,7 @@ type CMsgGCCStrike15V2_Party_Register struct { func (x *CMsgGCCStrike15V2_Party_Register) Reset() { *x = CMsgGCCStrike15V2_Party_Register{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[115] + mi := &file_cstrike15_gcmessages_proto_msgTypes[114] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9772,7 +9813,7 @@ func (x *CMsgGCCStrike15V2_Party_Register) String() string { func (*CMsgGCCStrike15V2_Party_Register) ProtoMessage() {} func (x *CMsgGCCStrike15V2_Party_Register) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[115] + mi := &file_cstrike15_gcmessages_proto_msgTypes[114] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9785,7 +9826,7 @@ func (x *CMsgGCCStrike15V2_Party_Register) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgGCCStrike15V2_Party_Register.ProtoReflect.Descriptor instead. func (*CMsgGCCStrike15V2_Party_Register) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{115} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{114} } func (x *CMsgGCCStrike15V2_Party_Register) GetId() uint32 { @@ -9867,7 +9908,7 @@ type CMsgGCCStrike15V2_Party_Search struct { func (x *CMsgGCCStrike15V2_Party_Search) Reset() { *x = CMsgGCCStrike15V2_Party_Search{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[116] + mi := &file_cstrike15_gcmessages_proto_msgTypes[115] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9880,7 +9921,7 @@ func (x *CMsgGCCStrike15V2_Party_Search) String() string { func (*CMsgGCCStrike15V2_Party_Search) ProtoMessage() {} func (x *CMsgGCCStrike15V2_Party_Search) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[116] + mi := &file_cstrike15_gcmessages_proto_msgTypes[115] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9893,7 +9934,7 @@ func (x *CMsgGCCStrike15V2_Party_Search) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgGCCStrike15V2_Party_Search.ProtoReflect.Descriptor instead. func (*CMsgGCCStrike15V2_Party_Search) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{116} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{115} } func (x *CMsgGCCStrike15V2_Party_Search) GetVer() uint32 { @@ -9949,7 +9990,7 @@ type CMsgGCCStrike15V2_Party_SearchResults struct { func (x *CMsgGCCStrike15V2_Party_SearchResults) Reset() { *x = CMsgGCCStrike15V2_Party_SearchResults{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[117] + mi := &file_cstrike15_gcmessages_proto_msgTypes[116] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9962,7 +10003,7 @@ func (x *CMsgGCCStrike15V2_Party_SearchResults) String() string { func (*CMsgGCCStrike15V2_Party_SearchResults) ProtoMessage() {} func (x *CMsgGCCStrike15V2_Party_SearchResults) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[117] + mi := &file_cstrike15_gcmessages_proto_msgTypes[116] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9975,7 +10016,7 @@ func (x *CMsgGCCStrike15V2_Party_SearchResults) ProtoReflect() protoreflect.Mess // Deprecated: Use CMsgGCCStrike15V2_Party_SearchResults.ProtoReflect.Descriptor instead. func (*CMsgGCCStrike15V2_Party_SearchResults) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{117} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{116} } func (x *CMsgGCCStrike15V2_Party_SearchResults) GetEntries() []*CMsgGCCStrike15V2_Party_SearchResults_Entry { @@ -9997,7 +10038,7 @@ type CMsgGCCStrike15V2_Party_Invite struct { func (x *CMsgGCCStrike15V2_Party_Invite) Reset() { *x = CMsgGCCStrike15V2_Party_Invite{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[118] + mi := &file_cstrike15_gcmessages_proto_msgTypes[117] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10010,7 +10051,7 @@ func (x *CMsgGCCStrike15V2_Party_Invite) String() string { func (*CMsgGCCStrike15V2_Party_Invite) ProtoMessage() {} func (x *CMsgGCCStrike15V2_Party_Invite) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[118] + mi := &file_cstrike15_gcmessages_proto_msgTypes[117] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10023,7 +10064,7 @@ func (x *CMsgGCCStrike15V2_Party_Invite) ProtoReflect() protoreflect.Message { // Deprecated: Use CMsgGCCStrike15V2_Party_Invite.ProtoReflect.Descriptor instead. func (*CMsgGCCStrike15V2_Party_Invite) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{118} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{117} } func (x *CMsgGCCStrike15V2_Party_Invite) GetAccountid() uint32 { @@ -10052,7 +10093,7 @@ type CMsgGCCStrike15V2_Account_RequestCoPlays struct { func (x *CMsgGCCStrike15V2_Account_RequestCoPlays) Reset() { *x = CMsgGCCStrike15V2_Account_RequestCoPlays{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[119] + mi := &file_cstrike15_gcmessages_proto_msgTypes[118] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10065,7 +10106,7 @@ func (x *CMsgGCCStrike15V2_Account_RequestCoPlays) String() string { func (*CMsgGCCStrike15V2_Account_RequestCoPlays) ProtoMessage() {} func (x *CMsgGCCStrike15V2_Account_RequestCoPlays) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[119] + mi := &file_cstrike15_gcmessages_proto_msgTypes[118] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10078,7 +10119,7 @@ func (x *CMsgGCCStrike15V2_Account_RequestCoPlays) ProtoReflect() protoreflect.M // Deprecated: Use CMsgGCCStrike15V2_Account_RequestCoPlays.ProtoReflect.Descriptor instead. func (*CMsgGCCStrike15V2_Account_RequestCoPlays) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{119} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{118} } func (x *CMsgGCCStrike15V2_Account_RequestCoPlays) GetPlayers() []*CMsgGCCStrike15V2_Account_RequestCoPlays_Player { @@ -10109,7 +10150,7 @@ type CMsgGCCStrike15V2_ClientToGCRequestTicket struct { func (x *CMsgGCCStrike15V2_ClientToGCRequestTicket) Reset() { *x = CMsgGCCStrike15V2_ClientToGCRequestTicket{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[120] + mi := &file_cstrike15_gcmessages_proto_msgTypes[119] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10122,7 +10163,7 @@ func (x *CMsgGCCStrike15V2_ClientToGCRequestTicket) String() string { func (*CMsgGCCStrike15V2_ClientToGCRequestTicket) ProtoMessage() {} func (x *CMsgGCCStrike15V2_ClientToGCRequestTicket) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[120] + mi := &file_cstrike15_gcmessages_proto_msgTypes[119] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10135,7 +10176,7 @@ func (x *CMsgGCCStrike15V2_ClientToGCRequestTicket) ProtoReflect() protoreflect. // Deprecated: Use CMsgGCCStrike15V2_ClientToGCRequestTicket.ProtoReflect.Descriptor instead. func (*CMsgGCCStrike15V2_ClientToGCRequestTicket) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{120} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{119} } func (x *CMsgGCCStrike15V2_ClientToGCRequestTicket) GetAuthorizedSteamId() uint64 { @@ -10177,7 +10218,7 @@ type CMsgGCToClientSteamDatagramTicket struct { func (x *CMsgGCToClientSteamDatagramTicket) Reset() { *x = CMsgGCToClientSteamDatagramTicket{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[121] + mi := &file_cstrike15_gcmessages_proto_msgTypes[120] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10190,7 +10231,7 @@ func (x *CMsgGCToClientSteamDatagramTicket) String() string { func (*CMsgGCToClientSteamDatagramTicket) ProtoMessage() {} func (x *CMsgGCToClientSteamDatagramTicket) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[121] + mi := &file_cstrike15_gcmessages_proto_msgTypes[120] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10203,7 +10244,7 @@ func (x *CMsgGCToClientSteamDatagramTicket) ProtoReflect() protoreflect.Message // Deprecated: Use CMsgGCToClientSteamDatagramTicket.ProtoReflect.Descriptor instead. func (*CMsgGCToClientSteamDatagramTicket) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{121} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{120} } func (x *CMsgGCToClientSteamDatagramTicket) GetSerializedTicket() []byte { @@ -10222,7 +10263,7 @@ type CMsgGCCStrike15V2_ClientRequestOffers struct { func (x *CMsgGCCStrike15V2_ClientRequestOffers) Reset() { *x = CMsgGCCStrike15V2_ClientRequestOffers{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[122] + mi := &file_cstrike15_gcmessages_proto_msgTypes[121] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10235,7 +10276,7 @@ func (x *CMsgGCCStrike15V2_ClientRequestOffers) String() string { func (*CMsgGCCStrike15V2_ClientRequestOffers) ProtoMessage() {} func (x *CMsgGCCStrike15V2_ClientRequestOffers) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[122] + mi := &file_cstrike15_gcmessages_proto_msgTypes[121] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10248,7 +10289,7 @@ func (x *CMsgGCCStrike15V2_ClientRequestOffers) ProtoReflect() protoreflect.Mess // Deprecated: Use CMsgGCCStrike15V2_ClientRequestOffers.ProtoReflect.Descriptor instead. func (*CMsgGCCStrike15V2_ClientRequestOffers) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{122} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{121} } type CMsgGCCStrike15V2_ClientRequestSouvenir struct { @@ -10264,7 +10305,7 @@ type CMsgGCCStrike15V2_ClientRequestSouvenir struct { func (x *CMsgGCCStrike15V2_ClientRequestSouvenir) Reset() { *x = CMsgGCCStrike15V2_ClientRequestSouvenir{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[123] + mi := &file_cstrike15_gcmessages_proto_msgTypes[122] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10277,7 +10318,7 @@ func (x *CMsgGCCStrike15V2_ClientRequestSouvenir) String() string { func (*CMsgGCCStrike15V2_ClientRequestSouvenir) ProtoMessage() {} func (x *CMsgGCCStrike15V2_ClientRequestSouvenir) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[123] + mi := &file_cstrike15_gcmessages_proto_msgTypes[122] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10290,7 +10331,7 @@ func (x *CMsgGCCStrike15V2_ClientRequestSouvenir) ProtoReflect() protoreflect.Me // Deprecated: Use CMsgGCCStrike15V2_ClientRequestSouvenir.ProtoReflect.Descriptor instead. func (*CMsgGCCStrike15V2_ClientRequestSouvenir) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{123} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{122} } func (x *CMsgGCCStrike15V2_ClientRequestSouvenir) GetItemid() uint64 { @@ -10326,7 +10367,7 @@ type CMsgGCCStrike15V2_ClientAccountBalance struct { func (x *CMsgGCCStrike15V2_ClientAccountBalance) Reset() { *x = CMsgGCCStrike15V2_ClientAccountBalance{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[124] + mi := &file_cstrike15_gcmessages_proto_msgTypes[123] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10339,7 +10380,7 @@ func (x *CMsgGCCStrike15V2_ClientAccountBalance) String() string { func (*CMsgGCCStrike15V2_ClientAccountBalance) ProtoMessage() {} func (x *CMsgGCCStrike15V2_ClientAccountBalance) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[124] + mi := &file_cstrike15_gcmessages_proto_msgTypes[123] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10352,7 +10393,7 @@ func (x *CMsgGCCStrike15V2_ClientAccountBalance) ProtoReflect() protoreflect.Mes // Deprecated: Use CMsgGCCStrike15V2_ClientAccountBalance.ProtoReflect.Descriptor instead. func (*CMsgGCCStrike15V2_ClientAccountBalance) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{124} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{123} } func (x *CMsgGCCStrike15V2_ClientAccountBalance) GetAmount() uint64 { @@ -10381,7 +10422,7 @@ type CMsgGCCStrike15V2_ClientPartyJoinRelay struct { func (x *CMsgGCCStrike15V2_ClientPartyJoinRelay) Reset() { *x = CMsgGCCStrike15V2_ClientPartyJoinRelay{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[125] + mi := &file_cstrike15_gcmessages_proto_msgTypes[124] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10394,7 +10435,7 @@ func (x *CMsgGCCStrike15V2_ClientPartyJoinRelay) String() string { func (*CMsgGCCStrike15V2_ClientPartyJoinRelay) ProtoMessage() {} func (x *CMsgGCCStrike15V2_ClientPartyJoinRelay) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[125] + mi := &file_cstrike15_gcmessages_proto_msgTypes[124] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10407,7 +10448,7 @@ func (x *CMsgGCCStrike15V2_ClientPartyJoinRelay) ProtoReflect() protoreflect.Mes // Deprecated: Use CMsgGCCStrike15V2_ClientPartyJoinRelay.ProtoReflect.Descriptor instead. func (*CMsgGCCStrike15V2_ClientPartyJoinRelay) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{125} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{124} } func (x *CMsgGCCStrike15V2_ClientPartyJoinRelay) GetAccountid() uint32 { @@ -10435,7 +10476,7 @@ type CMsgGCCStrike15V2_ClientPartyWarning struct { func (x *CMsgGCCStrike15V2_ClientPartyWarning) Reset() { *x = CMsgGCCStrike15V2_ClientPartyWarning{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[126] + mi := &file_cstrike15_gcmessages_proto_msgTypes[125] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10448,7 +10489,7 @@ func (x *CMsgGCCStrike15V2_ClientPartyWarning) String() string { func (*CMsgGCCStrike15V2_ClientPartyWarning) ProtoMessage() {} func (x *CMsgGCCStrike15V2_ClientPartyWarning) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[126] + mi := &file_cstrike15_gcmessages_proto_msgTypes[125] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10461,7 +10502,7 @@ func (x *CMsgGCCStrike15V2_ClientPartyWarning) ProtoReflect() protoreflect.Messa // Deprecated: Use CMsgGCCStrike15V2_ClientPartyWarning.ProtoReflect.Descriptor instead. func (*CMsgGCCStrike15V2_ClientPartyWarning) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{126} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{125} } func (x *CMsgGCCStrike15V2_ClientPartyWarning) GetEntries() []*CMsgGCCStrike15V2_ClientPartyWarning_Entry { @@ -10483,7 +10524,7 @@ type CMsgGCCStrike15V2_SetEventFavorite struct { func (x *CMsgGCCStrike15V2_SetEventFavorite) Reset() { *x = CMsgGCCStrike15V2_SetEventFavorite{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[127] + mi := &file_cstrike15_gcmessages_proto_msgTypes[126] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10496,7 +10537,7 @@ func (x *CMsgGCCStrike15V2_SetEventFavorite) String() string { func (*CMsgGCCStrike15V2_SetEventFavorite) ProtoMessage() {} func (x *CMsgGCCStrike15V2_SetEventFavorite) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[127] + mi := &file_cstrike15_gcmessages_proto_msgTypes[126] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10509,7 +10550,7 @@ func (x *CMsgGCCStrike15V2_SetEventFavorite) ProtoReflect() protoreflect.Message // Deprecated: Use CMsgGCCStrike15V2_SetEventFavorite.ProtoReflect.Descriptor instead. func (*CMsgGCCStrike15V2_SetEventFavorite) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{127} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{126} } func (x *CMsgGCCStrike15V2_SetEventFavorite) GetEventid() uint64 { @@ -10537,7 +10578,7 @@ type CMsgGCCStrike15V2_GetEventFavorites_Request struct { func (x *CMsgGCCStrike15V2_GetEventFavorites_Request) Reset() { *x = CMsgGCCStrike15V2_GetEventFavorites_Request{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[128] + mi := &file_cstrike15_gcmessages_proto_msgTypes[127] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10550,7 +10591,7 @@ func (x *CMsgGCCStrike15V2_GetEventFavorites_Request) String() string { func (*CMsgGCCStrike15V2_GetEventFavorites_Request) ProtoMessage() {} func (x *CMsgGCCStrike15V2_GetEventFavorites_Request) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[128] + mi := &file_cstrike15_gcmessages_proto_msgTypes[127] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10563,7 +10604,7 @@ func (x *CMsgGCCStrike15V2_GetEventFavorites_Request) ProtoReflect() protoreflec // Deprecated: Use CMsgGCCStrike15V2_GetEventFavorites_Request.ProtoReflect.Descriptor instead. func (*CMsgGCCStrike15V2_GetEventFavorites_Request) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{128} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{127} } func (x *CMsgGCCStrike15V2_GetEventFavorites_Request) GetAllEvents() bool { @@ -10586,7 +10627,7 @@ type CMsgGCCStrike15V2_GetEventFavorites_Response struct { func (x *CMsgGCCStrike15V2_GetEventFavorites_Response) Reset() { *x = CMsgGCCStrike15V2_GetEventFavorites_Response{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[129] + mi := &file_cstrike15_gcmessages_proto_msgTypes[128] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10599,7 +10640,7 @@ func (x *CMsgGCCStrike15V2_GetEventFavorites_Response) String() string { func (*CMsgGCCStrike15V2_GetEventFavorites_Response) ProtoMessage() {} func (x *CMsgGCCStrike15V2_GetEventFavorites_Response) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[129] + mi := &file_cstrike15_gcmessages_proto_msgTypes[128] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10612,7 +10653,7 @@ func (x *CMsgGCCStrike15V2_GetEventFavorites_Response) ProtoReflect() protorefle // Deprecated: Use CMsgGCCStrike15V2_GetEventFavorites_Response.ProtoReflect.Descriptor instead. func (*CMsgGCCStrike15V2_GetEventFavorites_Response) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{129} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{128} } func (x *CMsgGCCStrike15V2_GetEventFavorites_Response) GetAllEvents() bool { @@ -10647,7 +10688,7 @@ type CMsgGCCStrike15V2_ClientPerfReport struct { func (x *CMsgGCCStrike15V2_ClientPerfReport) Reset() { *x = CMsgGCCStrike15V2_ClientPerfReport{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[130] + mi := &file_cstrike15_gcmessages_proto_msgTypes[129] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10660,7 +10701,7 @@ func (x *CMsgGCCStrike15V2_ClientPerfReport) String() string { func (*CMsgGCCStrike15V2_ClientPerfReport) ProtoMessage() {} func (x *CMsgGCCStrike15V2_ClientPerfReport) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[130] + mi := &file_cstrike15_gcmessages_proto_msgTypes[129] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10673,7 +10714,7 @@ func (x *CMsgGCCStrike15V2_ClientPerfReport) ProtoReflect() protoreflect.Message // Deprecated: Use CMsgGCCStrike15V2_ClientPerfReport.ProtoReflect.Descriptor instead. func (*CMsgGCCStrike15V2_ClientPerfReport) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{130} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{129} } func (x *CMsgGCCStrike15V2_ClientPerfReport) GetEntries() []*CMsgGCCStrike15V2_ClientPerfReport_Entry { @@ -10697,7 +10738,7 @@ type CVDiagnostic struct { func (x *CVDiagnostic) Reset() { *x = CVDiagnostic{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[131] + mi := &file_cstrike15_gcmessages_proto_msgTypes[130] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10710,7 +10751,7 @@ func (x *CVDiagnostic) String() string { func (*CVDiagnostic) ProtoMessage() {} func (x *CVDiagnostic) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[131] + mi := &file_cstrike15_gcmessages_proto_msgTypes[130] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10723,7 +10764,7 @@ func (x *CVDiagnostic) ProtoReflect() protoreflect.Message { // Deprecated: Use CVDiagnostic.ProtoReflect.Descriptor instead. func (*CVDiagnostic) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{131} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{130} } func (x *CVDiagnostic) GetId() uint32 { @@ -10784,7 +10825,7 @@ type CMsgGCCStrike15V2_ClientReportValidation struct { func (x *CMsgGCCStrike15V2_ClientReportValidation) Reset() { *x = CMsgGCCStrike15V2_ClientReportValidation{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[132] + mi := &file_cstrike15_gcmessages_proto_msgTypes[131] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10797,7 +10838,7 @@ func (x *CMsgGCCStrike15V2_ClientReportValidation) String() string { func (*CMsgGCCStrike15V2_ClientReportValidation) ProtoMessage() {} func (x *CMsgGCCStrike15V2_ClientReportValidation) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[132] + mi := &file_cstrike15_gcmessages_proto_msgTypes[131] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10810,7 +10851,7 @@ func (x *CMsgGCCStrike15V2_ClientReportValidation) ProtoReflect() protoreflect.M // Deprecated: Use CMsgGCCStrike15V2_ClientReportValidation.ProtoReflect.Descriptor instead. func (*CMsgGCCStrike15V2_ClientReportValidation) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{132} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{131} } func (x *CMsgGCCStrike15V2_ClientReportValidation) GetFileReport() string { @@ -10972,7 +11013,7 @@ type CMsgGCCStrike15V2_GC2ClientRefuseSecureMode struct { func (x *CMsgGCCStrike15V2_GC2ClientRefuseSecureMode) Reset() { *x = CMsgGCCStrike15V2_GC2ClientRefuseSecureMode{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[133] + mi := &file_cstrike15_gcmessages_proto_msgTypes[132] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10985,7 +11026,7 @@ func (x *CMsgGCCStrike15V2_GC2ClientRefuseSecureMode) String() string { func (*CMsgGCCStrike15V2_GC2ClientRefuseSecureMode) ProtoMessage() {} func (x *CMsgGCCStrike15V2_GC2ClientRefuseSecureMode) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[133] + mi := &file_cstrike15_gcmessages_proto_msgTypes[132] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10998,7 +11039,7 @@ func (x *CMsgGCCStrike15V2_GC2ClientRefuseSecureMode) ProtoReflect() protoreflec // Deprecated: Use CMsgGCCStrike15V2_GC2ClientRefuseSecureMode.ProtoReflect.Descriptor instead. func (*CMsgGCCStrike15V2_GC2ClientRefuseSecureMode) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{133} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{132} } func (x *CMsgGCCStrike15V2_GC2ClientRefuseSecureMode) GetFileReport() string { @@ -11076,7 +11117,7 @@ type CMsgGCCStrike15V2_GC2ClientRequestValidation struct { func (x *CMsgGCCStrike15V2_GC2ClientRequestValidation) Reset() { *x = CMsgGCCStrike15V2_GC2ClientRequestValidation{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[134] + mi := &file_cstrike15_gcmessages_proto_msgTypes[133] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11089,7 +11130,7 @@ func (x *CMsgGCCStrike15V2_GC2ClientRequestValidation) String() string { func (*CMsgGCCStrike15V2_GC2ClientRequestValidation) ProtoMessage() {} func (x *CMsgGCCStrike15V2_GC2ClientRequestValidation) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[134] + mi := &file_cstrike15_gcmessages_proto_msgTypes[133] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11102,7 +11143,7 @@ func (x *CMsgGCCStrike15V2_GC2ClientRequestValidation) ProtoReflect() protorefle // Deprecated: Use CMsgGCCStrike15V2_GC2ClientRequestValidation.ProtoReflect.Descriptor instead. func (*CMsgGCCStrike15V2_GC2ClientRequestValidation) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{134} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{133} } func (x *CMsgGCCStrike15V2_GC2ClientRequestValidation) GetFullReport() bool { @@ -11138,7 +11179,7 @@ type CMsgGCCStrike15V2_GC2ClientInitSystem struct { func (x *CMsgGCCStrike15V2_GC2ClientInitSystem) Reset() { *x = CMsgGCCStrike15V2_GC2ClientInitSystem{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[135] + mi := &file_cstrike15_gcmessages_proto_msgTypes[134] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11151,7 +11192,7 @@ func (x *CMsgGCCStrike15V2_GC2ClientInitSystem) String() string { func (*CMsgGCCStrike15V2_GC2ClientInitSystem) ProtoMessage() {} func (x *CMsgGCCStrike15V2_GC2ClientInitSystem) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[135] + mi := &file_cstrike15_gcmessages_proto_msgTypes[134] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11164,7 +11205,7 @@ func (x *CMsgGCCStrike15V2_GC2ClientInitSystem) ProtoReflect() protoreflect.Mess // Deprecated: Use CMsgGCCStrike15V2_GC2ClientInitSystem.ProtoReflect.Descriptor instead. func (*CMsgGCCStrike15V2_GC2ClientInitSystem) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{135} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{134} } func (x *CMsgGCCStrike15V2_GC2ClientInitSystem) GetLoad() bool { @@ -11255,7 +11296,7 @@ const ( func (x *CMsgGCCStrike15V2_GC2ClientInitSystem_Response) Reset() { *x = CMsgGCCStrike15V2_GC2ClientInitSystem_Response{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[136] + mi := &file_cstrike15_gcmessages_proto_msgTypes[135] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11268,7 +11309,7 @@ func (x *CMsgGCCStrike15V2_GC2ClientInitSystem_Response) String() string { func (*CMsgGCCStrike15V2_GC2ClientInitSystem_Response) ProtoMessage() {} func (x *CMsgGCCStrike15V2_GC2ClientInitSystem_Response) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[136] + mi := &file_cstrike15_gcmessages_proto_msgTypes[135] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11281,7 +11322,7 @@ func (x *CMsgGCCStrike15V2_GC2ClientInitSystem_Response) ProtoReflect() protoref // Deprecated: Use CMsgGCCStrike15V2_GC2ClientInitSystem_Response.ProtoReflect.Descriptor instead. func (*CMsgGCCStrike15V2_GC2ClientInitSystem_Response) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{136} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{135} } func (x *CMsgGCCStrike15V2_GC2ClientInitSystem_Response) GetSuccess() bool { @@ -11366,7 +11407,7 @@ type ScoreLeaderboardData_Entry struct { func (x *ScoreLeaderboardData_Entry) Reset() { *x = ScoreLeaderboardData_Entry{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[137] + mi := &file_cstrike15_gcmessages_proto_msgTypes[136] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11379,7 +11420,7 @@ func (x *ScoreLeaderboardData_Entry) String() string { func (*ScoreLeaderboardData_Entry) ProtoMessage() {} func (x *ScoreLeaderboardData_Entry) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[137] + mi := &file_cstrike15_gcmessages_proto_msgTypes[136] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11421,7 +11462,7 @@ type ScoreLeaderboardData_AccountEntries struct { func (x *ScoreLeaderboardData_AccountEntries) Reset() { *x = ScoreLeaderboardData_AccountEntries{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[138] + mi := &file_cstrike15_gcmessages_proto_msgTypes[137] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11434,7 +11475,7 @@ func (x *ScoreLeaderboardData_AccountEntries) String() string { func (*ScoreLeaderboardData_AccountEntries) ProtoMessage() {} func (x *ScoreLeaderboardData_AccountEntries) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[138] + mi := &file_cstrike15_gcmessages_proto_msgTypes[137] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11477,7 +11518,7 @@ type PlayerQuestData_QuestItemData struct { func (x *PlayerQuestData_QuestItemData) Reset() { *x = PlayerQuestData_QuestItemData{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[139] + mi := &file_cstrike15_gcmessages_proto_msgTypes[138] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11490,7 +11531,7 @@ func (x *PlayerQuestData_QuestItemData) String() string { func (*PlayerQuestData_QuestItemData) ProtoMessage() {} func (x *PlayerQuestData_QuestItemData) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[139] + mi := &file_cstrike15_gcmessages_proto_msgTypes[138] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11541,7 +11582,7 @@ type CMsgGCCStrike15V2_MatchmakingGC2ClientUpdate_Note struct { func (x *CMsgGCCStrike15V2_MatchmakingGC2ClientUpdate_Note) Reset() { *x = CMsgGCCStrike15V2_MatchmakingGC2ClientUpdate_Note{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[140] + mi := &file_cstrike15_gcmessages_proto_msgTypes[139] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11554,7 +11595,7 @@ func (x *CMsgGCCStrike15V2_MatchmakingGC2ClientUpdate_Note) String() string { func (*CMsgGCCStrike15V2_MatchmakingGC2ClientUpdate_Note) ProtoMessage() {} func (x *CMsgGCCStrike15V2_MatchmakingGC2ClientUpdate_Note) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[140] + mi := &file_cstrike15_gcmessages_proto_msgTypes[139] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11610,7 +11651,7 @@ type CDataGCCStrike15V2_TournamentMatchDraft_Entry struct { func (x *CDataGCCStrike15V2_TournamentMatchDraft_Entry) Reset() { *x = CDataGCCStrike15V2_TournamentMatchDraft_Entry{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[141] + mi := &file_cstrike15_gcmessages_proto_msgTypes[140] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11623,7 +11664,7 @@ func (x *CDataGCCStrike15V2_TournamentMatchDraft_Entry) String() string { func (*CDataGCCStrike15V2_TournamentMatchDraft_Entry) ProtoMessage() {} func (x *CDataGCCStrike15V2_TournamentMatchDraft_Entry) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[141] + mi := &file_cstrike15_gcmessages_proto_msgTypes[140] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11666,7 +11707,7 @@ type CPreMatchInfoData_TeamStats struct { func (x *CPreMatchInfoData_TeamStats) Reset() { *x = CPreMatchInfoData_TeamStats{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[142] + mi := &file_cstrike15_gcmessages_proto_msgTypes[141] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11679,7 +11720,7 @@ func (x *CPreMatchInfoData_TeamStats) String() string { func (*CPreMatchInfoData_TeamStats) ProtoMessage() {} func (x *CPreMatchInfoData_TeamStats) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[142] + mi := &file_cstrike15_gcmessages_proto_msgTypes[141] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11727,7 +11768,7 @@ type CMsgGCCStrike15V2_MatchmakingServerRoundStats_DropInfo struct { func (x *CMsgGCCStrike15V2_MatchmakingServerRoundStats_DropInfo) Reset() { *x = CMsgGCCStrike15V2_MatchmakingServerRoundStats_DropInfo{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[143] + mi := &file_cstrike15_gcmessages_proto_msgTypes[142] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11740,7 +11781,7 @@ func (x *CMsgGCCStrike15V2_MatchmakingServerRoundStats_DropInfo) String() string func (*CMsgGCCStrike15V2_MatchmakingServerRoundStats_DropInfo) ProtoMessage() {} func (x *CMsgGCCStrike15V2_MatchmakingServerRoundStats_DropInfo) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[143] + mi := &file_cstrike15_gcmessages_proto_msgTypes[142] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11775,7 +11816,7 @@ type CMsgGCCStrike15V2_AccountPrivacySettings_Setting struct { func (x *CMsgGCCStrike15V2_AccountPrivacySettings_Setting) Reset() { *x = CMsgGCCStrike15V2_AccountPrivacySettings_Setting{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[144] + mi := &file_cstrike15_gcmessages_proto_msgTypes[143] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11788,7 +11829,7 @@ func (x *CMsgGCCStrike15V2_AccountPrivacySettings_Setting) String() string { func (*CMsgGCCStrike15V2_AccountPrivacySettings_Setting) ProtoMessage() {} func (x *CMsgGCCStrike15V2_AccountPrivacySettings_Setting) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[144] + mi := &file_cstrike15_gcmessages_proto_msgTypes[143] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11831,7 +11872,7 @@ type CMsgGCCStrike15_ClientDeepStats_DeepStatsRange struct { func (x *CMsgGCCStrike15_ClientDeepStats_DeepStatsRange) Reset() { *x = CMsgGCCStrike15_ClientDeepStats_DeepStatsRange{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[145] + mi := &file_cstrike15_gcmessages_proto_msgTypes[144] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11844,7 +11885,7 @@ func (x *CMsgGCCStrike15_ClientDeepStats_DeepStatsRange) String() string { func (*CMsgGCCStrike15_ClientDeepStats_DeepStatsRange) ProtoMessage() {} func (x *CMsgGCCStrike15_ClientDeepStats_DeepStatsRange) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[145] + mi := &file_cstrike15_gcmessages_proto_msgTypes[144] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11893,7 +11934,7 @@ type CMsgGCCStrike15_ClientDeepStats_DeepStatsMatch struct { func (x *CMsgGCCStrike15_ClientDeepStats_DeepStatsMatch) Reset() { *x = CMsgGCCStrike15_ClientDeepStats_DeepStatsMatch{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[146] + mi := &file_cstrike15_gcmessages_proto_msgTypes[145] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11906,7 +11947,7 @@ func (x *CMsgGCCStrike15_ClientDeepStats_DeepStatsMatch) String() string { func (*CMsgGCCStrike15_ClientDeepStats_DeepStatsMatch) ProtoMessage() {} func (x *CMsgGCCStrike15_ClientDeepStats_DeepStatsMatch) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[146] + mi := &file_cstrike15_gcmessages_proto_msgTypes[145] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11952,7 +11993,7 @@ type CEconItemPreviewDataBlock_Sticker struct { func (x *CEconItemPreviewDataBlock_Sticker) Reset() { *x = CEconItemPreviewDataBlock_Sticker{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[147] + mi := &file_cstrike15_gcmessages_proto_msgTypes[146] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11965,7 +12006,7 @@ func (x *CEconItemPreviewDataBlock_Sticker) String() string { func (*CEconItemPreviewDataBlock_Sticker) ProtoMessage() {} func (x *CEconItemPreviewDataBlock_Sticker) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[147] + mi := &file_cstrike15_gcmessages_proto_msgTypes[146] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12034,7 +12075,7 @@ type CDataGCCStrike15V2_TournamentGroup_Picks struct { func (x *CDataGCCStrike15V2_TournamentGroup_Picks) Reset() { *x = CDataGCCStrike15V2_TournamentGroup_Picks{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[148] + mi := &file_cstrike15_gcmessages_proto_msgTypes[147] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12047,7 +12088,7 @@ func (x *CDataGCCStrike15V2_TournamentGroup_Picks) String() string { func (*CDataGCCStrike15V2_TournamentGroup_Picks) ProtoMessage() {} func (x *CDataGCCStrike15V2_TournamentGroup_Picks) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[148] + mi := &file_cstrike15_gcmessages_proto_msgTypes[147] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12060,7 +12101,7 @@ func (x *CDataGCCStrike15V2_TournamentGroup_Picks) ProtoReflect() protoreflect.M // Deprecated: Use CDataGCCStrike15V2_TournamentGroup_Picks.ProtoReflect.Descriptor instead. func (*CDataGCCStrike15V2_TournamentGroup_Picks) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{79, 0} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{78, 0} } func (x *CDataGCCStrike15V2_TournamentGroup_Picks) GetPickids() []int32 { @@ -12085,7 +12126,7 @@ type CMsgGCCStrike15V2_Predictions_GroupMatchTeamPick struct { func (x *CMsgGCCStrike15V2_Predictions_GroupMatchTeamPick) Reset() { *x = CMsgGCCStrike15V2_Predictions_GroupMatchTeamPick{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[149] + mi := &file_cstrike15_gcmessages_proto_msgTypes[148] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12098,7 +12139,7 @@ func (x *CMsgGCCStrike15V2_Predictions_GroupMatchTeamPick) String() string { func (*CMsgGCCStrike15V2_Predictions_GroupMatchTeamPick) ProtoMessage() {} func (x *CMsgGCCStrike15V2_Predictions_GroupMatchTeamPick) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[149] + mi := &file_cstrike15_gcmessages_proto_msgTypes[148] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12111,7 +12152,7 @@ func (x *CMsgGCCStrike15V2_Predictions_GroupMatchTeamPick) ProtoReflect() protor // Deprecated: Use CMsgGCCStrike15V2_Predictions_GroupMatchTeamPick.ProtoReflect.Descriptor instead. func (*CMsgGCCStrike15V2_Predictions_GroupMatchTeamPick) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{84, 0} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{83, 0} } func (x *CMsgGCCStrike15V2_Predictions_GroupMatchTeamPick) GetSectionid() int32 { @@ -12162,7 +12203,7 @@ type CMsgGCCStrike15V2_Fantasy_FantasySlot struct { func (x *CMsgGCCStrike15V2_Fantasy_FantasySlot) Reset() { *x = CMsgGCCStrike15V2_Fantasy_FantasySlot{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[150] + mi := &file_cstrike15_gcmessages_proto_msgTypes[149] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12175,7 +12216,7 @@ func (x *CMsgGCCStrike15V2_Fantasy_FantasySlot) String() string { func (*CMsgGCCStrike15V2_Fantasy_FantasySlot) ProtoMessage() {} func (x *CMsgGCCStrike15V2_Fantasy_FantasySlot) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[150] + mi := &file_cstrike15_gcmessages_proto_msgTypes[149] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12188,7 +12229,7 @@ func (x *CMsgGCCStrike15V2_Fantasy_FantasySlot) ProtoReflect() protoreflect.Mess // Deprecated: Use CMsgGCCStrike15V2_Fantasy_FantasySlot.ProtoReflect.Descriptor instead. func (*CMsgGCCStrike15V2_Fantasy_FantasySlot) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{85, 0} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{84, 0} } func (x *CMsgGCCStrike15V2_Fantasy_FantasySlot) GetType() int32 { @@ -12224,7 +12265,7 @@ type CMsgGCCStrike15V2_Fantasy_FantasyTeam struct { func (x *CMsgGCCStrike15V2_Fantasy_FantasyTeam) Reset() { *x = CMsgGCCStrike15V2_Fantasy_FantasyTeam{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_gcmessages_proto_msgTypes[151] + mi := &file_cstrike15_gcmessages_proto_msgTypes[150] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12237,7 +12278,7 @@ func (x *CMsgGCCStrike15V2_Fantasy_FantasyTeam) String() string { func (*CMsgGCCStrike15V2_Fantasy_FantasyTeam) ProtoMessage() {} func (x *CMsgGCCStrike15V2_Fantasy_FantasyTeam) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_gcmessages_proto_msgTypes[151] + mi := &file_cstrike15_gcmessages_proto_msgTypes[150] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12250,7 +12291,7 @@ func (x *CMsgGCCStrike15V2_Fantasy_FantasyTeam) ProtoReflect() protoreflect.Mess // Deprecated: Use CMsgGCCStrike15V2_Fantasy_FantasyTeam.ProtoReflect.Descriptor instead. func (*CMsgGCCStrike15V2_Fantasy_FantasyTeam) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{85, 1} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{84, 1} } func (x *CMsgGCCStrike15V2_Fantasy_FantasyTeam) GetSectionid() int32 { @@ -12267,6 +12308,69 @@ func (x *CMsgGCCStrike15V2_Fantasy_FantasyTeam) GetSlots() []*CMsgGCCStrike15V2_ return nil } +type CMsgLegacySource1ClientWelcome_Location struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Latitude *float32 `protobuf:"fixed32,1,opt,name=latitude" json:"latitude,omitempty"` + Longitude *float32 `protobuf:"fixed32,2,opt,name=longitude" json:"longitude,omitempty"` + Country *string `protobuf:"bytes,3,opt,name=country" json:"country,omitempty"` +} + +func (x *CMsgLegacySource1ClientWelcome_Location) Reset() { + *x = CMsgLegacySource1ClientWelcome_Location{} + if protoimpl.UnsafeEnabled { + mi := &file_cstrike15_gcmessages_proto_msgTypes[151] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CMsgLegacySource1ClientWelcome_Location) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CMsgLegacySource1ClientWelcome_Location) ProtoMessage() {} + +func (x *CMsgLegacySource1ClientWelcome_Location) ProtoReflect() protoreflect.Message { + mi := &file_cstrike15_gcmessages_proto_msgTypes[151] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CMsgLegacySource1ClientWelcome_Location.ProtoReflect.Descriptor instead. +func (*CMsgLegacySource1ClientWelcome_Location) Descriptor() ([]byte, []int) { + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{85, 0} +} + +func (x *CMsgLegacySource1ClientWelcome_Location) GetLatitude() float32 { + if x != nil && x.Latitude != nil { + return *x.Latitude + } + return 0 +} + +func (x *CMsgLegacySource1ClientWelcome_Location) GetLongitude() float32 { + if x != nil && x.Longitude != nil { + return *x.Longitude + } + return 0 +} + +func (x *CMsgLegacySource1ClientWelcome_Location) GetCountry() string { + if x != nil && x.Country != nil { + return *x.Country + } + return "" +} + type CMsgGCCStrike15V2_GiftsLeaderboardResponse_GiftLeaderboardEntry struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -12305,7 +12409,7 @@ func (x *CMsgGCCStrike15V2_GiftsLeaderboardResponse_GiftLeaderboardEntry) ProtoR // Deprecated: Use CMsgGCCStrike15V2_GiftsLeaderboardResponse_GiftLeaderboardEntry.ProtoReflect.Descriptor instead. func (*CMsgGCCStrike15V2_GiftsLeaderboardResponse_GiftLeaderboardEntry) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{91, 0} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{90, 0} } func (x *CMsgGCCStrike15V2_GiftsLeaderboardResponse_GiftLeaderboardEntry) GetAccountid() uint32 { @@ -12365,7 +12469,7 @@ func (x *CMsgGCCStrike15V2_Party_SearchResults_Entry) ProtoReflect() protoreflec // Deprecated: Use CMsgGCCStrike15V2_Party_SearchResults_Entry.ProtoReflect.Descriptor instead. func (*CMsgGCCStrike15V2_Party_SearchResults_Entry) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{117, 0} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{116, 0} } func (x *CMsgGCCStrike15V2_Party_SearchResults_Entry) GetId() uint32 { @@ -12456,7 +12560,7 @@ func (x *CMsgGCCStrike15V2_Account_RequestCoPlays_Player) ProtoReflect() protore // Deprecated: Use CMsgGCCStrike15V2_Account_RequestCoPlays_Player.ProtoReflect.Descriptor instead. func (*CMsgGCCStrike15V2_Account_RequestCoPlays_Player) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{119, 0} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{118, 0} } func (x *CMsgGCCStrike15V2_Account_RequestCoPlays_Player) GetAccountid() uint32 { @@ -12518,7 +12622,7 @@ func (x *CMsgGCCStrike15V2_ClientPartyWarning_Entry) ProtoReflect() protoreflect // Deprecated: Use CMsgGCCStrike15V2_ClientPartyWarning_Entry.ProtoReflect.Descriptor instead. func (*CMsgGCCStrike15V2_ClientPartyWarning_Entry) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{126, 0} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{125, 0} } func (x *CMsgGCCStrike15V2_ClientPartyWarning_Entry) GetAccountid() uint32 { @@ -12577,7 +12681,7 @@ func (x *CMsgGCCStrike15V2_ClientPerfReport_Entry) ProtoReflect() protoreflect.M // Deprecated: Use CMsgGCCStrike15V2_ClientPerfReport_Entry.ProtoReflect.Descriptor instead. func (*CMsgGCCStrike15V2_ClientPerfReport_Entry) Descriptor() ([]byte, []int) { - return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{130, 0} + return file_cstrike15_gcmessages_proto_rawDescGZIP(), []int{129, 0} } func (x *CMsgGCCStrike15V2_ClientPerfReport_Entry) GetPerfcounter() uint32 { @@ -12629,119 +12733,124 @@ var file_cstrike15_gcmessages_proto_rawDesc = []byte{ 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x13, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x5f, 0x67, 0x63, 0x6d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x52, 0x0a, 0x0e, 0x47, 0x61, - 0x6d, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x50, 0x69, 0x6e, 0x67, 0x12, 0x12, 0x0a, 0x04, - 0x70, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x69, 0x6e, 0x67, - 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x69, 0x70, - 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x09, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x22, 0x4a, - 0x0a, 0x0e, 0x44, 0x61, 0x74, 0x61, 0x43, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x50, 0x69, 0x6e, 0x67, - 0x12, 0x24, 0x0a, 0x0e, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x5f, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x07, 0x52, 0x0c, 0x64, 0x61, 0x74, 0x61, 0x43, 0x65, - 0x6e, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x69, 0x6e, 0x67, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x11, 0x52, 0x04, 0x70, 0x69, 0x6e, 0x67, 0x22, 0x8b, 0x01, 0x0a, 0x17, 0x44, - 0x65, 0x74, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x53, 0x74, 0x61, - 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x12, 0x1b, 0x0a, 0x09, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x74, - 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x67, 0x61, 0x6d, 0x65, 0x54, - 0x79, 0x70, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x74, 0x69, - 0x6d, 0x65, 0x5f, 0x61, 0x76, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x73, 0x65, - 0x61, 0x72, 0x63, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x41, 0x76, 0x67, 0x12, 0x2b, 0x0a, 0x11, 0x70, - 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x69, 0x6e, 0x67, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x53, - 0x65, 0x61, 0x72, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x22, 0xfd, 0x01, 0x0a, 0x10, 0x54, 0x6f, 0x75, - 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x12, 0x1d, 0x0a, - 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, - 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x6e, 0x69, 0x63, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0a, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4e, 0x69, 0x63, 0x6b, 0x12, 0x1f, 0x0a, - 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0a, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1d, - 0x0a, 0x0a, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x64, 0x6f, 0x62, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x09, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x44, 0x6f, 0x62, 0x12, 0x1f, 0x0a, - 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x66, 0x6c, 0x61, 0x67, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0a, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x46, 0x6c, 0x61, 0x67, 0x12, 0x27, - 0x0a, 0x0f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4c, - 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, - 0x72, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x6c, - 0x61, 0x79, 0x65, 0x72, 0x44, 0x65, 0x73, 0x63, 0x22, 0xab, 0x01, 0x0a, 0x0e, 0x54, 0x6f, 0x75, - 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x65, 0x61, 0x6d, 0x12, 0x17, 0x0a, 0x07, 0x74, - 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x74, 0x65, - 0x61, 0x6d, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x74, 0x61, 0x67, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x65, 0x61, 0x6d, 0x54, 0x61, 0x67, 0x12, - 0x1b, 0x0a, 0x09, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x66, 0x6c, 0x61, 0x67, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x08, 0x74, 0x65, 0x61, 0x6d, 0x46, 0x6c, 0x61, 0x67, 0x12, 0x1b, 0x0a, 0x09, - 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x08, 0x74, 0x65, 0x61, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2b, 0x0a, 0x07, 0x70, 0x6c, 0x61, - 0x79, 0x65, 0x72, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x54, 0x6f, 0x75, - 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x52, 0x07, 0x70, - 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x22, 0xd7, 0x02, 0x0a, 0x0f, 0x54, 0x6f, 0x75, 0x72, 0x6e, - 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x76, - 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x65, 0x76, - 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x74, - 0x61, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x54, - 0x61, 0x67, 0x12, 0x1d, 0x0a, 0x0a, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, - 0x65, 0x12, 0x28, 0x0a, 0x10, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, - 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x65, 0x76, 0x65, - 0x6e, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x24, 0x0a, 0x0e, 0x65, - 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x65, 0x6e, 0x64, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x45, 0x6e, - 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, - 0x63, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x50, 0x75, - 0x62, 0x6c, 0x69, 0x63, 0x12, 0x24, 0x0a, 0x0e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x74, - 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x65, 0x76, - 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x67, 0x65, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x10, 0x65, 0x76, - 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x67, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x08, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x67, 0x65, - 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, - 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x0f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, - 0x22, 0xc8, 0x05, 0x0a, 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x69, - 0x73, 0x74, 0x69, 0x63, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, - 0x5f, 0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x70, - 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x25, 0x0a, 0x0e, - 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x5f, 0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x4f, 0x6e, 0x6c, - 0x69, 0x6e, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x5f, 0x73, - 0x65, 0x61, 0x72, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, + 0x61, 0x67, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x16, 0x67, 0x63, 0x73, 0x64, + 0x6b, 0x5f, 0x67, 0x63, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x22, 0x52, 0x0a, 0x0e, 0x47, 0x61, 0x6d, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, + 0x50, 0x69, 0x6e, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x04, 0x70, 0x69, 0x6e, 0x67, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x70, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x69, 0x70, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x69, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x22, 0x4a, 0x0a, 0x0e, 0x44, 0x61, 0x74, 0x61, 0x43, 0x65, + 0x6e, 0x74, 0x65, 0x72, 0x50, 0x69, 0x6e, 0x67, 0x12, 0x24, 0x0a, 0x0e, 0x64, 0x61, 0x74, 0x61, + 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x07, + 0x52, 0x0c, 0x64, 0x61, 0x74, 0x61, 0x43, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x12, + 0x0a, 0x04, 0x70, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x11, 0x52, 0x04, 0x70, 0x69, + 0x6e, 0x67, 0x22, 0x8b, 0x01, 0x0a, 0x17, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x53, + 0x65, 0x61, 0x72, 0x63, 0x68, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x12, 0x1b, + 0x0a, 0x09, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x08, 0x67, 0x61, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x73, + 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x61, 0x76, 0x67, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x54, 0x69, 0x6d, 0x65, + 0x41, 0x76, 0x67, 0x12, 0x2b, 0x0a, 0x11, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x5f, 0x73, + 0x65, 0x61, 0x72, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x69, 0x6e, 0x67, - 0x12, 0x2b, 0x0a, 0x11, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x5f, 0x61, 0x76, 0x61, 0x69, - 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x73, 0x65, 0x72, - 0x76, 0x65, 0x72, 0x73, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x27, 0x0a, - 0x0f, 0x6f, 0x6e, 0x67, 0x6f, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x6f, 0x6e, 0x67, 0x6f, 0x69, 0x6e, 0x67, 0x4d, - 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, - 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x61, 0x76, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x0d, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x41, 0x76, 0x67, 0x12, 0x45, - 0x0a, 0x11, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, - 0x69, 0x63, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x44, 0x65, 0x74, 0x61, - 0x69, 0x6c, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, - 0x74, 0x69, 0x63, 0x52, 0x10, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x53, 0x74, 0x61, 0x74, 0x69, - 0x73, 0x74, 0x69, 0x63, 0x73, 0x12, 0x22, 0x0a, 0x0d, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x70, 0x6f, - 0x73, 0x74, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6d, 0x61, - 0x69, 0x6e, 0x50, 0x6f, 0x73, 0x74, 0x55, 0x72, 0x6c, 0x12, 0x34, 0x0a, 0x16, 0x72, 0x65, 0x71, - 0x75, 0x69, 0x72, 0x65, 0x64, 0x5f, 0x61, 0x70, 0x70, 0x69, 0x64, 0x5f, 0x76, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x14, 0x72, 0x65, 0x71, 0x75, 0x69, - 0x72, 0x65, 0x64, 0x41, 0x70, 0x70, 0x69, 0x64, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, - 0x2d, 0x0a, 0x12, 0x70, 0x72, 0x69, 0x63, 0x65, 0x73, 0x68, 0x65, 0x65, 0x74, 0x5f, 0x76, 0x65, - 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x70, 0x72, 0x69, - 0x63, 0x65, 0x73, 0x68, 0x65, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x34, - 0x0a, 0x16, 0x74, 0x77, 0x69, 0x74, 0x63, 0x68, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, - 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x14, - 0x74, 0x77, 0x69, 0x74, 0x63, 0x68, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x56, 0x65, 0x72, - 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x3a, 0x0a, 0x19, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x74, - 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x69, - 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x17, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x54, - 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x69, 0x64, - 0x12, 0x28, 0x0a, 0x10, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x75, 0x72, 0x76, 0x65, - 0x79, 0x5f, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x61, 0x63, 0x74, 0x69, - 0x76, 0x65, 0x53, 0x75, 0x72, 0x76, 0x65, 0x79, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x74, - 0x69, 0x6d, 0x65, 0x33, 0x32, 0x5f, 0x63, 0x75, 0x72, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x0a, 0x72, 0x74, 0x69, 0x6d, 0x65, 0x33, 0x32, 0x43, 0x75, 0x72, 0x12, 0x2e, 0x0a, 0x13, 0x72, - 0x74, 0x69, 0x6d, 0x65, 0x33, 0x32, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x74, 0x61, - 0x72, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x72, 0x74, 0x69, 0x6d, 0x65, 0x33, - 0x32, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x72, 0x74, 0x22, 0x4b, 0x0a, 0x1f, 0x4f, + 0x22, 0xfd, 0x01, 0x0a, 0x10, 0x54, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x50, + 0x6c, 0x61, 0x79, 0x65, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x6e, + 0x69, 0x63, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x6c, 0x61, 0x79, 0x65, + 0x72, 0x4e, 0x69, 0x63, 0x6b, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x6c, 0x61, 0x79, + 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, + 0x5f, 0x64, 0x6f, 0x62, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x70, 0x6c, 0x61, 0x79, + 0x65, 0x72, 0x44, 0x6f, 0x62, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, + 0x66, 0x6c, 0x61, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x6c, 0x61, 0x79, + 0x65, 0x72, 0x46, 0x6c, 0x61, 0x67, 0x12, 0x27, 0x0a, 0x0f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, + 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0e, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x1f, 0x0a, 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x18, 0x07, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x44, 0x65, 0x73, 0x63, + 0x22, 0xab, 0x01, 0x0a, 0x0e, 0x54, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x54, + 0x65, 0x61, 0x6d, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x74, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, + 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x74, 0x61, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, + 0x74, 0x65, 0x61, 0x6d, 0x54, 0x61, 0x67, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x65, 0x61, 0x6d, 0x5f, + 0x66, 0x6c, 0x61, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x65, 0x61, 0x6d, + 0x46, 0x6c, 0x61, 0x67, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x65, 0x61, 0x6d, 0x4e, 0x61, 0x6d, + 0x65, 0x12, 0x2b, 0x0a, 0x07, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x18, 0x05, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x54, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x50, + 0x6c, 0x61, 0x79, 0x65, 0x72, 0x52, 0x07, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x22, 0xd7, + 0x02, 0x0a, 0x0f, 0x54, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x45, 0x76, 0x65, + 0x6e, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, + 0x09, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x61, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x61, 0x67, 0x12, 0x1d, 0x0a, 0x0a, 0x65, 0x76, + 0x65, 0x6e, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, + 0x65, 0x76, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x65, 0x76, 0x65, + 0x6e, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x74, + 0x61, 0x72, 0x74, 0x12, 0x24, 0x0a, 0x0e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x69, 0x6d, + 0x65, 0x5f, 0x65, 0x6e, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x65, 0x76, 0x65, + 0x6e, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x45, 0x6e, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x65, 0x76, 0x65, + 0x6e, 0x74, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x0b, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x12, 0x24, 0x0a, 0x0e, + 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x07, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x67, 0x65, + 0x49, 0x64, 0x12, 0x28, 0x0a, 0x10, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x67, + 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x65, 0x76, + 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x67, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2a, 0x0a, 0x11, + 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, + 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x53, + 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x80, 0x06, 0x0a, 0x10, 0x47, 0x6c, 0x6f, + 0x62, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x12, 0x25, 0x0a, + 0x0e, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x5f, 0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x4f, 0x6e, + 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x5f, + 0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x73, 0x65, + 0x72, 0x76, 0x65, 0x72, 0x73, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x70, + 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x69, 0x6e, 0x67, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x53, + 0x65, 0x61, 0x72, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x12, 0x2b, 0x0a, 0x11, 0x73, 0x65, 0x72, 0x76, + 0x65, 0x72, 0x73, 0x5f, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x10, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x41, 0x76, 0x61, 0x69, + 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x6f, 0x6e, 0x67, 0x6f, 0x69, 0x6e, 0x67, + 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, + 0x6f, 0x6e, 0x67, 0x6f, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x12, 0x26, + 0x0a, 0x0f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x61, 0x76, + 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x54, + 0x69, 0x6d, 0x65, 0x41, 0x76, 0x67, 0x12, 0x45, 0x0a, 0x11, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, + 0x5f, 0x73, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x18, 0x2e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, + 0x63, 0x68, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x52, 0x10, 0x73, 0x65, 0x61, + 0x72, 0x63, 0x68, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x12, 0x22, 0x0a, + 0x0d, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x70, 0x6f, 0x73, 0x74, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x08, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6d, 0x61, 0x69, 0x6e, 0x50, 0x6f, 0x73, 0x74, 0x55, 0x72, + 0x6c, 0x12, 0x34, 0x0a, 0x16, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x5f, 0x61, 0x70, + 0x70, 0x69, 0x64, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x14, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x41, 0x70, 0x70, 0x69, 0x64, + 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x2d, 0x0a, 0x12, 0x70, 0x72, 0x69, 0x63, 0x65, + 0x73, 0x68, 0x65, 0x65, 0x74, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x0a, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x11, 0x70, 0x72, 0x69, 0x63, 0x65, 0x73, 0x68, 0x65, 0x65, 0x74, 0x56, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x34, 0x0a, 0x16, 0x74, 0x77, 0x69, 0x74, 0x63, 0x68, + 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x14, 0x74, 0x77, 0x69, 0x74, 0x63, 0x68, 0x53, 0x74, + 0x72, 0x65, 0x61, 0x6d, 0x73, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x3a, 0x0a, 0x19, + 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x74, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, + 0x74, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x17, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x54, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, + 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x69, 0x64, 0x12, 0x28, 0x0a, 0x10, 0x61, 0x63, 0x74, 0x69, + 0x76, 0x65, 0x5f, 0x73, 0x75, 0x72, 0x76, 0x65, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x0e, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x53, 0x75, 0x72, 0x76, 0x65, 0x79, + 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x74, 0x69, 0x6d, 0x65, 0x33, 0x32, 0x5f, 0x63, 0x75, + 0x72, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x72, 0x74, 0x69, 0x6d, 0x65, 0x33, 0x32, + 0x43, 0x75, 0x72, 0x12, 0x2e, 0x0a, 0x13, 0x72, 0x74, 0x69, 0x6d, 0x65, 0x33, 0x32, 0x5f, 0x65, + 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x11, 0x72, 0x74, 0x69, 0x6d, 0x65, 0x33, 0x32, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x53, 0x74, + 0x61, 0x72, 0x74, 0x12, 0x36, 0x0a, 0x17, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x5f, + 0x61, 0x70, 0x70, 0x69, 0x64, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x32, 0x18, 0x10, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x15, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x41, 0x70, + 0x70, 0x69, 0x64, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x32, 0x22, 0x4b, 0x0a, 0x1f, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, @@ -13949,11 +14058,6 @@ var file_cstrike15_gcmessages_proto_rawDesc = []byte{ 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x36, 0x0a, 0x08, 0x69, 0x74, 0x65, 0x6d, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x43, 0x45, 0x63, 0x6f, 0x6e, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x44, 0x61, 0x74, 0x61, 0x42, 0x6c, 0x6f, - 0x63, 0x6b, 0x52, 0x08, 0x69, 0x74, 0x65, 0x6d, 0x69, 0x6e, 0x66, 0x6f, 0x22, 0x4e, 0x0a, 0x14, - 0x43, 0x4d, 0x73, 0x67, 0x49, 0x74, 0x65, 0x6d, 0x41, 0x63, 0x6b, 0x6e, 0x6f, 0x77, 0x6c, 0x65, - 0x64, 0x67, 0x65, 0x64, 0x12, 0x36, 0x0a, 0x08, 0x69, 0x74, 0x65, 0x6d, 0x69, 0x6e, 0x66, 0x6f, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x43, 0x45, 0x63, 0x6f, 0x6e, 0x49, 0x74, - 0x65, 0x6d, 0x50, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x44, 0x61, 0x74, 0x61, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x08, 0x69, 0x74, 0x65, 0x6d, 0x69, 0x6e, 0x66, 0x6f, 0x22, 0x9d, 0x01, 0x0a, 0x37, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x32, 0x47, 0x43, 0x45, 0x63, 0x6f, @@ -14149,901 +14253,939 @@ var file_cstrike15_gcmessages_proto_rawDesc = []byte{ 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x46, 0x61, 0x6e, 0x74, 0x61, 0x73, 0x79, 0x2e, 0x46, 0x61, 0x6e, 0x74, 0x61, 0x73, 0x79, 0x53, 0x6c, 0x6f, 0x74, 0x52, - 0x05, 0x73, 0x6c, 0x6f, 0x74, 0x73, 0x22, 0x29, 0x0a, 0x11, 0x43, 0x41, 0x74, 0x74, 0x72, 0x69, - 0x62, 0x75, 0x74, 0x65, 0x5f, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x14, 0x0a, 0x05, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x22, 0xb2, 0x02, 0x0a, 0x14, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, - 0x65, 0x31, 0x35, 0x57, 0x65, 0x6c, 0x63, 0x6f, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x73, 0x74, - 0x6f, 0x72, 0x65, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x48, 0x61, - 0x73, 0x68, 0x12, 0x38, 0x0a, 0x17, 0x74, 0x69, 0x6d, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x64, - 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x63, 0x75, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x79, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x17, 0x74, 0x69, 0x6d, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x64, 0x63, - 0x6f, 0x6e, 0x73, 0x65, 0x63, 0x75, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x79, 0x12, 0x2a, 0x0a, 0x11, - 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, - 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x74, 0x69, 0x6d, 0x65, 0x46, 0x69, 0x72, - 0x73, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x64, 0x12, 0x28, 0x0a, 0x10, 0x6c, 0x61, 0x73, 0x74, - 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x64, 0x18, 0x0c, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x0e, 0x6c, 0x61, 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x50, 0x6c, 0x61, 0x79, - 0x65, 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x69, 0x70, 0x5f, 0x61, 0x64, - 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x6c, 0x61, 0x73, - 0x74, 0x49, 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x67, 0x73, - 0x63, 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x69, 0x64, 0x18, 0x12, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, - 0x67, 0x73, 0x63, 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x6e, - 0x69, 0x71, 0x75, 0x65, 0x69, 0x64, 0x18, 0x13, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x75, 0x6e, - 0x69, 0x71, 0x75, 0x65, 0x69, 0x64, 0x22, 0xd6, 0x01, 0x0a, 0x31, 0x43, 0x4d, 0x73, 0x67, 0x47, - 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x43, 0x6c, - 0x69, 0x65, 0x6e, 0x74, 0x56, 0x61, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4e, 0x6f, 0x74, 0x69, - 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1d, 0x0a, 0x0a, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x09, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x49, 0x6e, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x65, 0x72, 0x76, - 0x65, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x73, - 0x65, 0x72, 0x76, 0x65, 0x72, 0x41, 0x64, 0x64, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x65, 0x72, - 0x76, 0x65, 0x72, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, - 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x68, - 0x6f, 0x6b, 0x65, 0x64, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, - 0x09, 0x52, 0x0c, 0x63, 0x68, 0x6f, 0x6b, 0x65, 0x64, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x22, - 0xa1, 0x01, 0x0a, 0x31, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, - 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x56, 0x61, 0x72, - 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x69, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x76, 0x69, 0x65, 0x77, 0x61, 0x6e, 0x67, 0x6c, 0x65, - 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0a, 0x76, 0x69, 0x65, 0x77, 0x61, 0x6e, 0x67, - 0x6c, 0x65, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x64, - 0x61, 0x74, 0x61, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x64, - 0x61, 0x74, 0x61, 0x22, 0x2c, 0x0a, 0x2a, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, - 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x47, 0x69, 0x66, 0x74, 0x73, 0x4c, - 0x65, 0x61, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x22, 0xf5, 0x02, 0x0a, 0x2b, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, - 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x47, 0x69, 0x66, 0x74, 0x73, 0x4c, 0x65, - 0x61, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x74, 0x69, 0x6d, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x74, 0x69, 0x6d, - 0x65, 0x12, 0x2e, 0x0a, 0x13, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, - 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, - 0x74, 0x69, 0x6d, 0x65, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, - 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x67, 0x69, 0x66, 0x74, 0x73, - 0x5f, 0x67, 0x69, 0x76, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x74, 0x6f, - 0x74, 0x61, 0x6c, 0x47, 0x69, 0x66, 0x74, 0x73, 0x47, 0x69, 0x76, 0x65, 0x6e, 0x12, 0x21, 0x0a, - 0x0c, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x67, 0x69, 0x76, 0x65, 0x72, 0x73, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x47, 0x69, 0x76, 0x65, 0x72, 0x73, - 0x12, 0x5b, 0x0a, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x41, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, - 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x47, 0x69, 0x66, 0x74, 0x73, 0x4c, 0x65, 0x61, 0x64, - 0x65, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, - 0x47, 0x69, 0x66, 0x74, 0x4c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x45, - 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x1a, 0x4a, 0x0a, - 0x14, 0x47, 0x69, 0x66, 0x74, 0x4c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, - 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x67, 0x69, 0x66, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x05, 0x67, 0x69, 0x66, 0x74, 0x73, 0x22, 0x5c, 0x0a, 0x29, 0x43, 0x4d, 0x73, - 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, - 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x53, 0x75, 0x72, 0x76, - 0x65, 0x79, 0x56, 0x6f, 0x74, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x75, 0x72, 0x76, 0x65, 0x79, - 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x73, 0x75, 0x72, 0x76, 0x65, - 0x79, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x76, 0x6f, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x04, 0x76, 0x6f, 0x74, 0x65, 0x22, 0x4a, 0x0a, 0x2a, 0x43, 0x4d, 0x73, 0x67, 0x47, - 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x53, 0x65, - 0x72, 0x76, 0x65, 0x72, 0x32, 0x47, 0x43, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x56, 0x61, 0x6c, - 0x69, 0x64, 0x61, 0x74, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x69, 0x64, 0x22, 0x97, 0x01, 0x0a, 0x2a, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, - 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x47, 0x43, 0x32, 0x43, 0x6c, - 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, - 0x66, 0x6f, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, - 0x73, 0x74, 0x61, 0x67, 0x65, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, - 0x74, 0x61, 0x67, 0x65, 0x69, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x74, - 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x67, 0x61, 0x6d, 0x65, 0x54, - 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x73, 0x18, 0x04, - 0x20, 0x03, 0x28, 0x0d, 0x52, 0x07, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x73, 0x22, 0x70, 0x0a, - 0x0d, 0x43, 0x53, 0x4f, 0x45, 0x63, 0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x70, 0x6f, 0x6e, 0x12, 0x1e, - 0x0a, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x42, - 0x04, 0x80, 0xa6, 0x1d, 0x01, 0x52, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x69, 0x64, 0x12, 0x16, - 0x0a, 0x06, 0x64, 0x65, 0x66, 0x69, 0x64, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, - 0x64, 0x65, 0x66, 0x69, 0x64, 0x78, 0x12, 0x27, 0x0a, 0x0f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x07, 0x52, - 0x0e, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x65, 0x22, - 0x80, 0x01, 0x0a, 0x10, 0x43, 0x53, 0x4f, 0x51, 0x75, 0x65, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x67, - 0x72, 0x65, 0x73, 0x73, 0x12, 0x1e, 0x0a, 0x07, 0x71, 0x75, 0x65, 0x73, 0x74, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x04, 0x80, 0xa6, 0x1d, 0x01, 0x52, 0x07, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x69, 0x64, 0x12, 0x29, 0x0a, 0x10, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x5f, 0x72, - 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, - 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x12, - 0x21, 0x0a, 0x0c, 0x62, 0x6f, 0x6e, 0x75, 0x73, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x62, 0x6f, 0x6e, 0x75, 0x73, 0x50, 0x6f, 0x69, 0x6e, - 0x74, 0x73, 0x22, 0xb7, 0x02, 0x0a, 0x1b, 0x43, 0x53, 0x4f, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x53, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x12, 0x27, 0x0a, 0x0c, 0x73, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x5f, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x04, 0x80, 0xa6, 0x1d, 0x01, 0x52, 0x0b, - 0x73, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x74, - 0x69, 0x65, 0x72, 0x5f, 0x75, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x0c, 0x74, 0x69, 0x65, 0x72, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, - 0x12, 0x23, 0x0a, 0x0d, 0x70, 0x72, 0x65, 0x6d, 0x69, 0x75, 0x6d, 0x5f, 0x74, 0x69, 0x65, 0x72, - 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x70, 0x72, 0x65, 0x6d, 0x69, 0x75, 0x6d, - 0x54, 0x69, 0x65, 0x72, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, - 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x6d, 0x69, 0x73, 0x73, 0x69, - 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x2d, 0x0a, 0x12, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, - 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x11, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, - 0x74, 0x65, 0x64, 0x12, 0x2d, 0x0a, 0x12, 0x72, 0x65, 0x64, 0x65, 0x65, 0x6d, 0x61, 0x62, 0x6c, - 0x65, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x11, 0x72, 0x65, 0x64, 0x65, 0x65, 0x6d, 0x61, 0x62, 0x6c, 0x65, 0x42, 0x61, 0x6c, 0x61, 0x6e, - 0x63, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x73, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x5f, 0x70, 0x61, 0x73, - 0x73, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x73, 0x65, - 0x61, 0x73, 0x6f, 0x6e, 0x50, 0x61, 0x73, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x70, 0x0a, 0x1f, - 0x43, 0x53, 0x4f, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x63, 0x75, 0x72, 0x72, - 0x69, 0x6e, 0x67, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, - 0x26, 0x0a, 0x0f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x63, 0x79, 0x63, - 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x74, 0x69, 0x6d, 0x65, 0x4e, 0x65, - 0x78, 0x74, 0x43, 0x79, 0x63, 0x6c, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x74, 0x69, 0x6d, 0x65, 0x5f, - 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x0d, 0x74, 0x69, 0x6d, 0x65, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x65, 0x64, 0x22, 0x9d, - 0x01, 0x0a, 0x14, 0x43, 0x53, 0x4f, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x44, 0x61, 0x74, - 0x61, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x6c, 0x61, 0x79, 0x65, - 0x72, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x70, - 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x3b, 0x0a, 0x0c, 0x63, 0x6f, - 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x17, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0c, 0x63, 0x6f, 0x6d, 0x6d, 0x65, - 0x6e, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0e, 0x65, 0x6c, 0x65, 0x76, 0x61, - 0x74, 0x65, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x0d, 0x65, 0x6c, 0x65, 0x76, 0x61, 0x74, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, 0x22, 0x35, - 0x0a, 0x1b, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x5f, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x47, - 0x61, 0x6d, 0x65, 0x5f, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x12, 0x16, 0x0a, - 0x06, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x74, - 0x69, 0x63, 0x6b, 0x65, 0x74, 0x22, 0x3b, 0x0a, 0x1d, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x5f, - 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x47, 0x61, 0x6d, 0x65, 0x5f, 0x55, 0x6e, 0x73, 0x75, 0x62, - 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x74, 0x69, 0x6d, 0x65, 0x6c, 0x65, - 0x66, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x74, 0x69, 0x6d, 0x65, 0x6c, 0x65, - 0x66, 0x74, 0x22, 0x70, 0x0a, 0x16, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x5f, 0x47, 0x6c, 0x6f, - 0x62, 0x61, 0x6c, 0x47, 0x61, 0x6d, 0x65, 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x12, 0x16, 0x0a, 0x06, - 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x74, 0x69, - 0x63, 0x6b, 0x65, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x67, 0x61, 0x6d, 0x65, 0x74, 0x69, 0x6d, 0x65, - 0x6d, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x67, 0x61, 0x6d, 0x65, 0x74, 0x69, - 0x6d, 0x65, 0x6d, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x6d, 0x73, 0x70, 0x65, 0x72, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x6d, 0x73, 0x70, 0x65, 0x72, 0x70, - 0x6f, 0x69, 0x6e, 0x74, 0x22, 0x4b, 0x0a, 0x25, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, - 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x41, 0x63, 0x6b, 0x6e, 0x6f, - 0x77, 0x6c, 0x65, 0x64, 0x67, 0x65, 0x50, 0x65, 0x6e, 0x61, 0x6c, 0x74, 0x79, 0x12, 0x22, 0x0a, - 0x0c, 0x61, 0x63, 0x6b, 0x6e, 0x6f, 0x77, 0x6c, 0x65, 0x64, 0x67, 0x65, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x0c, 0x61, 0x63, 0x6b, 0x6e, 0x6f, 0x77, 0x6c, 0x65, 0x64, 0x67, 0x65, - 0x64, 0x22, 0xa5, 0x01, 0x0a, 0x2f, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, - 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x32, - 0x47, 0x43, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x72, 0x65, 0x73, 0x74, 0x69, 0x67, - 0x65, 0x43, 0x6f, 0x69, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x64, 0x65, - 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x64, 0x65, - 0x78, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x69, 0x64, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x75, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x69, 0x64, 0x12, - 0x14, 0x0a, 0x05, 0x68, 0x6f, 0x75, 0x72, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, - 0x68, 0x6f, 0x75, 0x72, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x70, 0x72, 0x65, 0x73, 0x74, 0x69, 0x67, - 0x65, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x70, 0x72, 0x65, - 0x73, 0x74, 0x69, 0x67, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x22, 0x52, 0x0a, 0x28, 0x43, 0x4d, 0x73, - 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, - 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x32, 0x47, 0x43, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x55, - 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x0e, 0x0a, - 0x02, 0x6f, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x6f, 0x73, 0x22, 0x43, 0x0a, + 0x05, 0x73, 0x6c, 0x6f, 0x74, 0x73, 0x22, 0x93, 0x05, 0x0a, 0x1e, 0x43, 0x4d, 0x73, 0x67, 0x4c, + 0x65, 0x67, 0x61, 0x63, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x31, 0x43, 0x6c, 0x69, 0x65, + 0x6e, 0x74, 0x57, 0x65, 0x6c, 0x63, 0x6f, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, + 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, + 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x61, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x67, 0x61, 0x6d, 0x65, 0x44, 0x61, 0x74, 0x61, + 0x12, 0x56, 0x0a, 0x1b, 0x6f, 0x75, 0x74, 0x6f, 0x66, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x73, 0x75, + 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x64, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x73, 0x18, + 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x4f, 0x43, 0x61, + 0x63, 0x68, 0x65, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x64, 0x52, 0x19, 0x6f, + 0x75, 0x74, 0x6f, 0x66, 0x64, 0x61, 0x74, 0x65, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, + 0x65, 0x64, 0x43, 0x61, 0x63, 0x68, 0x65, 0x73, 0x12, 0x5b, 0x0a, 0x1a, 0x75, 0x70, 0x74, 0x6f, + 0x64, 0x61, 0x74, 0x65, 0x5f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x64, 0x5f, + 0x63, 0x61, 0x63, 0x68, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x43, + 0x4d, 0x73, 0x67, 0x53, 0x4f, 0x43, 0x61, 0x63, 0x68, 0x65, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x18, 0x75, 0x70, 0x74, + 0x6f, 0x64, 0x61, 0x74, 0x65, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x64, 0x43, + 0x61, 0x63, 0x68, 0x65, 0x73, 0x12, 0x44, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x4c, 0x65, + 0x67, 0x61, 0x63, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x31, 0x43, 0x6c, 0x69, 0x65, 0x6e, + 0x74, 0x57, 0x65, 0x6c, 0x63, 0x6f, 0x6d, 0x65, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x67, + 0x61, 0x6d, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x32, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, 0x52, + 0x09, 0x67, 0x61, 0x6d, 0x65, 0x44, 0x61, 0x74, 0x61, 0x32, 0x12, 0x3f, 0x0a, 0x1c, 0x72, 0x74, + 0x69, 0x6d, 0x65, 0x33, 0x32, 0x5f, 0x67, 0x63, 0x5f, 0x77, 0x65, 0x6c, 0x63, 0x6f, 0x6d, 0x65, + 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x19, 0x72, 0x74, 0x69, 0x6d, 0x65, 0x33, 0x32, 0x47, 0x63, 0x57, 0x65, 0x6c, 0x63, 0x6f, + 0x6d, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1a, 0x0a, 0x08, 0x63, + 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x63, + 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x62, 0x61, 0x6c, 0x61, 0x6e, + 0x63, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, + 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x75, 0x72, 0x6c, + 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x55, + 0x72, 0x6c, 0x12, 0x28, 0x0a, 0x10, 0x74, 0x78, 0x6e, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, + 0x79, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x74, 0x78, + 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x1a, 0x5e, 0x0a, 0x08, + 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x61, 0x74, 0x69, + 0x74, 0x75, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x6c, 0x61, 0x74, 0x69, + 0x74, 0x75, 0x64, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6c, 0x6f, 0x6e, 0x67, 0x69, 0x74, 0x75, 0x64, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x09, 0x6c, 0x6f, 0x6e, 0x67, 0x69, 0x74, 0x75, + 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x22, 0xb2, 0x02, 0x0a, + 0x14, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x57, 0x65, + 0x6c, 0x63, 0x6f, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5f, 0x69, + 0x74, 0x65, 0x6d, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, + 0x73, 0x74, 0x6f, 0x72, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x48, 0x61, 0x73, 0x68, 0x12, 0x38, 0x0a, + 0x17, 0x74, 0x69, 0x6d, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x64, 0x63, 0x6f, 0x6e, 0x73, 0x65, + 0x63, 0x75, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x17, + 0x74, 0x69, 0x6d, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x64, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x63, + 0x75, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x79, 0x12, 0x2a, 0x0a, 0x11, 0x74, 0x69, 0x6d, 0x65, 0x5f, + 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x64, 0x18, 0x0a, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x0f, 0x74, 0x69, 0x6d, 0x65, 0x46, 0x69, 0x72, 0x73, 0x74, 0x50, 0x6c, 0x61, + 0x79, 0x65, 0x64, 0x12, 0x28, 0x0a, 0x10, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, + 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x6c, + 0x61, 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x64, 0x12, 0x26, 0x0a, + 0x0f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x69, 0x70, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, + 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x6c, 0x61, 0x73, 0x74, 0x49, 0x70, 0x41, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x67, 0x73, 0x63, 0x6f, 0x6f, 0x6b, 0x69, + 0x65, 0x69, 0x64, 0x18, 0x12, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x67, 0x73, 0x63, 0x6f, 0x6f, + 0x6b, 0x69, 0x65, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x69, + 0x64, 0x18, 0x13, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x69, + 0x64, 0x22, 0xd6, 0x01, 0x0a, 0x31, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, + 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x56, + 0x61, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1d, 0x0a, 0x0a, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, + 0x69, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x49, 0x6e, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x61, 0x64, + 0x64, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, + 0x41, 0x64, 0x64, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x70, + 0x6f, 0x72, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x73, 0x65, 0x72, 0x76, 0x65, + 0x72, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x68, 0x6f, 0x6b, 0x65, 0x64, 0x5f, + 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x68, + 0x6f, 0x6b, 0x65, 0x64, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x22, 0xa1, 0x01, 0x0a, 0x31, 0x43, + 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, + 0x32, 0x5f, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x56, 0x61, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, + 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x69, 0x64, 0x12, 0x1e, + 0x0a, 0x0a, 0x76, 0x69, 0x65, 0x77, 0x61, 0x6e, 0x67, 0x6c, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, + 0x28, 0x0d, 0x52, 0x0a, 0x76, 0x69, 0x65, 0x77, 0x61, 0x6e, 0x67, 0x6c, 0x65, 0x73, 0x12, 0x12, + 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x74, 0x79, + 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x18, 0x04, + 0x20, 0x03, 0x28, 0x0d, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x22, 0x2c, + 0x0a, 0x2a, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, + 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x47, 0x69, 0x66, 0x74, 0x73, 0x4c, 0x65, 0x61, 0x64, 0x65, 0x72, + 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0xf5, 0x02, 0x0a, 0x2b, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, - 0x5f, 0x76, 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x45, 0x6c, 0x65, 0x76, 0x61, 0x74, 0x65, 0x12, 0x14, 0x0a, 0x05, - 0x73, 0x74, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x73, 0x74, 0x61, - 0x67, 0x65, 0x22, 0x52, 0x0a, 0x21, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, - 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, - 0x6f, 0x47, 0x43, 0x43, 0x68, 0x61, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x61, 0x74, 0x63, 0x68, - 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, - 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, 0x78, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x74, 0x65, 0x78, 0x74, 0x22, 0x56, 0x0a, 0x21, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, - 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x47, 0x43, 0x54, - 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x61, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, - 0x78, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x65, 0x78, 0x74, 0x22, 0x54, - 0x0a, 0x24, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, - 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x41, 0x75, 0x74, 0x68, 0x4b, - 0x65, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x69, 0x64, - 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, - 0x63, 0x6f, 0x64, 0x65, 0x22, 0x4c, 0x0a, 0x1e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, - 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x47, 0x6f, 0x74, 0x76, 0x53, 0x79, 0x6e, 0x63, - 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x2a, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x43, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x47, 0x6f, - 0x74, 0x76, 0x53, 0x79, 0x6e, 0x63, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x04, 0x64, 0x61, - 0x74, 0x61, 0x22, 0x98, 0x03, 0x0a, 0x1b, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x44, 0x65, 0x63, - 0x61, 0x6c, 0x44, 0x69, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, - 0x72, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, - 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x69, 0x64, 0x18, 0x02, 0x20, + 0x5f, 0x76, 0x32, 0x5f, 0x47, 0x69, 0x66, 0x74, 0x73, 0x4c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x62, + 0x6f, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1e, 0x0a, 0x0a, + 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x0a, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x2e, 0x0a, 0x13, + 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x5f, 0x73, 0x65, 0x63, 0x6f, + 0x6e, 0x64, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x74, 0x69, 0x6d, 0x65, 0x50, + 0x65, 0x72, 0x69, 0x6f, 0x64, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x12, 0x2a, 0x0a, 0x11, + 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x67, 0x69, 0x66, 0x74, 0x73, 0x5f, 0x67, 0x69, 0x76, 0x65, + 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x47, 0x69, + 0x66, 0x74, 0x73, 0x47, 0x69, 0x76, 0x65, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x74, 0x6f, 0x74, 0x61, + 0x6c, 0x5f, 0x67, 0x69, 0x76, 0x65, 0x72, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, + 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x47, 0x69, 0x76, 0x65, 0x72, 0x73, 0x12, 0x5b, 0x0a, 0x07, 0x65, + 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x43, + 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, + 0x32, 0x5f, 0x47, 0x69, 0x66, 0x74, 0x73, 0x4c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x61, + 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x47, 0x69, 0x66, 0x74, 0x4c, + 0x65, 0x61, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, + 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x1a, 0x4a, 0x0a, 0x14, 0x47, 0x69, 0x66, 0x74, + 0x4c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x69, 0x64, 0x12, 0x14, - 0x0a, 0x05, 0x72, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x72, - 0x74, 0x69, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x73, 0x18, 0x04, - 0x20, 0x03, 0x28, 0x02, 0x52, 0x06, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x73, 0x12, 0x1a, 0x0a, 0x08, - 0x73, 0x74, 0x61, 0x72, 0x74, 0x70, 0x6f, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x02, 0x52, 0x08, - 0x73, 0x74, 0x61, 0x72, 0x74, 0x70, 0x6f, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x69, 0x67, 0x68, - 0x74, 0x18, 0x06, 0x20, 0x03, 0x28, 0x02, 0x52, 0x05, 0x72, 0x69, 0x67, 0x68, 0x74, 0x12, 0x1b, - 0x0a, 0x09, 0x74, 0x78, 0x5f, 0x64, 0x65, 0x66, 0x69, 0x64, 0x78, 0x18, 0x07, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x08, 0x74, 0x78, 0x44, 0x65, 0x66, 0x69, 0x64, 0x78, 0x12, 0x1a, 0x0a, 0x08, 0x65, - 0x6e, 0x74, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x65, - 0x6e, 0x74, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x69, 0x74, 0x62, 0x6f, - 0x78, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x68, 0x69, 0x74, 0x62, 0x6f, 0x78, 0x12, - 0x22, 0x0a, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x18, - 0x0a, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x74, - 0x69, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x65, 0x71, 0x75, 0x69, 0x70, 0x73, 0x6c, 0x6f, 0x74, - 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x65, 0x71, 0x75, 0x69, 0x70, 0x73, 0x6c, 0x6f, - 0x74, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x07, 0x74, 0x72, 0x61, 0x63, 0x65, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, - 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x02, 0x52, 0x06, 0x6e, 0x6f, - 0x72, 0x6d, 0x61, 0x6c, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x69, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, - 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x74, 0x69, 0x6e, 0x74, 0x49, 0x64, 0x22, 0x74, 0x0a, - 0x28, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, - 0x5f, 0x76, 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, - 0x44, 0x65, 0x63, 0x61, 0x6c, 0x53, 0x69, 0x67, 0x6e, 0x12, 0x30, 0x0a, 0x04, 0x64, 0x61, 0x74, - 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, - 0x44, 0x65, 0x63, 0x61, 0x6c, 0x44, 0x69, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x53, 0x69, 0x67, 0x6e, - 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x16, 0x0a, 0x06, 0x69, - 0x74, 0x65, 0x6d, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x69, 0x74, 0x65, - 0x6d, 0x69, 0x64, 0x22, 0x7c, 0x0a, 0x28, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, - 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, - 0x4c, 0x6f, 0x67, 0x6f, 0x6e, 0x46, 0x61, 0x74, 0x61, 0x6c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, - 0x1c, 0x0a, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a, - 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, - 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, - 0x79, 0x22, 0x6a, 0x0a, 0x22, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, - 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x50, 0x6f, - 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x6f, 0x6c, 0x6c, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x70, 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x12, - 0x14, 0x0a, 0x05, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, - 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, - 0x03, 0x20, 0x03, 0x28, 0x05, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x22, 0xdc, 0x01, - 0x0a, 0x21, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, - 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x50, 0x61, 0x72, 0x74, 0x79, 0x5f, 0x52, 0x65, 0x67, 0x69, 0x73, - 0x74, 0x65, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x02, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x76, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x03, 0x76, 0x65, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x61, 0x70, 0x72, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x03, 0x61, 0x70, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x61, 0x72, 0x6b, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x61, 0x72, 0x6b, 0x12, 0x10, 0x0a, 0x03, 0x6e, 0x62, 0x79, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6e, 0x62, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x67, - 0x72, 0x70, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x67, 0x72, 0x70, 0x12, 0x14, 0x0a, - 0x05, 0x73, 0x6c, 0x6f, 0x74, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x73, 0x6c, - 0x6f, 0x74, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x65, 0x72, 0x18, - 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x65, 0x72, 0x12, - 0x1b, 0x0a, 0x09, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x09, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x08, 0x67, 0x61, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x22, 0xa4, 0x01, 0x0a, - 0x1f, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, - 0x5f, 0x76, 0x32, 0x5f, 0x50, 0x61, 0x72, 0x74, 0x79, 0x5f, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, - 0x12, 0x10, 0x0a, 0x03, 0x76, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x76, - 0x65, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x61, 0x70, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x03, 0x61, 0x70, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x61, 0x72, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x03, 0x61, 0x72, 0x6b, 0x12, 0x12, 0x0a, 0x04, 0x67, 0x72, 0x70, 0x73, 0x18, 0x04, - 0x20, 0x03, 0x28, 0x0d, 0x52, 0x04, 0x67, 0x72, 0x70, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x61, - 0x75, 0x6e, 0x63, 0x68, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6c, 0x61, - 0x75, 0x6e, 0x63, 0x68, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x74, - 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x67, 0x61, 0x6d, 0x65, 0x54, - 0x79, 0x70, 0x65, 0x22, 0x8e, 0x02, 0x0a, 0x26, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, - 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x50, 0x61, 0x72, 0x74, 0x79, - 0x5f, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x47, - 0x0a, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x2d, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, - 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x50, 0x61, 0x72, 0x74, 0x79, 0x5f, 0x53, 0x65, 0x61, 0x72, 0x63, - 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x2e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, - 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x1a, 0x9a, 0x01, 0x0a, 0x05, 0x45, 0x6e, 0x74, 0x72, - 0x79, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x69, - 0x64, 0x12, 0x10, 0x0a, 0x03, 0x67, 0x72, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, - 0x67, 0x72, 0x70, 0x12, 0x1b, 0x0a, 0x09, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x67, 0x61, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, - 0x12, 0x10, 0x0a, 0x03, 0x61, 0x70, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x61, - 0x70, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x61, 0x72, 0x6b, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x03, 0x61, 0x72, 0x6b, 0x12, 0x10, 0x0a, 0x03, 0x6c, 0x6f, 0x63, 0x18, 0x06, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x03, 0x6c, 0x6f, 0x63, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x69, 0x64, 0x22, 0x59, 0x0a, 0x1f, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, - 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x50, 0x61, 0x72, 0x74, 0x79, - 0x5f, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x6c, 0x6f, 0x62, 0x62, 0x79, 0x69, 0x64, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6c, 0x6f, 0x62, 0x62, 0x79, 0x69, 0x64, 0x22, - 0xf4, 0x01, 0x0a, 0x29, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, - 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x43, 0x6f, 0x50, 0x6c, 0x61, 0x79, 0x73, 0x12, 0x4b, 0x0a, - 0x07, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, - 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, - 0x5f, 0x76, 0x32, 0x5f, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x43, 0x6f, 0x50, 0x6c, 0x61, 0x79, 0x73, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, - 0x72, 0x52, 0x07, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x65, - 0x72, 0x76, 0x65, 0x72, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, - 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x74, 0x69, 0x6d, 0x65, 0x1a, 0x5a, 0x0a, 0x06, 0x50, 0x6c, - 0x61, 0x79, 0x65, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x74, 0x63, 0x6f, 0x70, 0x6c, 0x61, 0x79, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x72, 0x74, 0x63, 0x6f, 0x70, 0x6c, 0x61, 0x79, 0x12, 0x16, - 0x0a, 0x06, 0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, - 0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x22, 0xf4, 0x01, 0x0a, 0x2a, 0x43, 0x4d, 0x73, 0x67, 0x47, - 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x43, 0x6c, - 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x54, - 0x69, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x2e, 0x0a, 0x13, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, - 0x7a, 0x65, 0x64, 0x5f, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x06, 0x52, 0x11, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x64, 0x53, 0x74, - 0x65, 0x61, 0x6d, 0x49, 0x64, 0x12, 0x30, 0x0a, 0x14, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, - 0x7a, 0x65, 0x64, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x69, 0x70, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x07, 0x52, 0x12, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x64, 0x50, - 0x75, 0x62, 0x6c, 0x69, 0x63, 0x49, 0x70, 0x12, 0x2e, 0x0a, 0x13, 0x67, 0x61, 0x6d, 0x65, 0x73, - 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x06, 0x52, 0x11, 0x67, 0x61, 0x6d, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, - 0x53, 0x74, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x12, 0x34, 0x0a, 0x16, 0x67, 0x61, 0x6d, 0x65, 0x73, - 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x73, 0x64, 0x72, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, - 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x67, 0x61, 0x6d, 0x65, 0x73, 0x65, 0x72, - 0x76, 0x65, 0x72, 0x53, 0x64, 0x72, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x22, 0x50, 0x0a, - 0x21, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, - 0x74, 0x65, 0x61, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x54, 0x69, 0x63, 0x6b, - 0x65, 0x74, 0x12, 0x2b, 0x0a, 0x11, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, - 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x10, 0x73, - 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x22, - 0x28, 0x0a, 0x26, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, - 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x73, 0x22, 0x76, 0x0a, 0x28, 0x43, 0x4d, 0x73, + 0x0a, 0x05, 0x67, 0x69, 0x66, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x67, + 0x69, 0x66, 0x74, 0x73, 0x22, 0x5c, 0x0a, 0x29, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, + 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, + 0x74, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x53, 0x75, 0x72, 0x76, 0x65, 0x79, 0x56, 0x6f, 0x74, + 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x75, 0x72, 0x76, 0x65, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x73, 0x75, 0x72, 0x76, 0x65, 0x79, 0x49, 0x64, 0x12, 0x12, + 0x0a, 0x04, 0x76, 0x6f, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x76, 0x6f, + 0x74, 0x65, 0x22, 0x4a, 0x0a, 0x2a, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, + 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x32, + 0x47, 0x43, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, + 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x69, 0x64, 0x22, 0x97, + 0x01, 0x0a, 0x2a, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, + 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x47, 0x43, 0x32, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, + 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x18, 0x0a, + 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, + 0x65, 0x76, 0x65, 0x6e, 0x74, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x74, 0x61, 0x67, 0x65, + 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, 0x74, 0x61, 0x67, 0x65, 0x69, + 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x67, 0x61, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, + 0x0a, 0x07, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0d, 0x52, + 0x07, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x73, 0x22, 0x70, 0x0a, 0x0d, 0x43, 0x53, 0x4f, 0x45, + 0x63, 0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x70, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x07, 0x65, 0x6e, 0x74, + 0x72, 0x79, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x04, 0x80, 0xa6, 0x1d, 0x01, + 0x52, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x65, 0x66, + 0x69, 0x64, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x64, 0x65, 0x66, 0x69, 0x64, + 0x78, 0x12, 0x27, 0x0a, 0x0f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x64, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x07, 0x52, 0x0e, 0x65, 0x78, 0x70, 0x69, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x65, 0x22, 0x80, 0x01, 0x0a, 0x10, 0x43, + 0x53, 0x4f, 0x51, 0x75, 0x65, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, + 0x1e, 0x0a, 0x07, 0x71, 0x75, 0x65, 0x73, 0x74, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, + 0x42, 0x04, 0x80, 0xa6, 0x1d, 0x01, 0x52, 0x07, 0x71, 0x75, 0x65, 0x73, 0x74, 0x69, 0x64, 0x12, + 0x29, 0x0a, 0x10, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x65, 0x6d, 0x61, 0x69, 0x6e, + 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x73, 0x52, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x12, 0x21, 0x0a, 0x0c, 0x62, 0x6f, + 0x6e, 0x75, 0x73, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x0b, 0x62, 0x6f, 0x6e, 0x75, 0x73, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x22, 0xb7, 0x02, + 0x0a, 0x1b, 0x43, 0x53, 0x4f, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x53, 0x65, 0x61, 0x73, + 0x6f, 0x6e, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x27, 0x0a, + 0x0c, 0x73, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0d, 0x42, 0x04, 0x80, 0xa6, 0x1d, 0x01, 0x52, 0x0b, 0x73, 0x65, 0x61, 0x73, 0x6f, + 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x74, 0x69, 0x65, 0x72, 0x5f, 0x75, + 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x74, + 0x69, 0x65, 0x72, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x70, + 0x72, 0x65, 0x6d, 0x69, 0x75, 0x6d, 0x5f, 0x74, 0x69, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x0c, 0x70, 0x72, 0x65, 0x6d, 0x69, 0x75, 0x6d, 0x54, 0x69, 0x65, 0x72, 0x73, + 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, + 0x2d, 0x0a, 0x12, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x63, 0x6f, 0x6d, 0x70, + 0x6c, 0x65, 0x74, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x6d, 0x69, 0x73, + 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x12, 0x2d, + 0x0a, 0x12, 0x72, 0x65, 0x64, 0x65, 0x65, 0x6d, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x62, 0x61, 0x6c, + 0x61, 0x6e, 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x72, 0x65, 0x64, 0x65, + 0x65, 0x6d, 0x61, 0x62, 0x6c, 0x65, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x28, 0x0a, + 0x10, 0x73, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x5f, 0x70, 0x61, 0x73, 0x73, 0x5f, 0x74, 0x69, 0x6d, + 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x73, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x50, + 0x61, 0x73, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x70, 0x0a, 0x1f, 0x43, 0x53, 0x4f, 0x41, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x63, 0x75, 0x72, 0x72, 0x69, 0x6e, 0x67, 0x53, 0x75, + 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x26, 0x0a, 0x0f, 0x74, 0x69, + 0x6d, 0x65, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x74, 0x69, 0x6d, 0x65, 0x4e, 0x65, 0x78, 0x74, 0x43, 0x79, 0x63, + 0x6c, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x69, 0x6e, 0x69, 0x74, 0x69, + 0x61, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x74, 0x69, 0x6d, 0x65, + 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x65, 0x64, 0x22, 0x9d, 0x01, 0x0a, 0x14, 0x43, 0x53, + 0x4f, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x44, 0x61, 0x74, 0x61, 0x50, 0x75, 0x62, 0x6c, + 0x69, 0x63, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x6c, 0x65, 0x76, + 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, + 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x3b, 0x0a, 0x0c, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x50, 0x6c, + 0x61, 0x79, 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0c, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0e, 0x65, 0x6c, 0x65, 0x76, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x73, + 0x74, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x65, 0x6c, 0x65, 0x76, + 0x61, 0x74, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, 0x22, 0x35, 0x0a, 0x1b, 0x43, 0x4d, 0x73, + 0x67, 0x47, 0x43, 0x5f, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x47, 0x61, 0x6d, 0x65, 0x5f, 0x53, + 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x69, 0x63, 0x6b, + 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, + 0x22, 0x3b, 0x0a, 0x1d, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x5f, 0x47, 0x6c, 0x6f, 0x62, 0x61, + 0x6c, 0x47, 0x61, 0x6d, 0x65, 0x5f, 0x55, 0x6e, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, + 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x74, 0x69, 0x6d, 0x65, 0x6c, 0x65, 0x66, 0x74, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x08, 0x74, 0x69, 0x6d, 0x65, 0x6c, 0x65, 0x66, 0x74, 0x22, 0x70, 0x0a, + 0x16, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x5f, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x47, 0x61, + 0x6d, 0x65, 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x69, 0x63, 0x6b, 0x65, + 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x12, + 0x1e, 0x0a, 0x0a, 0x67, 0x61, 0x6d, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x6d, 0x73, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x67, 0x61, 0x6d, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x6d, 0x73, 0x12, + 0x1e, 0x0a, 0x0a, 0x6d, 0x73, 0x70, 0x65, 0x72, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x6d, 0x73, 0x70, 0x65, 0x72, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x22, + 0x4b, 0x0a, 0x25, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, + 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x41, 0x63, 0x6b, 0x6e, 0x6f, 0x77, 0x6c, 0x65, 0x64, 0x67, + 0x65, 0x50, 0x65, 0x6e, 0x61, 0x6c, 0x74, 0x79, 0x12, 0x22, 0x0a, 0x0c, 0x61, 0x63, 0x6b, 0x6e, + 0x6f, 0x77, 0x6c, 0x65, 0x64, 0x67, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, + 0x61, 0x63, 0x6b, 0x6e, 0x6f, 0x77, 0x6c, 0x65, 0x64, 0x67, 0x65, 0x64, 0x22, 0xa5, 0x01, 0x0a, + 0x2f, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, + 0x5f, 0x76, 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x32, 0x47, 0x43, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x50, 0x72, 0x65, 0x73, 0x74, 0x69, 0x67, 0x65, 0x43, 0x6f, 0x69, 0x6e, + 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x08, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1c, 0x0a, 0x09, + 0x75, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, + 0x09, 0x75, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x68, 0x6f, + 0x75, 0x72, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x68, 0x6f, 0x75, 0x72, 0x73, + 0x12, 0x22, 0x0a, 0x0c, 0x70, 0x72, 0x65, 0x73, 0x74, 0x69, 0x67, 0x65, 0x74, 0x69, 0x6d, 0x65, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x70, 0x72, 0x65, 0x73, 0x74, 0x69, 0x67, 0x65, + 0x74, 0x69, 0x6d, 0x65, 0x22, 0x52, 0x0a, 0x28, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, + 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, + 0x74, 0x32, 0x47, 0x43, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, + 0x12, 0x16, 0x0a, 0x06, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x06, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x6f, 0x73, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x6f, 0x73, 0x22, 0x43, 0x0a, 0x2b, 0x43, 0x4d, 0x73, 0x67, + 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x43, + 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x45, 0x6c, 0x65, 0x76, 0x61, 0x74, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x67, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x73, 0x74, 0x61, 0x67, 0x65, 0x22, 0x52, 0x0a, + 0x21, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, + 0x5f, 0x76, 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x43, 0x68, + 0x61, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x12, 0x12, 0x0a, + 0x04, 0x74, 0x65, 0x78, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x65, 0x78, + 0x74, 0x22, 0x56, 0x0a, 0x21, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, + 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, + 0x6e, 0x74, 0x43, 0x68, 0x61, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, 0x78, 0x74, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x65, 0x78, 0x74, 0x22, 0x54, 0x0a, 0x24, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, - 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x53, 0x6f, 0x75, - 0x76, 0x65, 0x6e, 0x69, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x74, 0x65, 0x6d, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x69, 0x74, 0x65, 0x6d, 0x69, 0x64, 0x12, 0x18, 0x0a, - 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, - 0x6d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, - 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x69, - 0x64, 0x22, 0x53, 0x0a, 0x27, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, - 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x41, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x16, 0x0a, 0x06, - 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x61, 0x6d, - 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x22, 0x61, 0x0a, 0x27, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, + 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x41, 0x75, 0x74, 0x68, 0x4b, 0x65, 0x79, 0x43, 0x6f, 0x64, + 0x65, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x63, + 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x22, + 0x4c, 0x0a, 0x1e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, + 0x31, 0x35, 0x5f, 0x47, 0x6f, 0x74, 0x76, 0x53, 0x79, 0x6e, 0x63, 0x50, 0x61, 0x63, 0x6b, 0x65, + 0x74, 0x12, 0x2a, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x16, 0x2e, 0x43, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x47, 0x6f, 0x74, 0x76, 0x53, 0x79, 0x6e, + 0x63, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x96, 0x03, + 0x0a, 0x1b, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x44, 0x65, 0x63, 0x61, 0x6c, 0x44, 0x69, 0x67, + 0x69, 0x74, 0x61, 0x6c, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x1c, 0x0a, + 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, + 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x61, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x74, 0x69, + 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x72, 0x74, 0x69, 0x6d, 0x65, 0x12, + 0x16, 0x0a, 0x06, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x02, 0x52, + 0x06, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x74, 0x61, 0x72, 0x74, + 0x70, 0x6f, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x02, 0x52, 0x08, 0x73, 0x74, 0x61, 0x72, 0x74, + 0x70, 0x6f, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x65, 0x66, 0x74, 0x18, 0x06, 0x20, 0x03, 0x28, + 0x02, 0x52, 0x04, 0x6c, 0x65, 0x66, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x78, 0x5f, 0x64, 0x65, + 0x66, 0x69, 0x64, 0x78, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x74, 0x78, 0x44, 0x65, + 0x66, 0x69, 0x64, 0x78, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x6e, 0x74, 0x69, 0x6e, 0x64, 0x65, 0x78, + 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x65, 0x6e, 0x74, 0x69, 0x6e, 0x64, 0x65, 0x78, + 0x12, 0x16, 0x0a, 0x06, 0x68, 0x69, 0x74, 0x62, 0x6f, 0x78, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x06, 0x68, 0x69, 0x74, 0x62, 0x6f, 0x78, 0x12, 0x22, 0x0a, 0x0c, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0c, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, + 0x65, 0x71, 0x75, 0x69, 0x70, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x09, 0x65, 0x71, 0x75, 0x69, 0x70, 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x72, + 0x61, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x74, 0x72, + 0x61, 0x63, 0x65, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x18, + 0x0d, 0x20, 0x03, 0x28, 0x02, 0x52, 0x06, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x12, 0x17, 0x0a, + 0x07, 0x74, 0x69, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, + 0x74, 0x69, 0x6e, 0x74, 0x49, 0x64, 0x22, 0x74, 0x0a, 0x28, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x43, 0x6c, 0x69, - 0x65, 0x6e, 0x74, 0x50, 0x61, 0x72, 0x74, 0x79, 0x4a, 0x6f, 0x69, 0x6e, 0x52, 0x65, 0x6c, 0x61, - 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x69, 0x64, 0x12, - 0x18, 0x0a, 0x07, 0x6c, 0x6f, 0x62, 0x62, 0x79, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x07, 0x6c, 0x6f, 0x62, 0x62, 0x79, 0x69, 0x64, 0x22, 0xb2, 0x01, 0x0a, 0x25, 0x43, 0x4d, + 0x65, 0x6e, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x44, 0x65, 0x63, 0x61, 0x6c, 0x53, 0x69, + 0x67, 0x6e, 0x12, 0x30, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1c, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x44, 0x65, 0x63, 0x61, 0x6c, 0x44, 0x69, + 0x67, 0x69, 0x74, 0x61, 0x6c, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x04, + 0x64, 0x61, 0x74, 0x61, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x74, 0x65, 0x6d, 0x69, 0x64, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x69, 0x74, 0x65, 0x6d, 0x69, 0x64, 0x22, 0x7c, 0x0a, 0x28, + 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, + 0x76, 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4c, 0x6f, 0x67, 0x6f, 0x6e, 0x46, 0x61, + 0x74, 0x61, 0x6c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x65, 0x72, 0x72, 0x6f, + 0x72, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x65, 0x72, 0x72, + 0x6f, 0x72, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x22, 0x6a, 0x0a, 0x22, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, - 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x50, 0x61, 0x72, 0x74, 0x79, 0x57, 0x61, 0x72, 0x6e, - 0x69, 0x6e, 0x67, 0x12, 0x46, 0x0a, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x01, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, + 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x50, 0x6f, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, + 0x12, 0x16, 0x0a, 0x06, 0x70, 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x06, 0x70, 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x6e, 0x61, 0x6d, 0x65, + 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x16, + 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x05, 0x52, 0x06, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x22, 0xdc, 0x01, 0x0a, 0x21, 0x43, 0x4d, 0x73, 0x67, 0x47, + 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x50, 0x61, + 0x72, 0x74, 0x79, 0x5f, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x12, 0x0e, 0x0a, 0x02, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, + 0x76, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x76, 0x65, 0x72, 0x12, 0x10, + 0x0a, 0x03, 0x61, 0x70, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x61, 0x70, 0x72, + 0x12, 0x10, 0x0a, 0x03, 0x61, 0x72, 0x6b, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x61, + 0x72, 0x6b, 0x12, 0x10, 0x0a, 0x03, 0x6e, 0x62, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x03, 0x6e, 0x62, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x67, 0x72, 0x70, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x03, 0x67, 0x72, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x6c, 0x6f, 0x74, 0x73, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x73, 0x6c, 0x6f, 0x74, 0x73, 0x12, 0x1a, 0x0a, 0x08, + 0x6c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x65, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, + 0x6c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x67, 0x61, 0x6d, 0x65, + 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x67, 0x61, 0x6d, + 0x65, 0x54, 0x79, 0x70, 0x65, 0x22, 0xa4, 0x01, 0x0a, 0x1f, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, + 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x50, 0x61, 0x72, + 0x74, 0x79, 0x5f, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x12, 0x10, 0x0a, 0x03, 0x76, 0x65, 0x72, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x76, 0x65, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x61, + 0x70, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x61, 0x70, 0x72, 0x12, 0x10, 0x0a, + 0x03, 0x61, 0x72, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x61, 0x72, 0x6b, 0x12, + 0x12, 0x0a, 0x04, 0x67, 0x72, 0x70, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x04, 0x67, + 0x72, 0x70, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x65, 0x72, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x65, 0x72, 0x12, + 0x1b, 0x0a, 0x09, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x08, 0x67, 0x61, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x22, 0x8e, 0x02, 0x0a, + 0x26, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, + 0x5f, 0x76, 0x32, 0x5f, 0x50, 0x61, 0x72, 0x74, 0x79, 0x5f, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, + 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x47, 0x0a, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, + 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, + 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x50, 0x61, + 0x72, 0x74, 0x79, 0x5f, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, + 0x73, 0x2e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, + 0x1a, 0x9a, 0x01, 0x0a, 0x05, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x67, 0x72, + 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x67, 0x72, 0x70, 0x12, 0x1b, 0x0a, 0x09, + 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x08, 0x67, 0x61, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x61, 0x70, 0x72, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x61, 0x70, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x61, + 0x72, 0x6b, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x61, 0x72, 0x6b, 0x12, 0x10, 0x0a, + 0x03, 0x6c, 0x6f, 0x63, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6c, 0x6f, 0x63, 0x12, + 0x1c, 0x0a, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x69, 0x64, 0x22, 0x59, 0x0a, + 0x1f, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, + 0x5f, 0x76, 0x32, 0x5f, 0x50, 0x61, 0x72, 0x74, 0x79, 0x5f, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, + 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x69, 0x64, 0x12, 0x18, + 0x0a, 0x07, 0x6c, 0x6f, 0x62, 0x62, 0x79, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x07, 0x6c, 0x6f, 0x62, 0x62, 0x79, 0x69, 0x64, 0x22, 0xf4, 0x01, 0x0a, 0x29, 0x43, 0x4d, 0x73, + 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, + 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x43, + 0x6f, 0x50, 0x6c, 0x61, 0x79, 0x73, 0x12, 0x4b, 0x0a, 0x07, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, + 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, + 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x41, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x43, 0x6f, 0x50, 0x6c, + 0x61, 0x79, 0x73, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x52, 0x07, 0x70, 0x6c, 0x61, 0x79, + 0x65, 0x72, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x74, 0x69, 0x6d, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x74, + 0x69, 0x6d, 0x65, 0x1a, 0x5a, 0x0a, 0x06, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x12, 0x1c, 0x0a, + 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x72, + 0x74, 0x63, 0x6f, 0x70, 0x6c, 0x61, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x72, + 0x74, 0x63, 0x6f, 0x70, 0x6c, 0x61, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x6e, 0x6c, 0x69, 0x6e, + 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x22, + 0xf4, 0x01, 0x0a, 0x2a, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, + 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, + 0x43, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x2e, + 0x0a, 0x13, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x64, 0x5f, 0x73, 0x74, 0x65, + 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, 0x52, 0x11, 0x61, 0x75, 0x74, + 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x64, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x12, 0x30, + 0x0a, 0x14, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x64, 0x5f, 0x70, 0x75, 0x62, + 0x6c, 0x69, 0x63, 0x5f, 0x69, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x07, 0x52, 0x12, 0x61, 0x75, + 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x64, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x49, 0x70, + 0x12, 0x2e, 0x0a, 0x13, 0x67, 0x61, 0x6d, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x73, + 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x06, 0x52, 0x11, 0x67, + 0x61, 0x6d, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x49, 0x64, + 0x12, 0x34, 0x0a, 0x16, 0x67, 0x61, 0x6d, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x73, + 0x64, 0x72, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x14, 0x67, 0x61, 0x6d, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x64, 0x72, 0x52, + 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x22, 0x50, 0x0a, 0x21, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, + 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x44, 0x61, 0x74, + 0x61, 0x67, 0x72, 0x61, 0x6d, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x2b, 0x0a, 0x11, 0x73, + 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, + 0x18, 0x10, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x10, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, + 0x65, 0x64, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x22, 0x28, 0x0a, 0x26, 0x43, 0x4d, 0x73, 0x67, + 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x43, + 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4f, 0x66, 0x66, 0x65, + 0x72, 0x73, 0x22, 0x76, 0x0a, 0x28, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, + 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x53, 0x6f, 0x75, 0x76, 0x65, 0x6e, 0x69, 0x72, 0x12, 0x16, + 0x0a, 0x06, 0x69, 0x74, 0x65, 0x6d, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, + 0x69, 0x74, 0x65, 0x6d, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x69, + 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x64, + 0x12, 0x18, 0x0a, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x69, 0x64, 0x22, 0x53, 0x0a, 0x27, 0x43, 0x4d, + 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, + 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x61, + 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x10, 0x0a, + 0x03, 0x75, 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x22, + 0x61, 0x0a, 0x27, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, + 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x50, 0x61, 0x72, 0x74, + 0x79, 0x4a, 0x6f, 0x69, 0x6e, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x6c, 0x6f, 0x62, 0x62, + 0x79, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x6c, 0x6f, 0x62, 0x62, 0x79, + 0x69, 0x64, 0x22, 0xb2, 0x01, 0x0a, 0x25, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, - 0x50, 0x61, 0x72, 0x74, 0x79, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x45, 0x6e, 0x74, - 0x72, 0x79, 0x52, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x1a, 0x41, 0x0a, 0x05, 0x45, - 0x6e, 0x74, 0x72, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x77, 0x61, 0x72, 0x6e, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x77, 0x61, 0x72, 0x6e, 0x74, 0x79, 0x70, 0x65, 0x22, 0x60, - 0x0a, 0x23, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, - 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x53, 0x65, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x46, 0x61, 0x76, - 0x6f, 0x72, 0x69, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x69, 0x64, 0x12, - 0x1f, 0x0a, 0x0b, 0x69, 0x73, 0x5f, 0x66, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x73, 0x46, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, - 0x22, 0x4d, 0x0a, 0x2c, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, - 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x47, 0x65, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x46, - 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, 0x73, 0x5f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x6c, 0x6c, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x61, 0x6c, 0x6c, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x22, - 0x9a, 0x01, 0x0a, 0x2d, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, - 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x47, 0x65, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x46, - 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, 0x73, 0x5f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x6c, 0x6c, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x61, 0x6c, 0x6c, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, - 0x12, 0x25, 0x0a, 0x0e, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, 0x66, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, - 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6a, 0x73, 0x6f, 0x6e, 0x46, 0x61, - 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, - 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, - 0x6a, 0x73, 0x6f, 0x6e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x64, 0x22, 0x99, 0x02, 0x0a, - 0x23, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, + 0x50, 0x61, 0x72, 0x74, 0x79, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x12, 0x46, 0x0a, 0x07, + 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, + 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, + 0x76, 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x50, 0x61, 0x72, 0x74, 0x79, 0x57, 0x61, + 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x65, 0x6e, 0x74, + 0x72, 0x69, 0x65, 0x73, 0x1a, 0x41, 0x0a, 0x05, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x1c, 0x0a, + 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x77, + 0x61, 0x72, 0x6e, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x77, + 0x61, 0x72, 0x6e, 0x74, 0x79, 0x70, 0x65, 0x22, 0x60, 0x0a, 0x23, 0x43, 0x4d, 0x73, 0x67, 0x47, + 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x53, 0x65, + 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x46, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, 0x12, 0x18, + 0x0a, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, + 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x69, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x73, 0x5f, 0x66, + 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, + 0x73, 0x46, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, 0x22, 0x4d, 0x0a, 0x2c, 0x43, 0x4d, 0x73, + 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, + 0x47, 0x65, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x46, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, + 0x73, 0x5f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x6c, 0x6c, + 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x61, + 0x6c, 0x6c, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x22, 0x9a, 0x01, 0x0a, 0x2d, 0x43, 0x4d, 0x73, + 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, + 0x47, 0x65, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x46, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, + 0x73, 0x5f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x6c, + 0x6c, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, + 0x61, 0x6c, 0x6c, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x6a, 0x73, 0x6f, + 0x6e, 0x5f, 0x66, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0d, 0x6a, 0x73, 0x6f, 0x6e, 0x46, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, 0x73, + 0x12, 0x23, 0x0a, 0x0d, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, + 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6a, 0x73, 0x6f, 0x6e, 0x46, 0x65, 0x61, + 0x74, 0x75, 0x72, 0x65, 0x64, 0x22, 0x99, 0x02, 0x0a, 0x23, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, + 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x43, 0x6c, 0x69, + 0x65, 0x6e, 0x74, 0x50, 0x65, 0x72, 0x66, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x44, 0x0a, + 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, + 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x50, 0x65, 0x72, 0x66, 0x52, 0x65, - 0x70, 0x6f, 0x72, 0x74, 0x12, 0x44, 0x0a, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, - 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, - 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, - 0x74, 0x50, 0x65, 0x72, 0x66, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x45, 0x6e, 0x74, 0x72, - 0x79, 0x52, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x1a, 0xab, 0x01, 0x0a, 0x05, 0x45, - 0x6e, 0x74, 0x72, 0x79, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x65, 0x72, 0x66, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x70, 0x65, 0x72, 0x66, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x1c, - 0x0a, 0x09, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0c, 0x52, 0x09, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x16, 0x0a, 0x06, - 0x61, 0x63, 0x74, 0x75, 0x61, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x61, 0x63, - 0x74, 0x75, 0x61, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x69, 0x64, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x69, 0x64, - 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x73, 0x0a, 0x0c, 0x43, 0x56, 0x44, 0x69, - 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x78, 0x74, 0x65, - 0x6e, 0x64, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x65, 0x78, 0x74, 0x65, - 0x6e, 0x64, 0x65, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x04, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x74, - 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0b, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xf9, 0x05, - 0x0a, 0x29, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, - 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x72, - 0x74, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x66, - 0x69, 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0a, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x21, 0x0a, 0x0c, - 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x5f, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x4c, 0x69, 0x6e, 0x65, 0x12, - 0x1f, 0x0a, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x46, 0x69, 0x6c, 0x65, 0x73, - 0x12, 0x25, 0x0a, 0x0e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x65, 0x72, 0x72, - 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, - 0x61, 0x6c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x72, 0x75, 0x73, 0x74, - 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x74, 0x72, 0x75, - 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, - 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x27, 0x0a, 0x0f, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x18, 0x07, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x6c, - 0x65, 0x74, 0x65, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x5f, - 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, - 0x73, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x6f, 0x73, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, - 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x6f, 0x73, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, - 0x6e, 0x12, 0x30, 0x0a, 0x13, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x72, 0x65, 0x70, 0x6f, 0x72, - 0x74, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, - 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x76, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x69, 0x64, - 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x49, 0x64, - 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x31, 0x18, - 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, - 0x63, 0x31, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, - 0x32, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, - 0x74, 0x69, 0x63, 0x32, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, - 0x69, 0x63, 0x33, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x64, 0x69, 0x61, 0x67, 0x6e, - 0x6f, 0x73, 0x74, 0x69, 0x63, 0x33, 0x12, 0x28, 0x0a, 0x10, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x6c, - 0x61, 0x75, 0x6e, 0x63, 0x68, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0e, 0x6c, 0x61, 0x73, 0x74, 0x4c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x44, 0x61, 0x74, 0x61, - 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x18, 0x10, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x43, 0x6f, - 0x75, 0x6e, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x69, - 0x6d, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, - 0x54, 0x69, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, - 0x69, 0x63, 0x34, 0x18, 0x12, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x64, 0x69, 0x61, 0x67, 0x6e, - 0x6f, 0x73, 0x74, 0x69, 0x63, 0x34, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, - 0x73, 0x74, 0x69, 0x63, 0x35, 0x18, 0x13, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x64, 0x69, 0x61, - 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x35, 0x12, 0x2f, 0x0a, 0x0b, 0x64, 0x69, 0x61, 0x67, - 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x73, 0x18, 0x14, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, - 0x43, 0x56, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x52, 0x0b, 0x64, 0x69, - 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x73, 0x22, 0xc7, 0x03, 0x0a, 0x2c, 0x43, 0x4d, - 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, - 0x5f, 0x47, 0x43, 0x32, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x66, 0x75, 0x73, 0x65, - 0x53, 0x65, 0x63, 0x75, 0x72, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x66, 0x69, - 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0a, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x2e, 0x0a, 0x13, 0x6f, - 0x66, 0x66, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x65, 0x5f, 0x6d, 0x6f, - 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x49, - 0x6e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x6f, - 0x66, 0x66, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x65, 0x5f, 0x6d, 0x6f, 0x64, 0x65, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x53, 0x65, 0x63, - 0x75, 0x72, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x73, 0x68, 0x6f, 0x77, 0x5f, - 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x5f, 0x75, 0x69, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x0e, 0x73, 0x68, 0x6f, 0x77, 0x55, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x55, - 0x69, 0x12, 0x1b, 0x0a, 0x09, 0x6b, 0x69, 0x63, 0x6b, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x6b, 0x69, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x12, 0x26, - 0x0a, 0x0f, 0x73, 0x68, 0x6f, 0x77, 0x5f, 0x74, 0x72, 0x75, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x75, - 0x69, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x73, 0x68, 0x6f, 0x77, 0x54, 0x72, 0x75, - 0x73, 0x74, 0x65, 0x64, 0x55, 0x69, 0x12, 0x37, 0x0a, 0x18, 0x73, 0x68, 0x6f, 0x77, 0x5f, 0x77, - 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x74, 0x72, 0x75, 0x73, 0x74, - 0x65, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x73, 0x68, 0x6f, 0x77, 0x57, 0x61, - 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x4e, 0x6f, 0x74, 0x54, 0x72, 0x75, 0x73, 0x74, 0x65, 0x64, 0x12, - 0x3a, 0x0a, 0x1a, 0x73, 0x68, 0x6f, 0x77, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x5f, - 0x6e, 0x6f, 0x74, 0x5f, 0x74, 0x72, 0x75, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x32, 0x18, 0x08, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x16, 0x73, 0x68, 0x6f, 0x77, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, - 0x4e, 0x6f, 0x74, 0x54, 0x72, 0x75, 0x73, 0x74, 0x65, 0x64, 0x32, 0x12, 0x36, 0x0a, 0x17, 0x66, - 0x69, 0x6c, 0x65, 0x73, 0x5f, 0x70, 0x72, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x65, 0x64, 0x5f, 0x74, - 0x72, 0x75, 0x73, 0x74, 0x65, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x15, 0x66, 0x69, - 0x6c, 0x65, 0x73, 0x50, 0x72, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x65, 0x64, 0x54, 0x72, 0x75, 0x73, - 0x74, 0x65, 0x64, 0x22, 0x68, 0x0a, 0x2d, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, - 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x47, 0x43, 0x32, 0x43, 0x6c, 0x69, - 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x66, 0x75, 0x6c, 0x6c, 0x5f, 0x72, 0x65, 0x70, - 0x6f, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x66, 0x75, 0x6c, 0x6c, 0x52, - 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x22, 0xa2, 0x02, - 0x0a, 0x26, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, - 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x47, 0x43, 0x32, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x6e, - 0x69, 0x74, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x6f, 0x61, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x12, 0x0a, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x6e, 0x61, 0x6d, 0x65, - 0x12, 0x19, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x0c, 0x52, 0x07, 0x6b, 0x65, 0x79, 0x44, 0x61, 0x74, 0x61, 0x12, 0x19, 0x0a, 0x08, 0x73, - 0x68, 0x61, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x73, - 0x68, 0x61, 0x48, 0x61, 0x73, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x6f, 0x6f, 0x6b, 0x69, 0x65, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x63, 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x12, 0x1a, - 0x0a, 0x08, 0x6d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x08, 0x6d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x79, - 0x73, 0x74, 0x65, 0x6d, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x18, 0x08, 0x20, 0x01, - 0x28, 0x0c, 0x52, 0x0d, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, - 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, - 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x79, 0x73, 0x74, - 0x65, 0x6d, 0x22, 0x92, 0x03, 0x0a, 0x2f, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, + 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x65, 0x6e, 0x74, 0x72, + 0x69, 0x65, 0x73, 0x1a, 0xab, 0x01, 0x0a, 0x05, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x20, 0x0a, + 0x0b, 0x70, 0x65, 0x72, 0x66, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x0b, 0x70, 0x65, 0x72, 0x66, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x12, + 0x16, 0x0a, 0x06, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x06, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x66, 0x65, 0x72, + 0x65, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x72, 0x65, 0x66, 0x65, + 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x75, 0x61, 0x6c, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x61, 0x63, 0x74, 0x75, 0x61, 0x6c, 0x12, 0x1a, 0x0a, + 0x08, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x08, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x22, 0x73, 0x0a, 0x0c, 0x43, 0x56, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, + 0x63, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x69, + 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x08, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x12, 0x14, 0x0a, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x74, 0x72, 0x69, 0x6e, + 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xf9, 0x05, 0x0a, 0x29, 0x43, 0x4d, 0x73, 0x67, 0x47, + 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x43, 0x6c, + 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x70, + 0x6f, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x66, 0x69, 0x6c, 0x65, 0x52, + 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, + 0x5f, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x6d, + 0x6d, 0x61, 0x6e, 0x64, 0x4c, 0x69, 0x6e, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x6f, 0x74, 0x61, + 0x6c, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x74, + 0x6f, 0x74, 0x61, 0x6c, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x69, 0x6e, 0x74, + 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x0d, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x45, 0x72, 0x72, 0x6f, 0x72, + 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x72, 0x75, 0x73, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x74, 0x72, 0x75, 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, + 0x23, 0x0a, 0x0d, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x50, 0x65, 0x6e, + 0x64, 0x69, 0x6e, 0x67, 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x63, 0x6f, + 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x12, 0x1d, 0x0a, + 0x0a, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, + 0x6f, 0x73, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x09, 0x6f, 0x73, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x30, 0x0a, 0x13, 0x63, 0x6c, + 0x69, 0x65, 0x6e, 0x74, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x72, + 0x65, 0x70, 0x6f, 0x72, 0x74, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x09, + 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x08, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x69, 0x61, + 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x31, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, + 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x31, 0x12, 0x20, 0x0a, 0x0b, 0x64, + 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x32, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x0b, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x32, 0x12, 0x20, 0x0a, + 0x0b, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x33, 0x18, 0x0e, 0x20, 0x01, + 0x28, 0x04, 0x52, 0x0b, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x33, 0x12, + 0x28, 0x0a, 0x10, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x6c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x5f, 0x64, + 0x61, 0x74, 0x61, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6c, 0x61, 0x73, 0x74, 0x4c, + 0x61, 0x75, 0x6e, 0x63, 0x68, 0x44, 0x61, 0x74, 0x61, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x70, + 0x6f, 0x72, 0x74, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x0b, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1f, 0x0a, 0x0b, + 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x0a, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x20, 0x0a, + 0x0b, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x34, 0x18, 0x12, 0x20, 0x01, + 0x28, 0x04, 0x52, 0x0b, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x34, 0x12, + 0x20, 0x0a, 0x0b, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x35, 0x18, 0x13, + 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, + 0x35, 0x12, 0x2f, 0x0a, 0x0b, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x73, + 0x18, 0x14, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x43, 0x56, 0x44, 0x69, 0x61, 0x67, 0x6e, + 0x6f, 0x73, 0x74, 0x69, 0x63, 0x52, 0x0b, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, + 0x63, 0x73, 0x22, 0xc7, 0x03, 0x0a, 0x2c, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x47, 0x43, 0x32, 0x43, 0x6c, 0x69, - 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x69, 0x74, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x5f, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, - 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, - 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, - 0x12, 0x19, 0x0a, 0x08, 0x73, 0x68, 0x61, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0c, 0x52, 0x07, 0x73, 0x68, 0x61, 0x48, 0x61, 0x73, 0x68, 0x12, 0x1a, 0x0a, 0x08, 0x72, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x72, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x72, 0x72, 0x6f, 0x72, - 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x31, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x65, 0x72, - 0x72, 0x6f, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x31, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x72, 0x72, 0x6f, - 0x72, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x32, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x65, - 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x32, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x61, 0x6e, - 0x64, 0x6c, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x68, 0x61, 0x6e, 0x64, 0x6c, - 0x65, 0x12, 0x52, 0x0a, 0x0c, 0x65, 0x69, 0x6e, 0x69, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, - 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x45, 0x49, 0x6e, 0x69, 0x74, 0x53, - 0x79, 0x73, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x3a, 0x1b, 0x6b, 0x5f, 0x45, - 0x49, 0x6e, 0x69, 0x74, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, - 0x5f, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x52, 0x0b, 0x65, 0x69, 0x6e, 0x69, 0x74, 0x52, - 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x75, 0x78, 0x5f, 0x73, 0x79, 0x73, - 0x74, 0x65, 0x6d, 0x31, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x61, 0x75, 0x78, 0x53, - 0x79, 0x73, 0x74, 0x65, 0x6d, 0x31, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x75, 0x78, 0x5f, 0x73, 0x79, - 0x73, 0x74, 0x65, 0x6d, 0x32, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x61, 0x75, 0x78, - 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x32, 0x2a, 0x82, 0x27, 0x0a, 0x0a, 0x45, 0x43, 0x73, 0x67, - 0x6f, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x12, 0x1e, 0x0a, 0x19, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, - 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x42, - 0x61, 0x73, 0x65, 0x10, 0x8c, 0x47, 0x12, 0x2a, 0x0a, 0x25, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, - 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x4d, - 0x61, 0x74, 0x63, 0x68, 0x6d, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x72, 0x74, 0x10, - 0x8d, 0x47, 0x12, 0x29, 0x0a, 0x24, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, - 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x4d, 0x61, 0x74, 0x63, 0x68, - 0x6d, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x6f, 0x70, 0x10, 0x8e, 0x47, 0x12, 0x36, 0x0a, - 0x31, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, - 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x6d, 0x61, 0x6b, 0x69, 0x6e, - 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x32, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x50, 0x69, - 0x6e, 0x67, 0x10, 0x8f, 0x47, 0x12, 0x34, 0x0a, 0x2f, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, - 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x4d, 0x61, - 0x74, 0x63, 0x68, 0x6d, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x47, 0x43, 0x32, 0x43, 0x6c, 0x69, 0x65, - 0x6e, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x10, 0x90, 0x47, 0x12, 0x3e, 0x0a, 0x39, 0x6b, + 0x65, 0x6e, 0x74, 0x52, 0x65, 0x66, 0x75, 0x73, 0x65, 0x53, 0x65, 0x63, 0x75, 0x72, 0x65, 0x4d, + 0x6f, 0x64, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x70, 0x6f, + 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x65, + 0x70, 0x6f, 0x72, 0x74, 0x12, 0x2e, 0x0a, 0x13, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x69, 0x6e, + 0x73, 0x65, 0x63, 0x75, 0x72, 0x65, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x11, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x49, 0x6e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x65, + 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x73, 0x65, + 0x63, 0x75, 0x72, 0x65, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x0f, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x53, 0x65, 0x63, 0x75, 0x72, 0x65, 0x4d, 0x6f, 0x64, 0x65, + 0x12, 0x28, 0x0a, 0x10, 0x73, 0x68, 0x6f, 0x77, 0x5f, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, + 0x64, 0x5f, 0x75, 0x69, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x73, 0x68, 0x6f, 0x77, + 0x55, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x55, 0x69, 0x12, 0x1b, 0x0a, 0x09, 0x6b, 0x69, + 0x63, 0x6b, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x6b, + 0x69, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x12, 0x26, 0x0a, 0x0f, 0x73, 0x68, 0x6f, 0x77, 0x5f, + 0x74, 0x72, 0x75, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x75, 0x69, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x0d, 0x73, 0x68, 0x6f, 0x77, 0x54, 0x72, 0x75, 0x73, 0x74, 0x65, 0x64, 0x55, 0x69, 0x12, + 0x37, 0x0a, 0x18, 0x73, 0x68, 0x6f, 0x77, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x5f, + 0x6e, 0x6f, 0x74, 0x5f, 0x74, 0x72, 0x75, 0x73, 0x74, 0x65, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x15, 0x73, 0x68, 0x6f, 0x77, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x4e, 0x6f, + 0x74, 0x54, 0x72, 0x75, 0x73, 0x74, 0x65, 0x64, 0x12, 0x3a, 0x0a, 0x1a, 0x73, 0x68, 0x6f, 0x77, + 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x74, 0x72, 0x75, + 0x73, 0x74, 0x65, 0x64, 0x5f, 0x32, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x16, 0x73, 0x68, + 0x6f, 0x77, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x4e, 0x6f, 0x74, 0x54, 0x72, 0x75, 0x73, + 0x74, 0x65, 0x64, 0x32, 0x12, 0x36, 0x0a, 0x17, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x5f, 0x70, 0x72, + 0x65, 0x76, 0x65, 0x6e, 0x74, 0x65, 0x64, 0x5f, 0x74, 0x72, 0x75, 0x73, 0x74, 0x65, 0x64, 0x18, + 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x15, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x50, 0x72, 0x65, 0x76, + 0x65, 0x6e, 0x74, 0x65, 0x64, 0x54, 0x72, 0x75, 0x73, 0x74, 0x65, 0x64, 0x22, 0x68, 0x0a, 0x2d, + 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, + 0x76, 0x32, 0x5f, 0x47, 0x43, 0x32, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, + 0x0b, 0x66, 0x75, 0x6c, 0x6c, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x0a, 0x66, 0x75, 0x6c, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x16, + 0x0a, 0x06, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, + 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x22, 0xa2, 0x02, 0x0a, 0x26, 0x43, 0x4d, 0x73, 0x67, 0x47, + 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x47, 0x43, + 0x32, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x69, 0x74, 0x53, 0x79, 0x73, 0x74, 0x65, + 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x04, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x75, 0x74, + 0x70, 0x75, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6f, + 0x75, 0x74, 0x70, 0x75, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x6b, 0x65, 0x79, + 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x6b, 0x65, 0x79, + 0x44, 0x61, 0x74, 0x61, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x68, 0x61, 0x5f, 0x68, 0x61, 0x73, 0x68, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x73, 0x68, 0x61, 0x48, 0x61, 0x73, 0x68, 0x12, + 0x16, 0x0a, 0x06, 0x63, 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x06, 0x63, 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x61, 0x6e, 0x69, 0x66, + 0x65, 0x73, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x6e, 0x69, 0x66, + 0x65, 0x73, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x5f, 0x70, 0x61, + 0x63, 0x6b, 0x61, 0x67, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0d, 0x73, 0x79, 0x73, + 0x74, 0x65, 0x6d, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x6c, 0x6f, + 0x61, 0x64, 0x5f, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x0a, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x22, 0x92, 0x03, 0x0a, 0x2f, + 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, + 0x76, 0x32, 0x5f, 0x47, 0x43, 0x32, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x69, 0x74, + 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x5f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x69, 0x61, + 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, + 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x68, 0x61, + 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x73, 0x68, 0x61, + 0x48, 0x61, 0x73, 0x68, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x31, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f, 0x64, 0x65, + 0x31, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x32, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f, 0x64, + 0x65, 0x32, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x18, 0x07, 0x20, 0x01, + 0x28, 0x03, 0x52, 0x06, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x12, 0x52, 0x0a, 0x0c, 0x65, 0x69, + 0x6e, 0x69, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0e, + 0x32, 0x12, 0x2e, 0x45, 0x49, 0x6e, 0x69, 0x74, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x52, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x3a, 0x1b, 0x6b, 0x5f, 0x45, 0x49, 0x6e, 0x69, 0x74, 0x53, 0x79, 0x73, + 0x74, 0x65, 0x6d, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, + 0x64, 0x52, 0x0b, 0x65, 0x69, 0x6e, 0x69, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x1f, + 0x0a, 0x0b, 0x61, 0x75, 0x78, 0x5f, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x31, 0x18, 0x09, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x0a, 0x61, 0x75, 0x78, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x31, 0x12, + 0x1f, 0x0a, 0x0b, 0x61, 0x75, 0x78, 0x5f, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x32, 0x18, 0x0a, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x61, 0x75, 0x78, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x32, + 0x2a, 0x82, 0x27, 0x0a, 0x0a, 0x45, 0x43, 0x73, 0x67, 0x6f, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x12, + 0x1e, 0x0a, 0x19, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, + 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x42, 0x61, 0x73, 0x65, 0x10, 0x8c, 0x47, 0x12, + 0x2a, 0x0a, 0x25, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, + 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x6d, 0x61, 0x6b, + 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x72, 0x74, 0x10, 0x8d, 0x47, 0x12, 0x29, 0x0a, 0x24, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x6d, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x53, - 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, 0x92, 0x47, 0x12, 0x35, 0x0a, 0x30, 0x6b, + 0x74, 0x6f, 0x70, 0x10, 0x8e, 0x47, 0x12, 0x36, 0x0a, 0x31, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, + 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x4d, + 0x61, 0x74, 0x63, 0x68, 0x6d, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, + 0x32, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x50, 0x69, 0x6e, 0x67, 0x10, 0x8f, 0x47, 0x12, 0x34, + 0x0a, 0x2f, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, + 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x6d, 0x61, 0x6b, 0x69, + 0x6e, 0x67, 0x47, 0x43, 0x32, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x10, 0x90, 0x47, 0x12, 0x3e, 0x0a, 0x39, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, + 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x4d, 0x61, 0x74, + 0x63, 0x68, 0x6d, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, + 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x10, 0x92, 0x47, 0x12, 0x35, 0x0a, 0x30, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, + 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x4d, 0x61, 0x74, + 0x63, 0x68, 0x6d, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x47, 0x43, 0x32, 0x43, 0x6c, 0x69, 0x65, 0x6e, + 0x74, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x10, 0x93, 0x47, 0x12, 0x33, 0x0a, 0x2e, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, - 0x5f, 0x76, 0x32, 0x5f, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x6d, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x47, - 0x43, 0x32, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x10, - 0x93, 0x47, 0x12, 0x33, 0x0a, 0x2e, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, - 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x4d, 0x61, 0x74, 0x63, 0x68, - 0x6d, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x32, 0x47, 0x43, 0x48, - 0x65, 0x6c, 0x6c, 0x6f, 0x10, 0x95, 0x47, 0x12, 0x33, 0x0a, 0x2e, 0x6b, 0x5f, 0x45, 0x4d, 0x73, - 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, - 0x4d, 0x61, 0x74, 0x63, 0x68, 0x6d, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x47, 0x43, 0x32, 0x43, 0x6c, - 0x69, 0x65, 0x6e, 0x74, 0x48, 0x65, 0x6c, 0x6c, 0x6f, 0x10, 0x96, 0x47, 0x12, 0x35, 0x0a, 0x30, + 0x5f, 0x76, 0x32, 0x5f, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x6d, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x43, + 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x32, 0x47, 0x43, 0x48, 0x65, 0x6c, 0x6c, 0x6f, 0x10, 0x95, 0x47, + 0x12, 0x33, 0x0a, 0x2e, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, + 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x6d, 0x61, + 0x6b, 0x69, 0x6e, 0x67, 0x47, 0x43, 0x32, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x48, 0x65, 0x6c, + 0x6c, 0x6f, 0x10, 0x96, 0x47, 0x12, 0x35, 0x0a, 0x30, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, + 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x4d, 0x61, + 0x74, 0x63, 0x68, 0x6d, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x47, 0x43, 0x32, 0x43, 0x6c, 0x69, 0x65, + 0x6e, 0x74, 0x41, 0x62, 0x61, 0x6e, 0x64, 0x6f, 0x6e, 0x10, 0x98, 0x47, 0x12, 0x37, 0x0a, 0x32, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x6d, 0x61, 0x6b, 0x69, 0x6e, 0x67, - 0x47, 0x43, 0x32, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x41, 0x62, 0x61, 0x6e, 0x64, 0x6f, 0x6e, - 0x10, 0x98, 0x47, 0x12, 0x37, 0x0a, 0x32, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, - 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x4d, 0x61, 0x74, 0x63, - 0x68, 0x6d, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x47, 0x43, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x73, 0x10, 0x9b, 0x47, 0x12, 0x3a, 0x0a, 0x35, + 0x47, 0x43, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x53, 0x74, 0x61, + 0x74, 0x73, 0x10, 0x9b, 0x47, 0x12, 0x3a, 0x0a, 0x35, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, + 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x4d, 0x61, + 0x74, 0x63, 0x68, 0x6d, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, + 0x72, 0x32, 0x47, 0x43, 0x42, 0x6c, 0x6f, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x10, 0x9d, + 0x47, 0x12, 0x3a, 0x0a, 0x35, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, + 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, + 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x6f, 0x72, 0x55, + 0x73, 0x65, 0x72, 0x50, 0x65, 0x6e, 0x61, 0x6c, 0x74, 0x79, 0x10, 0x9e, 0x47, 0x12, 0x2c, 0x0a, + 0x27, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, + 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x70, 0x6f, + 0x72, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x10, 0x9f, 0x47, 0x12, 0x2c, 0x0a, 0x27, 0x6b, + 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, + 0x5f, 0x76, 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, + 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x10, 0xa0, 0x47, 0x12, 0x2d, 0x0a, 0x28, 0x6b, 0x5f, 0x45, + 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, + 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x50, + 0x6c, 0x61, 0x79, 0x65, 0x72, 0x10, 0xa1, 0x47, 0x12, 0x2e, 0x0a, 0x29, 0x6b, 0x5f, 0x45, 0x4d, + 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, + 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, 0xa2, 0x47, 0x12, 0x32, 0x0a, 0x2d, 0x6b, 0x5f, 0x45, 0x4d, + 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, + 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x50, 0x6c, + 0x61, 0x79, 0x65, 0x72, 0x51, 0x75, 0x65, 0x72, 0x79, 0x10, 0xa3, 0x47, 0x12, 0x3a, 0x0a, 0x35, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, - 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x6d, 0x61, 0x6b, 0x69, 0x6e, 0x67, - 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x32, 0x47, 0x43, 0x42, 0x6c, 0x6f, 0x67, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x10, 0x9d, 0x47, 0x12, 0x3a, 0x0a, 0x35, 0x6b, 0x5f, 0x45, 0x4d, + 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x65, + 0x6e, 0x64, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, 0xa4, 0x47, 0x12, 0x28, 0x0a, 0x23, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, - 0x5f, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x46, 0x6f, 0x72, 0x55, 0x73, 0x65, 0x72, 0x50, 0x65, 0x6e, 0x61, 0x6c, 0x74, - 0x79, 0x10, 0x9e, 0x47, 0x12, 0x2c, 0x0a, 0x27, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, - 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x43, 0x6c, 0x69, - 0x65, 0x6e, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x10, - 0x9f, 0x47, 0x12, 0x2c, 0x0a, 0x27, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, + 0x5f, 0x57, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x55, 0x73, 0x65, 0x72, 0x73, 0x10, + 0xa6, 0x47, 0x12, 0x35, 0x0a, 0x30, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, - 0x74, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x10, 0xa0, 0x47, - 0x12, 0x2d, 0x0a, 0x28, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, - 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, - 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x10, 0xa1, 0x47, 0x12, - 0x2e, 0x0a, 0x29, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, - 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, - 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, 0xa2, 0x47, 0x12, - 0x32, 0x0a, 0x2d, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, - 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f, - 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x10, 0xa3, 0x47, 0x12, 0x3a, 0x0a, 0x35, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, - 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, - 0x6e, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x51, - 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, 0xa4, 0x47, 0x12, - 0x28, 0x0a, 0x23, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, - 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x57, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6e, 0x66, - 0x6f, 0x55, 0x73, 0x65, 0x72, 0x73, 0x10, 0xa6, 0x47, 0x12, 0x35, 0x0a, 0x30, 0x6b, 0x5f, 0x45, + 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x50, + 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x10, 0xa7, 0x47, 0x12, 0x28, 0x0a, 0x23, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, - 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, - 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x10, 0xa7, 0x47, - 0x12, 0x28, 0x0a, 0x23, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, - 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, - 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x10, 0xa8, 0x47, 0x12, 0x33, 0x0a, 0x2e, 0x6b, 0x5f, - 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, - 0x76, 0x32, 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x61, 0x74, - 0x63, 0x68, 0x43, 0x61, 0x73, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x10, 0xab, 0x47, 0x12, - 0x37, 0x0a, 0x32, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, - 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4f, 0x76, - 0x65, 0x72, 0x77, 0x61, 0x74, 0x63, 0x68, 0x43, 0x61, 0x73, 0x65, 0x41, 0x73, 0x73, 0x69, 0x67, - 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x10, 0xac, 0x47, 0x12, 0x33, 0x0a, 0x2e, 0x6b, 0x5f, 0x45, 0x4d, + 0x32, 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, + 0x10, 0xa8, 0x47, 0x12, 0x33, 0x0a, 0x2e, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, + 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x50, 0x6c, 0x61, 0x79, + 0x65, 0x72, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x61, 0x74, 0x63, 0x68, 0x43, 0x61, 0x73, 0x65, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x10, 0xab, 0x47, 0x12, 0x37, 0x0a, 0x32, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x61, 0x74, 0x63, 0x68, - 0x43, 0x61, 0x73, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x10, 0xad, 0x47, 0x12, 0x2a, 0x0a, - 0x25, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, - 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x47, 0x43, 0x32, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, - 0x65, 0x78, 0x74, 0x4d, 0x73, 0x67, 0x10, 0xae, 0x47, 0x12, 0x2a, 0x0a, 0x25, 0x6b, 0x5f, 0x45, - 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, - 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x32, 0x47, 0x43, 0x54, 0x65, 0x78, 0x74, 0x4d, - 0x73, 0x67, 0x10, 0xaf, 0x47, 0x12, 0x30, 0x0a, 0x2b, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, - 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x4d, 0x61, - 0x74, 0x63, 0x68, 0x45, 0x6e, 0x64, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x44, - 0x72, 0x6f, 0x70, 0x73, 0x10, 0xb0, 0x47, 0x12, 0x39, 0x0a, 0x34, 0x6b, 0x5f, 0x45, 0x4d, 0x73, - 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, - 0x4d, 0x61, 0x74, 0x63, 0x68, 0x45, 0x6e, 0x64, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x44, 0x72, - 0x6f, 0x70, 0x73, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x10, - 0xb1, 0x47, 0x12, 0x38, 0x0a, 0x33, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, + 0x43, 0x61, 0x73, 0x65, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x10, 0xac, + 0x47, 0x12, 0x33, 0x0a, 0x2e, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, + 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, + 0x4f, 0x76, 0x65, 0x72, 0x77, 0x61, 0x74, 0x63, 0x68, 0x43, 0x61, 0x73, 0x65, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x10, 0xad, 0x47, 0x12, 0x2a, 0x0a, 0x25, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, + 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x47, + 0x43, 0x32, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x65, 0x78, 0x74, 0x4d, 0x73, 0x67, 0x10, + 0xae, 0x47, 0x12, 0x2a, 0x0a, 0x25, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, - 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x57, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6e, 0x66, - 0x6f, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x73, 0x32, 0x10, 0xb2, 0x47, 0x12, 0x23, 0x0a, 0x1e, - 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, - 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4c, 0x69, 0x73, 0x74, 0x10, 0xb3, - 0x47, 0x12, 0x3a, 0x0a, 0x35, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, - 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4c, - 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, - 0x74, 0x4c, 0x69, 0x76, 0x65, 0x47, 0x61, 0x6d, 0x65, 0x73, 0x10, 0xb4, 0x47, 0x12, 0x39, 0x0a, - 0x34, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, - 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4c, 0x69, 0x73, 0x74, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x55, 0x73, 0x65, 0x72, - 0x47, 0x61, 0x6d, 0x65, 0x73, 0x10, 0xb5, 0x47, 0x12, 0x34, 0x0a, 0x2f, 0x6b, 0x5f, 0x45, 0x4d, - 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, - 0x5f, 0x47, 0x43, 0x32, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x10, 0xb6, 0x47, 0x12, 0x38, - 0x0a, 0x33, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, - 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x56, 0x61, 0x72, - 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x10, 0xb8, 0x47, 0x12, 0x39, 0x0a, 0x34, 0x6b, 0x5f, 0x45, 0x4d, - 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, - 0x5f, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x54, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x47, 0x61, 0x6d, 0x65, 0x73, - 0x10, 0xba, 0x47, 0x12, 0x36, 0x0a, 0x31, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, - 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x4d, 0x61, 0x74, 0x63, - 0x68, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x46, 0x75, 0x6c, 0x6c, - 0x47, 0x61, 0x6d, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x10, 0xbb, 0x47, 0x12, 0x31, 0x0a, 0x2c, 0x6b, + 0x74, 0x32, 0x47, 0x43, 0x54, 0x65, 0x78, 0x74, 0x4d, 0x73, 0x67, 0x10, 0xaf, 0x47, 0x12, 0x30, + 0x0a, 0x2b, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, + 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x45, 0x6e, 0x64, 0x52, + 0x75, 0x6e, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x44, 0x72, 0x6f, 0x70, 0x73, 0x10, 0xb0, 0x47, + 0x12, 0x39, 0x0a, 0x34, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, + 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x45, 0x6e, + 0x64, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x44, 0x72, 0x6f, 0x70, 0x73, 0x4e, 0x6f, 0x74, 0x69, + 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0xb1, 0x47, 0x12, 0x38, 0x0a, 0x33, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, - 0x5f, 0x76, 0x32, 0x5f, 0x47, 0x69, 0x66, 0x74, 0x73, 0x4c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x62, - 0x6f, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x10, 0xbc, 0x47, 0x12, 0x32, - 0x0a, 0x2d, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, - 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x47, 0x69, 0x66, 0x74, 0x73, 0x4c, 0x65, 0x61, 0x64, - 0x65, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, - 0xbd, 0x47, 0x12, 0x38, 0x0a, 0x33, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, - 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x53, 0x65, 0x72, 0x76, 0x65, - 0x72, 0x56, 0x61, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x10, 0xbe, 0x47, 0x12, 0x30, 0x0a, 0x2b, - 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, - 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x75, 0x62, 0x6d, 0x69, - 0x74, 0x53, 0x75, 0x72, 0x76, 0x65, 0x79, 0x56, 0x6f, 0x74, 0x65, 0x10, 0xc0, 0x47, 0x12, 0x31, - 0x0a, 0x2c, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, - 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x32, 0x47, 0x43, - 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x10, 0xc1, + 0x5f, 0x76, 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x57, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, + 0x73, 0x32, 0x10, 0xb2, 0x47, 0x12, 0x23, 0x0a, 0x1e, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, + 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x4d, 0x61, + 0x74, 0x63, 0x68, 0x4c, 0x69, 0x73, 0x74, 0x10, 0xb3, 0x47, 0x12, 0x3a, 0x0a, 0x35, 0x6b, 0x5f, + 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, + 0x76, 0x32, 0x5f, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x76, 0x65, 0x47, 0x61, + 0x6d, 0x65, 0x73, 0x10, 0xb4, 0x47, 0x12, 0x39, 0x0a, 0x34, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, + 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x4d, + 0x61, 0x74, 0x63, 0x68, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, + 0x65, 0x63, 0x65, 0x6e, 0x74, 0x55, 0x73, 0x65, 0x72, 0x47, 0x61, 0x6d, 0x65, 0x73, 0x10, 0xb5, + 0x47, 0x12, 0x34, 0x0a, 0x2f, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, + 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x47, 0x43, 0x32, 0x53, 0x65, 0x72, + 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x10, 0xb6, 0x47, 0x12, 0x38, 0x0a, 0x33, 0x6b, 0x5f, 0x45, 0x4d, 0x73, + 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, + 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x56, 0x61, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4e, 0x6f, + 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x10, 0xb8, 0x47, 0x12, 0x39, 0x0a, 0x34, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4c, - 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4c, 0x69, 0x76, 0x65, 0x47, 0x61, - 0x6d, 0x65, 0x46, 0x6f, 0x72, 0x55, 0x73, 0x65, 0x72, 0x10, 0xc2, 0x47, 0x12, 0x3e, 0x0a, 0x39, - 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, - 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x32, 0x47, 0x43, 0x45, 0x63, - 0x6f, 0x6e, 0x50, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x44, 0x61, 0x74, 0x61, 0x42, 0x6c, 0x6f, - 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x10, 0xc4, 0x47, 0x12, 0x3f, 0x0a, 0x3a, - 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, - 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x32, 0x47, 0x43, 0x45, 0x63, - 0x6f, 0x6e, 0x50, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x44, 0x61, 0x74, 0x61, 0x42, 0x6c, 0x6f, - 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, 0xc5, 0x47, 0x12, 0x30, 0x0a, - 0x2b, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, - 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x50, 0x72, 0x69, - 0x76, 0x61, 0x63, 0x79, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x10, 0xc6, 0x47, 0x12, - 0x2b, 0x0a, 0x26, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, - 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x53, 0x65, 0x74, 0x4d, 0x79, 0x41, 0x63, 0x74, - 0x69, 0x76, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x10, 0xc7, 0x47, 0x12, 0x3f, 0x0a, 0x3a, + 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x54, 0x6f, 0x75, 0x72, 0x6e, 0x61, + 0x6d, 0x65, 0x6e, 0x74, 0x47, 0x61, 0x6d, 0x65, 0x73, 0x10, 0xba, 0x47, 0x12, 0x36, 0x0a, 0x31, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x54, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x50, - 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x10, 0xc8, 0x47, 0x12, 0x3e, 0x0a, - 0x39, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, - 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4c, 0x69, 0x73, 0x74, 0x55, - 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x54, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x50, - 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x10, 0xc9, 0x47, 0x12, 0x26, 0x0a, - 0x21, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, - 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x44, 0x72, 0x61, 0x66, 0x74, 0x53, 0x75, 0x6d, 0x6d, 0x61, - 0x72, 0x79, 0x10, 0xca, 0x47, 0x12, 0x35, 0x0a, 0x30, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x46, 0x75, 0x6c, 0x6c, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x6e, 0x66, + 0x6f, 0x10, 0xbb, 0x47, 0x12, 0x31, 0x0a, 0x2c, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, + 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x47, 0x69, 0x66, + 0x74, 0x73, 0x4c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x10, 0xbc, 0x47, 0x12, 0x32, 0x0a, 0x2d, 0x6b, 0x5f, 0x45, 0x4d, 0x73, + 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, + 0x47, 0x69, 0x66, 0x74, 0x73, 0x4c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, 0xbd, 0x47, 0x12, 0x38, 0x0a, 0x33, 0x6b, + 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, + 0x5f, 0x76, 0x32, 0x5f, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x56, 0x61, 0x72, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, + 0x66, 0x6f, 0x10, 0xbe, 0x47, 0x12, 0x30, 0x0a, 0x2b, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x43, 0x6c, - 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4a, 0x6f, 0x69, 0x6e, 0x46, - 0x72, 0x69, 0x65, 0x6e, 0x64, 0x44, 0x61, 0x74, 0x61, 0x10, 0xcb, 0x47, 0x12, 0x35, 0x0a, 0x30, + 0x69, 0x65, 0x6e, 0x74, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x53, 0x75, 0x72, 0x76, 0x65, 0x79, + 0x56, 0x6f, 0x74, 0x65, 0x10, 0xc0, 0x47, 0x12, 0x31, 0x0a, 0x2c, 0x6b, 0x5f, 0x45, 0x4d, 0x73, + 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, + 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x32, 0x47, 0x43, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x56, + 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x10, 0xc1, 0x47, 0x12, 0x39, 0x0a, 0x34, 0x6b, 0x5f, + 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, + 0x76, 0x32, 0x5f, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x4c, 0x69, 0x76, 0x65, 0x47, 0x61, 0x6d, 0x65, 0x46, 0x6f, 0x72, 0x55, 0x73, + 0x65, 0x72, 0x10, 0xc2, 0x47, 0x12, 0x3e, 0x0a, 0x39, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, + 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x43, 0x6c, + 0x69, 0x65, 0x6e, 0x74, 0x32, 0x47, 0x43, 0x45, 0x63, 0x6f, 0x6e, 0x50, 0x72, 0x65, 0x76, 0x69, + 0x65, 0x77, 0x44, 0x61, 0x74, 0x61, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x10, 0xc4, 0x47, 0x12, 0x3f, 0x0a, 0x3a, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, + 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x43, 0x6c, + 0x69, 0x65, 0x6e, 0x74, 0x32, 0x47, 0x43, 0x45, 0x63, 0x6f, 0x6e, 0x50, 0x72, 0x65, 0x76, 0x69, + 0x65, 0x77, 0x44, 0x61, 0x74, 0x61, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x10, 0xc5, 0x47, 0x12, 0x30, 0x0a, 0x2b, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, + 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x41, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x50, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x53, 0x65, 0x74, + 0x74, 0x69, 0x6e, 0x67, 0x73, 0x10, 0xc6, 0x47, 0x12, 0x2b, 0x0a, 0x26, 0x6b, 0x5f, 0x45, 0x4d, + 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, + 0x5f, 0x53, 0x65, 0x74, 0x4d, 0x79, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x49, 0x6e, + 0x66, 0x6f, 0x10, 0xc7, 0x47, 0x12, 0x3f, 0x0a, 0x3a, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, + 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x4d, 0x61, + 0x74, 0x63, 0x68, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x54, 0x6f, + 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x10, 0xc8, 0x47, 0x12, 0x3e, 0x0a, 0x39, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, + 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x4d, + 0x61, 0x74, 0x63, 0x68, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x54, 0x6f, + 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x10, 0xc9, 0x47, 0x12, 0x26, 0x0a, 0x21, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, + 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x44, + 0x72, 0x61, 0x66, 0x74, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x10, 0xca, 0x47, 0x12, 0x35, + 0x0a, 0x30, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, + 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x4a, 0x6f, 0x69, 0x6e, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x44, 0x61, + 0x74, 0x61, 0x10, 0xcb, 0x47, 0x12, 0x35, 0x0a, 0x30, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, + 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x43, 0x6c, + 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4a, 0x6f, 0x69, 0x6e, 0x53, + 0x65, 0x72, 0x76, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x10, 0xcc, 0x47, 0x12, 0x31, 0x0a, 0x2c, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x4a, 0x6f, 0x69, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, - 0x10, 0xcc, 0x47, 0x12, 0x31, 0x0a, 0x2c, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, - 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, - 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4e, 0x65, 0x77, 0x4d, 0x69, 0x73, 0x73, - 0x69, 0x6f, 0x6e, 0x10, 0xcd, 0x47, 0x12, 0x31, 0x0a, 0x2c, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, - 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x47, - 0x43, 0x32, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, - 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x10, 0xcf, 0x47, 0x12, 0x22, 0x0a, 0x1d, 0x6b, 0x5f, 0x45, - 0x4d, 0x73, 0x67, 0x47, 0x43, 0x5f, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x47, 0x61, 0x6d, 0x65, - 0x5f, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x10, 0xd0, 0x47, 0x12, 0x24, 0x0a, - 0x1f, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x5f, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, - 0x47, 0x61, 0x6d, 0x65, 0x5f, 0x55, 0x6e, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, - 0x10, 0xd1, 0x47, 0x12, 0x1d, 0x0a, 0x18, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x5f, - 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x47, 0x61, 0x6d, 0x65, 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x10, - 0xd2, 0x47, 0x12, 0x2c, 0x0a, 0x27, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, - 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x41, 0x63, 0x6b, 0x6e, 0x6f, - 0x77, 0x6c, 0x65, 0x64, 0x67, 0x65, 0x50, 0x65, 0x6e, 0x61, 0x6c, 0x74, 0x79, 0x10, 0xd3, 0x47, - 0x12, 0x36, 0x0a, 0x31, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, - 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x32, - 0x47, 0x43, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x72, 0x65, 0x73, 0x74, 0x69, 0x67, - 0x65, 0x43, 0x6f, 0x69, 0x6e, 0x10, 0xd4, 0x47, 0x12, 0x2e, 0x0a, 0x29, 0x6b, 0x5f, 0x45, 0x4d, - 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, - 0x5f, 0x47, 0x43, 0x32, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, - 0x53, 0x74, 0x61, 0x74, 0x73, 0x10, 0xd5, 0x47, 0x12, 0x2f, 0x0a, 0x2a, 0x6b, 0x5f, 0x45, 0x4d, - 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, - 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x32, 0x47, 0x43, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, - 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x10, 0xd6, 0x47, 0x12, 0x32, 0x0a, 0x2d, 0x6b, 0x5f, 0x45, - 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, - 0x32, 0x5f, 0x46, 0x61, 0x6e, 0x74, 0x61, 0x73, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x44, 0x61, 0x74, 0x61, 0x10, 0xd7, 0x47, 0x12, 0x31, 0x0a, - 0x2c, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, - 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x46, 0x61, 0x6e, 0x74, 0x61, 0x73, 0x79, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x44, 0x61, 0x74, 0x61, 0x10, 0xd8, 0x47, - 0x12, 0x37, 0x0a, 0x32, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, - 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, - 0x65, 0x6e, 0x74, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x64, 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, - 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x10, 0xd9, 0x47, 0x12, 0x31, 0x0a, 0x2c, 0x6b, 0x5f, 0x45, + 0x73, 0x74, 0x4e, 0x65, 0x77, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x10, 0xcd, 0x47, 0x12, + 0x31, 0x0a, 0x2c, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, + 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x47, 0x43, 0x32, 0x43, 0x6c, 0x69, 0x65, 0x6e, + 0x74, 0x54, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x10, + 0xcf, 0x47, 0x12, 0x22, 0x0a, 0x1d, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x5f, 0x47, + 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x47, 0x61, 0x6d, 0x65, 0x5f, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, + 0x69, 0x62, 0x65, 0x10, 0xd0, 0x47, 0x12, 0x24, 0x0a, 0x1f, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, + 0x47, 0x43, 0x5f, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x47, 0x61, 0x6d, 0x65, 0x5f, 0x55, 0x6e, + 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x10, 0xd1, 0x47, 0x12, 0x1d, 0x0a, 0x18, + 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x5f, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x47, + 0x61, 0x6d, 0x65, 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x10, 0xd2, 0x47, 0x12, 0x2c, 0x0a, 0x27, 0x6b, + 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, + 0x5f, 0x76, 0x32, 0x5f, 0x41, 0x63, 0x6b, 0x6e, 0x6f, 0x77, 0x6c, 0x65, 0x64, 0x67, 0x65, 0x50, + 0x65, 0x6e, 0x61, 0x6c, 0x74, 0x79, 0x10, 0xd3, 0x47, 0x12, 0x36, 0x0a, 0x31, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, - 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x10, 0xda, 0x47, 0x12, 0x32, 0x0a, 0x2d, - 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, - 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x45, 0x6c, 0x65, 0x76, 0x61, 0x74, 0x65, 0x10, 0xdb, 0x47, - 0x12, 0x24, 0x0a, 0x1f, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, - 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x43, - 0x68, 0x61, 0x74, 0x10, 0xdc, 0x47, 0x12, 0x2e, 0x0a, 0x29, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, - 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x47, - 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x43, 0x68, 0x61, 0x74, 0x5f, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, - 0x69, 0x62, 0x65, 0x10, 0xdd, 0x47, 0x12, 0x30, 0x0a, 0x2b, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, - 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x47, - 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x43, 0x68, 0x61, 0x74, 0x5f, 0x55, 0x6e, 0x73, 0x75, 0x62, 0x73, - 0x63, 0x72, 0x69, 0x62, 0x65, 0x10, 0xde, 0x47, 0x12, 0x2b, 0x0a, 0x26, 0x6b, 0x5f, 0x45, 0x4d, - 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, - 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x41, 0x75, 0x74, 0x68, 0x4b, 0x65, 0x79, 0x43, 0x6f, - 0x64, 0x65, 0x10, 0xdf, 0x47, 0x12, 0x28, 0x0a, 0x23, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, - 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x47, 0x6f, - 0x74, 0x76, 0x53, 0x79, 0x6e, 0x63, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x10, 0xe0, 0x47, 0x12, - 0x2f, 0x0a, 0x2a, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, - 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x50, 0x6c, - 0x61, 0x79, 0x65, 0x72, 0x44, 0x65, 0x63, 0x61, 0x6c, 0x53, 0x69, 0x67, 0x6e, 0x10, 0xe1, 0x47, - 0x12, 0x2f, 0x0a, 0x2a, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, - 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4c, - 0x6f, 0x67, 0x6f, 0x6e, 0x46, 0x61, 0x74, 0x61, 0x6c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0xe3, - 0x47, 0x12, 0x29, 0x0a, 0x24, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, - 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, - 0x50, 0x6f, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x10, 0xe4, 0x47, 0x12, 0x28, 0x0a, 0x23, - 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, - 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x50, 0x61, 0x72, 0x74, 0x79, 0x5f, 0x52, 0x65, 0x67, 0x69, 0x73, - 0x74, 0x65, 0x72, 0x10, 0xe5, 0x47, 0x12, 0x2a, 0x0a, 0x25, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, - 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x50, - 0x61, 0x72, 0x74, 0x79, 0x5f, 0x55, 0x6e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x10, - 0xe6, 0x47, 0x12, 0x26, 0x0a, 0x21, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, - 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x50, 0x61, 0x72, 0x74, 0x79, - 0x5f, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x10, 0xe7, 0x47, 0x12, 0x26, 0x0a, 0x21, 0x6b, 0x5f, - 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, - 0x76, 0x32, 0x5f, 0x50, 0x61, 0x72, 0x74, 0x79, 0x5f, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x10, - 0xe8, 0x47, 0x12, 0x30, 0x0a, 0x2b, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, - 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x41, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x5f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x43, 0x6f, 0x50, 0x6c, 0x61, 0x79, - 0x73, 0x10, 0xe9, 0x47, 0x12, 0x2c, 0x0a, 0x27, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, - 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x43, 0x6c, 0x69, - 0x65, 0x6e, 0x74, 0x47, 0x43, 0x52, 0x61, 0x6e, 0x6b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x10, - 0xea, 0x47, 0x12, 0x2d, 0x0a, 0x28, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, - 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, - 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x73, 0x10, 0xeb, - 0x47, 0x12, 0x2e, 0x0a, 0x29, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, - 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, - 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x10, 0xec, + 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x32, 0x47, 0x43, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x50, 0x72, 0x65, 0x73, 0x74, 0x69, 0x67, 0x65, 0x43, 0x6f, 0x69, 0x6e, 0x10, 0xd4, 0x47, 0x12, 0x2e, 0x0a, 0x29, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, + 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x47, 0x43, 0x32, 0x43, 0x6c, 0x69, + 0x65, 0x6e, 0x74, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x73, 0x10, 0xd5, + 0x47, 0x12, 0x2f, 0x0a, 0x2a, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, - 0x50, 0x61, 0x72, 0x74, 0x79, 0x4a, 0x6f, 0x69, 0x6e, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x10, 0xed, - 0x47, 0x12, 0x2c, 0x0a, 0x27, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, + 0x32, 0x47, 0x43, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x10, + 0xd6, 0x47, 0x12, 0x32, 0x0a, 0x2d, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, + 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x46, 0x61, 0x6e, 0x74, 0x61, + 0x73, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x44, + 0x61, 0x74, 0x61, 0x10, 0xd7, 0x47, 0x12, 0x31, 0x0a, 0x2c, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, + 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x46, + 0x61, 0x6e, 0x74, 0x61, 0x73, 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x69, 0x65, + 0x6e, 0x74, 0x44, 0x61, 0x74, 0x61, 0x10, 0xd8, 0x47, 0x12, 0x37, 0x0a, 0x32, 0x6b, 0x5f, 0x45, + 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, + 0x32, 0x5f, 0x47, 0x43, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x65, 0x61, + 0x6d, 0x64, 0x61, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x10, + 0xd9, 0x47, 0x12, 0x31, 0x0a, 0x2c, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, + 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, + 0x74, 0x54, 0x6f, 0x47, 0x43, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x54, 0x69, 0x63, 0x6b, + 0x65, 0x74, 0x10, 0xda, 0x47, 0x12, 0x32, 0x0a, 0x2d, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, + 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x43, 0x6c, + 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x47, 0x43, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x45, + 0x6c, 0x65, 0x76, 0x61, 0x74, 0x65, 0x10, 0xdb, 0x47, 0x12, 0x24, 0x0a, 0x1f, 0x6b, 0x5f, 0x45, + 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, + 0x32, 0x5f, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x43, 0x68, 0x61, 0x74, 0x10, 0xdc, 0x47, 0x12, + 0x2e, 0x0a, 0x29, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, + 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x43, 0x68, + 0x61, 0x74, 0x5f, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x10, 0xdd, 0x47, 0x12, + 0x30, 0x0a, 0x2b, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, + 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x43, 0x68, + 0x61, 0x74, 0x5f, 0x55, 0x6e, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x10, 0xde, + 0x47, 0x12, 0x2b, 0x0a, 0x26, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, - 0x50, 0x61, 0x72, 0x74, 0x79, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x10, 0xee, 0x47, 0x12, + 0x41, 0x75, 0x74, 0x68, 0x4b, 0x65, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x10, 0xdf, 0x47, 0x12, 0x28, + 0x0a, 0x23, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, + 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x47, 0x6f, 0x74, 0x76, 0x53, 0x79, 0x6e, 0x63, 0x50, + 0x61, 0x63, 0x6b, 0x65, 0x74, 0x10, 0xe0, 0x47, 0x12, 0x2f, 0x0a, 0x2a, 0x6b, 0x5f, 0x45, 0x4d, + 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, + 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x44, 0x65, 0x63, + 0x61, 0x6c, 0x53, 0x69, 0x67, 0x6e, 0x10, 0xe1, 0x47, 0x12, 0x2f, 0x0a, 0x2a, 0x6b, 0x5f, 0x45, + 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, + 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4c, 0x6f, 0x67, 0x6f, 0x6e, 0x46, 0x61, 0x74, + 0x61, 0x6c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0xe3, 0x47, 0x12, 0x29, 0x0a, 0x24, 0x6b, 0x5f, + 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, + 0x76, 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x50, 0x6f, 0x6c, 0x6c, 0x53, 0x74, 0x61, + 0x74, 0x65, 0x10, 0xe4, 0x47, 0x12, 0x28, 0x0a, 0x23, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, + 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x50, 0x61, + 0x72, 0x74, 0x79, 0x5f, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x10, 0xe5, 0x47, 0x12, 0x2a, 0x0a, 0x25, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, - 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x53, 0x65, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, - 0x46, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, 0x10, 0xf0, 0x47, 0x12, 0x33, 0x0a, 0x2e, 0x6b, + 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x50, 0x61, 0x72, 0x74, 0x79, 0x5f, 0x55, 0x6e, + 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x10, 0xe6, 0x47, 0x12, 0x26, 0x0a, 0x21, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, - 0x5f, 0x76, 0x32, 0x5f, 0x47, 0x65, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x46, 0x61, 0x76, 0x6f, - 0x72, 0x69, 0x74, 0x65, 0x73, 0x5f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x10, 0xf1, 0x47, - 0x12, 0x2a, 0x0a, 0x25, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, - 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x50, - 0x65, 0x72, 0x66, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x10, 0xf2, 0x47, 0x12, 0x34, 0x0a, 0x2f, - 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, - 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x47, 0x65, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x46, 0x61, 0x76, - 0x6f, 0x72, 0x69, 0x74, 0x65, 0x73, 0x5f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, - 0xf3, 0x47, 0x12, 0x2f, 0x0a, 0x2a, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, - 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, - 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x53, 0x6f, 0x75, 0x76, 0x65, 0x6e, 0x69, 0x72, - 0x10, 0xf4, 0x47, 0x12, 0x30, 0x0a, 0x2b, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, - 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, - 0x6e, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x10, 0xf5, 0x47, 0x12, 0x33, 0x0a, 0x2e, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, - 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x47, 0x43, - 0x32, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x66, 0x75, 0x73, 0x65, 0x53, 0x65, 0x63, - 0x75, 0x72, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x10, 0xf6, 0x47, 0x12, 0x34, 0x0a, 0x2f, 0x6b, 0x5f, + 0x5f, 0x76, 0x32, 0x5f, 0x50, 0x61, 0x72, 0x74, 0x79, 0x5f, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, + 0x10, 0xe7, 0x47, 0x12, 0x26, 0x0a, 0x21, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, + 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x50, 0x61, 0x72, 0x74, + 0x79, 0x5f, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x10, 0xe8, 0x47, 0x12, 0x30, 0x0a, 0x2b, 0x6b, + 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, + 0x5f, 0x76, 0x32, 0x5f, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x43, 0x6f, 0x50, 0x6c, 0x61, 0x79, 0x73, 0x10, 0xe9, 0x47, 0x12, 0x2c, 0x0a, + 0x27, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, + 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x47, 0x43, 0x52, 0x61, + 0x6e, 0x6b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x10, 0xea, 0x47, 0x12, 0x2d, 0x0a, 0x28, 0x6b, + 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, + 0x5f, 0x76, 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x73, 0x10, 0xeb, 0x47, 0x12, 0x2e, 0x0a, 0x29, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, - 0x76, 0x32, 0x5f, 0x47, 0x43, 0x32, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0xf7, 0x47, - 0x12, 0x33, 0x0a, 0x2e, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, - 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, - 0x65, 0x64, 0x65, 0x65, 0x6d, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x77, 0x61, - 0x72, 0x64, 0x10, 0xf9, 0x47, 0x12, 0x26, 0x0a, 0x21, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, - 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, - 0x74, 0x44, 0x65, 0x65, 0x70, 0x53, 0x74, 0x61, 0x74, 0x73, 0x10, 0xfa, 0x47, 0x12, 0x32, 0x0a, - 0x2d, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, - 0x31, 0x35, 0x5f, 0x53, 0x74, 0x61, 0x72, 0x74, 0x41, 0x67, 0x72, 0x65, 0x65, 0x6d, 0x65, 0x6e, - 0x74, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x47, 0x61, 0x6d, 0x65, 0x10, 0xfb, - 0x47, 0x12, 0x2d, 0x0a, 0x28, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, - 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x47, 0x43, 0x32, 0x43, 0x6c, 0x69, - 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x69, 0x74, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x10, 0xfc, 0x47, - 0x12, 0x36, 0x0a, 0x31, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, - 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x47, 0x43, 0x32, 0x43, 0x6c, 0x69, 0x65, - 0x6e, 0x74, 0x49, 0x6e, 0x69, 0x74, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x5f, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, 0xfd, 0x47, 0x12, 0x27, 0x0a, 0x22, 0x6b, 0x5f, 0x45, 0x4d, + 0x76, 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x10, 0xec, 0x47, 0x12, 0x2e, 0x0a, 0x29, 0x6b, 0x5f, + 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, + 0x76, 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x50, 0x61, 0x72, 0x74, 0x79, 0x4a, 0x6f, + 0x69, 0x6e, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x10, 0xed, 0x47, 0x12, 0x2c, 0x0a, 0x27, 0x6b, 0x5f, + 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, + 0x76, 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x50, 0x61, 0x72, 0x74, 0x79, 0x57, 0x61, + 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x10, 0xee, 0x47, 0x12, 0x2a, 0x0a, 0x25, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, - 0x5f, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x51, 0x75, 0x65, 0x75, 0x65, 0x73, 0x10, 0xfe, - 0x47, 0x12, 0x39, 0x0a, 0x34, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, - 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4c, - 0x69, 0x73, 0x74, 0x54, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x4f, 0x70, 0x65, - 0x72, 0x61, 0x74, 0x6f, 0x72, 0x4d, 0x67, 0x6d, 0x74, 0x10, 0xff, 0x47, 0x2a, 0x98, 0x01, 0x0a, - 0x12, 0x45, 0x43, 0x73, 0x67, 0x6f, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x55, 0x73, 0x65, 0x72, 0x53, - 0x74, 0x61, 0x74, 0x12, 0x26, 0x0a, 0x22, 0x6b, 0x5f, 0x45, 0x43, 0x73, 0x67, 0x6f, 0x53, 0x74, - 0x65, 0x61, 0x6d, 0x55, 0x73, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x5f, 0x58, 0x70, 0x45, 0x61, - 0x72, 0x6e, 0x65, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x73, 0x10, 0x01, 0x12, 0x2d, 0x0a, 0x29, 0x6b, - 0x5f, 0x45, 0x43, 0x73, 0x67, 0x6f, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x55, 0x73, 0x65, 0x72, 0x53, - 0x74, 0x61, 0x74, 0x5f, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x57, 0x69, 0x6e, 0x73, 0x43, 0x6f, 0x6d, - 0x70, 0x65, 0x74, 0x69, 0x74, 0x69, 0x76, 0x65, 0x10, 0x02, 0x12, 0x2b, 0x0a, 0x27, 0x6b, 0x5f, - 0x45, 0x43, 0x73, 0x67, 0x6f, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x55, 0x73, 0x65, 0x72, 0x53, 0x74, - 0x61, 0x74, 0x5f, 0x53, 0x75, 0x72, 0x76, 0x69, 0x76, 0x65, 0x64, 0x44, 0x61, 0x6e, 0x67, 0x65, - 0x72, 0x5a, 0x6f, 0x6e, 0x65, 0x10, 0x03, 0x2a, 0xa1, 0x01, 0x0a, 0x17, 0x45, 0x43, 0x6c, 0x69, + 0x5f, 0x53, 0x65, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x46, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, + 0x65, 0x10, 0xf0, 0x47, 0x12, 0x33, 0x0a, 0x2e, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, + 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x47, 0x65, 0x74, + 0x45, 0x76, 0x65, 0x6e, 0x74, 0x46, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, 0x73, 0x5f, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x10, 0xf1, 0x47, 0x12, 0x2a, 0x0a, 0x25, 0x6b, 0x5f, 0x45, + 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, + 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x50, 0x65, 0x72, 0x66, 0x52, 0x65, 0x70, 0x6f, + 0x72, 0x74, 0x10, 0xf2, 0x47, 0x12, 0x34, 0x0a, 0x2f, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, + 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x47, 0x65, + 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x46, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, 0x73, 0x5f, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, 0xf3, 0x47, 0x12, 0x2f, 0x0a, 0x2a, 0x6b, + 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, + 0x5f, 0x76, 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x53, 0x6f, 0x75, 0x76, 0x65, 0x6e, 0x69, 0x72, 0x10, 0xf4, 0x47, 0x12, 0x30, 0x0a, 0x2b, + 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, + 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x72, + 0x74, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0xf5, 0x47, 0x12, 0x33, + 0x0a, 0x2e, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, + 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x47, 0x43, 0x32, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, + 0x52, 0x65, 0x66, 0x75, 0x73, 0x65, 0x53, 0x65, 0x63, 0x75, 0x72, 0x65, 0x4d, 0x6f, 0x64, 0x65, + 0x10, 0xf6, 0x47, 0x12, 0x34, 0x0a, 0x2f, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, + 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x47, 0x43, 0x32, 0x43, + 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x56, 0x61, 0x6c, 0x69, + 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0xf7, 0x47, 0x12, 0x33, 0x0a, 0x2e, 0x6b, 0x5f, 0x45, + 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, + 0x32, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x64, 0x65, 0x65, 0x6d, 0x4d, 0x69, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, 0xf9, 0x47, 0x12, 0x26, + 0x0a, 0x21, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, + 0x65, 0x31, 0x35, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x44, 0x65, 0x65, 0x70, 0x53, 0x74, + 0x61, 0x74, 0x73, 0x10, 0xfa, 0x47, 0x12, 0x32, 0x0a, 0x2d, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, + 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x53, 0x74, 0x61, 0x72, + 0x74, 0x41, 0x67, 0x72, 0x65, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, + 0x6e, 0x49, 0x6e, 0x47, 0x61, 0x6d, 0x65, 0x10, 0xfb, 0x47, 0x12, 0x2d, 0x0a, 0x28, 0x6b, 0x5f, + 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, + 0x76, 0x32, 0x5f, 0x47, 0x43, 0x32, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x69, 0x74, + 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x10, 0xfc, 0x47, 0x12, 0x36, 0x0a, 0x31, 0x6b, 0x5f, 0x45, + 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, + 0x32, 0x5f, 0x47, 0x43, 0x32, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x69, 0x74, 0x53, + 0x79, 0x73, 0x74, 0x65, 0x6d, 0x5f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x10, 0xfd, + 0x47, 0x12, 0x27, 0x0a, 0x22, 0x6b, 0x5f, 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, + 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, + 0x65, 0x51, 0x75, 0x65, 0x75, 0x65, 0x73, 0x10, 0xfe, 0x47, 0x12, 0x39, 0x0a, 0x34, 0x6b, 0x5f, + 0x45, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, + 0x76, 0x32, 0x5f, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x6f, 0x75, 0x72, + 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x4d, 0x67, + 0x6d, 0x74, 0x10, 0xff, 0x47, 0x2a, 0x98, 0x01, 0x0a, 0x12, 0x45, 0x43, 0x73, 0x67, 0x6f, 0x53, + 0x74, 0x65, 0x61, 0x6d, 0x55, 0x73, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x12, 0x26, 0x0a, 0x22, + 0x6b, 0x5f, 0x45, 0x43, 0x73, 0x67, 0x6f, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x55, 0x73, 0x65, 0x72, + 0x53, 0x74, 0x61, 0x74, 0x5f, 0x58, 0x70, 0x45, 0x61, 0x72, 0x6e, 0x65, 0x64, 0x47, 0x61, 0x6d, + 0x65, 0x73, 0x10, 0x01, 0x12, 0x2d, 0x0a, 0x29, 0x6b, 0x5f, 0x45, 0x43, 0x73, 0x67, 0x6f, 0x53, + 0x74, 0x65, 0x61, 0x6d, 0x55, 0x73, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x5f, 0x4d, 0x61, 0x74, + 0x63, 0x68, 0x57, 0x69, 0x6e, 0x73, 0x43, 0x6f, 0x6d, 0x70, 0x65, 0x74, 0x69, 0x74, 0x69, 0x76, + 0x65, 0x10, 0x02, 0x12, 0x2b, 0x0a, 0x27, 0x6b, 0x5f, 0x45, 0x43, 0x73, 0x67, 0x6f, 0x53, 0x74, + 0x65, 0x61, 0x6d, 0x55, 0x73, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x5f, 0x53, 0x75, 0x72, 0x76, + 0x69, 0x76, 0x65, 0x64, 0x44, 0x61, 0x6e, 0x67, 0x65, 0x72, 0x5a, 0x6f, 0x6e, 0x65, 0x10, 0x03, + 0x2a, 0xa1, 0x01, 0x0a, 0x17, 0x45, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x70, 0x6f, + 0x72, 0x74, 0x69, 0x6e, 0x67, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x24, + 0x6b, 0x5f, 0x45, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x69, + 0x6e, 0x67, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x4f, 0x6c, 0x64, 0x56, 0x65, 0x72, + 0x73, 0x69, 0x6f, 0x6e, 0x10, 0x00, 0x12, 0x29, 0x0a, 0x25, 0x6b, 0x5f, 0x45, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x56, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x24, 0x6b, 0x5f, 0x45, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, - 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, - 0x5f, 0x4f, 0x6c, 0x64, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x10, 0x00, 0x12, 0x29, 0x0a, - 0x25, 0x6b, 0x5f, 0x45, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, - 0x69, 0x6e, 0x67, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x42, 0x65, 0x74, 0x61, 0x56, - 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x10, 0x01, 0x12, 0x31, 0x0a, 0x2d, 0x6b, 0x5f, 0x45, 0x43, - 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x56, 0x65, - 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x54, 0x72, - 0x75, 0x73, 0x74, 0x65, 0x64, 0x4d, 0x6f, 0x64, 0x65, 0x10, 0x02, 0x2a, 0xbe, 0x02, 0x0a, 0x11, + 0x69, 0x6f, 0x6e, 0x5f, 0x42, 0x65, 0x74, 0x61, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x10, + 0x01, 0x12, 0x31, 0x0a, 0x2d, 0x6b, 0x5f, 0x45, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, + 0x70, 0x6f, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x53, + 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x54, 0x72, 0x75, 0x73, 0x74, 0x65, 0x64, 0x4d, 0x6f, + 0x64, 0x65, 0x10, 0x02, 0x2a, 0xbe, 0x02, 0x0a, 0x11, 0x45, 0x49, 0x6e, 0x69, 0x74, 0x53, 0x79, + 0x73, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x1f, 0x0a, 0x1b, 0x6b, 0x5f, 0x45, 0x49, 0x6e, 0x69, 0x74, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x73, 0x75, 0x6c, - 0x74, 0x12, 0x1f, 0x0a, 0x1b, 0x6b, 0x5f, 0x45, 0x49, 0x6e, 0x69, 0x74, 0x53, 0x79, 0x73, 0x74, - 0x65, 0x6d, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, - 0x10, 0x00, 0x12, 0x1f, 0x0a, 0x1b, 0x6b, 0x5f, 0x45, 0x49, 0x6e, 0x69, 0x74, 0x53, 0x79, 0x73, - 0x74, 0x65, 0x6d, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, - 0x73, 0x10, 0x01, 0x12, 0x1c, 0x0a, 0x18, 0x6b, 0x5f, 0x45, 0x49, 0x6e, 0x69, 0x74, 0x53, 0x79, - 0x73, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x4e, 0x6f, 0x6e, 0x65, 0x10, - 0x02, 0x12, 0x20, 0x0a, 0x1c, 0x6b, 0x5f, 0x45, 0x49, 0x6e, 0x69, 0x74, 0x53, 0x79, 0x73, 0x74, - 0x65, 0x6d, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x4e, 0x6f, 0x74, 0x46, 0x6f, 0x75, 0x6e, - 0x64, 0x10, 0x03, 0x12, 0x20, 0x0a, 0x1c, 0x6b, 0x5f, 0x45, 0x49, 0x6e, 0x69, 0x74, 0x53, 0x79, - 0x73, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x45, 0x78, 0x69, 0x73, 0x74, - 0x69, 0x6e, 0x67, 0x10, 0x04, 0x12, 0x22, 0x0a, 0x1e, 0x6b, 0x5f, 0x45, 0x49, 0x6e, 0x69, 0x74, - 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x46, 0x61, 0x69, - 0x6c, 0x65, 0x64, 0x4f, 0x70, 0x65, 0x6e, 0x10, 0x05, 0x12, 0x20, 0x0a, 0x1c, 0x6b, 0x5f, 0x45, - 0x49, 0x6e, 0x69, 0x74, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, - 0x5f, 0x4d, 0x69, 0x73, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x10, 0x06, 0x12, 0x22, 0x0a, 0x1e, 0x6b, + 0x74, 0x5f, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x10, 0x00, 0x12, 0x1f, 0x0a, 0x1b, 0x6b, 0x5f, 0x45, 0x49, 0x6e, 0x69, 0x74, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x73, 0x75, - 0x6c, 0x74, 0x5f, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x49, 0x6e, 0x69, 0x74, 0x10, 0x07, 0x12, - 0x1b, 0x0a, 0x17, 0x6b, 0x5f, 0x45, 0x49, 0x6e, 0x69, 0x74, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, - 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x4d, 0x61, 0x78, 0x10, 0x08, 0x42, 0x05, 0x48, 0x01, - 0x80, 0x01, 0x00, + 0x6c, 0x74, 0x5f, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x10, 0x01, 0x12, 0x1c, 0x0a, 0x18, + 0x6b, 0x5f, 0x45, 0x49, 0x6e, 0x69, 0x74, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x5f, 0x4e, 0x6f, 0x6e, 0x65, 0x10, 0x02, 0x12, 0x20, 0x0a, 0x1c, 0x6b, 0x5f, + 0x45, 0x49, 0x6e, 0x69, 0x74, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x73, 0x75, 0x6c, + 0x74, 0x5f, 0x4e, 0x6f, 0x74, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x10, 0x03, 0x12, 0x20, 0x0a, 0x1c, + 0x6b, 0x5f, 0x45, 0x49, 0x6e, 0x69, 0x74, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x5f, 0x45, 0x78, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x10, 0x04, 0x12, 0x22, + 0x0a, 0x1e, 0x6b, 0x5f, 0x45, 0x49, 0x6e, 0x69, 0x74, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x52, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x4f, 0x70, 0x65, 0x6e, + 0x10, 0x05, 0x12, 0x20, 0x0a, 0x1c, 0x6b, 0x5f, 0x45, 0x49, 0x6e, 0x69, 0x74, 0x53, 0x79, 0x73, + 0x74, 0x65, 0x6d, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x4d, 0x69, 0x73, 0x6d, 0x61, 0x74, + 0x63, 0x68, 0x10, 0x06, 0x12, 0x22, 0x0a, 0x1e, 0x6b, 0x5f, 0x45, 0x49, 0x6e, 0x69, 0x74, 0x53, + 0x79, 0x73, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x46, 0x61, 0x69, 0x6c, + 0x65, 0x64, 0x49, 0x6e, 0x69, 0x74, 0x10, 0x07, 0x12, 0x1b, 0x0a, 0x17, 0x6b, 0x5f, 0x45, 0x49, + 0x6e, 0x69, 0x74, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, + 0x4d, 0x61, 0x78, 0x10, 0x08, } var ( @@ -15134,103 +15276,105 @@ var file_cstrike15_gcmessages_proto_goTypes = []interface{}{ (*CMsgGCCStrike15V2_MatchEndRunRewardDrops)(nil), // 70: CMsgGCCStrike15_v2_MatchEndRunRewardDrops (*CEconItemPreviewDataBlock)(nil), // 71: CEconItemPreviewDataBlock (*CMsgGCCStrike15V2_MatchEndRewardDropsNotification)(nil), // 72: CMsgGCCStrike15_v2_MatchEndRewardDropsNotification - (*CMsgItemAcknowledged)(nil), // 73: CMsgItemAcknowledged - (*CMsgGCCStrike15V2_Client2GCEconPreviewDataBlockRequest)(nil), // 74: CMsgGCCStrike15_v2_Client2GCEconPreviewDataBlockRequest - (*CMsgGCCStrike15V2_Client2GCEconPreviewDataBlockResponse)(nil), // 75: CMsgGCCStrike15_v2_Client2GCEconPreviewDataBlockResponse - (*CMsgGCCStrike15V2_MatchListRequestCurrentLiveGames)(nil), // 76: CMsgGCCStrike15_v2_MatchListRequestCurrentLiveGames - (*CMsgGCCStrike15V2_MatchListRequestLiveGameForUser)(nil), // 77: CMsgGCCStrike15_v2_MatchListRequestLiveGameForUser - (*CMsgGCCStrike15V2_MatchListRequestRecentUserGames)(nil), // 78: CMsgGCCStrike15_v2_MatchListRequestRecentUserGames - (*CMsgGCCStrike15V2_MatchListRequestTournamentGames)(nil), // 79: CMsgGCCStrike15_v2_MatchListRequestTournamentGames - (*CMsgGCCStrike15V2_MatchListRequestFullGameInfo)(nil), // 80: CMsgGCCStrike15_v2_MatchListRequestFullGameInfo - (*CDataGCCStrike15V2_MatchInfo)(nil), // 81: CDataGCCStrike15_v2_MatchInfo - (*CDataGCCStrike15V2_TournamentGroupTeam)(nil), // 82: CDataGCCStrike15_v2_TournamentGroupTeam - (*CDataGCCStrike15V2_TournamentGroup)(nil), // 83: CDataGCCStrike15_v2_TournamentGroup - (*CDataGCCStrike15V2_TournamentSection)(nil), // 84: CDataGCCStrike15_v2_TournamentSection - (*CDataGCCStrike15V2_TournamentInfo)(nil), // 85: CDataGCCStrike15_v2_TournamentInfo - (*CMsgGCCStrike15V2_MatchList)(nil), // 86: CMsgGCCStrike15_v2_MatchList - (*CMsgGCCStrike15V2_MatchListTournamentOperatorMgmt)(nil), // 87: CMsgGCCStrike15_v2_MatchListTournamentOperatorMgmt - (*CMsgGCCStrike15V2_Predictions)(nil), // 88: CMsgGCCStrike15_v2_Predictions - (*CMsgGCCStrike15V2_Fantasy)(nil), // 89: CMsgGCCStrike15_v2_Fantasy - (*CAttribute_String)(nil), // 90: CAttribute_String - (*CMsgCStrike15Welcome)(nil), // 91: CMsgCStrike15Welcome - (*CMsgGCCStrike15V2_ClientVarValueNotificationInfo)(nil), // 92: CMsgGCCStrike15_v2_ClientVarValueNotificationInfo - (*CMsgGCCStrike15V2_ServerVarValueNotificationInfo)(nil), // 93: CMsgGCCStrike15_v2_ServerVarValueNotificationInfo - (*CMsgGCCStrike15V2_GiftsLeaderboardRequest)(nil), // 94: CMsgGCCStrike15_v2_GiftsLeaderboardRequest - (*CMsgGCCStrike15V2_GiftsLeaderboardResponse)(nil), // 95: CMsgGCCStrike15_v2_GiftsLeaderboardResponse - (*CMsgGCCStrike15V2_ClientSubmitSurveyVote)(nil), // 96: CMsgGCCStrike15_v2_ClientSubmitSurveyVote - (*CMsgGCCStrike15V2_Server2GCClientValidate)(nil), // 97: CMsgGCCStrike15_v2_Server2GCClientValidate - (*CMsgGCCStrike15V2_GC2ClientTournamentInfo)(nil), // 98: CMsgGCCStrike15_v2_GC2ClientTournamentInfo - (*CSOEconCoupon)(nil), // 99: CSOEconCoupon - (*CSOQuestProgress)(nil), // 100: CSOQuestProgress - (*CSOAccountSeasonalOperation)(nil), // 101: CSOAccountSeasonalOperation - (*CSOAccountRecurringSubscription)(nil), // 102: CSOAccountRecurringSubscription - (*CSOPersonaDataPublic)(nil), // 103: CSOPersonaDataPublic - (*CMsgGC_GlobalGame_Subscribe)(nil), // 104: CMsgGC_GlobalGame_Subscribe - (*CMsgGC_GlobalGame_Unsubscribe)(nil), // 105: CMsgGC_GlobalGame_Unsubscribe - (*CMsgGC_GlobalGame_Play)(nil), // 106: CMsgGC_GlobalGame_Play - (*CMsgGCCStrike15V2_AcknowledgePenalty)(nil), // 107: CMsgGCCStrike15_v2_AcknowledgePenalty - (*CMsgGCCStrike15V2_Client2GCRequestPrestigeCoin)(nil), // 108: CMsgGCCStrike15_v2_Client2GCRequestPrestigeCoin - (*CMsgGCCStrike15V2_Client2GCStreamUnlock)(nil), // 109: CMsgGCCStrike15_v2_Client2GCStreamUnlock - (*CMsgGCCStrike15V2_ClientToGCRequestElevate)(nil), // 110: CMsgGCCStrike15_v2_ClientToGCRequestElevate - (*CMsgGCCStrike15V2_ClientToGCChat)(nil), // 111: CMsgGCCStrike15_v2_ClientToGCChat - (*CMsgGCCStrike15V2_GCToClientChat)(nil), // 112: CMsgGCCStrike15_v2_GCToClientChat - (*CMsgGCCStrike15V2_ClientAuthKeyCode)(nil), // 113: CMsgGCCStrike15_v2_ClientAuthKeyCode - (*CMsgGCCStrike15_GotvSyncPacket)(nil), // 114: CMsgGCCStrike15_GotvSyncPacket - (*PlayerDecalDigitalSignature)(nil), // 115: PlayerDecalDigitalSignature - (*CMsgGCCStrike15V2_ClientPlayerDecalSign)(nil), // 116: CMsgGCCStrike15_v2_ClientPlayerDecalSign - (*CMsgGCCStrike15V2_ClientLogonFatalError)(nil), // 117: CMsgGCCStrike15_v2_ClientLogonFatalError - (*CMsgGCCStrike15V2_ClientPollState)(nil), // 118: CMsgGCCStrike15_v2_ClientPollState - (*CMsgGCCStrike15V2_Party_Register)(nil), // 119: CMsgGCCStrike15_v2_Party_Register - (*CMsgGCCStrike15V2_Party_Search)(nil), // 120: CMsgGCCStrike15_v2_Party_Search - (*CMsgGCCStrike15V2_Party_SearchResults)(nil), // 121: CMsgGCCStrike15_v2_Party_SearchResults - (*CMsgGCCStrike15V2_Party_Invite)(nil), // 122: CMsgGCCStrike15_v2_Party_Invite - (*CMsgGCCStrike15V2_Account_RequestCoPlays)(nil), // 123: CMsgGCCStrike15_v2_Account_RequestCoPlays - (*CMsgGCCStrike15V2_ClientToGCRequestTicket)(nil), // 124: CMsgGCCStrike15_v2_ClientToGCRequestTicket - (*CMsgGCToClientSteamDatagramTicket)(nil), // 125: CMsgGCToClientSteamDatagramTicket - (*CMsgGCCStrike15V2_ClientRequestOffers)(nil), // 126: CMsgGCCStrike15_v2_ClientRequestOffers - (*CMsgGCCStrike15V2_ClientRequestSouvenir)(nil), // 127: CMsgGCCStrike15_v2_ClientRequestSouvenir - (*CMsgGCCStrike15V2_ClientAccountBalance)(nil), // 128: CMsgGCCStrike15_v2_ClientAccountBalance - (*CMsgGCCStrike15V2_ClientPartyJoinRelay)(nil), // 129: CMsgGCCStrike15_v2_ClientPartyJoinRelay - (*CMsgGCCStrike15V2_ClientPartyWarning)(nil), // 130: CMsgGCCStrike15_v2_ClientPartyWarning - (*CMsgGCCStrike15V2_SetEventFavorite)(nil), // 131: CMsgGCCStrike15_v2_SetEventFavorite - (*CMsgGCCStrike15V2_GetEventFavorites_Request)(nil), // 132: CMsgGCCStrike15_v2_GetEventFavorites_Request - (*CMsgGCCStrike15V2_GetEventFavorites_Response)(nil), // 133: CMsgGCCStrike15_v2_GetEventFavorites_Response - (*CMsgGCCStrike15V2_ClientPerfReport)(nil), // 134: CMsgGCCStrike15_v2_ClientPerfReport - (*CVDiagnostic)(nil), // 135: CVDiagnostic - (*CMsgGCCStrike15V2_ClientReportValidation)(nil), // 136: CMsgGCCStrike15_v2_ClientReportValidation - (*CMsgGCCStrike15V2_GC2ClientRefuseSecureMode)(nil), // 137: CMsgGCCStrike15_v2_GC2ClientRefuseSecureMode - (*CMsgGCCStrike15V2_GC2ClientRequestValidation)(nil), // 138: CMsgGCCStrike15_v2_GC2ClientRequestValidation - (*CMsgGCCStrike15V2_GC2ClientInitSystem)(nil), // 139: CMsgGCCStrike15_v2_GC2ClientInitSystem - (*CMsgGCCStrike15V2_GC2ClientInitSystem_Response)(nil), // 140: CMsgGCCStrike15_v2_GC2ClientInitSystem_Response - (*ScoreLeaderboardData_Entry)(nil), // 141: ScoreLeaderboardData.Entry - (*ScoreLeaderboardData_AccountEntries)(nil), // 142: ScoreLeaderboardData.AccountEntries - (*PlayerQuestData_QuestItemData)(nil), // 143: PlayerQuestData.QuestItemData - (*CMsgGCCStrike15V2_MatchmakingGC2ClientUpdate_Note)(nil), // 144: CMsgGCCStrike15_v2_MatchmakingGC2ClientUpdate.Note - (*CDataGCCStrike15V2_TournamentMatchDraft_Entry)(nil), // 145: CDataGCCStrike15_v2_TournamentMatchDraft.Entry - (*CPreMatchInfoData_TeamStats)(nil), // 146: CPreMatchInfoData.TeamStats - (*CMsgGCCStrike15V2_MatchmakingServerRoundStats_DropInfo)(nil), // 147: CMsgGCCStrike15_v2_MatchmakingServerRoundStats.DropInfo - (*CMsgGCCStrike15V2_AccountPrivacySettings_Setting)(nil), // 148: CMsgGCCStrike15_v2_AccountPrivacySettings.Setting - (*CMsgGCCStrike15_ClientDeepStats_DeepStatsRange)(nil), // 149: CMsgGCCStrike15_ClientDeepStats.DeepStatsRange - (*CMsgGCCStrike15_ClientDeepStats_DeepStatsMatch)(nil), // 150: CMsgGCCStrike15_ClientDeepStats.DeepStatsMatch - (*CEconItemPreviewDataBlock_Sticker)(nil), // 151: CEconItemPreviewDataBlock.Sticker - (*CDataGCCStrike15V2_TournamentGroup_Picks)(nil), // 152: CDataGCCStrike15_v2_TournamentGroup.Picks - (*CMsgGCCStrike15V2_Predictions_GroupMatchTeamPick)(nil), // 153: CMsgGCCStrike15_v2_Predictions.GroupMatchTeamPick - (*CMsgGCCStrike15V2_Fantasy_FantasySlot)(nil), // 154: CMsgGCCStrike15_v2_Fantasy.FantasySlot - (*CMsgGCCStrike15V2_Fantasy_FantasyTeam)(nil), // 155: CMsgGCCStrike15_v2_Fantasy.FantasyTeam + (*CMsgGCCStrike15V2_Client2GCEconPreviewDataBlockRequest)(nil), // 73: CMsgGCCStrike15_v2_Client2GCEconPreviewDataBlockRequest + (*CMsgGCCStrike15V2_Client2GCEconPreviewDataBlockResponse)(nil), // 74: CMsgGCCStrike15_v2_Client2GCEconPreviewDataBlockResponse + (*CMsgGCCStrike15V2_MatchListRequestCurrentLiveGames)(nil), // 75: CMsgGCCStrike15_v2_MatchListRequestCurrentLiveGames + (*CMsgGCCStrike15V2_MatchListRequestLiveGameForUser)(nil), // 76: CMsgGCCStrike15_v2_MatchListRequestLiveGameForUser + (*CMsgGCCStrike15V2_MatchListRequestRecentUserGames)(nil), // 77: CMsgGCCStrike15_v2_MatchListRequestRecentUserGames + (*CMsgGCCStrike15V2_MatchListRequestTournamentGames)(nil), // 78: CMsgGCCStrike15_v2_MatchListRequestTournamentGames + (*CMsgGCCStrike15V2_MatchListRequestFullGameInfo)(nil), // 79: CMsgGCCStrike15_v2_MatchListRequestFullGameInfo + (*CDataGCCStrike15V2_MatchInfo)(nil), // 80: CDataGCCStrike15_v2_MatchInfo + (*CDataGCCStrike15V2_TournamentGroupTeam)(nil), // 81: CDataGCCStrike15_v2_TournamentGroupTeam + (*CDataGCCStrike15V2_TournamentGroup)(nil), // 82: CDataGCCStrike15_v2_TournamentGroup + (*CDataGCCStrike15V2_TournamentSection)(nil), // 83: CDataGCCStrike15_v2_TournamentSection + (*CDataGCCStrike15V2_TournamentInfo)(nil), // 84: CDataGCCStrike15_v2_TournamentInfo + (*CMsgGCCStrike15V2_MatchList)(nil), // 85: CMsgGCCStrike15_v2_MatchList + (*CMsgGCCStrike15V2_MatchListTournamentOperatorMgmt)(nil), // 86: CMsgGCCStrike15_v2_MatchListTournamentOperatorMgmt + (*CMsgGCCStrike15V2_Predictions)(nil), // 87: CMsgGCCStrike15_v2_Predictions + (*CMsgGCCStrike15V2_Fantasy)(nil), // 88: CMsgGCCStrike15_v2_Fantasy + (*CMsgLegacySource1ClientWelcome)(nil), // 89: CMsgLegacySource1ClientWelcome + (*CMsgCStrike15Welcome)(nil), // 90: CMsgCStrike15Welcome + (*CMsgGCCStrike15V2_ClientVarValueNotificationInfo)(nil), // 91: CMsgGCCStrike15_v2_ClientVarValueNotificationInfo + (*CMsgGCCStrike15V2_ServerVarValueNotificationInfo)(nil), // 92: CMsgGCCStrike15_v2_ServerVarValueNotificationInfo + (*CMsgGCCStrike15V2_GiftsLeaderboardRequest)(nil), // 93: CMsgGCCStrike15_v2_GiftsLeaderboardRequest + (*CMsgGCCStrike15V2_GiftsLeaderboardResponse)(nil), // 94: CMsgGCCStrike15_v2_GiftsLeaderboardResponse + (*CMsgGCCStrike15V2_ClientSubmitSurveyVote)(nil), // 95: CMsgGCCStrike15_v2_ClientSubmitSurveyVote + (*CMsgGCCStrike15V2_Server2GCClientValidate)(nil), // 96: CMsgGCCStrike15_v2_Server2GCClientValidate + (*CMsgGCCStrike15V2_GC2ClientTournamentInfo)(nil), // 97: CMsgGCCStrike15_v2_GC2ClientTournamentInfo + (*CSOEconCoupon)(nil), // 98: CSOEconCoupon + (*CSOQuestProgress)(nil), // 99: CSOQuestProgress + (*CSOAccountSeasonalOperation)(nil), // 100: CSOAccountSeasonalOperation + (*CSOAccountRecurringSubscription)(nil), // 101: CSOAccountRecurringSubscription + (*CSOPersonaDataPublic)(nil), // 102: CSOPersonaDataPublic + (*CMsgGC_GlobalGame_Subscribe)(nil), // 103: CMsgGC_GlobalGame_Subscribe + (*CMsgGC_GlobalGame_Unsubscribe)(nil), // 104: CMsgGC_GlobalGame_Unsubscribe + (*CMsgGC_GlobalGame_Play)(nil), // 105: CMsgGC_GlobalGame_Play + (*CMsgGCCStrike15V2_AcknowledgePenalty)(nil), // 106: CMsgGCCStrike15_v2_AcknowledgePenalty + (*CMsgGCCStrike15V2_Client2GCRequestPrestigeCoin)(nil), // 107: CMsgGCCStrike15_v2_Client2GCRequestPrestigeCoin + (*CMsgGCCStrike15V2_Client2GCStreamUnlock)(nil), // 108: CMsgGCCStrike15_v2_Client2GCStreamUnlock + (*CMsgGCCStrike15V2_ClientToGCRequestElevate)(nil), // 109: CMsgGCCStrike15_v2_ClientToGCRequestElevate + (*CMsgGCCStrike15V2_ClientToGCChat)(nil), // 110: CMsgGCCStrike15_v2_ClientToGCChat + (*CMsgGCCStrike15V2_GCToClientChat)(nil), // 111: CMsgGCCStrike15_v2_GCToClientChat + (*CMsgGCCStrike15V2_ClientAuthKeyCode)(nil), // 112: CMsgGCCStrike15_v2_ClientAuthKeyCode + (*CMsgGCCStrike15_GotvSyncPacket)(nil), // 113: CMsgGCCStrike15_GotvSyncPacket + (*PlayerDecalDigitalSignature)(nil), // 114: PlayerDecalDigitalSignature + (*CMsgGCCStrike15V2_ClientPlayerDecalSign)(nil), // 115: CMsgGCCStrike15_v2_ClientPlayerDecalSign + (*CMsgGCCStrike15V2_ClientLogonFatalError)(nil), // 116: CMsgGCCStrike15_v2_ClientLogonFatalError + (*CMsgGCCStrike15V2_ClientPollState)(nil), // 117: CMsgGCCStrike15_v2_ClientPollState + (*CMsgGCCStrike15V2_Party_Register)(nil), // 118: CMsgGCCStrike15_v2_Party_Register + (*CMsgGCCStrike15V2_Party_Search)(nil), // 119: CMsgGCCStrike15_v2_Party_Search + (*CMsgGCCStrike15V2_Party_SearchResults)(nil), // 120: CMsgGCCStrike15_v2_Party_SearchResults + (*CMsgGCCStrike15V2_Party_Invite)(nil), // 121: CMsgGCCStrike15_v2_Party_Invite + (*CMsgGCCStrike15V2_Account_RequestCoPlays)(nil), // 122: CMsgGCCStrike15_v2_Account_RequestCoPlays + (*CMsgGCCStrike15V2_ClientToGCRequestTicket)(nil), // 123: CMsgGCCStrike15_v2_ClientToGCRequestTicket + (*CMsgGCToClientSteamDatagramTicket)(nil), // 124: CMsgGCToClientSteamDatagramTicket + (*CMsgGCCStrike15V2_ClientRequestOffers)(nil), // 125: CMsgGCCStrike15_v2_ClientRequestOffers + (*CMsgGCCStrike15V2_ClientRequestSouvenir)(nil), // 126: CMsgGCCStrike15_v2_ClientRequestSouvenir + (*CMsgGCCStrike15V2_ClientAccountBalance)(nil), // 127: CMsgGCCStrike15_v2_ClientAccountBalance + (*CMsgGCCStrike15V2_ClientPartyJoinRelay)(nil), // 128: CMsgGCCStrike15_v2_ClientPartyJoinRelay + (*CMsgGCCStrike15V2_ClientPartyWarning)(nil), // 129: CMsgGCCStrike15_v2_ClientPartyWarning + (*CMsgGCCStrike15V2_SetEventFavorite)(nil), // 130: CMsgGCCStrike15_v2_SetEventFavorite + (*CMsgGCCStrike15V2_GetEventFavorites_Request)(nil), // 131: CMsgGCCStrike15_v2_GetEventFavorites_Request + (*CMsgGCCStrike15V2_GetEventFavorites_Response)(nil), // 132: CMsgGCCStrike15_v2_GetEventFavorites_Response + (*CMsgGCCStrike15V2_ClientPerfReport)(nil), // 133: CMsgGCCStrike15_v2_ClientPerfReport + (*CVDiagnostic)(nil), // 134: CVDiagnostic + (*CMsgGCCStrike15V2_ClientReportValidation)(nil), // 135: CMsgGCCStrike15_v2_ClientReportValidation + (*CMsgGCCStrike15V2_GC2ClientRefuseSecureMode)(nil), // 136: CMsgGCCStrike15_v2_GC2ClientRefuseSecureMode + (*CMsgGCCStrike15V2_GC2ClientRequestValidation)(nil), // 137: CMsgGCCStrike15_v2_GC2ClientRequestValidation + (*CMsgGCCStrike15V2_GC2ClientInitSystem)(nil), // 138: CMsgGCCStrike15_v2_GC2ClientInitSystem + (*CMsgGCCStrike15V2_GC2ClientInitSystem_Response)(nil), // 139: CMsgGCCStrike15_v2_GC2ClientInitSystem_Response + (*ScoreLeaderboardData_Entry)(nil), // 140: ScoreLeaderboardData.Entry + (*ScoreLeaderboardData_AccountEntries)(nil), // 141: ScoreLeaderboardData.AccountEntries + (*PlayerQuestData_QuestItemData)(nil), // 142: PlayerQuestData.QuestItemData + (*CMsgGCCStrike15V2_MatchmakingGC2ClientUpdate_Note)(nil), // 143: CMsgGCCStrike15_v2_MatchmakingGC2ClientUpdate.Note + (*CDataGCCStrike15V2_TournamentMatchDraft_Entry)(nil), // 144: CDataGCCStrike15_v2_TournamentMatchDraft.Entry + (*CPreMatchInfoData_TeamStats)(nil), // 145: CPreMatchInfoData.TeamStats + (*CMsgGCCStrike15V2_MatchmakingServerRoundStats_DropInfo)(nil), // 146: CMsgGCCStrike15_v2_MatchmakingServerRoundStats.DropInfo + (*CMsgGCCStrike15V2_AccountPrivacySettings_Setting)(nil), // 147: CMsgGCCStrike15_v2_AccountPrivacySettings.Setting + (*CMsgGCCStrike15_ClientDeepStats_DeepStatsRange)(nil), // 148: CMsgGCCStrike15_ClientDeepStats.DeepStatsRange + (*CMsgGCCStrike15_ClientDeepStats_DeepStatsMatch)(nil), // 149: CMsgGCCStrike15_ClientDeepStats.DeepStatsMatch + (*CEconItemPreviewDataBlock_Sticker)(nil), // 150: CEconItemPreviewDataBlock.Sticker + (*CDataGCCStrike15V2_TournamentGroup_Picks)(nil), // 151: CDataGCCStrike15_v2_TournamentGroup.Picks + (*CMsgGCCStrike15V2_Predictions_GroupMatchTeamPick)(nil), // 152: CMsgGCCStrike15_v2_Predictions.GroupMatchTeamPick + (*CMsgGCCStrike15V2_Fantasy_FantasySlot)(nil), // 153: CMsgGCCStrike15_v2_Fantasy.FantasySlot + (*CMsgGCCStrike15V2_Fantasy_FantasyTeam)(nil), // 154: CMsgGCCStrike15_v2_Fantasy.FantasyTeam + (*CMsgLegacySource1ClientWelcome_Location)(nil), // 155: CMsgLegacySource1ClientWelcome.Location (*CMsgGCCStrike15V2_GiftsLeaderboardResponse_GiftLeaderboardEntry)(nil), // 156: CMsgGCCStrike15_v2_GiftsLeaderboardResponse.GiftLeaderboardEntry (*CMsgGCCStrike15V2_Party_SearchResults_Entry)(nil), // 157: CMsgGCCStrike15_v2_Party_SearchResults.Entry (*CMsgGCCStrike15V2_Account_RequestCoPlays_Player)(nil), // 158: CMsgGCCStrike15_v2_Account_RequestCoPlays.Player (*CMsgGCCStrike15V2_ClientPartyWarning_Entry)(nil), // 159: CMsgGCCStrike15_v2_ClientPartyWarning.Entry (*CMsgGCCStrike15V2_ClientPerfReport_Entry)(nil), // 160: CMsgGCCStrike15_v2_ClientPerfReport.Entry - (*CEngineGotvSyncPacket)(nil), // 161: CEngineGotvSyncPacket + (*CMsgSOCacheSubscribed)(nil), // 161: CMsgSOCacheSubscribed + (*CMsgSOCacheSubscriptionCheck)(nil), // 162: CMsgSOCacheSubscriptionCheck + (*CEngineGotvSyncPacket)(nil), // 163: CEngineGotvSyncPacket } var file_cstrike15_gcmessages_proto_depIdxs = []int32{ 7, // 0: TournamentTeam.players:type_name -> TournamentPlayer 6, // 1: GlobalStatistics.search_statistics:type_name -> DetailedSearchStatistic 12, // 2: OperationalStatisticsPacket.values:type_name -> OperationalStatisticElement - 142, // 3: ScoreLeaderboardData.accountentries:type_name -> ScoreLeaderboardData.AccountEntries - 141, // 4: ScoreLeaderboardData.matchentries:type_name -> ScoreLeaderboardData.Entry - 143, // 5: PlayerQuestData.quest_item_data:type_name -> PlayerQuestData.QuestItemData + 141, // 3: ScoreLeaderboardData.accountentries:type_name -> ScoreLeaderboardData.AccountEntries + 140, // 4: ScoreLeaderboardData.matchentries:type_name -> ScoreLeaderboardData.Entry + 142, // 5: PlayerQuestData.quest_item_data:type_name -> PlayerQuestData.QuestItemData 22, // 6: PlayerQuestData.xp_progress_data:type_name -> XpProgressData 23, // 7: PlayerQuestData.item_updates:type_name -> MatchEndItemUpdates 21, // 8: PlayerQuestData.userstatchanges:type_name -> CMsgCsgoSteamUserStatChange @@ -15243,10 +15387,10 @@ var file_cstrike15_gcmessages_proto_depIdxs = []int32{ 5, // 15: CMsgGCCStrike15_v2_MatchmakingClient2ServerPing.data_center_pings:type_name -> DataCenterPing 10, // 16: CMsgGCCStrike15_v2_MatchmakingGC2ClientUpdate.global_stats:type_name -> GlobalStatistics 20, // 17: CMsgGCCStrike15_v2_MatchmakingGC2ClientUpdate.server_ipaddress_mask:type_name -> IpAddressMask - 144, // 18: CMsgGCCStrike15_v2_MatchmakingGC2ClientUpdate.notes:type_name -> CMsgGCCStrike15_v2_MatchmakingGC2ClientUpdate.Note - 145, // 19: CDataGCCStrike15_v2_TournamentMatchDraft.drafts:type_name -> CDataGCCStrike15_v2_TournamentMatchDraft.Entry + 143, // 18: CMsgGCCStrike15_v2_MatchmakingGC2ClientUpdate.notes:type_name -> CMsgGCCStrike15_v2_MatchmakingGC2ClientUpdate.Note + 144, // 19: CDataGCCStrike15_v2_TournamentMatchDraft.drafts:type_name -> CDataGCCStrike15_v2_TournamentMatchDraft.Entry 36, // 20: CPreMatchInfoData.draft:type_name -> CDataGCCStrike15_v2_TournamentMatchDraft - 146, // 21: CPreMatchInfoData.stats:type_name -> CPreMatchInfoData.TeamStats + 145, // 21: CPreMatchInfoData.stats:type_name -> CPreMatchInfoData.TeamStats 14, // 22: CMsgGCCStrike15_v2_MatchmakingGC2ServerReserve.rankings:type_name -> PlayerRankingInfo 20, // 23: CMsgGCCStrike15_v2_MatchmakingGC2ServerReserve.whitelist:type_name -> IpAddressMask 9, // 24: CMsgGCCStrike15_v2_MatchmakingGC2ServerReserve.tournament_event:type_name -> TournamentEvent @@ -15257,7 +15401,7 @@ var file_cstrike15_gcmessages_proto_depIdxs = []int32{ 38, // 29: CMsgGCCStrike15_v2_MatchmakingGC2ClientReserve.reservation:type_name -> CMsgGCCStrike15_v2_MatchmakingGC2ServerReserve 38, // 30: CMsgGCCStrike15_v2_MatchmakingServerRoundStats.reservation:type_name -> CMsgGCCStrike15_v2_MatchmakingGC2ServerReserve 30, // 31: CMsgGCCStrike15_v2_MatchmakingServerRoundStats.confirm:type_name -> CMsgGCCStrike15_v2_MatchmakingGC2ServerConfirm - 147, // 32: CMsgGCCStrike15_v2_MatchmakingServerRoundStats.drop_info:type_name -> CMsgGCCStrike15_v2_MatchmakingServerRoundStats.DropInfo + 146, // 32: CMsgGCCStrike15_v2_MatchmakingServerRoundStats.drop_info:type_name -> CMsgGCCStrike15_v2_MatchmakingServerRoundStats.DropInfo 40, // 33: CMsgGCCStrike15_v2_MatchmakingGC2ClientHello.ongoingmatch:type_name -> CMsgGCCStrike15_v2_MatchmakingGC2ClientReserve 10, // 34: CMsgGCCStrike15_v2_MatchmakingGC2ClientHello.global_stats:type_name -> GlobalStatistics 14, // 35: CMsgGCCStrike15_v2_MatchmakingGC2ClientHello.ranking:type_name -> PlayerRankingInfo @@ -15269,7 +15413,7 @@ var file_cstrike15_gcmessages_proto_depIdxs = []int32{ 9, // 41: CMsgGCCStrike15_v2_MatchmakingGC2ClientHello.my_current_event_stages:type_name -> TournamentEvent 17, // 42: CMsgGCCStrike15_v2_MatchmakingGC2ClientHello.activity:type_name -> AccountActivity 14, // 43: CMsgGCCStrike15_v2_MatchmakingGC2ClientHello.rankings:type_name -> PlayerRankingInfo - 148, // 44: CMsgGCCStrike15_v2_AccountPrivacySettings.settings:type_name -> CMsgGCCStrike15_v2_AccountPrivacySettings.Setting + 147, // 44: CMsgGCCStrike15_v2_AccountPrivacySettings.settings:type_name -> CMsgGCCStrike15_v2_AccountPrivacySettings.Setting 40, // 45: CMsgGCCStrike15_v2_MatchmakingGC2ClientAbandon.abandoned_match:type_name -> CMsgGCCStrike15_v2_MatchmakingGC2ClientReserve 14, // 46: CMsgGCCStrike15_v2_ClientGCRankUpdate.rankings:type_name -> PlayerRankingInfo 15, // 47: CMsgGCCStrike15_v2_ClientCommendPlayer.commendation:type_name -> PlayerCommendationInfo @@ -15277,50 +15421,52 @@ var file_cstrike15_gcmessages_proto_depIdxs = []int32{ 40, // 49: CMsgGCCStrike15_v2_ClientRequestJoinFriendData.res:type_name -> CMsgGCCStrike15_v2_MatchmakingGC2ClientReserve 40, // 50: CMsgGCCStrike15_v2_ClientRequestJoinServerData.res:type_name -> CMsgGCCStrike15_v2_MatchmakingGC2ClientReserve 22, // 51: CMsgGCCstrike15_v2_GC2ServerNotifyXPRewarded.xp_progress_data:type_name -> XpProgressData - 149, // 52: CMsgGCCStrike15_ClientDeepStats.range:type_name -> CMsgGCCStrike15_ClientDeepStats.DeepStatsRange - 150, // 53: CMsgGCCStrike15_ClientDeepStats.matches:type_name -> CMsgGCCStrike15_ClientDeepStats.DeepStatsMatch + 148, // 52: CMsgGCCStrike15_ClientDeepStats.range:type_name -> CMsgGCCStrike15_ClientDeepStats.DeepStatsRange + 149, // 53: CMsgGCCStrike15_ClientDeepStats.matches:type_name -> CMsgGCCStrike15_ClientDeepStats.DeepStatsMatch 54, // 54: CMsgGCCStrike15_v2_WatchInfoUsers.watchable_match_infos:type_name -> WatchableMatchInfo 43, // 55: CMsgGCCStrike15_v2_PlayersProfile.account_profiles:type_name -> CMsgGCCStrike15_v2_MatchmakingGC2ClientHello 39, // 56: CMsgGCCStrike15_v2_MatchEndRunRewardDrops.serverinfo:type_name -> CMsgGCCStrike15_v2_MatchmakingServerReservationResponse 28, // 57: CMsgGCCStrike15_v2_MatchEndRunRewardDrops.match_end_quest_data:type_name -> CMsgGC_ServerQuestUpdateData - 151, // 58: CEconItemPreviewDataBlock.stickers:type_name -> CEconItemPreviewDataBlock.Sticker + 150, // 58: CEconItemPreviewDataBlock.stickers:type_name -> CEconItemPreviewDataBlock.Sticker 71, // 59: CMsgGCCStrike15_v2_MatchEndRewardDropsNotification.iteminfo:type_name -> CEconItemPreviewDataBlock - 71, // 60: CMsgItemAcknowledged.iteminfo:type_name -> CEconItemPreviewDataBlock - 71, // 61: CMsgGCCStrike15_v2_Client2GCEconPreviewDataBlockResponse.iteminfo:type_name -> CEconItemPreviewDataBlock - 54, // 62: CDataGCCStrike15_v2_MatchInfo.watchablematchinfo:type_name -> WatchableMatchInfo - 41, // 63: CDataGCCStrike15_v2_MatchInfo.roundstats_legacy:type_name -> CMsgGCCStrike15_v2_MatchmakingServerRoundStats - 41, // 64: CDataGCCStrike15_v2_MatchInfo.roundstatsall:type_name -> CMsgGCCStrike15_v2_MatchmakingServerRoundStats - 82, // 65: CDataGCCStrike15_v2_TournamentGroup.teams:type_name -> CDataGCCStrike15_v2_TournamentGroupTeam - 152, // 66: CDataGCCStrike15_v2_TournamentGroup.picks:type_name -> CDataGCCStrike15_v2_TournamentGroup.Picks - 83, // 67: CDataGCCStrike15_v2_TournamentSection.groups:type_name -> CDataGCCStrike15_v2_TournamentGroup - 84, // 68: CDataGCCStrike15_v2_TournamentInfo.sections:type_name -> CDataGCCStrike15_v2_TournamentSection - 9, // 69: CDataGCCStrike15_v2_TournamentInfo.tournament_event:type_name -> TournamentEvent - 8, // 70: CDataGCCStrike15_v2_TournamentInfo.tournament_teams:type_name -> TournamentTeam - 81, // 71: CMsgGCCStrike15_v2_MatchList.matches:type_name -> CDataGCCStrike15_v2_MatchInfo - 8, // 72: CMsgGCCStrike15_v2_MatchList.streams:type_name -> TournamentTeam - 85, // 73: CMsgGCCStrike15_v2_MatchList.tournamentinfo:type_name -> CDataGCCStrike15_v2_TournamentInfo - 81, // 74: CMsgGCCStrike15_v2_MatchListTournamentOperatorMgmt.matches:type_name -> CDataGCCStrike15_v2_MatchInfo - 153, // 75: CMsgGCCStrike15_v2_Predictions.group_match_team_picks:type_name -> CMsgGCCStrike15_v2_Predictions.GroupMatchTeamPick - 155, // 76: CMsgGCCStrike15_v2_Fantasy.teams:type_name -> CMsgGCCStrike15_v2_Fantasy.FantasyTeam - 156, // 77: CMsgGCCStrike15_v2_GiftsLeaderboardResponse.entries:type_name -> CMsgGCCStrike15_v2_GiftsLeaderboardResponse.GiftLeaderboardEntry - 15, // 78: CSOPersonaDataPublic.commendation:type_name -> PlayerCommendationInfo - 161, // 79: CMsgGCCStrike15_GotvSyncPacket.data:type_name -> CEngineGotvSyncPacket - 115, // 80: CMsgGCCStrike15_v2_ClientPlayerDecalSign.data:type_name -> PlayerDecalDigitalSignature - 157, // 81: CMsgGCCStrike15_v2_Party_SearchResults.entries:type_name -> CMsgGCCStrike15_v2_Party_SearchResults.Entry - 158, // 82: CMsgGCCStrike15_v2_Account_RequestCoPlays.players:type_name -> CMsgGCCStrike15_v2_Account_RequestCoPlays.Player - 159, // 83: CMsgGCCStrike15_v2_ClientPartyWarning.entries:type_name -> CMsgGCCStrike15_v2_ClientPartyWarning.Entry - 160, // 84: CMsgGCCStrike15_v2_ClientPerfReport.entries:type_name -> CMsgGCCStrike15_v2_ClientPerfReport.Entry - 135, // 85: CMsgGCCStrike15_v2_ClientReportValidation.diagnostics:type_name -> CVDiagnostic - 3, // 86: CMsgGCCStrike15_v2_GC2ClientInitSystem_Response.einit_result:type_name -> EInitSystemResult - 141, // 87: ScoreLeaderboardData.AccountEntries.entries:type_name -> ScoreLeaderboardData.Entry - 26, // 88: CMsgGCCStrike15_ClientDeepStats.DeepStatsMatch.player:type_name -> DeepPlayerStatsEntry - 27, // 89: CMsgGCCStrike15_ClientDeepStats.DeepStatsMatch.events:type_name -> DeepPlayerMatchEvent - 154, // 90: CMsgGCCStrike15_v2_Fantasy.FantasyTeam.slots:type_name -> CMsgGCCStrike15_v2_Fantasy.FantasySlot - 91, // [91:91] is the sub-list for method output_type - 91, // [91:91] is the sub-list for method input_type - 91, // [91:91] is the sub-list for extension type_name - 91, // [91:91] is the sub-list for extension extendee - 0, // [0:91] is the sub-list for field type_name + 71, // 60: CMsgGCCStrike15_v2_Client2GCEconPreviewDataBlockResponse.iteminfo:type_name -> CEconItemPreviewDataBlock + 54, // 61: CDataGCCStrike15_v2_MatchInfo.watchablematchinfo:type_name -> WatchableMatchInfo + 41, // 62: CDataGCCStrike15_v2_MatchInfo.roundstats_legacy:type_name -> CMsgGCCStrike15_v2_MatchmakingServerRoundStats + 41, // 63: CDataGCCStrike15_v2_MatchInfo.roundstatsall:type_name -> CMsgGCCStrike15_v2_MatchmakingServerRoundStats + 81, // 64: CDataGCCStrike15_v2_TournamentGroup.teams:type_name -> CDataGCCStrike15_v2_TournamentGroupTeam + 151, // 65: CDataGCCStrike15_v2_TournamentGroup.picks:type_name -> CDataGCCStrike15_v2_TournamentGroup.Picks + 82, // 66: CDataGCCStrike15_v2_TournamentSection.groups:type_name -> CDataGCCStrike15_v2_TournamentGroup + 83, // 67: CDataGCCStrike15_v2_TournamentInfo.sections:type_name -> CDataGCCStrike15_v2_TournamentSection + 9, // 68: CDataGCCStrike15_v2_TournamentInfo.tournament_event:type_name -> TournamentEvent + 8, // 69: CDataGCCStrike15_v2_TournamentInfo.tournament_teams:type_name -> TournamentTeam + 80, // 70: CMsgGCCStrike15_v2_MatchList.matches:type_name -> CDataGCCStrike15_v2_MatchInfo + 8, // 71: CMsgGCCStrike15_v2_MatchList.streams:type_name -> TournamentTeam + 84, // 72: CMsgGCCStrike15_v2_MatchList.tournamentinfo:type_name -> CDataGCCStrike15_v2_TournamentInfo + 80, // 73: CMsgGCCStrike15_v2_MatchListTournamentOperatorMgmt.matches:type_name -> CDataGCCStrike15_v2_MatchInfo + 152, // 74: CMsgGCCStrike15_v2_Predictions.group_match_team_picks:type_name -> CMsgGCCStrike15_v2_Predictions.GroupMatchTeamPick + 154, // 75: CMsgGCCStrike15_v2_Fantasy.teams:type_name -> CMsgGCCStrike15_v2_Fantasy.FantasyTeam + 161, // 76: CMsgLegacySource1ClientWelcome.outofdate_subscribed_caches:type_name -> CMsgSOCacheSubscribed + 162, // 77: CMsgLegacySource1ClientWelcome.uptodate_subscribed_caches:type_name -> CMsgSOCacheSubscriptionCheck + 155, // 78: CMsgLegacySource1ClientWelcome.location:type_name -> CMsgLegacySource1ClientWelcome.Location + 156, // 79: CMsgGCCStrike15_v2_GiftsLeaderboardResponse.entries:type_name -> CMsgGCCStrike15_v2_GiftsLeaderboardResponse.GiftLeaderboardEntry + 15, // 80: CSOPersonaDataPublic.commendation:type_name -> PlayerCommendationInfo + 163, // 81: CMsgGCCStrike15_GotvSyncPacket.data:type_name -> CEngineGotvSyncPacket + 114, // 82: CMsgGCCStrike15_v2_ClientPlayerDecalSign.data:type_name -> PlayerDecalDigitalSignature + 157, // 83: CMsgGCCStrike15_v2_Party_SearchResults.entries:type_name -> CMsgGCCStrike15_v2_Party_SearchResults.Entry + 158, // 84: CMsgGCCStrike15_v2_Account_RequestCoPlays.players:type_name -> CMsgGCCStrike15_v2_Account_RequestCoPlays.Player + 159, // 85: CMsgGCCStrike15_v2_ClientPartyWarning.entries:type_name -> CMsgGCCStrike15_v2_ClientPartyWarning.Entry + 160, // 86: CMsgGCCStrike15_v2_ClientPerfReport.entries:type_name -> CMsgGCCStrike15_v2_ClientPerfReport.Entry + 134, // 87: CMsgGCCStrike15_v2_ClientReportValidation.diagnostics:type_name -> CVDiagnostic + 3, // 88: CMsgGCCStrike15_v2_GC2ClientInitSystem_Response.einit_result:type_name -> EInitSystemResult + 140, // 89: ScoreLeaderboardData.AccountEntries.entries:type_name -> ScoreLeaderboardData.Entry + 26, // 90: CMsgGCCStrike15_ClientDeepStats.DeepStatsMatch.player:type_name -> DeepPlayerStatsEntry + 27, // 91: CMsgGCCStrike15_ClientDeepStats.DeepStatsMatch.events:type_name -> DeepPlayerMatchEvent + 153, // 92: CMsgGCCStrike15_v2_Fantasy.FantasyTeam.slots:type_name -> CMsgGCCStrike15_v2_Fantasy.FantasySlot + 93, // [93:93] is the sub-list for method output_type + 93, // [93:93] is the sub-list for method input_type + 93, // [93:93] is the sub-list for extension type_name + 93, // [93:93] is the sub-list for extension extendee + 0, // [0:93] is the sub-list for field type_name } func init() { file_cstrike15_gcmessages_proto_init() } @@ -15330,6 +15476,7 @@ func file_cstrike15_gcmessages_proto_init() { } file_steammessages_proto_init() file_engine_gcmessages_proto_init() + file_gcsdk_gcmessages_proto_init() if !protoimpl.UnsafeEnabled { file_cstrike15_gcmessages_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GameServerPing); i { @@ -16160,7 +16307,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[69].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgItemAcknowledged); i { + switch v := v.(*CMsgGCCStrike15V2_Client2GCEconPreviewDataBlockRequest); i { case 0: return &v.state case 1: @@ -16172,7 +16319,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[70].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCCStrike15V2_Client2GCEconPreviewDataBlockRequest); i { + switch v := v.(*CMsgGCCStrike15V2_Client2GCEconPreviewDataBlockResponse); i { case 0: return &v.state case 1: @@ -16184,7 +16331,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[71].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCCStrike15V2_Client2GCEconPreviewDataBlockResponse); i { + switch v := v.(*CMsgGCCStrike15V2_MatchListRequestCurrentLiveGames); i { case 0: return &v.state case 1: @@ -16196,7 +16343,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[72].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCCStrike15V2_MatchListRequestCurrentLiveGames); i { + switch v := v.(*CMsgGCCStrike15V2_MatchListRequestLiveGameForUser); i { case 0: return &v.state case 1: @@ -16208,7 +16355,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[73].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCCStrike15V2_MatchListRequestLiveGameForUser); i { + switch v := v.(*CMsgGCCStrike15V2_MatchListRequestRecentUserGames); i { case 0: return &v.state case 1: @@ -16220,7 +16367,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[74].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCCStrike15V2_MatchListRequestRecentUserGames); i { + switch v := v.(*CMsgGCCStrike15V2_MatchListRequestTournamentGames); i { case 0: return &v.state case 1: @@ -16232,7 +16379,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[75].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCCStrike15V2_MatchListRequestTournamentGames); i { + switch v := v.(*CMsgGCCStrike15V2_MatchListRequestFullGameInfo); i { case 0: return &v.state case 1: @@ -16244,7 +16391,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[76].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCCStrike15V2_MatchListRequestFullGameInfo); i { + switch v := v.(*CDataGCCStrike15V2_MatchInfo); i { case 0: return &v.state case 1: @@ -16256,7 +16403,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[77].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CDataGCCStrike15V2_MatchInfo); i { + switch v := v.(*CDataGCCStrike15V2_TournamentGroupTeam); i { case 0: return &v.state case 1: @@ -16268,7 +16415,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[78].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CDataGCCStrike15V2_TournamentGroupTeam); i { + switch v := v.(*CDataGCCStrike15V2_TournamentGroup); i { case 0: return &v.state case 1: @@ -16280,7 +16427,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[79].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CDataGCCStrike15V2_TournamentGroup); i { + switch v := v.(*CDataGCCStrike15V2_TournamentSection); i { case 0: return &v.state case 1: @@ -16292,7 +16439,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[80].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CDataGCCStrike15V2_TournamentSection); i { + switch v := v.(*CDataGCCStrike15V2_TournamentInfo); i { case 0: return &v.state case 1: @@ -16304,7 +16451,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[81].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CDataGCCStrike15V2_TournamentInfo); i { + switch v := v.(*CMsgGCCStrike15V2_MatchList); i { case 0: return &v.state case 1: @@ -16316,7 +16463,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[82].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCCStrike15V2_MatchList); i { + switch v := v.(*CMsgGCCStrike15V2_MatchListTournamentOperatorMgmt); i { case 0: return &v.state case 1: @@ -16328,7 +16475,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[83].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCCStrike15V2_MatchListTournamentOperatorMgmt); i { + switch v := v.(*CMsgGCCStrike15V2_Predictions); i { case 0: return &v.state case 1: @@ -16340,7 +16487,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[84].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCCStrike15V2_Predictions); i { + switch v := v.(*CMsgGCCStrike15V2_Fantasy); i { case 0: return &v.state case 1: @@ -16352,7 +16499,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[85].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCCStrike15V2_Fantasy); i { + switch v := v.(*CMsgLegacySource1ClientWelcome); i { case 0: return &v.state case 1: @@ -16364,7 +16511,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[86].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CAttribute_String); i { + switch v := v.(*CMsgCStrike15Welcome); i { case 0: return &v.state case 1: @@ -16376,7 +16523,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[87].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgCStrike15Welcome); i { + switch v := v.(*CMsgGCCStrike15V2_ClientVarValueNotificationInfo); i { case 0: return &v.state case 1: @@ -16388,7 +16535,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[88].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCCStrike15V2_ClientVarValueNotificationInfo); i { + switch v := v.(*CMsgGCCStrike15V2_ServerVarValueNotificationInfo); i { case 0: return &v.state case 1: @@ -16400,7 +16547,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[89].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCCStrike15V2_ServerVarValueNotificationInfo); i { + switch v := v.(*CMsgGCCStrike15V2_GiftsLeaderboardRequest); i { case 0: return &v.state case 1: @@ -16412,7 +16559,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[90].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCCStrike15V2_GiftsLeaderboardRequest); i { + switch v := v.(*CMsgGCCStrike15V2_GiftsLeaderboardResponse); i { case 0: return &v.state case 1: @@ -16424,7 +16571,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[91].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCCStrike15V2_GiftsLeaderboardResponse); i { + switch v := v.(*CMsgGCCStrike15V2_ClientSubmitSurveyVote); i { case 0: return &v.state case 1: @@ -16436,7 +16583,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[92].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCCStrike15V2_ClientSubmitSurveyVote); i { + switch v := v.(*CMsgGCCStrike15V2_Server2GCClientValidate); i { case 0: return &v.state case 1: @@ -16448,7 +16595,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[93].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCCStrike15V2_Server2GCClientValidate); i { + switch v := v.(*CMsgGCCStrike15V2_GC2ClientTournamentInfo); i { case 0: return &v.state case 1: @@ -16460,7 +16607,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[94].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCCStrike15V2_GC2ClientTournamentInfo); i { + switch v := v.(*CSOEconCoupon); i { case 0: return &v.state case 1: @@ -16472,7 +16619,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[95].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CSOEconCoupon); i { + switch v := v.(*CSOQuestProgress); i { case 0: return &v.state case 1: @@ -16484,7 +16631,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[96].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CSOQuestProgress); i { + switch v := v.(*CSOAccountSeasonalOperation); i { case 0: return &v.state case 1: @@ -16496,7 +16643,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[97].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CSOAccountSeasonalOperation); i { + switch v := v.(*CSOAccountRecurringSubscription); i { case 0: return &v.state case 1: @@ -16508,7 +16655,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[98].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CSOAccountRecurringSubscription); i { + switch v := v.(*CSOPersonaDataPublic); i { case 0: return &v.state case 1: @@ -16520,7 +16667,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[99].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CSOPersonaDataPublic); i { + switch v := v.(*CMsgGC_GlobalGame_Subscribe); i { case 0: return &v.state case 1: @@ -16532,7 +16679,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[100].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGC_GlobalGame_Subscribe); i { + switch v := v.(*CMsgGC_GlobalGame_Unsubscribe); i { case 0: return &v.state case 1: @@ -16544,7 +16691,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[101].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGC_GlobalGame_Unsubscribe); i { + switch v := v.(*CMsgGC_GlobalGame_Play); i { case 0: return &v.state case 1: @@ -16556,7 +16703,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[102].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGC_GlobalGame_Play); i { + switch v := v.(*CMsgGCCStrike15V2_AcknowledgePenalty); i { case 0: return &v.state case 1: @@ -16568,7 +16715,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[103].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCCStrike15V2_AcknowledgePenalty); i { + switch v := v.(*CMsgGCCStrike15V2_Client2GCRequestPrestigeCoin); i { case 0: return &v.state case 1: @@ -16580,7 +16727,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[104].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCCStrike15V2_Client2GCRequestPrestigeCoin); i { + switch v := v.(*CMsgGCCStrike15V2_Client2GCStreamUnlock); i { case 0: return &v.state case 1: @@ -16592,7 +16739,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[105].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCCStrike15V2_Client2GCStreamUnlock); i { + switch v := v.(*CMsgGCCStrike15V2_ClientToGCRequestElevate); i { case 0: return &v.state case 1: @@ -16604,7 +16751,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[106].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCCStrike15V2_ClientToGCRequestElevate); i { + switch v := v.(*CMsgGCCStrike15V2_ClientToGCChat); i { case 0: return &v.state case 1: @@ -16616,7 +16763,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[107].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCCStrike15V2_ClientToGCChat); i { + switch v := v.(*CMsgGCCStrike15V2_GCToClientChat); i { case 0: return &v.state case 1: @@ -16628,7 +16775,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[108].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCCStrike15V2_GCToClientChat); i { + switch v := v.(*CMsgGCCStrike15V2_ClientAuthKeyCode); i { case 0: return &v.state case 1: @@ -16640,7 +16787,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[109].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCCStrike15V2_ClientAuthKeyCode); i { + switch v := v.(*CMsgGCCStrike15_GotvSyncPacket); i { case 0: return &v.state case 1: @@ -16652,7 +16799,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[110].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCCStrike15_GotvSyncPacket); i { + switch v := v.(*PlayerDecalDigitalSignature); i { case 0: return &v.state case 1: @@ -16664,7 +16811,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[111].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PlayerDecalDigitalSignature); i { + switch v := v.(*CMsgGCCStrike15V2_ClientPlayerDecalSign); i { case 0: return &v.state case 1: @@ -16676,7 +16823,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[112].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCCStrike15V2_ClientPlayerDecalSign); i { + switch v := v.(*CMsgGCCStrike15V2_ClientLogonFatalError); i { case 0: return &v.state case 1: @@ -16688,7 +16835,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[113].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCCStrike15V2_ClientLogonFatalError); i { + switch v := v.(*CMsgGCCStrike15V2_ClientPollState); i { case 0: return &v.state case 1: @@ -16700,7 +16847,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[114].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCCStrike15V2_ClientPollState); i { + switch v := v.(*CMsgGCCStrike15V2_Party_Register); i { case 0: return &v.state case 1: @@ -16712,7 +16859,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[115].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCCStrike15V2_Party_Register); i { + switch v := v.(*CMsgGCCStrike15V2_Party_Search); i { case 0: return &v.state case 1: @@ -16724,7 +16871,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[116].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCCStrike15V2_Party_Search); i { + switch v := v.(*CMsgGCCStrike15V2_Party_SearchResults); i { case 0: return &v.state case 1: @@ -16736,7 +16883,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[117].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCCStrike15V2_Party_SearchResults); i { + switch v := v.(*CMsgGCCStrike15V2_Party_Invite); i { case 0: return &v.state case 1: @@ -16748,7 +16895,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[118].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCCStrike15V2_Party_Invite); i { + switch v := v.(*CMsgGCCStrike15V2_Account_RequestCoPlays); i { case 0: return &v.state case 1: @@ -16760,7 +16907,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[119].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCCStrike15V2_Account_RequestCoPlays); i { + switch v := v.(*CMsgGCCStrike15V2_ClientToGCRequestTicket); i { case 0: return &v.state case 1: @@ -16772,7 +16919,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[120].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCCStrike15V2_ClientToGCRequestTicket); i { + switch v := v.(*CMsgGCToClientSteamDatagramTicket); i { case 0: return &v.state case 1: @@ -16784,7 +16931,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[121].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCToClientSteamDatagramTicket); i { + switch v := v.(*CMsgGCCStrike15V2_ClientRequestOffers); i { case 0: return &v.state case 1: @@ -16796,7 +16943,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[122].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCCStrike15V2_ClientRequestOffers); i { + switch v := v.(*CMsgGCCStrike15V2_ClientRequestSouvenir); i { case 0: return &v.state case 1: @@ -16808,7 +16955,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[123].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCCStrike15V2_ClientRequestSouvenir); i { + switch v := v.(*CMsgGCCStrike15V2_ClientAccountBalance); i { case 0: return &v.state case 1: @@ -16820,7 +16967,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[124].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCCStrike15V2_ClientAccountBalance); i { + switch v := v.(*CMsgGCCStrike15V2_ClientPartyJoinRelay); i { case 0: return &v.state case 1: @@ -16832,7 +16979,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[125].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCCStrike15V2_ClientPartyJoinRelay); i { + switch v := v.(*CMsgGCCStrike15V2_ClientPartyWarning); i { case 0: return &v.state case 1: @@ -16844,7 +16991,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[126].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCCStrike15V2_ClientPartyWarning); i { + switch v := v.(*CMsgGCCStrike15V2_SetEventFavorite); i { case 0: return &v.state case 1: @@ -16856,7 +17003,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[127].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCCStrike15V2_SetEventFavorite); i { + switch v := v.(*CMsgGCCStrike15V2_GetEventFavorites_Request); i { case 0: return &v.state case 1: @@ -16868,7 +17015,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[128].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCCStrike15V2_GetEventFavorites_Request); i { + switch v := v.(*CMsgGCCStrike15V2_GetEventFavorites_Response); i { case 0: return &v.state case 1: @@ -16880,7 +17027,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[129].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCCStrike15V2_GetEventFavorites_Response); i { + switch v := v.(*CMsgGCCStrike15V2_ClientPerfReport); i { case 0: return &v.state case 1: @@ -16892,7 +17039,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[130].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCCStrike15V2_ClientPerfReport); i { + switch v := v.(*CVDiagnostic); i { case 0: return &v.state case 1: @@ -16904,7 +17051,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[131].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CVDiagnostic); i { + switch v := v.(*CMsgGCCStrike15V2_ClientReportValidation); i { case 0: return &v.state case 1: @@ -16916,7 +17063,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[132].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCCStrike15V2_ClientReportValidation); i { + switch v := v.(*CMsgGCCStrike15V2_GC2ClientRefuseSecureMode); i { case 0: return &v.state case 1: @@ -16928,7 +17075,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[133].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCCStrike15V2_GC2ClientRefuseSecureMode); i { + switch v := v.(*CMsgGCCStrike15V2_GC2ClientRequestValidation); i { case 0: return &v.state case 1: @@ -16940,7 +17087,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[134].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCCStrike15V2_GC2ClientRequestValidation); i { + switch v := v.(*CMsgGCCStrike15V2_GC2ClientInitSystem); i { case 0: return &v.state case 1: @@ -16952,7 +17099,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[135].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCCStrike15V2_GC2ClientInitSystem); i { + switch v := v.(*CMsgGCCStrike15V2_GC2ClientInitSystem_Response); i { case 0: return &v.state case 1: @@ -16964,7 +17111,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[136].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCCStrike15V2_GC2ClientInitSystem_Response); i { + switch v := v.(*ScoreLeaderboardData_Entry); i { case 0: return &v.state case 1: @@ -16976,7 +17123,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[137].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ScoreLeaderboardData_Entry); i { + switch v := v.(*ScoreLeaderboardData_AccountEntries); i { case 0: return &v.state case 1: @@ -16988,7 +17135,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[138].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ScoreLeaderboardData_AccountEntries); i { + switch v := v.(*PlayerQuestData_QuestItemData); i { case 0: return &v.state case 1: @@ -17000,7 +17147,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[139].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PlayerQuestData_QuestItemData); i { + switch v := v.(*CMsgGCCStrike15V2_MatchmakingGC2ClientUpdate_Note); i { case 0: return &v.state case 1: @@ -17012,7 +17159,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[140].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCCStrike15V2_MatchmakingGC2ClientUpdate_Note); i { + switch v := v.(*CDataGCCStrike15V2_TournamentMatchDraft_Entry); i { case 0: return &v.state case 1: @@ -17024,7 +17171,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[141].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CDataGCCStrike15V2_TournamentMatchDraft_Entry); i { + switch v := v.(*CPreMatchInfoData_TeamStats); i { case 0: return &v.state case 1: @@ -17036,7 +17183,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[142].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CPreMatchInfoData_TeamStats); i { + switch v := v.(*CMsgGCCStrike15V2_MatchmakingServerRoundStats_DropInfo); i { case 0: return &v.state case 1: @@ -17048,7 +17195,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[143].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCCStrike15V2_MatchmakingServerRoundStats_DropInfo); i { + switch v := v.(*CMsgGCCStrike15V2_AccountPrivacySettings_Setting); i { case 0: return &v.state case 1: @@ -17060,7 +17207,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[144].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCCStrike15V2_AccountPrivacySettings_Setting); i { + switch v := v.(*CMsgGCCStrike15_ClientDeepStats_DeepStatsRange); i { case 0: return &v.state case 1: @@ -17072,7 +17219,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[145].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCCStrike15_ClientDeepStats_DeepStatsRange); i { + switch v := v.(*CMsgGCCStrike15_ClientDeepStats_DeepStatsMatch); i { case 0: return &v.state case 1: @@ -17084,7 +17231,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[146].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCCStrike15_ClientDeepStats_DeepStatsMatch); i { + switch v := v.(*CEconItemPreviewDataBlock_Sticker); i { case 0: return &v.state case 1: @@ -17096,7 +17243,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[147].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CEconItemPreviewDataBlock_Sticker); i { + switch v := v.(*CDataGCCStrike15V2_TournamentGroup_Picks); i { case 0: return &v.state case 1: @@ -17108,7 +17255,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[148].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CDataGCCStrike15V2_TournamentGroup_Picks); i { + switch v := v.(*CMsgGCCStrike15V2_Predictions_GroupMatchTeamPick); i { case 0: return &v.state case 1: @@ -17120,7 +17267,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[149].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCCStrike15V2_Predictions_GroupMatchTeamPick); i { + switch v := v.(*CMsgGCCStrike15V2_Fantasy_FantasySlot); i { case 0: return &v.state case 1: @@ -17132,7 +17279,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[150].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCCStrike15V2_Fantasy_FantasySlot); i { + switch v := v.(*CMsgGCCStrike15V2_Fantasy_FantasyTeam); i { case 0: return &v.state case 1: @@ -17144,7 +17291,7 @@ func file_cstrike15_gcmessages_proto_init() { } } file_cstrike15_gcmessages_proto_msgTypes[151].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgGCCStrike15V2_Fantasy_FantasyTeam); i { + switch v := v.(*CMsgLegacySource1ClientWelcome_Location); i { case 0: return &v.state case 1: diff --git a/pkg/demoinfocs/msg/cstrike15_usermessages.pb.go b/pkg/demoinfocs/msg/cstrike15_usermessages.pb.go index d3eb9ba8..905243ed 100644 --- a/pkg/demoinfocs/msg/cstrike15_usermessages.pb.go +++ b/pkg/demoinfocs/msg/cstrike15_usermessages.pb.go @@ -9,7 +9,6 @@ package msg import ( protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" - _ "google.golang.org/protobuf/types/descriptorpb" reflect "reflect" sync "sync" ) @@ -24,241 +23,241 @@ const ( type ECstrike15UserMessages int32 const ( - ECstrike15UserMessages_CS_UM_VGUIMenu ECstrike15UserMessages = 1 - ECstrike15UserMessages_CS_UM_Geiger ECstrike15UserMessages = 2 - ECstrike15UserMessages_CS_UM_Train ECstrike15UserMessages = 3 - ECstrike15UserMessages_CS_UM_HudText ECstrike15UserMessages = 4 - ECstrike15UserMessages_CS_UM_SayText ECstrike15UserMessages = 5 - ECstrike15UserMessages_CS_UM_SayText2 ECstrike15UserMessages = 6 - ECstrike15UserMessages_CS_UM_TextMsg ECstrike15UserMessages = 7 - ECstrike15UserMessages_CS_UM_HudMsg ECstrike15UserMessages = 8 - ECstrike15UserMessages_CS_UM_ResetHud ECstrike15UserMessages = 9 - ECstrike15UserMessages_CS_UM_GameTitle ECstrike15UserMessages = 10 - ECstrike15UserMessages_CS_UM_Shake ECstrike15UserMessages = 12 - ECstrike15UserMessages_CS_UM_Fade ECstrike15UserMessages = 13 - ECstrike15UserMessages_CS_UM_Rumble ECstrike15UserMessages = 14 - ECstrike15UserMessages_CS_UM_CloseCaption ECstrike15UserMessages = 15 - ECstrike15UserMessages_CS_UM_CloseCaptionDirect ECstrike15UserMessages = 16 - ECstrike15UserMessages_CS_UM_SendAudio ECstrike15UserMessages = 17 - ECstrike15UserMessages_CS_UM_RawAudio ECstrike15UserMessages = 18 - ECstrike15UserMessages_CS_UM_VoiceMask ECstrike15UserMessages = 19 - ECstrike15UserMessages_CS_UM_RequestState ECstrike15UserMessages = 20 - ECstrike15UserMessages_CS_UM_Damage ECstrike15UserMessages = 21 - ECstrike15UserMessages_CS_UM_RadioText ECstrike15UserMessages = 22 - ECstrike15UserMessages_CS_UM_HintText ECstrike15UserMessages = 23 - ECstrike15UserMessages_CS_UM_KeyHintText ECstrike15UserMessages = 24 - ECstrike15UserMessages_CS_UM_ProcessSpottedEntityUpdate ECstrike15UserMessages = 25 - ECstrike15UserMessages_CS_UM_ReloadEffect ECstrike15UserMessages = 26 - ECstrike15UserMessages_CS_UM_AdjustMoney ECstrike15UserMessages = 27 - ECstrike15UserMessages_CS_UM_UpdateTeamMoney ECstrike15UserMessages = 28 - ECstrike15UserMessages_CS_UM_StopSpectatorMode ECstrike15UserMessages = 29 - ECstrike15UserMessages_CS_UM_KillCam ECstrike15UserMessages = 30 - ECstrike15UserMessages_CS_UM_DesiredTimescale ECstrike15UserMessages = 31 - ECstrike15UserMessages_CS_UM_CurrentTimescale ECstrike15UserMessages = 32 - ECstrike15UserMessages_CS_UM_AchievementEvent ECstrike15UserMessages = 33 - ECstrike15UserMessages_CS_UM_MatchEndConditions ECstrike15UserMessages = 34 - ECstrike15UserMessages_CS_UM_DisconnectToLobby ECstrike15UserMessages = 35 - ECstrike15UserMessages_CS_UM_PlayerStatsUpdate ECstrike15UserMessages = 36 - ECstrike15UserMessages_CS_UM_DisplayInventory ECstrike15UserMessages = 37 - ECstrike15UserMessages_CS_UM_WarmupHasEnded ECstrike15UserMessages = 38 - ECstrike15UserMessages_CS_UM_ClientInfo ECstrike15UserMessages = 39 - ECstrike15UserMessages_CS_UM_XRankGet ECstrike15UserMessages = 40 - ECstrike15UserMessages_CS_UM_XRankUpd ECstrike15UserMessages = 41 - ECstrike15UserMessages_CS_UM_CallVoteFailed ECstrike15UserMessages = 45 - ECstrike15UserMessages_CS_UM_VoteStart ECstrike15UserMessages = 46 - ECstrike15UserMessages_CS_UM_VotePass ECstrike15UserMessages = 47 - ECstrike15UserMessages_CS_UM_VoteFailed ECstrike15UserMessages = 48 - ECstrike15UserMessages_CS_UM_VoteSetup ECstrike15UserMessages = 49 - ECstrike15UserMessages_CS_UM_ServerRankRevealAll ECstrike15UserMessages = 50 - ECstrike15UserMessages_CS_UM_SendLastKillerDamageToClient ECstrike15UserMessages = 51 - ECstrike15UserMessages_CS_UM_ServerRankUpdate ECstrike15UserMessages = 52 - ECstrike15UserMessages_CS_UM_ItemPickup ECstrike15UserMessages = 53 - ECstrike15UserMessages_CS_UM_ShowMenu ECstrike15UserMessages = 54 - ECstrike15UserMessages_CS_UM_BarTime ECstrike15UserMessages = 55 - ECstrike15UserMessages_CS_UM_AmmoDenied ECstrike15UserMessages = 56 - ECstrike15UserMessages_CS_UM_MarkAchievement ECstrike15UserMessages = 57 - ECstrike15UserMessages_CS_UM_MatchStatsUpdate ECstrike15UserMessages = 58 - ECstrike15UserMessages_CS_UM_ItemDrop ECstrike15UserMessages = 59 - ECstrike15UserMessages_CS_UM_GlowPropTurnOff ECstrike15UserMessages = 60 - ECstrike15UserMessages_CS_UM_SendPlayerItemDrops ECstrike15UserMessages = 61 - ECstrike15UserMessages_CS_UM_RoundBackupFilenames ECstrike15UserMessages = 62 - ECstrike15UserMessages_CS_UM_SendPlayerItemFound ECstrike15UserMessages = 63 - ECstrike15UserMessages_CS_UM_ReportHit ECstrike15UserMessages = 64 - ECstrike15UserMessages_CS_UM_XpUpdate ECstrike15UserMessages = 65 - ECstrike15UserMessages_CS_UM_QuestProgress ECstrike15UserMessages = 66 - ECstrike15UserMessages_CS_UM_ScoreLeaderboardData ECstrike15UserMessages = 67 - ECstrike15UserMessages_CS_UM_PlayerDecalDigitalSignature ECstrike15UserMessages = 68 - ECstrike15UserMessages_CS_UM_WeaponSound ECstrike15UserMessages = 69 - ECstrike15UserMessages_CS_UM_UpdateScreenHealthBar ECstrike15UserMessages = 70 - ECstrike15UserMessages_CS_UM_EntityOutlineHighlight ECstrike15UserMessages = 71 - ECstrike15UserMessages_CS_UM_SSUI ECstrike15UserMessages = 72 - ECstrike15UserMessages_CS_UM_SurvivalStats ECstrike15UserMessages = 73 - ECstrike15UserMessages_CS_UM_DisconnectToLobby2 ECstrike15UserMessages = 74 - ECstrike15UserMessages_CS_UM_EndOfMatchAllPlayersData ECstrike15UserMessages = 75 - ECstrike15UserMessages_CS_UM_RoundImpactScoreData ECstrike15UserMessages = 79 - ECstrike15UserMessages_CS_UM_CurrentRoundOdds ECstrike15UserMessages = 80 - ECstrike15UserMessages_CS_UM_DeepStats ECstrike15UserMessages = 81 - ECstrike15UserMessages_CS_UM_UtilMsg ECstrike15UserMessages = 82 - ECstrike15UserMessages_CS_UM_UtilMsg_Response ECstrike15UserMessages = 83 + ECstrike15UserMessages_CS_UM_VGUIMenu ECstrike15UserMessages = 301 + ECstrike15UserMessages_CS_UM_Geiger ECstrike15UserMessages = 302 + ECstrike15UserMessages_CS_UM_Train ECstrike15UserMessages = 303 + ECstrike15UserMessages_CS_UM_HudText ECstrike15UserMessages = 304 + ECstrike15UserMessages_CS_UM_SayText ECstrike15UserMessages = 305 + ECstrike15UserMessages_CS_UM_SayText2 ECstrike15UserMessages = 306 + ECstrike15UserMessages_CS_UM_TextMsg ECstrike15UserMessages = 307 + ECstrike15UserMessages_CS_UM_HudMsg ECstrike15UserMessages = 308 + ECstrike15UserMessages_CS_UM_ResetHud ECstrike15UserMessages = 309 + ECstrike15UserMessages_CS_UM_GameTitle ECstrike15UserMessages = 310 + ECstrike15UserMessages_CS_UM_Shake ECstrike15UserMessages = 312 + ECstrike15UserMessages_CS_UM_Fade ECstrike15UserMessages = 313 + ECstrike15UserMessages_CS_UM_Rumble ECstrike15UserMessages = 314 + ECstrike15UserMessages_CS_UM_CloseCaption ECstrike15UserMessages = 315 + ECstrike15UserMessages_CS_UM_CloseCaptionDirect ECstrike15UserMessages = 316 + ECstrike15UserMessages_CS_UM_SendAudio ECstrike15UserMessages = 317 + ECstrike15UserMessages_CS_UM_RawAudio ECstrike15UserMessages = 318 + ECstrike15UserMessages_CS_UM_VoiceMask ECstrike15UserMessages = 319 + ECstrike15UserMessages_CS_UM_RequestState ECstrike15UserMessages = 320 + ECstrike15UserMessages_CS_UM_Damage ECstrike15UserMessages = 321 + ECstrike15UserMessages_CS_UM_RadioText ECstrike15UserMessages = 322 + ECstrike15UserMessages_CS_UM_HintText ECstrike15UserMessages = 323 + ECstrike15UserMessages_CS_UM_KeyHintText ECstrike15UserMessages = 324 + ECstrike15UserMessages_CS_UM_ProcessSpottedEntityUpdate ECstrike15UserMessages = 325 + ECstrike15UserMessages_CS_UM_ReloadEffect ECstrike15UserMessages = 326 + ECstrike15UserMessages_CS_UM_AdjustMoney ECstrike15UserMessages = 327 + ECstrike15UserMessages_CS_UM_UpdateTeamMoney ECstrike15UserMessages = 328 + ECstrike15UserMessages_CS_UM_StopSpectatorMode ECstrike15UserMessages = 329 + ECstrike15UserMessages_CS_UM_KillCam ECstrike15UserMessages = 330 + ECstrike15UserMessages_CS_UM_DesiredTimescale ECstrike15UserMessages = 331 + ECstrike15UserMessages_CS_UM_CurrentTimescale ECstrike15UserMessages = 332 + ECstrike15UserMessages_CS_UM_AchievementEvent ECstrike15UserMessages = 333 + ECstrike15UserMessages_CS_UM_MatchEndConditions ECstrike15UserMessages = 334 + ECstrike15UserMessages_CS_UM_DisconnectToLobby ECstrike15UserMessages = 335 + ECstrike15UserMessages_CS_UM_PlayerStatsUpdate ECstrike15UserMessages = 336 + ECstrike15UserMessages_CS_UM_WarmupHasEnded ECstrike15UserMessages = 338 + ECstrike15UserMessages_CS_UM_ClientInfo ECstrike15UserMessages = 339 + ECstrike15UserMessages_CS_UM_XRankGet ECstrike15UserMessages = 340 + ECstrike15UserMessages_CS_UM_XRankUpd ECstrike15UserMessages = 341 + ECstrike15UserMessages_CS_UM_CallVoteFailed ECstrike15UserMessages = 345 + ECstrike15UserMessages_CS_UM_VoteStart ECstrike15UserMessages = 346 + ECstrike15UserMessages_CS_UM_VotePass ECstrike15UserMessages = 347 + ECstrike15UserMessages_CS_UM_VoteFailed ECstrike15UserMessages = 348 + ECstrike15UserMessages_CS_UM_VoteSetup ECstrike15UserMessages = 349 + ECstrike15UserMessages_CS_UM_ServerRankRevealAll ECstrike15UserMessages = 350 + ECstrike15UserMessages_CS_UM_SendLastKillerDamageToClient ECstrike15UserMessages = 351 + ECstrike15UserMessages_CS_UM_ServerRankUpdate ECstrike15UserMessages = 352 + ECstrike15UserMessages_CS_UM_ItemPickup ECstrike15UserMessages = 353 + ECstrike15UserMessages_CS_UM_ShowMenu ECstrike15UserMessages = 354 + ECstrike15UserMessages_CS_UM_BarTime ECstrike15UserMessages = 355 + ECstrike15UserMessages_CS_UM_AmmoDenied ECstrike15UserMessages = 356 + ECstrike15UserMessages_CS_UM_MarkAchievement ECstrike15UserMessages = 357 + ECstrike15UserMessages_CS_UM_MatchStatsUpdate ECstrike15UserMessages = 358 + ECstrike15UserMessages_CS_UM_ItemDrop ECstrike15UserMessages = 359 + ECstrike15UserMessages_CS_UM_GlowPropTurnOff ECstrike15UserMessages = 360 + ECstrike15UserMessages_CS_UM_SendPlayerItemDrops ECstrike15UserMessages = 361 + ECstrike15UserMessages_CS_UM_RoundBackupFilenames ECstrike15UserMessages = 362 + ECstrike15UserMessages_CS_UM_SendPlayerItemFound ECstrike15UserMessages = 363 + ECstrike15UserMessages_CS_UM_ReportHit ECstrike15UserMessages = 364 + ECstrike15UserMessages_CS_UM_XpUpdate ECstrike15UserMessages = 365 + ECstrike15UserMessages_CS_UM_QuestProgress ECstrike15UserMessages = 366 + ECstrike15UserMessages_CS_UM_ScoreLeaderboardData ECstrike15UserMessages = 367 + ECstrike15UserMessages_CS_UM_PlayerDecalDigitalSignature ECstrike15UserMessages = 368 + ECstrike15UserMessages_CS_UM_WeaponSound ECstrike15UserMessages = 369 + ECstrike15UserMessages_CS_UM_UpdateScreenHealthBar ECstrike15UserMessages = 370 + ECstrike15UserMessages_CS_UM_EntityOutlineHighlight ECstrike15UserMessages = 371 + ECstrike15UserMessages_CS_UM_SSUI ECstrike15UserMessages = 372 + ECstrike15UserMessages_CS_UM_SurvivalStats ECstrike15UserMessages = 373 + ECstrike15UserMessages_CS_UM_DisconnectToLobby2 ECstrike15UserMessages = 374 + ECstrike15UserMessages_CS_UM_EndOfMatchAllPlayersData ECstrike15UserMessages = 375 + ECstrike15UserMessages_CS_UM_PostRoundDamageReport ECstrike15UserMessages = 376 + ECstrike15UserMessages_CS_UM_RoundEndReportData ECstrike15UserMessages = 379 + ECstrike15UserMessages_CS_UM_CurrentRoundOdds ECstrike15UserMessages = 380 + ECstrike15UserMessages_CS_UM_DeepStats ECstrike15UserMessages = 381 + ECstrike15UserMessages_CS_UM_UtilMsg ECstrike15UserMessages = 382 + ECstrike15UserMessages_CS_UM_ShootInfo ECstrike15UserMessages = 383 ) // Enum value maps for ECstrike15UserMessages. var ( ECstrike15UserMessages_name = map[int32]string{ - 1: "CS_UM_VGUIMenu", - 2: "CS_UM_Geiger", - 3: "CS_UM_Train", - 4: "CS_UM_HudText", - 5: "CS_UM_SayText", - 6: "CS_UM_SayText2", - 7: "CS_UM_TextMsg", - 8: "CS_UM_HudMsg", - 9: "CS_UM_ResetHud", - 10: "CS_UM_GameTitle", - 12: "CS_UM_Shake", - 13: "CS_UM_Fade", - 14: "CS_UM_Rumble", - 15: "CS_UM_CloseCaption", - 16: "CS_UM_CloseCaptionDirect", - 17: "CS_UM_SendAudio", - 18: "CS_UM_RawAudio", - 19: "CS_UM_VoiceMask", - 20: "CS_UM_RequestState", - 21: "CS_UM_Damage", - 22: "CS_UM_RadioText", - 23: "CS_UM_HintText", - 24: "CS_UM_KeyHintText", - 25: "CS_UM_ProcessSpottedEntityUpdate", - 26: "CS_UM_ReloadEffect", - 27: "CS_UM_AdjustMoney", - 28: "CS_UM_UpdateTeamMoney", - 29: "CS_UM_StopSpectatorMode", - 30: "CS_UM_KillCam", - 31: "CS_UM_DesiredTimescale", - 32: "CS_UM_CurrentTimescale", - 33: "CS_UM_AchievementEvent", - 34: "CS_UM_MatchEndConditions", - 35: "CS_UM_DisconnectToLobby", - 36: "CS_UM_PlayerStatsUpdate", - 37: "CS_UM_DisplayInventory", - 38: "CS_UM_WarmupHasEnded", - 39: "CS_UM_ClientInfo", - 40: "CS_UM_XRankGet", - 41: "CS_UM_XRankUpd", - 45: "CS_UM_CallVoteFailed", - 46: "CS_UM_VoteStart", - 47: "CS_UM_VotePass", - 48: "CS_UM_VoteFailed", - 49: "CS_UM_VoteSetup", - 50: "CS_UM_ServerRankRevealAll", - 51: "CS_UM_SendLastKillerDamageToClient", - 52: "CS_UM_ServerRankUpdate", - 53: "CS_UM_ItemPickup", - 54: "CS_UM_ShowMenu", - 55: "CS_UM_BarTime", - 56: "CS_UM_AmmoDenied", - 57: "CS_UM_MarkAchievement", - 58: "CS_UM_MatchStatsUpdate", - 59: "CS_UM_ItemDrop", - 60: "CS_UM_GlowPropTurnOff", - 61: "CS_UM_SendPlayerItemDrops", - 62: "CS_UM_RoundBackupFilenames", - 63: "CS_UM_SendPlayerItemFound", - 64: "CS_UM_ReportHit", - 65: "CS_UM_XpUpdate", - 66: "CS_UM_QuestProgress", - 67: "CS_UM_ScoreLeaderboardData", - 68: "CS_UM_PlayerDecalDigitalSignature", - 69: "CS_UM_WeaponSound", - 70: "CS_UM_UpdateScreenHealthBar", - 71: "CS_UM_EntityOutlineHighlight", - 72: "CS_UM_SSUI", - 73: "CS_UM_SurvivalStats", - 74: "CS_UM_DisconnectToLobby2", - 75: "CS_UM_EndOfMatchAllPlayersData", - 79: "CS_UM_RoundImpactScoreData", - 80: "CS_UM_CurrentRoundOdds", - 81: "CS_UM_DeepStats", - 82: "CS_UM_UtilMsg", - 83: "CS_UM_UtilMsg_Response", + 301: "CS_UM_VGUIMenu", + 302: "CS_UM_Geiger", + 303: "CS_UM_Train", + 304: "CS_UM_HudText", + 305: "CS_UM_SayText", + 306: "CS_UM_SayText2", + 307: "CS_UM_TextMsg", + 308: "CS_UM_HudMsg", + 309: "CS_UM_ResetHud", + 310: "CS_UM_GameTitle", + 312: "CS_UM_Shake", + 313: "CS_UM_Fade", + 314: "CS_UM_Rumble", + 315: "CS_UM_CloseCaption", + 316: "CS_UM_CloseCaptionDirect", + 317: "CS_UM_SendAudio", + 318: "CS_UM_RawAudio", + 319: "CS_UM_VoiceMask", + 320: "CS_UM_RequestState", + 321: "CS_UM_Damage", + 322: "CS_UM_RadioText", + 323: "CS_UM_HintText", + 324: "CS_UM_KeyHintText", + 325: "CS_UM_ProcessSpottedEntityUpdate", + 326: "CS_UM_ReloadEffect", + 327: "CS_UM_AdjustMoney", + 328: "CS_UM_UpdateTeamMoney", + 329: "CS_UM_StopSpectatorMode", + 330: "CS_UM_KillCam", + 331: "CS_UM_DesiredTimescale", + 332: "CS_UM_CurrentTimescale", + 333: "CS_UM_AchievementEvent", + 334: "CS_UM_MatchEndConditions", + 335: "CS_UM_DisconnectToLobby", + 336: "CS_UM_PlayerStatsUpdate", + 338: "CS_UM_WarmupHasEnded", + 339: "CS_UM_ClientInfo", + 340: "CS_UM_XRankGet", + 341: "CS_UM_XRankUpd", + 345: "CS_UM_CallVoteFailed", + 346: "CS_UM_VoteStart", + 347: "CS_UM_VotePass", + 348: "CS_UM_VoteFailed", + 349: "CS_UM_VoteSetup", + 350: "CS_UM_ServerRankRevealAll", + 351: "CS_UM_SendLastKillerDamageToClient", + 352: "CS_UM_ServerRankUpdate", + 353: "CS_UM_ItemPickup", + 354: "CS_UM_ShowMenu", + 355: "CS_UM_BarTime", + 356: "CS_UM_AmmoDenied", + 357: "CS_UM_MarkAchievement", + 358: "CS_UM_MatchStatsUpdate", + 359: "CS_UM_ItemDrop", + 360: "CS_UM_GlowPropTurnOff", + 361: "CS_UM_SendPlayerItemDrops", + 362: "CS_UM_RoundBackupFilenames", + 363: "CS_UM_SendPlayerItemFound", + 364: "CS_UM_ReportHit", + 365: "CS_UM_XpUpdate", + 366: "CS_UM_QuestProgress", + 367: "CS_UM_ScoreLeaderboardData", + 368: "CS_UM_PlayerDecalDigitalSignature", + 369: "CS_UM_WeaponSound", + 370: "CS_UM_UpdateScreenHealthBar", + 371: "CS_UM_EntityOutlineHighlight", + 372: "CS_UM_SSUI", + 373: "CS_UM_SurvivalStats", + 374: "CS_UM_DisconnectToLobby2", + 375: "CS_UM_EndOfMatchAllPlayersData", + 376: "CS_UM_PostRoundDamageReport", + 379: "CS_UM_RoundEndReportData", + 380: "CS_UM_CurrentRoundOdds", + 381: "CS_UM_DeepStats", + 382: "CS_UM_UtilMsg", + 383: "CS_UM_ShootInfo", } ECstrike15UserMessages_value = map[string]int32{ - "CS_UM_VGUIMenu": 1, - "CS_UM_Geiger": 2, - "CS_UM_Train": 3, - "CS_UM_HudText": 4, - "CS_UM_SayText": 5, - "CS_UM_SayText2": 6, - "CS_UM_TextMsg": 7, - "CS_UM_HudMsg": 8, - "CS_UM_ResetHud": 9, - "CS_UM_GameTitle": 10, - "CS_UM_Shake": 12, - "CS_UM_Fade": 13, - "CS_UM_Rumble": 14, - "CS_UM_CloseCaption": 15, - "CS_UM_CloseCaptionDirect": 16, - "CS_UM_SendAudio": 17, - "CS_UM_RawAudio": 18, - "CS_UM_VoiceMask": 19, - "CS_UM_RequestState": 20, - "CS_UM_Damage": 21, - "CS_UM_RadioText": 22, - "CS_UM_HintText": 23, - "CS_UM_KeyHintText": 24, - "CS_UM_ProcessSpottedEntityUpdate": 25, - "CS_UM_ReloadEffect": 26, - "CS_UM_AdjustMoney": 27, - "CS_UM_UpdateTeamMoney": 28, - "CS_UM_StopSpectatorMode": 29, - "CS_UM_KillCam": 30, - "CS_UM_DesiredTimescale": 31, - "CS_UM_CurrentTimescale": 32, - "CS_UM_AchievementEvent": 33, - "CS_UM_MatchEndConditions": 34, - "CS_UM_DisconnectToLobby": 35, - "CS_UM_PlayerStatsUpdate": 36, - "CS_UM_DisplayInventory": 37, - "CS_UM_WarmupHasEnded": 38, - "CS_UM_ClientInfo": 39, - "CS_UM_XRankGet": 40, - "CS_UM_XRankUpd": 41, - "CS_UM_CallVoteFailed": 45, - "CS_UM_VoteStart": 46, - "CS_UM_VotePass": 47, - "CS_UM_VoteFailed": 48, - "CS_UM_VoteSetup": 49, - "CS_UM_ServerRankRevealAll": 50, - "CS_UM_SendLastKillerDamageToClient": 51, - "CS_UM_ServerRankUpdate": 52, - "CS_UM_ItemPickup": 53, - "CS_UM_ShowMenu": 54, - "CS_UM_BarTime": 55, - "CS_UM_AmmoDenied": 56, - "CS_UM_MarkAchievement": 57, - "CS_UM_MatchStatsUpdate": 58, - "CS_UM_ItemDrop": 59, - "CS_UM_GlowPropTurnOff": 60, - "CS_UM_SendPlayerItemDrops": 61, - "CS_UM_RoundBackupFilenames": 62, - "CS_UM_SendPlayerItemFound": 63, - "CS_UM_ReportHit": 64, - "CS_UM_XpUpdate": 65, - "CS_UM_QuestProgress": 66, - "CS_UM_ScoreLeaderboardData": 67, - "CS_UM_PlayerDecalDigitalSignature": 68, - "CS_UM_WeaponSound": 69, - "CS_UM_UpdateScreenHealthBar": 70, - "CS_UM_EntityOutlineHighlight": 71, - "CS_UM_SSUI": 72, - "CS_UM_SurvivalStats": 73, - "CS_UM_DisconnectToLobby2": 74, - "CS_UM_EndOfMatchAllPlayersData": 75, - "CS_UM_RoundImpactScoreData": 79, - "CS_UM_CurrentRoundOdds": 80, - "CS_UM_DeepStats": 81, - "CS_UM_UtilMsg": 82, - "CS_UM_UtilMsg_Response": 83, + "CS_UM_VGUIMenu": 301, + "CS_UM_Geiger": 302, + "CS_UM_Train": 303, + "CS_UM_HudText": 304, + "CS_UM_SayText": 305, + "CS_UM_SayText2": 306, + "CS_UM_TextMsg": 307, + "CS_UM_HudMsg": 308, + "CS_UM_ResetHud": 309, + "CS_UM_GameTitle": 310, + "CS_UM_Shake": 312, + "CS_UM_Fade": 313, + "CS_UM_Rumble": 314, + "CS_UM_CloseCaption": 315, + "CS_UM_CloseCaptionDirect": 316, + "CS_UM_SendAudio": 317, + "CS_UM_RawAudio": 318, + "CS_UM_VoiceMask": 319, + "CS_UM_RequestState": 320, + "CS_UM_Damage": 321, + "CS_UM_RadioText": 322, + "CS_UM_HintText": 323, + "CS_UM_KeyHintText": 324, + "CS_UM_ProcessSpottedEntityUpdate": 325, + "CS_UM_ReloadEffect": 326, + "CS_UM_AdjustMoney": 327, + "CS_UM_UpdateTeamMoney": 328, + "CS_UM_StopSpectatorMode": 329, + "CS_UM_KillCam": 330, + "CS_UM_DesiredTimescale": 331, + "CS_UM_CurrentTimescale": 332, + "CS_UM_AchievementEvent": 333, + "CS_UM_MatchEndConditions": 334, + "CS_UM_DisconnectToLobby": 335, + "CS_UM_PlayerStatsUpdate": 336, + "CS_UM_WarmupHasEnded": 338, + "CS_UM_ClientInfo": 339, + "CS_UM_XRankGet": 340, + "CS_UM_XRankUpd": 341, + "CS_UM_CallVoteFailed": 345, + "CS_UM_VoteStart": 346, + "CS_UM_VotePass": 347, + "CS_UM_VoteFailed": 348, + "CS_UM_VoteSetup": 349, + "CS_UM_ServerRankRevealAll": 350, + "CS_UM_SendLastKillerDamageToClient": 351, + "CS_UM_ServerRankUpdate": 352, + "CS_UM_ItemPickup": 353, + "CS_UM_ShowMenu": 354, + "CS_UM_BarTime": 355, + "CS_UM_AmmoDenied": 356, + "CS_UM_MarkAchievement": 357, + "CS_UM_MatchStatsUpdate": 358, + "CS_UM_ItemDrop": 359, + "CS_UM_GlowPropTurnOff": 360, + "CS_UM_SendPlayerItemDrops": 361, + "CS_UM_RoundBackupFilenames": 362, + "CS_UM_SendPlayerItemFound": 363, + "CS_UM_ReportHit": 364, + "CS_UM_XpUpdate": 365, + "CS_UM_QuestProgress": 366, + "CS_UM_ScoreLeaderboardData": 367, + "CS_UM_PlayerDecalDigitalSignature": 368, + "CS_UM_WeaponSound": 369, + "CS_UM_UpdateScreenHealthBar": 370, + "CS_UM_EntityOutlineHighlight": 371, + "CS_UM_SSUI": 372, + "CS_UM_SurvivalStats": 373, + "CS_UM_DisconnectToLobby2": 374, + "CS_UM_EndOfMatchAllPlayersData": 375, + "CS_UM_PostRoundDamageReport": 376, + "CS_UM_RoundEndReportData": 379, + "CS_UM_CurrentRoundOdds": 380, + "CS_UM_DeepStats": 381, + "CS_UM_UtilMsg": 382, + "CS_UM_ShootInfo": 383, } ) @@ -360,9 +359,9 @@ type CCSUsrMsg_VGUIMenu struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"` - Show *bool `protobuf:"varint,2,opt,name=show" json:"show,omitempty"` - Subkeys []*CCSUsrMsg_VGUIMenu_Subkey `protobuf:"bytes,3,rep,name=subkeys" json:"subkeys,omitempty"` + Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"` + Show *bool `protobuf:"varint,2,opt,name=show" json:"show,omitempty"` + Keys []*CCSUsrMsg_VGUIMenu_Keys `protobuf:"bytes,3,rep,name=keys" json:"keys,omitempty"` } func (x *CCSUsrMsg_VGUIMenu) Reset() { @@ -411,9 +410,9 @@ func (x *CCSUsrMsg_VGUIMenu) GetShow() bool { return false } -func (x *CCSUsrMsg_VGUIMenu) GetSubkeys() []*CCSUsrMsg_VGUIMenu_Subkey { +func (x *CCSUsrMsg_VGUIMenu) GetKeys() []*CCSUsrMsg_VGUIMenu_Keys { if x != nil { - return x.Subkeys + return x.Keys } return nil } @@ -559,211 +558,6 @@ func (x *CCSUsrMsg_HudText) GetText() string { return "" } -type CCSUsrMsg_SayText struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - EntIdx *int32 `protobuf:"varint,1,opt,name=ent_idx,json=entIdx" json:"ent_idx,omitempty"` - Text *string `protobuf:"bytes,2,opt,name=text" json:"text,omitempty"` - Chat *bool `protobuf:"varint,3,opt,name=chat" json:"chat,omitempty"` - Textallchat *bool `protobuf:"varint,4,opt,name=textallchat" json:"textallchat,omitempty"` -} - -func (x *CCSUsrMsg_SayText) Reset() { - *x = CCSUsrMsg_SayText{} - if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[4] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *CCSUsrMsg_SayText) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*CCSUsrMsg_SayText) ProtoMessage() {} - -func (x *CCSUsrMsg_SayText) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[4] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use CCSUsrMsg_SayText.ProtoReflect.Descriptor instead. -func (*CCSUsrMsg_SayText) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{4} -} - -func (x *CCSUsrMsg_SayText) GetEntIdx() int32 { - if x != nil && x.EntIdx != nil { - return *x.EntIdx - } - return 0 -} - -func (x *CCSUsrMsg_SayText) GetText() string { - if x != nil && x.Text != nil { - return *x.Text - } - return "" -} - -func (x *CCSUsrMsg_SayText) GetChat() bool { - if x != nil && x.Chat != nil { - return *x.Chat - } - return false -} - -func (x *CCSUsrMsg_SayText) GetTextallchat() bool { - if x != nil && x.Textallchat != nil { - return *x.Textallchat - } - return false -} - -type CCSUsrMsg_SayText2 struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - EntIdx *int32 `protobuf:"varint,1,opt,name=ent_idx,json=entIdx" json:"ent_idx,omitempty"` - Chat *bool `protobuf:"varint,2,opt,name=chat" json:"chat,omitempty"` - MsgName *string `protobuf:"bytes,3,opt,name=msg_name,json=msgName" json:"msg_name,omitempty"` - Params []string `protobuf:"bytes,4,rep,name=params" json:"params,omitempty"` - Textallchat *bool `protobuf:"varint,5,opt,name=textallchat" json:"textallchat,omitempty"` -} - -func (x *CCSUsrMsg_SayText2) Reset() { - *x = CCSUsrMsg_SayText2{} - if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[5] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *CCSUsrMsg_SayText2) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*CCSUsrMsg_SayText2) ProtoMessage() {} - -func (x *CCSUsrMsg_SayText2) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[5] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use CCSUsrMsg_SayText2.ProtoReflect.Descriptor instead. -func (*CCSUsrMsg_SayText2) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{5} -} - -func (x *CCSUsrMsg_SayText2) GetEntIdx() int32 { - if x != nil && x.EntIdx != nil { - return *x.EntIdx - } - return 0 -} - -func (x *CCSUsrMsg_SayText2) GetChat() bool { - if x != nil && x.Chat != nil { - return *x.Chat - } - return false -} - -func (x *CCSUsrMsg_SayText2) GetMsgName() string { - if x != nil && x.MsgName != nil { - return *x.MsgName - } - return "" -} - -func (x *CCSUsrMsg_SayText2) GetParams() []string { - if x != nil { - return x.Params - } - return nil -} - -func (x *CCSUsrMsg_SayText2) GetTextallchat() bool { - if x != nil && x.Textallchat != nil { - return *x.Textallchat - } - return false -} - -type CCSUsrMsg_TextMsg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - MsgDst *int32 `protobuf:"varint,1,opt,name=msg_dst,json=msgDst" json:"msg_dst,omitempty"` - Params []string `protobuf:"bytes,3,rep,name=params" json:"params,omitempty"` -} - -func (x *CCSUsrMsg_TextMsg) Reset() { - *x = CCSUsrMsg_TextMsg{} - if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[6] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *CCSUsrMsg_TextMsg) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*CCSUsrMsg_TextMsg) ProtoMessage() {} - -func (x *CCSUsrMsg_TextMsg) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[6] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use CCSUsrMsg_TextMsg.ProtoReflect.Descriptor instead. -func (*CCSUsrMsg_TextMsg) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{6} -} - -func (x *CCSUsrMsg_TextMsg) GetMsgDst() int32 { - if x != nil && x.MsgDst != nil { - return *x.MsgDst - } - return 0 -} - -func (x *CCSUsrMsg_TextMsg) GetParams() []string { - if x != nil { - return x.Params - } - return nil -} - type CCSUsrMsg_HudMsg struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -784,7 +578,7 @@ type CCSUsrMsg_HudMsg struct { func (x *CCSUsrMsg_HudMsg) Reset() { *x = CCSUsrMsg_HudMsg{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[7] + mi := &file_cstrike15_usermessages_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -797,7 +591,7 @@ func (x *CCSUsrMsg_HudMsg) String() string { func (*CCSUsrMsg_HudMsg) ProtoMessage() {} func (x *CCSUsrMsg_HudMsg) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[7] + mi := &file_cstrike15_usermessages_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -810,7 +604,7 @@ func (x *CCSUsrMsg_HudMsg) ProtoReflect() protoreflect.Message { // Deprecated: Use CCSUsrMsg_HudMsg.ProtoReflect.Descriptor instead. func (*CCSUsrMsg_HudMsg) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{7} + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{4} } func (x *CCSUsrMsg_HudMsg) GetChannel() int32 { @@ -897,7 +691,7 @@ type CCSUsrMsg_Shake struct { func (x *CCSUsrMsg_Shake) Reset() { *x = CCSUsrMsg_Shake{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[8] + mi := &file_cstrike15_usermessages_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -910,7 +704,7 @@ func (x *CCSUsrMsg_Shake) String() string { func (*CCSUsrMsg_Shake) ProtoMessage() {} func (x *CCSUsrMsg_Shake) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[8] + mi := &file_cstrike15_usermessages_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -923,7 +717,7 @@ func (x *CCSUsrMsg_Shake) ProtoReflect() protoreflect.Message { // Deprecated: Use CCSUsrMsg_Shake.ProtoReflect.Descriptor instead. func (*CCSUsrMsg_Shake) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{8} + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{5} } func (x *CCSUsrMsg_Shake) GetCommand() int32 { @@ -968,7 +762,7 @@ type CCSUsrMsg_Fade struct { func (x *CCSUsrMsg_Fade) Reset() { *x = CCSUsrMsg_Fade{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[9] + mi := &file_cstrike15_usermessages_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -981,7 +775,7 @@ func (x *CCSUsrMsg_Fade) String() string { func (*CCSUsrMsg_Fade) ProtoMessage() {} func (x *CCSUsrMsg_Fade) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[9] + mi := &file_cstrike15_usermessages_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -994,7 +788,7 @@ func (x *CCSUsrMsg_Fade) ProtoReflect() protoreflect.Message { // Deprecated: Use CCSUsrMsg_Fade.ProtoReflect.Descriptor instead. func (*CCSUsrMsg_Fade) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{9} + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{6} } func (x *CCSUsrMsg_Fade) GetDuration() int32 { @@ -1038,7 +832,7 @@ type CCSUsrMsg_Rumble struct { func (x *CCSUsrMsg_Rumble) Reset() { *x = CCSUsrMsg_Rumble{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[10] + mi := &file_cstrike15_usermessages_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1051,7 +845,7 @@ func (x *CCSUsrMsg_Rumble) String() string { func (*CCSUsrMsg_Rumble) ProtoMessage() {} func (x *CCSUsrMsg_Rumble) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[10] + mi := &file_cstrike15_usermessages_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1064,7 +858,7 @@ func (x *CCSUsrMsg_Rumble) ProtoReflect() protoreflect.Message { // Deprecated: Use CCSUsrMsg_Rumble.ProtoReflect.Descriptor instead. func (*CCSUsrMsg_Rumble) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{10} + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{7} } func (x *CCSUsrMsg_Rumble) GetIndex() int32 { @@ -1102,7 +896,7 @@ type CCSUsrMsg_CloseCaption struct { func (x *CCSUsrMsg_CloseCaption) Reset() { *x = CCSUsrMsg_CloseCaption{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[11] + mi := &file_cstrike15_usermessages_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1115,7 +909,7 @@ func (x *CCSUsrMsg_CloseCaption) String() string { func (*CCSUsrMsg_CloseCaption) ProtoMessage() {} func (x *CCSUsrMsg_CloseCaption) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[11] + mi := &file_cstrike15_usermessages_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1128,7 +922,7 @@ func (x *CCSUsrMsg_CloseCaption) ProtoReflect() protoreflect.Message { // Deprecated: Use CCSUsrMsg_CloseCaption.ProtoReflect.Descriptor instead. func (*CCSUsrMsg_CloseCaption) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{11} + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{8} } func (x *CCSUsrMsg_CloseCaption) GetHash() uint32 { @@ -1172,7 +966,7 @@ type CCSUsrMsg_CloseCaptionDirect struct { func (x *CCSUsrMsg_CloseCaptionDirect) Reset() { *x = CCSUsrMsg_CloseCaptionDirect{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[12] + mi := &file_cstrike15_usermessages_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1185,7 +979,7 @@ func (x *CCSUsrMsg_CloseCaptionDirect) String() string { func (*CCSUsrMsg_CloseCaptionDirect) ProtoMessage() {} func (x *CCSUsrMsg_CloseCaptionDirect) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[12] + mi := &file_cstrike15_usermessages_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1198,7 +992,7 @@ func (x *CCSUsrMsg_CloseCaptionDirect) ProtoReflect() protoreflect.Message { // Deprecated: Use CCSUsrMsg_CloseCaptionDirect.ProtoReflect.Descriptor instead. func (*CCSUsrMsg_CloseCaptionDirect) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{12} + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{9} } func (x *CCSUsrMsg_CloseCaptionDirect) GetHash() uint32 { @@ -1233,7 +1027,7 @@ type CCSUsrMsg_SendAudio struct { func (x *CCSUsrMsg_SendAudio) Reset() { *x = CCSUsrMsg_SendAudio{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[13] + mi := &file_cstrike15_usermessages_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1246,7 +1040,7 @@ func (x *CCSUsrMsg_SendAudio) String() string { func (*CCSUsrMsg_SendAudio) ProtoMessage() {} func (x *CCSUsrMsg_SendAudio) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[13] + mi := &file_cstrike15_usermessages_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1259,7 +1053,7 @@ func (x *CCSUsrMsg_SendAudio) ProtoReflect() protoreflect.Message { // Deprecated: Use CCSUsrMsg_SendAudio.ProtoReflect.Descriptor instead. func (*CCSUsrMsg_SendAudio) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{13} + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{10} } func (x *CCSUsrMsg_SendAudio) GetRadioSound() string { @@ -1275,15 +1069,20 @@ type CCSUsrMsg_RawAudio struct { unknownFields protoimpl.UnknownFields Pitch *int32 `protobuf:"varint,1,opt,name=pitch" json:"pitch,omitempty"` - Entidx *int32 `protobuf:"varint,2,opt,name=entidx" json:"entidx,omitempty"` + Entidx *int32 `protobuf:"varint,2,opt,name=entidx,def=-1" json:"entidx,omitempty"` Duration *float32 `protobuf:"fixed32,3,opt,name=duration" json:"duration,omitempty"` VoiceFilename *string `protobuf:"bytes,4,opt,name=voice_filename,json=voiceFilename" json:"voice_filename,omitempty"` } +// Default values for CCSUsrMsg_RawAudio fields. +const ( + Default_CCSUsrMsg_RawAudio_Entidx = int32(-1) +) + func (x *CCSUsrMsg_RawAudio) Reset() { *x = CCSUsrMsg_RawAudio{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[14] + mi := &file_cstrike15_usermessages_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1296,7 +1095,7 @@ func (x *CCSUsrMsg_RawAudio) String() string { func (*CCSUsrMsg_RawAudio) ProtoMessage() {} func (x *CCSUsrMsg_RawAudio) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[14] + mi := &file_cstrike15_usermessages_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1309,7 +1108,7 @@ func (x *CCSUsrMsg_RawAudio) ProtoReflect() protoreflect.Message { // Deprecated: Use CCSUsrMsg_RawAudio.ProtoReflect.Descriptor instead. func (*CCSUsrMsg_RawAudio) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{14} + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{11} } func (x *CCSUsrMsg_RawAudio) GetPitch() int32 { @@ -1323,7 +1122,7 @@ func (x *CCSUsrMsg_RawAudio) GetEntidx() int32 { if x != nil && x.Entidx != nil { return *x.Entidx } - return 0 + return Default_CCSUsrMsg_RawAudio_Entidx } func (x *CCSUsrMsg_RawAudio) GetDuration() float32 { @@ -1352,7 +1151,7 @@ type CCSUsrMsg_VoiceMask struct { func (x *CCSUsrMsg_VoiceMask) Reset() { *x = CCSUsrMsg_VoiceMask{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[15] + mi := &file_cstrike15_usermessages_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1365,7 +1164,7 @@ func (x *CCSUsrMsg_VoiceMask) String() string { func (*CCSUsrMsg_VoiceMask) ProtoMessage() {} func (x *CCSUsrMsg_VoiceMask) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[15] + mi := &file_cstrike15_usermessages_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1378,7 +1177,7 @@ func (x *CCSUsrMsg_VoiceMask) ProtoReflect() protoreflect.Message { // Deprecated: Use CCSUsrMsg_VoiceMask.ProtoReflect.Descriptor instead. func (*CCSUsrMsg_VoiceMask) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{15} + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{12} } func (x *CCSUsrMsg_VoiceMask) GetPlayerMasks() []*CCSUsrMsg_VoiceMask_PlayerMask { @@ -1402,13 +1201,18 @@ type CCSUsrMsg_Damage struct { Amount *int32 `protobuf:"varint,1,opt,name=amount" json:"amount,omitempty"` InflictorWorldPos *CMsgVector `protobuf:"bytes,2,opt,name=inflictor_world_pos,json=inflictorWorldPos" json:"inflictor_world_pos,omitempty"` - VictimEntindex *int32 `protobuf:"varint,3,opt,name=victim_entindex,json=victimEntindex" json:"victim_entindex,omitempty"` + VictimEntindex *int32 `protobuf:"varint,3,opt,name=victim_entindex,json=victimEntindex,def=-1" json:"victim_entindex,omitempty"` } +// Default values for CCSUsrMsg_Damage fields. +const ( + Default_CCSUsrMsg_Damage_VictimEntindex = int32(-1) +) + func (x *CCSUsrMsg_Damage) Reset() { *x = CCSUsrMsg_Damage{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[16] + mi := &file_cstrike15_usermessages_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1421,7 +1225,7 @@ func (x *CCSUsrMsg_Damage) String() string { func (*CCSUsrMsg_Damage) ProtoMessage() {} func (x *CCSUsrMsg_Damage) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[16] + mi := &file_cstrike15_usermessages_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1434,7 +1238,7 @@ func (x *CCSUsrMsg_Damage) ProtoReflect() protoreflect.Message { // Deprecated: Use CCSUsrMsg_Damage.ProtoReflect.Descriptor instead. func (*CCSUsrMsg_Damage) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{16} + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{13} } func (x *CCSUsrMsg_Damage) GetAmount() int32 { @@ -1455,7 +1259,7 @@ func (x *CCSUsrMsg_Damage) GetVictimEntindex() int32 { if x != nil && x.VictimEntindex != nil { return *x.VictimEntindex } - return 0 + return Default_CCSUsrMsg_Damage_VictimEntindex } type CCSUsrMsg_RadioText struct { @@ -1464,15 +1268,20 @@ type CCSUsrMsg_RadioText struct { unknownFields protoimpl.UnknownFields MsgDst *int32 `protobuf:"varint,1,opt,name=msg_dst,json=msgDst" json:"msg_dst,omitempty"` - Client *int32 `protobuf:"varint,2,opt,name=client" json:"client,omitempty"` + Client *int32 `protobuf:"varint,2,opt,name=client,def=-1" json:"client,omitempty"` MsgName *string `protobuf:"bytes,3,opt,name=msg_name,json=msgName" json:"msg_name,omitempty"` Params []string `protobuf:"bytes,4,rep,name=params" json:"params,omitempty"` } +// Default values for CCSUsrMsg_RadioText fields. +const ( + Default_CCSUsrMsg_RadioText_Client = int32(-1) +) + func (x *CCSUsrMsg_RadioText) Reset() { *x = CCSUsrMsg_RadioText{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[17] + mi := &file_cstrike15_usermessages_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1485,7 +1294,7 @@ func (x *CCSUsrMsg_RadioText) String() string { func (*CCSUsrMsg_RadioText) ProtoMessage() {} func (x *CCSUsrMsg_RadioText) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[17] + mi := &file_cstrike15_usermessages_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1498,7 +1307,7 @@ func (x *CCSUsrMsg_RadioText) ProtoReflect() protoreflect.Message { // Deprecated: Use CCSUsrMsg_RadioText.ProtoReflect.Descriptor instead. func (*CCSUsrMsg_RadioText) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{17} + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{14} } func (x *CCSUsrMsg_RadioText) GetMsgDst() int32 { @@ -1512,7 +1321,7 @@ func (x *CCSUsrMsg_RadioText) GetClient() int32 { if x != nil && x.Client != nil { return *x.Client } - return 0 + return Default_CCSUsrMsg_RadioText_Client } func (x *CCSUsrMsg_RadioText) GetMsgName() string { @@ -1534,13 +1343,13 @@ type CCSUsrMsg_HintText struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Text *string `protobuf:"bytes,1,opt,name=text" json:"text,omitempty"` + Message *string `protobuf:"bytes,1,opt,name=message" json:"message,omitempty"` } func (x *CCSUsrMsg_HintText) Reset() { *x = CCSUsrMsg_HintText{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[18] + mi := &file_cstrike15_usermessages_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1553,7 +1362,7 @@ func (x *CCSUsrMsg_HintText) String() string { func (*CCSUsrMsg_HintText) ProtoMessage() {} func (x *CCSUsrMsg_HintText) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[18] + mi := &file_cstrike15_usermessages_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1566,12 +1375,12 @@ func (x *CCSUsrMsg_HintText) ProtoReflect() protoreflect.Message { // Deprecated: Use CCSUsrMsg_HintText.ProtoReflect.Descriptor instead. func (*CCSUsrMsg_HintText) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{18} + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{15} } -func (x *CCSUsrMsg_HintText) GetText() string { - if x != nil && x.Text != nil { - return *x.Text +func (x *CCSUsrMsg_HintText) GetMessage() string { + if x != nil && x.Message != nil { + return *x.Message } return "" } @@ -1581,13 +1390,13 @@ type CCSUsrMsg_KeyHintText struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Hints []string `protobuf:"bytes,1,rep,name=hints" json:"hints,omitempty"` + Messages []string `protobuf:"bytes,1,rep,name=messages" json:"messages,omitempty"` } func (x *CCSUsrMsg_KeyHintText) Reset() { *x = CCSUsrMsg_KeyHintText{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[19] + mi := &file_cstrike15_usermessages_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1600,7 +1409,7 @@ func (x *CCSUsrMsg_KeyHintText) String() string { func (*CCSUsrMsg_KeyHintText) ProtoMessage() {} func (x *CCSUsrMsg_KeyHintText) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[19] + mi := &file_cstrike15_usermessages_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1613,12 +1422,12 @@ func (x *CCSUsrMsg_KeyHintText) ProtoReflect() protoreflect.Message { // Deprecated: Use CCSUsrMsg_KeyHintText.ProtoReflect.Descriptor instead. func (*CCSUsrMsg_KeyHintText) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{19} + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{16} } -func (x *CCSUsrMsg_KeyHintText) GetHints() []string { +func (x *CCSUsrMsg_KeyHintText) GetMessages() []string { if x != nil { - return x.Hints + return x.Messages } return nil } @@ -1635,7 +1444,7 @@ type CCSUsrMsg_ProcessSpottedEntityUpdate struct { func (x *CCSUsrMsg_ProcessSpottedEntityUpdate) Reset() { *x = CCSUsrMsg_ProcessSpottedEntityUpdate{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[20] + mi := &file_cstrike15_usermessages_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1648,7 +1457,7 @@ func (x *CCSUsrMsg_ProcessSpottedEntityUpdate) String() string { func (*CCSUsrMsg_ProcessSpottedEntityUpdate) ProtoMessage() {} func (x *CCSUsrMsg_ProcessSpottedEntityUpdate) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[20] + mi := &file_cstrike15_usermessages_proto_msgTypes[17] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1661,7 +1470,7 @@ func (x *CCSUsrMsg_ProcessSpottedEntityUpdate) ProtoReflect() protoreflect.Messa // Deprecated: Use CCSUsrMsg_ProcessSpottedEntityUpdate.ProtoReflect.Descriptor instead. func (*CCSUsrMsg_ProcessSpottedEntityUpdate) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{20} + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{17} } func (x *CCSUsrMsg_ProcessSpottedEntityUpdate) GetNewUpdate() bool { @@ -1689,7 +1498,7 @@ type CCSUsrMsg_SendPlayerItemDrops struct { func (x *CCSUsrMsg_SendPlayerItemDrops) Reset() { *x = CCSUsrMsg_SendPlayerItemDrops{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[21] + mi := &file_cstrike15_usermessages_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1702,7 +1511,7 @@ func (x *CCSUsrMsg_SendPlayerItemDrops) String() string { func (*CCSUsrMsg_SendPlayerItemDrops) ProtoMessage() {} func (x *CCSUsrMsg_SendPlayerItemDrops) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[21] + mi := &file_cstrike15_usermessages_proto_msgTypes[18] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1715,7 +1524,7 @@ func (x *CCSUsrMsg_SendPlayerItemDrops) ProtoReflect() protoreflect.Message { // Deprecated: Use CCSUsrMsg_SendPlayerItemDrops.ProtoReflect.Descriptor instead. func (*CCSUsrMsg_SendPlayerItemDrops) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{21} + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{18} } func (x *CCSUsrMsg_SendPlayerItemDrops) GetEntityUpdates() []*CEconItemPreviewDataBlock { @@ -1730,14 +1539,19 @@ type CCSUsrMsg_SendPlayerItemFound struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Iteminfo *CEconItemPreviewDataBlock `protobuf:"bytes,1,opt,name=iteminfo" json:"iteminfo,omitempty"` - Entindex *int32 `protobuf:"varint,2,opt,name=entindex" json:"entindex,omitempty"` + Iteminfo *CEconItemPreviewDataBlock `protobuf:"bytes,1,opt,name=iteminfo" json:"iteminfo,omitempty"` + Playerslot *int32 `protobuf:"varint,2,opt,name=playerslot,def=-1" json:"playerslot,omitempty"` } +// Default values for CCSUsrMsg_SendPlayerItemFound fields. +const ( + Default_CCSUsrMsg_SendPlayerItemFound_Playerslot = int32(-1) +) + func (x *CCSUsrMsg_SendPlayerItemFound) Reset() { *x = CCSUsrMsg_SendPlayerItemFound{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[22] + mi := &file_cstrike15_usermessages_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1750,7 +1564,7 @@ func (x *CCSUsrMsg_SendPlayerItemFound) String() string { func (*CCSUsrMsg_SendPlayerItemFound) ProtoMessage() {} func (x *CCSUsrMsg_SendPlayerItemFound) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[22] + mi := &file_cstrike15_usermessages_proto_msgTypes[19] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1763,7 +1577,7 @@ func (x *CCSUsrMsg_SendPlayerItemFound) ProtoReflect() protoreflect.Message { // Deprecated: Use CCSUsrMsg_SendPlayerItemFound.ProtoReflect.Descriptor instead. func (*CCSUsrMsg_SendPlayerItemFound) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{22} + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{19} } func (x *CCSUsrMsg_SendPlayerItemFound) GetIteminfo() *CEconItemPreviewDataBlock { @@ -1773,11 +1587,11 @@ func (x *CCSUsrMsg_SendPlayerItemFound) GetIteminfo() *CEconItemPreviewDataBlock return nil } -func (x *CCSUsrMsg_SendPlayerItemFound) GetEntindex() int32 { - if x != nil && x.Entindex != nil { - return *x.Entindex +func (x *CCSUsrMsg_SendPlayerItemFound) GetPlayerslot() int32 { + if x != nil && x.Playerslot != nil { + return *x.Playerslot } - return 0 + return Default_CCSUsrMsg_SendPlayerItemFound_Playerslot } type CCSUsrMsg_ReloadEffect struct { @@ -1785,17 +1599,22 @@ type CCSUsrMsg_ReloadEffect struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Entidx *int32 `protobuf:"varint,1,opt,name=entidx" json:"entidx,omitempty"` + Entidx *int32 `protobuf:"varint,1,opt,name=entidx,def=-1" json:"entidx,omitempty"` Actanim *int32 `protobuf:"varint,2,opt,name=actanim" json:"actanim,omitempty"` OriginX *float32 `protobuf:"fixed32,3,opt,name=origin_x,json=originX" json:"origin_x,omitempty"` OriginY *float32 `protobuf:"fixed32,4,opt,name=origin_y,json=originY" json:"origin_y,omitempty"` OriginZ *float32 `protobuf:"fixed32,5,opt,name=origin_z,json=originZ" json:"origin_z,omitempty"` } +// Default values for CCSUsrMsg_ReloadEffect fields. +const ( + Default_CCSUsrMsg_ReloadEffect_Entidx = int32(-1) +) + func (x *CCSUsrMsg_ReloadEffect) Reset() { *x = CCSUsrMsg_ReloadEffect{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[23] + mi := &file_cstrike15_usermessages_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1808,7 +1627,7 @@ func (x *CCSUsrMsg_ReloadEffect) String() string { func (*CCSUsrMsg_ReloadEffect) ProtoMessage() {} func (x *CCSUsrMsg_ReloadEffect) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[23] + mi := &file_cstrike15_usermessages_proto_msgTypes[20] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1821,14 +1640,14 @@ func (x *CCSUsrMsg_ReloadEffect) ProtoReflect() protoreflect.Message { // Deprecated: Use CCSUsrMsg_ReloadEffect.ProtoReflect.Descriptor instead. func (*CCSUsrMsg_ReloadEffect) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{23} + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{20} } func (x *CCSUsrMsg_ReloadEffect) GetEntidx() int32 { if x != nil && x.Entidx != nil { return *x.Entidx } - return 0 + return Default_CCSUsrMsg_ReloadEffect_Entidx } func (x *CCSUsrMsg_ReloadEffect) GetActanim() int32 { @@ -1864,18 +1683,24 @@ type CCSUsrMsg_WeaponSound struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Entidx *int32 `protobuf:"varint,1,opt,name=entidx" json:"entidx,omitempty"` - OriginX *float32 `protobuf:"fixed32,2,opt,name=origin_x,json=originX" json:"origin_x,omitempty"` - OriginY *float32 `protobuf:"fixed32,3,opt,name=origin_y,json=originY" json:"origin_y,omitempty"` - OriginZ *float32 `protobuf:"fixed32,4,opt,name=origin_z,json=originZ" json:"origin_z,omitempty"` - Sound *string `protobuf:"bytes,5,opt,name=sound" json:"sound,omitempty"` - Timestamp *float32 `protobuf:"fixed32,6,opt,name=timestamp" json:"timestamp,omitempty"` + Entidx *int32 `protobuf:"varint,1,opt,name=entidx,def=-1" json:"entidx,omitempty"` + OriginX *float32 `protobuf:"fixed32,2,opt,name=origin_x,json=originX" json:"origin_x,omitempty"` + OriginY *float32 `protobuf:"fixed32,3,opt,name=origin_y,json=originY" json:"origin_y,omitempty"` + OriginZ *float32 `protobuf:"fixed32,4,opt,name=origin_z,json=originZ" json:"origin_z,omitempty"` + Sound *string `protobuf:"bytes,5,opt,name=sound" json:"sound,omitempty"` + Timestamp *float32 `protobuf:"fixed32,6,opt,name=timestamp" json:"timestamp,omitempty"` + SourceSoundscapeid *uint32 `protobuf:"fixed32,7,opt,name=source_soundscapeid,json=sourceSoundscapeid" json:"source_soundscapeid,omitempty"` } +// Default values for CCSUsrMsg_WeaponSound fields. +const ( + Default_CCSUsrMsg_WeaponSound_Entidx = int32(-1) +) + func (x *CCSUsrMsg_WeaponSound) Reset() { *x = CCSUsrMsg_WeaponSound{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[24] + mi := &file_cstrike15_usermessages_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1888,7 +1713,7 @@ func (x *CCSUsrMsg_WeaponSound) String() string { func (*CCSUsrMsg_WeaponSound) ProtoMessage() {} func (x *CCSUsrMsg_WeaponSound) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[24] + mi := &file_cstrike15_usermessages_proto_msgTypes[21] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1901,14 +1726,14 @@ func (x *CCSUsrMsg_WeaponSound) ProtoReflect() protoreflect.Message { // Deprecated: Use CCSUsrMsg_WeaponSound.ProtoReflect.Descriptor instead. func (*CCSUsrMsg_WeaponSound) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{24} + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{21} } func (x *CCSUsrMsg_WeaponSound) GetEntidx() int32 { if x != nil && x.Entidx != nil { return *x.Entidx } - return 0 + return Default_CCSUsrMsg_WeaponSound_Entidx } func (x *CCSUsrMsg_WeaponSound) GetOriginX() float32 { @@ -1946,21 +1771,33 @@ func (x *CCSUsrMsg_WeaponSound) GetTimestamp() float32 { return 0 } +func (x *CCSUsrMsg_WeaponSound) GetSourceSoundscapeid() uint32 { + if x != nil && x.SourceSoundscapeid != nil { + return *x.SourceSoundscapeid + } + return 0 +} + type CCSUsrMsg_UpdateScreenHealthBar struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Entidx *int32 `protobuf:"varint,1,opt,name=entidx" json:"entidx,omitempty"` + Entidx *int32 `protobuf:"varint,1,opt,name=entidx,def=-1" json:"entidx,omitempty"` HealthratioOld *float32 `protobuf:"fixed32,2,opt,name=healthratio_old,json=healthratioOld" json:"healthratio_old,omitempty"` HealthratioNew *float32 `protobuf:"fixed32,3,opt,name=healthratio_new,json=healthratioNew" json:"healthratio_new,omitempty"` Style *int32 `protobuf:"varint,4,opt,name=style" json:"style,omitempty"` } +// Default values for CCSUsrMsg_UpdateScreenHealthBar fields. +const ( + Default_CCSUsrMsg_UpdateScreenHealthBar_Entidx = int32(-1) +) + func (x *CCSUsrMsg_UpdateScreenHealthBar) Reset() { *x = CCSUsrMsg_UpdateScreenHealthBar{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[25] + mi := &file_cstrike15_usermessages_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1973,7 +1810,7 @@ func (x *CCSUsrMsg_UpdateScreenHealthBar) String() string { func (*CCSUsrMsg_UpdateScreenHealthBar) ProtoMessage() {} func (x *CCSUsrMsg_UpdateScreenHealthBar) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[25] + mi := &file_cstrike15_usermessages_proto_msgTypes[22] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1986,14 +1823,14 @@ func (x *CCSUsrMsg_UpdateScreenHealthBar) ProtoReflect() protoreflect.Message { // Deprecated: Use CCSUsrMsg_UpdateScreenHealthBar.ProtoReflect.Descriptor instead. func (*CCSUsrMsg_UpdateScreenHealthBar) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{25} + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{22} } func (x *CCSUsrMsg_UpdateScreenHealthBar) GetEntidx() int32 { if x != nil && x.Entidx != nil { return *x.Entidx } - return 0 + return Default_CCSUsrMsg_UpdateScreenHealthBar_Entidx } func (x *CCSUsrMsg_UpdateScreenHealthBar) GetHealthratioOld() float32 { @@ -2022,14 +1859,19 @@ type CCSUsrMsg_EntityOutlineHighlight struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Entidx *int32 `protobuf:"varint,1,opt,name=entidx" json:"entidx,omitempty"` + Entidx *int32 `protobuf:"varint,1,opt,name=entidx,def=-1" json:"entidx,omitempty"` Removehighlight *bool `protobuf:"varint,2,opt,name=removehighlight" json:"removehighlight,omitempty"` } +// Default values for CCSUsrMsg_EntityOutlineHighlight fields. +const ( + Default_CCSUsrMsg_EntityOutlineHighlight_Entidx = int32(-1) +) + func (x *CCSUsrMsg_EntityOutlineHighlight) Reset() { *x = CCSUsrMsg_EntityOutlineHighlight{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[26] + mi := &file_cstrike15_usermessages_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2042,7 +1884,7 @@ func (x *CCSUsrMsg_EntityOutlineHighlight) String() string { func (*CCSUsrMsg_EntityOutlineHighlight) ProtoMessage() {} func (x *CCSUsrMsg_EntityOutlineHighlight) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[26] + mi := &file_cstrike15_usermessages_proto_msgTypes[23] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2055,14 +1897,14 @@ func (x *CCSUsrMsg_EntityOutlineHighlight) ProtoReflect() protoreflect.Message { // Deprecated: Use CCSUsrMsg_EntityOutlineHighlight.ProtoReflect.Descriptor instead. func (*CCSUsrMsg_EntityOutlineHighlight) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{26} + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{23} } func (x *CCSUsrMsg_EntityOutlineHighlight) GetEntidx() int32 { if x != nil && x.Entidx != nil { return *x.Entidx } - return 0 + return Default_CCSUsrMsg_EntityOutlineHighlight_Entidx } func (x *CCSUsrMsg_EntityOutlineHighlight) GetRemovehighlight() bool { @@ -2083,7 +1925,7 @@ type CCSUsrMsg_AdjustMoney struct { func (x *CCSUsrMsg_AdjustMoney) Reset() { *x = CCSUsrMsg_AdjustMoney{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[27] + mi := &file_cstrike15_usermessages_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2096,7 +1938,7 @@ func (x *CCSUsrMsg_AdjustMoney) String() string { func (*CCSUsrMsg_AdjustMoney) ProtoMessage() {} func (x *CCSUsrMsg_AdjustMoney) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[27] + mi := &file_cstrike15_usermessages_proto_msgTypes[24] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2109,7 +1951,7 @@ func (x *CCSUsrMsg_AdjustMoney) ProtoReflect() protoreflect.Message { // Deprecated: Use CCSUsrMsg_AdjustMoney.ProtoReflect.Descriptor instead. func (*CCSUsrMsg_AdjustMoney) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{27} + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{24} } func (x *CCSUsrMsg_AdjustMoney) GetAmount() int32 { @@ -2133,7 +1975,7 @@ type CCSUsrMsg_ReportHit struct { func (x *CCSUsrMsg_ReportHit) Reset() { *x = CCSUsrMsg_ReportHit{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[28] + mi := &file_cstrike15_usermessages_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2146,7 +1988,7 @@ func (x *CCSUsrMsg_ReportHit) String() string { func (*CCSUsrMsg_ReportHit) ProtoMessage() {} func (x *CCSUsrMsg_ReportHit) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[28] + mi := &file_cstrike15_usermessages_proto_msgTypes[25] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2159,7 +2001,7 @@ func (x *CCSUsrMsg_ReportHit) ProtoReflect() protoreflect.Message { // Deprecated: Use CCSUsrMsg_ReportHit.ProtoReflect.Descriptor instead. func (*CCSUsrMsg_ReportHit) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{28} + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{25} } func (x *CCSUsrMsg_ReportHit) GetPosX() float32 { @@ -2196,14 +2038,20 @@ type CCSUsrMsg_KillCam struct { unknownFields protoimpl.UnknownFields ObsMode *int32 `protobuf:"varint,1,opt,name=obs_mode,json=obsMode" json:"obs_mode,omitempty"` - FirstTarget *int32 `protobuf:"varint,2,opt,name=first_target,json=firstTarget" json:"first_target,omitempty"` - SecondTarget *int32 `protobuf:"varint,3,opt,name=second_target,json=secondTarget" json:"second_target,omitempty"` + FirstTarget *int32 `protobuf:"varint,2,opt,name=first_target,json=firstTarget,def=-1" json:"first_target,omitempty"` + SecondTarget *int32 `protobuf:"varint,3,opt,name=second_target,json=secondTarget,def=-1" json:"second_target,omitempty"` } +// Default values for CCSUsrMsg_KillCam fields. +const ( + Default_CCSUsrMsg_KillCam_FirstTarget = int32(-1) + Default_CCSUsrMsg_KillCam_SecondTarget = int32(-1) +) + func (x *CCSUsrMsg_KillCam) Reset() { *x = CCSUsrMsg_KillCam{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[29] + mi := &file_cstrike15_usermessages_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2216,7 +2064,7 @@ func (x *CCSUsrMsg_KillCam) String() string { func (*CCSUsrMsg_KillCam) ProtoMessage() {} func (x *CCSUsrMsg_KillCam) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[29] + mi := &file_cstrike15_usermessages_proto_msgTypes[26] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2229,7 +2077,7 @@ func (x *CCSUsrMsg_KillCam) ProtoReflect() protoreflect.Message { // Deprecated: Use CCSUsrMsg_KillCam.ProtoReflect.Descriptor instead. func (*CCSUsrMsg_KillCam) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{29} + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{26} } func (x *CCSUsrMsg_KillCam) GetObsMode() int32 { @@ -2243,14 +2091,14 @@ func (x *CCSUsrMsg_KillCam) GetFirstTarget() int32 { if x != nil && x.FirstTarget != nil { return *x.FirstTarget } - return 0 + return Default_CCSUsrMsg_KillCam_FirstTarget } func (x *CCSUsrMsg_KillCam) GetSecondTarget() int32 { if x != nil && x.SecondTarget != nil { return *x.SecondTarget } - return 0 + return Default_CCSUsrMsg_KillCam_SecondTarget } type CCSUsrMsg_DesiredTimescale struct { @@ -2267,7 +2115,7 @@ type CCSUsrMsg_DesiredTimescale struct { func (x *CCSUsrMsg_DesiredTimescale) Reset() { *x = CCSUsrMsg_DesiredTimescale{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[30] + mi := &file_cstrike15_usermessages_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2280,7 +2128,7 @@ func (x *CCSUsrMsg_DesiredTimescale) String() string { func (*CCSUsrMsg_DesiredTimescale) ProtoMessage() {} func (x *CCSUsrMsg_DesiredTimescale) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[30] + mi := &file_cstrike15_usermessages_proto_msgTypes[27] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2293,7 +2141,7 @@ func (x *CCSUsrMsg_DesiredTimescale) ProtoReflect() protoreflect.Message { // Deprecated: Use CCSUsrMsg_DesiredTimescale.ProtoReflect.Descriptor instead. func (*CCSUsrMsg_DesiredTimescale) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{30} + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{27} } func (x *CCSUsrMsg_DesiredTimescale) GetDesiredTimescale() float32 { @@ -2335,7 +2183,7 @@ type CCSUsrMsg_CurrentTimescale struct { func (x *CCSUsrMsg_CurrentTimescale) Reset() { *x = CCSUsrMsg_CurrentTimescale{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[31] + mi := &file_cstrike15_usermessages_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2348,7 +2196,7 @@ func (x *CCSUsrMsg_CurrentTimescale) String() string { func (*CCSUsrMsg_CurrentTimescale) ProtoMessage() {} func (x *CCSUsrMsg_CurrentTimescale) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[31] + mi := &file_cstrike15_usermessages_proto_msgTypes[28] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2361,7 +2209,7 @@ func (x *CCSUsrMsg_CurrentTimescale) ProtoReflect() protoreflect.Message { // Deprecated: Use CCSUsrMsg_CurrentTimescale.ProtoReflect.Descriptor instead. func (*CCSUsrMsg_CurrentTimescale) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{31} + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{28} } func (x *CCSUsrMsg_CurrentTimescale) GetCurTimescale() float32 { @@ -2384,7 +2232,7 @@ type CCSUsrMsg_AchievementEvent struct { func (x *CCSUsrMsg_AchievementEvent) Reset() { *x = CCSUsrMsg_AchievementEvent{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[32] + mi := &file_cstrike15_usermessages_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2397,7 +2245,7 @@ func (x *CCSUsrMsg_AchievementEvent) String() string { func (*CCSUsrMsg_AchievementEvent) ProtoMessage() {} func (x *CCSUsrMsg_AchievementEvent) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[32] + mi := &file_cstrike15_usermessages_proto_msgTypes[29] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2410,7 +2258,7 @@ func (x *CCSUsrMsg_AchievementEvent) ProtoReflect() protoreflect.Message { // Deprecated: Use CCSUsrMsg_AchievementEvent.ProtoReflect.Descriptor instead. func (*CCSUsrMsg_AchievementEvent) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{32} + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{29} } func (x *CCSUsrMsg_AchievementEvent) GetAchievement() int32 { @@ -2439,16 +2287,16 @@ type CCSUsrMsg_MatchEndConditions struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Fraglimit *int32 `protobuf:"varint,1,opt,name=fraglimit" json:"fraglimit,omitempty"` - MpMaxrounds *int32 `protobuf:"varint,2,opt,name=mp_maxrounds,json=mpMaxrounds" json:"mp_maxrounds,omitempty"` - MpWinlimit *int32 `protobuf:"varint,3,opt,name=mp_winlimit,json=mpWinlimit" json:"mp_winlimit,omitempty"` - MpTimelimit *int32 `protobuf:"varint,4,opt,name=mp_timelimit,json=mpTimelimit" json:"mp_timelimit,omitempty"` + Fraglimit *int32 `protobuf:"varint,1,opt,name=fraglimit" json:"fraglimit,omitempty"` + MpMaxrounds *int32 `protobuf:"varint,2,opt,name=mp_maxrounds,json=mpMaxrounds" json:"mp_maxrounds,omitempty"` + MpWinlimit *int32 `protobuf:"varint,3,opt,name=mp_winlimit,json=mpWinlimit" json:"mp_winlimit,omitempty"` + MpTimelimit *float32 `protobuf:"fixed32,4,opt,name=mp_timelimit,json=mpTimelimit" json:"mp_timelimit,omitempty"` } func (x *CCSUsrMsg_MatchEndConditions) Reset() { *x = CCSUsrMsg_MatchEndConditions{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[33] + mi := &file_cstrike15_usermessages_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2461,7 +2309,7 @@ func (x *CCSUsrMsg_MatchEndConditions) String() string { func (*CCSUsrMsg_MatchEndConditions) ProtoMessage() {} func (x *CCSUsrMsg_MatchEndConditions) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[33] + mi := &file_cstrike15_usermessages_proto_msgTypes[30] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2474,7 +2322,7 @@ func (x *CCSUsrMsg_MatchEndConditions) ProtoReflect() protoreflect.Message { // Deprecated: Use CCSUsrMsg_MatchEndConditions.ProtoReflect.Descriptor instead. func (*CCSUsrMsg_MatchEndConditions) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{33} + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{30} } func (x *CCSUsrMsg_MatchEndConditions) GetFraglimit() int32 { @@ -2498,7 +2346,7 @@ func (x *CCSUsrMsg_MatchEndConditions) GetMpWinlimit() int32 { return 0 } -func (x *CCSUsrMsg_MatchEndConditions) GetMpTimelimit() int32 { +func (x *CCSUsrMsg_MatchEndConditions) GetMpTimelimit() float32 { if x != nil && x.MpTimelimit != nil { return *x.MpTimelimit } @@ -2512,14 +2360,14 @@ type CCSUsrMsg_PlayerStatsUpdate struct { Version *int32 `protobuf:"varint,1,opt,name=version" json:"version,omitempty"` Stats []*CCSUsrMsg_PlayerStatsUpdate_Stat `protobuf:"bytes,4,rep,name=stats" json:"stats,omitempty"` - UserId *int32 `protobuf:"varint,5,opt,name=user_id,json=userId" json:"user_id,omitempty"` + Ehandle *uint32 `protobuf:"varint,5,opt,name=ehandle" json:"ehandle,omitempty"` Crc *int32 `protobuf:"varint,6,opt,name=crc" json:"crc,omitempty"` } func (x *CCSUsrMsg_PlayerStatsUpdate) Reset() { *x = CCSUsrMsg_PlayerStatsUpdate{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[34] + mi := &file_cstrike15_usermessages_proto_msgTypes[31] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2532,7 +2380,7 @@ func (x *CCSUsrMsg_PlayerStatsUpdate) String() string { func (*CCSUsrMsg_PlayerStatsUpdate) ProtoMessage() {} func (x *CCSUsrMsg_PlayerStatsUpdate) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[34] + mi := &file_cstrike15_usermessages_proto_msgTypes[31] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2545,7 +2393,7 @@ func (x *CCSUsrMsg_PlayerStatsUpdate) ProtoReflect() protoreflect.Message { // Deprecated: Use CCSUsrMsg_PlayerStatsUpdate.ProtoReflect.Descriptor instead. func (*CCSUsrMsg_PlayerStatsUpdate) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{34} + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{31} } func (x *CCSUsrMsg_PlayerStatsUpdate) GetVersion() int32 { @@ -2562,9 +2410,9 @@ func (x *CCSUsrMsg_PlayerStatsUpdate) GetStats() []*CCSUsrMsg_PlayerStatsUpdate_ return nil } -func (x *CCSUsrMsg_PlayerStatsUpdate) GetUserId() int32 { - if x != nil && x.UserId != nil { - return *x.UserId +func (x *CCSUsrMsg_PlayerStatsUpdate) GetEhandle() uint32 { + if x != nil && x.Ehandle != nil { + return *x.Ehandle } return 0 } @@ -2576,61 +2424,6 @@ func (x *CCSUsrMsg_PlayerStatsUpdate) GetCrc() int32 { return 0 } -type CCSUsrMsg_DisplayInventory struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Display *bool `protobuf:"varint,1,opt,name=display" json:"display,omitempty"` - UserId *int32 `protobuf:"varint,2,opt,name=user_id,json=userId" json:"user_id,omitempty"` -} - -func (x *CCSUsrMsg_DisplayInventory) Reset() { - *x = CCSUsrMsg_DisplayInventory{} - if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[35] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *CCSUsrMsg_DisplayInventory) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*CCSUsrMsg_DisplayInventory) ProtoMessage() {} - -func (x *CCSUsrMsg_DisplayInventory) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[35] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use CCSUsrMsg_DisplayInventory.ProtoReflect.Descriptor instead. -func (*CCSUsrMsg_DisplayInventory) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{35} -} - -func (x *CCSUsrMsg_DisplayInventory) GetDisplay() bool { - if x != nil && x.Display != nil { - return *x.Display - } - return false -} - -func (x *CCSUsrMsg_DisplayInventory) GetUserId() int32 { - if x != nil && x.UserId != nil { - return *x.UserId - } - return 0 -} - type CCSUsrMsg_QuestProgress struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -2645,7 +2438,7 @@ type CCSUsrMsg_QuestProgress struct { func (x *CCSUsrMsg_QuestProgress) Reset() { *x = CCSUsrMsg_QuestProgress{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[36] + mi := &file_cstrike15_usermessages_proto_msgTypes[32] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2658,7 +2451,7 @@ func (x *CCSUsrMsg_QuestProgress) String() string { func (*CCSUsrMsg_QuestProgress) ProtoMessage() {} func (x *CCSUsrMsg_QuestProgress) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[36] + mi := &file_cstrike15_usermessages_proto_msgTypes[32] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2671,7 +2464,7 @@ func (x *CCSUsrMsg_QuestProgress) ProtoReflect() protoreflect.Message { // Deprecated: Use CCSUsrMsg_QuestProgress.ProtoReflect.Descriptor instead. func (*CCSUsrMsg_QuestProgress) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{36} + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{32} } func (x *CCSUsrMsg_QuestProgress) GetQuestId() uint32 { @@ -2713,7 +2506,7 @@ type CCSUsrMsg_ScoreLeaderboardData struct { func (x *CCSUsrMsg_ScoreLeaderboardData) Reset() { *x = CCSUsrMsg_ScoreLeaderboardData{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[37] + mi := &file_cstrike15_usermessages_proto_msgTypes[33] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2726,7 +2519,7 @@ func (x *CCSUsrMsg_ScoreLeaderboardData) String() string { func (*CCSUsrMsg_ScoreLeaderboardData) ProtoMessage() {} func (x *CCSUsrMsg_ScoreLeaderboardData) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[37] + mi := &file_cstrike15_usermessages_proto_msgTypes[33] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2739,7 +2532,7 @@ func (x *CCSUsrMsg_ScoreLeaderboardData) ProtoReflect() protoreflect.Message { // Deprecated: Use CCSUsrMsg_ScoreLeaderboardData.ProtoReflect.Descriptor instead. func (*CCSUsrMsg_ScoreLeaderboardData) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{37} + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{33} } func (x *CCSUsrMsg_ScoreLeaderboardData) GetData() *ScoreLeaderboardData { @@ -2760,7 +2553,7 @@ type CCSUsrMsg_PlayerDecalDigitalSignature struct { func (x *CCSUsrMsg_PlayerDecalDigitalSignature) Reset() { *x = CCSUsrMsg_PlayerDecalDigitalSignature{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[38] + mi := &file_cstrike15_usermessages_proto_msgTypes[34] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2773,7 +2566,7 @@ func (x *CCSUsrMsg_PlayerDecalDigitalSignature) String() string { func (*CCSUsrMsg_PlayerDecalDigitalSignature) ProtoMessage() {} func (x *CCSUsrMsg_PlayerDecalDigitalSignature) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[38] + mi := &file_cstrike15_usermessages_proto_msgTypes[34] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2786,7 +2579,7 @@ func (x *CCSUsrMsg_PlayerDecalDigitalSignature) ProtoReflect() protoreflect.Mess // Deprecated: Use CCSUsrMsg_PlayerDecalDigitalSignature.ProtoReflect.Descriptor instead. func (*CCSUsrMsg_PlayerDecalDigitalSignature) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{38} + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{34} } func (x *CCSUsrMsg_PlayerDecalDigitalSignature) GetData() *PlayerDecalDigitalSignature { @@ -2808,7 +2601,7 @@ type CCSUsrMsg_XRankGet struct { func (x *CCSUsrMsg_XRankGet) Reset() { *x = CCSUsrMsg_XRankGet{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[39] + mi := &file_cstrike15_usermessages_proto_msgTypes[35] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2821,7 +2614,7 @@ func (x *CCSUsrMsg_XRankGet) String() string { func (*CCSUsrMsg_XRankGet) ProtoMessage() {} func (x *CCSUsrMsg_XRankGet) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[39] + mi := &file_cstrike15_usermessages_proto_msgTypes[35] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2834,7 +2627,7 @@ func (x *CCSUsrMsg_XRankGet) ProtoReflect() protoreflect.Message { // Deprecated: Use CCSUsrMsg_XRankGet.ProtoReflect.Descriptor instead. func (*CCSUsrMsg_XRankGet) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{39} + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{35} } func (x *CCSUsrMsg_XRankGet) GetModeIdx() int32 { @@ -2864,7 +2657,7 @@ type CCSUsrMsg_XRankUpd struct { func (x *CCSUsrMsg_XRankUpd) Reset() { *x = CCSUsrMsg_XRankUpd{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[40] + mi := &file_cstrike15_usermessages_proto_msgTypes[36] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2877,7 +2670,7 @@ func (x *CCSUsrMsg_XRankUpd) String() string { func (*CCSUsrMsg_XRankUpd) ProtoMessage() {} func (x *CCSUsrMsg_XRankUpd) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[40] + mi := &file_cstrike15_usermessages_proto_msgTypes[36] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2890,7 +2683,7 @@ func (x *CCSUsrMsg_XRankUpd) ProtoReflect() protoreflect.Message { // Deprecated: Use CCSUsrMsg_XRankUpd.ProtoReflect.Descriptor instead. func (*CCSUsrMsg_XRankUpd) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{40} + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{36} } func (x *CCSUsrMsg_XRankUpd) GetModeIdx() int32 { @@ -2926,7 +2719,7 @@ type CCSUsrMsg_CallVoteFailed struct { func (x *CCSUsrMsg_CallVoteFailed) Reset() { *x = CCSUsrMsg_CallVoteFailed{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[41] + mi := &file_cstrike15_usermessages_proto_msgTypes[37] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2939,7 +2732,7 @@ func (x *CCSUsrMsg_CallVoteFailed) String() string { func (*CCSUsrMsg_CallVoteFailed) ProtoMessage() {} func (x *CCSUsrMsg_CallVoteFailed) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[41] + mi := &file_cstrike15_usermessages_proto_msgTypes[37] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2952,7 +2745,7 @@ func (x *CCSUsrMsg_CallVoteFailed) ProtoReflect() protoreflect.Message { // Deprecated: Use CCSUsrMsg_CallVoteFailed.ProtoReflect.Descriptor instead. func (*CCSUsrMsg_CallVoteFailed) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{41} + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{37} } func (x *CCSUsrMsg_CallVoteFailed) GetReason() int32 { @@ -2974,20 +2767,26 @@ type CCSUsrMsg_VoteStart struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Team *int32 `protobuf:"varint,1,opt,name=team" json:"team,omitempty"` - EntIdx *int32 `protobuf:"varint,2,opt,name=ent_idx,json=entIdx" json:"ent_idx,omitempty"` - VoteType *int32 `protobuf:"varint,3,opt,name=vote_type,json=voteType" json:"vote_type,omitempty"` - DispStr *string `protobuf:"bytes,4,opt,name=disp_str,json=dispStr" json:"disp_str,omitempty"` - DetailsStr *string `protobuf:"bytes,5,opt,name=details_str,json=detailsStr" json:"details_str,omitempty"` - OtherTeamStr *string `protobuf:"bytes,6,opt,name=other_team_str,json=otherTeamStr" json:"other_team_str,omitempty"` - IsYesNoVote *bool `protobuf:"varint,7,opt,name=is_yes_no_vote,json=isYesNoVote" json:"is_yes_no_vote,omitempty"` - EntidxTarget *int32 `protobuf:"varint,8,opt,name=entidx_target,json=entidxTarget" json:"entidx_target,omitempty"` + Team *int32 `protobuf:"varint,1,opt,name=team" json:"team,omitempty"` + PlayerSlot *int32 `protobuf:"varint,2,opt,name=player_slot,json=playerSlot,def=-1" json:"player_slot,omitempty"` + VoteType *int32 `protobuf:"varint,3,opt,name=vote_type,json=voteType" json:"vote_type,omitempty"` + DispStr *string `protobuf:"bytes,4,opt,name=disp_str,json=dispStr" json:"disp_str,omitempty"` + DetailsStr *string `protobuf:"bytes,5,opt,name=details_str,json=detailsStr" json:"details_str,omitempty"` + OtherTeamStr *string `protobuf:"bytes,6,opt,name=other_team_str,json=otherTeamStr" json:"other_team_str,omitempty"` + IsYesNoVote *bool `protobuf:"varint,7,opt,name=is_yes_no_vote,json=isYesNoVote" json:"is_yes_no_vote,omitempty"` + PlayerSlotTarget *int32 `protobuf:"varint,8,opt,name=player_slot_target,json=playerSlotTarget,def=-1" json:"player_slot_target,omitempty"` } +// Default values for CCSUsrMsg_VoteStart fields. +const ( + Default_CCSUsrMsg_VoteStart_PlayerSlot = int32(-1) + Default_CCSUsrMsg_VoteStart_PlayerSlotTarget = int32(-1) +) + func (x *CCSUsrMsg_VoteStart) Reset() { *x = CCSUsrMsg_VoteStart{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[42] + mi := &file_cstrike15_usermessages_proto_msgTypes[38] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3000,7 +2799,7 @@ func (x *CCSUsrMsg_VoteStart) String() string { func (*CCSUsrMsg_VoteStart) ProtoMessage() {} func (x *CCSUsrMsg_VoteStart) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[42] + mi := &file_cstrike15_usermessages_proto_msgTypes[38] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3013,7 +2812,7 @@ func (x *CCSUsrMsg_VoteStart) ProtoReflect() protoreflect.Message { // Deprecated: Use CCSUsrMsg_VoteStart.ProtoReflect.Descriptor instead. func (*CCSUsrMsg_VoteStart) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{42} + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{38} } func (x *CCSUsrMsg_VoteStart) GetTeam() int32 { @@ -3023,11 +2822,11 @@ func (x *CCSUsrMsg_VoteStart) GetTeam() int32 { return 0 } -func (x *CCSUsrMsg_VoteStart) GetEntIdx() int32 { - if x != nil && x.EntIdx != nil { - return *x.EntIdx +func (x *CCSUsrMsg_VoteStart) GetPlayerSlot() int32 { + if x != nil && x.PlayerSlot != nil { + return *x.PlayerSlot } - return 0 + return Default_CCSUsrMsg_VoteStart_PlayerSlot } func (x *CCSUsrMsg_VoteStart) GetVoteType() int32 { @@ -3065,11 +2864,11 @@ func (x *CCSUsrMsg_VoteStart) GetIsYesNoVote() bool { return false } -func (x *CCSUsrMsg_VoteStart) GetEntidxTarget() int32 { - if x != nil && x.EntidxTarget != nil { - return *x.EntidxTarget +func (x *CCSUsrMsg_VoteStart) GetPlayerSlotTarget() int32 { + if x != nil && x.PlayerSlotTarget != nil { + return *x.PlayerSlotTarget } - return 0 + return Default_CCSUsrMsg_VoteStart_PlayerSlotTarget } type CCSUsrMsg_VotePass struct { @@ -3086,7 +2885,7 @@ type CCSUsrMsg_VotePass struct { func (x *CCSUsrMsg_VotePass) Reset() { *x = CCSUsrMsg_VotePass{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[43] + mi := &file_cstrike15_usermessages_proto_msgTypes[39] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3099,7 +2898,7 @@ func (x *CCSUsrMsg_VotePass) String() string { func (*CCSUsrMsg_VotePass) ProtoMessage() {} func (x *CCSUsrMsg_VotePass) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[43] + mi := &file_cstrike15_usermessages_proto_msgTypes[39] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3112,7 +2911,7 @@ func (x *CCSUsrMsg_VotePass) ProtoReflect() protoreflect.Message { // Deprecated: Use CCSUsrMsg_VotePass.ProtoReflect.Descriptor instead. func (*CCSUsrMsg_VotePass) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{43} + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{39} } func (x *CCSUsrMsg_VotePass) GetTeam() int32 { @@ -3155,7 +2954,7 @@ type CCSUsrMsg_VoteFailed struct { func (x *CCSUsrMsg_VoteFailed) Reset() { *x = CCSUsrMsg_VoteFailed{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[44] + mi := &file_cstrike15_usermessages_proto_msgTypes[40] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3168,7 +2967,7 @@ func (x *CCSUsrMsg_VoteFailed) String() string { func (*CCSUsrMsg_VoteFailed) ProtoMessage() {} func (x *CCSUsrMsg_VoteFailed) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[44] + mi := &file_cstrike15_usermessages_proto_msgTypes[40] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3181,7 +2980,7 @@ func (x *CCSUsrMsg_VoteFailed) ProtoReflect() protoreflect.Message { // Deprecated: Use CCSUsrMsg_VoteFailed.ProtoReflect.Descriptor instead. func (*CCSUsrMsg_VoteFailed) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{44} + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{40} } func (x *CCSUsrMsg_VoteFailed) GetTeam() int32 { @@ -3209,7 +3008,7 @@ type CCSUsrMsg_VoteSetup struct { func (x *CCSUsrMsg_VoteSetup) Reset() { *x = CCSUsrMsg_VoteSetup{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[45] + mi := &file_cstrike15_usermessages_proto_msgTypes[41] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3222,7 +3021,7 @@ func (x *CCSUsrMsg_VoteSetup) String() string { func (*CCSUsrMsg_VoteSetup) ProtoMessage() {} func (x *CCSUsrMsg_VoteSetup) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[45] + mi := &file_cstrike15_usermessages_proto_msgTypes[41] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3235,7 +3034,7 @@ func (x *CCSUsrMsg_VoteSetup) ProtoReflect() protoreflect.Message { // Deprecated: Use CCSUsrMsg_VoteSetup.ProtoReflect.Descriptor instead. func (*CCSUsrMsg_VoteSetup) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{45} + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{41} } func (x *CCSUsrMsg_VoteSetup) GetPotentialIssues() []string { @@ -3250,16 +3049,18 @@ type CCSUsrMsg_SendLastKillerDamageToClient struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - NumHitsGiven *int32 `protobuf:"varint,1,opt,name=num_hits_given,json=numHitsGiven" json:"num_hits_given,omitempty"` - DamageGiven *int32 `protobuf:"varint,2,opt,name=damage_given,json=damageGiven" json:"damage_given,omitempty"` - NumHitsTaken *int32 `protobuf:"varint,3,opt,name=num_hits_taken,json=numHitsTaken" json:"num_hits_taken,omitempty"` - DamageTaken *int32 `protobuf:"varint,4,opt,name=damage_taken,json=damageTaken" json:"damage_taken,omitempty"` + NumHitsGiven *int32 `protobuf:"varint,1,opt,name=num_hits_given,json=numHitsGiven" json:"num_hits_given,omitempty"` + DamageGiven *int32 `protobuf:"varint,2,opt,name=damage_given,json=damageGiven" json:"damage_given,omitempty"` + NumHitsTaken *int32 `protobuf:"varint,3,opt,name=num_hits_taken,json=numHitsTaken" json:"num_hits_taken,omitempty"` + DamageTaken *int32 `protobuf:"varint,4,opt,name=damage_taken,json=damageTaken" json:"damage_taken,omitempty"` + ActualDamageGiven *int32 `protobuf:"varint,5,opt,name=actual_damage_given,json=actualDamageGiven" json:"actual_damage_given,omitempty"` + ActualDamageTaken *int32 `protobuf:"varint,6,opt,name=actual_damage_taken,json=actualDamageTaken" json:"actual_damage_taken,omitempty"` } func (x *CCSUsrMsg_SendLastKillerDamageToClient) Reset() { *x = CCSUsrMsg_SendLastKillerDamageToClient{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[46] + mi := &file_cstrike15_usermessages_proto_msgTypes[42] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3272,7 +3073,7 @@ func (x *CCSUsrMsg_SendLastKillerDamageToClient) String() string { func (*CCSUsrMsg_SendLastKillerDamageToClient) ProtoMessage() {} func (x *CCSUsrMsg_SendLastKillerDamageToClient) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[46] + mi := &file_cstrike15_usermessages_proto_msgTypes[42] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3285,7 +3086,7 @@ func (x *CCSUsrMsg_SendLastKillerDamageToClient) ProtoReflect() protoreflect.Mes // Deprecated: Use CCSUsrMsg_SendLastKillerDamageToClient.ProtoReflect.Descriptor instead. func (*CCSUsrMsg_SendLastKillerDamageToClient) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{46} + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{42} } func (x *CCSUsrMsg_SendLastKillerDamageToClient) GetNumHitsGiven() int32 { @@ -3316,6 +3117,20 @@ func (x *CCSUsrMsg_SendLastKillerDamageToClient) GetDamageTaken() int32 { return 0 } +func (x *CCSUsrMsg_SendLastKillerDamageToClient) GetActualDamageGiven() int32 { + if x != nil && x.ActualDamageGiven != nil { + return *x.ActualDamageGiven + } + return 0 +} + +func (x *CCSUsrMsg_SendLastKillerDamageToClient) GetActualDamageTaken() int32 { + if x != nil && x.ActualDamageTaken != nil { + return *x.ActualDamageTaken + } + return 0 +} + type CCSUsrMsg_ServerRankUpdate struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -3327,7 +3142,7 @@ type CCSUsrMsg_ServerRankUpdate struct { func (x *CCSUsrMsg_ServerRankUpdate) Reset() { *x = CCSUsrMsg_ServerRankUpdate{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[47] + mi := &file_cstrike15_usermessages_proto_msgTypes[43] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3340,7 +3155,7 @@ func (x *CCSUsrMsg_ServerRankUpdate) String() string { func (*CCSUsrMsg_ServerRankUpdate) ProtoMessage() {} func (x *CCSUsrMsg_ServerRankUpdate) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[47] + mi := &file_cstrike15_usermessages_proto_msgTypes[43] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3353,7 +3168,7 @@ func (x *CCSUsrMsg_ServerRankUpdate) ProtoReflect() protoreflect.Message { // Deprecated: Use CCSUsrMsg_ServerRankUpdate.ProtoReflect.Descriptor instead. func (*CCSUsrMsg_ServerRankUpdate) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{47} + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{43} } func (x *CCSUsrMsg_ServerRankUpdate) GetRankUpdate() []*CCSUsrMsg_ServerRankUpdate_RankUpdate { @@ -3374,7 +3189,7 @@ type CCSUsrMsg_XpUpdate struct { func (x *CCSUsrMsg_XpUpdate) Reset() { *x = CCSUsrMsg_XpUpdate{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[48] + mi := &file_cstrike15_usermessages_proto_msgTypes[44] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3387,7 +3202,7 @@ func (x *CCSUsrMsg_XpUpdate) String() string { func (*CCSUsrMsg_XpUpdate) ProtoMessage() {} func (x *CCSUsrMsg_XpUpdate) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[48] + mi := &file_cstrike15_usermessages_proto_msgTypes[44] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3400,7 +3215,7 @@ func (x *CCSUsrMsg_XpUpdate) ProtoReflect() protoreflect.Message { // Deprecated: Use CCSUsrMsg_XpUpdate.ProtoReflect.Descriptor instead. func (*CCSUsrMsg_XpUpdate) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{48} + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{44} } func (x *CCSUsrMsg_XpUpdate) GetData() *CMsgGCCstrike15V2_GC2ServerNotifyXPRewarded { @@ -3421,7 +3236,7 @@ type CCSUsrMsg_ItemPickup struct { func (x *CCSUsrMsg_ItemPickup) Reset() { *x = CCSUsrMsg_ItemPickup{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[49] + mi := &file_cstrike15_usermessages_proto_msgTypes[45] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3434,7 +3249,7 @@ func (x *CCSUsrMsg_ItemPickup) String() string { func (*CCSUsrMsg_ItemPickup) ProtoMessage() {} func (x *CCSUsrMsg_ItemPickup) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[49] + mi := &file_cstrike15_usermessages_proto_msgTypes[45] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3447,7 +3262,7 @@ func (x *CCSUsrMsg_ItemPickup) ProtoReflect() protoreflect.Message { // Deprecated: Use CCSUsrMsg_ItemPickup.ProtoReflect.Descriptor instead. func (*CCSUsrMsg_ItemPickup) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{49} + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{45} } func (x *CCSUsrMsg_ItemPickup) GetItem() string { @@ -3470,7 +3285,7 @@ type CCSUsrMsg_ShowMenu struct { func (x *CCSUsrMsg_ShowMenu) Reset() { *x = CCSUsrMsg_ShowMenu{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[50] + mi := &file_cstrike15_usermessages_proto_msgTypes[46] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3483,7 +3298,7 @@ func (x *CCSUsrMsg_ShowMenu) String() string { func (*CCSUsrMsg_ShowMenu) ProtoMessage() {} func (x *CCSUsrMsg_ShowMenu) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[50] + mi := &file_cstrike15_usermessages_proto_msgTypes[46] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3496,7 +3311,7 @@ func (x *CCSUsrMsg_ShowMenu) ProtoReflect() protoreflect.Message { // Deprecated: Use CCSUsrMsg_ShowMenu.ProtoReflect.Descriptor instead. func (*CCSUsrMsg_ShowMenu) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{50} + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{46} } func (x *CCSUsrMsg_ShowMenu) GetBitsValidSlots() int32 { @@ -3531,7 +3346,7 @@ type CCSUsrMsg_BarTime struct { func (x *CCSUsrMsg_BarTime) Reset() { *x = CCSUsrMsg_BarTime{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[51] + mi := &file_cstrike15_usermessages_proto_msgTypes[47] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3544,7 +3359,7 @@ func (x *CCSUsrMsg_BarTime) String() string { func (*CCSUsrMsg_BarTime) ProtoMessage() {} func (x *CCSUsrMsg_BarTime) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[51] + mi := &file_cstrike15_usermessages_proto_msgTypes[47] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3557,7 +3372,7 @@ func (x *CCSUsrMsg_BarTime) ProtoReflect() protoreflect.Message { // Deprecated: Use CCSUsrMsg_BarTime.ProtoReflect.Descriptor instead. func (*CCSUsrMsg_BarTime) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{51} + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{47} } func (x *CCSUsrMsg_BarTime) GetTime() string { @@ -3572,13 +3387,13 @@ type CCSUsrMsg_AmmoDenied struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - AmmoIdx *int32 `protobuf:"varint,1,opt,name=ammoIdx" json:"ammoIdx,omitempty"` + Ammoidx *int32 `protobuf:"varint,1,opt,name=ammoidx" json:"ammoidx,omitempty"` } func (x *CCSUsrMsg_AmmoDenied) Reset() { *x = CCSUsrMsg_AmmoDenied{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[52] + mi := &file_cstrike15_usermessages_proto_msgTypes[48] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3591,7 +3406,7 @@ func (x *CCSUsrMsg_AmmoDenied) String() string { func (*CCSUsrMsg_AmmoDenied) ProtoMessage() {} func (x *CCSUsrMsg_AmmoDenied) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[52] + mi := &file_cstrike15_usermessages_proto_msgTypes[48] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3604,12 +3419,12 @@ func (x *CCSUsrMsg_AmmoDenied) ProtoReflect() protoreflect.Message { // Deprecated: Use CCSUsrMsg_AmmoDenied.ProtoReflect.Descriptor instead. func (*CCSUsrMsg_AmmoDenied) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{52} + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{48} } -func (x *CCSUsrMsg_AmmoDenied) GetAmmoIdx() int32 { - if x != nil && x.AmmoIdx != nil { - return *x.AmmoIdx +func (x *CCSUsrMsg_AmmoDenied) GetAmmoidx() int32 { + if x != nil && x.Ammoidx != nil { + return *x.Ammoidx } return 0 } @@ -3625,7 +3440,7 @@ type CCSUsrMsg_MarkAchievement struct { func (x *CCSUsrMsg_MarkAchievement) Reset() { *x = CCSUsrMsg_MarkAchievement{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[53] + mi := &file_cstrike15_usermessages_proto_msgTypes[49] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3638,7 +3453,7 @@ func (x *CCSUsrMsg_MarkAchievement) String() string { func (*CCSUsrMsg_MarkAchievement) ProtoMessage() {} func (x *CCSUsrMsg_MarkAchievement) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[53] + mi := &file_cstrike15_usermessages_proto_msgTypes[49] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3651,7 +3466,7 @@ func (x *CCSUsrMsg_MarkAchievement) ProtoReflect() protoreflect.Message { // Deprecated: Use CCSUsrMsg_MarkAchievement.ProtoReflect.Descriptor instead. func (*CCSUsrMsg_MarkAchievement) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{53} + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{49} } func (x *CCSUsrMsg_MarkAchievement) GetAchievement() string { @@ -3672,7 +3487,7 @@ type CCSUsrMsg_MatchStatsUpdate struct { func (x *CCSUsrMsg_MatchStatsUpdate) Reset() { *x = CCSUsrMsg_MatchStatsUpdate{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[54] + mi := &file_cstrike15_usermessages_proto_msgTypes[50] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3685,7 +3500,7 @@ func (x *CCSUsrMsg_MatchStatsUpdate) String() string { func (*CCSUsrMsg_MatchStatsUpdate) ProtoMessage() {} func (x *CCSUsrMsg_MatchStatsUpdate) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[54] + mi := &file_cstrike15_usermessages_proto_msgTypes[50] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3698,7 +3513,7 @@ func (x *CCSUsrMsg_MatchStatsUpdate) ProtoReflect() protoreflect.Message { // Deprecated: Use CCSUsrMsg_MatchStatsUpdate.ProtoReflect.Descriptor instead. func (*CCSUsrMsg_MatchStatsUpdate) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{54} + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{50} } func (x *CCSUsrMsg_MatchStatsUpdate) GetUpdate() string { @@ -3720,7 +3535,7 @@ type CCSUsrMsg_ItemDrop struct { func (x *CCSUsrMsg_ItemDrop) Reset() { *x = CCSUsrMsg_ItemDrop{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[55] + mi := &file_cstrike15_usermessages_proto_msgTypes[51] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3733,7 +3548,7 @@ func (x *CCSUsrMsg_ItemDrop) String() string { func (*CCSUsrMsg_ItemDrop) ProtoMessage() {} func (x *CCSUsrMsg_ItemDrop) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[55] + mi := &file_cstrike15_usermessages_proto_msgTypes[51] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3746,7 +3561,7 @@ func (x *CCSUsrMsg_ItemDrop) ProtoReflect() protoreflect.Message { // Deprecated: Use CCSUsrMsg_ItemDrop.ProtoReflect.Descriptor instead. func (*CCSUsrMsg_ItemDrop) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{55} + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{51} } func (x *CCSUsrMsg_ItemDrop) GetItemid() int64 { @@ -3768,13 +3583,18 @@ type CCSUsrMsg_GlowPropTurnOff struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Entidx *int32 `protobuf:"varint,1,opt,name=entidx" json:"entidx,omitempty"` + Entidx *int32 `protobuf:"varint,1,opt,name=entidx,def=-1" json:"entidx,omitempty"` } +// Default values for CCSUsrMsg_GlowPropTurnOff fields. +const ( + Default_CCSUsrMsg_GlowPropTurnOff_Entidx = int32(-1) +) + func (x *CCSUsrMsg_GlowPropTurnOff) Reset() { *x = CCSUsrMsg_GlowPropTurnOff{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[56] + mi := &file_cstrike15_usermessages_proto_msgTypes[52] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3787,7 +3607,7 @@ func (x *CCSUsrMsg_GlowPropTurnOff) String() string { func (*CCSUsrMsg_GlowPropTurnOff) ProtoMessage() {} func (x *CCSUsrMsg_GlowPropTurnOff) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[56] + mi := &file_cstrike15_usermessages_proto_msgTypes[52] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3800,14 +3620,14 @@ func (x *CCSUsrMsg_GlowPropTurnOff) ProtoReflect() protoreflect.Message { // Deprecated: Use CCSUsrMsg_GlowPropTurnOff.ProtoReflect.Descriptor instead. func (*CCSUsrMsg_GlowPropTurnOff) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{56} + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{52} } func (x *CCSUsrMsg_GlowPropTurnOff) GetEntidx() int32 { if x != nil && x.Entidx != nil { return *x.Entidx } - return 0 + return Default_CCSUsrMsg_GlowPropTurnOff_Entidx } type CCSUsrMsg_RoundBackupFilenames struct { @@ -3824,7 +3644,7 @@ type CCSUsrMsg_RoundBackupFilenames struct { func (x *CCSUsrMsg_RoundBackupFilenames) Reset() { *x = CCSUsrMsg_RoundBackupFilenames{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[57] + mi := &file_cstrike15_usermessages_proto_msgTypes[53] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3837,7 +3657,7 @@ func (x *CCSUsrMsg_RoundBackupFilenames) String() string { func (*CCSUsrMsg_RoundBackupFilenames) ProtoMessage() {} func (x *CCSUsrMsg_RoundBackupFilenames) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[57] + mi := &file_cstrike15_usermessages_proto_msgTypes[53] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3850,7 +3670,7 @@ func (x *CCSUsrMsg_RoundBackupFilenames) ProtoReflect() protoreflect.Message { // Deprecated: Use CCSUsrMsg_RoundBackupFilenames.ProtoReflect.Descriptor instead. func (*CCSUsrMsg_RoundBackupFilenames) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{57} + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{53} } func (x *CCSUsrMsg_RoundBackupFilenames) GetCount() int32 { @@ -3894,7 +3714,7 @@ type CCSUsrMsg_SSUI struct { func (x *CCSUsrMsg_SSUI) Reset() { *x = CCSUsrMsg_SSUI{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[58] + mi := &file_cstrike15_usermessages_proto_msgTypes[54] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3907,7 +3727,7 @@ func (x *CCSUsrMsg_SSUI) String() string { func (*CCSUsrMsg_SSUI) ProtoMessage() {} func (x *CCSUsrMsg_SSUI) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[58] + mi := &file_cstrike15_usermessages_proto_msgTypes[54] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3920,7 +3740,7 @@ func (x *CCSUsrMsg_SSUI) ProtoReflect() protoreflect.Message { // Deprecated: Use CCSUsrMsg_SSUI.ProtoReflect.Descriptor instead. func (*CCSUsrMsg_SSUI) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{58} + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{54} } func (x *CCSUsrMsg_SSUI) GetShow() bool { @@ -3959,7 +3779,7 @@ type CCSUsrMsg_SurvivalStats struct { func (x *CCSUsrMsg_SurvivalStats) Reset() { *x = CCSUsrMsg_SurvivalStats{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[59] + mi := &file_cstrike15_usermessages_proto_msgTypes[55] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3972,7 +3792,7 @@ func (x *CCSUsrMsg_SurvivalStats) String() string { func (*CCSUsrMsg_SurvivalStats) ProtoMessage() {} func (x *CCSUsrMsg_SurvivalStats) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[59] + mi := &file_cstrike15_usermessages_proto_msgTypes[55] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3985,7 +3805,7 @@ func (x *CCSUsrMsg_SurvivalStats) ProtoReflect() protoreflect.Message { // Deprecated: Use CCSUsrMsg_SurvivalStats.ProtoReflect.Descriptor instead. func (*CCSUsrMsg_SurvivalStats) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{59} + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{55} } func (x *CCSUsrMsg_SurvivalStats) GetXuid() uint64 { @@ -4035,7 +3855,7 @@ type CCSUsrMsg_EndOfMatchAllPlayersData struct { func (x *CCSUsrMsg_EndOfMatchAllPlayersData) Reset() { *x = CCSUsrMsg_EndOfMatchAllPlayersData{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[60] + mi := &file_cstrike15_usermessages_proto_msgTypes[56] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4048,7 +3868,7 @@ func (x *CCSUsrMsg_EndOfMatchAllPlayersData) String() string { func (*CCSUsrMsg_EndOfMatchAllPlayersData) ProtoMessage() {} func (x *CCSUsrMsg_EndOfMatchAllPlayersData) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[60] + mi := &file_cstrike15_usermessages_proto_msgTypes[56] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4061,7 +3881,7 @@ func (x *CCSUsrMsg_EndOfMatchAllPlayersData) ProtoReflect() protoreflect.Message // Deprecated: Use CCSUsrMsg_EndOfMatchAllPlayersData.ProtoReflect.Descriptor instead. func (*CCSUsrMsg_EndOfMatchAllPlayersData) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{60} + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{56} } func (x *CCSUsrMsg_EndOfMatchAllPlayersData) GetAllplayerdata() []*CCSUsrMsg_EndOfMatchAllPlayersData_PlayerData { @@ -4078,32 +3898,32 @@ func (x *CCSUsrMsg_EndOfMatchAllPlayersData) GetScene() int32 { return 0 } -type CCSUsrMsg_RoundImpactScoreData struct { +type CCSUsrMsg_RoundEndReportData struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - InitConditions *CCSUsrMsg_RoundImpactScoreData_InitialConditions `protobuf:"bytes,1,opt,name=init_conditions,json=initConditions" json:"init_conditions,omitempty"` - AllRisEventData []*CCSUsrMsg_RoundImpactScoreData_RisEvent `protobuf:"bytes,2,rep,name=all_ris_event_data,json=allRisEventData" json:"all_ris_event_data,omitempty"` + InitConditions *CCSUsrMsg_RoundEndReportData_InitialConditions `protobuf:"bytes,1,opt,name=init_conditions,json=initConditions" json:"init_conditions,omitempty"` + AllRerEventData []*CCSUsrMsg_RoundEndReportData_RerEvent `protobuf:"bytes,2,rep,name=all_rer_event_data,json=allRerEventData" json:"all_rer_event_data,omitempty"` } -func (x *CCSUsrMsg_RoundImpactScoreData) Reset() { - *x = CCSUsrMsg_RoundImpactScoreData{} +func (x *CCSUsrMsg_RoundEndReportData) Reset() { + *x = CCSUsrMsg_RoundEndReportData{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[61] + mi := &file_cstrike15_usermessages_proto_msgTypes[57] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CCSUsrMsg_RoundImpactScoreData) String() string { +func (x *CCSUsrMsg_RoundEndReportData) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CCSUsrMsg_RoundImpactScoreData) ProtoMessage() {} +func (*CCSUsrMsg_RoundEndReportData) ProtoMessage() {} -func (x *CCSUsrMsg_RoundImpactScoreData) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[61] +func (x *CCSUsrMsg_RoundEndReportData) ProtoReflect() protoreflect.Message { + mi := &file_cstrike15_usermessages_proto_msgTypes[57] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4114,25 +3934,120 @@ func (x *CCSUsrMsg_RoundImpactScoreData) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CCSUsrMsg_RoundImpactScoreData.ProtoReflect.Descriptor instead. -func (*CCSUsrMsg_RoundImpactScoreData) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{61} +// Deprecated: Use CCSUsrMsg_RoundEndReportData.ProtoReflect.Descriptor instead. +func (*CCSUsrMsg_RoundEndReportData) Descriptor() ([]byte, []int) { + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{57} } -func (x *CCSUsrMsg_RoundImpactScoreData) GetInitConditions() *CCSUsrMsg_RoundImpactScoreData_InitialConditions { +func (x *CCSUsrMsg_RoundEndReportData) GetInitConditions() *CCSUsrMsg_RoundEndReportData_InitialConditions { if x != nil { return x.InitConditions } return nil } -func (x *CCSUsrMsg_RoundImpactScoreData) GetAllRisEventData() []*CCSUsrMsg_RoundImpactScoreData_RisEvent { +func (x *CCSUsrMsg_RoundEndReportData) GetAllRerEventData() []*CCSUsrMsg_RoundEndReportData_RerEvent { if x != nil { - return x.AllRisEventData + return x.AllRerEventData } return nil } +type CCSUsrMsg_PostRoundDamageReport struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + OtherXuid *uint64 `protobuf:"varint,1,opt,name=other_xuid,json=otherXuid" json:"other_xuid,omitempty"` + GivenKillType *int32 `protobuf:"varint,2,opt,name=given_kill_type,json=givenKillType" json:"given_kill_type,omitempty"` + GivenHealthRemoved *int32 `protobuf:"varint,3,opt,name=given_health_removed,json=givenHealthRemoved" json:"given_health_removed,omitempty"` + GivenNumHits *int32 `protobuf:"varint,4,opt,name=given_num_hits,json=givenNumHits" json:"given_num_hits,omitempty"` + TakenKillType *int32 `protobuf:"varint,5,opt,name=taken_kill_type,json=takenKillType" json:"taken_kill_type,omitempty"` + TakenHealthRemoved *int32 `protobuf:"varint,6,opt,name=taken_health_removed,json=takenHealthRemoved" json:"taken_health_removed,omitempty"` + TakenNumHits *int32 `protobuf:"varint,7,opt,name=taken_num_hits,json=takenNumHits" json:"taken_num_hits,omitempty"` +} + +func (x *CCSUsrMsg_PostRoundDamageReport) Reset() { + *x = CCSUsrMsg_PostRoundDamageReport{} + if protoimpl.UnsafeEnabled { + mi := &file_cstrike15_usermessages_proto_msgTypes[58] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CCSUsrMsg_PostRoundDamageReport) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CCSUsrMsg_PostRoundDamageReport) ProtoMessage() {} + +func (x *CCSUsrMsg_PostRoundDamageReport) ProtoReflect() protoreflect.Message { + mi := &file_cstrike15_usermessages_proto_msgTypes[58] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CCSUsrMsg_PostRoundDamageReport.ProtoReflect.Descriptor instead. +func (*CCSUsrMsg_PostRoundDamageReport) Descriptor() ([]byte, []int) { + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{58} +} + +func (x *CCSUsrMsg_PostRoundDamageReport) GetOtherXuid() uint64 { + if x != nil && x.OtherXuid != nil { + return *x.OtherXuid + } + return 0 +} + +func (x *CCSUsrMsg_PostRoundDamageReport) GetGivenKillType() int32 { + if x != nil && x.GivenKillType != nil { + return *x.GivenKillType + } + return 0 +} + +func (x *CCSUsrMsg_PostRoundDamageReport) GetGivenHealthRemoved() int32 { + if x != nil && x.GivenHealthRemoved != nil { + return *x.GivenHealthRemoved + } + return 0 +} + +func (x *CCSUsrMsg_PostRoundDamageReport) GetGivenNumHits() int32 { + if x != nil && x.GivenNumHits != nil { + return *x.GivenNumHits + } + return 0 +} + +func (x *CCSUsrMsg_PostRoundDamageReport) GetTakenKillType() int32 { + if x != nil && x.TakenKillType != nil { + return *x.TakenKillType + } + return 0 +} + +func (x *CCSUsrMsg_PostRoundDamageReport) GetTakenHealthRemoved() int32 { + if x != nil && x.TakenHealthRemoved != nil { + return *x.TakenHealthRemoved + } + return 0 +} + +func (x *CCSUsrMsg_PostRoundDamageReport) GetTakenNumHits() int32 { + if x != nil && x.TakenNumHits != nil { + return *x.TakenNumHits + } + return 0 +} + type CCSUsrMsg_CurrentRoundOdds struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -4144,7 +4059,7 @@ type CCSUsrMsg_CurrentRoundOdds struct { func (x *CCSUsrMsg_CurrentRoundOdds) Reset() { *x = CCSUsrMsg_CurrentRoundOdds{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[62] + mi := &file_cstrike15_usermessages_proto_msgTypes[59] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4157,7 +4072,7 @@ func (x *CCSUsrMsg_CurrentRoundOdds) String() string { func (*CCSUsrMsg_CurrentRoundOdds) ProtoMessage() {} func (x *CCSUsrMsg_CurrentRoundOdds) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[62] + mi := &file_cstrike15_usermessages_proto_msgTypes[59] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4170,7 +4085,7 @@ func (x *CCSUsrMsg_CurrentRoundOdds) ProtoReflect() protoreflect.Message { // Deprecated: Use CCSUsrMsg_CurrentRoundOdds.ProtoReflect.Descriptor instead. func (*CCSUsrMsg_CurrentRoundOdds) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{62} + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{59} } func (x *CCSUsrMsg_CurrentRoundOdds) GetOdds() int32 { @@ -4191,7 +4106,7 @@ type CCSUsrMsg_DeepStats struct { func (x *CCSUsrMsg_DeepStats) Reset() { *x = CCSUsrMsg_DeepStats{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[63] + mi := &file_cstrike15_usermessages_proto_msgTypes[60] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4204,7 +4119,57 @@ func (x *CCSUsrMsg_DeepStats) String() string { func (*CCSUsrMsg_DeepStats) ProtoMessage() {} func (x *CCSUsrMsg_DeepStats) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[63] + mi := &file_cstrike15_usermessages_proto_msgTypes[60] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CCSUsrMsg_DeepStats.ProtoReflect.Descriptor instead. +func (*CCSUsrMsg_DeepStats) Descriptor() ([]byte, []int) { + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{60} +} + +func (x *CCSUsrMsg_DeepStats) GetStats() *CMsgGCCStrike15_ClientDeepStats { + if x != nil { + return x.Stats + } + return nil +} + +type CCSUsrMsg_ShootInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + FrameNumber *int32 `protobuf:"varint,1,opt,name=frame_number,json=frameNumber" json:"frame_number,omitempty"` + HitboxTransforms []*CMsgTransform `protobuf:"bytes,2,rep,name=hitbox_transforms,json=hitboxTransforms" json:"hitbox_transforms,omitempty"` + ShootPos *CMsgVector `protobuf:"bytes,3,opt,name=shoot_pos,json=shootPos" json:"shoot_pos,omitempty"` + ShootDir *CMsgQAngle `protobuf:"bytes,4,opt,name=shoot_dir,json=shootDir" json:"shoot_dir,omitempty"` +} + +func (x *CCSUsrMsg_ShootInfo) Reset() { + *x = CCSUsrMsg_ShootInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_cstrike15_usermessages_proto_msgTypes[61] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CCSUsrMsg_ShootInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CCSUsrMsg_ShootInfo) ProtoMessage() {} + +func (x *CCSUsrMsg_ShootInfo) ProtoReflect() protoreflect.Message { + mi := &file_cstrike15_usermessages_proto_msgTypes[61] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4212,17 +4177,38 @@ func (x *CCSUsrMsg_DeepStats) ProtoReflect() protoreflect.Message { } return ms } - return mi.MessageOf(x) + return mi.MessageOf(x) +} + +// Deprecated: Use CCSUsrMsg_ShootInfo.ProtoReflect.Descriptor instead. +func (*CCSUsrMsg_ShootInfo) Descriptor() ([]byte, []int) { + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{61} +} + +func (x *CCSUsrMsg_ShootInfo) GetFrameNumber() int32 { + if x != nil && x.FrameNumber != nil { + return *x.FrameNumber + } + return 0 } -// Deprecated: Use CCSUsrMsg_DeepStats.ProtoReflect.Descriptor instead. -func (*CCSUsrMsg_DeepStats) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{63} +func (x *CCSUsrMsg_ShootInfo) GetHitboxTransforms() []*CMsgTransform { + if x != nil { + return x.HitboxTransforms + } + return nil } -func (x *CCSUsrMsg_DeepStats) GetStats() *CMsgGCCStrike15_ClientDeepStats { +func (x *CCSUsrMsg_ShootInfo) GetShootPos() *CMsgVector { if x != nil { - return x.Stats + return x.ShootPos + } + return nil +} + +func (x *CCSUsrMsg_ShootInfo) GetShootDir() *CMsgQAngle { + if x != nil { + return x.ShootDir } return nil } @@ -4238,7 +4224,7 @@ type CCSUsrMsg_ResetHud struct { func (x *CCSUsrMsg_ResetHud) Reset() { *x = CCSUsrMsg_ResetHud{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[64] + mi := &file_cstrike15_usermessages_proto_msgTypes[62] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4251,7 +4237,7 @@ func (x *CCSUsrMsg_ResetHud) String() string { func (*CCSUsrMsg_ResetHud) ProtoMessage() {} func (x *CCSUsrMsg_ResetHud) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[64] + mi := &file_cstrike15_usermessages_proto_msgTypes[62] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4264,7 +4250,7 @@ func (x *CCSUsrMsg_ResetHud) ProtoReflect() protoreflect.Message { // Deprecated: Use CCSUsrMsg_ResetHud.ProtoReflect.Descriptor instead. func (*CCSUsrMsg_ResetHud) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{64} + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{62} } func (x *CCSUsrMsg_ResetHud) GetReset_() bool { @@ -4285,7 +4271,7 @@ type CCSUsrMsg_GameTitle struct { func (x *CCSUsrMsg_GameTitle) Reset() { *x = CCSUsrMsg_GameTitle{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[65] + mi := &file_cstrike15_usermessages_proto_msgTypes[63] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4298,7 +4284,7 @@ func (x *CCSUsrMsg_GameTitle) String() string { func (*CCSUsrMsg_GameTitle) ProtoMessage() {} func (x *CCSUsrMsg_GameTitle) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[65] + mi := &file_cstrike15_usermessages_proto_msgTypes[63] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4311,7 +4297,7 @@ func (x *CCSUsrMsg_GameTitle) ProtoReflect() protoreflect.Message { // Deprecated: Use CCSUsrMsg_GameTitle.ProtoReflect.Descriptor instead. func (*CCSUsrMsg_GameTitle) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{65} + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{63} } func (x *CCSUsrMsg_GameTitle) GetDummy() int32 { @@ -4332,7 +4318,7 @@ type CCSUsrMsg_RequestState struct { func (x *CCSUsrMsg_RequestState) Reset() { *x = CCSUsrMsg_RequestState{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[66] + mi := &file_cstrike15_usermessages_proto_msgTypes[64] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4345,7 +4331,7 @@ func (x *CCSUsrMsg_RequestState) String() string { func (*CCSUsrMsg_RequestState) ProtoMessage() {} func (x *CCSUsrMsg_RequestState) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[66] + mi := &file_cstrike15_usermessages_proto_msgTypes[64] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4358,7 +4344,7 @@ func (x *CCSUsrMsg_RequestState) ProtoReflect() protoreflect.Message { // Deprecated: Use CCSUsrMsg_RequestState.ProtoReflect.Descriptor instead. func (*CCSUsrMsg_RequestState) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{66} + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{64} } func (x *CCSUsrMsg_RequestState) GetDummy() int32 { @@ -4379,7 +4365,7 @@ type CCSUsrMsg_StopSpectatorMode struct { func (x *CCSUsrMsg_StopSpectatorMode) Reset() { *x = CCSUsrMsg_StopSpectatorMode{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[67] + mi := &file_cstrike15_usermessages_proto_msgTypes[65] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4392,7 +4378,7 @@ func (x *CCSUsrMsg_StopSpectatorMode) String() string { func (*CCSUsrMsg_StopSpectatorMode) ProtoMessage() {} func (x *CCSUsrMsg_StopSpectatorMode) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[67] + mi := &file_cstrike15_usermessages_proto_msgTypes[65] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4405,7 +4391,7 @@ func (x *CCSUsrMsg_StopSpectatorMode) ProtoReflect() protoreflect.Message { // Deprecated: Use CCSUsrMsg_StopSpectatorMode.ProtoReflect.Descriptor instead. func (*CCSUsrMsg_StopSpectatorMode) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{67} + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{65} } func (x *CCSUsrMsg_StopSpectatorMode) GetDummy() int32 { @@ -4426,7 +4412,7 @@ type CCSUsrMsg_DisconnectToLobby struct { func (x *CCSUsrMsg_DisconnectToLobby) Reset() { *x = CCSUsrMsg_DisconnectToLobby{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[68] + mi := &file_cstrike15_usermessages_proto_msgTypes[66] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4439,7 +4425,7 @@ func (x *CCSUsrMsg_DisconnectToLobby) String() string { func (*CCSUsrMsg_DisconnectToLobby) ProtoMessage() {} func (x *CCSUsrMsg_DisconnectToLobby) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[68] + mi := &file_cstrike15_usermessages_proto_msgTypes[66] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4452,7 +4438,7 @@ func (x *CCSUsrMsg_DisconnectToLobby) ProtoReflect() protoreflect.Message { // Deprecated: Use CCSUsrMsg_DisconnectToLobby.ProtoReflect.Descriptor instead. func (*CCSUsrMsg_DisconnectToLobby) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{68} + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{66} } func (x *CCSUsrMsg_DisconnectToLobby) GetDummy() int32 { @@ -4473,7 +4459,7 @@ type CCSUsrMsg_WarmupHasEnded struct { func (x *CCSUsrMsg_WarmupHasEnded) Reset() { *x = CCSUsrMsg_WarmupHasEnded{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[69] + mi := &file_cstrike15_usermessages_proto_msgTypes[67] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4486,7 +4472,7 @@ func (x *CCSUsrMsg_WarmupHasEnded) String() string { func (*CCSUsrMsg_WarmupHasEnded) ProtoMessage() {} func (x *CCSUsrMsg_WarmupHasEnded) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[69] + mi := &file_cstrike15_usermessages_proto_msgTypes[67] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4499,7 +4485,7 @@ func (x *CCSUsrMsg_WarmupHasEnded) ProtoReflect() protoreflect.Message { // Deprecated: Use CCSUsrMsg_WarmupHasEnded.ProtoReflect.Descriptor instead. func (*CCSUsrMsg_WarmupHasEnded) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{69} + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{67} } func (x *CCSUsrMsg_WarmupHasEnded) GetDummy() int32 { @@ -4520,7 +4506,7 @@ type CCSUsrMsg_ClientInfo struct { func (x *CCSUsrMsg_ClientInfo) Reset() { *x = CCSUsrMsg_ClientInfo{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[70] + mi := &file_cstrike15_usermessages_proto_msgTypes[68] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4533,7 +4519,7 @@ func (x *CCSUsrMsg_ClientInfo) String() string { func (*CCSUsrMsg_ClientInfo) ProtoMessage() {} func (x *CCSUsrMsg_ClientInfo) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[70] + mi := &file_cstrike15_usermessages_proto_msgTypes[68] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4546,7 +4532,7 @@ func (x *CCSUsrMsg_ClientInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use CCSUsrMsg_ClientInfo.ProtoReflect.Descriptor instead. func (*CCSUsrMsg_ClientInfo) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{70} + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{68} } func (x *CCSUsrMsg_ClientInfo) GetDummy() int32 { @@ -4568,7 +4554,7 @@ type CCSUsrMsg_ServerRankRevealAll struct { func (x *CCSUsrMsg_ServerRankRevealAll) Reset() { *x = CCSUsrMsg_ServerRankRevealAll{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[71] + mi := &file_cstrike15_usermessages_proto_msgTypes[69] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4581,7 +4567,7 @@ func (x *CCSUsrMsg_ServerRankRevealAll) String() string { func (*CCSUsrMsg_ServerRankRevealAll) ProtoMessage() {} func (x *CCSUsrMsg_ServerRankRevealAll) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[71] + mi := &file_cstrike15_usermessages_proto_msgTypes[69] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4594,7 +4580,7 @@ func (x *CCSUsrMsg_ServerRankRevealAll) ProtoReflect() protoreflect.Message { // Deprecated: Use CCSUsrMsg_ServerRankRevealAll.ProtoReflect.Descriptor instead. func (*CCSUsrMsg_ServerRankRevealAll) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{71} + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{69} } func (x *CCSUsrMsg_ServerRankRevealAll) GetSecondsTillShutdown() int32 { @@ -4611,238 +4597,32 @@ func (x *CCSUsrMsg_ServerRankRevealAll) GetReservation() *CMsgGCCStrike15V2_Matc return nil } -type CCSUsrMsg_UtilMsg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - UtilAction *string `protobuf:"bytes,1,opt,name=util_action,json=utilAction" json:"util_action,omitempty"` - Util1 *int32 `protobuf:"varint,2,opt,name=util1" json:"util1,omitempty"` - Util2 *int32 `protobuf:"varint,3,opt,name=util2" json:"util2,omitempty"` - Util3 *int32 `protobuf:"varint,4,opt,name=util3" json:"util3,omitempty"` - Util4 *int32 `protobuf:"varint,5,opt,name=util4" json:"util4,omitempty"` - Util5 *int32 `protobuf:"varint,6,opt,name=util5" json:"util5,omitempty"` -} - -func (x *CCSUsrMsg_UtilMsg) Reset() { - *x = CCSUsrMsg_UtilMsg{} - if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[72] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *CCSUsrMsg_UtilMsg) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*CCSUsrMsg_UtilMsg) ProtoMessage() {} - -func (x *CCSUsrMsg_UtilMsg) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[72] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use CCSUsrMsg_UtilMsg.ProtoReflect.Descriptor instead. -func (*CCSUsrMsg_UtilMsg) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{72} -} - -func (x *CCSUsrMsg_UtilMsg) GetUtilAction() string { - if x != nil && x.UtilAction != nil { - return *x.UtilAction - } - return "" -} - -func (x *CCSUsrMsg_UtilMsg) GetUtil1() int32 { - if x != nil && x.Util1 != nil { - return *x.Util1 - } - return 0 -} - -func (x *CCSUsrMsg_UtilMsg) GetUtil2() int32 { - if x != nil && x.Util2 != nil { - return *x.Util2 - } - return 0 -} - -func (x *CCSUsrMsg_UtilMsg) GetUtil3() int32 { - if x != nil && x.Util3 != nil { - return *x.Util3 - } - return 0 -} - -func (x *CCSUsrMsg_UtilMsg) GetUtil4() int32 { - if x != nil && x.Util4 != nil { - return *x.Util4 - } - return 0 -} - -func (x *CCSUsrMsg_UtilMsg) GetUtil5() int32 { - if x != nil && x.Util5 != nil { - return *x.Util5 - } - return 0 -} - -type CCSUsrMsg_UtilMsg_Response struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Crc *uint32 `protobuf:"fixed32,1,opt,name=crc" json:"crc,omitempty"` - ItemCount *int32 `protobuf:"varint,2,opt,name=item_count,json=itemCount" json:"item_count,omitempty"` - Crc2 *uint32 `protobuf:"fixed32,3,opt,name=crc2" json:"crc2,omitempty"` - ItemCount2 *int32 `protobuf:"varint,4,opt,name=item_count2,json=itemCount2" json:"item_count2,omitempty"` - CrcPart []int32 `protobuf:"varint,5,rep,name=crc_part,json=crcPart" json:"crc_part,omitempty"` - CrcPart2 []int32 `protobuf:"varint,6,rep,name=crc_part2,json=crcPart2" json:"crc_part2,omitempty"` - ClientTimestamp *int32 `protobuf:"varint,7,opt,name=client_timestamp,json=clientTimestamp" json:"client_timestamp,omitempty"` - Platform *int32 `protobuf:"varint,8,opt,name=platform" json:"platform,omitempty"` - Itemdetails []*CCSUsrMsg_UtilMsg_Response_ItemDetail `protobuf:"bytes,9,rep,name=itemdetails" json:"itemdetails,omitempty"` - Itemgroup *int32 `protobuf:"varint,10,opt,name=itemgroup" json:"itemgroup,omitempty"` -} - -func (x *CCSUsrMsg_UtilMsg_Response) Reset() { - *x = CCSUsrMsg_UtilMsg_Response{} - if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[73] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *CCSUsrMsg_UtilMsg_Response) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*CCSUsrMsg_UtilMsg_Response) ProtoMessage() {} - -func (x *CCSUsrMsg_UtilMsg_Response) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[73] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use CCSUsrMsg_UtilMsg_Response.ProtoReflect.Descriptor instead. -func (*CCSUsrMsg_UtilMsg_Response) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{73} -} - -func (x *CCSUsrMsg_UtilMsg_Response) GetCrc() uint32 { - if x != nil && x.Crc != nil { - return *x.Crc - } - return 0 -} - -func (x *CCSUsrMsg_UtilMsg_Response) GetItemCount() int32 { - if x != nil && x.ItemCount != nil { - return *x.ItemCount - } - return 0 -} - -func (x *CCSUsrMsg_UtilMsg_Response) GetCrc2() uint32 { - if x != nil && x.Crc2 != nil { - return *x.Crc2 - } - return 0 -} - -func (x *CCSUsrMsg_UtilMsg_Response) GetItemCount2() int32 { - if x != nil && x.ItemCount2 != nil { - return *x.ItemCount2 - } - return 0 -} - -func (x *CCSUsrMsg_UtilMsg_Response) GetCrcPart() []int32 { - if x != nil { - return x.CrcPart - } - return nil -} - -func (x *CCSUsrMsg_UtilMsg_Response) GetCrcPart2() []int32 { - if x != nil { - return x.CrcPart2 - } - return nil -} - -func (x *CCSUsrMsg_UtilMsg_Response) GetClientTimestamp() int32 { - if x != nil && x.ClientTimestamp != nil { - return *x.ClientTimestamp - } - return 0 -} - -func (x *CCSUsrMsg_UtilMsg_Response) GetPlatform() int32 { - if x != nil && x.Platform != nil { - return *x.Platform - } - return 0 -} - -func (x *CCSUsrMsg_UtilMsg_Response) GetItemdetails() []*CCSUsrMsg_UtilMsg_Response_ItemDetail { - if x != nil { - return x.Itemdetails - } - return nil -} - -func (x *CCSUsrMsg_UtilMsg_Response) GetItemgroup() int32 { - if x != nil && x.Itemgroup != nil { - return *x.Itemgroup - } - return 0 -} - -type CCSUsrMsg_VGUIMenu_Subkey struct { +type CCSUsrMsg_VGUIMenu_Keys struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"` - Str *string `protobuf:"bytes,2,opt,name=str" json:"str,omitempty"` + Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"` + Value *string `protobuf:"bytes,2,opt,name=value" json:"value,omitempty"` } -func (x *CCSUsrMsg_VGUIMenu_Subkey) Reset() { - *x = CCSUsrMsg_VGUIMenu_Subkey{} +func (x *CCSUsrMsg_VGUIMenu_Keys) Reset() { + *x = CCSUsrMsg_VGUIMenu_Keys{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[74] + mi := &file_cstrike15_usermessages_proto_msgTypes[70] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CCSUsrMsg_VGUIMenu_Subkey) String() string { +func (x *CCSUsrMsg_VGUIMenu_Keys) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CCSUsrMsg_VGUIMenu_Subkey) ProtoMessage() {} +func (*CCSUsrMsg_VGUIMenu_Keys) ProtoMessage() {} -func (x *CCSUsrMsg_VGUIMenu_Subkey) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[74] +func (x *CCSUsrMsg_VGUIMenu_Keys) ProtoReflect() protoreflect.Message { + mi := &file_cstrike15_usermessages_proto_msgTypes[70] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4853,21 +4633,21 @@ func (x *CCSUsrMsg_VGUIMenu_Subkey) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CCSUsrMsg_VGUIMenu_Subkey.ProtoReflect.Descriptor instead. -func (*CCSUsrMsg_VGUIMenu_Subkey) Descriptor() ([]byte, []int) { +// Deprecated: Use CCSUsrMsg_VGUIMenu_Keys.ProtoReflect.Descriptor instead. +func (*CCSUsrMsg_VGUIMenu_Keys) Descriptor() ([]byte, []int) { return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{0, 0} } -func (x *CCSUsrMsg_VGUIMenu_Subkey) GetName() string { +func (x *CCSUsrMsg_VGUIMenu_Keys) GetName() string { if x != nil && x.Name != nil { return *x.Name } return "" } -func (x *CCSUsrMsg_VGUIMenu_Subkey) GetStr() string { - if x != nil && x.Str != nil { - return *x.Str +func (x *CCSUsrMsg_VGUIMenu_Keys) GetValue() string { + if x != nil && x.Value != nil { + return *x.Value } return "" } @@ -4884,7 +4664,7 @@ type CCSUsrMsg_VoiceMask_PlayerMask struct { func (x *CCSUsrMsg_VoiceMask_PlayerMask) Reset() { *x = CCSUsrMsg_VoiceMask_PlayerMask{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[75] + mi := &file_cstrike15_usermessages_proto_msgTypes[71] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4897,7 +4677,7 @@ func (x *CCSUsrMsg_VoiceMask_PlayerMask) String() string { func (*CCSUsrMsg_VoiceMask_PlayerMask) ProtoMessage() {} func (x *CCSUsrMsg_VoiceMask_PlayerMask) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[75] + mi := &file_cstrike15_usermessages_proto_msgTypes[71] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4910,7 +4690,7 @@ func (x *CCSUsrMsg_VoiceMask_PlayerMask) ProtoReflect() protoreflect.Message { // Deprecated: Use CCSUsrMsg_VoiceMask_PlayerMask.ProtoReflect.Descriptor instead. func (*CCSUsrMsg_VoiceMask_PlayerMask) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{15, 0} + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{12, 0} } func (x *CCSUsrMsg_VoiceMask_PlayerMask) GetGameRulesMask() int32 { @@ -4932,7 +4712,7 @@ type CCSUsrMsg_ProcessSpottedEntityUpdate_SpottedEntityUpdate struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - EntityIdx *int32 `protobuf:"varint,1,opt,name=entity_idx,json=entityIdx" json:"entity_idx,omitempty"` + EntityIdx *int32 `protobuf:"varint,1,opt,name=entity_idx,json=entityIdx,def=-1" json:"entity_idx,omitempty"` ClassId *int32 `protobuf:"varint,2,opt,name=class_id,json=classId" json:"class_id,omitempty"` OriginX *int32 `protobuf:"varint,3,opt,name=origin_x,json=originX" json:"origin_x,omitempty"` OriginY *int32 `protobuf:"varint,4,opt,name=origin_y,json=originY" json:"origin_y,omitempty"` @@ -4943,10 +4723,15 @@ type CCSUsrMsg_ProcessSpottedEntityUpdate_SpottedEntityUpdate struct { PlayerHasC4 *bool `protobuf:"varint,9,opt,name=player_has_c4,json=playerHasC4" json:"player_has_c4,omitempty"` } +// Default values for CCSUsrMsg_ProcessSpottedEntityUpdate_SpottedEntityUpdate fields. +const ( + Default_CCSUsrMsg_ProcessSpottedEntityUpdate_SpottedEntityUpdate_EntityIdx = int32(-1) +) + func (x *CCSUsrMsg_ProcessSpottedEntityUpdate_SpottedEntityUpdate) Reset() { *x = CCSUsrMsg_ProcessSpottedEntityUpdate_SpottedEntityUpdate{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[76] + mi := &file_cstrike15_usermessages_proto_msgTypes[72] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4959,7 +4744,7 @@ func (x *CCSUsrMsg_ProcessSpottedEntityUpdate_SpottedEntityUpdate) String() stri func (*CCSUsrMsg_ProcessSpottedEntityUpdate_SpottedEntityUpdate) ProtoMessage() {} func (x *CCSUsrMsg_ProcessSpottedEntityUpdate_SpottedEntityUpdate) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[76] + mi := &file_cstrike15_usermessages_proto_msgTypes[72] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4972,14 +4757,14 @@ func (x *CCSUsrMsg_ProcessSpottedEntityUpdate_SpottedEntityUpdate) ProtoReflect( // Deprecated: Use CCSUsrMsg_ProcessSpottedEntityUpdate_SpottedEntityUpdate.ProtoReflect.Descriptor instead. func (*CCSUsrMsg_ProcessSpottedEntityUpdate_SpottedEntityUpdate) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{20, 0} + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{17, 0} } func (x *CCSUsrMsg_ProcessSpottedEntityUpdate_SpottedEntityUpdate) GetEntityIdx() int32 { if x != nil && x.EntityIdx != nil { return *x.EntityIdx } - return 0 + return Default_CCSUsrMsg_ProcessSpottedEntityUpdate_SpottedEntityUpdate_EntityIdx } func (x *CCSUsrMsg_ProcessSpottedEntityUpdate_SpottedEntityUpdate) GetClassId() int32 { @@ -5050,7 +4835,7 @@ type CCSUsrMsg_PlayerStatsUpdate_Stat struct { func (x *CCSUsrMsg_PlayerStatsUpdate_Stat) Reset() { *x = CCSUsrMsg_PlayerStatsUpdate_Stat{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[77] + mi := &file_cstrike15_usermessages_proto_msgTypes[73] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5063,7 +4848,7 @@ func (x *CCSUsrMsg_PlayerStatsUpdate_Stat) String() string { func (*CCSUsrMsg_PlayerStatsUpdate_Stat) ProtoMessage() {} func (x *CCSUsrMsg_PlayerStatsUpdate_Stat) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[77] + mi := &file_cstrike15_usermessages_proto_msgTypes[73] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5076,7 +4861,7 @@ func (x *CCSUsrMsg_PlayerStatsUpdate_Stat) ProtoReflect() protoreflect.Message { // Deprecated: Use CCSUsrMsg_PlayerStatsUpdate_Stat.ProtoReflect.Descriptor instead. func (*CCSUsrMsg_PlayerStatsUpdate_Stat) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{34, 0} + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{31, 0} } func (x *CCSUsrMsg_PlayerStatsUpdate_Stat) GetIdx() int32 { @@ -5109,7 +4894,7 @@ type CCSUsrMsg_ServerRankUpdate_RankUpdate struct { func (x *CCSUsrMsg_ServerRankUpdate_RankUpdate) Reset() { *x = CCSUsrMsg_ServerRankUpdate_RankUpdate{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[78] + mi := &file_cstrike15_usermessages_proto_msgTypes[74] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5122,7 +4907,7 @@ func (x *CCSUsrMsg_ServerRankUpdate_RankUpdate) String() string { func (*CCSUsrMsg_ServerRankUpdate_RankUpdate) ProtoMessage() {} func (x *CCSUsrMsg_ServerRankUpdate_RankUpdate) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[78] + mi := &file_cstrike15_usermessages_proto_msgTypes[74] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5135,7 +4920,7 @@ func (x *CCSUsrMsg_ServerRankUpdate_RankUpdate) ProtoReflect() protoreflect.Mess // Deprecated: Use CCSUsrMsg_ServerRankUpdate_RankUpdate.ProtoReflect.Descriptor instead. func (*CCSUsrMsg_ServerRankUpdate_RankUpdate) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{47, 0} + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{43, 0} } func (x *CCSUsrMsg_ServerRankUpdate_RankUpdate) GetAccountId() int32 { @@ -5194,7 +4979,7 @@ type CCSUsrMsg_SurvivalStats_Fact struct { func (x *CCSUsrMsg_SurvivalStats_Fact) Reset() { *x = CCSUsrMsg_SurvivalStats_Fact{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[79] + mi := &file_cstrike15_usermessages_proto_msgTypes[75] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5207,7 +4992,7 @@ func (x *CCSUsrMsg_SurvivalStats_Fact) String() string { func (*CCSUsrMsg_SurvivalStats_Fact) ProtoMessage() {} func (x *CCSUsrMsg_SurvivalStats_Fact) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[79] + mi := &file_cstrike15_usermessages_proto_msgTypes[75] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5220,7 +5005,7 @@ func (x *CCSUsrMsg_SurvivalStats_Fact) ProtoReflect() protoreflect.Message { // Deprecated: Use CCSUsrMsg_SurvivalStats_Fact.ProtoReflect.Descriptor instead. func (*CCSUsrMsg_SurvivalStats_Fact) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{59, 0} + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{55, 0} } func (x *CCSUsrMsg_SurvivalStats_Fact) GetType() int32 { @@ -5264,7 +5049,7 @@ type CCSUsrMsg_SurvivalStats_Placement struct { func (x *CCSUsrMsg_SurvivalStats_Placement) Reset() { *x = CCSUsrMsg_SurvivalStats_Placement{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[80] + mi := &file_cstrike15_usermessages_proto_msgTypes[76] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5277,7 +5062,7 @@ func (x *CCSUsrMsg_SurvivalStats_Placement) String() string { func (*CCSUsrMsg_SurvivalStats_Placement) ProtoMessage() {} func (x *CCSUsrMsg_SurvivalStats_Placement) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[80] + mi := &file_cstrike15_usermessages_proto_msgTypes[76] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5290,7 +5075,7 @@ func (x *CCSUsrMsg_SurvivalStats_Placement) ProtoReflect() protoreflect.Message // Deprecated: Use CCSUsrMsg_SurvivalStats_Placement.ProtoReflect.Descriptor instead. func (*CCSUsrMsg_SurvivalStats_Placement) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{59, 1} + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{55, 1} } func (x *CCSUsrMsg_SurvivalStats_Placement) GetXuid() uint64 { @@ -5329,7 +5114,7 @@ type CCSUsrMsg_SurvivalStats_Damage struct { func (x *CCSUsrMsg_SurvivalStats_Damage) Reset() { *x = CCSUsrMsg_SurvivalStats_Damage{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[81] + mi := &file_cstrike15_usermessages_proto_msgTypes[77] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5342,7 +5127,7 @@ func (x *CCSUsrMsg_SurvivalStats_Damage) String() string { func (*CCSUsrMsg_SurvivalStats_Damage) ProtoMessage() {} func (x *CCSUsrMsg_SurvivalStats_Damage) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[81] + mi := &file_cstrike15_usermessages_proto_msgTypes[77] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5355,7 +5140,7 @@ func (x *CCSUsrMsg_SurvivalStats_Damage) ProtoReflect() protoreflect.Message { // Deprecated: Use CCSUsrMsg_SurvivalStats_Damage.ProtoReflect.Descriptor instead. func (*CCSUsrMsg_SurvivalStats_Damage) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{59, 2} + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{55, 2} } func (x *CCSUsrMsg_SurvivalStats_Damage) GetXuid() uint64 { @@ -5406,7 +5191,7 @@ type CCSUsrMsg_EndOfMatchAllPlayersData_Accolade struct { func (x *CCSUsrMsg_EndOfMatchAllPlayersData_Accolade) Reset() { *x = CCSUsrMsg_EndOfMatchAllPlayersData_Accolade{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[82] + mi := &file_cstrike15_usermessages_proto_msgTypes[78] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5419,7 +5204,7 @@ func (x *CCSUsrMsg_EndOfMatchAllPlayersData_Accolade) String() string { func (*CCSUsrMsg_EndOfMatchAllPlayersData_Accolade) ProtoMessage() {} func (x *CCSUsrMsg_EndOfMatchAllPlayersData_Accolade) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[82] + mi := &file_cstrike15_usermessages_proto_msgTypes[78] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5432,7 +5217,7 @@ func (x *CCSUsrMsg_EndOfMatchAllPlayersData_Accolade) ProtoReflect() protoreflec // Deprecated: Use CCSUsrMsg_EndOfMatchAllPlayersData_Accolade.ProtoReflect.Descriptor instead. func (*CCSUsrMsg_EndOfMatchAllPlayersData_Accolade) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{60, 0} + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{56, 0} } func (x *CCSUsrMsg_EndOfMatchAllPlayersData_Accolade) GetEaccolade() int32 { @@ -5461,7 +5246,7 @@ type CCSUsrMsg_EndOfMatchAllPlayersData_PlayerData struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Entindex *int32 `protobuf:"varint,1,opt,name=entindex" json:"entindex,omitempty"` + Slot *int32 `protobuf:"varint,1,opt,name=slot,def=-1" json:"slot,omitempty"` Xuid *uint64 `protobuf:"varint,2,opt,name=xuid" json:"xuid,omitempty"` Name *string `protobuf:"bytes,3,opt,name=name" json:"name,omitempty"` Teamnumber *int32 `protobuf:"varint,4,opt,name=teamnumber" json:"teamnumber,omitempty"` @@ -5471,10 +5256,15 @@ type CCSUsrMsg_EndOfMatchAllPlayersData_PlayerData struct { Isbot *bool `protobuf:"varint,8,opt,name=isbot" json:"isbot,omitempty"` } +// Default values for CCSUsrMsg_EndOfMatchAllPlayersData_PlayerData fields. +const ( + Default_CCSUsrMsg_EndOfMatchAllPlayersData_PlayerData_Slot = int32(-1) +) + func (x *CCSUsrMsg_EndOfMatchAllPlayersData_PlayerData) Reset() { *x = CCSUsrMsg_EndOfMatchAllPlayersData_PlayerData{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[83] + mi := &file_cstrike15_usermessages_proto_msgTypes[79] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5487,7 +5277,7 @@ func (x *CCSUsrMsg_EndOfMatchAllPlayersData_PlayerData) String() string { func (*CCSUsrMsg_EndOfMatchAllPlayersData_PlayerData) ProtoMessage() {} func (x *CCSUsrMsg_EndOfMatchAllPlayersData_PlayerData) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[83] + mi := &file_cstrike15_usermessages_proto_msgTypes[79] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5500,14 +5290,14 @@ func (x *CCSUsrMsg_EndOfMatchAllPlayersData_PlayerData) ProtoReflect() protorefl // Deprecated: Use CCSUsrMsg_EndOfMatchAllPlayersData_PlayerData.ProtoReflect.Descriptor instead. func (*CCSUsrMsg_EndOfMatchAllPlayersData_PlayerData) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{60, 1} + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{56, 1} } -func (x *CCSUsrMsg_EndOfMatchAllPlayersData_PlayerData) GetEntindex() int32 { - if x != nil && x.Entindex != nil { - return *x.Entindex +func (x *CCSUsrMsg_EndOfMatchAllPlayersData_PlayerData) GetSlot() int32 { + if x != nil && x.Slot != nil { + return *x.Slot } - return 0 + return Default_CCSUsrMsg_EndOfMatchAllPlayersData_PlayerData_Slot } func (x *CCSUsrMsg_EndOfMatchAllPlayersData_PlayerData) GetXuid() uint64 { @@ -5559,37 +5349,37 @@ func (x *CCSUsrMsg_EndOfMatchAllPlayersData_PlayerData) GetIsbot() bool { return false } -type CCSUsrMsg_RoundImpactScoreData_RisEvent struct { +type CCSUsrMsg_RoundEndReportData_RerEvent struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Timestamp *float32 `protobuf:"fixed32,1,opt,name=timestamp" json:"timestamp,omitempty"` - TerroristOdds *int32 `protobuf:"varint,2,opt,name=terrorist_odds,json=terroristOdds" json:"terrorist_odds,omitempty"` - CtAlive *int32 `protobuf:"varint,3,opt,name=ct_alive,json=ctAlive" json:"ct_alive,omitempty"` - TAlive *int32 `protobuf:"varint,4,opt,name=t_alive,json=tAlive" json:"t_alive,omitempty"` - VictimData *CCSUsrMsg_RoundImpactScoreData_RisEvent_Victim `protobuf:"bytes,5,opt,name=victim_data,json=victimData" json:"victim_data,omitempty"` - ObjectiveData *CCSUsrMsg_RoundImpactScoreData_RisEvent_Objective `protobuf:"bytes,6,opt,name=objective_data,json=objectiveData" json:"objective_data,omitempty"` - AllDamageData []*CCSUsrMsg_RoundImpactScoreData_RisEvent_Damage `protobuf:"bytes,7,rep,name=all_damage_data,json=allDamageData" json:"all_damage_data,omitempty"` + Timestamp *float32 `protobuf:"fixed32,1,opt,name=timestamp" json:"timestamp,omitempty"` + TerroristOdds *int32 `protobuf:"varint,2,opt,name=terrorist_odds,json=terroristOdds" json:"terrorist_odds,omitempty"` + CtAlive *int32 `protobuf:"varint,3,opt,name=ct_alive,json=ctAlive" json:"ct_alive,omitempty"` + TAlive *int32 `protobuf:"varint,4,opt,name=t_alive,json=tAlive" json:"t_alive,omitempty"` + VictimData *CCSUsrMsg_RoundEndReportData_RerEvent_Victim `protobuf:"bytes,5,opt,name=victim_data,json=victimData" json:"victim_data,omitempty"` + ObjectiveData *CCSUsrMsg_RoundEndReportData_RerEvent_Objective `protobuf:"bytes,6,opt,name=objective_data,json=objectiveData" json:"objective_data,omitempty"` + AllDamageData []*CCSUsrMsg_RoundEndReportData_RerEvent_Damage `protobuf:"bytes,7,rep,name=all_damage_data,json=allDamageData" json:"all_damage_data,omitempty"` } -func (x *CCSUsrMsg_RoundImpactScoreData_RisEvent) Reset() { - *x = CCSUsrMsg_RoundImpactScoreData_RisEvent{} +func (x *CCSUsrMsg_RoundEndReportData_RerEvent) Reset() { + *x = CCSUsrMsg_RoundEndReportData_RerEvent{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[84] + mi := &file_cstrike15_usermessages_proto_msgTypes[80] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CCSUsrMsg_RoundImpactScoreData_RisEvent) String() string { +func (x *CCSUsrMsg_RoundEndReportData_RerEvent) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CCSUsrMsg_RoundImpactScoreData_RisEvent) ProtoMessage() {} +func (*CCSUsrMsg_RoundEndReportData_RerEvent) ProtoMessage() {} -func (x *CCSUsrMsg_RoundImpactScoreData_RisEvent) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[84] +func (x *CCSUsrMsg_RoundEndReportData_RerEvent) ProtoReflect() protoreflect.Message { + mi := &file_cstrike15_usermessages_proto_msgTypes[80] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5600,61 +5390,61 @@ func (x *CCSUsrMsg_RoundImpactScoreData_RisEvent) ProtoReflect() protoreflect.Me return mi.MessageOf(x) } -// Deprecated: Use CCSUsrMsg_RoundImpactScoreData_RisEvent.ProtoReflect.Descriptor instead. -func (*CCSUsrMsg_RoundImpactScoreData_RisEvent) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{61, 0} +// Deprecated: Use CCSUsrMsg_RoundEndReportData_RerEvent.ProtoReflect.Descriptor instead. +func (*CCSUsrMsg_RoundEndReportData_RerEvent) Descriptor() ([]byte, []int) { + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{57, 0} } -func (x *CCSUsrMsg_RoundImpactScoreData_RisEvent) GetTimestamp() float32 { +func (x *CCSUsrMsg_RoundEndReportData_RerEvent) GetTimestamp() float32 { if x != nil && x.Timestamp != nil { return *x.Timestamp } return 0 } -func (x *CCSUsrMsg_RoundImpactScoreData_RisEvent) GetTerroristOdds() int32 { +func (x *CCSUsrMsg_RoundEndReportData_RerEvent) GetTerroristOdds() int32 { if x != nil && x.TerroristOdds != nil { return *x.TerroristOdds } return 0 } -func (x *CCSUsrMsg_RoundImpactScoreData_RisEvent) GetCtAlive() int32 { +func (x *CCSUsrMsg_RoundEndReportData_RerEvent) GetCtAlive() int32 { if x != nil && x.CtAlive != nil { return *x.CtAlive } return 0 } -func (x *CCSUsrMsg_RoundImpactScoreData_RisEvent) GetTAlive() int32 { +func (x *CCSUsrMsg_RoundEndReportData_RerEvent) GetTAlive() int32 { if x != nil && x.TAlive != nil { return *x.TAlive } return 0 } -func (x *CCSUsrMsg_RoundImpactScoreData_RisEvent) GetVictimData() *CCSUsrMsg_RoundImpactScoreData_RisEvent_Victim { +func (x *CCSUsrMsg_RoundEndReportData_RerEvent) GetVictimData() *CCSUsrMsg_RoundEndReportData_RerEvent_Victim { if x != nil { return x.VictimData } return nil } -func (x *CCSUsrMsg_RoundImpactScoreData_RisEvent) GetObjectiveData() *CCSUsrMsg_RoundImpactScoreData_RisEvent_Objective { +func (x *CCSUsrMsg_RoundEndReportData_RerEvent) GetObjectiveData() *CCSUsrMsg_RoundEndReportData_RerEvent_Objective { if x != nil { return x.ObjectiveData } return nil } -func (x *CCSUsrMsg_RoundImpactScoreData_RisEvent) GetAllDamageData() []*CCSUsrMsg_RoundImpactScoreData_RisEvent_Damage { +func (x *CCSUsrMsg_RoundEndReportData_RerEvent) GetAllDamageData() []*CCSUsrMsg_RoundEndReportData_RerEvent_Damage { if x != nil { return x.AllDamageData } return nil } -type CCSUsrMsg_RoundImpactScoreData_InitialConditions struct { +type CCSUsrMsg_RoundEndReportData_InitialConditions struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields @@ -5664,23 +5454,23 @@ type CCSUsrMsg_RoundImpactScoreData_InitialConditions struct { TerroristOdds *int32 `protobuf:"varint,3,opt,name=terrorist_odds,json=terroristOdds" json:"terrorist_odds,omitempty"` } -func (x *CCSUsrMsg_RoundImpactScoreData_InitialConditions) Reset() { - *x = CCSUsrMsg_RoundImpactScoreData_InitialConditions{} +func (x *CCSUsrMsg_RoundEndReportData_InitialConditions) Reset() { + *x = CCSUsrMsg_RoundEndReportData_InitialConditions{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[85] + mi := &file_cstrike15_usermessages_proto_msgTypes[81] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CCSUsrMsg_RoundImpactScoreData_InitialConditions) String() string { +func (x *CCSUsrMsg_RoundEndReportData_InitialConditions) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CCSUsrMsg_RoundImpactScoreData_InitialConditions) ProtoMessage() {} +func (*CCSUsrMsg_RoundEndReportData_InitialConditions) ProtoMessage() {} -func (x *CCSUsrMsg_RoundImpactScoreData_InitialConditions) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[85] +func (x *CCSUsrMsg_RoundEndReportData_InitialConditions) ProtoReflect() protoreflect.Message { + mi := &file_cstrike15_usermessages_proto_msgTypes[81] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5691,62 +5481,67 @@ func (x *CCSUsrMsg_RoundImpactScoreData_InitialConditions) ProtoReflect() protor return mi.MessageOf(x) } -// Deprecated: Use CCSUsrMsg_RoundImpactScoreData_InitialConditions.ProtoReflect.Descriptor instead. -func (*CCSUsrMsg_RoundImpactScoreData_InitialConditions) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{61, 1} +// Deprecated: Use CCSUsrMsg_RoundEndReportData_InitialConditions.ProtoReflect.Descriptor instead. +func (*CCSUsrMsg_RoundEndReportData_InitialConditions) Descriptor() ([]byte, []int) { + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{57, 1} } -func (x *CCSUsrMsg_RoundImpactScoreData_InitialConditions) GetCtEquipValue() int32 { +func (x *CCSUsrMsg_RoundEndReportData_InitialConditions) GetCtEquipValue() int32 { if x != nil && x.CtEquipValue != nil { return *x.CtEquipValue } return 0 } -func (x *CCSUsrMsg_RoundImpactScoreData_InitialConditions) GetTEquipValue() int32 { +func (x *CCSUsrMsg_RoundEndReportData_InitialConditions) GetTEquipValue() int32 { if x != nil && x.TEquipValue != nil { return *x.TEquipValue } return 0 } -func (x *CCSUsrMsg_RoundImpactScoreData_InitialConditions) GetTerroristOdds() int32 { +func (x *CCSUsrMsg_RoundEndReportData_InitialConditions) GetTerroristOdds() int32 { if x != nil && x.TerroristOdds != nil { return *x.TerroristOdds } return 0 } -type CCSUsrMsg_RoundImpactScoreData_RisEvent_Victim struct { +type CCSUsrMsg_RoundEndReportData_RerEvent_Victim struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields TeamNumber *int32 `protobuf:"varint,1,opt,name=team_number,json=teamNumber" json:"team_number,omitempty"` - Entindex *int32 `protobuf:"varint,2,opt,name=entindex" json:"entindex,omitempty"` + Playerslot *int32 `protobuf:"varint,2,opt,name=playerslot,def=-1" json:"playerslot,omitempty"` Xuid *uint64 `protobuf:"varint,3,opt,name=xuid" json:"xuid,omitempty"` Color *int32 `protobuf:"varint,4,opt,name=color" json:"color,omitempty"` IsBot *bool `protobuf:"varint,5,opt,name=is_bot,json=isBot" json:"is_bot,omitempty"` IsDead *bool `protobuf:"varint,6,opt,name=is_dead,json=isDead" json:"is_dead,omitempty"` } -func (x *CCSUsrMsg_RoundImpactScoreData_RisEvent_Victim) Reset() { - *x = CCSUsrMsg_RoundImpactScoreData_RisEvent_Victim{} +// Default values for CCSUsrMsg_RoundEndReportData_RerEvent_Victim fields. +const ( + Default_CCSUsrMsg_RoundEndReportData_RerEvent_Victim_Playerslot = int32(-1) +) + +func (x *CCSUsrMsg_RoundEndReportData_RerEvent_Victim) Reset() { + *x = CCSUsrMsg_RoundEndReportData_RerEvent_Victim{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[86] + mi := &file_cstrike15_usermessages_proto_msgTypes[82] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CCSUsrMsg_RoundImpactScoreData_RisEvent_Victim) String() string { +func (x *CCSUsrMsg_RoundEndReportData_RerEvent_Victim) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CCSUsrMsg_RoundImpactScoreData_RisEvent_Victim) ProtoMessage() {} +func (*CCSUsrMsg_RoundEndReportData_RerEvent_Victim) ProtoMessage() {} -func (x *CCSUsrMsg_RoundImpactScoreData_RisEvent_Victim) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[86] +func (x *CCSUsrMsg_RoundEndReportData_RerEvent_Victim) ProtoReflect() protoreflect.Message { + mi := &file_cstrike15_usermessages_proto_msgTypes[82] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5757,54 +5552,54 @@ func (x *CCSUsrMsg_RoundImpactScoreData_RisEvent_Victim) ProtoReflect() protoref return mi.MessageOf(x) } -// Deprecated: Use CCSUsrMsg_RoundImpactScoreData_RisEvent_Victim.ProtoReflect.Descriptor instead. -func (*CCSUsrMsg_RoundImpactScoreData_RisEvent_Victim) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{61, 0, 0} +// Deprecated: Use CCSUsrMsg_RoundEndReportData_RerEvent_Victim.ProtoReflect.Descriptor instead. +func (*CCSUsrMsg_RoundEndReportData_RerEvent_Victim) Descriptor() ([]byte, []int) { + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{57, 0, 0} } -func (x *CCSUsrMsg_RoundImpactScoreData_RisEvent_Victim) GetTeamNumber() int32 { +func (x *CCSUsrMsg_RoundEndReportData_RerEvent_Victim) GetTeamNumber() int32 { if x != nil && x.TeamNumber != nil { return *x.TeamNumber } return 0 } -func (x *CCSUsrMsg_RoundImpactScoreData_RisEvent_Victim) GetEntindex() int32 { - if x != nil && x.Entindex != nil { - return *x.Entindex +func (x *CCSUsrMsg_RoundEndReportData_RerEvent_Victim) GetPlayerslot() int32 { + if x != nil && x.Playerslot != nil { + return *x.Playerslot } - return 0 + return Default_CCSUsrMsg_RoundEndReportData_RerEvent_Victim_Playerslot } -func (x *CCSUsrMsg_RoundImpactScoreData_RisEvent_Victim) GetXuid() uint64 { +func (x *CCSUsrMsg_RoundEndReportData_RerEvent_Victim) GetXuid() uint64 { if x != nil && x.Xuid != nil { return *x.Xuid } return 0 } -func (x *CCSUsrMsg_RoundImpactScoreData_RisEvent_Victim) GetColor() int32 { +func (x *CCSUsrMsg_RoundEndReportData_RerEvent_Victim) GetColor() int32 { if x != nil && x.Color != nil { return *x.Color } return 0 } -func (x *CCSUsrMsg_RoundImpactScoreData_RisEvent_Victim) GetIsBot() bool { +func (x *CCSUsrMsg_RoundEndReportData_RerEvent_Victim) GetIsBot() bool { if x != nil && x.IsBot != nil { return *x.IsBot } return false } -func (x *CCSUsrMsg_RoundImpactScoreData_RisEvent_Victim) GetIsDead() bool { +func (x *CCSUsrMsg_RoundEndReportData_RerEvent_Victim) GetIsDead() bool { if x != nil && x.IsDead != nil { return *x.IsDead } return false } -type CCSUsrMsg_RoundImpactScoreData_RisEvent_Objective struct { +type CCSUsrMsg_RoundEndReportData_RerEvent_Objective struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields @@ -5812,23 +5607,23 @@ type CCSUsrMsg_RoundImpactScoreData_RisEvent_Objective struct { Type *int32 `protobuf:"varint,1,opt,name=type" json:"type,omitempty"` } -func (x *CCSUsrMsg_RoundImpactScoreData_RisEvent_Objective) Reset() { - *x = CCSUsrMsg_RoundImpactScoreData_RisEvent_Objective{} +func (x *CCSUsrMsg_RoundEndReportData_RerEvent_Objective) Reset() { + *x = CCSUsrMsg_RoundEndReportData_RerEvent_Objective{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[87] + mi := &file_cstrike15_usermessages_proto_msgTypes[83] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CCSUsrMsg_RoundImpactScoreData_RisEvent_Objective) String() string { +func (x *CCSUsrMsg_RoundEndReportData_RerEvent_Objective) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CCSUsrMsg_RoundImpactScoreData_RisEvent_Objective) ProtoMessage() {} +func (*CCSUsrMsg_RoundEndReportData_RerEvent_Objective) ProtoMessage() {} -func (x *CCSUsrMsg_RoundImpactScoreData_RisEvent_Objective) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[87] +func (x *CCSUsrMsg_RoundEndReportData_RerEvent_Objective) ProtoReflect() protoreflect.Message { + mi := &file_cstrike15_usermessages_proto_msgTypes[83] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5839,48 +5634,53 @@ func (x *CCSUsrMsg_RoundImpactScoreData_RisEvent_Objective) ProtoReflect() proto return mi.MessageOf(x) } -// Deprecated: Use CCSUsrMsg_RoundImpactScoreData_RisEvent_Objective.ProtoReflect.Descriptor instead. -func (*CCSUsrMsg_RoundImpactScoreData_RisEvent_Objective) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{61, 0, 1} +// Deprecated: Use CCSUsrMsg_RoundEndReportData_RerEvent_Objective.ProtoReflect.Descriptor instead. +func (*CCSUsrMsg_RoundEndReportData_RerEvent_Objective) Descriptor() ([]byte, []int) { + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{57, 0, 1} } -func (x *CCSUsrMsg_RoundImpactScoreData_RisEvent_Objective) GetType() int32 { +func (x *CCSUsrMsg_RoundEndReportData_RerEvent_Objective) GetType() int32 { if x != nil && x.Type != nil { return *x.Type } return 0 } -type CCSUsrMsg_RoundImpactScoreData_RisEvent_Damage struct { +type CCSUsrMsg_RoundEndReportData_RerEvent_Damage struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - TargetEntindex *int32 `protobuf:"varint,1,opt,name=target_entindex,json=targetEntindex" json:"target_entindex,omitempty"` - TargetXuid *uint64 `protobuf:"varint,2,opt,name=target_xuid,json=targetXuid" json:"target_xuid,omitempty"` + OtherPlayerslot *int32 `protobuf:"varint,1,opt,name=other_playerslot,json=otherPlayerslot,def=-1" json:"other_playerslot,omitempty"` + OtherXuid *uint64 `protobuf:"varint,2,opt,name=other_xuid,json=otherXuid" json:"other_xuid,omitempty"` HealthRemoved *int32 `protobuf:"varint,3,opt,name=health_removed,json=healthRemoved" json:"health_removed,omitempty"` NumHits *int32 `protobuf:"varint,4,opt,name=num_hits,json=numHits" json:"num_hits,omitempty"` ReturnHealthRemoved *int32 `protobuf:"varint,5,opt,name=return_health_removed,json=returnHealthRemoved" json:"return_health_removed,omitempty"` - NumReturnHits *int32 `protobuf:"varint,6,opt,name=num_return_hits,json=numReturnHits" json:"num_return_hits,omitempty"` + ReturnNumHits *int32 `protobuf:"varint,6,opt,name=return_num_hits,json=returnNumHits" json:"return_num_hits,omitempty"` } -func (x *CCSUsrMsg_RoundImpactScoreData_RisEvent_Damage) Reset() { - *x = CCSUsrMsg_RoundImpactScoreData_RisEvent_Damage{} +// Default values for CCSUsrMsg_RoundEndReportData_RerEvent_Damage fields. +const ( + Default_CCSUsrMsg_RoundEndReportData_RerEvent_Damage_OtherPlayerslot = int32(-1) +) + +func (x *CCSUsrMsg_RoundEndReportData_RerEvent_Damage) Reset() { + *x = CCSUsrMsg_RoundEndReportData_RerEvent_Damage{} if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[88] + mi := &file_cstrike15_usermessages_proto_msgTypes[84] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CCSUsrMsg_RoundImpactScoreData_RisEvent_Damage) String() string { +func (x *CCSUsrMsg_RoundEndReportData_RerEvent_Damage) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CCSUsrMsg_RoundImpactScoreData_RisEvent_Damage) ProtoMessage() {} +func (*CCSUsrMsg_RoundEndReportData_RerEvent_Damage) ProtoMessage() {} -func (x *CCSUsrMsg_RoundImpactScoreData_RisEvent_Damage) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[88] +func (x *CCSUsrMsg_RoundEndReportData_RerEvent_Damage) ProtoReflect() protoreflect.Message { + mi := &file_cstrike15_usermessages_proto_msgTypes[84] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5891,568 +5691,483 @@ func (x *CCSUsrMsg_RoundImpactScoreData_RisEvent_Damage) ProtoReflect() protoref return mi.MessageOf(x) } -// Deprecated: Use CCSUsrMsg_RoundImpactScoreData_RisEvent_Damage.ProtoReflect.Descriptor instead. -func (*CCSUsrMsg_RoundImpactScoreData_RisEvent_Damage) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{61, 0, 2} +// Deprecated: Use CCSUsrMsg_RoundEndReportData_RerEvent_Damage.ProtoReflect.Descriptor instead. +func (*CCSUsrMsg_RoundEndReportData_RerEvent_Damage) Descriptor() ([]byte, []int) { + return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{57, 0, 2} } -func (x *CCSUsrMsg_RoundImpactScoreData_RisEvent_Damage) GetTargetEntindex() int32 { - if x != nil && x.TargetEntindex != nil { - return *x.TargetEntindex +func (x *CCSUsrMsg_RoundEndReportData_RerEvent_Damage) GetOtherPlayerslot() int32 { + if x != nil && x.OtherPlayerslot != nil { + return *x.OtherPlayerslot } - return 0 + return Default_CCSUsrMsg_RoundEndReportData_RerEvent_Damage_OtherPlayerslot } -func (x *CCSUsrMsg_RoundImpactScoreData_RisEvent_Damage) GetTargetXuid() uint64 { - if x != nil && x.TargetXuid != nil { - return *x.TargetXuid +func (x *CCSUsrMsg_RoundEndReportData_RerEvent_Damage) GetOtherXuid() uint64 { + if x != nil && x.OtherXuid != nil { + return *x.OtherXuid } return 0 } -func (x *CCSUsrMsg_RoundImpactScoreData_RisEvent_Damage) GetHealthRemoved() int32 { +func (x *CCSUsrMsg_RoundEndReportData_RerEvent_Damage) GetHealthRemoved() int32 { if x != nil && x.HealthRemoved != nil { return *x.HealthRemoved } return 0 } -func (x *CCSUsrMsg_RoundImpactScoreData_RisEvent_Damage) GetNumHits() int32 { +func (x *CCSUsrMsg_RoundEndReportData_RerEvent_Damage) GetNumHits() int32 { if x != nil && x.NumHits != nil { return *x.NumHits } return 0 } -func (x *CCSUsrMsg_RoundImpactScoreData_RisEvent_Damage) GetReturnHealthRemoved() int32 { +func (x *CCSUsrMsg_RoundEndReportData_RerEvent_Damage) GetReturnHealthRemoved() int32 { if x != nil && x.ReturnHealthRemoved != nil { return *x.ReturnHealthRemoved } return 0 } -func (x *CCSUsrMsg_RoundImpactScoreData_RisEvent_Damage) GetNumReturnHits() int32 { - if x != nil && x.NumReturnHits != nil { - return *x.NumReturnHits - } - return 0 -} - -type CCSUsrMsg_UtilMsg_Response_ItemDetail struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Index *int32 `protobuf:"varint,1,opt,name=index" json:"index,omitempty"` - Hash *int32 `protobuf:"varint,2,opt,name=hash" json:"hash,omitempty"` - Crc *int32 `protobuf:"varint,3,opt,name=crc" json:"crc,omitempty"` - Name *string `protobuf:"bytes,4,opt,name=name" json:"name,omitempty"` -} - -func (x *CCSUsrMsg_UtilMsg_Response_ItemDetail) Reset() { - *x = CCSUsrMsg_UtilMsg_Response_ItemDetail{} - if protoimpl.UnsafeEnabled { - mi := &file_cstrike15_usermessages_proto_msgTypes[89] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *CCSUsrMsg_UtilMsg_Response_ItemDetail) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*CCSUsrMsg_UtilMsg_Response_ItemDetail) ProtoMessage() {} - -func (x *CCSUsrMsg_UtilMsg_Response_ItemDetail) ProtoReflect() protoreflect.Message { - mi := &file_cstrike15_usermessages_proto_msgTypes[89] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use CCSUsrMsg_UtilMsg_Response_ItemDetail.ProtoReflect.Descriptor instead. -func (*CCSUsrMsg_UtilMsg_Response_ItemDetail) Descriptor() ([]byte, []int) { - return file_cstrike15_usermessages_proto_rawDescGZIP(), []int{73, 0} -} - -func (x *CCSUsrMsg_UtilMsg_Response_ItemDetail) GetIndex() int32 { - if x != nil && x.Index != nil { - return *x.Index - } - return 0 -} - -func (x *CCSUsrMsg_UtilMsg_Response_ItemDetail) GetHash() int32 { - if x != nil && x.Hash != nil { - return *x.Hash - } - return 0 -} - -func (x *CCSUsrMsg_UtilMsg_Response_ItemDetail) GetCrc() int32 { - if x != nil && x.Crc != nil { - return *x.Crc +func (x *CCSUsrMsg_RoundEndReportData_RerEvent_Damage) GetReturnNumHits() int32 { + if x != nil && x.ReturnNumHits != nil { + return *x.ReturnNumHits } return 0 } -func (x *CCSUsrMsg_UtilMsg_Response_ItemDetail) GetName() string { - if x != nil && x.Name != nil { - return *x.Name - } - return "" -} - var File_cstrike15_usermessages_proto protoreflect.FileDescriptor var file_cstrike15_usermessages_proto_rawDesc = []byte{ 0x0a, 0x1c, 0x63, 0x73, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x75, 0x73, 0x65, 0x72, - 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, - 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x1a, 0x11, 0x6e, 0x65, 0x74, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x1a, 0x1a, 0x63, 0x73, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x67, - 0x63, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, - 0xa2, 0x01, 0x0a, 0x12, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x56, 0x47, - 0x55, 0x49, 0x4d, 0x65, 0x6e, 0x75, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x68, - 0x6f, 0x77, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x73, 0x68, 0x6f, 0x77, 0x12, 0x34, - 0x0a, 0x07, 0x73, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x1a, 0x2e, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x56, 0x47, 0x55, 0x49, - 0x4d, 0x65, 0x6e, 0x75, 0x2e, 0x53, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x52, 0x07, 0x73, 0x75, 0x62, - 0x6b, 0x65, 0x79, 0x73, 0x1a, 0x2e, 0x0a, 0x06, 0x53, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x12, 0x12, - 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x74, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x03, 0x73, 0x74, 0x72, 0x22, 0x28, 0x0a, 0x10, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, - 0x67, 0x5f, 0x47, 0x65, 0x69, 0x67, 0x65, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x61, 0x6e, 0x67, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x22, 0x27, - 0x0a, 0x0f, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x54, 0x72, 0x61, 0x69, - 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x05, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x22, 0x27, 0x0a, 0x11, 0x43, 0x43, 0x53, 0x55, 0x73, - 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x48, 0x75, 0x64, 0x54, 0x65, 0x78, 0x74, 0x12, 0x12, 0x0a, 0x04, - 0x74, 0x65, 0x78, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x65, 0x78, 0x74, - 0x22, 0x76, 0x0a, 0x11, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x61, - 0x79, 0x54, 0x65, 0x78, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x78, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x78, 0x12, 0x12, - 0x0a, 0x04, 0x74, 0x65, 0x78, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x65, - 0x78, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x68, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x04, 0x63, 0x68, 0x61, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x74, 0x65, 0x78, 0x74, 0x61, 0x6c, - 0x6c, 0x63, 0x68, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x74, 0x65, 0x78, - 0x74, 0x61, 0x6c, 0x6c, 0x63, 0x68, 0x61, 0x74, 0x22, 0x96, 0x01, 0x0a, 0x12, 0x43, 0x43, 0x53, - 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x61, 0x79, 0x54, 0x65, 0x78, 0x74, 0x32, 0x12, - 0x17, 0x0a, 0x07, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x06, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x78, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x68, 0x61, 0x74, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x63, 0x68, 0x61, 0x74, 0x12, 0x19, 0x0a, 0x08, - 0x6d, 0x73, 0x67, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, - 0x6d, 0x73, 0x67, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, - 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, - 0x20, 0x0a, 0x0b, 0x74, 0x65, 0x78, 0x74, 0x61, 0x6c, 0x6c, 0x63, 0x68, 0x61, 0x74, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x74, 0x65, 0x78, 0x74, 0x61, 0x6c, 0x6c, 0x63, 0x68, 0x61, - 0x74, 0x22, 0x44, 0x0a, 0x11, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x54, - 0x65, 0x78, 0x74, 0x4d, 0x73, 0x67, 0x12, 0x17, 0x0a, 0x07, 0x6d, 0x73, 0x67, 0x5f, 0x64, 0x73, - 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x6d, 0x73, 0x67, 0x44, 0x73, 0x74, 0x12, - 0x16, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, - 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0xb3, 0x02, 0x0a, 0x10, 0x43, 0x43, 0x53, 0x55, - 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x48, 0x75, 0x64, 0x4d, 0x73, 0x67, 0x12, 0x18, 0x0a, 0x07, - 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x63, - 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x1f, 0x0a, 0x03, 0x70, 0x6f, 0x73, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, - 0x32, 0x44, 0x52, 0x03, 0x70, 0x6f, 0x73, 0x12, 0x1d, 0x0a, 0x04, 0x63, 0x6c, 0x72, 0x31, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x52, 0x47, 0x42, 0x41, - 0x52, 0x04, 0x63, 0x6c, 0x72, 0x31, 0x12, 0x1d, 0x0a, 0x04, 0x63, 0x6c, 0x72, 0x32, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x52, 0x47, 0x42, 0x41, 0x52, - 0x04, 0x63, 0x6c, 0x72, 0x32, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x12, 0x20, 0x0a, - 0x0c, 0x66, 0x61, 0x64, 0x65, 0x5f, 0x69, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x02, 0x52, 0x0a, 0x66, 0x61, 0x64, 0x65, 0x49, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, - 0x22, 0x0a, 0x0d, 0x66, 0x61, 0x64, 0x65, 0x5f, 0x6f, 0x75, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, - 0x18, 0x07, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0b, 0x66, 0x61, 0x64, 0x65, 0x4f, 0x75, 0x74, 0x54, - 0x69, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x68, 0x6f, 0x6c, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, - 0x18, 0x09, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x68, 0x6f, 0x6c, 0x64, 0x54, 0x69, 0x6d, 0x65, - 0x12, 0x17, 0x0a, 0x07, 0x66, 0x78, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, - 0x02, 0x52, 0x06, 0x66, 0x78, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, 0x78, - 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x65, 0x78, 0x74, 0x22, 0x8e, 0x01, - 0x0a, 0x0f, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x68, 0x61, 0x6b, - 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x6c, - 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x61, 0x6d, 0x70, 0x6c, 0x69, 0x74, 0x75, 0x64, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x02, 0x52, 0x0e, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x41, 0x6d, 0x70, 0x6c, 0x69, - 0x74, 0x75, 0x64, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x66, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, - 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x09, 0x66, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, - 0x63, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x7c, - 0x0a, 0x0e, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x46, 0x61, 0x64, 0x65, - 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x09, - 0x68, 0x6f, 0x6c, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x08, 0x68, 0x6f, 0x6c, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6c, 0x61, - 0x67, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x12, - 0x1b, 0x0a, 0x03, 0x63, 0x6c, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x43, - 0x4d, 0x73, 0x67, 0x52, 0x47, 0x42, 0x41, 0x52, 0x03, 0x63, 0x6c, 0x72, 0x22, 0x52, 0x0a, 0x10, - 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x52, 0x75, 0x6d, 0x62, 0x6c, 0x65, - 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6c, - 0x61, 0x67, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, - 0x22, 0x83, 0x01, 0x0a, 0x16, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x43, - 0x6c, 0x6f, 0x73, 0x65, 0x43, 0x61, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x68, - 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x68, 0x61, 0x73, 0x68, 0x12, - 0x1a, 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x66, - 0x72, 0x6f, 0x6d, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x0a, 0x66, 0x72, 0x6f, 0x6d, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, - 0x63, 0x63, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, - 0x63, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x6f, 0x0a, 0x1c, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, - 0x4d, 0x73, 0x67, 0x5f, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x43, 0x61, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x68, 0x61, 0x73, 0x68, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x75, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x64, 0x75, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x70, - 0x6c, 0x61, 0x79, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x66, 0x72, 0x6f, - 0x6d, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x22, 0x36, 0x0a, 0x13, 0x43, 0x43, 0x53, 0x55, 0x73, - 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x65, 0x6e, 0x64, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x12, 0x1f, - 0x0a, 0x0b, 0x72, 0x61, 0x64, 0x69, 0x6f, 0x5f, 0x73, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x61, 0x64, 0x69, 0x6f, 0x53, 0x6f, 0x75, 0x6e, 0x64, 0x22, - 0x85, 0x01, 0x0a, 0x12, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x52, 0x61, - 0x77, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x69, 0x74, 0x63, 0x68, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x70, 0x69, 0x74, 0x63, 0x68, 0x12, 0x16, 0x0a, 0x06, - 0x65, 0x6e, 0x74, 0x69, 0x64, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x65, 0x6e, - 0x74, 0x69, 0x64, 0x78, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x12, 0x25, 0x0a, 0x0e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x46, - 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xd8, 0x01, 0x0a, 0x13, 0x43, 0x43, 0x53, 0x55, - 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x56, 0x6f, 0x69, 0x63, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x12, - 0x42, 0x0a, 0x0c, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x73, 0x18, - 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, - 0x67, 0x5f, 0x56, 0x6f, 0x69, 0x63, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x2e, 0x50, 0x6c, 0x61, 0x79, - 0x65, 0x72, 0x4d, 0x61, 0x73, 0x6b, 0x52, 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4d, 0x61, - 0x73, 0x6b, 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x6d, 0x6f, - 0x64, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, - 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4d, 0x6f, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x1a, - 0x51, 0x0a, 0x0a, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4d, 0x61, 0x73, 0x6b, 0x12, 0x26, 0x0a, - 0x0f, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x5f, 0x6d, 0x61, 0x73, 0x6b, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x67, 0x61, 0x6d, 0x65, 0x52, 0x75, 0x6c, 0x65, - 0x73, 0x4d, 0x61, 0x73, 0x6b, 0x12, 0x1b, 0x0a, 0x09, 0x62, 0x61, 0x6e, 0x5f, 0x6d, 0x61, 0x73, - 0x6b, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x62, 0x61, 0x6e, 0x4d, 0x61, 0x73, - 0x6b, 0x73, 0x22, 0x90, 0x01, 0x0a, 0x10, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, - 0x5f, 0x44, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, - 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, - 0x3b, 0x0a, 0x13, 0x69, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x6f, 0x72, 0x5f, 0x77, 0x6f, 0x72, - 0x6c, 0x64, 0x5f, 0x70, 0x6f, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x43, - 0x4d, 0x73, 0x67, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x11, 0x69, 0x6e, 0x66, 0x6c, 0x69, - 0x63, 0x74, 0x6f, 0x72, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x50, 0x6f, 0x73, 0x12, 0x27, 0x0a, 0x0f, - 0x76, 0x69, 0x63, 0x74, 0x69, 0x6d, 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x76, 0x69, 0x63, 0x74, 0x69, 0x6d, 0x45, 0x6e, 0x74, - 0x69, 0x6e, 0x64, 0x65, 0x78, 0x22, 0x79, 0x0a, 0x13, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, - 0x73, 0x67, 0x5f, 0x52, 0x61, 0x64, 0x69, 0x6f, 0x54, 0x65, 0x78, 0x74, 0x12, 0x17, 0x0a, 0x07, - 0x6d, 0x73, 0x67, 0x5f, 0x64, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x6d, - 0x73, 0x67, 0x44, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x12, 0x19, 0x0a, - 0x08, 0x6d, 0x73, 0x67, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x07, 0x6d, 0x73, 0x67, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, - 0x6d, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, - 0x22, 0x28, 0x0a, 0x12, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x48, 0x69, - 0x6e, 0x74, 0x54, 0x65, 0x78, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, 0x78, 0x74, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x65, 0x78, 0x74, 0x22, 0x2d, 0x0a, 0x15, 0x43, 0x43, - 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x4b, 0x65, 0x79, 0x48, 0x69, 0x6e, 0x74, 0x54, - 0x65, 0x78, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x68, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, - 0x28, 0x09, 0x52, 0x05, 0x68, 0x69, 0x6e, 0x74, 0x73, 0x22, 0xcf, 0x03, 0x0a, 0x24, 0x43, 0x43, - 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x53, - 0x70, 0x6f, 0x74, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6e, 0x65, 0x77, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x6e, 0x65, 0x77, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x12, 0x60, 0x0a, 0x0e, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x75, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x43, 0x43, 0x53, 0x55, + 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x16, + 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x62, 0x61, 0x73, 0x65, 0x74, 0x79, 0x70, 0x65, 0x73, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1a, 0x63, 0x73, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, + 0x35, 0x5f, 0x67, 0x63, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x22, 0x9c, 0x01, 0x0a, 0x12, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, + 0x5f, 0x56, 0x47, 0x55, 0x49, 0x4d, 0x65, 0x6e, 0x75, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, + 0x04, 0x73, 0x68, 0x6f, 0x77, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x73, 0x68, 0x6f, + 0x77, 0x12, 0x2c, 0x0a, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x18, 0x2e, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x56, 0x47, 0x55, 0x49, + 0x4d, 0x65, 0x6e, 0x75, 0x2e, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x1a, + 0x30, 0x0a, 0x04, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x22, 0x28, 0x0a, 0x10, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x47, + 0x65, 0x69, 0x67, 0x65, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x22, 0x27, 0x0a, 0x0f, 0x43, + 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x12, 0x14, + 0x0a, 0x05, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x74, + 0x72, 0x61, 0x69, 0x6e, 0x22, 0x27, 0x0a, 0x11, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, + 0x67, 0x5f, 0x48, 0x75, 0x64, 0x54, 0x65, 0x78, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, 0x78, + 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x65, 0x78, 0x74, 0x22, 0xb3, 0x02, + 0x0a, 0x10, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x48, 0x75, 0x64, 0x4d, + 0x73, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x1f, 0x0a, 0x03, + 0x70, 0x6f, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x43, 0x4d, 0x73, 0x67, + 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x32, 0x44, 0x52, 0x03, 0x70, 0x6f, 0x73, 0x12, 0x1d, 0x0a, + 0x04, 0x63, 0x6c, 0x72, 0x31, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x43, 0x4d, + 0x73, 0x67, 0x52, 0x47, 0x42, 0x41, 0x52, 0x04, 0x63, 0x6c, 0x72, 0x31, 0x12, 0x1d, 0x0a, 0x04, + 0x63, 0x6c, 0x72, 0x32, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x43, 0x4d, 0x73, + 0x67, 0x52, 0x47, 0x42, 0x41, 0x52, 0x04, 0x63, 0x6c, 0x72, 0x32, 0x12, 0x16, 0x0a, 0x06, 0x65, + 0x66, 0x66, 0x65, 0x63, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x65, 0x66, 0x66, + 0x65, 0x63, 0x74, 0x12, 0x20, 0x0a, 0x0c, 0x66, 0x61, 0x64, 0x65, 0x5f, 0x69, 0x6e, 0x5f, 0x74, + 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x66, 0x61, 0x64, 0x65, 0x49, + 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0d, 0x66, 0x61, 0x64, 0x65, 0x5f, 0x6f, 0x75, + 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0b, 0x66, 0x61, + 0x64, 0x65, 0x4f, 0x75, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x68, 0x6f, 0x6c, + 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x68, 0x6f, + 0x6c, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x66, 0x78, 0x5f, 0x74, 0x69, 0x6d, + 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x02, 0x52, 0x06, 0x66, 0x78, 0x54, 0x69, 0x6d, 0x65, 0x12, + 0x12, 0x0a, 0x04, 0x74, 0x65, 0x78, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, + 0x65, 0x78, 0x74, 0x22, 0x8e, 0x01, 0x0a, 0x0f, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, + 0x67, 0x5f, 0x53, 0x68, 0x61, 0x6b, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, + 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, + 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x61, 0x6d, 0x70, 0x6c, 0x69, + 0x74, 0x75, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0e, 0x6c, 0x6f, 0x63, 0x61, + 0x6c, 0x41, 0x6d, 0x70, 0x6c, 0x69, 0x74, 0x75, 0x64, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x66, 0x72, + 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x09, 0x66, + 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x7c, 0x0a, 0x0e, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, + 0x67, 0x5f, 0x46, 0x61, 0x64, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x68, 0x6f, 0x6c, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x68, 0x6f, 0x6c, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, + 0x14, 0x0a, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, + 0x66, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x1b, 0x0a, 0x03, 0x63, 0x6c, 0x72, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x52, 0x47, 0x42, 0x41, 0x52, 0x03, 0x63, + 0x6c, 0x72, 0x22, 0x52, 0x0a, 0x10, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, + 0x52, 0x75, 0x6d, 0x62, 0x6c, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x12, 0x0a, 0x04, + 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, + 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x22, 0x83, 0x01, 0x0a, 0x16, 0x43, 0x43, 0x53, 0x55, 0x73, + 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x43, 0x61, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x04, 0x68, 0x61, 0x73, 0x68, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x66, 0x72, 0x6f, 0x6d, 0x50, 0x6c, 0x61, 0x79, + 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x63, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x63, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x6f, 0x0a, 0x1c, + 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x43, + 0x61, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x12, 0x12, 0x0a, 0x04, + 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x68, 0x61, 0x73, 0x68, + 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, + 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x0a, 0x66, 0x72, 0x6f, 0x6d, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x22, 0x36, 0x0a, + 0x13, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x65, 0x6e, 0x64, 0x41, + 0x75, 0x64, 0x69, 0x6f, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x61, 0x64, 0x69, 0x6f, 0x5f, 0x73, 0x6f, + 0x75, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x61, 0x64, 0x69, 0x6f, + 0x53, 0x6f, 0x75, 0x6e, 0x64, 0x22, 0x89, 0x01, 0x0a, 0x12, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, + 0x4d, 0x73, 0x67, 0x5f, 0x52, 0x61, 0x77, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x12, 0x14, 0x0a, 0x05, + 0x70, 0x69, 0x74, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x70, 0x69, 0x74, + 0x63, 0x68, 0x12, 0x1a, 0x0a, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x64, 0x78, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x05, 0x3a, 0x02, 0x2d, 0x31, 0x52, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x64, 0x78, 0x12, 0x1a, + 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, + 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0e, 0x76, 0x6f, + 0x69, 0x63, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0d, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, + 0x65, 0x22, 0xd8, 0x01, 0x0a, 0x13, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, + 0x56, 0x6f, 0x69, 0x63, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x12, 0x42, 0x0a, 0x0c, 0x70, 0x6c, 0x61, + 0x79, 0x65, 0x72, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x1f, 0x2e, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x56, 0x6f, 0x69, 0x63, + 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4d, 0x61, 0x73, 0x6b, + 0x52, 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4d, 0x61, 0x73, 0x6b, 0x73, 0x12, 0x2a, 0x0a, + 0x11, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x6d, 0x6f, 0x64, 0x5f, 0x65, 0x6e, 0x61, 0x62, + 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, + 0x4d, 0x6f, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x1a, 0x51, 0x0a, 0x0a, 0x50, 0x6c, 0x61, + 0x79, 0x65, 0x72, 0x4d, 0x61, 0x73, 0x6b, 0x12, 0x26, 0x0a, 0x0f, 0x67, 0x61, 0x6d, 0x65, 0x5f, + 0x72, 0x75, 0x6c, 0x65, 0x73, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x0d, 0x67, 0x61, 0x6d, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x4d, 0x61, 0x73, 0x6b, 0x12, + 0x1b, 0x0a, 0x09, 0x62, 0x61, 0x6e, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x73, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x08, 0x62, 0x61, 0x6e, 0x4d, 0x61, 0x73, 0x6b, 0x73, 0x22, 0x94, 0x01, 0x0a, + 0x10, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x44, 0x61, 0x6d, 0x61, 0x67, + 0x65, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x3b, 0x0a, 0x13, 0x69, 0x6e, 0x66, + 0x6c, 0x69, 0x63, 0x74, 0x6f, 0x72, 0x5f, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x5f, 0x70, 0x6f, 0x73, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x56, 0x65, 0x63, + 0x74, 0x6f, 0x72, 0x52, 0x11, 0x69, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x6f, 0x72, 0x57, 0x6f, + 0x72, 0x6c, 0x64, 0x50, 0x6f, 0x73, 0x12, 0x2b, 0x0a, 0x0f, 0x76, 0x69, 0x63, 0x74, 0x69, 0x6d, + 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x3a, + 0x02, 0x2d, 0x31, 0x52, 0x0e, 0x76, 0x69, 0x63, 0x74, 0x69, 0x6d, 0x45, 0x6e, 0x74, 0x69, 0x6e, + 0x64, 0x65, 0x78, 0x22, 0x7d, 0x0a, 0x13, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, + 0x5f, 0x52, 0x61, 0x64, 0x69, 0x6f, 0x54, 0x65, 0x78, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x6d, 0x73, + 0x67, 0x5f, 0x64, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x6d, 0x73, 0x67, + 0x44, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x06, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x05, 0x3a, 0x02, 0x2d, 0x31, 0x52, 0x06, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x12, + 0x19, 0x0a, 0x08, 0x6d, 0x73, 0x67, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x6d, 0x73, 0x67, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, + 0x72, 0x61, 0x6d, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, + 0x6d, 0x73, 0x22, 0x2e, 0x0a, 0x12, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, + 0x48, 0x69, 0x6e, 0x74, 0x54, 0x65, 0x78, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, + 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x22, 0x33, 0x0a, 0x15, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, + 0x4b, 0x65, 0x79, 0x48, 0x69, 0x6e, 0x74, 0x54, 0x65, 0x78, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6d, + 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x6d, + 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x22, 0xd3, 0x03, 0x0a, 0x24, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x53, 0x70, 0x6f, 0x74, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x2e, 0x53, 0x70, 0x6f, 0x74, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x52, 0x0d, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x73, 0x1a, 0xa5, 0x02, 0x0a, 0x13, 0x53, 0x70, 0x6f, 0x74, 0x74, 0x65, 0x64, 0x45, - 0x6e, 0x74, 0x69, 0x74, 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x65, - 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x09, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x78, 0x12, 0x19, 0x0a, 0x08, 0x63, 0x6c, - 0x61, 0x73, 0x73, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x63, 0x6c, - 0x61, 0x73, 0x73, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x5f, - 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x58, - 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x5f, 0x79, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x07, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x59, 0x12, 0x19, 0x0a, 0x08, 0x6f, - 0x72, 0x69, 0x67, 0x69, 0x6e, 0x5f, 0x7a, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x6f, - 0x72, 0x69, 0x67, 0x69, 0x6e, 0x5a, 0x12, 0x17, 0x0a, 0x07, 0x61, 0x6e, 0x67, 0x6c, 0x65, 0x5f, - 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x61, 0x6e, 0x67, 0x6c, 0x65, 0x59, 0x12, - 0x18, 0x0a, 0x07, 0x64, 0x65, 0x66, 0x75, 0x73, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x07, 0x64, 0x65, 0x66, 0x75, 0x73, 0x65, 0x72, 0x12, 0x2c, 0x0a, 0x12, 0x70, 0x6c, 0x61, - 0x79, 0x65, 0x72, 0x5f, 0x68, 0x61, 0x73, 0x5f, 0x64, 0x65, 0x66, 0x75, 0x73, 0x65, 0x72, 0x18, - 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x48, 0x61, 0x73, - 0x44, 0x65, 0x66, 0x75, 0x73, 0x65, 0x72, 0x12, 0x22, 0x0a, 0x0d, 0x70, 0x6c, 0x61, 0x79, 0x65, - 0x72, 0x5f, 0x68, 0x61, 0x73, 0x5f, 0x63, 0x34, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, - 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x48, 0x61, 0x73, 0x43, 0x34, 0x22, 0x62, 0x0a, 0x1d, 0x43, - 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x65, 0x6e, 0x64, 0x50, 0x6c, 0x61, - 0x79, 0x65, 0x72, 0x49, 0x74, 0x65, 0x6d, 0x44, 0x72, 0x6f, 0x70, 0x73, 0x12, 0x41, 0x0a, 0x0e, - 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x18, 0x01, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x43, 0x45, 0x63, 0x6f, 0x6e, 0x49, 0x74, 0x65, 0x6d, + 0x12, 0x1d, 0x0a, 0x0a, 0x6e, 0x65, 0x77, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x6e, 0x65, 0x77, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, + 0x60, 0x0a, 0x0e, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, + 0x4d, 0x73, 0x67, 0x5f, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x53, 0x70, 0x6f, 0x74, 0x74, + 0x65, 0x64, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x53, + 0x70, 0x6f, 0x74, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x52, 0x0d, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x73, 0x1a, 0xa9, 0x02, 0x0a, 0x13, 0x53, 0x70, 0x6f, 0x74, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x74, + 0x69, 0x74, 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x21, 0x0a, 0x0a, 0x65, 0x6e, 0x74, + 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x3a, 0x02, 0x2d, + 0x31, 0x52, 0x09, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x78, 0x12, 0x19, 0x0a, 0x08, + 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, + 0x63, 0x6c, 0x61, 0x73, 0x73, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x72, 0x69, 0x67, 0x69, + 0x6e, 0x5f, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x6f, 0x72, 0x69, 0x67, 0x69, + 0x6e, 0x58, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x5f, 0x79, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x59, 0x12, 0x19, 0x0a, + 0x08, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x5f, 0x7a, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x07, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x5a, 0x12, 0x17, 0x0a, 0x07, 0x61, 0x6e, 0x67, 0x6c, + 0x65, 0x5f, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x61, 0x6e, 0x67, 0x6c, 0x65, + 0x59, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x65, 0x66, 0x75, 0x73, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x07, 0x64, 0x65, 0x66, 0x75, 0x73, 0x65, 0x72, 0x12, 0x2c, 0x0a, 0x12, 0x70, + 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x68, 0x61, 0x73, 0x5f, 0x64, 0x65, 0x66, 0x75, 0x73, 0x65, + 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x48, + 0x61, 0x73, 0x44, 0x65, 0x66, 0x75, 0x73, 0x65, 0x72, 0x12, 0x22, 0x0a, 0x0d, 0x70, 0x6c, 0x61, + 0x79, 0x65, 0x72, 0x5f, 0x68, 0x61, 0x73, 0x5f, 0x63, 0x34, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x48, 0x61, 0x73, 0x43, 0x34, 0x22, 0x62, 0x0a, + 0x1d, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x65, 0x6e, 0x64, 0x50, + 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x74, 0x65, 0x6d, 0x44, 0x72, 0x6f, 0x70, 0x73, 0x12, 0x41, + 0x0a, 0x0e, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x43, 0x45, 0x63, 0x6f, 0x6e, 0x49, 0x74, + 0x65, 0x6d, 0x50, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x44, 0x61, 0x74, 0x61, 0x42, 0x6c, 0x6f, + 0x63, 0x6b, 0x52, 0x0d, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x73, 0x22, 0x7b, 0x0a, 0x1d, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x53, + 0x65, 0x6e, 0x64, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x74, 0x65, 0x6d, 0x46, 0x6f, 0x75, + 0x6e, 0x64, 0x12, 0x36, 0x0a, 0x08, 0x69, 0x74, 0x65, 0x6d, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x43, 0x45, 0x63, 0x6f, 0x6e, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x44, 0x61, 0x74, 0x61, 0x42, 0x6c, 0x6f, 0x63, 0x6b, - 0x52, 0x0d, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x22, - 0x73, 0x0a, 0x1d, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x65, 0x6e, - 0x64, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x74, 0x65, 0x6d, 0x46, 0x6f, 0x75, 0x6e, 0x64, - 0x12, 0x36, 0x0a, 0x08, 0x69, 0x74, 0x65, 0x6d, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x43, 0x45, 0x63, 0x6f, 0x6e, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x72, - 0x65, 0x76, 0x69, 0x65, 0x77, 0x44, 0x61, 0x74, 0x61, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x08, - 0x69, 0x74, 0x65, 0x6d, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x6e, 0x74, 0x69, - 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x65, 0x6e, 0x74, 0x69, - 0x6e, 0x64, 0x65, 0x78, 0x22, 0x9b, 0x01, 0x0a, 0x16, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, - 0x73, 0x67, 0x5f, 0x52, 0x65, 0x6c, 0x6f, 0x61, 0x64, 0x45, 0x66, 0x66, 0x65, 0x63, 0x74, 0x12, - 0x16, 0x0a, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x64, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x06, 0x65, 0x6e, 0x74, 0x69, 0x64, 0x78, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x63, 0x74, 0x61, 0x6e, - 0x69, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x61, 0x63, 0x74, 0x61, 0x6e, 0x69, - 0x6d, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x5f, 0x78, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x02, 0x52, 0x07, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x58, 0x12, 0x19, 0x0a, 0x08, - 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x5f, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x07, - 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x59, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x72, 0x69, 0x67, 0x69, - 0x6e, 0x5f, 0x7a, 0x18, 0x05, 0x20, 0x01, 0x28, 0x02, 0x52, 0x07, 0x6f, 0x72, 0x69, 0x67, 0x69, - 0x6e, 0x5a, 0x22, 0xb4, 0x01, 0x0a, 0x15, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, - 0x5f, 0x57, 0x65, 0x61, 0x70, 0x6f, 0x6e, 0x53, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x16, 0x0a, 0x06, - 0x65, 0x6e, 0x74, 0x69, 0x64, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x65, 0x6e, - 0x74, 0x69, 0x64, 0x78, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x5f, 0x78, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x07, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x58, 0x12, - 0x19, 0x0a, 0x08, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x5f, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x02, 0x52, 0x07, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x59, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x72, - 0x69, 0x67, 0x69, 0x6e, 0x5f, 0x7a, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x07, 0x6f, 0x72, - 0x69, 0x67, 0x69, 0x6e, 0x5a, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x74, - 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x06, 0x20, 0x01, 0x28, 0x02, 0x52, 0x09, - 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0xa1, 0x01, 0x0a, 0x1f, 0x43, 0x43, - 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x63, - 0x72, 0x65, 0x65, 0x6e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x42, 0x61, 0x72, 0x12, 0x16, 0x0a, - 0x06, 0x65, 0x6e, 0x74, 0x69, 0x64, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x65, - 0x6e, 0x74, 0x69, 0x64, 0x78, 0x12, 0x27, 0x0a, 0x0f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x5f, 0x6f, 0x6c, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0e, - 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x4f, 0x6c, 0x64, 0x12, 0x27, - 0x0a, 0x0f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x5f, 0x6e, 0x65, - 0x77, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0e, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x4e, 0x65, 0x77, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x79, 0x6c, 0x65, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x22, 0x64, 0x0a, - 0x20, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x45, 0x6e, 0x74, 0x69, 0x74, - 0x79, 0x4f, 0x75, 0x74, 0x6c, 0x69, 0x6e, 0x65, 0x48, 0x69, 0x67, 0x68, 0x6c, 0x69, 0x67, 0x68, - 0x74, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x64, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x64, 0x78, 0x12, 0x28, 0x0a, 0x0f, 0x72, 0x65, 0x6d, - 0x6f, 0x76, 0x65, 0x68, 0x69, 0x67, 0x68, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x0f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x68, 0x69, 0x67, 0x68, 0x6c, 0x69, - 0x67, 0x68, 0x74, 0x22, 0x2f, 0x0a, 0x15, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, - 0x5f, 0x41, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x12, 0x16, 0x0a, 0x06, - 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x61, 0x6d, - 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x72, 0x0a, 0x13, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, - 0x67, 0x5f, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x48, 0x69, 0x74, 0x12, 0x13, 0x0a, 0x05, 0x70, - 0x6f, 0x73, 0x5f, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x04, 0x70, 0x6f, 0x73, 0x58, - 0x12, 0x13, 0x0a, 0x05, 0x70, 0x6f, 0x73, 0x5f, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, - 0x04, 0x70, 0x6f, 0x73, 0x59, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, - 0x6d, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, - 0x61, 0x6d, 0x70, 0x12, 0x13, 0x0a, 0x05, 0x70, 0x6f, 0x73, 0x5f, 0x7a, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x02, 0x52, 0x04, 0x70, 0x6f, 0x73, 0x5a, 0x22, 0x76, 0x0a, 0x11, 0x43, 0x43, 0x53, 0x55, - 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x4b, 0x69, 0x6c, 0x6c, 0x43, 0x61, 0x6d, 0x12, 0x19, 0x0a, - 0x08, 0x6f, 0x62, 0x73, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x07, 0x6f, 0x62, 0x73, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x66, 0x69, 0x72, 0x73, - 0x74, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, - 0x66, 0x69, 0x72, 0x73, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x73, - 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x0c, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, - 0x22, 0xd4, 0x01, 0x0a, 0x1a, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x44, + 0x52, 0x08, 0x69, 0x74, 0x65, 0x6d, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x6c, + 0x61, 0x79, 0x65, 0x72, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x3a, 0x02, + 0x2d, 0x31, 0x52, 0x0a, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x6c, 0x6f, 0x74, 0x22, 0x9f, + 0x01, 0x0a, 0x16, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x52, 0x65, 0x6c, + 0x6f, 0x61, 0x64, 0x45, 0x66, 0x66, 0x65, 0x63, 0x74, 0x12, 0x1a, 0x0a, 0x06, 0x65, 0x6e, 0x74, + 0x69, 0x64, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x3a, 0x02, 0x2d, 0x31, 0x52, 0x06, 0x65, + 0x6e, 0x74, 0x69, 0x64, 0x78, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x63, 0x74, 0x61, 0x6e, 0x69, 0x6d, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x61, 0x63, 0x74, 0x61, 0x6e, 0x69, 0x6d, 0x12, + 0x19, 0x0a, 0x08, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x5f, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x02, 0x52, 0x07, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x58, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x72, + 0x69, 0x67, 0x69, 0x6e, 0x5f, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x07, 0x6f, 0x72, + 0x69, 0x67, 0x69, 0x6e, 0x59, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x5f, + 0x7a, 0x18, 0x05, 0x20, 0x01, 0x28, 0x02, 0x52, 0x07, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x5a, + 0x22, 0xe9, 0x01, 0x0a, 0x15, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x57, + 0x65, 0x61, 0x70, 0x6f, 0x6e, 0x53, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x1a, 0x0a, 0x06, 0x65, 0x6e, + 0x74, 0x69, 0x64, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x3a, 0x02, 0x2d, 0x31, 0x52, 0x06, + 0x65, 0x6e, 0x74, 0x69, 0x64, 0x78, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, + 0x5f, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x07, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, + 0x58, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x5f, 0x79, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x02, 0x52, 0x07, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x59, 0x12, 0x19, 0x0a, 0x08, + 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x5f, 0x7a, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x07, + 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x5a, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x6f, 0x75, 0x6e, 0x64, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x1c, 0x0a, + 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x06, 0x20, 0x01, 0x28, 0x02, + 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x2f, 0x0a, 0x13, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x73, 0x6f, 0x75, 0x6e, 0x64, 0x73, 0x63, 0x61, 0x70, 0x65, + 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x07, 0x52, 0x12, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x53, 0x6f, 0x75, 0x6e, 0x64, 0x73, 0x63, 0x61, 0x70, 0x65, 0x69, 0x64, 0x22, 0xa5, 0x01, 0x0a, + 0x1f, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x53, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x42, 0x61, 0x72, + 0x12, 0x1a, 0x0a, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x64, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, + 0x3a, 0x02, 0x2d, 0x31, 0x52, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x64, 0x78, 0x12, 0x27, 0x0a, 0x0f, + 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x5f, 0x6f, 0x6c, 0x64, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0e, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x4f, 0x6c, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x5f, 0x6e, 0x65, 0x77, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0e, + 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x4e, 0x65, 0x77, 0x12, 0x14, + 0x0a, 0x05, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x73, + 0x74, 0x79, 0x6c, 0x65, 0x22, 0x68, 0x0a, 0x20, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, + 0x67, 0x5f, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x4f, 0x75, 0x74, 0x6c, 0x69, 0x6e, 0x65, 0x48, + 0x69, 0x67, 0x68, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x12, 0x1a, 0x0a, 0x06, 0x65, 0x6e, 0x74, 0x69, + 0x64, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x3a, 0x02, 0x2d, 0x31, 0x52, 0x06, 0x65, 0x6e, + 0x74, 0x69, 0x64, 0x78, 0x12, 0x28, 0x0a, 0x0f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x68, 0x69, + 0x67, 0x68, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x72, + 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x68, 0x69, 0x67, 0x68, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x22, 0x2f, + 0x0a, 0x15, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x41, 0x64, 0x6a, 0x75, + 0x73, 0x74, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, + 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x22, + 0x72, 0x0a, 0x13, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x52, 0x65, 0x70, + 0x6f, 0x72, 0x74, 0x48, 0x69, 0x74, 0x12, 0x13, 0x0a, 0x05, 0x70, 0x6f, 0x73, 0x5f, 0x78, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x04, 0x70, 0x6f, 0x73, 0x58, 0x12, 0x13, 0x0a, 0x05, 0x70, + 0x6f, 0x73, 0x5f, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x04, 0x70, 0x6f, 0x73, 0x59, + 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x02, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x13, + 0x0a, 0x05, 0x70, 0x6f, 0x73, 0x5f, 0x7a, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x04, 0x70, + 0x6f, 0x73, 0x5a, 0x22, 0x7e, 0x0a, 0x11, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, + 0x5f, 0x4b, 0x69, 0x6c, 0x6c, 0x43, 0x61, 0x6d, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x62, 0x73, 0x5f, + 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x6f, 0x62, 0x73, 0x4d, + 0x6f, 0x64, 0x65, 0x12, 0x25, 0x0a, 0x0c, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x74, 0x61, 0x72, + 0x67, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x3a, 0x02, 0x2d, 0x31, 0x52, 0x0b, 0x66, + 0x69, 0x72, 0x73, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x27, 0x0a, 0x0d, 0x73, 0x65, + 0x63, 0x6f, 0x6e, 0x64, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x05, 0x3a, 0x02, 0x2d, 0x31, 0x52, 0x0c, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x54, 0x61, 0x72, + 0x67, 0x65, 0x74, 0x22, 0xd4, 0x01, 0x0a, 0x1a, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, + 0x67, 0x5f, 0x44, 0x65, 0x73, 0x69, 0x72, 0x65, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x63, 0x61, + 0x6c, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x64, 0x65, 0x73, 0x69, 0x72, 0x65, 0x64, 0x5f, 0x74, 0x69, + 0x6d, 0x65, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x10, 0x64, 0x65, 0x73, 0x69, 0x72, 0x65, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x12, - 0x2b, 0x0a, 0x11, 0x64, 0x65, 0x73, 0x69, 0x72, 0x65, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, - 0x63, 0x61, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x10, 0x64, 0x65, 0x73, 0x69, - 0x72, 0x65, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x12, 0x32, 0x0a, 0x15, - 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x61, 0x6c, 0x74, 0x69, 0x6d, - 0x65, 0x5f, 0x73, 0x65, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x13, 0x64, 0x75, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x61, 0x6c, 0x74, 0x69, 0x6d, 0x65, 0x53, 0x65, 0x63, - 0x12, 0x2b, 0x0a, 0x11, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x6f, 0x6c, 0x61, 0x74, 0x6f, 0x72, - 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x69, 0x6e, 0x74, - 0x65, 0x72, 0x70, 0x6f, 0x6c, 0x61, 0x74, 0x6f, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x28, 0x0a, - 0x10, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x62, 0x6c, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, - 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0e, 0x73, 0x74, 0x61, 0x72, 0x74, 0x42, 0x6c, - 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x41, 0x0a, 0x1a, 0x43, 0x43, 0x53, 0x55, 0x73, - 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x6d, 0x65, - 0x73, 0x63, 0x61, 0x6c, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x75, 0x72, 0x5f, 0x74, 0x69, 0x6d, - 0x65, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0c, 0x63, 0x75, - 0x72, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x22, 0x6d, 0x0a, 0x1a, 0x43, 0x43, - 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x41, 0x63, 0x68, 0x69, 0x65, 0x76, 0x65, 0x6d, - 0x65, 0x6e, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x61, 0x63, 0x68, 0x69, - 0x65, 0x76, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x61, - 0x63, 0x68, 0x69, 0x65, 0x76, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x22, 0xa3, 0x01, 0x0a, 0x1c, 0x43, 0x43, - 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x45, 0x6e, 0x64, - 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x66, 0x72, - 0x61, 0x67, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x66, - 0x72, 0x61, 0x67, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x6d, 0x70, 0x5f, 0x6d, - 0x61, 0x78, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, - 0x6d, 0x70, 0x4d, 0x61, 0x78, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, - 0x70, 0x5f, 0x77, 0x69, 0x6e, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x0a, 0x6d, 0x70, 0x57, 0x69, 0x6e, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x21, 0x0a, 0x0c, - 0x6d, 0x70, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x0b, 0x6d, 0x70, 0x54, 0x69, 0x6d, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x22, - 0xcb, 0x01, 0x0a, 0x1b, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x50, 0x6c, - 0x61, 0x79, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, - 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x37, 0x0a, 0x05, 0x73, 0x74, 0x61, - 0x74, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x43, 0x43, 0x53, 0x55, 0x73, - 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x73, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x52, 0x05, 0x73, 0x74, 0x61, - 0x74, 0x73, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x63, - 0x72, 0x63, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x63, 0x72, 0x63, 0x1a, 0x2e, 0x0a, - 0x04, 0x53, 0x74, 0x61, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x69, 0x64, 0x78, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x03, 0x69, 0x64, 0x78, 0x12, 0x14, 0x0a, 0x05, 0x64, 0x65, 0x6c, 0x74, 0x61, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x22, 0x4f, 0x0a, - 0x1a, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x44, 0x69, 0x73, 0x70, 0x6c, - 0x61, 0x79, 0x49, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x64, - 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x64, 0x69, - 0x73, 0x70, 0x6c, 0x61, 0x79, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x22, 0xa2, - 0x01, 0x0a, 0x17, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x51, 0x75, 0x65, - 0x73, 0x74, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x5f, - 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x6e, 0x6f, - 0x72, 0x6d, 0x61, 0x6c, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x62, 0x6f, - 0x6e, 0x75, 0x73, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x0b, 0x62, 0x6f, 0x6e, 0x75, 0x73, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x24, 0x0a, - 0x0e, 0x69, 0x73, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x69, 0x73, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x51, 0x75, - 0x65, 0x73, 0x74, 0x22, 0x4b, 0x0a, 0x1e, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, - 0x5f, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x4c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x61, 0x72, - 0x64, 0x44, 0x61, 0x74, 0x61, 0x12, 0x29, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x4c, 0x65, 0x61, 0x64, 0x65, - 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x44, 0x61, 0x74, 0x61, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, - 0x22, 0x59, 0x0a, 0x25, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x50, 0x6c, - 0x61, 0x79, 0x65, 0x72, 0x44, 0x65, 0x63, 0x61, 0x6c, 0x44, 0x69, 0x67, 0x69, 0x74, 0x61, 0x6c, - 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x30, 0x0a, 0x04, 0x64, 0x61, 0x74, - 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, - 0x44, 0x65, 0x63, 0x61, 0x6c, 0x44, 0x69, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x53, 0x69, 0x67, 0x6e, - 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x4f, 0x0a, 0x12, 0x43, - 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x58, 0x52, 0x61, 0x6e, 0x6b, 0x47, 0x65, - 0x74, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x6f, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x78, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x07, 0x6d, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x78, 0x12, 0x1e, 0x0a, 0x0a, - 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x22, 0x69, 0x0a, 0x12, - 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x58, 0x52, 0x61, 0x6e, 0x6b, 0x55, - 0x70, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x6f, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x78, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x6d, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x78, 0x12, 0x1e, 0x0a, - 0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x12, 0x18, 0x0a, - 0x07, 0x72, 0x61, 0x6e, 0x6b, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, - 0x72, 0x61, 0x6e, 0x6b, 0x69, 0x6e, 0x67, 0x22, 0x46, 0x0a, 0x18, 0x43, 0x43, 0x53, 0x55, 0x73, - 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x43, 0x61, 0x6c, 0x6c, 0x56, 0x6f, 0x74, 0x65, 0x46, 0x61, 0x69, - 0x6c, 0x65, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x74, - 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x22, - 0x8b, 0x02, 0x0a, 0x13, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x56, 0x6f, - 0x74, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, 0x61, 0x6d, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x74, 0x65, 0x61, 0x6d, 0x12, 0x17, 0x0a, 0x07, 0x65, - 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x65, 0x6e, - 0x74, 0x49, 0x64, 0x78, 0x12, 0x1b, 0x0a, 0x09, 0x76, 0x6f, 0x74, 0x65, 0x5f, 0x74, 0x79, 0x70, - 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x76, 0x6f, 0x74, 0x65, 0x54, 0x79, 0x70, - 0x65, 0x12, 0x19, 0x0a, 0x08, 0x64, 0x69, 0x73, 0x70, 0x5f, 0x73, 0x74, 0x72, 0x18, 0x04, 0x20, + 0x32, 0x0a, 0x15, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x61, 0x6c, + 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x13, + 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x61, 0x6c, 0x74, 0x69, 0x6d, 0x65, + 0x53, 0x65, 0x63, 0x12, 0x2b, 0x0a, 0x11, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x6f, 0x6c, 0x61, + 0x74, 0x6f, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, + 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x6f, 0x6c, 0x61, 0x74, 0x6f, 0x72, 0x54, 0x79, 0x70, 0x65, + 0x12, 0x28, 0x0a, 0x10, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x62, 0x6c, 0x65, 0x6e, 0x64, 0x5f, + 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0e, 0x73, 0x74, 0x61, 0x72, + 0x74, 0x42, 0x6c, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x41, 0x0a, 0x1a, 0x43, 0x43, + 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x54, + 0x69, 0x6d, 0x65, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x75, 0x72, 0x5f, + 0x74, 0x69, 0x6d, 0x65, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, + 0x0c, 0x63, 0x75, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x22, 0x6d, 0x0a, + 0x1a, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x41, 0x63, 0x68, 0x69, 0x65, + 0x76, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x61, + 0x63, 0x68, 0x69, 0x65, 0x76, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x0b, 0x61, 0x63, 0x68, 0x69, 0x65, 0x76, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x14, 0x0a, + 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x22, 0xa3, 0x01, 0x0a, + 0x1c, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x4d, 0x61, 0x74, 0x63, 0x68, + 0x45, 0x6e, 0x64, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1c, 0x0a, + 0x09, 0x66, 0x72, 0x61, 0x67, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x09, 0x66, 0x72, 0x61, 0x67, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x6d, + 0x70, 0x5f, 0x6d, 0x61, 0x78, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x0b, 0x6d, 0x70, 0x4d, 0x61, 0x78, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x73, 0x12, 0x1f, + 0x0a, 0x0b, 0x6d, 0x70, 0x5f, 0x77, 0x69, 0x6e, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6d, 0x70, 0x57, 0x69, 0x6e, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, + 0x21, 0x0a, 0x0c, 0x6d, 0x70, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0b, 0x6d, 0x70, 0x54, 0x69, 0x6d, 0x65, 0x6c, 0x69, 0x6d, + 0x69, 0x74, 0x22, 0xcc, 0x01, 0x0a, 0x1b, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, + 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x73, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x37, 0x0a, 0x05, + 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x43, 0x43, + 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x74, + 0x61, 0x74, 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x52, 0x05, + 0x73, 0x74, 0x61, 0x74, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x65, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x12, + 0x10, 0x0a, 0x03, 0x63, 0x72, 0x63, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x63, 0x72, + 0x63, 0x1a, 0x2e, 0x0a, 0x04, 0x53, 0x74, 0x61, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x69, 0x64, 0x78, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x69, 0x64, 0x78, 0x12, 0x14, 0x0a, 0x05, 0x64, + 0x65, 0x6c, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x64, 0x65, 0x6c, 0x74, + 0x61, 0x22, 0xa2, 0x01, 0x0a, 0x17, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, + 0x51, 0x75, 0x65, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x19, 0x0a, + 0x08, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x07, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x6e, 0x6f, 0x72, 0x6d, + 0x61, 0x6c, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x0c, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x21, 0x0a, + 0x0c, 0x62, 0x6f, 0x6e, 0x75, 0x73, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x62, 0x6f, 0x6e, 0x75, 0x73, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, + 0x12, 0x24, 0x0a, 0x0e, 0x69, 0x73, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x69, 0x73, 0x45, 0x76, 0x65, 0x6e, + 0x74, 0x51, 0x75, 0x65, 0x73, 0x74, 0x22, 0x4b, 0x0a, 0x1e, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, + 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x4c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x62, + 0x6f, 0x61, 0x72, 0x64, 0x44, 0x61, 0x74, 0x61, 0x12, 0x29, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x4c, 0x65, + 0x61, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x44, 0x61, 0x74, 0x61, 0x52, 0x04, 0x64, + 0x61, 0x74, 0x61, 0x22, 0x59, 0x0a, 0x25, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, + 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x44, 0x65, 0x63, 0x61, 0x6c, 0x44, 0x69, 0x67, 0x69, + 0x74, 0x61, 0x6c, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x30, 0x0a, 0x04, + 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x50, 0x6c, 0x61, + 0x79, 0x65, 0x72, 0x44, 0x65, 0x63, 0x61, 0x6c, 0x44, 0x69, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x53, + 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x4f, + 0x0a, 0x12, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x58, 0x52, 0x61, 0x6e, + 0x6b, 0x47, 0x65, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x6f, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x78, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x6d, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x78, 0x12, + 0x1e, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x22, + 0x69, 0x0a, 0x12, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x58, 0x52, 0x61, + 0x6e, 0x6b, 0x55, 0x70, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x6f, 0x64, 0x65, 0x5f, 0x69, 0x64, + 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x6d, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x78, + 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, + 0x12, 0x18, 0x0a, 0x07, 0x72, 0x61, 0x6e, 0x6b, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x07, 0x72, 0x61, 0x6e, 0x6b, 0x69, 0x6e, 0x67, 0x22, 0x46, 0x0a, 0x18, 0x43, 0x43, + 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x43, 0x61, 0x6c, 0x6c, 0x56, 0x6f, 0x74, 0x65, + 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x12, + 0x0a, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x74, 0x69, + 0x6d, 0x65, 0x22, 0xa4, 0x02, 0x0a, 0x13, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, + 0x5f, 0x56, 0x6f, 0x74, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, + 0x61, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x74, 0x65, 0x61, 0x6d, 0x12, 0x23, + 0x0a, 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x05, 0x3a, 0x02, 0x2d, 0x31, 0x52, 0x0a, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, + 0x6c, 0x6f, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x76, 0x6f, 0x74, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x76, 0x6f, 0x74, 0x65, 0x54, 0x79, 0x70, 0x65, + 0x12, 0x19, 0x0a, 0x08, 0x64, 0x69, 0x73, 0x70, 0x5f, 0x73, 0x74, 0x72, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x07, 0x64, 0x69, 0x73, 0x70, 0x53, 0x74, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x64, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x5f, 0x73, 0x74, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0a, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x53, 0x74, 0x72, 0x12, 0x24, 0x0a, 0x0e, + 0x6f, 0x74, 0x68, 0x65, 0x72, 0x5f, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x73, 0x74, 0x72, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x54, 0x65, 0x61, 0x6d, 0x53, + 0x74, 0x72, 0x12, 0x23, 0x0a, 0x0e, 0x69, 0x73, 0x5f, 0x79, 0x65, 0x73, 0x5f, 0x6e, 0x6f, 0x5f, + 0x76, 0x6f, 0x74, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x59, 0x65, + 0x73, 0x4e, 0x6f, 0x56, 0x6f, 0x74, 0x65, 0x12, 0x30, 0x0a, 0x12, 0x70, 0x6c, 0x61, 0x79, 0x65, + 0x72, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x08, 0x20, + 0x01, 0x28, 0x05, 0x3a, 0x02, 0x2d, 0x31, 0x52, 0x10, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, + 0x6c, 0x6f, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x22, 0x81, 0x01, 0x0a, 0x12, 0x43, 0x43, + 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x56, 0x6f, 0x74, 0x65, 0x50, 0x61, 0x73, 0x73, + 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, 0x61, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, + 0x74, 0x65, 0x61, 0x6d, 0x12, 0x1b, 0x0a, 0x09, 0x76, 0x6f, 0x74, 0x65, 0x5f, 0x74, 0x79, 0x70, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x76, 0x6f, 0x74, 0x65, 0x54, 0x79, 0x70, + 0x65, 0x12, 0x19, 0x0a, 0x08, 0x64, 0x69, 0x73, 0x70, 0x5f, 0x73, 0x74, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x64, 0x69, 0x73, 0x70, 0x53, 0x74, 0x72, 0x12, 0x1f, 0x0a, 0x0b, - 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x5f, 0x73, 0x74, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0a, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x53, 0x74, 0x72, 0x12, 0x24, 0x0a, - 0x0e, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x5f, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x73, 0x74, 0x72, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x54, 0x65, 0x61, 0x6d, - 0x53, 0x74, 0x72, 0x12, 0x23, 0x0a, 0x0e, 0x69, 0x73, 0x5f, 0x79, 0x65, 0x73, 0x5f, 0x6e, 0x6f, - 0x5f, 0x76, 0x6f, 0x74, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x59, - 0x65, 0x73, 0x4e, 0x6f, 0x56, 0x6f, 0x74, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x6e, 0x74, 0x69, - 0x64, 0x78, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x0c, 0x65, 0x6e, 0x74, 0x69, 0x64, 0x78, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x22, 0x81, 0x01, - 0x0a, 0x12, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x56, 0x6f, 0x74, 0x65, - 0x50, 0x61, 0x73, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, 0x61, 0x6d, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x04, 0x74, 0x65, 0x61, 0x6d, 0x12, 0x1b, 0x0a, 0x09, 0x76, 0x6f, 0x74, 0x65, - 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x76, 0x6f, 0x74, - 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x64, 0x69, 0x73, 0x70, 0x5f, 0x73, 0x74, - 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x64, 0x69, 0x73, 0x70, 0x53, 0x74, 0x72, - 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x5f, 0x73, 0x74, 0x72, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x53, 0x74, - 0x72, 0x22, 0x42, 0x0a, 0x14, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x56, - 0x6f, 0x74, 0x65, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, 0x61, - 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x74, 0x65, 0x61, 0x6d, 0x12, 0x16, 0x0a, - 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x72, - 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x22, 0x40, 0x0a, 0x13, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, - 0x73, 0x67, 0x5f, 0x56, 0x6f, 0x74, 0x65, 0x53, 0x65, 0x74, 0x75, 0x70, 0x12, 0x29, 0x0a, 0x10, - 0x70, 0x6f, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x69, 0x73, 0x73, 0x75, 0x65, 0x73, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, 0x70, 0x6f, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x61, - 0x6c, 0x49, 0x73, 0x73, 0x75, 0x65, 0x73, 0x22, 0xba, 0x01, 0x0a, 0x26, 0x43, 0x43, 0x53, 0x55, - 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x65, 0x6e, 0x64, 0x4c, 0x61, 0x73, 0x74, 0x4b, 0x69, - 0x6c, 0x6c, 0x65, 0x72, 0x44, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, - 0x6e, 0x74, 0x12, 0x24, 0x0a, 0x0e, 0x6e, 0x75, 0x6d, 0x5f, 0x68, 0x69, 0x74, 0x73, 0x5f, 0x67, - 0x69, 0x76, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x6e, 0x75, 0x6d, 0x48, - 0x69, 0x74, 0x73, 0x47, 0x69, 0x76, 0x65, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x61, 0x6d, 0x61, - 0x67, 0x65, 0x5f, 0x67, 0x69, 0x76, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, - 0x64, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x47, 0x69, 0x76, 0x65, 0x6e, 0x12, 0x24, 0x0a, 0x0e, 0x6e, - 0x75, 0x6d, 0x5f, 0x68, 0x69, 0x74, 0x73, 0x5f, 0x74, 0x61, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x0c, 0x6e, 0x75, 0x6d, 0x48, 0x69, 0x74, 0x73, 0x54, 0x61, 0x6b, 0x65, - 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x61, 0x6b, 0x65, - 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x64, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x54, - 0x61, 0x6b, 0x65, 0x6e, 0x22, 0xa7, 0x02, 0x0a, 0x1a, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, - 0x73, 0x67, 0x5f, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x61, 0x6e, 0x6b, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x12, 0x47, 0x0a, 0x0b, 0x72, 0x61, 0x6e, 0x6b, 0x5f, 0x75, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x43, 0x43, 0x53, 0x55, 0x73, - 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x61, 0x6e, 0x6b, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x52, 0x61, 0x6e, 0x6b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x52, 0x0a, 0x72, 0x61, 0x6e, 0x6b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x1a, 0xbf, 0x01, 0x0a, - 0x0a, 0x52, 0x61, 0x6e, 0x6b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x61, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x72, 0x61, - 0x6e, 0x6b, 0x5f, 0x6f, 0x6c, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x61, - 0x6e, 0x6b, 0x4f, 0x6c, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x72, 0x61, 0x6e, 0x6b, 0x5f, 0x6e, 0x65, - 0x77, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x61, 0x6e, 0x6b, 0x4e, 0x65, 0x77, - 0x12, 0x19, 0x0a, 0x08, 0x6e, 0x75, 0x6d, 0x5f, 0x77, 0x69, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x07, 0x6e, 0x75, 0x6d, 0x57, 0x69, 0x6e, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x72, - 0x61, 0x6e, 0x6b, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x02, - 0x52, 0x0a, 0x72, 0x61, 0x6e, 0x6b, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x20, 0x0a, 0x0c, - 0x72, 0x61, 0x6e, 0x6b, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x0a, 0x72, 0x61, 0x6e, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x49, 0x64, 0x22, 0x57, - 0x0a, 0x12, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x58, 0x70, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x12, 0x41, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x73, 0x74, 0x72, 0x69, - 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x47, 0x43, 0x32, 0x53, 0x65, 0x72, 0x76, 0x65, - 0x72, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x58, 0x50, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x65, - 0x64, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x2a, 0x0a, 0x14, 0x43, 0x43, 0x53, 0x55, 0x73, - 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x69, 0x63, 0x6b, 0x75, 0x70, 0x12, - 0x12, 0x0a, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x69, - 0x74, 0x65, 0x6d, 0x22, 0x82, 0x01, 0x0a, 0x12, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, - 0x67, 0x5f, 0x53, 0x68, 0x6f, 0x77, 0x4d, 0x65, 0x6e, 0x75, 0x12, 0x28, 0x0a, 0x10, 0x62, 0x69, - 0x74, 0x73, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x73, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x62, 0x69, 0x74, 0x73, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x53, - 0x6c, 0x6f, 0x74, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, - 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, - 0x6c, 0x61, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x65, 0x6e, 0x75, 0x5f, - 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6d, 0x65, - 0x6e, 0x75, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x22, 0x27, 0x0a, 0x11, 0x43, 0x43, 0x53, 0x55, - 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x42, 0x61, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x12, 0x0a, - 0x04, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x69, 0x6d, - 0x65, 0x22, 0x30, 0x0a, 0x14, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x41, - 0x6d, 0x6d, 0x6f, 0x44, 0x65, 0x6e, 0x69, 0x65, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x6d, 0x6d, - 0x6f, 0x49, 0x64, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x61, 0x6d, 0x6d, 0x6f, - 0x49, 0x64, 0x78, 0x22, 0x3d, 0x0a, 0x19, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, - 0x5f, 0x4d, 0x61, 0x72, 0x6b, 0x41, 0x63, 0x68, 0x69, 0x65, 0x76, 0x65, 0x6d, 0x65, 0x6e, 0x74, - 0x12, 0x20, 0x0a, 0x0b, 0x61, 0x63, 0x68, 0x69, 0x65, 0x76, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x63, 0x68, 0x69, 0x65, 0x76, 0x65, 0x6d, 0x65, - 0x6e, 0x74, 0x22, 0x34, 0x0a, 0x1a, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, - 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x74, 0x61, 0x74, 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x12, 0x16, 0x0a, 0x06, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x06, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x22, 0x42, 0x0a, 0x12, 0x43, 0x43, 0x53, 0x55, - 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x49, 0x74, 0x65, 0x6d, 0x44, 0x72, 0x6f, 0x70, 0x12, 0x16, - 0x0a, 0x06, 0x69, 0x74, 0x65, 0x6d, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, - 0x69, 0x74, 0x65, 0x6d, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x64, 0x65, 0x61, 0x74, 0x68, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x64, 0x65, 0x61, 0x74, 0x68, 0x22, 0x33, 0x0a, 0x19, - 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x47, 0x6c, 0x6f, 0x77, 0x50, 0x72, - 0x6f, 0x70, 0x54, 0x75, 0x72, 0x6e, 0x4f, 0x66, 0x66, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x6e, 0x74, - 0x69, 0x64, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x64, + 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x5f, 0x73, 0x74, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0a, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x53, 0x74, 0x72, 0x22, 0x42, 0x0a, + 0x14, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x56, 0x6f, 0x74, 0x65, 0x46, + 0x61, 0x69, 0x6c, 0x65, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, 0x61, 0x6d, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x04, 0x74, 0x65, 0x61, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x61, + 0x73, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, + 0x6e, 0x22, 0x40, 0x0a, 0x13, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x56, + 0x6f, 0x74, 0x65, 0x53, 0x65, 0x74, 0x75, 0x70, 0x12, 0x29, 0x0a, 0x10, 0x70, 0x6f, 0x74, 0x65, + 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x69, 0x73, 0x73, 0x75, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x09, 0x52, 0x0f, 0x70, 0x6f, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x49, 0x73, 0x73, + 0x75, 0x65, 0x73, 0x22, 0x9a, 0x02, 0x0a, 0x26, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, + 0x67, 0x5f, 0x53, 0x65, 0x6e, 0x64, 0x4c, 0x61, 0x73, 0x74, 0x4b, 0x69, 0x6c, 0x6c, 0x65, 0x72, + 0x44, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x12, 0x24, + 0x0a, 0x0e, 0x6e, 0x75, 0x6d, 0x5f, 0x68, 0x69, 0x74, 0x73, 0x5f, 0x67, 0x69, 0x76, 0x65, 0x6e, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x6e, 0x75, 0x6d, 0x48, 0x69, 0x74, 0x73, 0x47, + 0x69, 0x76, 0x65, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x67, + 0x69, 0x76, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x64, 0x61, 0x6d, 0x61, + 0x67, 0x65, 0x47, 0x69, 0x76, 0x65, 0x6e, 0x12, 0x24, 0x0a, 0x0e, 0x6e, 0x75, 0x6d, 0x5f, 0x68, + 0x69, 0x74, 0x73, 0x5f, 0x74, 0x61, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x0c, 0x6e, 0x75, 0x6d, 0x48, 0x69, 0x74, 0x73, 0x54, 0x61, 0x6b, 0x65, 0x6e, 0x12, 0x21, 0x0a, + 0x0c, 0x64, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x61, 0x6b, 0x65, 0x6e, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x0b, 0x64, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x54, 0x61, 0x6b, 0x65, 0x6e, + 0x12, 0x2e, 0x0a, 0x13, 0x61, 0x63, 0x74, 0x75, 0x61, 0x6c, 0x5f, 0x64, 0x61, 0x6d, 0x61, 0x67, + 0x65, 0x5f, 0x67, 0x69, 0x76, 0x65, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x11, 0x61, + 0x63, 0x74, 0x75, 0x61, 0x6c, 0x44, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x47, 0x69, 0x76, 0x65, 0x6e, + 0x12, 0x2e, 0x0a, 0x13, 0x61, 0x63, 0x74, 0x75, 0x61, 0x6c, 0x5f, 0x64, 0x61, 0x6d, 0x61, 0x67, + 0x65, 0x5f, 0x74, 0x61, 0x6b, 0x65, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x11, 0x61, + 0x63, 0x74, 0x75, 0x61, 0x6c, 0x44, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x54, 0x61, 0x6b, 0x65, 0x6e, + 0x22, 0xa7, 0x02, 0x0a, 0x1a, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x53, + 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x61, 0x6e, 0x6b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, + 0x47, 0x0a, 0x0b, 0x72, 0x61, 0x6e, 0x6b, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, + 0x5f, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x61, 0x6e, 0x6b, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x2e, 0x52, 0x61, 0x6e, 0x6b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x0a, 0x72, 0x61, + 0x6e, 0x6b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x1a, 0xbf, 0x01, 0x0a, 0x0a, 0x52, 0x61, 0x6e, + 0x6b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x72, 0x61, 0x6e, 0x6b, 0x5f, 0x6f, + 0x6c, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x61, 0x6e, 0x6b, 0x4f, 0x6c, + 0x64, 0x12, 0x19, 0x0a, 0x08, 0x72, 0x61, 0x6e, 0x6b, 0x5f, 0x6e, 0x65, 0x77, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x61, 0x6e, 0x6b, 0x4e, 0x65, 0x77, 0x12, 0x19, 0x0a, 0x08, + 0x6e, 0x75, 0x6d, 0x5f, 0x77, 0x69, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, + 0x6e, 0x75, 0x6d, 0x57, 0x69, 0x6e, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x61, 0x6e, 0x6b, 0x5f, + 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x72, 0x61, + 0x6e, 0x6b, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x20, 0x0a, 0x0c, 0x72, 0x61, 0x6e, 0x6b, + 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, + 0x72, 0x61, 0x6e, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x49, 0x64, 0x22, 0x57, 0x0a, 0x12, 0x43, 0x43, + 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x58, 0x70, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x12, 0x41, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, + 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x73, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, + 0x5f, 0x76, 0x32, 0x5f, 0x47, 0x43, 0x32, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4e, 0x6f, 0x74, + 0x69, 0x66, 0x79, 0x58, 0x50, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x65, 0x64, 0x52, 0x04, 0x64, + 0x61, 0x74, 0x61, 0x22, 0x2a, 0x0a, 0x14, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, + 0x5f, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x69, 0x63, 0x6b, 0x75, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x69, + 0x74, 0x65, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x22, + 0x82, 0x01, 0x0a, 0x12, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x68, + 0x6f, 0x77, 0x4d, 0x65, 0x6e, 0x75, 0x12, 0x28, 0x0a, 0x10, 0x62, 0x69, 0x74, 0x73, 0x5f, 0x76, + 0x61, 0x6c, 0x69, 0x64, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x0e, 0x62, 0x69, 0x74, 0x73, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x53, 0x6c, 0x6f, 0x74, 0x73, + 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x74, 0x69, 0x6d, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x54, + 0x69, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x65, 0x6e, 0x75, 0x5f, 0x73, 0x74, 0x72, 0x69, + 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6d, 0x65, 0x6e, 0x75, 0x53, 0x74, + 0x72, 0x69, 0x6e, 0x67, 0x22, 0x27, 0x0a, 0x11, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, + 0x67, 0x5f, 0x42, 0x61, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x69, 0x6d, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x22, 0x30, 0x0a, + 0x14, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x41, 0x6d, 0x6d, 0x6f, 0x44, + 0x65, 0x6e, 0x69, 0x65, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x6d, 0x6d, 0x6f, 0x69, 0x64, 0x78, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x61, 0x6d, 0x6d, 0x6f, 0x69, 0x64, 0x78, 0x22, + 0x3d, 0x0a, 0x19, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x4d, 0x61, 0x72, + 0x6b, 0x41, 0x63, 0x68, 0x69, 0x65, 0x76, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x0b, + 0x61, 0x63, 0x68, 0x69, 0x65, 0x76, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0b, 0x61, 0x63, 0x68, 0x69, 0x65, 0x76, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x34, + 0x0a, 0x1a, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x4d, 0x61, 0x74, 0x63, + 0x68, 0x53, 0x74, 0x61, 0x74, 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x16, 0x0a, 0x06, + 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x22, 0x42, 0x0a, 0x12, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, + 0x67, 0x5f, 0x49, 0x74, 0x65, 0x6d, 0x44, 0x72, 0x6f, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x74, + 0x65, 0x6d, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x69, 0x74, 0x65, 0x6d, + 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x64, 0x65, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x05, 0x64, 0x65, 0x61, 0x74, 0x68, 0x22, 0x37, 0x0a, 0x19, 0x43, 0x43, 0x53, 0x55, + 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x47, 0x6c, 0x6f, 0x77, 0x50, 0x72, 0x6f, 0x70, 0x54, 0x75, + 0x72, 0x6e, 0x4f, 0x66, 0x66, 0x12, 0x1a, 0x0a, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x64, 0x78, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x05, 0x3a, 0x02, 0x2d, 0x31, 0x52, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x64, 0x78, 0x22, 0x84, 0x01, 0x0a, 0x1e, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x46, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, @@ -6504,7 +6219,7 @@ var file_cstrike15_usermessages_proto_rawDesc = []byte{ 0x0a, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x12, 0x1b, 0x0a, 0x09, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x68, 0x69, 0x74, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x66, 0x72, 0x6f, 0x6d, 0x48, 0x69, 0x74, 0x73, 0x22, - 0x97, 0x04, 0x0a, 0x22, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x45, 0x6e, + 0x93, 0x04, 0x0a, 0x22, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x45, 0x6e, 0x64, 0x4f, 0x66, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x41, 0x6c, 0x6c, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x44, 0x61, 0x74, 0x61, 0x12, 0x54, 0x0a, 0x0d, 0x61, 0x6c, 0x6c, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, @@ -6518,306 +6233,304 @@ var file_cstrike15_usermessages_proto_rawDesc = []byte{ 0x05, 0x52, 0x09, 0x65, 0x61, 0x63, 0x63, 0x6f, 0x6c, 0x61, 0x64, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0xa8, - 0x02, 0x0a, 0x0a, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x12, 0x1a, 0x0a, - 0x08, 0x65, 0x6e, 0x74, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x08, 0x65, 0x6e, 0x74, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x12, 0x0a, 0x04, 0x78, 0x75, 0x69, - 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x78, 0x75, 0x69, 0x64, 0x12, 0x12, 0x0a, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x74, 0x65, 0x61, 0x6d, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x74, 0x65, 0x61, 0x6d, 0x6e, 0x75, 0x6d, 0x62, 0x65, - 0x72, 0x12, 0x4c, 0x0a, 0x0a, 0x6e, 0x6f, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, - 0x67, 0x5f, 0x45, 0x6e, 0x64, 0x4f, 0x66, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x41, 0x6c, 0x6c, 0x50, - 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x6c, - 0x61, 0x64, 0x65, 0x52, 0x0a, 0x6e, 0x6f, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, - 0x30, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, - 0x2e, 0x43, 0x45, 0x63, 0x6f, 0x6e, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x72, 0x65, 0x76, 0x69, 0x65, - 0x77, 0x44, 0x61, 0x74, 0x61, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, - 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x63, 0x6f, 0x6c, 0x6f, 0x72, - 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x63, 0x6f, - 0x6c, 0x6f, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x73, 0x62, 0x6f, 0x74, 0x18, 0x08, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x05, 0x69, 0x73, 0x62, 0x6f, 0x74, 0x22, 0x9c, 0x09, 0x0a, 0x1e, 0x43, 0x43, - 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x49, 0x6d, 0x70, - 0x61, 0x63, 0x74, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x44, 0x61, 0x74, 0x61, 0x12, 0x5a, 0x0a, 0x0f, - 0x69, 0x6e, 0x69, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, - 0x67, 0x5f, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x49, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x53, 0x63, 0x6f, - 0x72, 0x65, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x43, 0x6f, - 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0e, 0x69, 0x6e, 0x69, 0x74, 0x43, 0x6f, - 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x55, 0x0a, 0x12, 0x61, 0x6c, 0x6c, 0x5f, - 0x72, 0x69, 0x73, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, - 0x5f, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x49, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x53, 0x63, 0x6f, 0x72, - 0x65, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x52, 0x69, 0x73, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x0f, - 0x61, 0x6c, 0x6c, 0x52, 0x69, 0x73, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x44, 0x61, 0x74, 0x61, 0x1a, - 0xbf, 0x06, 0x0a, 0x08, 0x52, 0x69, 0x73, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x1c, 0x0a, 0x09, - 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, - 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x25, 0x0a, 0x0e, 0x74, 0x65, - 0x72, 0x72, 0x6f, 0x72, 0x69, 0x73, 0x74, 0x5f, 0x6f, 0x64, 0x64, 0x73, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x0d, 0x74, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x69, 0x73, 0x74, 0x4f, 0x64, 0x64, - 0x73, 0x12, 0x19, 0x0a, 0x08, 0x63, 0x74, 0x5f, 0x61, 0x6c, 0x69, 0x76, 0x65, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x07, 0x63, 0x74, 0x41, 0x6c, 0x69, 0x76, 0x65, 0x12, 0x17, 0x0a, 0x07, - 0x74, 0x5f, 0x61, 0x6c, 0x69, 0x76, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x74, - 0x41, 0x6c, 0x69, 0x76, 0x65, 0x12, 0x50, 0x0a, 0x0b, 0x76, 0x69, 0x63, 0x74, 0x69, 0x6d, 0x5f, - 0x64, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x43, 0x43, 0x53, - 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x49, 0x6d, 0x70, 0x61, - 0x63, 0x74, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x52, 0x69, 0x73, 0x45, - 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x56, 0x69, 0x63, 0x74, 0x69, 0x6d, 0x52, 0x0a, 0x76, 0x69, 0x63, - 0x74, 0x69, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x12, 0x59, 0x0a, 0x0e, 0x6f, 0x62, 0x6a, 0x65, 0x63, - 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x32, 0x2e, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x52, 0x6f, 0x75, 0x6e, - 0x64, 0x49, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x44, 0x61, 0x74, 0x61, - 0x2e, 0x52, 0x69, 0x73, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, - 0x69, 0x76, 0x65, 0x52, 0x0d, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x44, 0x61, - 0x74, 0x61, 0x12, 0x57, 0x0a, 0x0f, 0x61, 0x6c, 0x6c, 0x5f, 0x64, 0x61, 0x6d, 0x61, 0x67, 0x65, - 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x43, 0x43, - 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x49, 0x6d, 0x70, - 0x61, 0x63, 0x74, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x52, 0x69, 0x73, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0xa4, + 0x02, 0x0a, 0x0a, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x12, 0x16, 0x0a, + 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x3a, 0x02, 0x2d, 0x31, 0x52, + 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x78, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x04, 0x52, 0x04, 0x78, 0x75, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, + 0x0a, 0x74, 0x65, 0x61, 0x6d, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x0a, 0x74, 0x65, 0x61, 0x6d, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x4c, 0x0a, + 0x0a, 0x6e, 0x6f, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x2c, 0x2e, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x45, 0x6e, + 0x64, 0x4f, 0x66, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x41, 0x6c, 0x6c, 0x50, 0x6c, 0x61, 0x79, 0x65, + 0x72, 0x73, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x6c, 0x61, 0x64, 0x65, 0x52, + 0x0a, 0x6e, 0x6f, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x30, 0x0a, 0x05, 0x69, + 0x74, 0x65, 0x6d, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x43, 0x45, 0x63, + 0x6f, 0x6e, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x44, 0x61, 0x74, + 0x61, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x20, 0x0a, + 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x18, 0x07, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x12, + 0x14, 0x0a, 0x05, 0x69, 0x73, 0x62, 0x6f, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, + 0x69, 0x73, 0x62, 0x6f, 0x74, 0x22, 0x9c, 0x09, 0x0a, 0x1c, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, + 0x4d, 0x73, 0x67, 0x5f, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x45, 0x6e, 0x64, 0x52, 0x65, 0x70, 0x6f, + 0x72, 0x74, 0x44, 0x61, 0x74, 0x61, 0x12, 0x58, 0x0a, 0x0f, 0x69, 0x6e, 0x69, 0x74, 0x5f, 0x63, + 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x2f, 0x2e, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x52, 0x6f, 0x75, 0x6e, + 0x64, 0x45, 0x6e, 0x64, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x49, + 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x52, 0x0e, 0x69, 0x6e, 0x69, 0x74, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x12, 0x53, 0x0a, 0x12, 0x61, 0x6c, 0x6c, 0x5f, 0x72, 0x65, 0x72, 0x5f, 0x65, 0x76, 0x65, 0x6e, + 0x74, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x43, + 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x45, 0x6e, + 0x64, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x52, 0x65, 0x72, 0x45, + 0x76, 0x65, 0x6e, 0x74, 0x52, 0x0f, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, + 0x74, 0x44, 0x61, 0x74, 0x61, 0x1a, 0xc5, 0x06, 0x0a, 0x08, 0x52, 0x65, 0x72, 0x45, 0x76, 0x65, + 0x6e, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, + 0x12, 0x25, 0x0a, 0x0e, 0x74, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x69, 0x73, 0x74, 0x5f, 0x6f, 0x64, + 0x64, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x74, 0x65, 0x72, 0x72, 0x6f, 0x72, + 0x69, 0x73, 0x74, 0x4f, 0x64, 0x64, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x63, 0x74, 0x5f, 0x61, 0x6c, + 0x69, 0x76, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x63, 0x74, 0x41, 0x6c, 0x69, + 0x76, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x5f, 0x61, 0x6c, 0x69, 0x76, 0x65, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x06, 0x74, 0x41, 0x6c, 0x69, 0x76, 0x65, 0x12, 0x4e, 0x0a, 0x0b, 0x76, + 0x69, 0x63, 0x74, 0x69, 0x6d, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x2d, 0x2e, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x52, 0x6f, 0x75, + 0x6e, 0x64, 0x45, 0x6e, 0x64, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x44, 0x61, 0x74, 0x61, 0x2e, + 0x52, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x56, 0x69, 0x63, 0x74, 0x69, 0x6d, 0x52, + 0x0a, 0x76, 0x69, 0x63, 0x74, 0x69, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x12, 0x57, 0x0a, 0x0e, 0x6f, + 0x62, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, + 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x45, 0x6e, 0x64, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x44, 0x61, + 0x74, 0x61, 0x2e, 0x52, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x4f, 0x62, 0x6a, 0x65, + 0x63, 0x74, 0x69, 0x76, 0x65, 0x52, 0x0d, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, + 0x44, 0x61, 0x74, 0x61, 0x12, 0x55, 0x0a, 0x0f, 0x61, 0x6c, 0x6c, 0x5f, 0x64, 0x61, 0x6d, 0x61, + 0x67, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, + 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x45, + 0x6e, 0x64, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x52, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x44, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x0d, 0x61, 0x6c, - 0x6c, 0x44, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x44, 0x61, 0x74, 0x61, 0x1a, 0x9f, 0x01, 0x0a, 0x06, + 0x6c, 0x44, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x44, 0x61, 0x74, 0x61, 0x1a, 0xa7, 0x01, 0x0a, 0x06, 0x56, 0x69, 0x63, 0x74, 0x69, 0x6d, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x74, 0x65, 0x61, - 0x6d, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x6e, 0x74, 0x69, 0x6e, - 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x65, 0x6e, 0x74, 0x69, 0x6e, - 0x64, 0x65, 0x78, 0x12, 0x12, 0x0a, 0x04, 0x78, 0x75, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x04, 0x52, 0x04, 0x78, 0x75, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x6c, 0x6f, 0x72, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x12, 0x15, 0x0a, - 0x06, 0x69, 0x73, 0x5f, 0x62, 0x6f, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x69, - 0x73, 0x42, 0x6f, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x73, 0x5f, 0x64, 0x65, 0x61, 0x64, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x44, 0x65, 0x61, 0x64, 0x1a, 0x1f, 0x0a, - 0x09, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, - 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x1a, 0xf0, - 0x01, 0x0a, 0x06, 0x44, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x74, 0x61, 0x72, - 0x67, 0x65, 0x74, 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x45, 0x6e, 0x74, 0x69, 0x6e, 0x64, - 0x65, 0x78, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x78, 0x75, 0x69, - 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x58, - 0x75, 0x69, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x72, 0x65, - 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x68, 0x65, 0x61, - 0x6c, 0x74, 0x68, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x6e, 0x75, - 0x6d, 0x5f, 0x68, 0x69, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x6e, 0x75, - 0x6d, 0x48, 0x69, 0x74, 0x73, 0x12, 0x32, 0x0a, 0x15, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, - 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x13, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x48, 0x65, 0x61, 0x6c, - 0x74, 0x68, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x75, 0x6d, - 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x68, 0x69, 0x74, 0x73, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x0d, 0x6e, 0x75, 0x6d, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x48, 0x69, 0x74, - 0x73, 0x1a, 0x84, 0x01, 0x0a, 0x11, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x43, 0x6f, 0x6e, - 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x24, 0x0a, 0x0e, 0x63, 0x74, 0x5f, 0x65, 0x71, - 0x75, 0x69, 0x70, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x0c, 0x63, 0x74, 0x45, 0x71, 0x75, 0x69, 0x70, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x22, 0x0a, - 0x0d, 0x74, 0x5f, 0x65, 0x71, 0x75, 0x69, 0x70, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x74, 0x45, 0x71, 0x75, 0x69, 0x70, 0x56, 0x61, 0x6c, 0x75, - 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x74, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x69, 0x73, 0x74, 0x5f, 0x6f, - 0x64, 0x64, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x74, 0x65, 0x72, 0x72, 0x6f, - 0x72, 0x69, 0x73, 0x74, 0x4f, 0x64, 0x64, 0x73, 0x22, 0x30, 0x0a, 0x1a, 0x43, 0x43, 0x53, 0x55, - 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x52, 0x6f, 0x75, - 0x6e, 0x64, 0x4f, 0x64, 0x64, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6f, 0x64, 0x64, 0x73, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x6f, 0x64, 0x64, 0x73, 0x22, 0x4d, 0x0a, 0x13, 0x43, 0x43, - 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x44, 0x65, 0x65, 0x70, 0x53, 0x74, 0x61, 0x74, - 0x73, 0x12, 0x36, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x20, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, - 0x31, 0x35, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x44, 0x65, 0x65, 0x70, 0x53, 0x74, 0x61, - 0x74, 0x73, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x73, 0x22, 0x2a, 0x0a, 0x12, 0x43, 0x43, 0x53, - 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x52, 0x65, 0x73, 0x65, 0x74, 0x48, 0x75, 0x64, 0x12, - 0x14, 0x0a, 0x05, 0x72, 0x65, 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, - 0x72, 0x65, 0x73, 0x65, 0x74, 0x22, 0x2b, 0x0a, 0x13, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, - 0x73, 0x67, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x14, 0x0a, 0x05, - 0x64, 0x75, 0x6d, 0x6d, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x64, 0x75, 0x6d, - 0x6d, 0x79, 0x22, 0x2e, 0x0a, 0x16, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x14, 0x0a, 0x05, + 0x6d, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x6c, 0x61, 0x79, 0x65, + 0x72, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x3a, 0x02, 0x2d, 0x31, 0x52, + 0x0a, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x78, + 0x75, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x78, 0x75, 0x69, 0x64, 0x12, + 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, + 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x12, 0x15, 0x0a, 0x06, 0x69, 0x73, 0x5f, 0x62, 0x6f, 0x74, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x69, 0x73, 0x42, 0x6f, 0x74, 0x12, 0x17, 0x0a, 0x07, + 0x69, 0x73, 0x5f, 0x64, 0x65, 0x61, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, + 0x73, 0x44, 0x65, 0x61, 0x64, 0x1a, 0x1f, 0x0a, 0x09, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x69, + 0x76, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x1a, 0xf4, 0x01, 0x0a, 0x06, 0x44, 0x61, 0x6d, 0x61, 0x67, + 0x65, 0x12, 0x2d, 0x0a, 0x10, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, + 0x72, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x3a, 0x02, 0x2d, 0x31, 0x52, + 0x0f, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x6c, 0x6f, 0x74, + 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x5f, 0x78, 0x75, 0x69, 0x64, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x58, 0x75, 0x69, 0x64, 0x12, + 0x25, 0x0a, 0x0e, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, + 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x52, + 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x6e, 0x75, 0x6d, 0x5f, 0x68, 0x69, + 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x6e, 0x75, 0x6d, 0x48, 0x69, 0x74, + 0x73, 0x12, 0x32, 0x0a, 0x15, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x68, 0x65, 0x61, 0x6c, + 0x74, 0x68, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x13, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x52, 0x65, + 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, + 0x6e, 0x75, 0x6d, 0x5f, 0x68, 0x69, 0x74, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, + 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x4e, 0x75, 0x6d, 0x48, 0x69, 0x74, 0x73, 0x1a, 0x84, 0x01, + 0x0a, 0x11, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x12, 0x24, 0x0a, 0x0e, 0x63, 0x74, 0x5f, 0x65, 0x71, 0x75, 0x69, 0x70, 0x5f, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x63, 0x74, 0x45, + 0x71, 0x75, 0x69, 0x70, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x22, 0x0a, 0x0d, 0x74, 0x5f, 0x65, + 0x71, 0x75, 0x69, 0x70, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x0b, 0x74, 0x45, 0x71, 0x75, 0x69, 0x70, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x25, 0x0a, + 0x0e, 0x74, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x69, 0x73, 0x74, 0x5f, 0x6f, 0x64, 0x64, 0x73, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x74, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x69, 0x73, 0x74, + 0x4f, 0x64, 0x64, 0x73, 0x22, 0xc0, 0x02, 0x0a, 0x1f, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, + 0x73, 0x67, 0x5f, 0x50, 0x6f, 0x73, 0x74, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x44, 0x61, 0x6d, 0x61, + 0x67, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x74, 0x68, 0x65, + 0x72, 0x5f, 0x78, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x6f, 0x74, + 0x68, 0x65, 0x72, 0x58, 0x75, 0x69, 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x67, 0x69, 0x76, 0x65, 0x6e, + 0x5f, 0x6b, 0x69, 0x6c, 0x6c, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x0d, 0x67, 0x69, 0x76, 0x65, 0x6e, 0x4b, 0x69, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x12, + 0x30, 0x0a, 0x14, 0x67, 0x69, 0x76, 0x65, 0x6e, 0x5f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, + 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x12, 0x67, + 0x69, 0x76, 0x65, 0x6e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, + 0x64, 0x12, 0x24, 0x0a, 0x0e, 0x67, 0x69, 0x76, 0x65, 0x6e, 0x5f, 0x6e, 0x75, 0x6d, 0x5f, 0x68, + 0x69, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x67, 0x69, 0x76, 0x65, 0x6e, + 0x4e, 0x75, 0x6d, 0x48, 0x69, 0x74, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x74, 0x61, 0x6b, 0x65, 0x6e, + 0x5f, 0x6b, 0x69, 0x6c, 0x6c, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x0d, 0x74, 0x61, 0x6b, 0x65, 0x6e, 0x4b, 0x69, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x12, + 0x30, 0x0a, 0x14, 0x74, 0x61, 0x6b, 0x65, 0x6e, 0x5f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, + 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x12, 0x74, + 0x61, 0x6b, 0x65, 0x6e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, + 0x64, 0x12, 0x24, 0x0a, 0x0e, 0x74, 0x61, 0x6b, 0x65, 0x6e, 0x5f, 0x6e, 0x75, 0x6d, 0x5f, 0x68, + 0x69, 0x74, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x74, 0x61, 0x6b, 0x65, 0x6e, + 0x4e, 0x75, 0x6d, 0x48, 0x69, 0x74, 0x73, 0x22, 0x30, 0x0a, 0x1a, 0x43, 0x43, 0x53, 0x55, 0x73, + 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x52, 0x6f, 0x75, 0x6e, + 0x64, 0x4f, 0x64, 0x64, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6f, 0x64, 0x64, 0x73, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x04, 0x6f, 0x64, 0x64, 0x73, 0x22, 0x4d, 0x0a, 0x13, 0x43, 0x43, 0x53, + 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x44, 0x65, 0x65, 0x70, 0x53, 0x74, 0x61, 0x74, 0x73, + 0x12, 0x36, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x20, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, + 0x35, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x44, 0x65, 0x65, 0x70, 0x53, 0x74, 0x61, 0x74, + 0x73, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x73, 0x22, 0xc9, 0x01, 0x0a, 0x13, 0x43, 0x43, 0x53, + 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x68, 0x6f, 0x6f, 0x74, 0x49, 0x6e, 0x66, 0x6f, + 0x12, 0x21, 0x0a, 0x0c, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x4e, 0x75, 0x6d, + 0x62, 0x65, 0x72, 0x12, 0x3b, 0x0a, 0x11, 0x68, 0x69, 0x74, 0x62, 0x6f, 0x78, 0x5f, 0x74, 0x72, + 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, + 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x52, 0x10, + 0x68, 0x69, 0x74, 0x62, 0x6f, 0x78, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x73, + 0x12, 0x28, 0x0a, 0x09, 0x73, 0x68, 0x6f, 0x6f, 0x74, 0x5f, 0x70, 0x6f, 0x73, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, + 0x52, 0x08, 0x73, 0x68, 0x6f, 0x6f, 0x74, 0x50, 0x6f, 0x73, 0x12, 0x28, 0x0a, 0x09, 0x73, 0x68, + 0x6f, 0x6f, 0x74, 0x5f, 0x64, 0x69, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, + 0x43, 0x4d, 0x73, 0x67, 0x51, 0x41, 0x6e, 0x67, 0x6c, 0x65, 0x52, 0x08, 0x73, 0x68, 0x6f, 0x6f, + 0x74, 0x44, 0x69, 0x72, 0x22, 0x2a, 0x0a, 0x12, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, + 0x67, 0x5f, 0x52, 0x65, 0x73, 0x65, 0x74, 0x48, 0x75, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x65, + 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x72, 0x65, 0x73, 0x65, 0x74, + 0x22, 0x2b, 0x0a, 0x13, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x47, 0x61, + 0x6d, 0x65, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x64, 0x75, 0x6d, 0x6d, 0x79, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x64, 0x75, 0x6d, 0x6d, 0x79, 0x22, 0x2e, 0x0a, + 0x16, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x64, 0x75, 0x6d, 0x6d, 0x79, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x64, 0x75, 0x6d, 0x6d, 0x79, 0x22, 0x33, 0x0a, + 0x1b, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x74, 0x6f, 0x70, 0x53, + 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x6f, 0x72, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x64, 0x75, 0x6d, 0x6d, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x64, 0x75, 0x6d, 0x6d, 0x79, 0x22, 0x33, 0x0a, 0x1b, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, + 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x54, 0x6f, 0x4c, 0x6f, 0x62, 0x62, + 0x79, 0x12, 0x14, 0x0a, 0x05, 0x64, 0x75, 0x6d, 0x6d, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x05, 0x64, 0x75, 0x6d, 0x6d, 0x79, 0x22, 0x30, 0x0a, 0x18, 0x43, 0x43, 0x53, 0x55, 0x73, + 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x57, 0x61, 0x72, 0x6d, 0x75, 0x70, 0x48, 0x61, 0x73, 0x45, 0x6e, + 0x64, 0x65, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x64, 0x75, 0x6d, 0x6d, 0x79, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x05, 0x64, 0x75, 0x6d, 0x6d, 0x79, 0x22, 0x2c, 0x0a, 0x14, 0x43, 0x43, 0x53, + 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, + 0x6f, 0x12, 0x14, 0x0a, 0x05, 0x64, 0x75, 0x6d, 0x6d, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x05, 0x64, 0x75, 0x6d, 0x6d, 0x79, 0x22, 0xa6, 0x01, 0x0a, 0x1d, 0x43, 0x43, 0x53, 0x55, + 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x61, 0x6e, 0x6b, + 0x52, 0x65, 0x76, 0x65, 0x61, 0x6c, 0x41, 0x6c, 0x6c, 0x12, 0x32, 0x0a, 0x15, 0x73, 0x65, 0x63, + 0x6f, 0x6e, 0x64, 0x73, 0x5f, 0x74, 0x69, 0x6c, 0x6c, 0x5f, 0x73, 0x68, 0x75, 0x74, 0x64, 0x6f, + 0x77, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x13, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, + 0x73, 0x54, 0x69, 0x6c, 0x6c, 0x53, 0x68, 0x75, 0x74, 0x64, 0x6f, 0x77, 0x6e, 0x12, 0x51, 0x0a, + 0x0b, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x53, 0x74, 0x72, 0x69, + 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x6d, 0x61, 0x6b, + 0x69, 0x6e, 0x67, 0x47, 0x43, 0x32, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, 0x65, + 0x72, 0x76, 0x65, 0x52, 0x0b, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x2a, 0xa6, 0x0f, 0x0a, 0x16, 0x45, 0x43, 0x73, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x55, + 0x73, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x12, 0x13, 0x0a, 0x0e, 0x43, + 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x56, 0x47, 0x55, 0x49, 0x4d, 0x65, 0x6e, 0x75, 0x10, 0xad, 0x02, + 0x12, 0x11, 0x0a, 0x0c, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x47, 0x65, 0x69, 0x67, 0x65, 0x72, + 0x10, 0xae, 0x02, 0x12, 0x10, 0x0a, 0x0b, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x54, 0x72, 0x61, + 0x69, 0x6e, 0x10, 0xaf, 0x02, 0x12, 0x12, 0x0a, 0x0d, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x48, + 0x75, 0x64, 0x54, 0x65, 0x78, 0x74, 0x10, 0xb0, 0x02, 0x12, 0x12, 0x0a, 0x0d, 0x43, 0x53, 0x5f, + 0x55, 0x4d, 0x5f, 0x53, 0x61, 0x79, 0x54, 0x65, 0x78, 0x74, 0x10, 0xb1, 0x02, 0x12, 0x13, 0x0a, + 0x0e, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x53, 0x61, 0x79, 0x54, 0x65, 0x78, 0x74, 0x32, 0x10, + 0xb2, 0x02, 0x12, 0x12, 0x0a, 0x0d, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x54, 0x65, 0x78, 0x74, + 0x4d, 0x73, 0x67, 0x10, 0xb3, 0x02, 0x12, 0x11, 0x0a, 0x0c, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, + 0x48, 0x75, 0x64, 0x4d, 0x73, 0x67, 0x10, 0xb4, 0x02, 0x12, 0x13, 0x0a, 0x0e, 0x43, 0x53, 0x5f, + 0x55, 0x4d, 0x5f, 0x52, 0x65, 0x73, 0x65, 0x74, 0x48, 0x75, 0x64, 0x10, 0xb5, 0x02, 0x12, 0x14, + 0x0a, 0x0f, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x54, 0x69, 0x74, 0x6c, + 0x65, 0x10, 0xb6, 0x02, 0x12, 0x10, 0x0a, 0x0b, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x53, 0x68, + 0x61, 0x6b, 0x65, 0x10, 0xb8, 0x02, 0x12, 0x0f, 0x0a, 0x0a, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, + 0x46, 0x61, 0x64, 0x65, 0x10, 0xb9, 0x02, 0x12, 0x11, 0x0a, 0x0c, 0x43, 0x53, 0x5f, 0x55, 0x4d, + 0x5f, 0x52, 0x75, 0x6d, 0x62, 0x6c, 0x65, 0x10, 0xba, 0x02, 0x12, 0x17, 0x0a, 0x12, 0x43, 0x53, + 0x5f, 0x55, 0x4d, 0x5f, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x43, 0x61, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x10, 0xbb, 0x02, 0x12, 0x1d, 0x0a, 0x18, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x43, 0x6c, 0x6f, + 0x73, 0x65, 0x43, 0x61, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x10, + 0xbc, 0x02, 0x12, 0x14, 0x0a, 0x0f, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x53, 0x65, 0x6e, 0x64, + 0x41, 0x75, 0x64, 0x69, 0x6f, 0x10, 0xbd, 0x02, 0x12, 0x13, 0x0a, 0x0e, 0x43, 0x53, 0x5f, 0x55, + 0x4d, 0x5f, 0x52, 0x61, 0x77, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x10, 0xbe, 0x02, 0x12, 0x14, 0x0a, + 0x0f, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x56, 0x6f, 0x69, 0x63, 0x65, 0x4d, 0x61, 0x73, 0x6b, + 0x10, 0xbf, 0x02, 0x12, 0x17, 0x0a, 0x12, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x10, 0xc0, 0x02, 0x12, 0x11, 0x0a, 0x0c, + 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x44, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x10, 0xc1, 0x02, 0x12, + 0x14, 0x0a, 0x0f, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x52, 0x61, 0x64, 0x69, 0x6f, 0x54, 0x65, + 0x78, 0x74, 0x10, 0xc2, 0x02, 0x12, 0x13, 0x0a, 0x0e, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x48, + 0x69, 0x6e, 0x74, 0x54, 0x65, 0x78, 0x74, 0x10, 0xc3, 0x02, 0x12, 0x16, 0x0a, 0x11, 0x43, 0x53, + 0x5f, 0x55, 0x4d, 0x5f, 0x4b, 0x65, 0x79, 0x48, 0x69, 0x6e, 0x74, 0x54, 0x65, 0x78, 0x74, 0x10, + 0xc4, 0x02, 0x12, 0x25, 0x0a, 0x20, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x50, 0x72, 0x6f, 0x63, + 0x65, 0x73, 0x73, 0x53, 0x70, 0x6f, 0x74, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x10, 0xc5, 0x02, 0x12, 0x17, 0x0a, 0x12, 0x43, 0x53, 0x5f, + 0x55, 0x4d, 0x5f, 0x52, 0x65, 0x6c, 0x6f, 0x61, 0x64, 0x45, 0x66, 0x66, 0x65, 0x63, 0x74, 0x10, + 0xc6, 0x02, 0x12, 0x16, 0x0a, 0x11, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x41, 0x64, 0x6a, 0x75, + 0x73, 0x74, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x10, 0xc7, 0x02, 0x12, 0x1a, 0x0a, 0x15, 0x43, 0x53, + 0x5f, 0x55, 0x4d, 0x5f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x4d, 0x6f, + 0x6e, 0x65, 0x79, 0x10, 0xc8, 0x02, 0x12, 0x1c, 0x0a, 0x17, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x53, 0x74, 0x6f, 0x70, 0x53, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x6f, 0x72, 0x4d, 0x6f, 0x64, - 0x65, 0x12, 0x14, 0x0a, 0x05, 0x64, 0x75, 0x6d, 0x6d, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x05, 0x64, 0x75, 0x6d, 0x6d, 0x79, 0x22, 0x33, 0x0a, 0x1b, 0x43, 0x43, 0x53, 0x55, 0x73, - 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x54, - 0x6f, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x64, 0x75, 0x6d, 0x6d, 0x79, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x64, 0x75, 0x6d, 0x6d, 0x79, 0x22, 0x30, 0x0a, 0x18, - 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x57, 0x61, 0x72, 0x6d, 0x75, 0x70, - 0x48, 0x61, 0x73, 0x45, 0x6e, 0x64, 0x65, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x64, 0x75, 0x6d, 0x6d, - 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x64, 0x75, 0x6d, 0x6d, 0x79, 0x22, 0x2c, - 0x0a, 0x14, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x43, 0x6c, 0x69, 0x65, - 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x14, 0x0a, 0x05, 0x64, 0x75, 0x6d, 0x6d, 0x79, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x64, 0x75, 0x6d, 0x6d, 0x79, 0x22, 0xa6, 0x01, 0x0a, - 0x1d, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x65, 0x72, 0x76, 0x65, - 0x72, 0x52, 0x61, 0x6e, 0x6b, 0x52, 0x65, 0x76, 0x65, 0x61, 0x6c, 0x41, 0x6c, 0x6c, 0x12, 0x32, - 0x0a, 0x15, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x5f, 0x74, 0x69, 0x6c, 0x6c, 0x5f, 0x73, - 0x68, 0x75, 0x74, 0x64, 0x6f, 0x77, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x13, 0x73, - 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x54, 0x69, 0x6c, 0x6c, 0x53, 0x68, 0x75, 0x74, 0x64, 0x6f, - 0x77, 0x6e, 0x12, 0x51, 0x0a, 0x0b, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, - 0x43, 0x53, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x31, 0x35, 0x5f, 0x76, 0x32, 0x5f, 0x4d, 0x61, 0x74, - 0x63, 0x68, 0x6d, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x47, 0x43, 0x32, 0x53, 0x65, 0x72, 0x76, 0x65, - 0x72, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x52, 0x0b, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xa2, 0x01, 0x0a, 0x11, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, - 0x4d, 0x73, 0x67, 0x5f, 0x55, 0x74, 0x69, 0x6c, 0x4d, 0x73, 0x67, 0x12, 0x1f, 0x0a, 0x0b, 0x75, - 0x74, 0x69, 0x6c, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0a, 0x75, 0x74, 0x69, 0x6c, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, - 0x75, 0x74, 0x69, 0x6c, 0x31, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x75, 0x74, 0x69, - 0x6c, 0x31, 0x12, 0x14, 0x0a, 0x05, 0x75, 0x74, 0x69, 0x6c, 0x32, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x05, 0x75, 0x74, 0x69, 0x6c, 0x32, 0x12, 0x14, 0x0a, 0x05, 0x75, 0x74, 0x69, 0x6c, - 0x33, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x75, 0x74, 0x69, 0x6c, 0x33, 0x12, 0x14, - 0x0a, 0x05, 0x75, 0x74, 0x69, 0x6c, 0x34, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x75, - 0x74, 0x69, 0x6c, 0x34, 0x12, 0x14, 0x0a, 0x05, 0x75, 0x74, 0x69, 0x6c, 0x35, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x05, 0x75, 0x74, 0x69, 0x6c, 0x35, 0x22, 0xc7, 0x03, 0x0a, 0x1a, 0x43, - 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x55, 0x74, 0x69, 0x6c, 0x4d, 0x73, 0x67, - 0x5f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x72, 0x63, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x07, 0x52, 0x03, 0x63, 0x72, 0x63, 0x12, 0x1d, 0x0a, 0x0a, 0x69, - 0x74, 0x65, 0x6d, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x09, 0x69, 0x74, 0x65, 0x6d, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x72, - 0x63, 0x32, 0x18, 0x03, 0x20, 0x01, 0x28, 0x07, 0x52, 0x04, 0x63, 0x72, 0x63, 0x32, 0x12, 0x1f, - 0x0a, 0x0b, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x32, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x0a, 0x69, 0x74, 0x65, 0x6d, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x32, 0x12, - 0x19, 0x0a, 0x08, 0x63, 0x72, 0x63, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x18, 0x05, 0x20, 0x03, 0x28, - 0x05, 0x52, 0x07, 0x63, 0x72, 0x63, 0x50, 0x61, 0x72, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x72, - 0x63, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x32, 0x18, 0x06, 0x20, 0x03, 0x28, 0x05, 0x52, 0x08, 0x63, - 0x72, 0x63, 0x50, 0x61, 0x72, 0x74, 0x32, 0x12, 0x29, 0x0a, 0x10, 0x63, 0x6c, 0x69, 0x65, 0x6e, - 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x07, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x0f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, - 0x6d, 0x70, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x08, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x48, - 0x0a, 0x0b, 0x69, 0x74, 0x65, 0x6d, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x09, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x43, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, - 0x55, 0x74, 0x69, 0x6c, 0x4d, 0x73, 0x67, 0x5f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x0b, 0x69, 0x74, 0x65, - 0x6d, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x74, 0x65, 0x6d, - 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x69, 0x74, 0x65, - 0x6d, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x1a, 0x5c, 0x0a, 0x0a, 0x49, 0x74, 0x65, 0x6d, 0x44, 0x65, - 0x74, 0x61, 0x69, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x61, - 0x73, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x68, 0x61, 0x73, 0x68, 0x12, 0x10, - 0x0a, 0x03, 0x63, 0x72, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x63, 0x72, 0x63, - 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x2a, 0xde, 0x0e, 0x0a, 0x16, 0x45, 0x43, 0x73, 0x74, 0x72, 0x69, 0x6b, - 0x65, 0x31, 0x35, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x12, - 0x12, 0x0a, 0x0e, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x56, 0x47, 0x55, 0x49, 0x4d, 0x65, 0x6e, - 0x75, 0x10, 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x47, 0x65, 0x69, - 0x67, 0x65, 0x72, 0x10, 0x02, 0x12, 0x0f, 0x0a, 0x0b, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x54, - 0x72, 0x61, 0x69, 0x6e, 0x10, 0x03, 0x12, 0x11, 0x0a, 0x0d, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, - 0x48, 0x75, 0x64, 0x54, 0x65, 0x78, 0x74, 0x10, 0x04, 0x12, 0x11, 0x0a, 0x0d, 0x43, 0x53, 0x5f, - 0x55, 0x4d, 0x5f, 0x53, 0x61, 0x79, 0x54, 0x65, 0x78, 0x74, 0x10, 0x05, 0x12, 0x12, 0x0a, 0x0e, - 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x53, 0x61, 0x79, 0x54, 0x65, 0x78, 0x74, 0x32, 0x10, 0x06, - 0x12, 0x11, 0x0a, 0x0d, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x54, 0x65, 0x78, 0x74, 0x4d, 0x73, - 0x67, 0x10, 0x07, 0x12, 0x10, 0x0a, 0x0c, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x48, 0x75, 0x64, - 0x4d, 0x73, 0x67, 0x10, 0x08, 0x12, 0x12, 0x0a, 0x0e, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x52, - 0x65, 0x73, 0x65, 0x74, 0x48, 0x75, 0x64, 0x10, 0x09, 0x12, 0x13, 0x0a, 0x0f, 0x43, 0x53, 0x5f, - 0x55, 0x4d, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x10, 0x0a, 0x12, 0x0f, - 0x0a, 0x0b, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x53, 0x68, 0x61, 0x6b, 0x65, 0x10, 0x0c, 0x12, - 0x0e, 0x0a, 0x0a, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x46, 0x61, 0x64, 0x65, 0x10, 0x0d, 0x12, - 0x10, 0x0a, 0x0c, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x52, 0x75, 0x6d, 0x62, 0x6c, 0x65, 0x10, - 0x0e, 0x12, 0x16, 0x0a, 0x12, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x43, 0x6c, 0x6f, 0x73, 0x65, - 0x43, 0x61, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0x0f, 0x12, 0x1c, 0x0a, 0x18, 0x43, 0x53, 0x5f, - 0x55, 0x4d, 0x5f, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x43, 0x61, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x44, - 0x69, 0x72, 0x65, 0x63, 0x74, 0x10, 0x10, 0x12, 0x13, 0x0a, 0x0f, 0x43, 0x53, 0x5f, 0x55, 0x4d, - 0x5f, 0x53, 0x65, 0x6e, 0x64, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x10, 0x11, 0x12, 0x12, 0x0a, 0x0e, - 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x52, 0x61, 0x77, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x10, 0x12, - 0x12, 0x13, 0x0a, 0x0f, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x56, 0x6f, 0x69, 0x63, 0x65, 0x4d, - 0x61, 0x73, 0x6b, 0x10, 0x13, 0x12, 0x16, 0x0a, 0x12, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x10, 0x14, 0x12, 0x10, 0x0a, - 0x0c, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x44, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x10, 0x15, 0x12, - 0x13, 0x0a, 0x0f, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x52, 0x61, 0x64, 0x69, 0x6f, 0x54, 0x65, - 0x78, 0x74, 0x10, 0x16, 0x12, 0x12, 0x0a, 0x0e, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x48, 0x69, - 0x6e, 0x74, 0x54, 0x65, 0x78, 0x74, 0x10, 0x17, 0x12, 0x15, 0x0a, 0x11, 0x43, 0x53, 0x5f, 0x55, - 0x4d, 0x5f, 0x4b, 0x65, 0x79, 0x48, 0x69, 0x6e, 0x74, 0x54, 0x65, 0x78, 0x74, 0x10, 0x18, 0x12, - 0x24, 0x0a, 0x20, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, - 0x53, 0x70, 0x6f, 0x74, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x10, 0x19, 0x12, 0x16, 0x0a, 0x12, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x52, - 0x65, 0x6c, 0x6f, 0x61, 0x64, 0x45, 0x66, 0x66, 0x65, 0x63, 0x74, 0x10, 0x1a, 0x12, 0x15, 0x0a, - 0x11, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x41, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x4d, 0x6f, 0x6e, - 0x65, 0x79, 0x10, 0x1b, 0x12, 0x19, 0x0a, 0x15, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x10, 0x1c, 0x12, - 0x1b, 0x0a, 0x17, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x53, 0x74, 0x6f, 0x70, 0x53, 0x70, 0x65, - 0x63, 0x74, 0x61, 0x74, 0x6f, 0x72, 0x4d, 0x6f, 0x64, 0x65, 0x10, 0x1d, 0x12, 0x11, 0x0a, 0x0d, - 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x4b, 0x69, 0x6c, 0x6c, 0x43, 0x61, 0x6d, 0x10, 0x1e, 0x12, - 0x1a, 0x0a, 0x16, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x44, 0x65, 0x73, 0x69, 0x72, 0x65, 0x64, - 0x54, 0x69, 0x6d, 0x65, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x10, 0x1f, 0x12, 0x1a, 0x0a, 0x16, 0x43, - 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x6d, 0x65, - 0x73, 0x63, 0x61, 0x6c, 0x65, 0x10, 0x20, 0x12, 0x1a, 0x0a, 0x16, 0x43, 0x53, 0x5f, 0x55, 0x4d, - 0x5f, 0x41, 0x63, 0x68, 0x69, 0x65, 0x76, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x45, 0x76, 0x65, 0x6e, - 0x74, 0x10, 0x21, 0x12, 0x1c, 0x0a, 0x18, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x4d, 0x61, 0x74, - 0x63, 0x68, 0x45, 0x6e, 0x64, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x10, - 0x22, 0x12, 0x1b, 0x0a, 0x17, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x44, 0x69, 0x73, 0x63, 0x6f, - 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x54, 0x6f, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x10, 0x23, 0x12, 0x1b, - 0x0a, 0x17, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x74, - 0x61, 0x74, 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x10, 0x24, 0x12, 0x1a, 0x0a, 0x16, 0x43, - 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x49, 0x6e, 0x76, 0x65, - 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x10, 0x25, 0x12, 0x18, 0x0a, 0x14, 0x43, 0x53, 0x5f, 0x55, 0x4d, - 0x5f, 0x57, 0x61, 0x72, 0x6d, 0x75, 0x70, 0x48, 0x61, 0x73, 0x45, 0x6e, 0x64, 0x65, 0x64, 0x10, - 0x26, 0x12, 0x14, 0x0a, 0x10, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, - 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x10, 0x27, 0x12, 0x12, 0x0a, 0x0e, 0x43, 0x53, 0x5f, 0x55, 0x4d, - 0x5f, 0x58, 0x52, 0x61, 0x6e, 0x6b, 0x47, 0x65, 0x74, 0x10, 0x28, 0x12, 0x12, 0x0a, 0x0e, 0x43, - 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x58, 0x52, 0x61, 0x6e, 0x6b, 0x55, 0x70, 0x64, 0x10, 0x29, 0x12, - 0x18, 0x0a, 0x14, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x43, 0x61, 0x6c, 0x6c, 0x56, 0x6f, 0x74, - 0x65, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x10, 0x2d, 0x12, 0x13, 0x0a, 0x0f, 0x43, 0x53, 0x5f, - 0x55, 0x4d, 0x5f, 0x56, 0x6f, 0x74, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x10, 0x2e, 0x12, 0x12, - 0x0a, 0x0e, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x56, 0x6f, 0x74, 0x65, 0x50, 0x61, 0x73, 0x73, - 0x10, 0x2f, 0x12, 0x14, 0x0a, 0x10, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x56, 0x6f, 0x74, 0x65, - 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x10, 0x30, 0x12, 0x13, 0x0a, 0x0f, 0x43, 0x53, 0x5f, 0x55, - 0x4d, 0x5f, 0x56, 0x6f, 0x74, 0x65, 0x53, 0x65, 0x74, 0x75, 0x70, 0x10, 0x31, 0x12, 0x1d, 0x0a, - 0x19, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x61, 0x6e, - 0x6b, 0x52, 0x65, 0x76, 0x65, 0x61, 0x6c, 0x41, 0x6c, 0x6c, 0x10, 0x32, 0x12, 0x26, 0x0a, 0x22, - 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x53, 0x65, 0x6e, 0x64, 0x4c, 0x61, 0x73, 0x74, 0x4b, 0x69, - 0x6c, 0x6c, 0x65, 0x72, 0x44, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, - 0x6e, 0x74, 0x10, 0x33, 0x12, 0x1a, 0x0a, 0x16, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x53, 0x65, - 0x72, 0x76, 0x65, 0x72, 0x52, 0x61, 0x6e, 0x6b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x10, 0x34, - 0x12, 0x14, 0x0a, 0x10, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x69, - 0x63, 0x6b, 0x75, 0x70, 0x10, 0x35, 0x12, 0x12, 0x0a, 0x0e, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, - 0x53, 0x68, 0x6f, 0x77, 0x4d, 0x65, 0x6e, 0x75, 0x10, 0x36, 0x12, 0x11, 0x0a, 0x0d, 0x43, 0x53, - 0x5f, 0x55, 0x4d, 0x5f, 0x42, 0x61, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x10, 0x37, 0x12, 0x14, 0x0a, - 0x10, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x41, 0x6d, 0x6d, 0x6f, 0x44, 0x65, 0x6e, 0x69, 0x65, - 0x64, 0x10, 0x38, 0x12, 0x19, 0x0a, 0x15, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x4d, 0x61, 0x72, - 0x6b, 0x41, 0x63, 0x68, 0x69, 0x65, 0x76, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x10, 0x39, 0x12, 0x1a, - 0x0a, 0x16, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x74, 0x61, - 0x74, 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x10, 0x3a, 0x12, 0x12, 0x0a, 0x0e, 0x43, 0x53, - 0x5f, 0x55, 0x4d, 0x5f, 0x49, 0x74, 0x65, 0x6d, 0x44, 0x72, 0x6f, 0x70, 0x10, 0x3b, 0x12, 0x19, - 0x0a, 0x15, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x47, 0x6c, 0x6f, 0x77, 0x50, 0x72, 0x6f, 0x70, - 0x54, 0x75, 0x72, 0x6e, 0x4f, 0x66, 0x66, 0x10, 0x3c, 0x12, 0x1d, 0x0a, 0x19, 0x43, 0x53, 0x5f, - 0x55, 0x4d, 0x5f, 0x53, 0x65, 0x6e, 0x64, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x74, 0x65, - 0x6d, 0x44, 0x72, 0x6f, 0x70, 0x73, 0x10, 0x3d, 0x12, 0x1e, 0x0a, 0x1a, 0x43, 0x53, 0x5f, 0x55, - 0x4d, 0x5f, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x46, 0x69, 0x6c, - 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x10, 0x3e, 0x12, 0x1d, 0x0a, 0x19, 0x43, 0x53, 0x5f, 0x55, - 0x4d, 0x5f, 0x53, 0x65, 0x6e, 0x64, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x74, 0x65, 0x6d, - 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x10, 0x3f, 0x12, 0x13, 0x0a, 0x0f, 0x43, 0x53, 0x5f, 0x55, 0x4d, - 0x5f, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x48, 0x69, 0x74, 0x10, 0x40, 0x12, 0x12, 0x0a, 0x0e, - 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x58, 0x70, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x10, 0x41, - 0x12, 0x17, 0x0a, 0x13, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x51, 0x75, 0x65, 0x73, 0x74, 0x50, - 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x10, 0x42, 0x12, 0x1e, 0x0a, 0x1a, 0x43, 0x53, 0x5f, - 0x55, 0x4d, 0x5f, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x4c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x62, 0x6f, - 0x61, 0x72, 0x64, 0x44, 0x61, 0x74, 0x61, 0x10, 0x43, 0x12, 0x25, 0x0a, 0x21, 0x43, 0x53, 0x5f, - 0x55, 0x4d, 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x44, 0x65, 0x63, 0x61, 0x6c, 0x44, 0x69, - 0x67, 0x69, 0x74, 0x61, 0x6c, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x10, 0x44, - 0x12, 0x15, 0x0a, 0x11, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x57, 0x65, 0x61, 0x70, 0x6f, 0x6e, - 0x53, 0x6f, 0x75, 0x6e, 0x64, 0x10, 0x45, 0x12, 0x1f, 0x0a, 0x1b, 0x43, 0x53, 0x5f, 0x55, 0x4d, + 0x65, 0x10, 0xc9, 0x02, 0x12, 0x12, 0x0a, 0x0d, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x4b, 0x69, + 0x6c, 0x6c, 0x43, 0x61, 0x6d, 0x10, 0xca, 0x02, 0x12, 0x1b, 0x0a, 0x16, 0x43, 0x53, 0x5f, 0x55, + 0x4d, 0x5f, 0x44, 0x65, 0x73, 0x69, 0x72, 0x65, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x63, 0x61, + 0x6c, 0x65, 0x10, 0xcb, 0x02, 0x12, 0x1b, 0x0a, 0x16, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x43, + 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x10, + 0xcc, 0x02, 0x12, 0x1b, 0x0a, 0x16, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x41, 0x63, 0x68, 0x69, + 0x65, 0x76, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x10, 0xcd, 0x02, 0x12, + 0x1d, 0x0a, 0x18, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x45, 0x6e, + 0x64, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x10, 0xce, 0x02, 0x12, 0x1c, + 0x0a, 0x17, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, + 0x63, 0x74, 0x54, 0x6f, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x10, 0xcf, 0x02, 0x12, 0x1c, 0x0a, 0x17, + 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, + 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x10, 0xd0, 0x02, 0x12, 0x19, 0x0a, 0x14, 0x43, 0x53, + 0x5f, 0x55, 0x4d, 0x5f, 0x57, 0x61, 0x72, 0x6d, 0x75, 0x70, 0x48, 0x61, 0x73, 0x45, 0x6e, 0x64, + 0x65, 0x64, 0x10, 0xd2, 0x02, 0x12, 0x15, 0x0a, 0x10, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x43, + 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x10, 0xd3, 0x02, 0x12, 0x13, 0x0a, 0x0e, + 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x58, 0x52, 0x61, 0x6e, 0x6b, 0x47, 0x65, 0x74, 0x10, 0xd4, + 0x02, 0x12, 0x13, 0x0a, 0x0e, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x58, 0x52, 0x61, 0x6e, 0x6b, + 0x55, 0x70, 0x64, 0x10, 0xd5, 0x02, 0x12, 0x19, 0x0a, 0x14, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, + 0x43, 0x61, 0x6c, 0x6c, 0x56, 0x6f, 0x74, 0x65, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x10, 0xd9, + 0x02, 0x12, 0x14, 0x0a, 0x0f, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x56, 0x6f, 0x74, 0x65, 0x53, + 0x74, 0x61, 0x72, 0x74, 0x10, 0xda, 0x02, 0x12, 0x13, 0x0a, 0x0e, 0x43, 0x53, 0x5f, 0x55, 0x4d, + 0x5f, 0x56, 0x6f, 0x74, 0x65, 0x50, 0x61, 0x73, 0x73, 0x10, 0xdb, 0x02, 0x12, 0x15, 0x0a, 0x10, + 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x56, 0x6f, 0x74, 0x65, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, + 0x10, 0xdc, 0x02, 0x12, 0x14, 0x0a, 0x0f, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x56, 0x6f, 0x74, + 0x65, 0x53, 0x65, 0x74, 0x75, 0x70, 0x10, 0xdd, 0x02, 0x12, 0x1e, 0x0a, 0x19, 0x43, 0x53, 0x5f, + 0x55, 0x4d, 0x5f, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x61, 0x6e, 0x6b, 0x52, 0x65, 0x76, + 0x65, 0x61, 0x6c, 0x41, 0x6c, 0x6c, 0x10, 0xde, 0x02, 0x12, 0x27, 0x0a, 0x22, 0x43, 0x53, 0x5f, + 0x55, 0x4d, 0x5f, 0x53, 0x65, 0x6e, 0x64, 0x4c, 0x61, 0x73, 0x74, 0x4b, 0x69, 0x6c, 0x6c, 0x65, + 0x72, 0x44, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x10, + 0xdf, 0x02, 0x12, 0x1b, 0x0a, 0x16, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x53, 0x65, 0x72, 0x76, + 0x65, 0x72, 0x52, 0x61, 0x6e, 0x6b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x10, 0xe0, 0x02, 0x12, + 0x15, 0x0a, 0x10, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x69, 0x63, + 0x6b, 0x75, 0x70, 0x10, 0xe1, 0x02, 0x12, 0x13, 0x0a, 0x0e, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, + 0x53, 0x68, 0x6f, 0x77, 0x4d, 0x65, 0x6e, 0x75, 0x10, 0xe2, 0x02, 0x12, 0x12, 0x0a, 0x0d, 0x43, + 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x42, 0x61, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x10, 0xe3, 0x02, 0x12, + 0x15, 0x0a, 0x10, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x41, 0x6d, 0x6d, 0x6f, 0x44, 0x65, 0x6e, + 0x69, 0x65, 0x64, 0x10, 0xe4, 0x02, 0x12, 0x1a, 0x0a, 0x15, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, + 0x4d, 0x61, 0x72, 0x6b, 0x41, 0x63, 0x68, 0x69, 0x65, 0x76, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x10, + 0xe5, 0x02, 0x12, 0x1b, 0x0a, 0x16, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x4d, 0x61, 0x74, 0x63, + 0x68, 0x53, 0x74, 0x61, 0x74, 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x10, 0xe6, 0x02, 0x12, + 0x13, 0x0a, 0x0e, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x49, 0x74, 0x65, 0x6d, 0x44, 0x72, 0x6f, + 0x70, 0x10, 0xe7, 0x02, 0x12, 0x1a, 0x0a, 0x15, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x47, 0x6c, + 0x6f, 0x77, 0x50, 0x72, 0x6f, 0x70, 0x54, 0x75, 0x72, 0x6e, 0x4f, 0x66, 0x66, 0x10, 0xe8, 0x02, + 0x12, 0x1e, 0x0a, 0x19, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x53, 0x65, 0x6e, 0x64, 0x50, 0x6c, + 0x61, 0x79, 0x65, 0x72, 0x49, 0x74, 0x65, 0x6d, 0x44, 0x72, 0x6f, 0x70, 0x73, 0x10, 0xe9, 0x02, + 0x12, 0x1f, 0x0a, 0x1a, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x42, + 0x61, 0x63, 0x6b, 0x75, 0x70, 0x46, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x10, 0xea, + 0x02, 0x12, 0x1e, 0x0a, 0x19, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x53, 0x65, 0x6e, 0x64, 0x50, + 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x74, 0x65, 0x6d, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x10, 0xeb, + 0x02, 0x12, 0x14, 0x0a, 0x0f, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x52, 0x65, 0x70, 0x6f, 0x72, + 0x74, 0x48, 0x69, 0x74, 0x10, 0xec, 0x02, 0x12, 0x13, 0x0a, 0x0e, 0x43, 0x53, 0x5f, 0x55, 0x4d, + 0x5f, 0x58, 0x70, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x10, 0xed, 0x02, 0x12, 0x18, 0x0a, 0x13, + 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x51, 0x75, 0x65, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x67, 0x72, + 0x65, 0x73, 0x73, 0x10, 0xee, 0x02, 0x12, 0x1f, 0x0a, 0x1a, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, + 0x53, 0x63, 0x6f, 0x72, 0x65, 0x4c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, + 0x44, 0x61, 0x74, 0x61, 0x10, 0xef, 0x02, 0x12, 0x26, 0x0a, 0x21, 0x43, 0x53, 0x5f, 0x55, 0x4d, + 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x44, 0x65, 0x63, 0x61, 0x6c, 0x44, 0x69, 0x67, 0x69, + 0x74, 0x61, 0x6c, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x10, 0xf0, 0x02, 0x12, + 0x16, 0x0a, 0x11, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x57, 0x65, 0x61, 0x70, 0x6f, 0x6e, 0x53, + 0x6f, 0x75, 0x6e, 0x64, 0x10, 0xf1, 0x02, 0x12, 0x20, 0x0a, 0x1b, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x48, 0x65, 0x61, - 0x6c, 0x74, 0x68, 0x42, 0x61, 0x72, 0x10, 0x46, 0x12, 0x20, 0x0a, 0x1c, 0x43, 0x53, 0x5f, 0x55, - 0x4d, 0x5f, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x4f, 0x75, 0x74, 0x6c, 0x69, 0x6e, 0x65, 0x48, - 0x69, 0x67, 0x68, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x10, 0x47, 0x12, 0x0e, 0x0a, 0x0a, 0x43, 0x53, - 0x5f, 0x55, 0x4d, 0x5f, 0x53, 0x53, 0x55, 0x49, 0x10, 0x48, 0x12, 0x17, 0x0a, 0x13, 0x43, 0x53, - 0x5f, 0x55, 0x4d, 0x5f, 0x53, 0x75, 0x72, 0x76, 0x69, 0x76, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, - 0x73, 0x10, 0x49, 0x12, 0x1c, 0x0a, 0x18, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x44, 0x69, 0x73, - 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x54, 0x6f, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x32, 0x10, - 0x4a, 0x12, 0x22, 0x0a, 0x1e, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x45, 0x6e, 0x64, 0x4f, 0x66, - 0x4d, 0x61, 0x74, 0x63, 0x68, 0x41, 0x6c, 0x6c, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x44, - 0x61, 0x74, 0x61, 0x10, 0x4b, 0x12, 0x1e, 0x0a, 0x1a, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x52, - 0x6f, 0x75, 0x6e, 0x64, 0x49, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x44, - 0x61, 0x74, 0x61, 0x10, 0x4f, 0x12, 0x1a, 0x0a, 0x16, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x43, - 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x4f, 0x64, 0x64, 0x73, 0x10, - 0x50, 0x12, 0x13, 0x0a, 0x0f, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x44, 0x65, 0x65, 0x70, 0x53, - 0x74, 0x61, 0x74, 0x73, 0x10, 0x51, 0x12, 0x11, 0x0a, 0x0d, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, - 0x55, 0x74, 0x69, 0x6c, 0x4d, 0x73, 0x67, 0x10, 0x52, 0x12, 0x1a, 0x0a, 0x16, 0x43, 0x53, 0x5f, - 0x55, 0x4d, 0x5f, 0x55, 0x74, 0x69, 0x6c, 0x4d, 0x73, 0x67, 0x5f, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x10, 0x53, 0x2a, 0x88, 0x01, 0x0a, 0x22, 0x45, 0x43, 0x53, 0x55, 0x73, 0x72, - 0x4d, 0x73, 0x67, 0x5f, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x54, 0x6f, - 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x5f, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x30, 0x0a, 0x2c, - 0x6b, 0x5f, 0x45, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x44, 0x69, 0x73, 0x63, - 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x54, 0x6f, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x5f, 0x41, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x10, 0x00, 0x12, 0x30, - 0x0a, 0x2c, 0x6b, 0x5f, 0x45, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x44, 0x69, - 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x54, 0x6f, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x5f, - 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x47, 0x6f, 0x51, 0x75, 0x65, 0x75, 0x65, 0x10, 0x01, - 0x42, 0x05, 0x48, 0x01, 0x80, 0x01, 0x00, + 0x6c, 0x74, 0x68, 0x42, 0x61, 0x72, 0x10, 0xf2, 0x02, 0x12, 0x21, 0x0a, 0x1c, 0x43, 0x53, 0x5f, + 0x55, 0x4d, 0x5f, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x4f, 0x75, 0x74, 0x6c, 0x69, 0x6e, 0x65, + 0x48, 0x69, 0x67, 0x68, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x10, 0xf3, 0x02, 0x12, 0x0f, 0x0a, 0x0a, + 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x53, 0x53, 0x55, 0x49, 0x10, 0xf4, 0x02, 0x12, 0x18, 0x0a, + 0x13, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x53, 0x75, 0x72, 0x76, 0x69, 0x76, 0x61, 0x6c, 0x53, + 0x74, 0x61, 0x74, 0x73, 0x10, 0xf5, 0x02, 0x12, 0x1d, 0x0a, 0x18, 0x43, 0x53, 0x5f, 0x55, 0x4d, + 0x5f, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x54, 0x6f, 0x4c, 0x6f, 0x62, + 0x62, 0x79, 0x32, 0x10, 0xf6, 0x02, 0x12, 0x23, 0x0a, 0x1e, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, + 0x45, 0x6e, 0x64, 0x4f, 0x66, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x41, 0x6c, 0x6c, 0x50, 0x6c, 0x61, + 0x79, 0x65, 0x72, 0x73, 0x44, 0x61, 0x74, 0x61, 0x10, 0xf7, 0x02, 0x12, 0x20, 0x0a, 0x1b, 0x43, + 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x50, 0x6f, 0x73, 0x74, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x44, 0x61, + 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x10, 0xf8, 0x02, 0x12, 0x1d, 0x0a, + 0x18, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x45, 0x6e, 0x64, 0x52, + 0x65, 0x70, 0x6f, 0x72, 0x74, 0x44, 0x61, 0x74, 0x61, 0x10, 0xfb, 0x02, 0x12, 0x1b, 0x0a, 0x16, + 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x52, 0x6f, 0x75, + 0x6e, 0x64, 0x4f, 0x64, 0x64, 0x73, 0x10, 0xfc, 0x02, 0x12, 0x14, 0x0a, 0x0f, 0x43, 0x53, 0x5f, + 0x55, 0x4d, 0x5f, 0x44, 0x65, 0x65, 0x70, 0x53, 0x74, 0x61, 0x74, 0x73, 0x10, 0xfd, 0x02, 0x12, + 0x12, 0x0a, 0x0d, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x55, 0x74, 0x69, 0x6c, 0x4d, 0x73, 0x67, + 0x10, 0xfe, 0x02, 0x12, 0x14, 0x0a, 0x0f, 0x43, 0x53, 0x5f, 0x55, 0x4d, 0x5f, 0x53, 0x68, 0x6f, + 0x6f, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x10, 0xff, 0x02, 0x2a, 0x88, 0x01, 0x0a, 0x22, 0x45, 0x43, + 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, + 0x63, 0x74, 0x54, 0x6f, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x5f, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x30, 0x0a, 0x2c, 0x6b, 0x5f, 0x45, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, 0x67, 0x5f, + 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x54, 0x6f, 0x4c, 0x6f, 0x62, 0x62, + 0x79, 0x5f, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, + 0x10, 0x00, 0x12, 0x30, 0x0a, 0x2c, 0x6b, 0x5f, 0x45, 0x43, 0x53, 0x55, 0x73, 0x72, 0x4d, 0x73, + 0x67, 0x5f, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x54, 0x6f, 0x4c, 0x6f, + 0x62, 0x62, 0x79, 0x5f, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x47, 0x6f, 0x51, 0x75, 0x65, + 0x75, 0x65, 0x10, 0x01, } var ( @@ -6833,7 +6546,7 @@ func file_cstrike15_usermessages_proto_rawDescGZIP() []byte { } var file_cstrike15_usermessages_proto_enumTypes = make([]protoimpl.EnumInfo, 2) -var file_cstrike15_usermessages_proto_msgTypes = make([]protoimpl.MessageInfo, 90) +var file_cstrike15_usermessages_proto_msgTypes = make([]protoimpl.MessageInfo, 85) var file_cstrike15_usermessages_proto_goTypes = []interface{}{ (ECstrike15UserMessages)(0), // 0: ECstrike15UserMessages (ECSUsrMsg_DisconnectToLobby_Action)(0), // 1: ECSUsrMsg_DisconnectToLobby_Action @@ -6841,137 +6554,136 @@ var file_cstrike15_usermessages_proto_goTypes = []interface{}{ (*CCSUsrMsg_Geiger)(nil), // 3: CCSUsrMsg_Geiger (*CCSUsrMsg_Train)(nil), // 4: CCSUsrMsg_Train (*CCSUsrMsg_HudText)(nil), // 5: CCSUsrMsg_HudText - (*CCSUsrMsg_SayText)(nil), // 6: CCSUsrMsg_SayText - (*CCSUsrMsg_SayText2)(nil), // 7: CCSUsrMsg_SayText2 - (*CCSUsrMsg_TextMsg)(nil), // 8: CCSUsrMsg_TextMsg - (*CCSUsrMsg_HudMsg)(nil), // 9: CCSUsrMsg_HudMsg - (*CCSUsrMsg_Shake)(nil), // 10: CCSUsrMsg_Shake - (*CCSUsrMsg_Fade)(nil), // 11: CCSUsrMsg_Fade - (*CCSUsrMsg_Rumble)(nil), // 12: CCSUsrMsg_Rumble - (*CCSUsrMsg_CloseCaption)(nil), // 13: CCSUsrMsg_CloseCaption - (*CCSUsrMsg_CloseCaptionDirect)(nil), // 14: CCSUsrMsg_CloseCaptionDirect - (*CCSUsrMsg_SendAudio)(nil), // 15: CCSUsrMsg_SendAudio - (*CCSUsrMsg_RawAudio)(nil), // 16: CCSUsrMsg_RawAudio - (*CCSUsrMsg_VoiceMask)(nil), // 17: CCSUsrMsg_VoiceMask - (*CCSUsrMsg_Damage)(nil), // 18: CCSUsrMsg_Damage - (*CCSUsrMsg_RadioText)(nil), // 19: CCSUsrMsg_RadioText - (*CCSUsrMsg_HintText)(nil), // 20: CCSUsrMsg_HintText - (*CCSUsrMsg_KeyHintText)(nil), // 21: CCSUsrMsg_KeyHintText - (*CCSUsrMsg_ProcessSpottedEntityUpdate)(nil), // 22: CCSUsrMsg_ProcessSpottedEntityUpdate - (*CCSUsrMsg_SendPlayerItemDrops)(nil), // 23: CCSUsrMsg_SendPlayerItemDrops - (*CCSUsrMsg_SendPlayerItemFound)(nil), // 24: CCSUsrMsg_SendPlayerItemFound - (*CCSUsrMsg_ReloadEffect)(nil), // 25: CCSUsrMsg_ReloadEffect - (*CCSUsrMsg_WeaponSound)(nil), // 26: CCSUsrMsg_WeaponSound - (*CCSUsrMsg_UpdateScreenHealthBar)(nil), // 27: CCSUsrMsg_UpdateScreenHealthBar - (*CCSUsrMsg_EntityOutlineHighlight)(nil), // 28: CCSUsrMsg_EntityOutlineHighlight - (*CCSUsrMsg_AdjustMoney)(nil), // 29: CCSUsrMsg_AdjustMoney - (*CCSUsrMsg_ReportHit)(nil), // 30: CCSUsrMsg_ReportHit - (*CCSUsrMsg_KillCam)(nil), // 31: CCSUsrMsg_KillCam - (*CCSUsrMsg_DesiredTimescale)(nil), // 32: CCSUsrMsg_DesiredTimescale - (*CCSUsrMsg_CurrentTimescale)(nil), // 33: CCSUsrMsg_CurrentTimescale - (*CCSUsrMsg_AchievementEvent)(nil), // 34: CCSUsrMsg_AchievementEvent - (*CCSUsrMsg_MatchEndConditions)(nil), // 35: CCSUsrMsg_MatchEndConditions - (*CCSUsrMsg_PlayerStatsUpdate)(nil), // 36: CCSUsrMsg_PlayerStatsUpdate - (*CCSUsrMsg_DisplayInventory)(nil), // 37: CCSUsrMsg_DisplayInventory - (*CCSUsrMsg_QuestProgress)(nil), // 38: CCSUsrMsg_QuestProgress - (*CCSUsrMsg_ScoreLeaderboardData)(nil), // 39: CCSUsrMsg_ScoreLeaderboardData - (*CCSUsrMsg_PlayerDecalDigitalSignature)(nil), // 40: CCSUsrMsg_PlayerDecalDigitalSignature - (*CCSUsrMsg_XRankGet)(nil), // 41: CCSUsrMsg_XRankGet - (*CCSUsrMsg_XRankUpd)(nil), // 42: CCSUsrMsg_XRankUpd - (*CCSUsrMsg_CallVoteFailed)(nil), // 43: CCSUsrMsg_CallVoteFailed - (*CCSUsrMsg_VoteStart)(nil), // 44: CCSUsrMsg_VoteStart - (*CCSUsrMsg_VotePass)(nil), // 45: CCSUsrMsg_VotePass - (*CCSUsrMsg_VoteFailed)(nil), // 46: CCSUsrMsg_VoteFailed - (*CCSUsrMsg_VoteSetup)(nil), // 47: CCSUsrMsg_VoteSetup - (*CCSUsrMsg_SendLastKillerDamageToClient)(nil), // 48: CCSUsrMsg_SendLastKillerDamageToClient - (*CCSUsrMsg_ServerRankUpdate)(nil), // 49: CCSUsrMsg_ServerRankUpdate - (*CCSUsrMsg_XpUpdate)(nil), // 50: CCSUsrMsg_XpUpdate - (*CCSUsrMsg_ItemPickup)(nil), // 51: CCSUsrMsg_ItemPickup - (*CCSUsrMsg_ShowMenu)(nil), // 52: CCSUsrMsg_ShowMenu - (*CCSUsrMsg_BarTime)(nil), // 53: CCSUsrMsg_BarTime - (*CCSUsrMsg_AmmoDenied)(nil), // 54: CCSUsrMsg_AmmoDenied - (*CCSUsrMsg_MarkAchievement)(nil), // 55: CCSUsrMsg_MarkAchievement - (*CCSUsrMsg_MatchStatsUpdate)(nil), // 56: CCSUsrMsg_MatchStatsUpdate - (*CCSUsrMsg_ItemDrop)(nil), // 57: CCSUsrMsg_ItemDrop - (*CCSUsrMsg_GlowPropTurnOff)(nil), // 58: CCSUsrMsg_GlowPropTurnOff - (*CCSUsrMsg_RoundBackupFilenames)(nil), // 59: CCSUsrMsg_RoundBackupFilenames - (*CCSUsrMsg_SSUI)(nil), // 60: CCSUsrMsg_SSUI - (*CCSUsrMsg_SurvivalStats)(nil), // 61: CCSUsrMsg_SurvivalStats - (*CCSUsrMsg_EndOfMatchAllPlayersData)(nil), // 62: CCSUsrMsg_EndOfMatchAllPlayersData - (*CCSUsrMsg_RoundImpactScoreData)(nil), // 63: CCSUsrMsg_RoundImpactScoreData - (*CCSUsrMsg_CurrentRoundOdds)(nil), // 64: CCSUsrMsg_CurrentRoundOdds - (*CCSUsrMsg_DeepStats)(nil), // 65: CCSUsrMsg_DeepStats - (*CCSUsrMsg_ResetHud)(nil), // 66: CCSUsrMsg_ResetHud - (*CCSUsrMsg_GameTitle)(nil), // 67: CCSUsrMsg_GameTitle - (*CCSUsrMsg_RequestState)(nil), // 68: CCSUsrMsg_RequestState - (*CCSUsrMsg_StopSpectatorMode)(nil), // 69: CCSUsrMsg_StopSpectatorMode - (*CCSUsrMsg_DisconnectToLobby)(nil), // 70: CCSUsrMsg_DisconnectToLobby - (*CCSUsrMsg_WarmupHasEnded)(nil), // 71: CCSUsrMsg_WarmupHasEnded - (*CCSUsrMsg_ClientInfo)(nil), // 72: CCSUsrMsg_ClientInfo - (*CCSUsrMsg_ServerRankRevealAll)(nil), // 73: CCSUsrMsg_ServerRankRevealAll - (*CCSUsrMsg_UtilMsg)(nil), // 74: CCSUsrMsg_UtilMsg - (*CCSUsrMsg_UtilMsg_Response)(nil), // 75: CCSUsrMsg_UtilMsg_Response - (*CCSUsrMsg_VGUIMenu_Subkey)(nil), // 76: CCSUsrMsg_VGUIMenu.Subkey - (*CCSUsrMsg_VoiceMask_PlayerMask)(nil), // 77: CCSUsrMsg_VoiceMask.PlayerMask - (*CCSUsrMsg_ProcessSpottedEntityUpdate_SpottedEntityUpdate)(nil), // 78: CCSUsrMsg_ProcessSpottedEntityUpdate.SpottedEntityUpdate - (*CCSUsrMsg_PlayerStatsUpdate_Stat)(nil), // 79: CCSUsrMsg_PlayerStatsUpdate.Stat - (*CCSUsrMsg_ServerRankUpdate_RankUpdate)(nil), // 80: CCSUsrMsg_ServerRankUpdate.RankUpdate - (*CCSUsrMsg_SurvivalStats_Fact)(nil), // 81: CCSUsrMsg_SurvivalStats.Fact - (*CCSUsrMsg_SurvivalStats_Placement)(nil), // 82: CCSUsrMsg_SurvivalStats.Placement - (*CCSUsrMsg_SurvivalStats_Damage)(nil), // 83: CCSUsrMsg_SurvivalStats.Damage - (*CCSUsrMsg_EndOfMatchAllPlayersData_Accolade)(nil), // 84: CCSUsrMsg_EndOfMatchAllPlayersData.Accolade - (*CCSUsrMsg_EndOfMatchAllPlayersData_PlayerData)(nil), // 85: CCSUsrMsg_EndOfMatchAllPlayersData.PlayerData - (*CCSUsrMsg_RoundImpactScoreData_RisEvent)(nil), // 86: CCSUsrMsg_RoundImpactScoreData.RisEvent - (*CCSUsrMsg_RoundImpactScoreData_InitialConditions)(nil), // 87: CCSUsrMsg_RoundImpactScoreData.InitialConditions - (*CCSUsrMsg_RoundImpactScoreData_RisEvent_Victim)(nil), // 88: CCSUsrMsg_RoundImpactScoreData.RisEvent.Victim - (*CCSUsrMsg_RoundImpactScoreData_RisEvent_Objective)(nil), // 89: CCSUsrMsg_RoundImpactScoreData.RisEvent.Objective - (*CCSUsrMsg_RoundImpactScoreData_RisEvent_Damage)(nil), // 90: CCSUsrMsg_RoundImpactScoreData.RisEvent.Damage - (*CCSUsrMsg_UtilMsg_Response_ItemDetail)(nil), // 91: CCSUsrMsg_UtilMsg_Response.ItemDetail - (*CMsgVector2D)(nil), // 92: CMsgVector2D - (*CMsgRGBA)(nil), // 93: CMsgRGBA - (*CMsgVector)(nil), // 94: CMsgVector - (*CEconItemPreviewDataBlock)(nil), // 95: CEconItemPreviewDataBlock - (*ScoreLeaderboardData)(nil), // 96: ScoreLeaderboardData - (*PlayerDecalDigitalSignature)(nil), // 97: PlayerDecalDigitalSignature - (*CMsgGCCstrike15V2_GC2ServerNotifyXPRewarded)(nil), // 98: CMsgGCCstrike15_v2_GC2ServerNotifyXPRewarded - (*CMsgGCCStrike15_ClientDeepStats)(nil), // 99: CMsgGCCStrike15_ClientDeepStats - (*CMsgGCCStrike15V2_MatchmakingGC2ServerReserve)(nil), // 100: CMsgGCCStrike15_v2_MatchmakingGC2ServerReserve + (*CCSUsrMsg_HudMsg)(nil), // 6: CCSUsrMsg_HudMsg + (*CCSUsrMsg_Shake)(nil), // 7: CCSUsrMsg_Shake + (*CCSUsrMsg_Fade)(nil), // 8: CCSUsrMsg_Fade + (*CCSUsrMsg_Rumble)(nil), // 9: CCSUsrMsg_Rumble + (*CCSUsrMsg_CloseCaption)(nil), // 10: CCSUsrMsg_CloseCaption + (*CCSUsrMsg_CloseCaptionDirect)(nil), // 11: CCSUsrMsg_CloseCaptionDirect + (*CCSUsrMsg_SendAudio)(nil), // 12: CCSUsrMsg_SendAudio + (*CCSUsrMsg_RawAudio)(nil), // 13: CCSUsrMsg_RawAudio + (*CCSUsrMsg_VoiceMask)(nil), // 14: CCSUsrMsg_VoiceMask + (*CCSUsrMsg_Damage)(nil), // 15: CCSUsrMsg_Damage + (*CCSUsrMsg_RadioText)(nil), // 16: CCSUsrMsg_RadioText + (*CCSUsrMsg_HintText)(nil), // 17: CCSUsrMsg_HintText + (*CCSUsrMsg_KeyHintText)(nil), // 18: CCSUsrMsg_KeyHintText + (*CCSUsrMsg_ProcessSpottedEntityUpdate)(nil), // 19: CCSUsrMsg_ProcessSpottedEntityUpdate + (*CCSUsrMsg_SendPlayerItemDrops)(nil), // 20: CCSUsrMsg_SendPlayerItemDrops + (*CCSUsrMsg_SendPlayerItemFound)(nil), // 21: CCSUsrMsg_SendPlayerItemFound + (*CCSUsrMsg_ReloadEffect)(nil), // 22: CCSUsrMsg_ReloadEffect + (*CCSUsrMsg_WeaponSound)(nil), // 23: CCSUsrMsg_WeaponSound + (*CCSUsrMsg_UpdateScreenHealthBar)(nil), // 24: CCSUsrMsg_UpdateScreenHealthBar + (*CCSUsrMsg_EntityOutlineHighlight)(nil), // 25: CCSUsrMsg_EntityOutlineHighlight + (*CCSUsrMsg_AdjustMoney)(nil), // 26: CCSUsrMsg_AdjustMoney + (*CCSUsrMsg_ReportHit)(nil), // 27: CCSUsrMsg_ReportHit + (*CCSUsrMsg_KillCam)(nil), // 28: CCSUsrMsg_KillCam + (*CCSUsrMsg_DesiredTimescale)(nil), // 29: CCSUsrMsg_DesiredTimescale + (*CCSUsrMsg_CurrentTimescale)(nil), // 30: CCSUsrMsg_CurrentTimescale + (*CCSUsrMsg_AchievementEvent)(nil), // 31: CCSUsrMsg_AchievementEvent + (*CCSUsrMsg_MatchEndConditions)(nil), // 32: CCSUsrMsg_MatchEndConditions + (*CCSUsrMsg_PlayerStatsUpdate)(nil), // 33: CCSUsrMsg_PlayerStatsUpdate + (*CCSUsrMsg_QuestProgress)(nil), // 34: CCSUsrMsg_QuestProgress + (*CCSUsrMsg_ScoreLeaderboardData)(nil), // 35: CCSUsrMsg_ScoreLeaderboardData + (*CCSUsrMsg_PlayerDecalDigitalSignature)(nil), // 36: CCSUsrMsg_PlayerDecalDigitalSignature + (*CCSUsrMsg_XRankGet)(nil), // 37: CCSUsrMsg_XRankGet + (*CCSUsrMsg_XRankUpd)(nil), // 38: CCSUsrMsg_XRankUpd + (*CCSUsrMsg_CallVoteFailed)(nil), // 39: CCSUsrMsg_CallVoteFailed + (*CCSUsrMsg_VoteStart)(nil), // 40: CCSUsrMsg_VoteStart + (*CCSUsrMsg_VotePass)(nil), // 41: CCSUsrMsg_VotePass + (*CCSUsrMsg_VoteFailed)(nil), // 42: CCSUsrMsg_VoteFailed + (*CCSUsrMsg_VoteSetup)(nil), // 43: CCSUsrMsg_VoteSetup + (*CCSUsrMsg_SendLastKillerDamageToClient)(nil), // 44: CCSUsrMsg_SendLastKillerDamageToClient + (*CCSUsrMsg_ServerRankUpdate)(nil), // 45: CCSUsrMsg_ServerRankUpdate + (*CCSUsrMsg_XpUpdate)(nil), // 46: CCSUsrMsg_XpUpdate + (*CCSUsrMsg_ItemPickup)(nil), // 47: CCSUsrMsg_ItemPickup + (*CCSUsrMsg_ShowMenu)(nil), // 48: CCSUsrMsg_ShowMenu + (*CCSUsrMsg_BarTime)(nil), // 49: CCSUsrMsg_BarTime + (*CCSUsrMsg_AmmoDenied)(nil), // 50: CCSUsrMsg_AmmoDenied + (*CCSUsrMsg_MarkAchievement)(nil), // 51: CCSUsrMsg_MarkAchievement + (*CCSUsrMsg_MatchStatsUpdate)(nil), // 52: CCSUsrMsg_MatchStatsUpdate + (*CCSUsrMsg_ItemDrop)(nil), // 53: CCSUsrMsg_ItemDrop + (*CCSUsrMsg_GlowPropTurnOff)(nil), // 54: CCSUsrMsg_GlowPropTurnOff + (*CCSUsrMsg_RoundBackupFilenames)(nil), // 55: CCSUsrMsg_RoundBackupFilenames + (*CCSUsrMsg_SSUI)(nil), // 56: CCSUsrMsg_SSUI + (*CCSUsrMsg_SurvivalStats)(nil), // 57: CCSUsrMsg_SurvivalStats + (*CCSUsrMsg_EndOfMatchAllPlayersData)(nil), // 58: CCSUsrMsg_EndOfMatchAllPlayersData + (*CCSUsrMsg_RoundEndReportData)(nil), // 59: CCSUsrMsg_RoundEndReportData + (*CCSUsrMsg_PostRoundDamageReport)(nil), // 60: CCSUsrMsg_PostRoundDamageReport + (*CCSUsrMsg_CurrentRoundOdds)(nil), // 61: CCSUsrMsg_CurrentRoundOdds + (*CCSUsrMsg_DeepStats)(nil), // 62: CCSUsrMsg_DeepStats + (*CCSUsrMsg_ShootInfo)(nil), // 63: CCSUsrMsg_ShootInfo + (*CCSUsrMsg_ResetHud)(nil), // 64: CCSUsrMsg_ResetHud + (*CCSUsrMsg_GameTitle)(nil), // 65: CCSUsrMsg_GameTitle + (*CCSUsrMsg_RequestState)(nil), // 66: CCSUsrMsg_RequestState + (*CCSUsrMsg_StopSpectatorMode)(nil), // 67: CCSUsrMsg_StopSpectatorMode + (*CCSUsrMsg_DisconnectToLobby)(nil), // 68: CCSUsrMsg_DisconnectToLobby + (*CCSUsrMsg_WarmupHasEnded)(nil), // 69: CCSUsrMsg_WarmupHasEnded + (*CCSUsrMsg_ClientInfo)(nil), // 70: CCSUsrMsg_ClientInfo + (*CCSUsrMsg_ServerRankRevealAll)(nil), // 71: CCSUsrMsg_ServerRankRevealAll + (*CCSUsrMsg_VGUIMenu_Keys)(nil), // 72: CCSUsrMsg_VGUIMenu.Keys + (*CCSUsrMsg_VoiceMask_PlayerMask)(nil), // 73: CCSUsrMsg_VoiceMask.PlayerMask + (*CCSUsrMsg_ProcessSpottedEntityUpdate_SpottedEntityUpdate)(nil), // 74: CCSUsrMsg_ProcessSpottedEntityUpdate.SpottedEntityUpdate + (*CCSUsrMsg_PlayerStatsUpdate_Stat)(nil), // 75: CCSUsrMsg_PlayerStatsUpdate.Stat + (*CCSUsrMsg_ServerRankUpdate_RankUpdate)(nil), // 76: CCSUsrMsg_ServerRankUpdate.RankUpdate + (*CCSUsrMsg_SurvivalStats_Fact)(nil), // 77: CCSUsrMsg_SurvivalStats.Fact + (*CCSUsrMsg_SurvivalStats_Placement)(nil), // 78: CCSUsrMsg_SurvivalStats.Placement + (*CCSUsrMsg_SurvivalStats_Damage)(nil), // 79: CCSUsrMsg_SurvivalStats.Damage + (*CCSUsrMsg_EndOfMatchAllPlayersData_Accolade)(nil), // 80: CCSUsrMsg_EndOfMatchAllPlayersData.Accolade + (*CCSUsrMsg_EndOfMatchAllPlayersData_PlayerData)(nil), // 81: CCSUsrMsg_EndOfMatchAllPlayersData.PlayerData + (*CCSUsrMsg_RoundEndReportData_RerEvent)(nil), // 82: CCSUsrMsg_RoundEndReportData.RerEvent + (*CCSUsrMsg_RoundEndReportData_InitialConditions)(nil), // 83: CCSUsrMsg_RoundEndReportData.InitialConditions + (*CCSUsrMsg_RoundEndReportData_RerEvent_Victim)(nil), // 84: CCSUsrMsg_RoundEndReportData.RerEvent.Victim + (*CCSUsrMsg_RoundEndReportData_RerEvent_Objective)(nil), // 85: CCSUsrMsg_RoundEndReportData.RerEvent.Objective + (*CCSUsrMsg_RoundEndReportData_RerEvent_Damage)(nil), // 86: CCSUsrMsg_RoundEndReportData.RerEvent.Damage + (*CMsgVector2D)(nil), // 87: CMsgVector2D + (*CMsgRGBA)(nil), // 88: CMsgRGBA + (*CMsgVector)(nil), // 89: CMsgVector + (*CEconItemPreviewDataBlock)(nil), // 90: CEconItemPreviewDataBlock + (*ScoreLeaderboardData)(nil), // 91: ScoreLeaderboardData + (*PlayerDecalDigitalSignature)(nil), // 92: PlayerDecalDigitalSignature + (*CMsgGCCstrike15V2_GC2ServerNotifyXPRewarded)(nil), // 93: CMsgGCCstrike15_v2_GC2ServerNotifyXPRewarded + (*CMsgGCCStrike15_ClientDeepStats)(nil), // 94: CMsgGCCStrike15_ClientDeepStats + (*CMsgTransform)(nil), // 95: CMsgTransform + (*CMsgQAngle)(nil), // 96: CMsgQAngle + (*CMsgGCCStrike15V2_MatchmakingGC2ServerReserve)(nil), // 97: CMsgGCCStrike15_v2_MatchmakingGC2ServerReserve } var file_cstrike15_usermessages_proto_depIdxs = []int32{ - 76, // 0: CCSUsrMsg_VGUIMenu.subkeys:type_name -> CCSUsrMsg_VGUIMenu.Subkey - 92, // 1: CCSUsrMsg_HudMsg.pos:type_name -> CMsgVector2D - 93, // 2: CCSUsrMsg_HudMsg.clr1:type_name -> CMsgRGBA - 93, // 3: CCSUsrMsg_HudMsg.clr2:type_name -> CMsgRGBA - 93, // 4: CCSUsrMsg_Fade.clr:type_name -> CMsgRGBA - 77, // 5: CCSUsrMsg_VoiceMask.player_masks:type_name -> CCSUsrMsg_VoiceMask.PlayerMask - 94, // 6: CCSUsrMsg_Damage.inflictor_world_pos:type_name -> CMsgVector - 78, // 7: CCSUsrMsg_ProcessSpottedEntityUpdate.entity_updates:type_name -> CCSUsrMsg_ProcessSpottedEntityUpdate.SpottedEntityUpdate - 95, // 8: CCSUsrMsg_SendPlayerItemDrops.entity_updates:type_name -> CEconItemPreviewDataBlock - 95, // 9: CCSUsrMsg_SendPlayerItemFound.iteminfo:type_name -> CEconItemPreviewDataBlock - 79, // 10: CCSUsrMsg_PlayerStatsUpdate.stats:type_name -> CCSUsrMsg_PlayerStatsUpdate.Stat - 96, // 11: CCSUsrMsg_ScoreLeaderboardData.data:type_name -> ScoreLeaderboardData - 97, // 12: CCSUsrMsg_PlayerDecalDigitalSignature.data:type_name -> PlayerDecalDigitalSignature - 80, // 13: CCSUsrMsg_ServerRankUpdate.rank_update:type_name -> CCSUsrMsg_ServerRankUpdate.RankUpdate - 98, // 14: CCSUsrMsg_XpUpdate.data:type_name -> CMsgGCCstrike15_v2_GC2ServerNotifyXPRewarded - 81, // 15: CCSUsrMsg_SurvivalStats.facts:type_name -> CCSUsrMsg_SurvivalStats.Fact - 82, // 16: CCSUsrMsg_SurvivalStats.users:type_name -> CCSUsrMsg_SurvivalStats.Placement - 83, // 17: CCSUsrMsg_SurvivalStats.damages:type_name -> CCSUsrMsg_SurvivalStats.Damage - 85, // 18: CCSUsrMsg_EndOfMatchAllPlayersData.allplayerdata:type_name -> CCSUsrMsg_EndOfMatchAllPlayersData.PlayerData - 87, // 19: CCSUsrMsg_RoundImpactScoreData.init_conditions:type_name -> CCSUsrMsg_RoundImpactScoreData.InitialConditions - 86, // 20: CCSUsrMsg_RoundImpactScoreData.all_ris_event_data:type_name -> CCSUsrMsg_RoundImpactScoreData.RisEvent - 99, // 21: CCSUsrMsg_DeepStats.stats:type_name -> CMsgGCCStrike15_ClientDeepStats - 100, // 22: CCSUsrMsg_ServerRankRevealAll.reservation:type_name -> CMsgGCCStrike15_v2_MatchmakingGC2ServerReserve - 91, // 23: CCSUsrMsg_UtilMsg_Response.itemdetails:type_name -> CCSUsrMsg_UtilMsg_Response.ItemDetail - 84, // 24: CCSUsrMsg_EndOfMatchAllPlayersData.PlayerData.nomination:type_name -> CCSUsrMsg_EndOfMatchAllPlayersData.Accolade - 95, // 25: CCSUsrMsg_EndOfMatchAllPlayersData.PlayerData.items:type_name -> CEconItemPreviewDataBlock - 88, // 26: CCSUsrMsg_RoundImpactScoreData.RisEvent.victim_data:type_name -> CCSUsrMsg_RoundImpactScoreData.RisEvent.Victim - 89, // 27: CCSUsrMsg_RoundImpactScoreData.RisEvent.objective_data:type_name -> CCSUsrMsg_RoundImpactScoreData.RisEvent.Objective - 90, // 28: CCSUsrMsg_RoundImpactScoreData.RisEvent.all_damage_data:type_name -> CCSUsrMsg_RoundImpactScoreData.RisEvent.Damage - 29, // [29:29] is the sub-list for method output_type - 29, // [29:29] is the sub-list for method input_type - 29, // [29:29] is the sub-list for extension type_name - 29, // [29:29] is the sub-list for extension extendee - 0, // [0:29] is the sub-list for field type_name + 72, // 0: CCSUsrMsg_VGUIMenu.keys:type_name -> CCSUsrMsg_VGUIMenu.Keys + 87, // 1: CCSUsrMsg_HudMsg.pos:type_name -> CMsgVector2D + 88, // 2: CCSUsrMsg_HudMsg.clr1:type_name -> CMsgRGBA + 88, // 3: CCSUsrMsg_HudMsg.clr2:type_name -> CMsgRGBA + 88, // 4: CCSUsrMsg_Fade.clr:type_name -> CMsgRGBA + 73, // 5: CCSUsrMsg_VoiceMask.player_masks:type_name -> CCSUsrMsg_VoiceMask.PlayerMask + 89, // 6: CCSUsrMsg_Damage.inflictor_world_pos:type_name -> CMsgVector + 74, // 7: CCSUsrMsg_ProcessSpottedEntityUpdate.entity_updates:type_name -> CCSUsrMsg_ProcessSpottedEntityUpdate.SpottedEntityUpdate + 90, // 8: CCSUsrMsg_SendPlayerItemDrops.entity_updates:type_name -> CEconItemPreviewDataBlock + 90, // 9: CCSUsrMsg_SendPlayerItemFound.iteminfo:type_name -> CEconItemPreviewDataBlock + 75, // 10: CCSUsrMsg_PlayerStatsUpdate.stats:type_name -> CCSUsrMsg_PlayerStatsUpdate.Stat + 91, // 11: CCSUsrMsg_ScoreLeaderboardData.data:type_name -> ScoreLeaderboardData + 92, // 12: CCSUsrMsg_PlayerDecalDigitalSignature.data:type_name -> PlayerDecalDigitalSignature + 76, // 13: CCSUsrMsg_ServerRankUpdate.rank_update:type_name -> CCSUsrMsg_ServerRankUpdate.RankUpdate + 93, // 14: CCSUsrMsg_XpUpdate.data:type_name -> CMsgGCCstrike15_v2_GC2ServerNotifyXPRewarded + 77, // 15: CCSUsrMsg_SurvivalStats.facts:type_name -> CCSUsrMsg_SurvivalStats.Fact + 78, // 16: CCSUsrMsg_SurvivalStats.users:type_name -> CCSUsrMsg_SurvivalStats.Placement + 79, // 17: CCSUsrMsg_SurvivalStats.damages:type_name -> CCSUsrMsg_SurvivalStats.Damage + 81, // 18: CCSUsrMsg_EndOfMatchAllPlayersData.allplayerdata:type_name -> CCSUsrMsg_EndOfMatchAllPlayersData.PlayerData + 83, // 19: CCSUsrMsg_RoundEndReportData.init_conditions:type_name -> CCSUsrMsg_RoundEndReportData.InitialConditions + 82, // 20: CCSUsrMsg_RoundEndReportData.all_rer_event_data:type_name -> CCSUsrMsg_RoundEndReportData.RerEvent + 94, // 21: CCSUsrMsg_DeepStats.stats:type_name -> CMsgGCCStrike15_ClientDeepStats + 95, // 22: CCSUsrMsg_ShootInfo.hitbox_transforms:type_name -> CMsgTransform + 89, // 23: CCSUsrMsg_ShootInfo.shoot_pos:type_name -> CMsgVector + 96, // 24: CCSUsrMsg_ShootInfo.shoot_dir:type_name -> CMsgQAngle + 97, // 25: CCSUsrMsg_ServerRankRevealAll.reservation:type_name -> CMsgGCCStrike15_v2_MatchmakingGC2ServerReserve + 80, // 26: CCSUsrMsg_EndOfMatchAllPlayersData.PlayerData.nomination:type_name -> CCSUsrMsg_EndOfMatchAllPlayersData.Accolade + 90, // 27: CCSUsrMsg_EndOfMatchAllPlayersData.PlayerData.items:type_name -> CEconItemPreviewDataBlock + 84, // 28: CCSUsrMsg_RoundEndReportData.RerEvent.victim_data:type_name -> CCSUsrMsg_RoundEndReportData.RerEvent.Victim + 85, // 29: CCSUsrMsg_RoundEndReportData.RerEvent.objective_data:type_name -> CCSUsrMsg_RoundEndReportData.RerEvent.Objective + 86, // 30: CCSUsrMsg_RoundEndReportData.RerEvent.all_damage_data:type_name -> CCSUsrMsg_RoundEndReportData.RerEvent.Damage + 31, // [31:31] is the sub-list for method output_type + 31, // [31:31] is the sub-list for method input_type + 31, // [31:31] is the sub-list for extension type_name + 31, // [31:31] is the sub-list for extension extendee + 0, // [0:31] is the sub-list for field type_name } func init() { file_cstrike15_usermessages_proto_init() } @@ -6979,7 +6691,7 @@ func file_cstrike15_usermessages_proto_init() { if File_cstrike15_usermessages_proto != nil { return } - file_netmessages_proto_init() + file_networkbasetypes_proto_init() file_cstrike15_gcmessages_proto_init() if !protoimpl.UnsafeEnabled { file_cstrike15_usermessages_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { @@ -7031,7 +6743,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_SayText); i { + switch v := v.(*CCSUsrMsg_HudMsg); i { case 0: return &v.state case 1: @@ -7043,7 +6755,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_SayText2); i { + switch v := v.(*CCSUsrMsg_Shake); i { case 0: return &v.state case 1: @@ -7055,7 +6767,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_TextMsg); i { + switch v := v.(*CCSUsrMsg_Fade); i { case 0: return &v.state case 1: @@ -7067,7 +6779,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_HudMsg); i { + switch v := v.(*CCSUsrMsg_Rumble); i { case 0: return &v.state case 1: @@ -7079,7 +6791,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_Shake); i { + switch v := v.(*CCSUsrMsg_CloseCaption); i { case 0: return &v.state case 1: @@ -7091,7 +6803,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_Fade); i { + switch v := v.(*CCSUsrMsg_CloseCaptionDirect); i { case 0: return &v.state case 1: @@ -7103,7 +6815,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_Rumble); i { + switch v := v.(*CCSUsrMsg_SendAudio); i { case 0: return &v.state case 1: @@ -7115,7 +6827,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_CloseCaption); i { + switch v := v.(*CCSUsrMsg_RawAudio); i { case 0: return &v.state case 1: @@ -7127,7 +6839,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_CloseCaptionDirect); i { + switch v := v.(*CCSUsrMsg_VoiceMask); i { case 0: return &v.state case 1: @@ -7139,7 +6851,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_SendAudio); i { + switch v := v.(*CCSUsrMsg_Damage); i { case 0: return &v.state case 1: @@ -7151,7 +6863,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_RawAudio); i { + switch v := v.(*CCSUsrMsg_RadioText); i { case 0: return &v.state case 1: @@ -7163,7 +6875,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_VoiceMask); i { + switch v := v.(*CCSUsrMsg_HintText); i { case 0: return &v.state case 1: @@ -7175,7 +6887,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_Damage); i { + switch v := v.(*CCSUsrMsg_KeyHintText); i { case 0: return &v.state case 1: @@ -7187,7 +6899,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_RadioText); i { + switch v := v.(*CCSUsrMsg_ProcessSpottedEntityUpdate); i { case 0: return &v.state case 1: @@ -7199,7 +6911,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_HintText); i { + switch v := v.(*CCSUsrMsg_SendPlayerItemDrops); i { case 0: return &v.state case 1: @@ -7211,7 +6923,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_KeyHintText); i { + switch v := v.(*CCSUsrMsg_SendPlayerItemFound); i { case 0: return &v.state case 1: @@ -7223,7 +6935,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_ProcessSpottedEntityUpdate); i { + switch v := v.(*CCSUsrMsg_ReloadEffect); i { case 0: return &v.state case 1: @@ -7235,7 +6947,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_SendPlayerItemDrops); i { + switch v := v.(*CCSUsrMsg_WeaponSound); i { case 0: return &v.state case 1: @@ -7247,7 +6959,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_SendPlayerItemFound); i { + switch v := v.(*CCSUsrMsg_UpdateScreenHealthBar); i { case 0: return &v.state case 1: @@ -7259,7 +6971,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_ReloadEffect); i { + switch v := v.(*CCSUsrMsg_EntityOutlineHighlight); i { case 0: return &v.state case 1: @@ -7271,7 +6983,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_WeaponSound); i { + switch v := v.(*CCSUsrMsg_AdjustMoney); i { case 0: return &v.state case 1: @@ -7283,7 +6995,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_UpdateScreenHealthBar); i { + switch v := v.(*CCSUsrMsg_ReportHit); i { case 0: return &v.state case 1: @@ -7295,7 +7007,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_EntityOutlineHighlight); i { + switch v := v.(*CCSUsrMsg_KillCam); i { case 0: return &v.state case 1: @@ -7307,7 +7019,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_AdjustMoney); i { + switch v := v.(*CCSUsrMsg_DesiredTimescale); i { case 0: return &v.state case 1: @@ -7319,7 +7031,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_ReportHit); i { + switch v := v.(*CCSUsrMsg_CurrentTimescale); i { case 0: return &v.state case 1: @@ -7331,7 +7043,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_KillCam); i { + switch v := v.(*CCSUsrMsg_AchievementEvent); i { case 0: return &v.state case 1: @@ -7343,7 +7055,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_DesiredTimescale); i { + switch v := v.(*CCSUsrMsg_MatchEndConditions); i { case 0: return &v.state case 1: @@ -7355,7 +7067,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_CurrentTimescale); i { + switch v := v.(*CCSUsrMsg_PlayerStatsUpdate); i { case 0: return &v.state case 1: @@ -7367,7 +7079,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_AchievementEvent); i { + switch v := v.(*CCSUsrMsg_QuestProgress); i { case 0: return &v.state case 1: @@ -7379,7 +7091,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_MatchEndConditions); i { + switch v := v.(*CCSUsrMsg_ScoreLeaderboardData); i { case 0: return &v.state case 1: @@ -7391,7 +7103,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_PlayerStatsUpdate); i { + switch v := v.(*CCSUsrMsg_PlayerDecalDigitalSignature); i { case 0: return &v.state case 1: @@ -7403,7 +7115,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_DisplayInventory); i { + switch v := v.(*CCSUsrMsg_XRankGet); i { case 0: return &v.state case 1: @@ -7415,7 +7127,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_QuestProgress); i { + switch v := v.(*CCSUsrMsg_XRankUpd); i { case 0: return &v.state case 1: @@ -7427,7 +7139,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_ScoreLeaderboardData); i { + switch v := v.(*CCSUsrMsg_CallVoteFailed); i { case 0: return &v.state case 1: @@ -7439,7 +7151,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_PlayerDecalDigitalSignature); i { + switch v := v.(*CCSUsrMsg_VoteStart); i { case 0: return &v.state case 1: @@ -7451,7 +7163,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_XRankGet); i { + switch v := v.(*CCSUsrMsg_VotePass); i { case 0: return &v.state case 1: @@ -7463,7 +7175,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_XRankUpd); i { + switch v := v.(*CCSUsrMsg_VoteFailed); i { case 0: return &v.state case 1: @@ -7475,7 +7187,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_CallVoteFailed); i { + switch v := v.(*CCSUsrMsg_VoteSetup); i { case 0: return &v.state case 1: @@ -7487,7 +7199,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_VoteStart); i { + switch v := v.(*CCSUsrMsg_SendLastKillerDamageToClient); i { case 0: return &v.state case 1: @@ -7499,7 +7211,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_VotePass); i { + switch v := v.(*CCSUsrMsg_ServerRankUpdate); i { case 0: return &v.state case 1: @@ -7511,7 +7223,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_VoteFailed); i { + switch v := v.(*CCSUsrMsg_XpUpdate); i { case 0: return &v.state case 1: @@ -7523,7 +7235,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_VoteSetup); i { + switch v := v.(*CCSUsrMsg_ItemPickup); i { case 0: return &v.state case 1: @@ -7535,7 +7247,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_SendLastKillerDamageToClient); i { + switch v := v.(*CCSUsrMsg_ShowMenu); i { case 0: return &v.state case 1: @@ -7547,7 +7259,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_ServerRankUpdate); i { + switch v := v.(*CCSUsrMsg_BarTime); i { case 0: return &v.state case 1: @@ -7559,7 +7271,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_XpUpdate); i { + switch v := v.(*CCSUsrMsg_AmmoDenied); i { case 0: return &v.state case 1: @@ -7571,7 +7283,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_ItemPickup); i { + switch v := v.(*CCSUsrMsg_MarkAchievement); i { case 0: return &v.state case 1: @@ -7583,7 +7295,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_ShowMenu); i { + switch v := v.(*CCSUsrMsg_MatchStatsUpdate); i { case 0: return &v.state case 1: @@ -7595,7 +7307,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_BarTime); i { + switch v := v.(*CCSUsrMsg_ItemDrop); i { case 0: return &v.state case 1: @@ -7607,7 +7319,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_AmmoDenied); i { + switch v := v.(*CCSUsrMsg_GlowPropTurnOff); i { case 0: return &v.state case 1: @@ -7619,7 +7331,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_MarkAchievement); i { + switch v := v.(*CCSUsrMsg_RoundBackupFilenames); i { case 0: return &v.state case 1: @@ -7631,7 +7343,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_MatchStatsUpdate); i { + switch v := v.(*CCSUsrMsg_SSUI); i { case 0: return &v.state case 1: @@ -7643,7 +7355,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_ItemDrop); i { + switch v := v.(*CCSUsrMsg_SurvivalStats); i { case 0: return &v.state case 1: @@ -7655,7 +7367,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_GlowPropTurnOff); i { + switch v := v.(*CCSUsrMsg_EndOfMatchAllPlayersData); i { case 0: return &v.state case 1: @@ -7667,7 +7379,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_RoundBackupFilenames); i { + switch v := v.(*CCSUsrMsg_RoundEndReportData); i { case 0: return &v.state case 1: @@ -7679,7 +7391,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_SSUI); i { + switch v := v.(*CCSUsrMsg_PostRoundDamageReport); i { case 0: return &v.state case 1: @@ -7691,7 +7403,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_SurvivalStats); i { + switch v := v.(*CCSUsrMsg_CurrentRoundOdds); i { case 0: return &v.state case 1: @@ -7703,7 +7415,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[60].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_EndOfMatchAllPlayersData); i { + switch v := v.(*CCSUsrMsg_DeepStats); i { case 0: return &v.state case 1: @@ -7715,7 +7427,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[61].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_RoundImpactScoreData); i { + switch v := v.(*CCSUsrMsg_ShootInfo); i { case 0: return &v.state case 1: @@ -7727,7 +7439,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[62].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_CurrentRoundOdds); i { + switch v := v.(*CCSUsrMsg_ResetHud); i { case 0: return &v.state case 1: @@ -7739,7 +7451,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[63].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_DeepStats); i { + switch v := v.(*CCSUsrMsg_GameTitle); i { case 0: return &v.state case 1: @@ -7751,7 +7463,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[64].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_ResetHud); i { + switch v := v.(*CCSUsrMsg_RequestState); i { case 0: return &v.state case 1: @@ -7763,7 +7475,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[65].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_GameTitle); i { + switch v := v.(*CCSUsrMsg_StopSpectatorMode); i { case 0: return &v.state case 1: @@ -7775,7 +7487,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[66].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_RequestState); i { + switch v := v.(*CCSUsrMsg_DisconnectToLobby); i { case 0: return &v.state case 1: @@ -7787,7 +7499,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[67].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_StopSpectatorMode); i { + switch v := v.(*CCSUsrMsg_WarmupHasEnded); i { case 0: return &v.state case 1: @@ -7799,7 +7511,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[68].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_DisconnectToLobby); i { + switch v := v.(*CCSUsrMsg_ClientInfo); i { case 0: return &v.state case 1: @@ -7811,7 +7523,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[69].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_WarmupHasEnded); i { + switch v := v.(*CCSUsrMsg_ServerRankRevealAll); i { case 0: return &v.state case 1: @@ -7823,7 +7535,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[70].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_ClientInfo); i { + switch v := v.(*CCSUsrMsg_VGUIMenu_Keys); i { case 0: return &v.state case 1: @@ -7835,7 +7547,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[71].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_ServerRankRevealAll); i { + switch v := v.(*CCSUsrMsg_VoiceMask_PlayerMask); i { case 0: return &v.state case 1: @@ -7847,7 +7559,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[72].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_UtilMsg); i { + switch v := v.(*CCSUsrMsg_ProcessSpottedEntityUpdate_SpottedEntityUpdate); i { case 0: return &v.state case 1: @@ -7859,7 +7571,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[73].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_UtilMsg_Response); i { + switch v := v.(*CCSUsrMsg_PlayerStatsUpdate_Stat); i { case 0: return &v.state case 1: @@ -7871,7 +7583,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[74].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_VGUIMenu_Subkey); i { + switch v := v.(*CCSUsrMsg_ServerRankUpdate_RankUpdate); i { case 0: return &v.state case 1: @@ -7883,7 +7595,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[75].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_VoiceMask_PlayerMask); i { + switch v := v.(*CCSUsrMsg_SurvivalStats_Fact); i { case 0: return &v.state case 1: @@ -7895,7 +7607,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[76].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_ProcessSpottedEntityUpdate_SpottedEntityUpdate); i { + switch v := v.(*CCSUsrMsg_SurvivalStats_Placement); i { case 0: return &v.state case 1: @@ -7907,7 +7619,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[77].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_PlayerStatsUpdate_Stat); i { + switch v := v.(*CCSUsrMsg_SurvivalStats_Damage); i { case 0: return &v.state case 1: @@ -7919,7 +7631,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[78].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_ServerRankUpdate_RankUpdate); i { + switch v := v.(*CCSUsrMsg_EndOfMatchAllPlayersData_Accolade); i { case 0: return &v.state case 1: @@ -7931,7 +7643,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[79].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_SurvivalStats_Fact); i { + switch v := v.(*CCSUsrMsg_EndOfMatchAllPlayersData_PlayerData); i { case 0: return &v.state case 1: @@ -7943,7 +7655,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[80].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_SurvivalStats_Placement); i { + switch v := v.(*CCSUsrMsg_RoundEndReportData_RerEvent); i { case 0: return &v.state case 1: @@ -7955,7 +7667,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[81].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_SurvivalStats_Damage); i { + switch v := v.(*CCSUsrMsg_RoundEndReportData_InitialConditions); i { case 0: return &v.state case 1: @@ -7967,7 +7679,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[82].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_EndOfMatchAllPlayersData_Accolade); i { + switch v := v.(*CCSUsrMsg_RoundEndReportData_RerEvent_Victim); i { case 0: return &v.state case 1: @@ -7979,7 +7691,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[83].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_EndOfMatchAllPlayersData_PlayerData); i { + switch v := v.(*CCSUsrMsg_RoundEndReportData_RerEvent_Objective); i { case 0: return &v.state case 1: @@ -7991,67 +7703,7 @@ func file_cstrike15_usermessages_proto_init() { } } file_cstrike15_usermessages_proto_msgTypes[84].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_RoundImpactScoreData_RisEvent); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_cstrike15_usermessages_proto_msgTypes[85].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_RoundImpactScoreData_InitialConditions); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_cstrike15_usermessages_proto_msgTypes[86].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_RoundImpactScoreData_RisEvent_Victim); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_cstrike15_usermessages_proto_msgTypes[87].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_RoundImpactScoreData_RisEvent_Objective); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_cstrike15_usermessages_proto_msgTypes[88].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_RoundImpactScoreData_RisEvent_Damage); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_cstrike15_usermessages_proto_msgTypes[89].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCSUsrMsg_UtilMsg_Response_ItemDetail); i { + switch v := v.(*CCSUsrMsg_RoundEndReportData_RerEvent_Damage); i { case 0: return &v.state case 1: @@ -8069,7 +7721,7 @@ func file_cstrike15_usermessages_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_cstrike15_usermessages_proto_rawDesc, NumEnums: 2, - NumMessages: 90, + NumMessages: 85, NumExtensions: 0, NumServices: 0, }, diff --git a/pkg/demoinfocs/msg/engine_gcmessages.pb.go b/pkg/demoinfocs/msg/engine_gcmessages.pb.go index fc163dbc..0dc9f4b2 100644 --- a/pkg/demoinfocs/msg/engine_gcmessages.pb.go +++ b/pkg/demoinfocs/msg/engine_gcmessages.pb.go @@ -167,8 +167,7 @@ var file_engine_gcmessages_proto_rawDesc = []byte{ 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x02, 0x52, 0x10, 0x6b, 0x65, 0x79, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x64, 0x6e, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x18, 0x0b, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x63, 0x64, 0x6e, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x42, 0x03, - 0x80, 0x01, 0x00, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x63, 0x64, 0x6e, 0x64, 0x65, 0x6c, 0x61, 0x79, } var ( diff --git a/pkg/demoinfocs/msg/netmessages.pb.go b/pkg/demoinfocs/msg/netmessages.pb.go index c21dfbf1..185c6ff2 100644 --- a/pkg/demoinfocs/msg/netmessages.pb.go +++ b/pkg/demoinfocs/msg/netmessages.pb.go @@ -9,7 +9,6 @@ package msg import ( protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" - _ "google.golang.org/protobuf/types/descriptorpb" reflect "reflect" sync "sync" ) @@ -21,166 +20,244 @@ const ( _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) -type NET_Messages int32 +type CLC_Messages int32 const ( - NET_Messages_net_NOP NET_Messages = 0 - NET_Messages_net_Disconnect NET_Messages = 1 - NET_Messages_net_File NET_Messages = 2 - NET_Messages_net_SplitScreenUser NET_Messages = 3 - NET_Messages_net_Tick NET_Messages = 4 - NET_Messages_net_StringCmd NET_Messages = 5 - NET_Messages_net_SetConVar NET_Messages = 6 - NET_Messages_net_SignonState NET_Messages = 7 - NET_Messages_net_PlayerAvatarData NET_Messages = 100 + CLC_Messages_clc_ClientInfo CLC_Messages = 20 + CLC_Messages_clc_Move CLC_Messages = 21 + CLC_Messages_clc_VoiceData CLC_Messages = 22 + CLC_Messages_clc_BaselineAck CLC_Messages = 23 + CLC_Messages_clc_ListenEvents CLC_Messages = 24 + CLC_Messages_clc_RespondCvarValue CLC_Messages = 25 + CLC_Messages_clc_FileCRCCheck CLC_Messages = 26 + CLC_Messages_clc_LoadingProgress CLC_Messages = 27 + CLC_Messages_clc_SplitPlayerConnect CLC_Messages = 28 + CLC_Messages_clc_ClientMessage CLC_Messages = 29 + CLC_Messages_clc_SplitPlayerDisconnect CLC_Messages = 30 + CLC_Messages_clc_ServerStatus CLC_Messages = 31 + CLC_Messages_clc_ServerPing CLC_Messages = 32 + CLC_Messages_clc_RequestPause CLC_Messages = 33 + CLC_Messages_clc_CmdKeyValues CLC_Messages = 34 + CLC_Messages_clc_RconServerDetails CLC_Messages = 35 + CLC_Messages_clc_HltvReplay CLC_Messages = 36 ) -// Enum value maps for NET_Messages. +// Enum value maps for CLC_Messages. var ( - NET_Messages_name = map[int32]string{ - 0: "net_NOP", - 1: "net_Disconnect", - 2: "net_File", - 3: "net_SplitScreenUser", - 4: "net_Tick", - 5: "net_StringCmd", - 6: "net_SetConVar", - 7: "net_SignonState", - 100: "net_PlayerAvatarData", - } - NET_Messages_value = map[string]int32{ - "net_NOP": 0, - "net_Disconnect": 1, - "net_File": 2, - "net_SplitScreenUser": 3, - "net_Tick": 4, - "net_StringCmd": 5, - "net_SetConVar": 6, - "net_SignonState": 7, - "net_PlayerAvatarData": 100, + CLC_Messages_name = map[int32]string{ + 20: "clc_ClientInfo", + 21: "clc_Move", + 22: "clc_VoiceData", + 23: "clc_BaselineAck", + 24: "clc_ListenEvents", + 25: "clc_RespondCvarValue", + 26: "clc_FileCRCCheck", + 27: "clc_LoadingProgress", + 28: "clc_SplitPlayerConnect", + 29: "clc_ClientMessage", + 30: "clc_SplitPlayerDisconnect", + 31: "clc_ServerStatus", + 32: "clc_ServerPing", + 33: "clc_RequestPause", + 34: "clc_CmdKeyValues", + 35: "clc_RconServerDetails", + 36: "clc_HltvReplay", + } + CLC_Messages_value = map[string]int32{ + "clc_ClientInfo": 20, + "clc_Move": 21, + "clc_VoiceData": 22, + "clc_BaselineAck": 23, + "clc_ListenEvents": 24, + "clc_RespondCvarValue": 25, + "clc_FileCRCCheck": 26, + "clc_LoadingProgress": 27, + "clc_SplitPlayerConnect": 28, + "clc_ClientMessage": 29, + "clc_SplitPlayerDisconnect": 30, + "clc_ServerStatus": 31, + "clc_ServerPing": 32, + "clc_RequestPause": 33, + "clc_CmdKeyValues": 34, + "clc_RconServerDetails": 35, + "clc_HltvReplay": 36, } ) -func (x NET_Messages) Enum() *NET_Messages { - p := new(NET_Messages) +func (x CLC_Messages) Enum() *CLC_Messages { + p := new(CLC_Messages) *p = x return p } -func (x NET_Messages) String() string { +func (x CLC_Messages) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } -func (NET_Messages) Descriptor() protoreflect.EnumDescriptor { +func (CLC_Messages) Descriptor() protoreflect.EnumDescriptor { return file_netmessages_proto_enumTypes[0].Descriptor() } -func (NET_Messages) Type() protoreflect.EnumType { +func (CLC_Messages) Type() protoreflect.EnumType { return &file_netmessages_proto_enumTypes[0] } -func (x NET_Messages) Number() protoreflect.EnumNumber { +func (x CLC_Messages) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Do not use. -func (x *NET_Messages) UnmarshalJSON(b []byte) error { +func (x *CLC_Messages) UnmarshalJSON(b []byte) error { num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) if err != nil { return err } - *x = NET_Messages(num) + *x = CLC_Messages(num) return nil } -// Deprecated: Use NET_Messages.Descriptor instead. -func (NET_Messages) EnumDescriptor() ([]byte, []int) { +// Deprecated: Use CLC_Messages.Descriptor instead. +func (CLC_Messages) EnumDescriptor() ([]byte, []int) { return file_netmessages_proto_rawDescGZIP(), []int{0} } -type CLC_Messages int32 +type SVC_Messages int32 const ( - CLC_Messages_clc_ClientInfo CLC_Messages = 8 - CLC_Messages_clc_Move CLC_Messages = 9 - CLC_Messages_clc_VoiceData CLC_Messages = 10 - CLC_Messages_clc_BaselineAck CLC_Messages = 11 - CLC_Messages_clc_ListenEvents CLC_Messages = 12 - CLC_Messages_clc_RespondCvarValue CLC_Messages = 13 - CLC_Messages_clc_FileCRCCheck CLC_Messages = 14 - CLC_Messages_clc_LoadingProgress CLC_Messages = 15 - CLC_Messages_clc_SplitPlayerConnect CLC_Messages = 16 - CLC_Messages_clc_ClientMessage CLC_Messages = 17 - CLC_Messages_clc_CmdKeyValues CLC_Messages = 18 - CLC_Messages_clc_HltvReplay CLC_Messages = 20 + SVC_Messages_svc_ServerInfo SVC_Messages = 40 + SVC_Messages_svc_FlattenedSerializer SVC_Messages = 41 + SVC_Messages_svc_ClassInfo SVC_Messages = 42 + SVC_Messages_svc_SetPause SVC_Messages = 43 + SVC_Messages_svc_CreateStringTable SVC_Messages = 44 + SVC_Messages_svc_UpdateStringTable SVC_Messages = 45 + SVC_Messages_svc_VoiceInit SVC_Messages = 46 + SVC_Messages_svc_VoiceData SVC_Messages = 47 + SVC_Messages_svc_Print SVC_Messages = 48 + SVC_Messages_svc_Sounds SVC_Messages = 49 + SVC_Messages_svc_SetView SVC_Messages = 50 + SVC_Messages_svc_ClearAllStringTables SVC_Messages = 51 + SVC_Messages_svc_CmdKeyValues SVC_Messages = 52 + SVC_Messages_svc_BSPDecal SVC_Messages = 53 + SVC_Messages_svc_SplitScreen SVC_Messages = 54 + SVC_Messages_svc_PacketEntities SVC_Messages = 55 + SVC_Messages_svc_Prefetch SVC_Messages = 56 + SVC_Messages_svc_Menu SVC_Messages = 57 + SVC_Messages_svc_GetCvarValue SVC_Messages = 58 + SVC_Messages_svc_StopSound SVC_Messages = 59 + SVC_Messages_svc_PeerList SVC_Messages = 60 + SVC_Messages_svc_PacketReliable SVC_Messages = 61 + SVC_Messages_svc_HLTVStatus SVC_Messages = 62 + SVC_Messages_svc_ServerSteamID SVC_Messages = 63 + SVC_Messages_svc_FullFrameSplit SVC_Messages = 70 + SVC_Messages_svc_RconServerDetails SVC_Messages = 71 + SVC_Messages_svc_UserMessage SVC_Messages = 72 + SVC_Messages_svc_HltvReplay SVC_Messages = 73 + SVC_Messages_svc_Broadcast_Command SVC_Messages = 74 + SVC_Messages_svc_HltvFixupOperatorStatus SVC_Messages = 75 ) -// Enum value maps for CLC_Messages. +// Enum value maps for SVC_Messages. var ( - CLC_Messages_name = map[int32]string{ - 8: "clc_ClientInfo", - 9: "clc_Move", - 10: "clc_VoiceData", - 11: "clc_BaselineAck", - 12: "clc_ListenEvents", - 13: "clc_RespondCvarValue", - 14: "clc_FileCRCCheck", - 15: "clc_LoadingProgress", - 16: "clc_SplitPlayerConnect", - 17: "clc_ClientMessage", - 18: "clc_CmdKeyValues", - 20: "clc_HltvReplay", + SVC_Messages_name = map[int32]string{ + 40: "svc_ServerInfo", + 41: "svc_FlattenedSerializer", + 42: "svc_ClassInfo", + 43: "svc_SetPause", + 44: "svc_CreateStringTable", + 45: "svc_UpdateStringTable", + 46: "svc_VoiceInit", + 47: "svc_VoiceData", + 48: "svc_Print", + 49: "svc_Sounds", + 50: "svc_SetView", + 51: "svc_ClearAllStringTables", + 52: "svc_CmdKeyValues", + 53: "svc_BSPDecal", + 54: "svc_SplitScreen", + 55: "svc_PacketEntities", + 56: "svc_Prefetch", + 57: "svc_Menu", + 58: "svc_GetCvarValue", + 59: "svc_StopSound", + 60: "svc_PeerList", + 61: "svc_PacketReliable", + 62: "svc_HLTVStatus", + 63: "svc_ServerSteamID", + 70: "svc_FullFrameSplit", + 71: "svc_RconServerDetails", + 72: "svc_UserMessage", + 73: "svc_HltvReplay", + 74: "svc_Broadcast_Command", + 75: "svc_HltvFixupOperatorStatus", } - CLC_Messages_value = map[string]int32{ - "clc_ClientInfo": 8, - "clc_Move": 9, - "clc_VoiceData": 10, - "clc_BaselineAck": 11, - "clc_ListenEvents": 12, - "clc_RespondCvarValue": 13, - "clc_FileCRCCheck": 14, - "clc_LoadingProgress": 15, - "clc_SplitPlayerConnect": 16, - "clc_ClientMessage": 17, - "clc_CmdKeyValues": 18, - "clc_HltvReplay": 20, + SVC_Messages_value = map[string]int32{ + "svc_ServerInfo": 40, + "svc_FlattenedSerializer": 41, + "svc_ClassInfo": 42, + "svc_SetPause": 43, + "svc_CreateStringTable": 44, + "svc_UpdateStringTable": 45, + "svc_VoiceInit": 46, + "svc_VoiceData": 47, + "svc_Print": 48, + "svc_Sounds": 49, + "svc_SetView": 50, + "svc_ClearAllStringTables": 51, + "svc_CmdKeyValues": 52, + "svc_BSPDecal": 53, + "svc_SplitScreen": 54, + "svc_PacketEntities": 55, + "svc_Prefetch": 56, + "svc_Menu": 57, + "svc_GetCvarValue": 58, + "svc_StopSound": 59, + "svc_PeerList": 60, + "svc_PacketReliable": 61, + "svc_HLTVStatus": 62, + "svc_ServerSteamID": 63, + "svc_FullFrameSplit": 70, + "svc_RconServerDetails": 71, + "svc_UserMessage": 72, + "svc_HltvReplay": 73, + "svc_Broadcast_Command": 74, + "svc_HltvFixupOperatorStatus": 75, } ) -func (x CLC_Messages) Enum() *CLC_Messages { - p := new(CLC_Messages) +func (x SVC_Messages) Enum() *SVC_Messages { + p := new(SVC_Messages) *p = x return p } -func (x CLC_Messages) String() string { +func (x SVC_Messages) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } -func (CLC_Messages) Descriptor() protoreflect.EnumDescriptor { +func (SVC_Messages) Descriptor() protoreflect.EnumDescriptor { return file_netmessages_proto_enumTypes[1].Descriptor() } -func (CLC_Messages) Type() protoreflect.EnumType { +func (SVC_Messages) Type() protoreflect.EnumType { return &file_netmessages_proto_enumTypes[1] } -func (x CLC_Messages) Number() protoreflect.EnumNumber { +func (x SVC_Messages) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Do not use. -func (x *CLC_Messages) UnmarshalJSON(b []byte) error { +func (x *SVC_Messages) UnmarshalJSON(b []byte) error { num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) if err != nil { return err } - *x = CLC_Messages(num) + *x = SVC_Messages(num) return nil } -// Deprecated: Use CLC_Messages.Descriptor instead. -func (CLC_Messages) EnumDescriptor() ([]byte, []int) { +// Deprecated: Use SVC_Messages.Descriptor instead. +func (SVC_Messages) EnumDescriptor() ([]byte, []int) { return file_netmessages_proto_rawDescGZIP(), []int{1} } @@ -240,545 +317,563 @@ func (VoiceDataFormatT) EnumDescriptor() ([]byte, []int) { return file_netmessages_proto_rawDescGZIP(), []int{2} } -type ESplitScreenMessageType int32 +type RequestPauseT int32 const ( - ESplitScreenMessageType_MSG_SPLITSCREEN_ADDUSER ESplitScreenMessageType = 0 - ESplitScreenMessageType_MSG_SPLITSCREEN_REMOVEUSER ESplitScreenMessageType = 1 - ESplitScreenMessageType_MSG_SPLITSCREEN_TYPE_BITS ESplitScreenMessageType = 1 + RequestPauseT_RP_PAUSE RequestPauseT = 0 + RequestPauseT_RP_UNPAUSE RequestPauseT = 1 + RequestPauseT_RP_TOGGLEPAUSE RequestPauseT = 2 ) -// Enum value maps for ESplitScreenMessageType. +// Enum value maps for RequestPauseT. var ( - ESplitScreenMessageType_name = map[int32]string{ - 0: "MSG_SPLITSCREEN_ADDUSER", - 1: "MSG_SPLITSCREEN_REMOVEUSER", - // Duplicate value: 1: "MSG_SPLITSCREEN_TYPE_BITS", + RequestPauseT_name = map[int32]string{ + 0: "RP_PAUSE", + 1: "RP_UNPAUSE", + 2: "RP_TOGGLEPAUSE", } - ESplitScreenMessageType_value = map[string]int32{ - "MSG_SPLITSCREEN_ADDUSER": 0, - "MSG_SPLITSCREEN_REMOVEUSER": 1, - "MSG_SPLITSCREEN_TYPE_BITS": 1, + RequestPauseT_value = map[string]int32{ + "RP_PAUSE": 0, + "RP_UNPAUSE": 1, + "RP_TOGGLEPAUSE": 2, } ) -func (x ESplitScreenMessageType) Enum() *ESplitScreenMessageType { - p := new(ESplitScreenMessageType) +func (x RequestPauseT) Enum() *RequestPauseT { + p := new(RequestPauseT) *p = x return p } -func (x ESplitScreenMessageType) String() string { +func (x RequestPauseT) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } -func (ESplitScreenMessageType) Descriptor() protoreflect.EnumDescriptor { +func (RequestPauseT) Descriptor() protoreflect.EnumDescriptor { return file_netmessages_proto_enumTypes[3].Descriptor() } -func (ESplitScreenMessageType) Type() protoreflect.EnumType { +func (RequestPauseT) Type() protoreflect.EnumType { return &file_netmessages_proto_enumTypes[3] } -func (x ESplitScreenMessageType) Number() protoreflect.EnumNumber { +func (x RequestPauseT) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Do not use. -func (x *ESplitScreenMessageType) UnmarshalJSON(b []byte) error { +func (x *RequestPauseT) UnmarshalJSON(b []byte) error { num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) if err != nil { return err } - *x = ESplitScreenMessageType(num) + *x = RequestPauseT(num) return nil } -// Deprecated: Use ESplitScreenMessageType.Descriptor instead. -func (ESplitScreenMessageType) EnumDescriptor() ([]byte, []int) { +// Deprecated: Use RequestPauseT.Descriptor instead. +func (RequestPauseT) EnumDescriptor() ([]byte, []int) { return file_netmessages_proto_rawDescGZIP(), []int{3} } -type SVC_Messages int32 +type PrefetchType int32 const ( - SVC_Messages_svc_ServerInfo SVC_Messages = 8 - SVC_Messages_svc_SendTable SVC_Messages = 9 - SVC_Messages_svc_ClassInfo SVC_Messages = 10 - SVC_Messages_svc_SetPause SVC_Messages = 11 - SVC_Messages_svc_CreateStringTable SVC_Messages = 12 - SVC_Messages_svc_UpdateStringTable SVC_Messages = 13 - SVC_Messages_svc_VoiceInit SVC_Messages = 14 - SVC_Messages_svc_VoiceData SVC_Messages = 15 - SVC_Messages_svc_Print SVC_Messages = 16 - SVC_Messages_svc_Sounds SVC_Messages = 17 - SVC_Messages_svc_SetView SVC_Messages = 18 - SVC_Messages_svc_FixAngle SVC_Messages = 19 - SVC_Messages_svc_CrosshairAngle SVC_Messages = 20 - SVC_Messages_svc_BSPDecal SVC_Messages = 21 - SVC_Messages_svc_SplitScreen SVC_Messages = 22 - SVC_Messages_svc_UserMessage SVC_Messages = 23 - SVC_Messages_svc_EntityMessage SVC_Messages = 24 - SVC_Messages_svc_GameEvent SVC_Messages = 25 - SVC_Messages_svc_PacketEntities SVC_Messages = 26 - SVC_Messages_svc_TempEntities SVC_Messages = 27 - SVC_Messages_svc_Prefetch SVC_Messages = 28 - SVC_Messages_svc_Menu SVC_Messages = 29 - SVC_Messages_svc_GameEventList SVC_Messages = 30 - SVC_Messages_svc_GetCvarValue SVC_Messages = 31 - SVC_Messages_svc_PaintmapData SVC_Messages = 33 - SVC_Messages_svc_CmdKeyValues SVC_Messages = 34 - SVC_Messages_svc_EncryptedData SVC_Messages = 35 - SVC_Messages_svc_HltvReplay SVC_Messages = 36 - SVC_Messages_svc_Broadcast_Command SVC_Messages = 38 + PrefetchType_PFT_SOUND PrefetchType = 0 ) -// Enum value maps for SVC_Messages. +// Enum value maps for PrefetchType. var ( - SVC_Messages_name = map[int32]string{ - 8: "svc_ServerInfo", - 9: "svc_SendTable", - 10: "svc_ClassInfo", - 11: "svc_SetPause", - 12: "svc_CreateStringTable", - 13: "svc_UpdateStringTable", - 14: "svc_VoiceInit", - 15: "svc_VoiceData", - 16: "svc_Print", - 17: "svc_Sounds", - 18: "svc_SetView", - 19: "svc_FixAngle", - 20: "svc_CrosshairAngle", - 21: "svc_BSPDecal", - 22: "svc_SplitScreen", - 23: "svc_UserMessage", - 24: "svc_EntityMessage", - 25: "svc_GameEvent", - 26: "svc_PacketEntities", - 27: "svc_TempEntities", - 28: "svc_Prefetch", - 29: "svc_Menu", - 30: "svc_GameEventList", - 31: "svc_GetCvarValue", - 33: "svc_PaintmapData", - 34: "svc_CmdKeyValues", - 35: "svc_EncryptedData", - 36: "svc_HltvReplay", - 38: "svc_Broadcast_Command", + PrefetchType_name = map[int32]string{ + 0: "PFT_SOUND", } - SVC_Messages_value = map[string]int32{ - "svc_ServerInfo": 8, - "svc_SendTable": 9, - "svc_ClassInfo": 10, - "svc_SetPause": 11, - "svc_CreateStringTable": 12, - "svc_UpdateStringTable": 13, - "svc_VoiceInit": 14, - "svc_VoiceData": 15, - "svc_Print": 16, - "svc_Sounds": 17, - "svc_SetView": 18, - "svc_FixAngle": 19, - "svc_CrosshairAngle": 20, - "svc_BSPDecal": 21, - "svc_SplitScreen": 22, - "svc_UserMessage": 23, - "svc_EntityMessage": 24, - "svc_GameEvent": 25, - "svc_PacketEntities": 26, - "svc_TempEntities": 27, - "svc_Prefetch": 28, - "svc_Menu": 29, - "svc_GameEventList": 30, - "svc_GetCvarValue": 31, - "svc_PaintmapData": 33, - "svc_CmdKeyValues": 34, - "svc_EncryptedData": 35, - "svc_HltvReplay": 36, - "svc_Broadcast_Command": 38, + PrefetchType_value = map[string]int32{ + "PFT_SOUND": 0, } ) -func (x SVC_Messages) Enum() *SVC_Messages { - p := new(SVC_Messages) +func (x PrefetchType) Enum() *PrefetchType { + p := new(PrefetchType) *p = x return p } -func (x SVC_Messages) String() string { +func (x PrefetchType) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } -func (SVC_Messages) Descriptor() protoreflect.EnumDescriptor { +func (PrefetchType) Descriptor() protoreflect.EnumDescriptor { return file_netmessages_proto_enumTypes[4].Descriptor() } -func (SVC_Messages) Type() protoreflect.EnumType { +func (PrefetchType) Type() protoreflect.EnumType { return &file_netmessages_proto_enumTypes[4] } -func (x SVC_Messages) Number() protoreflect.EnumNumber { +func (x PrefetchType) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Do not use. -func (x *SVC_Messages) UnmarshalJSON(b []byte) error { +func (x *PrefetchType) UnmarshalJSON(b []byte) error { num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) if err != nil { return err } - *x = SVC_Messages(num) + *x = PrefetchType(num) return nil } -// Deprecated: Use SVC_Messages.Descriptor instead. -func (SVC_Messages) EnumDescriptor() ([]byte, []int) { +// Deprecated: Use PrefetchType.Descriptor instead. +func (PrefetchType) EnumDescriptor() ([]byte, []int) { return file_netmessages_proto_rawDescGZIP(), []int{4} } -type ReplayEventTypeT int32 +type ESplitScreenMessageType int32 const ( - ReplayEventTypeT_REPLAY_EVENT_CANCEL ReplayEventTypeT = 0 - ReplayEventTypeT_REPLAY_EVENT_DEATH ReplayEventTypeT = 1 - ReplayEventTypeT_REPLAY_EVENT_GENERIC ReplayEventTypeT = 2 - ReplayEventTypeT_REPLAY_EVENT_STUCK_NEED_FULL_UPDATE ReplayEventTypeT = 3 + ESplitScreenMessageType_MSG_SPLITSCREEN_ADDUSER ESplitScreenMessageType = 0 + ESplitScreenMessageType_MSG_SPLITSCREEN_REMOVEUSER ESplitScreenMessageType = 1 ) -// Enum value maps for ReplayEventTypeT. +// Enum value maps for ESplitScreenMessageType. var ( - ReplayEventTypeT_name = map[int32]string{ - 0: "REPLAY_EVENT_CANCEL", - 1: "REPLAY_EVENT_DEATH", - 2: "REPLAY_EVENT_GENERIC", - 3: "REPLAY_EVENT_STUCK_NEED_FULL_UPDATE", + ESplitScreenMessageType_name = map[int32]string{ + 0: "MSG_SPLITSCREEN_ADDUSER", + 1: "MSG_SPLITSCREEN_REMOVEUSER", } - ReplayEventTypeT_value = map[string]int32{ - "REPLAY_EVENT_CANCEL": 0, - "REPLAY_EVENT_DEATH": 1, - "REPLAY_EVENT_GENERIC": 2, - "REPLAY_EVENT_STUCK_NEED_FULL_UPDATE": 3, + ESplitScreenMessageType_value = map[string]int32{ + "MSG_SPLITSCREEN_ADDUSER": 0, + "MSG_SPLITSCREEN_REMOVEUSER": 1, } ) -func (x ReplayEventTypeT) Enum() *ReplayEventTypeT { - p := new(ReplayEventTypeT) +func (x ESplitScreenMessageType) Enum() *ESplitScreenMessageType { + p := new(ESplitScreenMessageType) *p = x return p } -func (x ReplayEventTypeT) String() string { +func (x ESplitScreenMessageType) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } -func (ReplayEventTypeT) Descriptor() protoreflect.EnumDescriptor { +func (ESplitScreenMessageType) Descriptor() protoreflect.EnumDescriptor { return file_netmessages_proto_enumTypes[5].Descriptor() } -func (ReplayEventTypeT) Type() protoreflect.EnumType { +func (ESplitScreenMessageType) Type() protoreflect.EnumType { return &file_netmessages_proto_enumTypes[5] } -func (x ReplayEventTypeT) Number() protoreflect.EnumNumber { +func (x ESplitScreenMessageType) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Do not use. -func (x *ReplayEventTypeT) UnmarshalJSON(b []byte) error { +func (x *ESplitScreenMessageType) UnmarshalJSON(b []byte) error { num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) if err != nil { return err } - *x = ReplayEventTypeT(num) + *x = ESplitScreenMessageType(num) return nil } -// Deprecated: Use ReplayEventTypeT.Descriptor instead. -func (ReplayEventTypeT) EnumDescriptor() ([]byte, []int) { +// Deprecated: Use ESplitScreenMessageType.Descriptor instead. +func (ESplitScreenMessageType) EnumDescriptor() ([]byte, []int) { return file_netmessages_proto_rawDescGZIP(), []int{5} } -type CMsgVector struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields +type EQueryCvarValueStatus int32 - X *float32 `protobuf:"fixed32,1,opt,name=x" json:"x,omitempty"` - Y *float32 `protobuf:"fixed32,2,opt,name=y" json:"y,omitempty"` - Z *float32 `protobuf:"fixed32,3,opt,name=z" json:"z,omitempty"` -} +const ( + EQueryCvarValueStatus_eQueryCvarValueStatus_ValueIntact EQueryCvarValueStatus = 0 + EQueryCvarValueStatus_eQueryCvarValueStatus_CvarNotFound EQueryCvarValueStatus = 1 + EQueryCvarValueStatus_eQueryCvarValueStatus_NotACvar EQueryCvarValueStatus = 2 + EQueryCvarValueStatus_eQueryCvarValueStatus_CvarProtected EQueryCvarValueStatus = 3 +) -func (x *CMsgVector) Reset() { - *x = CMsgVector{} - if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +// Enum value maps for EQueryCvarValueStatus. +var ( + EQueryCvarValueStatus_name = map[int32]string{ + 0: "eQueryCvarValueStatus_ValueIntact", + 1: "eQueryCvarValueStatus_CvarNotFound", + 2: "eQueryCvarValueStatus_NotACvar", + 3: "eQueryCvarValueStatus_CvarProtected", + } + EQueryCvarValueStatus_value = map[string]int32{ + "eQueryCvarValueStatus_ValueIntact": 0, + "eQueryCvarValueStatus_CvarNotFound": 1, + "eQueryCvarValueStatus_NotACvar": 2, + "eQueryCvarValueStatus_CvarProtected": 3, } -} +) -func (x *CMsgVector) String() string { - return protoimpl.X.MessageStringOf(x) +func (x EQueryCvarValueStatus) Enum() *EQueryCvarValueStatus { + p := new(EQueryCvarValueStatus) + *p = x + return p } -func (*CMsgVector) ProtoMessage() {} +func (x EQueryCvarValueStatus) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} -func (x *CMsgVector) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[0] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) +func (EQueryCvarValueStatus) Descriptor() protoreflect.EnumDescriptor { + return file_netmessages_proto_enumTypes[6].Descriptor() } -// Deprecated: Use CMsgVector.ProtoReflect.Descriptor instead. -func (*CMsgVector) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{0} +func (EQueryCvarValueStatus) Type() protoreflect.EnumType { + return &file_netmessages_proto_enumTypes[6] } -func (x *CMsgVector) GetX() float32 { - if x != nil && x.X != nil { - return *x.X - } - return 0 +func (x EQueryCvarValueStatus) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) } -func (x *CMsgVector) GetY() float32 { - if x != nil && x.Y != nil { - return *x.Y +// Deprecated: Do not use. +func (x *EQueryCvarValueStatus) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err } - return 0 + *x = EQueryCvarValueStatus(num) + return nil } -func (x *CMsgVector) GetZ() float32 { - if x != nil && x.Z != nil { - return *x.Z - } - return 0 +// Deprecated: Use EQueryCvarValueStatus.Descriptor instead. +func (EQueryCvarValueStatus) EnumDescriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{6} } -type CMsgVector2D struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields +type DIALOG_TYPE int32 - X *float32 `protobuf:"fixed32,1,opt,name=x" json:"x,omitempty"` - Y *float32 `protobuf:"fixed32,2,opt,name=y" json:"y,omitempty"` -} +const ( + DIALOG_TYPE_DIALOG_MSG DIALOG_TYPE = 0 + DIALOG_TYPE_DIALOG_MENU DIALOG_TYPE = 1 + DIALOG_TYPE_DIALOG_TEXT DIALOG_TYPE = 2 + DIALOG_TYPE_DIALOG_ENTRY DIALOG_TYPE = 3 + DIALOG_TYPE_DIALOG_ASKCONNECT DIALOG_TYPE = 4 +) -func (x *CMsgVector2D) Reset() { - *x = CMsgVector2D{} - if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[1] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +// Enum value maps for DIALOG_TYPE. +var ( + DIALOG_TYPE_name = map[int32]string{ + 0: "DIALOG_MSG", + 1: "DIALOG_MENU", + 2: "DIALOG_TEXT", + 3: "DIALOG_ENTRY", + 4: "DIALOG_ASKCONNECT", + } + DIALOG_TYPE_value = map[string]int32{ + "DIALOG_MSG": 0, + "DIALOG_MENU": 1, + "DIALOG_TEXT": 2, + "DIALOG_ENTRY": 3, + "DIALOG_ASKCONNECT": 4, } +) + +func (x DIALOG_TYPE) Enum() *DIALOG_TYPE { + p := new(DIALOG_TYPE) + *p = x + return p } -func (x *CMsgVector2D) String() string { - return protoimpl.X.MessageStringOf(x) +func (x DIALOG_TYPE) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } -func (*CMsgVector2D) ProtoMessage() {} +func (DIALOG_TYPE) Descriptor() protoreflect.EnumDescriptor { + return file_netmessages_proto_enumTypes[7].Descriptor() +} -func (x *CMsgVector2D) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[1] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) +func (DIALOG_TYPE) Type() protoreflect.EnumType { + return &file_netmessages_proto_enumTypes[7] } -// Deprecated: Use CMsgVector2D.ProtoReflect.Descriptor instead. -func (*CMsgVector2D) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{1} +func (x DIALOG_TYPE) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) } -func (x *CMsgVector2D) GetX() float32 { - if x != nil && x.X != nil { - return *x.X +// Deprecated: Do not use. +func (x *DIALOG_TYPE) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err } - return 0 + *x = DIALOG_TYPE(num) + return nil } -func (x *CMsgVector2D) GetY() float32 { - if x != nil && x.Y != nil { - return *x.Y - } - return 0 +// Deprecated: Use DIALOG_TYPE.Descriptor instead. +func (DIALOG_TYPE) EnumDescriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{7} } -type CMsgQAngle struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields +type SVC_Messages_LowFrequency int32 - X *float32 `protobuf:"fixed32,1,opt,name=x" json:"x,omitempty"` - Y *float32 `protobuf:"fixed32,2,opt,name=y" json:"y,omitempty"` - Z *float32 `protobuf:"fixed32,3,opt,name=z" json:"z,omitempty"` -} +const ( + SVC_Messages_LowFrequency_svc_dummy SVC_Messages_LowFrequency = 600 +) -func (x *CMsgQAngle) Reset() { - *x = CMsgQAngle{} - if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[2] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +// Enum value maps for SVC_Messages_LowFrequency. +var ( + SVC_Messages_LowFrequency_name = map[int32]string{ + 600: "svc_dummy", } + SVC_Messages_LowFrequency_value = map[string]int32{ + "svc_dummy": 600, + } +) + +func (x SVC_Messages_LowFrequency) Enum() *SVC_Messages_LowFrequency { + p := new(SVC_Messages_LowFrequency) + *p = x + return p } -func (x *CMsgQAngle) String() string { - return protoimpl.X.MessageStringOf(x) +func (x SVC_Messages_LowFrequency) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } -func (*CMsgQAngle) ProtoMessage() {} +func (SVC_Messages_LowFrequency) Descriptor() protoreflect.EnumDescriptor { + return file_netmessages_proto_enumTypes[8].Descriptor() +} -func (x *CMsgQAngle) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[2] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) +func (SVC_Messages_LowFrequency) Type() protoreflect.EnumType { + return &file_netmessages_proto_enumTypes[8] } -// Deprecated: Use CMsgQAngle.ProtoReflect.Descriptor instead. -func (*CMsgQAngle) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{2} +func (x SVC_Messages_LowFrequency) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) } -func (x *CMsgQAngle) GetX() float32 { - if x != nil && x.X != nil { - return *x.X +// Deprecated: Do not use. +func (x *SVC_Messages_LowFrequency) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err } - return 0 + *x = SVC_Messages_LowFrequency(num) + return nil } -func (x *CMsgQAngle) GetY() float32 { - if x != nil && x.Y != nil { - return *x.Y - } - return 0 +// Deprecated: Use SVC_Messages_LowFrequency.Descriptor instead. +func (SVC_Messages_LowFrequency) EnumDescriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{8} } -func (x *CMsgQAngle) GetZ() float32 { - if x != nil && x.Z != nil { - return *x.Z +type Bidirectional_Messages int32 + +const ( + Bidirectional_Messages_bi_RebroadcastGameEvent Bidirectional_Messages = 16 + Bidirectional_Messages_bi_RebroadcastSource Bidirectional_Messages = 17 + Bidirectional_Messages_bi_GameEvent Bidirectional_Messages = 18 +) + +// Enum value maps for Bidirectional_Messages. +var ( + Bidirectional_Messages_name = map[int32]string{ + 16: "bi_RebroadcastGameEvent", + 17: "bi_RebroadcastSource", + 18: "bi_GameEvent", } - return 0 + Bidirectional_Messages_value = map[string]int32{ + "bi_RebroadcastGameEvent": 16, + "bi_RebroadcastSource": 17, + "bi_GameEvent": 18, + } +) + +func (x Bidirectional_Messages) Enum() *Bidirectional_Messages { + p := new(Bidirectional_Messages) + *p = x + return p } -type CMsgRGBA struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields +func (x Bidirectional_Messages) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} - R *int32 `protobuf:"varint,1,opt,name=r" json:"r,omitempty"` - G *int32 `protobuf:"varint,2,opt,name=g" json:"g,omitempty"` - B *int32 `protobuf:"varint,3,opt,name=b" json:"b,omitempty"` - A *int32 `protobuf:"varint,4,opt,name=a" json:"a,omitempty"` +func (Bidirectional_Messages) Descriptor() protoreflect.EnumDescriptor { + return file_netmessages_proto_enumTypes[9].Descriptor() } -func (x *CMsgRGBA) Reset() { - *x = CMsgRGBA{} - if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[3] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (Bidirectional_Messages) Type() protoreflect.EnumType { + return &file_netmessages_proto_enumTypes[9] +} + +func (x Bidirectional_Messages) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Do not use. +func (x *Bidirectional_Messages) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err } + *x = Bidirectional_Messages(num) + return nil } -func (x *CMsgRGBA) String() string { - return protoimpl.X.MessageStringOf(x) +// Deprecated: Use Bidirectional_Messages.Descriptor instead. +func (Bidirectional_Messages) EnumDescriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{9} } -func (*CMsgRGBA) ProtoMessage() {} +type Bidirectional_Messages_LowFrequency int32 -func (x *CMsgRGBA) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[3] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms +const ( + Bidirectional_Messages_LowFrequency_bi_RelayInfo Bidirectional_Messages_LowFrequency = 700 + Bidirectional_Messages_LowFrequency_bi_RelayPacket Bidirectional_Messages_LowFrequency = 701 +) + +// Enum value maps for Bidirectional_Messages_LowFrequency. +var ( + Bidirectional_Messages_LowFrequency_name = map[int32]string{ + 700: "bi_RelayInfo", + 701: "bi_RelayPacket", } - return mi.MessageOf(x) + Bidirectional_Messages_LowFrequency_value = map[string]int32{ + "bi_RelayInfo": 700, + "bi_RelayPacket": 701, + } +) + +func (x Bidirectional_Messages_LowFrequency) Enum() *Bidirectional_Messages_LowFrequency { + p := new(Bidirectional_Messages_LowFrequency) + *p = x + return p } -// Deprecated: Use CMsgRGBA.ProtoReflect.Descriptor instead. -func (*CMsgRGBA) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{3} +func (x Bidirectional_Messages_LowFrequency) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } -func (x *CMsgRGBA) GetR() int32 { - if x != nil && x.R != nil { - return *x.R - } - return 0 +func (Bidirectional_Messages_LowFrequency) Descriptor() protoreflect.EnumDescriptor { + return file_netmessages_proto_enumTypes[10].Descriptor() +} + +func (Bidirectional_Messages_LowFrequency) Type() protoreflect.EnumType { + return &file_netmessages_proto_enumTypes[10] +} + +func (x Bidirectional_Messages_LowFrequency) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) } -func (x *CMsgRGBA) GetG() int32 { - if x != nil && x.G != nil { - return *x.G +// Deprecated: Do not use. +func (x *Bidirectional_Messages_LowFrequency) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err } - return 0 + *x = Bidirectional_Messages_LowFrequency(num) + return nil } -func (x *CMsgRGBA) GetB() int32 { - if x != nil && x.B != nil { - return *x.B +// Deprecated: Use Bidirectional_Messages_LowFrequency.Descriptor instead. +func (Bidirectional_Messages_LowFrequency) EnumDescriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{10} +} + +type ReplayEventTypeT int32 + +const ( + ReplayEventTypeT_REPLAY_EVENT_CANCEL ReplayEventTypeT = 0 + ReplayEventTypeT_REPLAY_EVENT_DEATH ReplayEventTypeT = 1 + ReplayEventTypeT_REPLAY_EVENT_GENERIC ReplayEventTypeT = 2 + ReplayEventTypeT_REPLAY_EVENT_STUCK_NEED_FULL_UPDATE ReplayEventTypeT = 3 + ReplayEventTypeT_REPLAY_EVENT_VICTORY ReplayEventTypeT = 4 +) + +// Enum value maps for ReplayEventTypeT. +var ( + ReplayEventTypeT_name = map[int32]string{ + 0: "REPLAY_EVENT_CANCEL", + 1: "REPLAY_EVENT_DEATH", + 2: "REPLAY_EVENT_GENERIC", + 3: "REPLAY_EVENT_STUCK_NEED_FULL_UPDATE", + 4: "REPLAY_EVENT_VICTORY", } - return 0 + ReplayEventTypeT_value = map[string]int32{ + "REPLAY_EVENT_CANCEL": 0, + "REPLAY_EVENT_DEATH": 1, + "REPLAY_EVENT_GENERIC": 2, + "REPLAY_EVENT_STUCK_NEED_FULL_UPDATE": 3, + "REPLAY_EVENT_VICTORY": 4, + } +) + +func (x ReplayEventTypeT) Enum() *ReplayEventTypeT { + p := new(ReplayEventTypeT) + *p = x + return p } -func (x *CMsgRGBA) GetA() int32 { - if x != nil && x.A != nil { - return *x.A +func (x ReplayEventTypeT) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (ReplayEventTypeT) Descriptor() protoreflect.EnumDescriptor { + return file_netmessages_proto_enumTypes[11].Descriptor() +} + +func (ReplayEventTypeT) Type() protoreflect.EnumType { + return &file_netmessages_proto_enumTypes[11] +} + +func (x ReplayEventTypeT) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Do not use. +func (x *ReplayEventTypeT) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err } - return 0 + *x = ReplayEventTypeT(num) + return nil +} + +// Deprecated: Use ReplayEventTypeT.Descriptor instead. +func (ReplayEventTypeT) EnumDescriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{11} } -type CNETMsg_Tick struct { +type CCLCMsg_ClientInfo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Tick *uint32 `protobuf:"varint,1,opt,name=tick" json:"tick,omitempty"` - HostComputationtime *uint32 `protobuf:"varint,4,opt,name=host_computationtime,json=hostComputationtime" json:"host_computationtime,omitempty"` - HostComputationtimeStdDeviation *uint32 `protobuf:"varint,5,opt,name=host_computationtime_std_deviation,json=hostComputationtimeStdDeviation" json:"host_computationtime_std_deviation,omitempty"` - HostFramestarttimeStdDeviation *uint32 `protobuf:"varint,6,opt,name=host_framestarttime_std_deviation,json=hostFramestarttimeStdDeviation" json:"host_framestarttime_std_deviation,omitempty"` - HltvReplayFlags *uint32 `protobuf:"varint,7,opt,name=hltv_replay_flags,json=hltvReplayFlags" json:"hltv_replay_flags,omitempty"` + SendTableCrc *uint32 `protobuf:"fixed32,1,opt,name=send_table_crc,json=sendTableCrc" json:"send_table_crc,omitempty"` + ServerCount *uint32 `protobuf:"varint,2,opt,name=server_count,json=serverCount" json:"server_count,omitempty"` + IsHltv *bool `protobuf:"varint,3,opt,name=is_hltv,json=isHltv" json:"is_hltv,omitempty"` + FriendsId *uint32 `protobuf:"varint,5,opt,name=friends_id,json=friendsId" json:"friends_id,omitempty"` + FriendsName *string `protobuf:"bytes,6,opt,name=friends_name,json=friendsName" json:"friends_name,omitempty"` } -func (x *CNETMsg_Tick) Reset() { - *x = CNETMsg_Tick{} +func (x *CCLCMsg_ClientInfo) Reset() { + *x = CCLCMsg_ClientInfo{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[4] + mi := &file_netmessages_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CNETMsg_Tick) String() string { +func (x *CCLCMsg_ClientInfo) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CNETMsg_Tick) ProtoMessage() {} +func (*CCLCMsg_ClientInfo) ProtoMessage() {} -func (x *CNETMsg_Tick) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[4] +func (x *CCLCMsg_ClientInfo) ProtoReflect() protoreflect.Message { + mi := &file_netmessages_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -789,71 +884,73 @@ func (x *CNETMsg_Tick) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CNETMsg_Tick.ProtoReflect.Descriptor instead. -func (*CNETMsg_Tick) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{4} +// Deprecated: Use CCLCMsg_ClientInfo.ProtoReflect.Descriptor instead. +func (*CCLCMsg_ClientInfo) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{0} } -func (x *CNETMsg_Tick) GetTick() uint32 { - if x != nil && x.Tick != nil { - return *x.Tick +func (x *CCLCMsg_ClientInfo) GetSendTableCrc() uint32 { + if x != nil && x.SendTableCrc != nil { + return *x.SendTableCrc } return 0 } -func (x *CNETMsg_Tick) GetHostComputationtime() uint32 { - if x != nil && x.HostComputationtime != nil { - return *x.HostComputationtime +func (x *CCLCMsg_ClientInfo) GetServerCount() uint32 { + if x != nil && x.ServerCount != nil { + return *x.ServerCount } return 0 } -func (x *CNETMsg_Tick) GetHostComputationtimeStdDeviation() uint32 { - if x != nil && x.HostComputationtimeStdDeviation != nil { - return *x.HostComputationtimeStdDeviation +func (x *CCLCMsg_ClientInfo) GetIsHltv() bool { + if x != nil && x.IsHltv != nil { + return *x.IsHltv } - return 0 + return false } -func (x *CNETMsg_Tick) GetHostFramestarttimeStdDeviation() uint32 { - if x != nil && x.HostFramestarttimeStdDeviation != nil { - return *x.HostFramestarttimeStdDeviation +func (x *CCLCMsg_ClientInfo) GetFriendsId() uint32 { + if x != nil && x.FriendsId != nil { + return *x.FriendsId } return 0 } -func (x *CNETMsg_Tick) GetHltvReplayFlags() uint32 { - if x != nil && x.HltvReplayFlags != nil { - return *x.HltvReplayFlags +func (x *CCLCMsg_ClientInfo) GetFriendsName() string { + if x != nil && x.FriendsName != nil { + return *x.FriendsName } - return 0 + return "" } -type CNETMsg_StringCmd struct { +type CCLCMsg_Move struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Command *string `protobuf:"bytes,1,opt,name=command" json:"command,omitempty"` + Data []byte `protobuf:"bytes,3,opt,name=data" json:"data,omitempty"` + CommandNumber *uint32 `protobuf:"varint,4,opt,name=command_number,json=commandNumber" json:"command_number,omitempty"` + NumCommands *uint32 `protobuf:"varint,5,opt,name=num_commands,json=numCommands" json:"num_commands,omitempty"` } -func (x *CNETMsg_StringCmd) Reset() { - *x = CNETMsg_StringCmd{} +func (x *CCLCMsg_Move) Reset() { + *x = CCLCMsg_Move{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[5] + mi := &file_netmessages_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CNETMsg_StringCmd) String() string { +func (x *CCLCMsg_Move) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CNETMsg_StringCmd) ProtoMessage() {} +func (*CCLCMsg_Move) ProtoMessage() {} -func (x *CNETMsg_StringCmd) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[5] +func (x *CCLCMsg_Move) ProtoReflect() protoreflect.Message { + mi := &file_netmessages_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -864,47 +961,67 @@ func (x *CNETMsg_StringCmd) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CNETMsg_StringCmd.ProtoReflect.Descriptor instead. -func (*CNETMsg_StringCmd) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{5} +// Deprecated: Use CCLCMsg_Move.ProtoReflect.Descriptor instead. +func (*CCLCMsg_Move) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{1} } -func (x *CNETMsg_StringCmd) GetCommand() string { - if x != nil && x.Command != nil { - return *x.Command +func (x *CCLCMsg_Move) GetData() []byte { + if x != nil { + return x.Data } - return "" + return nil +} + +func (x *CCLCMsg_Move) GetCommandNumber() uint32 { + if x != nil && x.CommandNumber != nil { + return *x.CommandNumber + } + return 0 +} + +func (x *CCLCMsg_Move) GetNumCommands() uint32 { + if x != nil && x.NumCommands != nil { + return *x.NumCommands + } + return 0 } -type CNETMsg_SignonState struct { +type CMsgVoiceAudio struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - SignonState *uint32 `protobuf:"varint,1,opt,name=signon_state,json=signonState" json:"signon_state,omitempty"` - SpawnCount *uint32 `protobuf:"varint,2,opt,name=spawn_count,json=spawnCount" json:"spawn_count,omitempty"` - NumServerPlayers *uint32 `protobuf:"varint,3,opt,name=num_server_players,json=numServerPlayers" json:"num_server_players,omitempty"` - PlayersNetworkids []string `protobuf:"bytes,4,rep,name=players_networkids,json=playersNetworkids" json:"players_networkids,omitempty"` - MapName *string `protobuf:"bytes,5,opt,name=map_name,json=mapName" json:"map_name,omitempty"` + Format *VoiceDataFormatT `protobuf:"varint,1,opt,name=format,enum=VoiceDataFormatT,def=0" json:"format,omitempty"` + VoiceData []byte `protobuf:"bytes,2,opt,name=voice_data,json=voiceData" json:"voice_data,omitempty"` + SequenceBytes *int32 `protobuf:"varint,3,opt,name=sequence_bytes,json=sequenceBytes" json:"sequence_bytes,omitempty"` + SectionNumber *uint32 `protobuf:"varint,4,opt,name=section_number,json=sectionNumber" json:"section_number,omitempty"` + SampleRate *uint32 `protobuf:"varint,5,opt,name=sample_rate,json=sampleRate" json:"sample_rate,omitempty"` + UncompressedSampleOffset *uint32 `protobuf:"varint,6,opt,name=uncompressed_sample_offset,json=uncompressedSampleOffset" json:"uncompressed_sample_offset,omitempty"` } -func (x *CNETMsg_SignonState) Reset() { - *x = CNETMsg_SignonState{} +// Default values for CMsgVoiceAudio fields. +const ( + Default_CMsgVoiceAudio_Format = VoiceDataFormatT_VOICEDATA_FORMAT_STEAM +) + +func (x *CMsgVoiceAudio) Reset() { + *x = CMsgVoiceAudio{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[6] + mi := &file_netmessages_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CNETMsg_SignonState) String() string { +func (x *CMsgVoiceAudio) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CNETMsg_SignonState) ProtoMessage() {} +func (*CMsgVoiceAudio) ProtoMessage() {} -func (x *CNETMsg_SignonState) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[6] +func (x *CMsgVoiceAudio) ProtoReflect() protoreflect.Message { + mi := &file_netmessages_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -915,71 +1032,80 @@ func (x *CNETMsg_SignonState) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CNETMsg_SignonState.ProtoReflect.Descriptor instead. -func (*CNETMsg_SignonState) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{6} +// Deprecated: Use CMsgVoiceAudio.ProtoReflect.Descriptor instead. +func (*CMsgVoiceAudio) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{2} } -func (x *CNETMsg_SignonState) GetSignonState() uint32 { - if x != nil && x.SignonState != nil { - return *x.SignonState +func (x *CMsgVoiceAudio) GetFormat() VoiceDataFormatT { + if x != nil && x.Format != nil { + return *x.Format } - return 0 + return Default_CMsgVoiceAudio_Format } -func (x *CNETMsg_SignonState) GetSpawnCount() uint32 { - if x != nil && x.SpawnCount != nil { - return *x.SpawnCount +func (x *CMsgVoiceAudio) GetVoiceData() []byte { + if x != nil { + return x.VoiceData + } + return nil +} + +func (x *CMsgVoiceAudio) GetSequenceBytes() int32 { + if x != nil && x.SequenceBytes != nil { + return *x.SequenceBytes } return 0 } -func (x *CNETMsg_SignonState) GetNumServerPlayers() uint32 { - if x != nil && x.NumServerPlayers != nil { - return *x.NumServerPlayers +func (x *CMsgVoiceAudio) GetSectionNumber() uint32 { + if x != nil && x.SectionNumber != nil { + return *x.SectionNumber } return 0 } -func (x *CNETMsg_SignonState) GetPlayersNetworkids() []string { - if x != nil { - return x.PlayersNetworkids +func (x *CMsgVoiceAudio) GetSampleRate() uint32 { + if x != nil && x.SampleRate != nil { + return *x.SampleRate } - return nil + return 0 } -func (x *CNETMsg_SignonState) GetMapName() string { - if x != nil && x.MapName != nil { - return *x.MapName +func (x *CMsgVoiceAudio) GetUncompressedSampleOffset() uint32 { + if x != nil && x.UncompressedSampleOffset != nil { + return *x.UncompressedSampleOffset } - return "" + return 0 } -type CMsg_CVars struct { +type CCLCMsg_VoiceData struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Cvars []*CMsg_CVars_CVar `protobuf:"bytes,1,rep,name=cvars" json:"cvars,omitempty"` + Audio *CMsgVoiceAudio `protobuf:"bytes,1,opt,name=audio" json:"audio,omitempty"` + Xuid *uint64 `protobuf:"fixed64,2,opt,name=xuid" json:"xuid,omitempty"` + Tick *uint32 `protobuf:"varint,3,opt,name=tick" json:"tick,omitempty"` } -func (x *CMsg_CVars) Reset() { - *x = CMsg_CVars{} +func (x *CCLCMsg_VoiceData) Reset() { + *x = CCLCMsg_VoiceData{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[7] + mi := &file_netmessages_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CMsg_CVars) String() string { +func (x *CCLCMsg_VoiceData) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CMsg_CVars) ProtoMessage() {} +func (*CCLCMsg_VoiceData) ProtoMessage() {} -func (x *CMsg_CVars) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[7] +func (x *CCLCMsg_VoiceData) ProtoReflect() protoreflect.Message { + mi := &file_netmessages_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -990,43 +1116,58 @@ func (x *CMsg_CVars) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CMsg_CVars.ProtoReflect.Descriptor instead. -func (*CMsg_CVars) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{7} +// Deprecated: Use CCLCMsg_VoiceData.ProtoReflect.Descriptor instead. +func (*CCLCMsg_VoiceData) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{3} } -func (x *CMsg_CVars) GetCvars() []*CMsg_CVars_CVar { +func (x *CCLCMsg_VoiceData) GetAudio() *CMsgVoiceAudio { if x != nil { - return x.Cvars + return x.Audio } return nil } -type CNETMsg_SetConVar struct { +func (x *CCLCMsg_VoiceData) GetXuid() uint64 { + if x != nil && x.Xuid != nil { + return *x.Xuid + } + return 0 +} + +func (x *CCLCMsg_VoiceData) GetTick() uint32 { + if x != nil && x.Tick != nil { + return *x.Tick + } + return 0 +} + +type CCLCMsg_BaselineAck struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Convars *CMsg_CVars `protobuf:"bytes,1,opt,name=convars" json:"convars,omitempty"` + BaselineTick *int32 `protobuf:"varint,1,opt,name=baseline_tick,json=baselineTick" json:"baseline_tick,omitempty"` + BaselineNr *int32 `protobuf:"varint,2,opt,name=baseline_nr,json=baselineNr" json:"baseline_nr,omitempty"` } -func (x *CNETMsg_SetConVar) Reset() { - *x = CNETMsg_SetConVar{} +func (x *CCLCMsg_BaselineAck) Reset() { + *x = CCLCMsg_BaselineAck{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[8] + mi := &file_netmessages_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CNETMsg_SetConVar) String() string { +func (x *CCLCMsg_BaselineAck) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CNETMsg_SetConVar) ProtoMessage() {} +func (*CCLCMsg_BaselineAck) ProtoMessage() {} -func (x *CNETMsg_SetConVar) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[8] +func (x *CCLCMsg_BaselineAck) ProtoReflect() protoreflect.Message { + mi := &file_netmessages_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1037,41 +1178,50 @@ func (x *CNETMsg_SetConVar) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CNETMsg_SetConVar.ProtoReflect.Descriptor instead. -func (*CNETMsg_SetConVar) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{8} +// Deprecated: Use CCLCMsg_BaselineAck.ProtoReflect.Descriptor instead. +func (*CCLCMsg_BaselineAck) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{4} } -func (x *CNETMsg_SetConVar) GetConvars() *CMsg_CVars { - if x != nil { - return x.Convars +func (x *CCLCMsg_BaselineAck) GetBaselineTick() int32 { + if x != nil && x.BaselineTick != nil { + return *x.BaselineTick } - return nil + return 0 } -type CNETMsg_NOP struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} +func (x *CCLCMsg_BaselineAck) GetBaselineNr() int32 { + if x != nil && x.BaselineNr != nil { + return *x.BaselineNr + } + return 0 +} + +type CCLCMsg_ListenEvents struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + EventMask []uint32 `protobuf:"fixed32,1,rep,name=event_mask,json=eventMask" json:"event_mask,omitempty"` +} -func (x *CNETMsg_NOP) Reset() { - *x = CNETMsg_NOP{} +func (x *CCLCMsg_ListenEvents) Reset() { + *x = CCLCMsg_ListenEvents{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[9] + mi := &file_netmessages_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CNETMsg_NOP) String() string { +func (x *CCLCMsg_ListenEvents) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CNETMsg_NOP) ProtoMessage() {} +func (*CCLCMsg_ListenEvents) ProtoMessage() {} -func (x *CNETMsg_NOP) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[9] +func (x *CCLCMsg_ListenEvents) ProtoReflect() protoreflect.Message { + mi := &file_netmessages_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1082,36 +1232,46 @@ func (x *CNETMsg_NOP) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CNETMsg_NOP.ProtoReflect.Descriptor instead. -func (*CNETMsg_NOP) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{9} +// Deprecated: Use CCLCMsg_ListenEvents.ProtoReflect.Descriptor instead. +func (*CCLCMsg_ListenEvents) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{5} +} + +func (x *CCLCMsg_ListenEvents) GetEventMask() []uint32 { + if x != nil { + return x.EventMask + } + return nil } -type CNETMsg_Disconnect struct { +type CCLCMsg_RespondCvarValue struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Text *string `protobuf:"bytes,1,opt,name=text" json:"text,omitempty"` + Cookie *int32 `protobuf:"varint,1,opt,name=cookie" json:"cookie,omitempty"` + StatusCode *int32 `protobuf:"varint,2,opt,name=status_code,json=statusCode" json:"status_code,omitempty"` + Name *string `protobuf:"bytes,3,opt,name=name" json:"name,omitempty"` + Value *string `protobuf:"bytes,4,opt,name=value" json:"value,omitempty"` } -func (x *CNETMsg_Disconnect) Reset() { - *x = CNETMsg_Disconnect{} +func (x *CCLCMsg_RespondCvarValue) Reset() { + *x = CCLCMsg_RespondCvarValue{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[10] + mi := &file_netmessages_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CNETMsg_Disconnect) String() string { +func (x *CCLCMsg_RespondCvarValue) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CNETMsg_Disconnect) ProtoMessage() {} +func (*CCLCMsg_RespondCvarValue) ProtoMessage() {} -func (x *CNETMsg_Disconnect) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[10] +func (x *CCLCMsg_RespondCvarValue) ProtoReflect() protoreflect.Message { + mi := &file_netmessages_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1122,46 +1282,68 @@ func (x *CNETMsg_Disconnect) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CNETMsg_Disconnect.ProtoReflect.Descriptor instead. -func (*CNETMsg_Disconnect) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{10} +// Deprecated: Use CCLCMsg_RespondCvarValue.ProtoReflect.Descriptor instead. +func (*CCLCMsg_RespondCvarValue) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{6} } -func (x *CNETMsg_Disconnect) GetText() string { - if x != nil && x.Text != nil { - return *x.Text +func (x *CCLCMsg_RespondCvarValue) GetCookie() int32 { + if x != nil && x.Cookie != nil { + return *x.Cookie + } + return 0 +} + +func (x *CCLCMsg_RespondCvarValue) GetStatusCode() int32 { + if x != nil && x.StatusCode != nil { + return *x.StatusCode + } + return 0 +} + +func (x *CCLCMsg_RespondCvarValue) GetName() string { + if x != nil && x.Name != nil { + return *x.Name } return "" } -type CNETMsg_File struct { +func (x *CCLCMsg_RespondCvarValue) GetValue() string { + if x != nil && x.Value != nil { + return *x.Value + } + return "" +} + +type CCLCMsg_FileCRCCheck struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - TransferId *int32 `protobuf:"varint,1,opt,name=transfer_id,json=transferId" json:"transfer_id,omitempty"` - FileName *string `protobuf:"bytes,2,opt,name=file_name,json=fileName" json:"file_name,omitempty"` - IsReplayDemoFile *bool `protobuf:"varint,3,opt,name=is_replay_demo_file,json=isReplayDemoFile" json:"is_replay_demo_file,omitempty"` - Deny *bool `protobuf:"varint,4,opt,name=deny" json:"deny,omitempty"` + CodePath *int32 `protobuf:"varint,1,opt,name=code_path,json=codePath" json:"code_path,omitempty"` + Path *string `protobuf:"bytes,2,opt,name=path" json:"path,omitempty"` + CodeFilename *int32 `protobuf:"varint,3,opt,name=code_filename,json=codeFilename" json:"code_filename,omitempty"` + Filename *string `protobuf:"bytes,4,opt,name=filename" json:"filename,omitempty"` + Crc *uint32 `protobuf:"fixed32,5,opt,name=crc" json:"crc,omitempty"` } -func (x *CNETMsg_File) Reset() { - *x = CNETMsg_File{} +func (x *CCLCMsg_FileCRCCheck) Reset() { + *x = CCLCMsg_FileCRCCheck{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[11] + mi := &file_netmessages_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CNETMsg_File) String() string { +func (x *CCLCMsg_FileCRCCheck) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CNETMsg_File) ProtoMessage() {} +func (*CCLCMsg_FileCRCCheck) ProtoMessage() {} -func (x *CNETMsg_File) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[11] +func (x *CCLCMsg_FileCRCCheck) ProtoReflect() protoreflect.Message { + mi := &file_netmessages_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1172,64 +1354,71 @@ func (x *CNETMsg_File) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CNETMsg_File.ProtoReflect.Descriptor instead. -func (*CNETMsg_File) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{11} +// Deprecated: Use CCLCMsg_FileCRCCheck.ProtoReflect.Descriptor instead. +func (*CCLCMsg_FileCRCCheck) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{7} } -func (x *CNETMsg_File) GetTransferId() int32 { - if x != nil && x.TransferId != nil { - return *x.TransferId +func (x *CCLCMsg_FileCRCCheck) GetCodePath() int32 { + if x != nil && x.CodePath != nil { + return *x.CodePath } return 0 } -func (x *CNETMsg_File) GetFileName() string { - if x != nil && x.FileName != nil { - return *x.FileName +func (x *CCLCMsg_FileCRCCheck) GetPath() string { + if x != nil && x.Path != nil { + return *x.Path } return "" } -func (x *CNETMsg_File) GetIsReplayDemoFile() bool { - if x != nil && x.IsReplayDemoFile != nil { - return *x.IsReplayDemoFile +func (x *CCLCMsg_FileCRCCheck) GetCodeFilename() int32 { + if x != nil && x.CodeFilename != nil { + return *x.CodeFilename } - return false + return 0 } -func (x *CNETMsg_File) GetDeny() bool { - if x != nil && x.Deny != nil { - return *x.Deny +func (x *CCLCMsg_FileCRCCheck) GetFilename() string { + if x != nil && x.Filename != nil { + return *x.Filename } - return false + return "" +} + +func (x *CCLCMsg_FileCRCCheck) GetCrc() uint32 { + if x != nil && x.Crc != nil { + return *x.Crc + } + return 0 } -type CNETMsg_SplitScreenUser struct { +type CCLCMsg_LoadingProgress struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Slot *int32 `protobuf:"varint,1,opt,name=slot" json:"slot,omitempty"` + Progress *int32 `protobuf:"varint,1,opt,name=progress" json:"progress,omitempty"` } -func (x *CNETMsg_SplitScreenUser) Reset() { - *x = CNETMsg_SplitScreenUser{} +func (x *CCLCMsg_LoadingProgress) Reset() { + *x = CCLCMsg_LoadingProgress{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[12] + mi := &file_netmessages_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CNETMsg_SplitScreenUser) String() string { +func (x *CCLCMsg_LoadingProgress) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CNETMsg_SplitScreenUser) ProtoMessage() {} +func (*CCLCMsg_LoadingProgress) ProtoMessage() {} -func (x *CNETMsg_SplitScreenUser) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[12] +func (x *CCLCMsg_LoadingProgress) ProtoReflect() protoreflect.Message { + mi := &file_netmessages_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1240,44 +1429,43 @@ func (x *CNETMsg_SplitScreenUser) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CNETMsg_SplitScreenUser.ProtoReflect.Descriptor instead. -func (*CNETMsg_SplitScreenUser) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{12} +// Deprecated: Use CCLCMsg_LoadingProgress.ProtoReflect.Descriptor instead. +func (*CCLCMsg_LoadingProgress) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{8} } -func (x *CNETMsg_SplitScreenUser) GetSlot() int32 { - if x != nil && x.Slot != nil { - return *x.Slot +func (x *CCLCMsg_LoadingProgress) GetProgress() int32 { + if x != nil && x.Progress != nil { + return *x.Progress } return 0 } -type CNETMsg_PlayerAvatarData struct { +type CCLCMsg_SplitPlayerConnect struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Accountid *uint32 `protobuf:"varint,1,opt,name=accountid" json:"accountid,omitempty"` - Rgb []byte `protobuf:"bytes,2,opt,name=rgb" json:"rgb,omitempty"` + Playername *string `protobuf:"bytes,1,opt,name=playername" json:"playername,omitempty"` } -func (x *CNETMsg_PlayerAvatarData) Reset() { - *x = CNETMsg_PlayerAvatarData{} +func (x *CCLCMsg_SplitPlayerConnect) Reset() { + *x = CCLCMsg_SplitPlayerConnect{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[13] + mi := &file_netmessages_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CNETMsg_PlayerAvatarData) String() string { +func (x *CCLCMsg_SplitPlayerConnect) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CNETMsg_PlayerAvatarData) ProtoMessage() {} +func (*CCLCMsg_SplitPlayerConnect) ProtoMessage() {} -func (x *CNETMsg_PlayerAvatarData) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[13] +func (x *CCLCMsg_SplitPlayerConnect) ProtoReflect() protoreflect.Message { + mi := &file_netmessages_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1288,56 +1476,44 @@ func (x *CNETMsg_PlayerAvatarData) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CNETMsg_PlayerAvatarData.ProtoReflect.Descriptor instead. -func (*CNETMsg_PlayerAvatarData) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{13} -} - -func (x *CNETMsg_PlayerAvatarData) GetAccountid() uint32 { - if x != nil && x.Accountid != nil { - return *x.Accountid - } - return 0 +// Deprecated: Use CCLCMsg_SplitPlayerConnect.ProtoReflect.Descriptor instead. +func (*CCLCMsg_SplitPlayerConnect) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{9} } -func (x *CNETMsg_PlayerAvatarData) GetRgb() []byte { - if x != nil { - return x.Rgb +func (x *CCLCMsg_SplitPlayerConnect) GetPlayername() string { + if x != nil && x.Playername != nil { + return *x.Playername } - return nil + return "" } -type CCLCMsg_ClientInfo struct { +type CCLCMsg_ClientMessage struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - SendTableCrc *uint32 `protobuf:"fixed32,1,opt,name=send_table_crc,json=sendTableCrc" json:"send_table_crc,omitempty"` - ServerCount *uint32 `protobuf:"varint,2,opt,name=server_count,json=serverCount" json:"server_count,omitempty"` - IsHltv *bool `protobuf:"varint,3,opt,name=is_hltv,json=isHltv" json:"is_hltv,omitempty"` - IsReplay *bool `protobuf:"varint,4,opt,name=is_replay,json=isReplay" json:"is_replay,omitempty"` - FriendsId *uint32 `protobuf:"varint,5,opt,name=friends_id,json=friendsId" json:"friends_id,omitempty"` - FriendsName *string `protobuf:"bytes,6,opt,name=friends_name,json=friendsName" json:"friends_name,omitempty"` - CustomFiles []uint32 `protobuf:"fixed32,7,rep,name=custom_files,json=customFiles" json:"custom_files,omitempty"` + MsgType *int32 `protobuf:"varint,1,opt,name=msg_type,json=msgType" json:"msg_type,omitempty"` + Data []byte `protobuf:"bytes,2,opt,name=data" json:"data,omitempty"` } -func (x *CCLCMsg_ClientInfo) Reset() { - *x = CCLCMsg_ClientInfo{} +func (x *CCLCMsg_ClientMessage) Reset() { + *x = CCLCMsg_ClientMessage{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[14] + mi := &file_netmessages_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CCLCMsg_ClientInfo) String() string { +func (x *CCLCMsg_ClientMessage) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CCLCMsg_ClientInfo) ProtoMessage() {} +func (*CCLCMsg_ClientMessage) ProtoMessage() {} -func (x *CCLCMsg_ClientInfo) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[14] +func (x *CCLCMsg_ClientMessage) ProtoReflect() protoreflect.Message { + mi := &file_netmessages_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1348,87 +1524,50 @@ func (x *CCLCMsg_ClientInfo) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CCLCMsg_ClientInfo.ProtoReflect.Descriptor instead. -func (*CCLCMsg_ClientInfo) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{14} -} - -func (x *CCLCMsg_ClientInfo) GetSendTableCrc() uint32 { - if x != nil && x.SendTableCrc != nil { - return *x.SendTableCrc - } - return 0 -} - -func (x *CCLCMsg_ClientInfo) GetServerCount() uint32 { - if x != nil && x.ServerCount != nil { - return *x.ServerCount - } - return 0 -} - -func (x *CCLCMsg_ClientInfo) GetIsHltv() bool { - if x != nil && x.IsHltv != nil { - return *x.IsHltv - } - return false -} - -func (x *CCLCMsg_ClientInfo) GetIsReplay() bool { - if x != nil && x.IsReplay != nil { - return *x.IsReplay - } - return false +// Deprecated: Use CCLCMsg_ClientMessage.ProtoReflect.Descriptor instead. +func (*CCLCMsg_ClientMessage) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{10} } -func (x *CCLCMsg_ClientInfo) GetFriendsId() uint32 { - if x != nil && x.FriendsId != nil { - return *x.FriendsId +func (x *CCLCMsg_ClientMessage) GetMsgType() int32 { + if x != nil && x.MsgType != nil { + return *x.MsgType } return 0 } -func (x *CCLCMsg_ClientInfo) GetFriendsName() string { - if x != nil && x.FriendsName != nil { - return *x.FriendsName - } - return "" -} - -func (x *CCLCMsg_ClientInfo) GetCustomFiles() []uint32 { +func (x *CCLCMsg_ClientMessage) GetData() []byte { if x != nil { - return x.CustomFiles + return x.Data } return nil } -type CCLCMsg_Move struct { +type CCLCMsg_SplitPlayerDisconnect struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - NumBackupCommands *uint32 `protobuf:"varint,1,opt,name=num_backup_commands,json=numBackupCommands" json:"num_backup_commands,omitempty"` - NumNewCommands *uint32 `protobuf:"varint,2,opt,name=num_new_commands,json=numNewCommands" json:"num_new_commands,omitempty"` - Data []byte `protobuf:"bytes,3,opt,name=data" json:"data,omitempty"` + Slot *int32 `protobuf:"varint,1,opt,name=slot" json:"slot,omitempty"` } -func (x *CCLCMsg_Move) Reset() { - *x = CCLCMsg_Move{} +func (x *CCLCMsg_SplitPlayerDisconnect) Reset() { + *x = CCLCMsg_SplitPlayerDisconnect{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[15] + mi := &file_netmessages_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CCLCMsg_Move) String() string { +func (x *CCLCMsg_SplitPlayerDisconnect) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CCLCMsg_Move) ProtoMessage() {} +func (*CCLCMsg_SplitPlayerDisconnect) ProtoMessage() {} -func (x *CCLCMsg_Move) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[15] +func (x *CCLCMsg_SplitPlayerDisconnect) ProtoReflect() protoreflect.Message { + mi := &file_netmessages_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1439,67 +1578,43 @@ func (x *CCLCMsg_Move) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CCLCMsg_Move.ProtoReflect.Descriptor instead. -func (*CCLCMsg_Move) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{15} -} - -func (x *CCLCMsg_Move) GetNumBackupCommands() uint32 { - if x != nil && x.NumBackupCommands != nil { - return *x.NumBackupCommands - } - return 0 +// Deprecated: Use CCLCMsg_SplitPlayerDisconnect.ProtoReflect.Descriptor instead. +func (*CCLCMsg_SplitPlayerDisconnect) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{11} } -func (x *CCLCMsg_Move) GetNumNewCommands() uint32 { - if x != nil && x.NumNewCommands != nil { - return *x.NumNewCommands +func (x *CCLCMsg_SplitPlayerDisconnect) GetSlot() int32 { + if x != nil && x.Slot != nil { + return *x.Slot } return 0 } -func (x *CCLCMsg_Move) GetData() []byte { - if x != nil { - return x.Data - } - return nil -} - -type CCLCMsg_VoiceData struct { +type CCLCMsg_ServerStatus struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Data []byte `protobuf:"bytes,1,opt,name=data" json:"data,omitempty"` - Xuid *uint64 `protobuf:"fixed64,2,opt,name=xuid" json:"xuid,omitempty"` - Format *VoiceDataFormatT `protobuf:"varint,3,opt,name=format,enum=VoiceDataFormatT,def=1" json:"format,omitempty"` - SequenceBytes *int32 `protobuf:"varint,4,opt,name=sequence_bytes,json=sequenceBytes" json:"sequence_bytes,omitempty"` - SectionNumber *uint32 `protobuf:"varint,5,opt,name=section_number,json=sectionNumber" json:"section_number,omitempty"` - UncompressedSampleOffset *uint32 `protobuf:"varint,6,opt,name=uncompressed_sample_offset,json=uncompressedSampleOffset" json:"uncompressed_sample_offset,omitempty"` + Simplified *bool `protobuf:"varint,1,opt,name=simplified" json:"simplified,omitempty"` } -// Default values for CCLCMsg_VoiceData fields. -const ( - Default_CCLCMsg_VoiceData_Format = VoiceDataFormatT_VOICEDATA_FORMAT_ENGINE -) - -func (x *CCLCMsg_VoiceData) Reset() { - *x = CCLCMsg_VoiceData{} +func (x *CCLCMsg_ServerStatus) Reset() { + *x = CCLCMsg_ServerStatus{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[16] + mi := &file_netmessages_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CCLCMsg_VoiceData) String() string { +func (x *CCLCMsg_ServerStatus) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CCLCMsg_VoiceData) ProtoMessage() {} +func (*CCLCMsg_ServerStatus) ProtoMessage() {} -func (x *CCLCMsg_VoiceData) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[16] +func (x *CCLCMsg_ServerStatus) ProtoReflect() protoreflect.Message { + mi := &file_netmessages_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1510,79 +1625,87 @@ func (x *CCLCMsg_VoiceData) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CCLCMsg_VoiceData.ProtoReflect.Descriptor instead. -func (*CCLCMsg_VoiceData) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{16} +// Deprecated: Use CCLCMsg_ServerStatus.ProtoReflect.Descriptor instead. +func (*CCLCMsg_ServerStatus) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{12} } -func (x *CCLCMsg_VoiceData) GetData() []byte { - if x != nil { - return x.Data +func (x *CCLCMsg_ServerStatus) GetSimplified() bool { + if x != nil && x.Simplified != nil { + return *x.Simplified } - return nil + return false } -func (x *CCLCMsg_VoiceData) GetXuid() uint64 { - if x != nil && x.Xuid != nil { - return *x.Xuid - } - return 0 +type CCLCMsg_ServerPing struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields } -func (x *CCLCMsg_VoiceData) GetFormat() VoiceDataFormatT { - if x != nil && x.Format != nil { - return *x.Format +func (x *CCLCMsg_ServerPing) Reset() { + *x = CCLCMsg_ServerPing{} + if protoimpl.UnsafeEnabled { + mi := &file_netmessages_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return Default_CCLCMsg_VoiceData_Format } -func (x *CCLCMsg_VoiceData) GetSequenceBytes() int32 { - if x != nil && x.SequenceBytes != nil { - return *x.SequenceBytes - } - return 0 +func (x *CCLCMsg_ServerPing) String() string { + return protoimpl.X.MessageStringOf(x) } -func (x *CCLCMsg_VoiceData) GetSectionNumber() uint32 { - if x != nil && x.SectionNumber != nil { - return *x.SectionNumber +func (*CCLCMsg_ServerPing) ProtoMessage() {} + +func (x *CCLCMsg_ServerPing) ProtoReflect() protoreflect.Message { + mi := &file_netmessages_proto_msgTypes[13] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return 0 + return mi.MessageOf(x) } -func (x *CCLCMsg_VoiceData) GetUncompressedSampleOffset() uint32 { - if x != nil && x.UncompressedSampleOffset != nil { - return *x.UncompressedSampleOffset - } - return 0 +// Deprecated: Use CCLCMsg_ServerPing.ProtoReflect.Descriptor instead. +func (*CCLCMsg_ServerPing) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{13} } -type CCLCMsg_BaselineAck struct { +type CCLCMsg_RequestPause struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - BaselineTick *int32 `protobuf:"varint,1,opt,name=baseline_tick,json=baselineTick" json:"baseline_tick,omitempty"` - BaselineNr *int32 `protobuf:"varint,2,opt,name=baseline_nr,json=baselineNr" json:"baseline_nr,omitempty"` + PauseType *RequestPauseT `protobuf:"varint,1,opt,name=pause_type,json=pauseType,enum=RequestPauseT,def=0" json:"pause_type,omitempty"` + PauseGroup *int32 `protobuf:"varint,2,opt,name=pause_group,json=pauseGroup" json:"pause_group,omitempty"` } -func (x *CCLCMsg_BaselineAck) Reset() { - *x = CCLCMsg_BaselineAck{} +// Default values for CCLCMsg_RequestPause fields. +const ( + Default_CCLCMsg_RequestPause_PauseType = RequestPauseT_RP_PAUSE +) + +func (x *CCLCMsg_RequestPause) Reset() { + *x = CCLCMsg_RequestPause{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[17] + mi := &file_netmessages_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CCLCMsg_BaselineAck) String() string { +func (x *CCLCMsg_RequestPause) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CCLCMsg_BaselineAck) ProtoMessage() {} +func (*CCLCMsg_RequestPause) ProtoMessage() {} -func (x *CCLCMsg_BaselineAck) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[17] +func (x *CCLCMsg_RequestPause) ProtoReflect() protoreflect.Message { + mi := &file_netmessages_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1593,50 +1716,50 @@ func (x *CCLCMsg_BaselineAck) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CCLCMsg_BaselineAck.ProtoReflect.Descriptor instead. -func (*CCLCMsg_BaselineAck) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{17} +// Deprecated: Use CCLCMsg_RequestPause.ProtoReflect.Descriptor instead. +func (*CCLCMsg_RequestPause) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{14} } -func (x *CCLCMsg_BaselineAck) GetBaselineTick() int32 { - if x != nil && x.BaselineTick != nil { - return *x.BaselineTick +func (x *CCLCMsg_RequestPause) GetPauseType() RequestPauseT { + if x != nil && x.PauseType != nil { + return *x.PauseType } - return 0 + return Default_CCLCMsg_RequestPause_PauseType } -func (x *CCLCMsg_BaselineAck) GetBaselineNr() int32 { - if x != nil && x.BaselineNr != nil { - return *x.BaselineNr +func (x *CCLCMsg_RequestPause) GetPauseGroup() int32 { + if x != nil && x.PauseGroup != nil { + return *x.PauseGroup } return 0 } -type CCLCMsg_ListenEvents struct { +type CCLCMsg_CmdKeyValues struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - EventMask []uint32 `protobuf:"fixed32,1,rep,name=event_mask,json=eventMask" json:"event_mask,omitempty"` + Data []byte `protobuf:"bytes,1,opt,name=data" json:"data,omitempty"` } -func (x *CCLCMsg_ListenEvents) Reset() { - *x = CCLCMsg_ListenEvents{} +func (x *CCLCMsg_CmdKeyValues) Reset() { + *x = CCLCMsg_CmdKeyValues{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[18] + mi := &file_netmessages_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CCLCMsg_ListenEvents) String() string { +func (x *CCLCMsg_CmdKeyValues) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CCLCMsg_ListenEvents) ProtoMessage() {} +func (*CCLCMsg_CmdKeyValues) ProtoMessage() {} -func (x *CCLCMsg_ListenEvents) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[18] +func (x *CCLCMsg_CmdKeyValues) ProtoReflect() protoreflect.Message { + mi := &file_netmessages_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1647,46 +1770,43 @@ func (x *CCLCMsg_ListenEvents) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CCLCMsg_ListenEvents.ProtoReflect.Descriptor instead. -func (*CCLCMsg_ListenEvents) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{18} +// Deprecated: Use CCLCMsg_CmdKeyValues.ProtoReflect.Descriptor instead. +func (*CCLCMsg_CmdKeyValues) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{15} } -func (x *CCLCMsg_ListenEvents) GetEventMask() []uint32 { +func (x *CCLCMsg_CmdKeyValues) GetData() []byte { if x != nil { - return x.EventMask + return x.Data } return nil } -type CCLCMsg_RespondCvarValue struct { +type CCLCMsg_RconServerDetails struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Cookie *int32 `protobuf:"varint,1,opt,name=cookie" json:"cookie,omitempty"` - StatusCode *int32 `protobuf:"varint,2,opt,name=status_code,json=statusCode" json:"status_code,omitempty"` - Name *string `protobuf:"bytes,3,opt,name=name" json:"name,omitempty"` - Value *string `protobuf:"bytes,4,opt,name=value" json:"value,omitempty"` + Token []byte `protobuf:"bytes,1,opt,name=token" json:"token,omitempty"` } -func (x *CCLCMsg_RespondCvarValue) Reset() { - *x = CCLCMsg_RespondCvarValue{} +func (x *CCLCMsg_RconServerDetails) Reset() { + *x = CCLCMsg_RconServerDetails{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[19] + mi := &file_netmessages_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CCLCMsg_RespondCvarValue) String() string { +func (x *CCLCMsg_RconServerDetails) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CCLCMsg_RespondCvarValue) ProtoMessage() {} +func (*CCLCMsg_RconServerDetails) ProtoMessage() {} -func (x *CCLCMsg_RespondCvarValue) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[19] +func (x *CCLCMsg_RconServerDetails) ProtoReflect() protoreflect.Message { + mi := &file_netmessages_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1697,74 +1817,63 @@ func (x *CCLCMsg_RespondCvarValue) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CCLCMsg_RespondCvarValue.ProtoReflect.Descriptor instead. -func (*CCLCMsg_RespondCvarValue) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{19} -} - -func (x *CCLCMsg_RespondCvarValue) GetCookie() int32 { - if x != nil && x.Cookie != nil { - return *x.Cookie - } - return 0 -} - -func (x *CCLCMsg_RespondCvarValue) GetStatusCode() int32 { - if x != nil && x.StatusCode != nil { - return *x.StatusCode - } - return 0 -} - -func (x *CCLCMsg_RespondCvarValue) GetName() string { - if x != nil && x.Name != nil { - return *x.Name - } - return "" +// Deprecated: Use CCLCMsg_RconServerDetails.ProtoReflect.Descriptor instead. +func (*CCLCMsg_RconServerDetails) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{16} } -func (x *CCLCMsg_RespondCvarValue) GetValue() string { - if x != nil && x.Value != nil { - return *x.Value +func (x *CCLCMsg_RconServerDetails) GetToken() []byte { + if x != nil { + return x.Token } - return "" + return nil } -type CCLCMsg_FileCRCCheck struct { +type CSVCMsg_ServerInfo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - CodePath *int32 `protobuf:"varint,1,opt,name=code_path,json=codePath" json:"code_path,omitempty"` - Path *string `protobuf:"bytes,2,opt,name=path" json:"path,omitempty"` - CodeFilename *int32 `protobuf:"varint,3,opt,name=code_filename,json=codeFilename" json:"code_filename,omitempty"` - Filename *string `protobuf:"bytes,4,opt,name=filename" json:"filename,omitempty"` - FileFraction *int32 `protobuf:"varint,5,opt,name=file_fraction,json=fileFraction" json:"file_fraction,omitempty"` - Md5 []byte `protobuf:"bytes,6,opt,name=md5" json:"md5,omitempty"` - Crc *uint32 `protobuf:"varint,7,opt,name=crc" json:"crc,omitempty"` - FileHashType *int32 `protobuf:"varint,8,opt,name=file_hash_type,json=fileHashType" json:"file_hash_type,omitempty"` - FileLen *int32 `protobuf:"varint,9,opt,name=file_len,json=fileLen" json:"file_len,omitempty"` - PackFileId *int32 `protobuf:"varint,10,opt,name=pack_file_id,json=packFileId" json:"pack_file_id,omitempty"` - PackFileNumber *int32 `protobuf:"varint,11,opt,name=pack_file_number,json=packFileNumber" json:"pack_file_number,omitempty"` -} + Protocol *int32 `protobuf:"varint,1,opt,name=protocol" json:"protocol,omitempty"` + ServerCount *int32 `protobuf:"varint,2,opt,name=server_count,json=serverCount" json:"server_count,omitempty"` + IsDedicated *bool `protobuf:"varint,3,opt,name=is_dedicated,json=isDedicated" json:"is_dedicated,omitempty"` + IsHltv *bool `protobuf:"varint,4,opt,name=is_hltv,json=isHltv" json:"is_hltv,omitempty"` + COs *int32 `protobuf:"varint,6,opt,name=c_os,json=cOs" json:"c_os,omitempty"` + MaxClients *int32 `protobuf:"varint,10,opt,name=max_clients,json=maxClients" json:"max_clients,omitempty"` + MaxClasses *int32 `protobuf:"varint,11,opt,name=max_classes,json=maxClasses" json:"max_classes,omitempty"` + PlayerSlot *int32 `protobuf:"varint,12,opt,name=player_slot,json=playerSlot,def=-1" json:"player_slot,omitempty"` + TickInterval *float32 `protobuf:"fixed32,13,opt,name=tick_interval,json=tickInterval" json:"tick_interval,omitempty"` + GameDir *string `protobuf:"bytes,14,opt,name=game_dir,json=gameDir" json:"game_dir,omitempty"` + MapName *string `protobuf:"bytes,15,opt,name=map_name,json=mapName" json:"map_name,omitempty"` + SkyName *string `protobuf:"bytes,16,opt,name=sky_name,json=skyName" json:"sky_name,omitempty"` + HostName *string `protobuf:"bytes,17,opt,name=host_name,json=hostName" json:"host_name,omitempty"` + AddonName *string `protobuf:"bytes,18,opt,name=addon_name,json=addonName" json:"addon_name,omitempty"` + GameSessionConfig *CSVCMsg_GameSessionConfiguration `protobuf:"bytes,19,opt,name=game_session_config,json=gameSessionConfig" json:"game_session_config,omitempty"` + GameSessionManifest []byte `protobuf:"bytes,20,opt,name=game_session_manifest,json=gameSessionManifest" json:"game_session_manifest,omitempty"` +} + +// Default values for CSVCMsg_ServerInfo fields. +const ( + Default_CSVCMsg_ServerInfo_PlayerSlot = int32(-1) +) -func (x *CCLCMsg_FileCRCCheck) Reset() { - *x = CCLCMsg_FileCRCCheck{} +func (x *CSVCMsg_ServerInfo) Reset() { + *x = CSVCMsg_ServerInfo{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[20] + mi := &file_netmessages_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CCLCMsg_FileCRCCheck) String() string { +func (x *CSVCMsg_ServerInfo) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CCLCMsg_FileCRCCheck) ProtoMessage() {} +func (*CSVCMsg_ServerInfo) ProtoMessage() {} -func (x *CCLCMsg_FileCRCCheck) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[20] +func (x *CSVCMsg_ServerInfo) ProtoReflect() protoreflect.Message { + mi := &file_netmessages_proto_msgTypes[17] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1775,160 +1884,149 @@ func (x *CCLCMsg_FileCRCCheck) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CCLCMsg_FileCRCCheck.ProtoReflect.Descriptor instead. -func (*CCLCMsg_FileCRCCheck) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{20} +// Deprecated: Use CSVCMsg_ServerInfo.ProtoReflect.Descriptor instead. +func (*CSVCMsg_ServerInfo) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{17} } -func (x *CCLCMsg_FileCRCCheck) GetCodePath() int32 { - if x != nil && x.CodePath != nil { - return *x.CodePath +func (x *CSVCMsg_ServerInfo) GetProtocol() int32 { + if x != nil && x.Protocol != nil { + return *x.Protocol } return 0 } -func (x *CCLCMsg_FileCRCCheck) GetPath() string { - if x != nil && x.Path != nil { - return *x.Path +func (x *CSVCMsg_ServerInfo) GetServerCount() int32 { + if x != nil && x.ServerCount != nil { + return *x.ServerCount } - return "" + return 0 } -func (x *CCLCMsg_FileCRCCheck) GetCodeFilename() int32 { - if x != nil && x.CodeFilename != nil { - return *x.CodeFilename +func (x *CSVCMsg_ServerInfo) GetIsDedicated() bool { + if x != nil && x.IsDedicated != nil { + return *x.IsDedicated } - return 0 + return false } -func (x *CCLCMsg_FileCRCCheck) GetFilename() string { - if x != nil && x.Filename != nil { - return *x.Filename +func (x *CSVCMsg_ServerInfo) GetIsHltv() bool { + if x != nil && x.IsHltv != nil { + return *x.IsHltv } - return "" + return false } -func (x *CCLCMsg_FileCRCCheck) GetFileFraction() int32 { - if x != nil && x.FileFraction != nil { - return *x.FileFraction +func (x *CSVCMsg_ServerInfo) GetCOs() int32 { + if x != nil && x.COs != nil { + return *x.COs } return 0 } -func (x *CCLCMsg_FileCRCCheck) GetMd5() []byte { - if x != nil { - return x.Md5 +func (x *CSVCMsg_ServerInfo) GetMaxClients() int32 { + if x != nil && x.MaxClients != nil { + return *x.MaxClients } - return nil + return 0 } -func (x *CCLCMsg_FileCRCCheck) GetCrc() uint32 { - if x != nil && x.Crc != nil { - return *x.Crc +func (x *CSVCMsg_ServerInfo) GetMaxClasses() int32 { + if x != nil && x.MaxClasses != nil { + return *x.MaxClasses } return 0 } -func (x *CCLCMsg_FileCRCCheck) GetFileHashType() int32 { - if x != nil && x.FileHashType != nil { - return *x.FileHashType +func (x *CSVCMsg_ServerInfo) GetPlayerSlot() int32 { + if x != nil && x.PlayerSlot != nil { + return *x.PlayerSlot } - return 0 + return Default_CSVCMsg_ServerInfo_PlayerSlot } -func (x *CCLCMsg_FileCRCCheck) GetFileLen() int32 { - if x != nil && x.FileLen != nil { - return *x.FileLen +func (x *CSVCMsg_ServerInfo) GetTickInterval() float32 { + if x != nil && x.TickInterval != nil { + return *x.TickInterval } return 0 } -func (x *CCLCMsg_FileCRCCheck) GetPackFileId() int32 { - if x != nil && x.PackFileId != nil { - return *x.PackFileId +func (x *CSVCMsg_ServerInfo) GetGameDir() string { + if x != nil && x.GameDir != nil { + return *x.GameDir } - return 0 + return "" } -func (x *CCLCMsg_FileCRCCheck) GetPackFileNumber() int32 { - if x != nil && x.PackFileNumber != nil { - return *x.PackFileNumber +func (x *CSVCMsg_ServerInfo) GetMapName() string { + if x != nil && x.MapName != nil { + return *x.MapName } - return 0 + return "" } -type CCLCMsg_LoadingProgress struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Progress *int32 `protobuf:"varint,1,opt,name=progress" json:"progress,omitempty"` +func (x *CSVCMsg_ServerInfo) GetSkyName() string { + if x != nil && x.SkyName != nil { + return *x.SkyName + } + return "" } -func (x *CCLCMsg_LoadingProgress) Reset() { - *x = CCLCMsg_LoadingProgress{} - if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[21] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *CSVCMsg_ServerInfo) GetHostName() string { + if x != nil && x.HostName != nil { + return *x.HostName } + return "" } -func (x *CCLCMsg_LoadingProgress) String() string { - return protoimpl.X.MessageStringOf(x) +func (x *CSVCMsg_ServerInfo) GetAddonName() string { + if x != nil && x.AddonName != nil { + return *x.AddonName + } + return "" } -func (*CCLCMsg_LoadingProgress) ProtoMessage() {} +func (x *CSVCMsg_ServerInfo) GetGameSessionConfig() *CSVCMsg_GameSessionConfiguration { + if x != nil { + return x.GameSessionConfig + } + return nil +} -func (x *CCLCMsg_LoadingProgress) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[21] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use CCLCMsg_LoadingProgress.ProtoReflect.Descriptor instead. -func (*CCLCMsg_LoadingProgress) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{21} -} - -func (x *CCLCMsg_LoadingProgress) GetProgress() int32 { - if x != nil && x.Progress != nil { - return *x.Progress +func (x *CSVCMsg_ServerInfo) GetGameSessionManifest() []byte { + if x != nil { + return x.GameSessionManifest } - return 0 + return nil } -type CCLCMsg_SplitPlayerConnect struct { +type CSVCMsg_ClassInfo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Convars *CMsg_CVars `protobuf:"bytes,1,opt,name=convars" json:"convars,omitempty"` + CreateOnClient *bool `protobuf:"varint,1,opt,name=create_on_client,json=createOnClient" json:"create_on_client,omitempty"` + Classes []*CSVCMsg_ClassInfoClassT `protobuf:"bytes,2,rep,name=classes" json:"classes,omitempty"` } -func (x *CCLCMsg_SplitPlayerConnect) Reset() { - *x = CCLCMsg_SplitPlayerConnect{} +func (x *CSVCMsg_ClassInfo) Reset() { + *x = CSVCMsg_ClassInfo{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[22] + mi := &file_netmessages_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CCLCMsg_SplitPlayerConnect) String() string { +func (x *CSVCMsg_ClassInfo) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CCLCMsg_SplitPlayerConnect) ProtoMessage() {} +func (*CSVCMsg_ClassInfo) ProtoMessage() {} -func (x *CCLCMsg_SplitPlayerConnect) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[22] +func (x *CSVCMsg_ClassInfo) ProtoReflect() protoreflect.Message { + mi := &file_netmessages_proto_msgTypes[18] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1939,43 +2037,50 @@ func (x *CCLCMsg_SplitPlayerConnect) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CCLCMsg_SplitPlayerConnect.ProtoReflect.Descriptor instead. -func (*CCLCMsg_SplitPlayerConnect) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{22} +// Deprecated: Use CSVCMsg_ClassInfo.ProtoReflect.Descriptor instead. +func (*CSVCMsg_ClassInfo) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{18} +} + +func (x *CSVCMsg_ClassInfo) GetCreateOnClient() bool { + if x != nil && x.CreateOnClient != nil { + return *x.CreateOnClient + } + return false } -func (x *CCLCMsg_SplitPlayerConnect) GetConvars() *CMsg_CVars { +func (x *CSVCMsg_ClassInfo) GetClasses() []*CSVCMsg_ClassInfoClassT { if x != nil { - return x.Convars + return x.Classes } return nil } -type CCLCMsg_CmdKeyValues struct { +type CSVCMsg_SetPause struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Keyvalues []byte `protobuf:"bytes,1,opt,name=keyvalues" json:"keyvalues,omitempty"` + Paused *bool `protobuf:"varint,1,opt,name=paused" json:"paused,omitempty"` } -func (x *CCLCMsg_CmdKeyValues) Reset() { - *x = CCLCMsg_CmdKeyValues{} +func (x *CSVCMsg_SetPause) Reset() { + *x = CSVCMsg_SetPause{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[23] + mi := &file_netmessages_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CCLCMsg_CmdKeyValues) String() string { +func (x *CSVCMsg_SetPause) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CCLCMsg_CmdKeyValues) ProtoMessage() {} +func (*CSVCMsg_SetPause) ProtoMessage() {} -func (x *CCLCMsg_CmdKeyValues) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[23] +func (x *CSVCMsg_SetPause) ProtoReflect() protoreflect.Message { + mi := &file_netmessages_proto_msgTypes[19] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1986,64 +2091,50 @@ func (x *CCLCMsg_CmdKeyValues) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CCLCMsg_CmdKeyValues.ProtoReflect.Descriptor instead. -func (*CCLCMsg_CmdKeyValues) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{23} +// Deprecated: Use CSVCMsg_SetPause.ProtoReflect.Descriptor instead. +func (*CSVCMsg_SetPause) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{19} } -func (x *CCLCMsg_CmdKeyValues) GetKeyvalues() []byte { - if x != nil { - return x.Keyvalues +func (x *CSVCMsg_SetPause) GetPaused() bool { + if x != nil && x.Paused != nil { + return *x.Paused } - return nil + return false } -type CSVCMsg_ServerInfo struct { +type CSVCMsg_VoiceInit struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Protocol *int32 `protobuf:"varint,1,opt,name=protocol" json:"protocol,omitempty"` - ServerCount *int32 `protobuf:"varint,2,opt,name=server_count,json=serverCount" json:"server_count,omitempty"` - IsDedicated *bool `protobuf:"varint,3,opt,name=is_dedicated,json=isDedicated" json:"is_dedicated,omitempty"` - IsOfficialValveServer *bool `protobuf:"varint,4,opt,name=is_official_valve_server,json=isOfficialValveServer" json:"is_official_valve_server,omitempty"` - IsHltv *bool `protobuf:"varint,5,opt,name=is_hltv,json=isHltv" json:"is_hltv,omitempty"` - IsReplay *bool `protobuf:"varint,6,opt,name=is_replay,json=isReplay" json:"is_replay,omitempty"` - IsRedirectingToProxyRelay *bool `protobuf:"varint,21,opt,name=is_redirecting_to_proxy_relay,json=isRedirectingToProxyRelay" json:"is_redirecting_to_proxy_relay,omitempty"` - COs *int32 `protobuf:"varint,7,opt,name=c_os,json=cOs" json:"c_os,omitempty"` - MapCrc *uint32 `protobuf:"fixed32,8,opt,name=map_crc,json=mapCrc" json:"map_crc,omitempty"` - ClientCrc *uint32 `protobuf:"fixed32,9,opt,name=client_crc,json=clientCrc" json:"client_crc,omitempty"` - StringTableCrc *uint32 `protobuf:"fixed32,10,opt,name=string_table_crc,json=stringTableCrc" json:"string_table_crc,omitempty"` - MaxClients *int32 `protobuf:"varint,11,opt,name=max_clients,json=maxClients" json:"max_clients,omitempty"` - MaxClasses *int32 `protobuf:"varint,12,opt,name=max_classes,json=maxClasses" json:"max_classes,omitempty"` - PlayerSlot *int32 `protobuf:"varint,13,opt,name=player_slot,json=playerSlot" json:"player_slot,omitempty"` - TickInterval *float32 `protobuf:"fixed32,14,opt,name=tick_interval,json=tickInterval" json:"tick_interval,omitempty"` - GameDir *string `protobuf:"bytes,15,opt,name=game_dir,json=gameDir" json:"game_dir,omitempty"` - MapName *string `protobuf:"bytes,16,opt,name=map_name,json=mapName" json:"map_name,omitempty"` - MapGroupName *string `protobuf:"bytes,17,opt,name=map_group_name,json=mapGroupName" json:"map_group_name,omitempty"` - SkyName *string `protobuf:"bytes,18,opt,name=sky_name,json=skyName" json:"sky_name,omitempty"` - HostName *string `protobuf:"bytes,19,opt,name=host_name,json=hostName" json:"host_name,omitempty"` - PublicIp *uint32 `protobuf:"varint,20,opt,name=public_ip,json=publicIp" json:"public_ip,omitempty"` - UgcMapId *uint64 `protobuf:"varint,22,opt,name=ugc_map_id,json=ugcMapId" json:"ugc_map_id,omitempty"` + Quality *int32 `protobuf:"varint,1,opt,name=quality" json:"quality,omitempty"` + Codec *string `protobuf:"bytes,2,opt,name=codec" json:"codec,omitempty"` + Version *int32 `protobuf:"varint,3,opt,name=version,def=0" json:"version,omitempty"` } -func (x *CSVCMsg_ServerInfo) Reset() { - *x = CSVCMsg_ServerInfo{} +// Default values for CSVCMsg_VoiceInit fields. +const ( + Default_CSVCMsg_VoiceInit_Version = int32(0) +) + +func (x *CSVCMsg_VoiceInit) Reset() { + *x = CSVCMsg_VoiceInit{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[24] + mi := &file_netmessages_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CSVCMsg_ServerInfo) String() string { +func (x *CSVCMsg_VoiceInit) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CSVCMsg_ServerInfo) ProtoMessage() {} +func (*CSVCMsg_VoiceInit) ProtoMessage() {} -func (x *CSVCMsg_ServerInfo) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[24] +func (x *CSVCMsg_VoiceInit) ProtoReflect() protoreflect.Message { + mi := &file_netmessages_proto_msgTypes[20] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2054,191 +2145,647 @@ func (x *CSVCMsg_ServerInfo) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CSVCMsg_ServerInfo.ProtoReflect.Descriptor instead. -func (*CSVCMsg_ServerInfo) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{24} +// Deprecated: Use CSVCMsg_VoiceInit.ProtoReflect.Descriptor instead. +func (*CSVCMsg_VoiceInit) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{20} } -func (x *CSVCMsg_ServerInfo) GetProtocol() int32 { - if x != nil && x.Protocol != nil { - return *x.Protocol +func (x *CSVCMsg_VoiceInit) GetQuality() int32 { + if x != nil && x.Quality != nil { + return *x.Quality } return 0 } -func (x *CSVCMsg_ServerInfo) GetServerCount() int32 { - if x != nil && x.ServerCount != nil { - return *x.ServerCount +func (x *CSVCMsg_VoiceInit) GetCodec() string { + if x != nil && x.Codec != nil { + return *x.Codec } - return 0 + return "" } -func (x *CSVCMsg_ServerInfo) GetIsDedicated() bool { - if x != nil && x.IsDedicated != nil { - return *x.IsDedicated +func (x *CSVCMsg_VoiceInit) GetVersion() int32 { + if x != nil && x.Version != nil { + return *x.Version } - return false + return Default_CSVCMsg_VoiceInit_Version } -func (x *CSVCMsg_ServerInfo) GetIsOfficialValveServer() bool { - if x != nil && x.IsOfficialValveServer != nil { - return *x.IsOfficialValveServer - } - return false -} +type CSVCMsg_Print struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields -func (x *CSVCMsg_ServerInfo) GetIsHltv() bool { - if x != nil && x.IsHltv != nil { - return *x.IsHltv - } - return false + Text *string `protobuf:"bytes,1,opt,name=text" json:"text,omitempty"` } -func (x *CSVCMsg_ServerInfo) GetIsReplay() bool { - if x != nil && x.IsReplay != nil { - return *x.IsReplay +func (x *CSVCMsg_Print) Reset() { + *x = CSVCMsg_Print{} + if protoimpl.UnsafeEnabled { + mi := &file_netmessages_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return false } -func (x *CSVCMsg_ServerInfo) GetIsRedirectingToProxyRelay() bool { - if x != nil && x.IsRedirectingToProxyRelay != nil { - return *x.IsRedirectingToProxyRelay - } - return false +func (x *CSVCMsg_Print) String() string { + return protoimpl.X.MessageStringOf(x) } -func (x *CSVCMsg_ServerInfo) GetCOs() int32 { - if x != nil && x.COs != nil { - return *x.COs +func (*CSVCMsg_Print) ProtoMessage() {} + +func (x *CSVCMsg_Print) ProtoReflect() protoreflect.Message { + mi := &file_netmessages_proto_msgTypes[21] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return 0 + return mi.MessageOf(x) } -func (x *CSVCMsg_ServerInfo) GetMapCrc() uint32 { - if x != nil && x.MapCrc != nil { - return *x.MapCrc - } - return 0 +// Deprecated: Use CSVCMsg_Print.ProtoReflect.Descriptor instead. +func (*CSVCMsg_Print) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{21} } -func (x *CSVCMsg_ServerInfo) GetClientCrc() uint32 { - if x != nil && x.ClientCrc != nil { - return *x.ClientCrc +func (x *CSVCMsg_Print) GetText() string { + if x != nil && x.Text != nil { + return *x.Text } - return 0 + return "" } -func (x *CSVCMsg_ServerInfo) GetStringTableCrc() uint32 { - if x != nil && x.StringTableCrc != nil { - return *x.StringTableCrc - } - return 0 +type CSVCMsg_Sounds struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ReliableSound *bool `protobuf:"varint,1,opt,name=reliable_sound,json=reliableSound" json:"reliable_sound,omitempty"` + Sounds []*CSVCMsg_SoundsSounddataT `protobuf:"bytes,2,rep,name=sounds" json:"sounds,omitempty"` } -func (x *CSVCMsg_ServerInfo) GetMaxClients() int32 { - if x != nil && x.MaxClients != nil { - return *x.MaxClients +func (x *CSVCMsg_Sounds) Reset() { + *x = CSVCMsg_Sounds{} + if protoimpl.UnsafeEnabled { + mi := &file_netmessages_proto_msgTypes[22] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return 0 } -func (x *CSVCMsg_ServerInfo) GetMaxClasses() int32 { - if x != nil && x.MaxClasses != nil { - return *x.MaxClasses - } - return 0 +func (x *CSVCMsg_Sounds) String() string { + return protoimpl.X.MessageStringOf(x) } -func (x *CSVCMsg_ServerInfo) GetPlayerSlot() int32 { - if x != nil && x.PlayerSlot != nil { - return *x.PlayerSlot +func (*CSVCMsg_Sounds) ProtoMessage() {} + +func (x *CSVCMsg_Sounds) ProtoReflect() protoreflect.Message { + mi := &file_netmessages_proto_msgTypes[22] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return 0 + return mi.MessageOf(x) } -func (x *CSVCMsg_ServerInfo) GetTickInterval() float32 { - if x != nil && x.TickInterval != nil { - return *x.TickInterval - } - return 0 +// Deprecated: Use CSVCMsg_Sounds.ProtoReflect.Descriptor instead. +func (*CSVCMsg_Sounds) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{22} } -func (x *CSVCMsg_ServerInfo) GetGameDir() string { - if x != nil && x.GameDir != nil { - return *x.GameDir +func (x *CSVCMsg_Sounds) GetReliableSound() bool { + if x != nil && x.ReliableSound != nil { + return *x.ReliableSound } - return "" + return false } -func (x *CSVCMsg_ServerInfo) GetMapName() string { - if x != nil && x.MapName != nil { - return *x.MapName +func (x *CSVCMsg_Sounds) GetSounds() []*CSVCMsg_SoundsSounddataT { + if x != nil { + return x.Sounds } - return "" + return nil } -func (x *CSVCMsg_ServerInfo) GetMapGroupName() string { - if x != nil && x.MapGroupName != nil { - return *x.MapGroupName - } - return "" +type CSVCMsg_Prefetch struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + SoundIndex *int32 `protobuf:"varint,1,opt,name=sound_index,json=soundIndex" json:"sound_index,omitempty"` + ResourceType *PrefetchType `protobuf:"varint,2,opt,name=resource_type,json=resourceType,enum=PrefetchType,def=0" json:"resource_type,omitempty"` } -func (x *CSVCMsg_ServerInfo) GetSkyName() string { - if x != nil && x.SkyName != nil { - return *x.SkyName +// Default values for CSVCMsg_Prefetch fields. +const ( + Default_CSVCMsg_Prefetch_ResourceType = PrefetchType_PFT_SOUND +) + +func (x *CSVCMsg_Prefetch) Reset() { + *x = CSVCMsg_Prefetch{} + if protoimpl.UnsafeEnabled { + mi := &file_netmessages_proto_msgTypes[23] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CSVCMsg_Prefetch) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CSVCMsg_Prefetch) ProtoMessage() {} + +func (x *CSVCMsg_Prefetch) ProtoReflect() protoreflect.Message { + mi := &file_netmessages_proto_msgTypes[23] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CSVCMsg_Prefetch.ProtoReflect.Descriptor instead. +func (*CSVCMsg_Prefetch) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{23} +} + +func (x *CSVCMsg_Prefetch) GetSoundIndex() int32 { + if x != nil && x.SoundIndex != nil { + return *x.SoundIndex + } + return 0 +} + +func (x *CSVCMsg_Prefetch) GetResourceType() PrefetchType { + if x != nil && x.ResourceType != nil { + return *x.ResourceType + } + return Default_CSVCMsg_Prefetch_ResourceType +} + +type CSVCMsg_SetView struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + EntityIndex *int32 `protobuf:"varint,1,opt,name=entity_index,json=entityIndex,def=-1" json:"entity_index,omitempty"` + Slot *int32 `protobuf:"varint,2,opt,name=slot,def=-1" json:"slot,omitempty"` +} + +// Default values for CSVCMsg_SetView fields. +const ( + Default_CSVCMsg_SetView_EntityIndex = int32(-1) + Default_CSVCMsg_SetView_Slot = int32(-1) +) + +func (x *CSVCMsg_SetView) Reset() { + *x = CSVCMsg_SetView{} + if protoimpl.UnsafeEnabled { + mi := &file_netmessages_proto_msgTypes[24] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CSVCMsg_SetView) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CSVCMsg_SetView) ProtoMessage() {} + +func (x *CSVCMsg_SetView) ProtoReflect() protoreflect.Message { + mi := &file_netmessages_proto_msgTypes[24] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CSVCMsg_SetView.ProtoReflect.Descriptor instead. +func (*CSVCMsg_SetView) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{24} +} + +func (x *CSVCMsg_SetView) GetEntityIndex() int32 { + if x != nil && x.EntityIndex != nil { + return *x.EntityIndex + } + return Default_CSVCMsg_SetView_EntityIndex +} + +func (x *CSVCMsg_SetView) GetSlot() int32 { + if x != nil && x.Slot != nil { + return *x.Slot + } + return Default_CSVCMsg_SetView_Slot +} + +type CSVCMsg_FixAngle struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Relative *bool `protobuf:"varint,1,opt,name=relative" json:"relative,omitempty"` + Angle *CMsgQAngle `protobuf:"bytes,2,opt,name=angle" json:"angle,omitempty"` +} + +func (x *CSVCMsg_FixAngle) Reset() { + *x = CSVCMsg_FixAngle{} + if protoimpl.UnsafeEnabled { + mi := &file_netmessages_proto_msgTypes[25] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CSVCMsg_FixAngle) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CSVCMsg_FixAngle) ProtoMessage() {} + +func (x *CSVCMsg_FixAngle) ProtoReflect() protoreflect.Message { + mi := &file_netmessages_proto_msgTypes[25] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CSVCMsg_FixAngle.ProtoReflect.Descriptor instead. +func (*CSVCMsg_FixAngle) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{25} +} + +func (x *CSVCMsg_FixAngle) GetRelative() bool { + if x != nil && x.Relative != nil { + return *x.Relative + } + return false +} + +func (x *CSVCMsg_FixAngle) GetAngle() *CMsgQAngle { + if x != nil { + return x.Angle + } + return nil +} + +type CSVCMsg_CrosshairAngle struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Angle *CMsgQAngle `protobuf:"bytes,1,opt,name=angle" json:"angle,omitempty"` +} + +func (x *CSVCMsg_CrosshairAngle) Reset() { + *x = CSVCMsg_CrosshairAngle{} + if protoimpl.UnsafeEnabled { + mi := &file_netmessages_proto_msgTypes[26] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CSVCMsg_CrosshairAngle) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CSVCMsg_CrosshairAngle) ProtoMessage() {} + +func (x *CSVCMsg_CrosshairAngle) ProtoReflect() protoreflect.Message { + mi := &file_netmessages_proto_msgTypes[26] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CSVCMsg_CrosshairAngle.ProtoReflect.Descriptor instead. +func (*CSVCMsg_CrosshairAngle) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{26} +} + +func (x *CSVCMsg_CrosshairAngle) GetAngle() *CMsgQAngle { + if x != nil { + return x.Angle + } + return nil +} + +type CSVCMsg_BSPDecal struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Pos *CMsgVector `protobuf:"bytes,1,opt,name=pos" json:"pos,omitempty"` + DecalTextureIndex *int32 `protobuf:"varint,2,opt,name=decal_texture_index,json=decalTextureIndex" json:"decal_texture_index,omitempty"` + EntityIndex *int32 `protobuf:"varint,3,opt,name=entity_index,json=entityIndex,def=-1" json:"entity_index,omitempty"` + ModelIndex *int32 `protobuf:"varint,4,opt,name=model_index,json=modelIndex" json:"model_index,omitempty"` + LowPriority *bool `protobuf:"varint,5,opt,name=low_priority,json=lowPriority" json:"low_priority,omitempty"` +} + +// Default values for CSVCMsg_BSPDecal fields. +const ( + Default_CSVCMsg_BSPDecal_EntityIndex = int32(-1) +) + +func (x *CSVCMsg_BSPDecal) Reset() { + *x = CSVCMsg_BSPDecal{} + if protoimpl.UnsafeEnabled { + mi := &file_netmessages_proto_msgTypes[27] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CSVCMsg_BSPDecal) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CSVCMsg_BSPDecal) ProtoMessage() {} + +func (x *CSVCMsg_BSPDecal) ProtoReflect() protoreflect.Message { + mi := &file_netmessages_proto_msgTypes[27] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CSVCMsg_BSPDecal.ProtoReflect.Descriptor instead. +func (*CSVCMsg_BSPDecal) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{27} +} + +func (x *CSVCMsg_BSPDecal) GetPos() *CMsgVector { + if x != nil { + return x.Pos + } + return nil +} + +func (x *CSVCMsg_BSPDecal) GetDecalTextureIndex() int32 { + if x != nil && x.DecalTextureIndex != nil { + return *x.DecalTextureIndex + } + return 0 +} + +func (x *CSVCMsg_BSPDecal) GetEntityIndex() int32 { + if x != nil && x.EntityIndex != nil { + return *x.EntityIndex + } + return Default_CSVCMsg_BSPDecal_EntityIndex +} + +func (x *CSVCMsg_BSPDecal) GetModelIndex() int32 { + if x != nil && x.ModelIndex != nil { + return *x.ModelIndex + } + return 0 +} + +func (x *CSVCMsg_BSPDecal) GetLowPriority() bool { + if x != nil && x.LowPriority != nil { + return *x.LowPriority + } + return false +} + +type CSVCMsg_SplitScreen struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Type *ESplitScreenMessageType `protobuf:"varint,1,opt,name=type,enum=ESplitScreenMessageType,def=0" json:"type,omitempty"` + Slot *int32 `protobuf:"varint,2,opt,name=slot" json:"slot,omitempty"` + PlayerIndex *int32 `protobuf:"varint,3,opt,name=player_index,json=playerIndex,def=-1" json:"player_index,omitempty"` +} + +// Default values for CSVCMsg_SplitScreen fields. +const ( + Default_CSVCMsg_SplitScreen_Type = ESplitScreenMessageType_MSG_SPLITSCREEN_ADDUSER + Default_CSVCMsg_SplitScreen_PlayerIndex = int32(-1) +) + +func (x *CSVCMsg_SplitScreen) Reset() { + *x = CSVCMsg_SplitScreen{} + if protoimpl.UnsafeEnabled { + mi := &file_netmessages_proto_msgTypes[28] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CSVCMsg_SplitScreen) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CSVCMsg_SplitScreen) ProtoMessage() {} + +func (x *CSVCMsg_SplitScreen) ProtoReflect() protoreflect.Message { + mi := &file_netmessages_proto_msgTypes[28] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CSVCMsg_SplitScreen.ProtoReflect.Descriptor instead. +func (*CSVCMsg_SplitScreen) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{28} +} + +func (x *CSVCMsg_SplitScreen) GetType() ESplitScreenMessageType { + if x != nil && x.Type != nil { + return *x.Type + } + return Default_CSVCMsg_SplitScreen_Type +} + +func (x *CSVCMsg_SplitScreen) GetSlot() int32 { + if x != nil && x.Slot != nil { + return *x.Slot + } + return 0 +} + +func (x *CSVCMsg_SplitScreen) GetPlayerIndex() int32 { + if x != nil && x.PlayerIndex != nil { + return *x.PlayerIndex + } + return Default_CSVCMsg_SplitScreen_PlayerIndex +} + +type CSVCMsg_GetCvarValue struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Cookie *int32 `protobuf:"varint,1,opt,name=cookie" json:"cookie,omitempty"` + CvarName *string `protobuf:"bytes,2,opt,name=cvar_name,json=cvarName" json:"cvar_name,omitempty"` +} + +func (x *CSVCMsg_GetCvarValue) Reset() { + *x = CSVCMsg_GetCvarValue{} + if protoimpl.UnsafeEnabled { + mi := &file_netmessages_proto_msgTypes[29] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CSVCMsg_GetCvarValue) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CSVCMsg_GetCvarValue) ProtoMessage() {} + +func (x *CSVCMsg_GetCvarValue) ProtoReflect() protoreflect.Message { + mi := &file_netmessages_proto_msgTypes[29] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CSVCMsg_GetCvarValue.ProtoReflect.Descriptor instead. +func (*CSVCMsg_GetCvarValue) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{29} +} + +func (x *CSVCMsg_GetCvarValue) GetCookie() int32 { + if x != nil && x.Cookie != nil { + return *x.Cookie + } + return 0 +} + +func (x *CSVCMsg_GetCvarValue) GetCvarName() string { + if x != nil && x.CvarName != nil { + return *x.CvarName + } + return "" +} + +type CSVCMsg_Menu struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + DialogType *int32 `protobuf:"varint,1,opt,name=dialog_type,json=dialogType" json:"dialog_type,omitempty"` + MenuKeyValues []byte `protobuf:"bytes,2,opt,name=menu_key_values,json=menuKeyValues" json:"menu_key_values,omitempty"` +} + +func (x *CSVCMsg_Menu) Reset() { + *x = CSVCMsg_Menu{} + if protoimpl.UnsafeEnabled { + mi := &file_netmessages_proto_msgTypes[30] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CSVCMsg_Menu) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CSVCMsg_Menu) ProtoMessage() {} + +func (x *CSVCMsg_Menu) ProtoReflect() protoreflect.Message { + mi := &file_netmessages_proto_msgTypes[30] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return "" + return mi.MessageOf(x) } -func (x *CSVCMsg_ServerInfo) GetHostName() string { - if x != nil && x.HostName != nil { - return *x.HostName - } - return "" +// Deprecated: Use CSVCMsg_Menu.ProtoReflect.Descriptor instead. +func (*CSVCMsg_Menu) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{30} } -func (x *CSVCMsg_ServerInfo) GetPublicIp() uint32 { - if x != nil && x.PublicIp != nil { - return *x.PublicIp +func (x *CSVCMsg_Menu) GetDialogType() int32 { + if x != nil && x.DialogType != nil { + return *x.DialogType } return 0 } -func (x *CSVCMsg_ServerInfo) GetUgcMapId() uint64 { - if x != nil && x.UgcMapId != nil { - return *x.UgcMapId +func (x *CSVCMsg_Menu) GetMenuKeyValues() []byte { + if x != nil { + return x.MenuKeyValues } - return 0 + return nil } -type CSVCMsg_ClassInfo struct { +type CSVCMsg_UserMessage struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - CreateOnClient *bool `protobuf:"varint,1,opt,name=create_on_client,json=createOnClient" json:"create_on_client,omitempty"` - Classes []*CSVCMsg_ClassInfoClassT `protobuf:"bytes,2,rep,name=classes" json:"classes,omitempty"` + MsgType *int32 `protobuf:"varint,1,opt,name=msg_type,json=msgType" json:"msg_type,omitempty"` + MsgData []byte `protobuf:"bytes,2,opt,name=msg_data,json=msgData" json:"msg_data,omitempty"` + Passthrough *int32 `protobuf:"varint,3,opt,name=passthrough" json:"passthrough,omitempty"` } -func (x *CSVCMsg_ClassInfo) Reset() { - *x = CSVCMsg_ClassInfo{} +func (x *CSVCMsg_UserMessage) Reset() { + *x = CSVCMsg_UserMessage{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[25] + mi := &file_netmessages_proto_msgTypes[31] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CSVCMsg_ClassInfo) String() string { +func (x *CSVCMsg_UserMessage) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CSVCMsg_ClassInfo) ProtoMessage() {} +func (*CSVCMsg_UserMessage) ProtoMessage() {} -func (x *CSVCMsg_ClassInfo) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[25] +func (x *CSVCMsg_UserMessage) ProtoReflect() protoreflect.Message { + mi := &file_netmessages_proto_msgTypes[31] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2249,25 +2796,32 @@ func (x *CSVCMsg_ClassInfo) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CSVCMsg_ClassInfo.ProtoReflect.Descriptor instead. -func (*CSVCMsg_ClassInfo) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{25} +// Deprecated: Use CSVCMsg_UserMessage.ProtoReflect.Descriptor instead. +func (*CSVCMsg_UserMessage) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{31} } -func (x *CSVCMsg_ClassInfo) GetCreateOnClient() bool { - if x != nil && x.CreateOnClient != nil { - return *x.CreateOnClient +func (x *CSVCMsg_UserMessage) GetMsgType() int32 { + if x != nil && x.MsgType != nil { + return *x.MsgType } - return false + return 0 } -func (x *CSVCMsg_ClassInfo) GetClasses() []*CSVCMsg_ClassInfoClassT { +func (x *CSVCMsg_UserMessage) GetMsgData() []byte { if x != nil { - return x.Classes + return x.MsgData } return nil } +func (x *CSVCMsg_UserMessage) GetPassthrough() int32 { + if x != nil && x.Passthrough != nil { + return *x.Passthrough + } + return 0 +} + type CSVCMsg_SendTable struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -2282,7 +2836,7 @@ type CSVCMsg_SendTable struct { func (x *CSVCMsg_SendTable) Reset() { *x = CSVCMsg_SendTable{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[26] + mi := &file_netmessages_proto_msgTypes[32] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2295,7 +2849,7 @@ func (x *CSVCMsg_SendTable) String() string { func (*CSVCMsg_SendTable) ProtoMessage() {} func (x *CSVCMsg_SendTable) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[26] + mi := &file_netmessages_proto_msgTypes[32] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2308,7 +2862,7 @@ func (x *CSVCMsg_SendTable) ProtoReflect() protoreflect.Message { // Deprecated: Use CSVCMsg_SendTable.ProtoReflect.Descriptor instead. func (*CSVCMsg_SendTable) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{26} + return file_netmessages_proto_rawDescGZIP(), []int{32} } func (x *CSVCMsg_SendTable) GetIsEnd() bool { @@ -2339,31 +2893,31 @@ func (x *CSVCMsg_SendTable) GetProps() []*CSVCMsg_SendTableSendpropT { return nil } -type CSVCMsg_Print struct { +type CSVCMsg_GameEventList struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Text *string `protobuf:"bytes,1,opt,name=text" json:"text,omitempty"` + Descriptors []*CSVCMsg_GameEventListDescriptorT `protobuf:"bytes,1,rep,name=descriptors" json:"descriptors,omitempty"` } -func (x *CSVCMsg_Print) Reset() { - *x = CSVCMsg_Print{} +func (x *CSVCMsg_GameEventList) Reset() { + *x = CSVCMsg_GameEventList{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[27] + mi := &file_netmessages_proto_msgTypes[33] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CSVCMsg_Print) String() string { +func (x *CSVCMsg_GameEventList) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CSVCMsg_Print) ProtoMessage() {} +func (*CSVCMsg_GameEventList) ProtoMessage() {} -func (x *CSVCMsg_Print) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[27] +func (x *CSVCMsg_GameEventList) ProtoReflect() protoreflect.Message { + mi := &file_netmessages_proto_msgTypes[33] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2374,43 +2928,57 @@ func (x *CSVCMsg_Print) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CSVCMsg_Print.ProtoReflect.Descriptor instead. -func (*CSVCMsg_Print) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{27} +// Deprecated: Use CSVCMsg_GameEventList.ProtoReflect.Descriptor instead. +func (*CSVCMsg_GameEventList) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{33} } -func (x *CSVCMsg_Print) GetText() string { - if x != nil && x.Text != nil { - return *x.Text +func (x *CSVCMsg_GameEventList) GetDescriptors() []*CSVCMsg_GameEventListDescriptorT { + if x != nil { + return x.Descriptors } - return "" + return nil } -type CSVCMsg_SetPause struct { +type CSVCMsg_PacketEntities struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Paused *bool `protobuf:"varint,1,opt,name=paused" json:"paused,omitempty"` + MaxEntries *int32 `protobuf:"varint,1,opt,name=max_entries,json=maxEntries" json:"max_entries,omitempty"` + UpdatedEntries *int32 `protobuf:"varint,2,opt,name=updated_entries,json=updatedEntries" json:"updated_entries,omitempty"` + IsDelta *bool `protobuf:"varint,3,opt,name=is_delta,json=isDelta" json:"is_delta,omitempty"` + UpdateBaseline *bool `protobuf:"varint,4,opt,name=update_baseline,json=updateBaseline" json:"update_baseline,omitempty"` + Baseline *int32 `protobuf:"varint,5,opt,name=baseline" json:"baseline,omitempty"` + DeltaFrom *int32 `protobuf:"varint,6,opt,name=delta_from,json=deltaFrom" json:"delta_from,omitempty"` + EntityData []byte `protobuf:"bytes,7,opt,name=entity_data,json=entityData" json:"entity_data,omitempty"` + PendingFullFrame *bool `protobuf:"varint,8,opt,name=pending_full_frame,json=pendingFullFrame" json:"pending_full_frame,omitempty"` + ActiveSpawngroupHandle *uint32 `protobuf:"varint,9,opt,name=active_spawngroup_handle,json=activeSpawngroupHandle" json:"active_spawngroup_handle,omitempty"` + MaxSpawngroupCreationsequence *uint32 `protobuf:"varint,10,opt,name=max_spawngroup_creationsequence,json=maxSpawngroupCreationsequence" json:"max_spawngroup_creationsequence,omitempty"` + LastCmdNumber *uint32 `protobuf:"varint,11,opt,name=last_cmd_number,json=lastCmdNumber" json:"last_cmd_number,omitempty"` + ServerTick *uint32 `protobuf:"varint,12,opt,name=server_tick,json=serverTick" json:"server_tick,omitempty"` + SerializedEntities []byte `protobuf:"bytes,13,opt,name=serialized_entities,json=serializedEntities" json:"serialized_entities,omitempty"` + CommandQueueInfo *CSVCMsg_PacketEntitiesCommandQueueInfoT `protobuf:"bytes,14,opt,name=command_queue_info,json=commandQueueInfo" json:"command_queue_info,omitempty"` + AlternateBaselines []*CSVCMsg_PacketEntitiesAlternateBaselineT `protobuf:"bytes,15,rep,name=alternate_baselines,json=alternateBaselines" json:"alternate_baselines,omitempty"` } -func (x *CSVCMsg_SetPause) Reset() { - *x = CSVCMsg_SetPause{} +func (x *CSVCMsg_PacketEntities) Reset() { + *x = CSVCMsg_PacketEntities{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[28] + mi := &file_netmessages_proto_msgTypes[34] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CSVCMsg_SetPause) String() string { +func (x *CSVCMsg_PacketEntities) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CSVCMsg_SetPause) ProtoMessage() {} +func (*CSVCMsg_PacketEntities) ProtoMessage() {} -func (x *CSVCMsg_SetPause) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[28] +func (x *CSVCMsg_PacketEntities) ProtoReflect() protoreflect.Message { + mi := &file_netmessages_proto_msgTypes[34] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2421,43 +2989,143 @@ func (x *CSVCMsg_SetPause) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CSVCMsg_SetPause.ProtoReflect.Descriptor instead. -func (*CSVCMsg_SetPause) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{28} +// Deprecated: Use CSVCMsg_PacketEntities.ProtoReflect.Descriptor instead. +func (*CSVCMsg_PacketEntities) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{34} } -func (x *CSVCMsg_SetPause) GetPaused() bool { - if x != nil && x.Paused != nil { - return *x.Paused +func (x *CSVCMsg_PacketEntities) GetMaxEntries() int32 { + if x != nil && x.MaxEntries != nil { + return *x.MaxEntries + } + return 0 +} + +func (x *CSVCMsg_PacketEntities) GetUpdatedEntries() int32 { + if x != nil && x.UpdatedEntries != nil { + return *x.UpdatedEntries + } + return 0 +} + +func (x *CSVCMsg_PacketEntities) GetIsDelta() bool { + if x != nil && x.IsDelta != nil { + return *x.IsDelta } return false } -type CSVCMsg_SetView struct { +func (x *CSVCMsg_PacketEntities) GetUpdateBaseline() bool { + if x != nil && x.UpdateBaseline != nil { + return *x.UpdateBaseline + } + return false +} + +func (x *CSVCMsg_PacketEntities) GetBaseline() int32 { + if x != nil && x.Baseline != nil { + return *x.Baseline + } + return 0 +} + +func (x *CSVCMsg_PacketEntities) GetDeltaFrom() int32 { + if x != nil && x.DeltaFrom != nil { + return *x.DeltaFrom + } + return 0 +} + +func (x *CSVCMsg_PacketEntities) GetEntityData() []byte { + if x != nil { + return x.EntityData + } + return nil +} + +func (x *CSVCMsg_PacketEntities) GetPendingFullFrame() bool { + if x != nil && x.PendingFullFrame != nil { + return *x.PendingFullFrame + } + return false +} + +func (x *CSVCMsg_PacketEntities) GetActiveSpawngroupHandle() uint32 { + if x != nil && x.ActiveSpawngroupHandle != nil { + return *x.ActiveSpawngroupHandle + } + return 0 +} + +func (x *CSVCMsg_PacketEntities) GetMaxSpawngroupCreationsequence() uint32 { + if x != nil && x.MaxSpawngroupCreationsequence != nil { + return *x.MaxSpawngroupCreationsequence + } + return 0 +} + +func (x *CSVCMsg_PacketEntities) GetLastCmdNumber() uint32 { + if x != nil && x.LastCmdNumber != nil { + return *x.LastCmdNumber + } + return 0 +} + +func (x *CSVCMsg_PacketEntities) GetServerTick() uint32 { + if x != nil && x.ServerTick != nil { + return *x.ServerTick + } + return 0 +} + +func (x *CSVCMsg_PacketEntities) GetSerializedEntities() []byte { + if x != nil { + return x.SerializedEntities + } + return nil +} + +func (x *CSVCMsg_PacketEntities) GetCommandQueueInfo() *CSVCMsg_PacketEntitiesCommandQueueInfoT { + if x != nil { + return x.CommandQueueInfo + } + return nil +} + +func (x *CSVCMsg_PacketEntities) GetAlternateBaselines() []*CSVCMsg_PacketEntitiesAlternateBaselineT { + if x != nil { + return x.AlternateBaselines + } + return nil +} + +type CSVCMsg_TempEntities struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - EntityIndex *int32 `protobuf:"varint,1,opt,name=entity_index,json=entityIndex" json:"entity_index,omitempty"` + Reliable *bool `protobuf:"varint,1,opt,name=reliable" json:"reliable,omitempty"` + NumEntries *int32 `protobuf:"varint,2,opt,name=num_entries,json=numEntries" json:"num_entries,omitempty"` + EntityData []byte `protobuf:"bytes,3,opt,name=entity_data,json=entityData" json:"entity_data,omitempty"` } -func (x *CSVCMsg_SetView) Reset() { - *x = CSVCMsg_SetView{} +func (x *CSVCMsg_TempEntities) Reset() { + *x = CSVCMsg_TempEntities{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[29] + mi := &file_netmessages_proto_msgTypes[35] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CSVCMsg_SetView) String() string { +func (x *CSVCMsg_TempEntities) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CSVCMsg_SetView) ProtoMessage() {} +func (*CSVCMsg_TempEntities) ProtoMessage() {} -func (x *CSVCMsg_SetView) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[29] +func (x *CSVCMsg_TempEntities) ProtoReflect() protoreflect.Message { + mi := &file_netmessages_proto_msgTypes[35] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2468,37 +3136,52 @@ func (x *CSVCMsg_SetView) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CSVCMsg_SetView.ProtoReflect.Descriptor instead. -func (*CSVCMsg_SetView) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{29} +// Deprecated: Use CSVCMsg_TempEntities.ProtoReflect.Descriptor instead. +func (*CSVCMsg_TempEntities) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{35} } -func (x *CSVCMsg_SetView) GetEntityIndex() int32 { - if x != nil && x.EntityIndex != nil { - return *x.EntityIndex +func (x *CSVCMsg_TempEntities) GetReliable() bool { + if x != nil && x.Reliable != nil { + return *x.Reliable + } + return false +} + +func (x *CSVCMsg_TempEntities) GetNumEntries() int32 { + if x != nil && x.NumEntries != nil { + return *x.NumEntries } return 0 } +func (x *CSVCMsg_TempEntities) GetEntityData() []byte { + if x != nil { + return x.EntityData + } + return nil +} + type CSVCMsg_CreateStringTable struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"` - MaxEntries *int32 `protobuf:"varint,2,opt,name=max_entries,json=maxEntries" json:"max_entries,omitempty"` - NumEntries *int32 `protobuf:"varint,3,opt,name=num_entries,json=numEntries" json:"num_entries,omitempty"` - UserDataFixedSize *bool `protobuf:"varint,4,opt,name=user_data_fixed_size,json=userDataFixedSize" json:"user_data_fixed_size,omitempty"` - UserDataSize *int32 `protobuf:"varint,5,opt,name=user_data_size,json=userDataSize" json:"user_data_size,omitempty"` - UserDataSizeBits *int32 `protobuf:"varint,6,opt,name=user_data_size_bits,json=userDataSizeBits" json:"user_data_size_bits,omitempty"` - Flags *int32 `protobuf:"varint,7,opt,name=flags" json:"flags,omitempty"` - StringData []byte `protobuf:"bytes,8,opt,name=string_data,json=stringData" json:"string_data,omitempty"` + NumEntries *int32 `protobuf:"varint,2,opt,name=num_entries,json=numEntries" json:"num_entries,omitempty"` + UserDataFixedSize *bool `protobuf:"varint,3,opt,name=user_data_fixed_size,json=userDataFixedSize" json:"user_data_fixed_size,omitempty"` + UserDataSize *int32 `protobuf:"varint,4,opt,name=user_data_size,json=userDataSize" json:"user_data_size,omitempty"` + UserDataSizeBits *int32 `protobuf:"varint,5,opt,name=user_data_size_bits,json=userDataSizeBits" json:"user_data_size_bits,omitempty"` + Flags *int32 `protobuf:"varint,6,opt,name=flags" json:"flags,omitempty"` + StringData []byte `protobuf:"bytes,7,opt,name=string_data,json=stringData" json:"string_data,omitempty"` + UncompressedSize *int32 `protobuf:"varint,8,opt,name=uncompressed_size,json=uncompressedSize" json:"uncompressed_size,omitempty"` + DataCompressed *bool `protobuf:"varint,9,opt,name=data_compressed,json=dataCompressed" json:"data_compressed,omitempty"` } func (x *CSVCMsg_CreateStringTable) Reset() { *x = CSVCMsg_CreateStringTable{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[30] + mi := &file_netmessages_proto_msgTypes[36] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2511,7 +3194,7 @@ func (x *CSVCMsg_CreateStringTable) String() string { func (*CSVCMsg_CreateStringTable) ProtoMessage() {} func (x *CSVCMsg_CreateStringTable) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[30] + mi := &file_netmessages_proto_msgTypes[36] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2524,7 +3207,7 @@ func (x *CSVCMsg_CreateStringTable) ProtoReflect() protoreflect.Message { // Deprecated: Use CSVCMsg_CreateStringTable.ProtoReflect.Descriptor instead. func (*CSVCMsg_CreateStringTable) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{30} + return file_netmessages_proto_rawDescGZIP(), []int{36} } func (x *CSVCMsg_CreateStringTable) GetName() string { @@ -2534,13 +3217,6 @@ func (x *CSVCMsg_CreateStringTable) GetName() string { return "" } -func (x *CSVCMsg_CreateStringTable) GetMaxEntries() int32 { - if x != nil && x.MaxEntries != nil { - return *x.MaxEntries - } - return 0 -} - func (x *CSVCMsg_CreateStringTable) GetNumEntries() int32 { if x != nil && x.NumEntries != nil { return *x.NumEntries @@ -2583,6 +3259,20 @@ func (x *CSVCMsg_CreateStringTable) GetStringData() []byte { return nil } +func (x *CSVCMsg_CreateStringTable) GetUncompressedSize() int32 { + if x != nil && x.UncompressedSize != nil { + return *x.UncompressedSize + } + return 0 +} + +func (x *CSVCMsg_CreateStringTable) GetDataCompressed() bool { + if x != nil && x.DataCompressed != nil { + return *x.DataCompressed + } + return false +} + type CSVCMsg_UpdateStringTable struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -2596,7 +3286,7 @@ type CSVCMsg_UpdateStringTable struct { func (x *CSVCMsg_UpdateStringTable) Reset() { *x = CSVCMsg_UpdateStringTable{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[31] + mi := &file_netmessages_proto_msgTypes[37] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2609,7 +3299,7 @@ func (x *CSVCMsg_UpdateStringTable) String() string { func (*CSVCMsg_UpdateStringTable) ProtoMessage() {} func (x *CSVCMsg_UpdateStringTable) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[31] + mi := &file_netmessages_proto_msgTypes[37] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2622,7 +3312,7 @@ func (x *CSVCMsg_UpdateStringTable) ProtoReflect() protoreflect.Message { // Deprecated: Use CSVCMsg_UpdateStringTable.ProtoReflect.Descriptor instead. func (*CSVCMsg_UpdateStringTable) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{31} + return file_netmessages_proto_rawDescGZIP(), []int{37} } func (x *CSVCMsg_UpdateStringTable) GetTableId() int32 { @@ -2646,38 +3336,41 @@ func (x *CSVCMsg_UpdateStringTable) GetStringData() []byte { return nil } -type CSVCMsg_VoiceInit struct { +type CSVCMsg_VoiceData struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Quality *int32 `protobuf:"varint,1,opt,name=quality" json:"quality,omitempty"` - Codec *string `protobuf:"bytes,2,opt,name=codec" json:"codec,omitempty"` - Version *int32 `protobuf:"varint,3,opt,name=version,def=0" json:"version,omitempty"` + Audio *CMsgVoiceAudio `protobuf:"bytes,1,opt,name=audio" json:"audio,omitempty"` + Client *int32 `protobuf:"varint,2,opt,name=client,def=-1" json:"client,omitempty"` + Proximity *bool `protobuf:"varint,3,opt,name=proximity" json:"proximity,omitempty"` + Xuid *uint64 `protobuf:"fixed64,4,opt,name=xuid" json:"xuid,omitempty"` + AudibleMask *int32 `protobuf:"varint,5,opt,name=audible_mask,json=audibleMask" json:"audible_mask,omitempty"` + Tick *uint32 `protobuf:"varint,6,opt,name=tick" json:"tick,omitempty"` } -// Default values for CSVCMsg_VoiceInit fields. +// Default values for CSVCMsg_VoiceData fields. const ( - Default_CSVCMsg_VoiceInit_Version = int32(0) + Default_CSVCMsg_VoiceData_Client = int32(-1) ) -func (x *CSVCMsg_VoiceInit) Reset() { - *x = CSVCMsg_VoiceInit{} +func (x *CSVCMsg_VoiceData) Reset() { + *x = CSVCMsg_VoiceData{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[32] + mi := &file_netmessages_proto_msgTypes[38] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CSVCMsg_VoiceInit) String() string { +func (x *CSVCMsg_VoiceData) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CSVCMsg_VoiceInit) ProtoMessage() {} +func (*CSVCMsg_VoiceData) ProtoMessage() {} -func (x *CSVCMsg_VoiceInit) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[32] +func (x *CSVCMsg_VoiceData) ProtoReflect() protoreflect.Message { + mi := &file_netmessages_proto_msgTypes[38] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2688,71 +3381,80 @@ func (x *CSVCMsg_VoiceInit) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CSVCMsg_VoiceInit.ProtoReflect.Descriptor instead. -func (*CSVCMsg_VoiceInit) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{32} +// Deprecated: Use CSVCMsg_VoiceData.ProtoReflect.Descriptor instead. +func (*CSVCMsg_VoiceData) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{38} } -func (x *CSVCMsg_VoiceInit) GetQuality() int32 { - if x != nil && x.Quality != nil { - return *x.Quality +func (x *CSVCMsg_VoiceData) GetAudio() *CMsgVoiceAudio { + if x != nil { + return x.Audio + } + return nil +} + +func (x *CSVCMsg_VoiceData) GetClient() int32 { + if x != nil && x.Client != nil { + return *x.Client + } + return Default_CSVCMsg_VoiceData_Client +} + +func (x *CSVCMsg_VoiceData) GetProximity() bool { + if x != nil && x.Proximity != nil { + return *x.Proximity + } + return false +} + +func (x *CSVCMsg_VoiceData) GetXuid() uint64 { + if x != nil && x.Xuid != nil { + return *x.Xuid } return 0 } -func (x *CSVCMsg_VoiceInit) GetCodec() string { - if x != nil && x.Codec != nil { - return *x.Codec +func (x *CSVCMsg_VoiceData) GetAudibleMask() int32 { + if x != nil && x.AudibleMask != nil { + return *x.AudibleMask } - return "" + return 0 } -func (x *CSVCMsg_VoiceInit) GetVersion() int32 { - if x != nil && x.Version != nil { - return *x.Version +func (x *CSVCMsg_VoiceData) GetTick() uint32 { + if x != nil && x.Tick != nil { + return *x.Tick } - return Default_CSVCMsg_VoiceInit_Version + return 0 } -type CSVCMsg_VoiceData struct { +type CSVCMsg_PacketReliable struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Client *int32 `protobuf:"varint,1,opt,name=client" json:"client,omitempty"` - Proximity *bool `protobuf:"varint,2,opt,name=proximity" json:"proximity,omitempty"` - Xuid *uint64 `protobuf:"fixed64,3,opt,name=xuid" json:"xuid,omitempty"` - AudibleMask *int32 `protobuf:"varint,4,opt,name=audible_mask,json=audibleMask" json:"audible_mask,omitempty"` - VoiceData []byte `protobuf:"bytes,5,opt,name=voice_data,json=voiceData" json:"voice_data,omitempty"` - Caster *bool `protobuf:"varint,6,opt,name=caster" json:"caster,omitempty"` - Format *VoiceDataFormatT `protobuf:"varint,7,opt,name=format,enum=VoiceDataFormatT,def=1" json:"format,omitempty"` - SequenceBytes *int32 `protobuf:"varint,8,opt,name=sequence_bytes,json=sequenceBytes" json:"sequence_bytes,omitempty"` - SectionNumber *uint32 `protobuf:"varint,9,opt,name=section_number,json=sectionNumber" json:"section_number,omitempty"` - UncompressedSampleOffset *uint32 `protobuf:"varint,10,opt,name=uncompressed_sample_offset,json=uncompressedSampleOffset" json:"uncompressed_sample_offset,omitempty"` + Tick *int32 `protobuf:"varint,1,opt,name=tick" json:"tick,omitempty"` + Messagessize *int32 `protobuf:"varint,2,opt,name=messagessize" json:"messagessize,omitempty"` + State *bool `protobuf:"varint,3,opt,name=state" json:"state,omitempty"` } -// Default values for CSVCMsg_VoiceData fields. -const ( - Default_CSVCMsg_VoiceData_Format = VoiceDataFormatT_VOICEDATA_FORMAT_ENGINE -) - -func (x *CSVCMsg_VoiceData) Reset() { - *x = CSVCMsg_VoiceData{} +func (x *CSVCMsg_PacketReliable) Reset() { + *x = CSVCMsg_PacketReliable{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[33] + mi := &file_netmessages_proto_msgTypes[39] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CSVCMsg_VoiceData) String() string { +func (x *CSVCMsg_PacketReliable) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CSVCMsg_VoiceData) ProtoMessage() {} +func (*CSVCMsg_PacketReliable) ProtoMessage() {} -func (x *CSVCMsg_VoiceData) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[33] +func (x *CSVCMsg_PacketReliable) ProtoReflect() protoreflect.Message { + mi := &file_netmessages_proto_msgTypes[39] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2763,107 +3465,199 @@ func (x *CSVCMsg_VoiceData) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CSVCMsg_VoiceData.ProtoReflect.Descriptor instead. -func (*CSVCMsg_VoiceData) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{33} +// Deprecated: Use CSVCMsg_PacketReliable.ProtoReflect.Descriptor instead. +func (*CSVCMsg_PacketReliable) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{39} } -func (x *CSVCMsg_VoiceData) GetClient() int32 { - if x != nil && x.Client != nil { - return *x.Client +func (x *CSVCMsg_PacketReliable) GetTick() int32 { + if x != nil && x.Tick != nil { + return *x.Tick } return 0 } -func (x *CSVCMsg_VoiceData) GetProximity() bool { - if x != nil && x.Proximity != nil { - return *x.Proximity +func (x *CSVCMsg_PacketReliable) GetMessagessize() int32 { + if x != nil && x.Messagessize != nil { + return *x.Messagessize + } + return 0 +} + +func (x *CSVCMsg_PacketReliable) GetState() bool { + if x != nil && x.State != nil { + return *x.State } return false } -func (x *CSVCMsg_VoiceData) GetXuid() uint64 { - if x != nil && x.Xuid != nil { - return *x.Xuid +type CSVCMsg_FullFrameSplit struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Tick *int32 `protobuf:"varint,1,opt,name=tick" json:"tick,omitempty"` + Section *int32 `protobuf:"varint,2,opt,name=section" json:"section,omitempty"` + Total *int32 `protobuf:"varint,3,opt,name=total" json:"total,omitempty"` + Data []byte `protobuf:"bytes,4,opt,name=data" json:"data,omitempty"` +} + +func (x *CSVCMsg_FullFrameSplit) Reset() { + *x = CSVCMsg_FullFrameSplit{} + if protoimpl.UnsafeEnabled { + mi := &file_netmessages_proto_msgTypes[40] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CSVCMsg_FullFrameSplit) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CSVCMsg_FullFrameSplit) ProtoMessage() {} + +func (x *CSVCMsg_FullFrameSplit) ProtoReflect() protoreflect.Message { + mi := &file_netmessages_proto_msgTypes[40] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CSVCMsg_FullFrameSplit.ProtoReflect.Descriptor instead. +func (*CSVCMsg_FullFrameSplit) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{40} +} + +func (x *CSVCMsg_FullFrameSplit) GetTick() int32 { + if x != nil && x.Tick != nil { + return *x.Tick } return 0 } -func (x *CSVCMsg_VoiceData) GetAudibleMask() int32 { - if x != nil && x.AudibleMask != nil { - return *x.AudibleMask +func (x *CSVCMsg_FullFrameSplit) GetSection() int32 { + if x != nil && x.Section != nil { + return *x.Section + } + return 0 +} + +func (x *CSVCMsg_FullFrameSplit) GetTotal() int32 { + if x != nil && x.Total != nil { + return *x.Total } return 0 } -func (x *CSVCMsg_VoiceData) GetVoiceData() []byte { +func (x *CSVCMsg_FullFrameSplit) GetData() []byte { if x != nil { - return x.VoiceData + return x.Data } return nil } -func (x *CSVCMsg_VoiceData) GetCaster() bool { - if x != nil && x.Caster != nil { - return *x.Caster +type CSVCMsg_HLTVStatus struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Master *string `protobuf:"bytes,1,opt,name=master" json:"master,omitempty"` + Clients *int32 `protobuf:"varint,2,opt,name=clients" json:"clients,omitempty"` + Slots *int32 `protobuf:"varint,3,opt,name=slots" json:"slots,omitempty"` + Proxies *int32 `protobuf:"varint,4,opt,name=proxies" json:"proxies,omitempty"` +} + +func (x *CSVCMsg_HLTVStatus) Reset() { + *x = CSVCMsg_HLTVStatus{} + if protoimpl.UnsafeEnabled { + mi := &file_netmessages_proto_msgTypes[41] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return false } -func (x *CSVCMsg_VoiceData) GetFormat() VoiceDataFormatT { - if x != nil && x.Format != nil { - return *x.Format +func (x *CSVCMsg_HLTVStatus) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CSVCMsg_HLTVStatus) ProtoMessage() {} + +func (x *CSVCMsg_HLTVStatus) ProtoReflect() protoreflect.Message { + mi := &file_netmessages_proto_msgTypes[41] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return Default_CSVCMsg_VoiceData_Format + return mi.MessageOf(x) } -func (x *CSVCMsg_VoiceData) GetSequenceBytes() int32 { - if x != nil && x.SequenceBytes != nil { - return *x.SequenceBytes +// Deprecated: Use CSVCMsg_HLTVStatus.ProtoReflect.Descriptor instead. +func (*CSVCMsg_HLTVStatus) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{41} +} + +func (x *CSVCMsg_HLTVStatus) GetMaster() string { + if x != nil && x.Master != nil { + return *x.Master + } + return "" +} + +func (x *CSVCMsg_HLTVStatus) GetClients() int32 { + if x != nil && x.Clients != nil { + return *x.Clients } return 0 } -func (x *CSVCMsg_VoiceData) GetSectionNumber() uint32 { - if x != nil && x.SectionNumber != nil { - return *x.SectionNumber +func (x *CSVCMsg_HLTVStatus) GetSlots() int32 { + if x != nil && x.Slots != nil { + return *x.Slots } return 0 } -func (x *CSVCMsg_VoiceData) GetUncompressedSampleOffset() uint32 { - if x != nil && x.UncompressedSampleOffset != nil { - return *x.UncompressedSampleOffset +func (x *CSVCMsg_HLTVStatus) GetProxies() int32 { + if x != nil && x.Proxies != nil { + return *x.Proxies } return 0 } -type CSVCMsg_FixAngle struct { +type CSVCMsg_ServerSteamID struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Relative *bool `protobuf:"varint,1,opt,name=relative" json:"relative,omitempty"` - Angle *CMsgQAngle `protobuf:"bytes,2,opt,name=angle" json:"angle,omitempty"` + SteamId *uint64 `protobuf:"varint,1,opt,name=steam_id,json=steamId" json:"steam_id,omitempty"` } -func (x *CSVCMsg_FixAngle) Reset() { - *x = CSVCMsg_FixAngle{} +func (x *CSVCMsg_ServerSteamID) Reset() { + *x = CSVCMsg_ServerSteamID{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[34] + mi := &file_netmessages_proto_msgTypes[42] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CSVCMsg_FixAngle) String() string { +func (x *CSVCMsg_ServerSteamID) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CSVCMsg_FixAngle) ProtoMessage() {} +func (*CSVCMsg_ServerSteamID) ProtoMessage() {} -func (x *CSVCMsg_FixAngle) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[34] +func (x *CSVCMsg_ServerSteamID) ProtoReflect() protoreflect.Message { + mi := &file_netmessages_proto_msgTypes[42] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2874,50 +3668,91 @@ func (x *CSVCMsg_FixAngle) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CSVCMsg_FixAngle.ProtoReflect.Descriptor instead. -func (*CSVCMsg_FixAngle) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{34} +// Deprecated: Use CSVCMsg_ServerSteamID.ProtoReflect.Descriptor instead. +func (*CSVCMsg_ServerSteamID) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{42} } -func (x *CSVCMsg_FixAngle) GetRelative() bool { - if x != nil && x.Relative != nil { - return *x.Relative +func (x *CSVCMsg_ServerSteamID) GetSteamId() uint64 { + if x != nil && x.SteamId != nil { + return *x.SteamId + } + return 0 +} + +type CSVCMsg_CmdKeyValues struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Data []byte `protobuf:"bytes,1,opt,name=data" json:"data,omitempty"` +} + +func (x *CSVCMsg_CmdKeyValues) Reset() { + *x = CSVCMsg_CmdKeyValues{} + if protoimpl.UnsafeEnabled { + mi := &file_netmessages_proto_msgTypes[43] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CSVCMsg_CmdKeyValues) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CSVCMsg_CmdKeyValues) ProtoMessage() {} + +func (x *CSVCMsg_CmdKeyValues) ProtoReflect() protoreflect.Message { + mi := &file_netmessages_proto_msgTypes[43] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return false + return mi.MessageOf(x) } -func (x *CSVCMsg_FixAngle) GetAngle() *CMsgQAngle { +// Deprecated: Use CSVCMsg_CmdKeyValues.ProtoReflect.Descriptor instead. +func (*CSVCMsg_CmdKeyValues) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{43} +} + +func (x *CSVCMsg_CmdKeyValues) GetData() []byte { if x != nil { - return x.Angle + return x.Data } return nil } -type CSVCMsg_CrosshairAngle struct { +type CSVCMsg_RconServerDetails struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Angle *CMsgQAngle `protobuf:"bytes,1,opt,name=angle" json:"angle,omitempty"` + Token []byte `protobuf:"bytes,1,opt,name=token" json:"token,omitempty"` + Details *string `protobuf:"bytes,2,opt,name=details" json:"details,omitempty"` } -func (x *CSVCMsg_CrosshairAngle) Reset() { - *x = CSVCMsg_CrosshairAngle{} +func (x *CSVCMsg_RconServerDetails) Reset() { + *x = CSVCMsg_RconServerDetails{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[35] + mi := &file_netmessages_proto_msgTypes[44] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CSVCMsg_CrosshairAngle) String() string { +func (x *CSVCMsg_RconServerDetails) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CSVCMsg_CrosshairAngle) ProtoMessage() {} +func (*CSVCMsg_RconServerDetails) ProtoMessage() {} -func (x *CSVCMsg_CrosshairAngle) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[35] +func (x *CSVCMsg_RconServerDetails) ProtoReflect() protoreflect.Message { + mi := &file_netmessages_proto_msgTypes[44] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2928,43 +3763,51 @@ func (x *CSVCMsg_CrosshairAngle) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CSVCMsg_CrosshairAngle.ProtoReflect.Descriptor instead. -func (*CSVCMsg_CrosshairAngle) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{35} +// Deprecated: Use CSVCMsg_RconServerDetails.ProtoReflect.Descriptor instead. +func (*CSVCMsg_RconServerDetails) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{44} } -func (x *CSVCMsg_CrosshairAngle) GetAngle() *CMsgQAngle { +func (x *CSVCMsg_RconServerDetails) GetToken() []byte { if x != nil { - return x.Angle + return x.Token } return nil } -type CSVCMsg_Prefetch struct { +func (x *CSVCMsg_RconServerDetails) GetDetails() string { + if x != nil && x.Details != nil { + return *x.Details + } + return "" +} + +type CMsgIPCAddress struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - SoundIndex *int32 `protobuf:"varint,1,opt,name=sound_index,json=soundIndex" json:"sound_index,omitempty"` + ComputerGuid *uint64 `protobuf:"fixed64,1,opt,name=computer_guid,json=computerGuid" json:"computer_guid,omitempty"` + ProcessId *uint32 `protobuf:"varint,2,opt,name=process_id,json=processId" json:"process_id,omitempty"` } -func (x *CSVCMsg_Prefetch) Reset() { - *x = CSVCMsg_Prefetch{} +func (x *CMsgIPCAddress) Reset() { + *x = CMsgIPCAddress{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[36] + mi := &file_netmessages_proto_msgTypes[45] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CSVCMsg_Prefetch) String() string { +func (x *CMsgIPCAddress) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CSVCMsg_Prefetch) ProtoMessage() {} +func (*CMsgIPCAddress) ProtoMessage() {} -func (x *CSVCMsg_Prefetch) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[36] +func (x *CMsgIPCAddress) ProtoReflect() protoreflect.Message { + mi := &file_netmessages_proto_msgTypes[45] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2975,47 +3818,60 @@ func (x *CSVCMsg_Prefetch) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CSVCMsg_Prefetch.ProtoReflect.Descriptor instead. -func (*CSVCMsg_Prefetch) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{36} +// Deprecated: Use CMsgIPCAddress.ProtoReflect.Descriptor instead. +func (*CMsgIPCAddress) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{45} } -func (x *CSVCMsg_Prefetch) GetSoundIndex() int32 { - if x != nil && x.SoundIndex != nil { - return *x.SoundIndex +func (x *CMsgIPCAddress) GetComputerGuid() uint64 { + if x != nil && x.ComputerGuid != nil { + return *x.ComputerGuid } return 0 } -type CSVCMsg_BSPDecal struct { +func (x *CMsgIPCAddress) GetProcessId() uint32 { + if x != nil && x.ProcessId != nil { + return *x.ProcessId + } + return 0 +} + +type CMsgServerPeer struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Pos *CMsgVector `protobuf:"bytes,1,opt,name=pos" json:"pos,omitempty"` - DecalTextureIndex *int32 `protobuf:"varint,2,opt,name=decal_texture_index,json=decalTextureIndex" json:"decal_texture_index,omitempty"` - EntityIndex *int32 `protobuf:"varint,3,opt,name=entity_index,json=entityIndex" json:"entity_index,omitempty"` - ModelIndex *int32 `protobuf:"varint,4,opt,name=model_index,json=modelIndex" json:"model_index,omitempty"` - LowPriority *bool `protobuf:"varint,5,opt,name=low_priority,json=lowPriority" json:"low_priority,omitempty"` + PlayerSlot *int32 `protobuf:"varint,1,opt,name=player_slot,json=playerSlot,def=-1" json:"player_slot,omitempty"` + Steamid *uint64 `protobuf:"fixed64,2,opt,name=steamid" json:"steamid,omitempty"` + Ipc *CMsgIPCAddress `protobuf:"bytes,3,opt,name=ipc" json:"ipc,omitempty"` + TheyHearYou *bool `protobuf:"varint,4,opt,name=they_hear_you,json=theyHearYou" json:"they_hear_you,omitempty"` + YouHearThem *bool `protobuf:"varint,5,opt,name=you_hear_them,json=youHearThem" json:"you_hear_them,omitempty"` + IsListenserverHost *bool `protobuf:"varint,6,opt,name=is_listenserver_host,json=isListenserverHost" json:"is_listenserver_host,omitempty"` } -func (x *CSVCMsg_BSPDecal) Reset() { - *x = CSVCMsg_BSPDecal{} +// Default values for CMsgServerPeer fields. +const ( + Default_CMsgServerPeer_PlayerSlot = int32(-1) +) + +func (x *CMsgServerPeer) Reset() { + *x = CMsgServerPeer{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[37] + mi := &file_netmessages_proto_msgTypes[46] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CSVCMsg_BSPDecal) String() string { +func (x *CMsgServerPeer) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CSVCMsg_BSPDecal) ProtoMessage() {} +func (*CMsgServerPeer) ProtoMessage() {} -func (x *CSVCMsg_BSPDecal) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[37] +func (x *CMsgServerPeer) ProtoReflect() protoreflect.Message { + mi := &file_netmessages_proto_msgTypes[46] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3026,78 +3882,78 @@ func (x *CSVCMsg_BSPDecal) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CSVCMsg_BSPDecal.ProtoReflect.Descriptor instead. -func (*CSVCMsg_BSPDecal) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{37} +// Deprecated: Use CMsgServerPeer.ProtoReflect.Descriptor instead. +func (*CMsgServerPeer) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{46} } -func (x *CSVCMsg_BSPDecal) GetPos() *CMsgVector { - if x != nil { - return x.Pos +func (x *CMsgServerPeer) GetPlayerSlot() int32 { + if x != nil && x.PlayerSlot != nil { + return *x.PlayerSlot } - return nil + return Default_CMsgServerPeer_PlayerSlot } -func (x *CSVCMsg_BSPDecal) GetDecalTextureIndex() int32 { - if x != nil && x.DecalTextureIndex != nil { - return *x.DecalTextureIndex +func (x *CMsgServerPeer) GetSteamid() uint64 { + if x != nil && x.Steamid != nil { + return *x.Steamid } return 0 } -func (x *CSVCMsg_BSPDecal) GetEntityIndex() int32 { - if x != nil && x.EntityIndex != nil { - return *x.EntityIndex +func (x *CMsgServerPeer) GetIpc() *CMsgIPCAddress { + if x != nil { + return x.Ipc } - return 0 + return nil } -func (x *CSVCMsg_BSPDecal) GetModelIndex() int32 { - if x != nil && x.ModelIndex != nil { - return *x.ModelIndex +func (x *CMsgServerPeer) GetTheyHearYou() bool { + if x != nil && x.TheyHearYou != nil { + return *x.TheyHearYou } - return 0 + return false } -func (x *CSVCMsg_BSPDecal) GetLowPriority() bool { - if x != nil && x.LowPriority != nil { - return *x.LowPriority +func (x *CMsgServerPeer) GetYouHearThem() bool { + if x != nil && x.YouHearThem != nil { + return *x.YouHearThem } return false } -type CSVCMsg_SplitScreen struct { +func (x *CMsgServerPeer) GetIsListenserverHost() bool { + if x != nil && x.IsListenserverHost != nil { + return *x.IsListenserverHost + } + return false +} + +type CSVCMsg_PeerList struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Type *ESplitScreenMessageType `protobuf:"varint,1,opt,name=type,enum=ESplitScreenMessageType,def=0" json:"type,omitempty"` - Slot *int32 `protobuf:"varint,2,opt,name=slot" json:"slot,omitempty"` - PlayerIndex *int32 `protobuf:"varint,3,opt,name=player_index,json=playerIndex" json:"player_index,omitempty"` + Peer []*CMsgServerPeer `protobuf:"bytes,1,rep,name=peer" json:"peer,omitempty"` } -// Default values for CSVCMsg_SplitScreen fields. -const ( - Default_CSVCMsg_SplitScreen_Type = ESplitScreenMessageType_MSG_SPLITSCREEN_ADDUSER -) - -func (x *CSVCMsg_SplitScreen) Reset() { - *x = CSVCMsg_SplitScreen{} +func (x *CSVCMsg_PeerList) Reset() { + *x = CSVCMsg_PeerList{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[38] + mi := &file_netmessages_proto_msgTypes[47] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CSVCMsg_SplitScreen) String() string { +func (x *CSVCMsg_PeerList) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CSVCMsg_SplitScreen) ProtoMessage() {} +func (*CSVCMsg_PeerList) ProtoMessage() {} -func (x *CSVCMsg_SplitScreen) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[38] +func (x *CSVCMsg_PeerList) ProtoReflect() protoreflect.Message { + mi := &file_netmessages_proto_msgTypes[47] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3108,58 +3964,43 @@ func (x *CSVCMsg_SplitScreen) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CSVCMsg_SplitScreen.ProtoReflect.Descriptor instead. -func (*CSVCMsg_SplitScreen) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{38} -} - -func (x *CSVCMsg_SplitScreen) GetType() ESplitScreenMessageType { - if x != nil && x.Type != nil { - return *x.Type - } - return Default_CSVCMsg_SplitScreen_Type -} - -func (x *CSVCMsg_SplitScreen) GetSlot() int32 { - if x != nil && x.Slot != nil { - return *x.Slot - } - return 0 +// Deprecated: Use CSVCMsg_PeerList.ProtoReflect.Descriptor instead. +func (*CSVCMsg_PeerList) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{47} } -func (x *CSVCMsg_SplitScreen) GetPlayerIndex() int32 { - if x != nil && x.PlayerIndex != nil { - return *x.PlayerIndex +func (x *CSVCMsg_PeerList) GetPeer() []*CMsgServerPeer { + if x != nil { + return x.Peer } - return 0 + return nil } -type CSVCMsg_GetCvarValue struct { +type CSVCMsg_ClearAllStringTables struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Cookie *int32 `protobuf:"varint,1,opt,name=cookie" json:"cookie,omitempty"` - CvarName *string `protobuf:"bytes,2,opt,name=cvar_name,json=cvarName" json:"cvar_name,omitempty"` + Mapname *string `protobuf:"bytes,1,opt,name=mapname" json:"mapname,omitempty"` } -func (x *CSVCMsg_GetCvarValue) Reset() { - *x = CSVCMsg_GetCvarValue{} +func (x *CSVCMsg_ClearAllStringTables) Reset() { + *x = CSVCMsg_ClearAllStringTables{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[39] + mi := &file_netmessages_proto_msgTypes[48] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CSVCMsg_GetCvarValue) String() string { +func (x *CSVCMsg_ClearAllStringTables) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CSVCMsg_GetCvarValue) ProtoMessage() {} +func (*CSVCMsg_ClearAllStringTables) ProtoMessage() {} -func (x *CSVCMsg_GetCvarValue) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[39] +func (x *CSVCMsg_ClearAllStringTables) ProtoReflect() protoreflect.Message { + mi := &file_netmessages_proto_msgTypes[48] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3170,51 +4011,52 @@ func (x *CSVCMsg_GetCvarValue) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CSVCMsg_GetCvarValue.ProtoReflect.Descriptor instead. -func (*CSVCMsg_GetCvarValue) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{39} -} - -func (x *CSVCMsg_GetCvarValue) GetCookie() int32 { - if x != nil && x.Cookie != nil { - return *x.Cookie - } - return 0 +// Deprecated: Use CSVCMsg_ClearAllStringTables.ProtoReflect.Descriptor instead. +func (*CSVCMsg_ClearAllStringTables) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{48} } -func (x *CSVCMsg_GetCvarValue) GetCvarName() string { - if x != nil && x.CvarName != nil { - return *x.CvarName +func (x *CSVCMsg_ClearAllStringTables) GetMapname() string { + if x != nil && x.Mapname != nil { + return *x.Mapname } return "" } -type CSVCMsg_Menu struct { +type ProtoFlattenedSerializerFieldT struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - DialogType *int32 `protobuf:"varint,1,opt,name=dialog_type,json=dialogType" json:"dialog_type,omitempty"` - MenuKeyValues []byte `protobuf:"bytes,2,opt,name=menu_key_values,json=menuKeyValues" json:"menu_key_values,omitempty"` + VarTypeSym *int32 `protobuf:"varint,1,opt,name=var_type_sym,json=varTypeSym" json:"var_type_sym,omitempty"` + VarNameSym *int32 `protobuf:"varint,2,opt,name=var_name_sym,json=varNameSym" json:"var_name_sym,omitempty"` + BitCount *int32 `protobuf:"varint,3,opt,name=bit_count,json=bitCount" json:"bit_count,omitempty"` + LowValue *float32 `protobuf:"fixed32,4,opt,name=low_value,json=lowValue" json:"low_value,omitempty"` + HighValue *float32 `protobuf:"fixed32,5,opt,name=high_value,json=highValue" json:"high_value,omitempty"` + EncodeFlags *int32 `protobuf:"varint,6,opt,name=encode_flags,json=encodeFlags" json:"encode_flags,omitempty"` + FieldSerializerNameSym *int32 `protobuf:"varint,7,opt,name=field_serializer_name_sym,json=fieldSerializerNameSym" json:"field_serializer_name_sym,omitempty"` + FieldSerializerVersion *int32 `protobuf:"varint,8,opt,name=field_serializer_version,json=fieldSerializerVersion" json:"field_serializer_version,omitempty"` + SendNodeSym *int32 `protobuf:"varint,9,opt,name=send_node_sym,json=sendNodeSym" json:"send_node_sym,omitempty"` + VarEncoderSym *int32 `protobuf:"varint,10,opt,name=var_encoder_sym,json=varEncoderSym" json:"var_encoder_sym,omitempty"` } -func (x *CSVCMsg_Menu) Reset() { - *x = CSVCMsg_Menu{} +func (x *ProtoFlattenedSerializerFieldT) Reset() { + *x = ProtoFlattenedSerializerFieldT{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[40] + mi := &file_netmessages_proto_msgTypes[49] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CSVCMsg_Menu) String() string { +func (x *ProtoFlattenedSerializerFieldT) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CSVCMsg_Menu) ProtoMessage() {} +func (*ProtoFlattenedSerializerFieldT) ProtoMessage() {} -func (x *CSVCMsg_Menu) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[40] +func (x *ProtoFlattenedSerializerFieldT) ProtoReflect() protoreflect.Message { + mi := &file_netmessages_proto_msgTypes[49] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3225,113 +4067,108 @@ func (x *CSVCMsg_Menu) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CSVCMsg_Menu.ProtoReflect.Descriptor instead. -func (*CSVCMsg_Menu) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{40} +// Deprecated: Use ProtoFlattenedSerializerFieldT.ProtoReflect.Descriptor instead. +func (*ProtoFlattenedSerializerFieldT) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{49} } -func (x *CSVCMsg_Menu) GetDialogType() int32 { - if x != nil && x.DialogType != nil { - return *x.DialogType +func (x *ProtoFlattenedSerializerFieldT) GetVarTypeSym() int32 { + if x != nil && x.VarTypeSym != nil { + return *x.VarTypeSym } return 0 } -func (x *CSVCMsg_Menu) GetMenuKeyValues() []byte { - if x != nil { - return x.MenuKeyValues +func (x *ProtoFlattenedSerializerFieldT) GetVarNameSym() int32 { + if x != nil && x.VarNameSym != nil { + return *x.VarNameSym } - return nil + return 0 } -type CSVCMsg_UserMessage struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - MsgType *int32 `protobuf:"varint,1,opt,name=msg_type,json=msgType" json:"msg_type,omitempty"` - MsgData []byte `protobuf:"bytes,2,opt,name=msg_data,json=msgData" json:"msg_data,omitempty"` - Passthrough *int32 `protobuf:"varint,3,opt,name=passthrough" json:"passthrough,omitempty"` +func (x *ProtoFlattenedSerializerFieldT) GetBitCount() int32 { + if x != nil && x.BitCount != nil { + return *x.BitCount + } + return 0 } -func (x *CSVCMsg_UserMessage) Reset() { - *x = CSVCMsg_UserMessage{} - if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[41] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *ProtoFlattenedSerializerFieldT) GetLowValue() float32 { + if x != nil && x.LowValue != nil { + return *x.LowValue } + return 0 } -func (x *CSVCMsg_UserMessage) String() string { - return protoimpl.X.MessageStringOf(x) +func (x *ProtoFlattenedSerializerFieldT) GetHighValue() float32 { + if x != nil && x.HighValue != nil { + return *x.HighValue + } + return 0 } -func (*CSVCMsg_UserMessage) ProtoMessage() {} - -func (x *CSVCMsg_UserMessage) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[41] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms +func (x *ProtoFlattenedSerializerFieldT) GetEncodeFlags() int32 { + if x != nil && x.EncodeFlags != nil { + return *x.EncodeFlags } - return mi.MessageOf(x) + return 0 } -// Deprecated: Use CSVCMsg_UserMessage.ProtoReflect.Descriptor instead. -func (*CSVCMsg_UserMessage) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{41} +func (x *ProtoFlattenedSerializerFieldT) GetFieldSerializerNameSym() int32 { + if x != nil && x.FieldSerializerNameSym != nil { + return *x.FieldSerializerNameSym + } + return 0 } -func (x *CSVCMsg_UserMessage) GetMsgType() int32 { - if x != nil && x.MsgType != nil { - return *x.MsgType +func (x *ProtoFlattenedSerializerFieldT) GetFieldSerializerVersion() int32 { + if x != nil && x.FieldSerializerVersion != nil { + return *x.FieldSerializerVersion } return 0 } -func (x *CSVCMsg_UserMessage) GetMsgData() []byte { - if x != nil { - return x.MsgData +func (x *ProtoFlattenedSerializerFieldT) GetSendNodeSym() int32 { + if x != nil && x.SendNodeSym != nil { + return *x.SendNodeSym } - return nil + return 0 } -func (x *CSVCMsg_UserMessage) GetPassthrough() int32 { - if x != nil && x.Passthrough != nil { - return *x.Passthrough +func (x *ProtoFlattenedSerializerFieldT) GetVarEncoderSym() int32 { + if x != nil && x.VarEncoderSym != nil { + return *x.VarEncoderSym } return 0 } -type CSVCMsg_PaintmapData struct { +type ProtoFlattenedSerializerT struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Paintmap []byte `protobuf:"bytes,1,opt,name=paintmap" json:"paintmap,omitempty"` + SerializerNameSym *int32 `protobuf:"varint,1,opt,name=serializer_name_sym,json=serializerNameSym" json:"serializer_name_sym,omitempty"` + SerializerVersion *int32 `protobuf:"varint,2,opt,name=serializer_version,json=serializerVersion" json:"serializer_version,omitempty"` + FieldsIndex []int32 `protobuf:"varint,3,rep,name=fields_index,json=fieldsIndex" json:"fields_index,omitempty"` } -func (x *CSVCMsg_PaintmapData) Reset() { - *x = CSVCMsg_PaintmapData{} +func (x *ProtoFlattenedSerializerT) Reset() { + *x = ProtoFlattenedSerializerT{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[42] + mi := &file_netmessages_proto_msgTypes[50] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CSVCMsg_PaintmapData) String() string { +func (x *ProtoFlattenedSerializerT) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CSVCMsg_PaintmapData) ProtoMessage() {} +func (*ProtoFlattenedSerializerT) ProtoMessage() {} -func (x *CSVCMsg_PaintmapData) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[42] +func (x *ProtoFlattenedSerializerT) ProtoReflect() protoreflect.Message { + mi := &file_netmessages_proto_msgTypes[50] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3342,46 +4179,59 @@ func (x *CSVCMsg_PaintmapData) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CSVCMsg_PaintmapData.ProtoReflect.Descriptor instead. -func (*CSVCMsg_PaintmapData) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{42} +// Deprecated: Use ProtoFlattenedSerializerT.ProtoReflect.Descriptor instead. +func (*ProtoFlattenedSerializerT) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{50} +} + +func (x *ProtoFlattenedSerializerT) GetSerializerNameSym() int32 { + if x != nil && x.SerializerNameSym != nil { + return *x.SerializerNameSym + } + return 0 +} + +func (x *ProtoFlattenedSerializerT) GetSerializerVersion() int32 { + if x != nil && x.SerializerVersion != nil { + return *x.SerializerVersion + } + return 0 } -func (x *CSVCMsg_PaintmapData) GetPaintmap() []byte { +func (x *ProtoFlattenedSerializerT) GetFieldsIndex() []int32 { if x != nil { - return x.Paintmap + return x.FieldsIndex } return nil } -type CSVCMsg_GameEvent struct { +type CSVCMsg_FlattenedSerializer struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - EventName *string `protobuf:"bytes,1,opt,name=event_name,json=eventName" json:"event_name,omitempty"` - Eventid *int32 `protobuf:"varint,2,opt,name=eventid" json:"eventid,omitempty"` - Keys []*CSVCMsg_GameEventKeyT `protobuf:"bytes,3,rep,name=keys" json:"keys,omitempty"` - Passthrough *int32 `protobuf:"varint,4,opt,name=passthrough" json:"passthrough,omitempty"` + Serializers []*ProtoFlattenedSerializerT `protobuf:"bytes,1,rep,name=serializers" json:"serializers,omitempty"` + Symbols []string `protobuf:"bytes,2,rep,name=symbols" json:"symbols,omitempty"` + Fields []*ProtoFlattenedSerializerFieldT `protobuf:"bytes,3,rep,name=fields" json:"fields,omitempty"` } -func (x *CSVCMsg_GameEvent) Reset() { - *x = CSVCMsg_GameEvent{} +func (x *CSVCMsg_FlattenedSerializer) Reset() { + *x = CSVCMsg_FlattenedSerializer{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[43] + mi := &file_netmessages_proto_msgTypes[51] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CSVCMsg_GameEvent) String() string { +func (x *CSVCMsg_FlattenedSerializer) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CSVCMsg_GameEvent) ProtoMessage() {} +func (*CSVCMsg_FlattenedSerializer) ProtoMessage() {} -func (x *CSVCMsg_GameEvent) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[43] +func (x *CSVCMsg_FlattenedSerializer) ProtoReflect() protoreflect.Message { + mi := &file_netmessages_proto_msgTypes[51] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3392,64 +4242,57 @@ func (x *CSVCMsg_GameEvent) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CSVCMsg_GameEvent.ProtoReflect.Descriptor instead. -func (*CSVCMsg_GameEvent) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{43} -} - -func (x *CSVCMsg_GameEvent) GetEventName() string { - if x != nil && x.EventName != nil { - return *x.EventName - } - return "" +// Deprecated: Use CSVCMsg_FlattenedSerializer.ProtoReflect.Descriptor instead. +func (*CSVCMsg_FlattenedSerializer) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{51} } -func (x *CSVCMsg_GameEvent) GetEventid() int32 { - if x != nil && x.Eventid != nil { - return *x.Eventid +func (x *CSVCMsg_FlattenedSerializer) GetSerializers() []*ProtoFlattenedSerializerT { + if x != nil { + return x.Serializers } - return 0 + return nil } -func (x *CSVCMsg_GameEvent) GetKeys() []*CSVCMsg_GameEventKeyT { +func (x *CSVCMsg_FlattenedSerializer) GetSymbols() []string { if x != nil { - return x.Keys + return x.Symbols } return nil } -func (x *CSVCMsg_GameEvent) GetPassthrough() int32 { - if x != nil && x.Passthrough != nil { - return *x.Passthrough +func (x *CSVCMsg_FlattenedSerializer) GetFields() []*ProtoFlattenedSerializerFieldT { + if x != nil { + return x.Fields } - return 0 + return nil } -type CSVCMsg_GameEventList struct { +type CSVCMsg_StopSound struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Descriptors []*CSVCMsg_GameEventListDescriptorT `protobuf:"bytes,1,rep,name=descriptors" json:"descriptors,omitempty"` + Guid *uint32 `protobuf:"fixed32,1,opt,name=guid" json:"guid,omitempty"` } -func (x *CSVCMsg_GameEventList) Reset() { - *x = CSVCMsg_GameEventList{} +func (x *CSVCMsg_StopSound) Reset() { + *x = CSVCMsg_StopSound{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[44] + mi := &file_netmessages_proto_msgTypes[52] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CSVCMsg_GameEventList) String() string { +func (x *CSVCMsg_StopSound) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CSVCMsg_GameEventList) ProtoMessage() {} +func (*CSVCMsg_StopSound) ProtoMessage() {} -func (x *CSVCMsg_GameEventList) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[44] +func (x *CSVCMsg_StopSound) ProtoReflect() protoreflect.Message { + mi := &file_netmessages_proto_msgTypes[52] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3460,45 +4303,46 @@ func (x *CSVCMsg_GameEventList) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CSVCMsg_GameEventList.ProtoReflect.Descriptor instead. -func (*CSVCMsg_GameEventList) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{44} +// Deprecated: Use CSVCMsg_StopSound.ProtoReflect.Descriptor instead. +func (*CSVCMsg_StopSound) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{52} } -func (x *CSVCMsg_GameEventList) GetDescriptors() []*CSVCMsg_GameEventListDescriptorT { - if x != nil { - return x.Descriptors +func (x *CSVCMsg_StopSound) GetGuid() uint32 { + if x != nil && x.Guid != nil { + return *x.Guid } - return nil + return 0 } -type CSVCMsg_TempEntities struct { +type CBidirMsg_RebroadcastGameEvent struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Reliable *bool `protobuf:"varint,1,opt,name=reliable" json:"reliable,omitempty"` - NumEntries *int32 `protobuf:"varint,2,opt,name=num_entries,json=numEntries" json:"num_entries,omitempty"` - EntityData []byte `protobuf:"bytes,3,opt,name=entity_data,json=entityData" json:"entity_data,omitempty"` + Posttoserver *bool `protobuf:"varint,1,opt,name=posttoserver" json:"posttoserver,omitempty"` + Buftype *int32 `protobuf:"varint,2,opt,name=buftype" json:"buftype,omitempty"` + Clientbitcount *uint32 `protobuf:"varint,3,opt,name=clientbitcount" json:"clientbitcount,omitempty"` + Receivingclients *uint64 `protobuf:"varint,4,opt,name=receivingclients" json:"receivingclients,omitempty"` } -func (x *CSVCMsg_TempEntities) Reset() { - *x = CSVCMsg_TempEntities{} +func (x *CBidirMsg_RebroadcastGameEvent) Reset() { + *x = CBidirMsg_RebroadcastGameEvent{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[45] + mi := &file_netmessages_proto_msgTypes[53] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CSVCMsg_TempEntities) String() string { +func (x *CBidirMsg_RebroadcastGameEvent) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CSVCMsg_TempEntities) ProtoMessage() {} +func (*CBidirMsg_RebroadcastGameEvent) ProtoMessage() {} -func (x *CSVCMsg_TempEntities) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[45] +func (x *CBidirMsg_RebroadcastGameEvent) ProtoReflect() protoreflect.Message { + mi := &file_netmessages_proto_msgTypes[53] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3509,63 +4353,64 @@ func (x *CSVCMsg_TempEntities) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CSVCMsg_TempEntities.ProtoReflect.Descriptor instead. -func (*CSVCMsg_TempEntities) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{45} +// Deprecated: Use CBidirMsg_RebroadcastGameEvent.ProtoReflect.Descriptor instead. +func (*CBidirMsg_RebroadcastGameEvent) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{53} } -func (x *CSVCMsg_TempEntities) GetReliable() bool { - if x != nil && x.Reliable != nil { - return *x.Reliable +func (x *CBidirMsg_RebroadcastGameEvent) GetPosttoserver() bool { + if x != nil && x.Posttoserver != nil { + return *x.Posttoserver } return false } -func (x *CSVCMsg_TempEntities) GetNumEntries() int32 { - if x != nil && x.NumEntries != nil { - return *x.NumEntries +func (x *CBidirMsg_RebroadcastGameEvent) GetBuftype() int32 { + if x != nil && x.Buftype != nil { + return *x.Buftype } return 0 } -func (x *CSVCMsg_TempEntities) GetEntityData() []byte { - if x != nil { - return x.EntityData +func (x *CBidirMsg_RebroadcastGameEvent) GetClientbitcount() uint32 { + if x != nil && x.Clientbitcount != nil { + return *x.Clientbitcount } - return nil + return 0 } -type CSVCMsg_PacketEntities struct { +func (x *CBidirMsg_RebroadcastGameEvent) GetReceivingclients() uint64 { + if x != nil && x.Receivingclients != nil { + return *x.Receivingclients + } + return 0 +} + +type CBidirMsg_RebroadcastSource struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - MaxEntries *int32 `protobuf:"varint,1,opt,name=max_entries,json=maxEntries" json:"max_entries,omitempty"` - UpdatedEntries *int32 `protobuf:"varint,2,opt,name=updated_entries,json=updatedEntries" json:"updated_entries,omitempty"` - IsDelta *bool `protobuf:"varint,3,opt,name=is_delta,json=isDelta" json:"is_delta,omitempty"` - UpdateBaseline *bool `protobuf:"varint,4,opt,name=update_baseline,json=updateBaseline" json:"update_baseline,omitempty"` - Baseline *int32 `protobuf:"varint,5,opt,name=baseline" json:"baseline,omitempty"` - DeltaFrom *int32 `protobuf:"varint,6,opt,name=delta_from,json=deltaFrom" json:"delta_from,omitempty"` - EntityData []byte `protobuf:"bytes,7,opt,name=entity_data,json=entityData" json:"entity_data,omitempty"` + Eventsource *int32 `protobuf:"varint,1,opt,name=eventsource" json:"eventsource,omitempty"` } -func (x *CSVCMsg_PacketEntities) Reset() { - *x = CSVCMsg_PacketEntities{} +func (x *CBidirMsg_RebroadcastSource) Reset() { + *x = CBidirMsg_RebroadcastSource{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[46] + mi := &file_netmessages_proto_msgTypes[54] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CSVCMsg_PacketEntities) String() string { +func (x *CBidirMsg_RebroadcastSource) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CSVCMsg_PacketEntities) ProtoMessage() {} +func (*CBidirMsg_RebroadcastSource) ProtoMessage() {} -func (x *CSVCMsg_PacketEntities) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[46] +func (x *CBidirMsg_RebroadcastSource) ProtoReflect() protoreflect.Message { + mi := &file_netmessages_proto_msgTypes[54] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3576,86 +4421,67 @@ func (x *CSVCMsg_PacketEntities) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CSVCMsg_PacketEntities.ProtoReflect.Descriptor instead. -func (*CSVCMsg_PacketEntities) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{46} -} - -func (x *CSVCMsg_PacketEntities) GetMaxEntries() int32 { - if x != nil && x.MaxEntries != nil { - return *x.MaxEntries - } - return 0 -} - -func (x *CSVCMsg_PacketEntities) GetUpdatedEntries() int32 { - if x != nil && x.UpdatedEntries != nil { - return *x.UpdatedEntries - } - return 0 -} - -func (x *CSVCMsg_PacketEntities) GetIsDelta() bool { - if x != nil && x.IsDelta != nil { - return *x.IsDelta - } - return false -} - -func (x *CSVCMsg_PacketEntities) GetUpdateBaseline() bool { - if x != nil && x.UpdateBaseline != nil { - return *x.UpdateBaseline - } - return false -} - -func (x *CSVCMsg_PacketEntities) GetBaseline() int32 { - if x != nil && x.Baseline != nil { - return *x.Baseline - } - return 0 +// Deprecated: Use CBidirMsg_RebroadcastSource.ProtoReflect.Descriptor instead. +func (*CBidirMsg_RebroadcastSource) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{54} } -func (x *CSVCMsg_PacketEntities) GetDeltaFrom() int32 { - if x != nil && x.DeltaFrom != nil { - return *x.DeltaFrom +func (x *CBidirMsg_RebroadcastSource) GetEventsource() int32 { + if x != nil && x.Eventsource != nil { + return *x.Eventsource } return 0 } -func (x *CSVCMsg_PacketEntities) GetEntityData() []byte { - if x != nil { - return x.EntityData - } - return nil -} - -type CSVCMsg_Sounds struct { +type CMsgServerNetworkStats struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - ReliableSound *bool `protobuf:"varint,1,opt,name=reliable_sound,json=reliableSound" json:"reliable_sound,omitempty"` - Sounds []*CSVCMsg_SoundsSounddataT `protobuf:"bytes,2,rep,name=sounds" json:"sounds,omitempty"` -} - -func (x *CSVCMsg_Sounds) Reset() { - *x = CSVCMsg_Sounds{} + Dedicated *bool `protobuf:"varint,1,opt,name=dedicated" json:"dedicated,omitempty"` + CpuUsage *int32 `protobuf:"varint,2,opt,name=cpu_usage,json=cpuUsage" json:"cpu_usage,omitempty"` + MemoryUsedMb *int32 `protobuf:"varint,3,opt,name=memory_used_mb,json=memoryUsedMb" json:"memory_used_mb,omitempty"` + MemoryFreeMb *int32 `protobuf:"varint,4,opt,name=memory_free_mb,json=memoryFreeMb" json:"memory_free_mb,omitempty"` + Uptime *int32 `protobuf:"varint,5,opt,name=uptime" json:"uptime,omitempty"` + SpawnCount *int32 `protobuf:"varint,6,opt,name=spawn_count,json=spawnCount" json:"spawn_count,omitempty"` + NumClients *int32 `protobuf:"varint,8,opt,name=num_clients,json=numClients" json:"num_clients,omitempty"` + NumBots *int32 `protobuf:"varint,9,opt,name=num_bots,json=numBots" json:"num_bots,omitempty"` + NumSpectators *int32 `protobuf:"varint,10,opt,name=num_spectators,json=numSpectators" json:"num_spectators,omitempty"` + NumTvRelays *int32 `protobuf:"varint,11,opt,name=num_tv_relays,json=numTvRelays" json:"num_tv_relays,omitempty"` + Fps *float32 `protobuf:"fixed32,12,opt,name=fps" json:"fps,omitempty"` + Ports []*CMsgServerNetworkStats_Port `protobuf:"bytes,17,rep,name=ports" json:"ports,omitempty"` + AvgLatencyOut *float32 `protobuf:"fixed32,18,opt,name=avg_latency_out,json=avgLatencyOut" json:"avg_latency_out,omitempty"` + AvgLatencyIn *float32 `protobuf:"fixed32,19,opt,name=avg_latency_in,json=avgLatencyIn" json:"avg_latency_in,omitempty"` + AvgPacketsOut *float32 `protobuf:"fixed32,20,opt,name=avg_packets_out,json=avgPacketsOut" json:"avg_packets_out,omitempty"` + AvgPacketsIn *float32 `protobuf:"fixed32,21,opt,name=avg_packets_in,json=avgPacketsIn" json:"avg_packets_in,omitempty"` + AvgLossOut *float32 `protobuf:"fixed32,22,opt,name=avg_loss_out,json=avgLossOut" json:"avg_loss_out,omitempty"` + AvgLossIn *float32 `protobuf:"fixed32,23,opt,name=avg_loss_in,json=avgLossIn" json:"avg_loss_in,omitempty"` + AvgDataOut *float32 `protobuf:"fixed32,24,opt,name=avg_data_out,json=avgDataOut" json:"avg_data_out,omitempty"` + AvgDataIn *float32 `protobuf:"fixed32,25,opt,name=avg_data_in,json=avgDataIn" json:"avg_data_in,omitempty"` + TotalDataIn *uint64 `protobuf:"varint,26,opt,name=total_data_in,json=totalDataIn" json:"total_data_in,omitempty"` + TotalPacketsIn *uint64 `protobuf:"varint,27,opt,name=total_packets_in,json=totalPacketsIn" json:"total_packets_in,omitempty"` + TotalDataOut *uint64 `protobuf:"varint,28,opt,name=total_data_out,json=totalDataOut" json:"total_data_out,omitempty"` + TotalPacketsOut *uint64 `protobuf:"varint,29,opt,name=total_packets_out,json=totalPacketsOut" json:"total_packets_out,omitempty"` + Players []*CMsgServerNetworkStats_Player `protobuf:"bytes,30,rep,name=players" json:"players,omitempty"` +} + +func (x *CMsgServerNetworkStats) Reset() { + *x = CMsgServerNetworkStats{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[47] + mi := &file_netmessages_proto_msgTypes[55] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CSVCMsg_Sounds) String() string { +func (x *CMsgServerNetworkStats) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CSVCMsg_Sounds) ProtoMessage() {} +func (*CMsgServerNetworkStats) ProtoMessage() {} -func (x *CSVCMsg_Sounds) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[47] +func (x *CMsgServerNetworkStats) ProtoReflect() protoreflect.Message { + mi := &file_netmessages_proto_msgTypes[55] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3666,208 +4492,210 @@ func (x *CSVCMsg_Sounds) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CSVCMsg_Sounds.ProtoReflect.Descriptor instead. -func (*CSVCMsg_Sounds) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{47} +// Deprecated: Use CMsgServerNetworkStats.ProtoReflect.Descriptor instead. +func (*CMsgServerNetworkStats) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{55} } -func (x *CSVCMsg_Sounds) GetReliableSound() bool { - if x != nil && x.ReliableSound != nil { - return *x.ReliableSound +func (x *CMsgServerNetworkStats) GetDedicated() bool { + if x != nil && x.Dedicated != nil { + return *x.Dedicated } return false } -func (x *CSVCMsg_Sounds) GetSounds() []*CSVCMsg_SoundsSounddataT { - if x != nil { - return x.Sounds +func (x *CMsgServerNetworkStats) GetCpuUsage() int32 { + if x != nil && x.CpuUsage != nil { + return *x.CpuUsage } - return nil + return 0 } -type CSVCMsg_EntityMsg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields +func (x *CMsgServerNetworkStats) GetMemoryUsedMb() int32 { + if x != nil && x.MemoryUsedMb != nil { + return *x.MemoryUsedMb + } + return 0 +} - EntIndex *int32 `protobuf:"varint,1,opt,name=ent_index,json=entIndex" json:"ent_index,omitempty"` - ClassId *int32 `protobuf:"varint,2,opt,name=class_id,json=classId" json:"class_id,omitempty"` - EntData []byte `protobuf:"bytes,3,opt,name=ent_data,json=entData" json:"ent_data,omitempty"` +func (x *CMsgServerNetworkStats) GetMemoryFreeMb() int32 { + if x != nil && x.MemoryFreeMb != nil { + return *x.MemoryFreeMb + } + return 0 } -func (x *CSVCMsg_EntityMsg) Reset() { - *x = CSVCMsg_EntityMsg{} - if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[48] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *CMsgServerNetworkStats) GetUptime() int32 { + if x != nil && x.Uptime != nil { + return *x.Uptime } + return 0 } -func (x *CSVCMsg_EntityMsg) String() string { - return protoimpl.X.MessageStringOf(x) +func (x *CMsgServerNetworkStats) GetSpawnCount() int32 { + if x != nil && x.SpawnCount != nil { + return *x.SpawnCount + } + return 0 } -func (*CSVCMsg_EntityMsg) ProtoMessage() {} +func (x *CMsgServerNetworkStats) GetNumClients() int32 { + if x != nil && x.NumClients != nil { + return *x.NumClients + } + return 0 +} -func (x *CSVCMsg_EntityMsg) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[48] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms +func (x *CMsgServerNetworkStats) GetNumBots() int32 { + if x != nil && x.NumBots != nil { + return *x.NumBots } - return mi.MessageOf(x) + return 0 } -// Deprecated: Use CSVCMsg_EntityMsg.ProtoReflect.Descriptor instead. -func (*CSVCMsg_EntityMsg) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{48} +func (x *CMsgServerNetworkStats) GetNumSpectators() int32 { + if x != nil && x.NumSpectators != nil { + return *x.NumSpectators + } + return 0 } -func (x *CSVCMsg_EntityMsg) GetEntIndex() int32 { - if x != nil && x.EntIndex != nil { - return *x.EntIndex +func (x *CMsgServerNetworkStats) GetNumTvRelays() int32 { + if x != nil && x.NumTvRelays != nil { + return *x.NumTvRelays } return 0 } -func (x *CSVCMsg_EntityMsg) GetClassId() int32 { - if x != nil && x.ClassId != nil { - return *x.ClassId +func (x *CMsgServerNetworkStats) GetFps() float32 { + if x != nil && x.Fps != nil { + return *x.Fps } return 0 } -func (x *CSVCMsg_EntityMsg) GetEntData() []byte { +func (x *CMsgServerNetworkStats) GetPorts() []*CMsgServerNetworkStats_Port { if x != nil { - return x.EntData + return x.Ports } return nil } -type CSVCMsg_CmdKeyValues struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Keyvalues []byte `protobuf:"bytes,1,opt,name=keyvalues" json:"keyvalues,omitempty"` +func (x *CMsgServerNetworkStats) GetAvgLatencyOut() float32 { + if x != nil && x.AvgLatencyOut != nil { + return *x.AvgLatencyOut + } + return 0 } -func (x *CSVCMsg_CmdKeyValues) Reset() { - *x = CSVCMsg_CmdKeyValues{} - if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[49] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *CMsgServerNetworkStats) GetAvgLatencyIn() float32 { + if x != nil && x.AvgLatencyIn != nil { + return *x.AvgLatencyIn } + return 0 } -func (x *CSVCMsg_CmdKeyValues) String() string { - return protoimpl.X.MessageStringOf(x) +func (x *CMsgServerNetworkStats) GetAvgPacketsOut() float32 { + if x != nil && x.AvgPacketsOut != nil { + return *x.AvgPacketsOut + } + return 0 } -func (*CSVCMsg_CmdKeyValues) ProtoMessage() {} - -func (x *CSVCMsg_CmdKeyValues) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[49] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms +func (x *CMsgServerNetworkStats) GetAvgPacketsIn() float32 { + if x != nil && x.AvgPacketsIn != nil { + return *x.AvgPacketsIn } - return mi.MessageOf(x) + return 0 } -// Deprecated: Use CSVCMsg_CmdKeyValues.ProtoReflect.Descriptor instead. -func (*CSVCMsg_CmdKeyValues) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{49} +func (x *CMsgServerNetworkStats) GetAvgLossOut() float32 { + if x != nil && x.AvgLossOut != nil { + return *x.AvgLossOut + } + return 0 } -func (x *CSVCMsg_CmdKeyValues) GetKeyvalues() []byte { - if x != nil { - return x.Keyvalues +func (x *CMsgServerNetworkStats) GetAvgLossIn() float32 { + if x != nil && x.AvgLossIn != nil { + return *x.AvgLossIn } - return nil + return 0 } -type CSVCMsg_EncryptedData struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Encrypted []byte `protobuf:"bytes,1,opt,name=encrypted" json:"encrypted,omitempty"` - KeyType *int32 `protobuf:"varint,2,opt,name=key_type,json=keyType" json:"key_type,omitempty"` +func (x *CMsgServerNetworkStats) GetAvgDataOut() float32 { + if x != nil && x.AvgDataOut != nil { + return *x.AvgDataOut + } + return 0 } -func (x *CSVCMsg_EncryptedData) Reset() { - *x = CSVCMsg_EncryptedData{} - if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[50] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *CMsgServerNetworkStats) GetAvgDataIn() float32 { + if x != nil && x.AvgDataIn != nil { + return *x.AvgDataIn } + return 0 } -func (x *CSVCMsg_EncryptedData) String() string { - return protoimpl.X.MessageStringOf(x) +func (x *CMsgServerNetworkStats) GetTotalDataIn() uint64 { + if x != nil && x.TotalDataIn != nil { + return *x.TotalDataIn + } + return 0 } -func (*CSVCMsg_EncryptedData) ProtoMessage() {} +func (x *CMsgServerNetworkStats) GetTotalPacketsIn() uint64 { + if x != nil && x.TotalPacketsIn != nil { + return *x.TotalPacketsIn + } + return 0 +} -func (x *CSVCMsg_EncryptedData) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[50] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms +func (x *CMsgServerNetworkStats) GetTotalDataOut() uint64 { + if x != nil && x.TotalDataOut != nil { + return *x.TotalDataOut } - return mi.MessageOf(x) + return 0 } -// Deprecated: Use CSVCMsg_EncryptedData.ProtoReflect.Descriptor instead. -func (*CSVCMsg_EncryptedData) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{50} +func (x *CMsgServerNetworkStats) GetTotalPacketsOut() uint64 { + if x != nil && x.TotalPacketsOut != nil { + return *x.TotalPacketsOut + } + return 0 } -func (x *CSVCMsg_EncryptedData) GetEncrypted() []byte { +func (x *CMsgServerNetworkStats) GetPlayers() []*CMsgServerNetworkStats_Player { if x != nil { - return x.Encrypted + return x.Players } return nil } -func (x *CSVCMsg_EncryptedData) GetKeyType() int32 { - if x != nil && x.KeyType != nil { - return *x.KeyType - } - return 0 -} - type CSVCMsg_HltvReplay struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Delay *int32 `protobuf:"varint,1,opt,name=delay" json:"delay,omitempty"` - PrimaryTarget *int32 `protobuf:"varint,2,opt,name=primary_target,json=primaryTarget" json:"primary_target,omitempty"` + PrimaryTarget *int32 `protobuf:"varint,2,opt,name=primary_target,json=primaryTarget,def=-1" json:"primary_target,omitempty"` ReplayStopAt *int32 `protobuf:"varint,3,opt,name=replay_stop_at,json=replayStopAt" json:"replay_stop_at,omitempty"` ReplayStartAt *int32 `protobuf:"varint,4,opt,name=replay_start_at,json=replayStartAt" json:"replay_start_at,omitempty"` ReplaySlowdownBegin *int32 `protobuf:"varint,5,opt,name=replay_slowdown_begin,json=replaySlowdownBegin" json:"replay_slowdown_begin,omitempty"` ReplaySlowdownEnd *int32 `protobuf:"varint,6,opt,name=replay_slowdown_end,json=replaySlowdownEnd" json:"replay_slowdown_end,omitempty"` ReplaySlowdownRate *float32 `protobuf:"fixed32,7,opt,name=replay_slowdown_rate,json=replaySlowdownRate" json:"replay_slowdown_rate,omitempty"` + Reason *int32 `protobuf:"varint,8,opt,name=reason" json:"reason,omitempty"` } +// Default values for CSVCMsg_HltvReplay fields. +const ( + Default_CSVCMsg_HltvReplay_PrimaryTarget = int32(-1) +) + func (x *CSVCMsg_HltvReplay) Reset() { *x = CSVCMsg_HltvReplay{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[51] + mi := &file_netmessages_proto_msgTypes[56] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3880,7 +4708,7 @@ func (x *CSVCMsg_HltvReplay) String() string { func (*CSVCMsg_HltvReplay) ProtoMessage() {} func (x *CSVCMsg_HltvReplay) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[51] + mi := &file_netmessages_proto_msgTypes[56] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3893,7 +4721,7 @@ func (x *CSVCMsg_HltvReplay) ProtoReflect() protoreflect.Message { // Deprecated: Use CSVCMsg_HltvReplay.ProtoReflect.Descriptor instead. func (*CSVCMsg_HltvReplay) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{51} + return file_netmessages_proto_rawDescGZIP(), []int{56} } func (x *CSVCMsg_HltvReplay) GetDelay() int32 { @@ -3907,7 +4735,7 @@ func (x *CSVCMsg_HltvReplay) GetPrimaryTarget() int32 { if x != nil && x.PrimaryTarget != nil { return *x.PrimaryTarget } - return 0 + return Default_CSVCMsg_HltvReplay_PrimaryTarget } func (x *CSVCMsg_HltvReplay) GetReplayStopAt() int32 { @@ -3945,22 +4773,34 @@ func (x *CSVCMsg_HltvReplay) GetReplaySlowdownRate() float32 { return 0 } +func (x *CSVCMsg_HltvReplay) GetReason() int32 { + if x != nil && x.Reason != nil { + return *x.Reason + } + return 0 +} + type CCLCMsg_HltvReplay struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Request *int32 `protobuf:"varint,1,opt,name=request" json:"request,omitempty"` - SlowdownLength *float32 `protobuf:"fixed32,2,opt,name=slowdown_length,json=slowdownLength" json:"slowdown_length,omitempty"` - SlowdownRate *float32 `protobuf:"fixed32,3,opt,name=slowdown_rate,json=slowdownRate" json:"slowdown_rate,omitempty"` - PrimaryTargetEntIndex *int32 `protobuf:"varint,4,opt,name=primary_target_ent_index,json=primaryTargetEntIndex" json:"primary_target_ent_index,omitempty"` - EventTime *float32 `protobuf:"fixed32,5,opt,name=event_time,json=eventTime" json:"event_time,omitempty"` + Request *int32 `protobuf:"varint,1,opt,name=request" json:"request,omitempty"` + SlowdownLength *float32 `protobuf:"fixed32,2,opt,name=slowdown_length,json=slowdownLength" json:"slowdown_length,omitempty"` + SlowdownRate *float32 `protobuf:"fixed32,3,opt,name=slowdown_rate,json=slowdownRate" json:"slowdown_rate,omitempty"` + PrimaryTarget *int32 `protobuf:"varint,4,opt,name=primary_target,json=primaryTarget,def=-1" json:"primary_target,omitempty"` + EventTime *float32 `protobuf:"fixed32,5,opt,name=event_time,json=eventTime" json:"event_time,omitempty"` } +// Default values for CCLCMsg_HltvReplay fields. +const ( + Default_CCLCMsg_HltvReplay_PrimaryTarget = int32(-1) +) + func (x *CCLCMsg_HltvReplay) Reset() { *x = CCLCMsg_HltvReplay{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[52] + mi := &file_netmessages_proto_msgTypes[57] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3973,7 +4813,7 @@ func (x *CCLCMsg_HltvReplay) String() string { func (*CCLCMsg_HltvReplay) ProtoMessage() {} func (x *CCLCMsg_HltvReplay) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[52] + mi := &file_netmessages_proto_msgTypes[57] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3986,7 +4826,7 @@ func (x *CCLCMsg_HltvReplay) ProtoReflect() protoreflect.Message { // Deprecated: Use CCLCMsg_HltvReplay.ProtoReflect.Descriptor instead. func (*CCLCMsg_HltvReplay) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{52} + return file_netmessages_proto_rawDescGZIP(), []int{57} } func (x *CCLCMsg_HltvReplay) GetRequest() int32 { @@ -4010,11 +4850,11 @@ func (x *CCLCMsg_HltvReplay) GetSlowdownRate() float32 { return 0 } -func (x *CCLCMsg_HltvReplay) GetPrimaryTargetEntIndex() int32 { - if x != nil && x.PrimaryTargetEntIndex != nil { - return *x.PrimaryTargetEntIndex +func (x *CCLCMsg_HltvReplay) GetPrimaryTarget() int32 { + if x != nil && x.PrimaryTarget != nil { + return *x.PrimaryTarget } - return 0 + return Default_CCLCMsg_HltvReplay_PrimaryTarget } func (x *CCLCMsg_HltvReplay) GetEventTime() float32 { @@ -4035,7 +4875,7 @@ type CSVCMsg_Broadcast_Command struct { func (x *CSVCMsg_Broadcast_Command) Reset() { *x = CSVCMsg_Broadcast_Command{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[53] + mi := &file_netmessages_proto_msgTypes[58] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4048,7 +4888,7 @@ func (x *CSVCMsg_Broadcast_Command) String() string { func (*CSVCMsg_Broadcast_Command) ProtoMessage() {} func (x *CSVCMsg_Broadcast_Command) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[53] + mi := &file_netmessages_proto_msgTypes[58] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4061,7 +4901,7 @@ func (x *CSVCMsg_Broadcast_Command) ProtoReflect() protoreflect.Message { // Deprecated: Use CSVCMsg_Broadcast_Command.ProtoReflect.Descriptor instead. func (*CSVCMsg_Broadcast_Command) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{53} + return file_netmessages_proto_rawDescGZIP(), []int{58} } func (x *CSVCMsg_Broadcast_Command) GetCmd() string { @@ -4071,33 +4911,275 @@ func (x *CSVCMsg_Broadcast_Command) GetCmd() string { return "" } -type CMsg_CVars_CVar struct { +type CCLCMsg_HltvFixupOperatorTick struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"` - Value *string `protobuf:"bytes,2,opt,name=value" json:"value,omitempty"` - DictionaryName *uint32 `protobuf:"varint,3,opt,name=dictionary_name,json=dictionaryName" json:"dictionary_name,omitempty"` + Tick *int32 `protobuf:"varint,1,opt,name=tick" json:"tick,omitempty"` + PropsData []byte `protobuf:"bytes,2,opt,name=props_data,json=propsData" json:"props_data,omitempty"` + Origin *CMsgVector `protobuf:"bytes,3,opt,name=origin" json:"origin,omitempty"` + EyeAngles *CMsgQAngle `protobuf:"bytes,4,opt,name=eye_angles,json=eyeAngles" json:"eye_angles,omitempty"` + ObserverMode *int32 `protobuf:"varint,5,opt,name=observer_mode,json=observerMode" json:"observer_mode,omitempty"` + CameramanScoreboard *bool `protobuf:"varint,6,opt,name=cameraman_scoreboard,json=cameramanScoreboard" json:"cameraman_scoreboard,omitempty"` + ObserverTarget *int32 `protobuf:"varint,7,opt,name=observer_target,json=observerTarget" json:"observer_target,omitempty"` + ViewOffset *CMsgVector `protobuf:"bytes,8,opt,name=view_offset,json=viewOffset" json:"view_offset,omitempty"` } -func (x *CMsg_CVars_CVar) Reset() { - *x = CMsg_CVars_CVar{} +func (x *CCLCMsg_HltvFixupOperatorTick) Reset() { + *x = CCLCMsg_HltvFixupOperatorTick{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[54] + mi := &file_netmessages_proto_msgTypes[59] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CMsg_CVars_CVar) String() string { +func (x *CCLCMsg_HltvFixupOperatorTick) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CMsg_CVars_CVar) ProtoMessage() {} +func (*CCLCMsg_HltvFixupOperatorTick) ProtoMessage() {} -func (x *CMsg_CVars_CVar) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[54] +func (x *CCLCMsg_HltvFixupOperatorTick) ProtoReflect() protoreflect.Message { + mi := &file_netmessages_proto_msgTypes[59] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CCLCMsg_HltvFixupOperatorTick.ProtoReflect.Descriptor instead. +func (*CCLCMsg_HltvFixupOperatorTick) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{59} +} + +func (x *CCLCMsg_HltvFixupOperatorTick) GetTick() int32 { + if x != nil && x.Tick != nil { + return *x.Tick + } + return 0 +} + +func (x *CCLCMsg_HltvFixupOperatorTick) GetPropsData() []byte { + if x != nil { + return x.PropsData + } + return nil +} + +func (x *CCLCMsg_HltvFixupOperatorTick) GetOrigin() *CMsgVector { + if x != nil { + return x.Origin + } + return nil +} + +func (x *CCLCMsg_HltvFixupOperatorTick) GetEyeAngles() *CMsgQAngle { + if x != nil { + return x.EyeAngles + } + return nil +} + +func (x *CCLCMsg_HltvFixupOperatorTick) GetObserverMode() int32 { + if x != nil && x.ObserverMode != nil { + return *x.ObserverMode + } + return 0 +} + +func (x *CCLCMsg_HltvFixupOperatorTick) GetCameramanScoreboard() bool { + if x != nil && x.CameramanScoreboard != nil { + return *x.CameramanScoreboard + } + return false +} + +func (x *CCLCMsg_HltvFixupOperatorTick) GetObserverTarget() int32 { + if x != nil && x.ObserverTarget != nil { + return *x.ObserverTarget + } + return 0 +} + +func (x *CCLCMsg_HltvFixupOperatorTick) GetViewOffset() *CMsgVector { + if x != nil { + return x.ViewOffset + } + return nil +} + +type CSVCMsg_HltvFixupOperatorStatus struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Mode *uint32 `protobuf:"varint,1,opt,name=mode" json:"mode,omitempty"` + OverrideOperatorName *string `protobuf:"bytes,2,opt,name=override_operator_name,json=overrideOperatorName" json:"override_operator_name,omitempty"` +} + +func (x *CSVCMsg_HltvFixupOperatorStatus) Reset() { + *x = CSVCMsg_HltvFixupOperatorStatus{} + if protoimpl.UnsafeEnabled { + mi := &file_netmessages_proto_msgTypes[60] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CSVCMsg_HltvFixupOperatorStatus) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CSVCMsg_HltvFixupOperatorStatus) ProtoMessage() {} + +func (x *CSVCMsg_HltvFixupOperatorStatus) ProtoReflect() protoreflect.Message { + mi := &file_netmessages_proto_msgTypes[60] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CSVCMsg_HltvFixupOperatorStatus.ProtoReflect.Descriptor instead. +func (*CSVCMsg_HltvFixupOperatorStatus) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{60} +} + +func (x *CSVCMsg_HltvFixupOperatorStatus) GetMode() uint32 { + if x != nil && x.Mode != nil { + return *x.Mode + } + return 0 +} + +func (x *CSVCMsg_HltvFixupOperatorStatus) GetOverrideOperatorName() string { + if x != nil && x.OverrideOperatorName != nil { + return *x.OverrideOperatorName + } + return "" +} + +type CSVCMsg_ClassInfoClassT struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ClassId *int32 `protobuf:"varint,1,opt,name=class_id,json=classId" json:"class_id,omitempty"` + DataTableName *string `protobuf:"bytes,2,opt,name=data_table_name,json=dataTableName" json:"data_table_name,omitempty"` + ClassName *string `protobuf:"bytes,3,opt,name=class_name,json=className" json:"class_name,omitempty"` +} + +func (x *CSVCMsg_ClassInfoClassT) Reset() { + *x = CSVCMsg_ClassInfoClassT{} + if protoimpl.UnsafeEnabled { + mi := &file_netmessages_proto_msgTypes[61] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CSVCMsg_ClassInfoClassT) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CSVCMsg_ClassInfoClassT) ProtoMessage() {} + +func (x *CSVCMsg_ClassInfoClassT) ProtoReflect() protoreflect.Message { + mi := &file_netmessages_proto_msgTypes[61] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CSVCMsg_ClassInfoClassT.ProtoReflect.Descriptor instead. +func (*CSVCMsg_ClassInfoClassT) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{18, 0} +} + +func (x *CSVCMsg_ClassInfoClassT) GetClassId() int32 { + if x != nil && x.ClassId != nil { + return *x.ClassId + } + return 0 +} + +func (x *CSVCMsg_ClassInfoClassT) GetDataTableName() string { + if x != nil && x.DataTableName != nil { + return *x.DataTableName + } + return "" +} + +func (x *CSVCMsg_ClassInfoClassT) GetClassName() string { + if x != nil && x.ClassName != nil { + return *x.ClassName + } + return "" +} + +type CSVCMsg_SoundsSounddataT struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + OriginX *int32 `protobuf:"zigzag32,1,opt,name=origin_x,json=originX" json:"origin_x,omitempty"` + OriginY *int32 `protobuf:"zigzag32,2,opt,name=origin_y,json=originY" json:"origin_y,omitempty"` + OriginZ *int32 `protobuf:"zigzag32,3,opt,name=origin_z,json=originZ" json:"origin_z,omitempty"` + Volume *uint32 `protobuf:"varint,4,opt,name=volume" json:"volume,omitempty"` + DelayValue *float32 `protobuf:"fixed32,5,opt,name=delay_value,json=delayValue" json:"delay_value,omitempty"` + SequenceNumber *int32 `protobuf:"varint,6,opt,name=sequence_number,json=sequenceNumber" json:"sequence_number,omitempty"` + EntityIndex *int32 `protobuf:"varint,7,opt,name=entity_index,json=entityIndex,def=-1" json:"entity_index,omitempty"` + Channel *int32 `protobuf:"varint,8,opt,name=channel" json:"channel,omitempty"` + Pitch *int32 `protobuf:"varint,9,opt,name=pitch" json:"pitch,omitempty"` + Flags *int32 `protobuf:"varint,10,opt,name=flags" json:"flags,omitempty"` + SoundNum *uint32 `protobuf:"varint,11,opt,name=sound_num,json=soundNum" json:"sound_num,omitempty"` + SoundNumHandle *uint32 `protobuf:"fixed32,12,opt,name=sound_num_handle,json=soundNumHandle" json:"sound_num_handle,omitempty"` + SpeakerEntity *int32 `protobuf:"varint,13,opt,name=speaker_entity,json=speakerEntity" json:"speaker_entity,omitempty"` + RandomSeed *int32 `protobuf:"varint,14,opt,name=random_seed,json=randomSeed" json:"random_seed,omitempty"` + SoundLevel *int32 `protobuf:"varint,15,opt,name=sound_level,json=soundLevel" json:"sound_level,omitempty"` + IsSentence *bool `protobuf:"varint,16,opt,name=is_sentence,json=isSentence" json:"is_sentence,omitempty"` + IsAmbient *bool `protobuf:"varint,17,opt,name=is_ambient,json=isAmbient" json:"is_ambient,omitempty"` + Guid *uint32 `protobuf:"varint,18,opt,name=guid" json:"guid,omitempty"` + SoundResourceId *uint64 `protobuf:"fixed64,19,opt,name=sound_resource_id,json=soundResourceId" json:"sound_resource_id,omitempty"` +} + +// Default values for CSVCMsg_SoundsSounddataT fields. +const ( + Default_CSVCMsg_SoundsSounddataT_EntityIndex = int32(-1) +) + +func (x *CSVCMsg_SoundsSounddataT) Reset() { + *x = CSVCMsg_SoundsSounddataT{} + if protoimpl.UnsafeEnabled { + mi := &file_netmessages_proto_msgTypes[62] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CSVCMsg_SoundsSounddataT) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CSVCMsg_SoundsSounddataT) ProtoMessage() {} + +func (x *CSVCMsg_SoundsSounddataT) ProtoReflect() protoreflect.Message { + mi := &file_netmessages_proto_msgTypes[62] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4105,96 +5187,145 @@ func (x *CMsg_CVars_CVar) ProtoReflect() protoreflect.Message { } return ms } - return mi.MessageOf(x) + return mi.MessageOf(x) +} + +// Deprecated: Use CSVCMsg_SoundsSounddataT.ProtoReflect.Descriptor instead. +func (*CSVCMsg_SoundsSounddataT) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{22, 0} +} + +func (x *CSVCMsg_SoundsSounddataT) GetOriginX() int32 { + if x != nil && x.OriginX != nil { + return *x.OriginX + } + return 0 +} + +func (x *CSVCMsg_SoundsSounddataT) GetOriginY() int32 { + if x != nil && x.OriginY != nil { + return *x.OriginY + } + return 0 +} + +func (x *CSVCMsg_SoundsSounddataT) GetOriginZ() int32 { + if x != nil && x.OriginZ != nil { + return *x.OriginZ + } + return 0 +} + +func (x *CSVCMsg_SoundsSounddataT) GetVolume() uint32 { + if x != nil && x.Volume != nil { + return *x.Volume + } + return 0 +} + +func (x *CSVCMsg_SoundsSounddataT) GetDelayValue() float32 { + if x != nil && x.DelayValue != nil { + return *x.DelayValue + } + return 0 +} + +func (x *CSVCMsg_SoundsSounddataT) GetSequenceNumber() int32 { + if x != nil && x.SequenceNumber != nil { + return *x.SequenceNumber + } + return 0 } -// Deprecated: Use CMsg_CVars_CVar.ProtoReflect.Descriptor instead. -func (*CMsg_CVars_CVar) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{7, 0} +func (x *CSVCMsg_SoundsSounddataT) GetEntityIndex() int32 { + if x != nil && x.EntityIndex != nil { + return *x.EntityIndex + } + return Default_CSVCMsg_SoundsSounddataT_EntityIndex } -func (x *CMsg_CVars_CVar) GetName() string { - if x != nil && x.Name != nil { - return *x.Name +func (x *CSVCMsg_SoundsSounddataT) GetChannel() int32 { + if x != nil && x.Channel != nil { + return *x.Channel } - return "" + return 0 } -func (x *CMsg_CVars_CVar) GetValue() string { - if x != nil && x.Value != nil { - return *x.Value +func (x *CSVCMsg_SoundsSounddataT) GetPitch() int32 { + if x != nil && x.Pitch != nil { + return *x.Pitch } - return "" + return 0 } -func (x *CMsg_CVars_CVar) GetDictionaryName() uint32 { - if x != nil && x.DictionaryName != nil { - return *x.DictionaryName +func (x *CSVCMsg_SoundsSounddataT) GetFlags() int32 { + if x != nil && x.Flags != nil { + return *x.Flags } return 0 } -type CSVCMsg_ClassInfoClassT struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ClassId *int32 `protobuf:"varint,1,opt,name=class_id,json=classId" json:"class_id,omitempty"` - DataTableName *string `protobuf:"bytes,2,opt,name=data_table_name,json=dataTableName" json:"data_table_name,omitempty"` - ClassName *string `protobuf:"bytes,3,opt,name=class_name,json=className" json:"class_name,omitempty"` +func (x *CSVCMsg_SoundsSounddataT) GetSoundNum() uint32 { + if x != nil && x.SoundNum != nil { + return *x.SoundNum + } + return 0 } -func (x *CSVCMsg_ClassInfoClassT) Reset() { - *x = CSVCMsg_ClassInfoClassT{} - if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[55] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *CSVCMsg_SoundsSounddataT) GetSoundNumHandle() uint32 { + if x != nil && x.SoundNumHandle != nil { + return *x.SoundNumHandle } + return 0 } -func (x *CSVCMsg_ClassInfoClassT) String() string { - return protoimpl.X.MessageStringOf(x) +func (x *CSVCMsg_SoundsSounddataT) GetSpeakerEntity() int32 { + if x != nil && x.SpeakerEntity != nil { + return *x.SpeakerEntity + } + return 0 } -func (*CSVCMsg_ClassInfoClassT) ProtoMessage() {} +func (x *CSVCMsg_SoundsSounddataT) GetRandomSeed() int32 { + if x != nil && x.RandomSeed != nil { + return *x.RandomSeed + } + return 0 +} -func (x *CSVCMsg_ClassInfoClassT) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[55] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms +func (x *CSVCMsg_SoundsSounddataT) GetSoundLevel() int32 { + if x != nil && x.SoundLevel != nil { + return *x.SoundLevel } - return mi.MessageOf(x) + return 0 } -// Deprecated: Use CSVCMsg_ClassInfoClassT.ProtoReflect.Descriptor instead. -func (*CSVCMsg_ClassInfoClassT) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{25, 0} +func (x *CSVCMsg_SoundsSounddataT) GetIsSentence() bool { + if x != nil && x.IsSentence != nil { + return *x.IsSentence + } + return false } -func (x *CSVCMsg_ClassInfoClassT) GetClassId() int32 { - if x != nil && x.ClassId != nil { - return *x.ClassId +func (x *CSVCMsg_SoundsSounddataT) GetIsAmbient() bool { + if x != nil && x.IsAmbient != nil { + return *x.IsAmbient } - return 0 + return false } -func (x *CSVCMsg_ClassInfoClassT) GetDataTableName() string { - if x != nil && x.DataTableName != nil { - return *x.DataTableName +func (x *CSVCMsg_SoundsSounddataT) GetGuid() uint32 { + if x != nil && x.Guid != nil { + return *x.Guid } - return "" + return 0 } -func (x *CSVCMsg_ClassInfoClassT) GetClassName() string { - if x != nil && x.ClassName != nil { - return *x.ClassName +func (x *CSVCMsg_SoundsSounddataT) GetSoundResourceId() uint64 { + if x != nil && x.SoundResourceId != nil { + return *x.SoundResourceId } - return "" + return 0 } type CSVCMsg_SendTableSendpropT struct { @@ -4216,7 +5347,7 @@ type CSVCMsg_SendTableSendpropT struct { func (x *CSVCMsg_SendTableSendpropT) Reset() { *x = CSVCMsg_SendTableSendpropT{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[56] + mi := &file_netmessages_proto_msgTypes[63] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4229,7 +5360,7 @@ func (x *CSVCMsg_SendTableSendpropT) String() string { func (*CSVCMsg_SendTableSendpropT) ProtoMessage() {} func (x *CSVCMsg_SendTableSendpropT) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[56] + mi := &file_netmessages_proto_msgTypes[63] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4242,7 +5373,7 @@ func (x *CSVCMsg_SendTableSendpropT) ProtoReflect() protoreflect.Message { // Deprecated: Use CSVCMsg_SendTableSendpropT.ProtoReflect.Descriptor instead. func (*CSVCMsg_SendTableSendpropT) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{26, 0} + return file_netmessages_proto_rawDescGZIP(), []int{32, 0} } func (x *CSVCMsg_SendTableSendpropT) GetType() int32 { @@ -4308,39 +5439,32 @@ func (x *CSVCMsg_SendTableSendpropT) GetNumBits() int32 { return 0 } -type CSVCMsg_GameEventKeyT struct { +type CSVCMsg_GameEventListKeyT struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Type *int32 `protobuf:"varint,1,opt,name=type" json:"type,omitempty"` - ValString *string `protobuf:"bytes,2,opt,name=val_string,json=valString" json:"val_string,omitempty"` - ValFloat *float32 `protobuf:"fixed32,3,opt,name=val_float,json=valFloat" json:"val_float,omitempty"` - ValLong *int32 `protobuf:"varint,4,opt,name=val_long,json=valLong" json:"val_long,omitempty"` - ValShort *int32 `protobuf:"varint,5,opt,name=val_short,json=valShort" json:"val_short,omitempty"` - ValByte *int32 `protobuf:"varint,6,opt,name=val_byte,json=valByte" json:"val_byte,omitempty"` - ValBool *bool `protobuf:"varint,7,opt,name=val_bool,json=valBool" json:"val_bool,omitempty"` - ValUint64 *uint64 `protobuf:"varint,8,opt,name=val_uint64,json=valUint64" json:"val_uint64,omitempty"` - ValWstring []byte `protobuf:"bytes,9,opt,name=val_wstring,json=valWstring" json:"val_wstring,omitempty"` + Type *int32 `protobuf:"varint,1,opt,name=type" json:"type,omitempty"` + Name *string `protobuf:"bytes,2,opt,name=name" json:"name,omitempty"` } -func (x *CSVCMsg_GameEventKeyT) Reset() { - *x = CSVCMsg_GameEventKeyT{} +func (x *CSVCMsg_GameEventListKeyT) Reset() { + *x = CSVCMsg_GameEventListKeyT{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[57] + mi := &file_netmessages_proto_msgTypes[64] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CSVCMsg_GameEventKeyT) String() string { +func (x *CSVCMsg_GameEventListKeyT) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CSVCMsg_GameEventKeyT) ProtoMessage() {} +func (*CSVCMsg_GameEventListKeyT) ProtoMessage() {} -func (x *CSVCMsg_GameEventKeyT) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[57] +func (x *CSVCMsg_GameEventListKeyT) ProtoReflect() protoreflect.Message { + mi := &file_netmessages_proto_msgTypes[64] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4351,100 +5475,117 @@ func (x *CSVCMsg_GameEventKeyT) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CSVCMsg_GameEventKeyT.ProtoReflect.Descriptor instead. -func (*CSVCMsg_GameEventKeyT) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{43, 0} +// Deprecated: Use CSVCMsg_GameEventListKeyT.ProtoReflect.Descriptor instead. +func (*CSVCMsg_GameEventListKeyT) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{33, 0} } -func (x *CSVCMsg_GameEventKeyT) GetType() int32 { +func (x *CSVCMsg_GameEventListKeyT) GetType() int32 { if x != nil && x.Type != nil { return *x.Type } return 0 } -func (x *CSVCMsg_GameEventKeyT) GetValString() string { - if x != nil && x.ValString != nil { - return *x.ValString +func (x *CSVCMsg_GameEventListKeyT) GetName() string { + if x != nil && x.Name != nil { + return *x.Name } return "" } -func (x *CSVCMsg_GameEventKeyT) GetValFloat() float32 { - if x != nil && x.ValFloat != nil { - return *x.ValFloat - } - return 0 +type CSVCMsg_GameEventListDescriptorT struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Eventid *int32 `protobuf:"varint,1,opt,name=eventid" json:"eventid,omitempty"` + Name *string `protobuf:"bytes,2,opt,name=name" json:"name,omitempty"` + Keys []*CSVCMsg_GameEventListKeyT `protobuf:"bytes,3,rep,name=keys" json:"keys,omitempty"` } -func (x *CSVCMsg_GameEventKeyT) GetValLong() int32 { - if x != nil && x.ValLong != nil { - return *x.ValLong +func (x *CSVCMsg_GameEventListDescriptorT) Reset() { + *x = CSVCMsg_GameEventListDescriptorT{} + if protoimpl.UnsafeEnabled { + mi := &file_netmessages_proto_msgTypes[65] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return 0 } -func (x *CSVCMsg_GameEventKeyT) GetValShort() int32 { - if x != nil && x.ValShort != nil { - return *x.ValShort - } - return 0 +func (x *CSVCMsg_GameEventListDescriptorT) String() string { + return protoimpl.X.MessageStringOf(x) } -func (x *CSVCMsg_GameEventKeyT) GetValByte() int32 { - if x != nil && x.ValByte != nil { - return *x.ValByte +func (*CSVCMsg_GameEventListDescriptorT) ProtoMessage() {} + +func (x *CSVCMsg_GameEventListDescriptorT) ProtoReflect() protoreflect.Message { + mi := &file_netmessages_proto_msgTypes[65] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return 0 + return mi.MessageOf(x) } -func (x *CSVCMsg_GameEventKeyT) GetValBool() bool { - if x != nil && x.ValBool != nil { - return *x.ValBool - } - return false +// Deprecated: Use CSVCMsg_GameEventListDescriptorT.ProtoReflect.Descriptor instead. +func (*CSVCMsg_GameEventListDescriptorT) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{33, 1} } -func (x *CSVCMsg_GameEventKeyT) GetValUint64() uint64 { - if x != nil && x.ValUint64 != nil { - return *x.ValUint64 +func (x *CSVCMsg_GameEventListDescriptorT) GetEventid() int32 { + if x != nil && x.Eventid != nil { + return *x.Eventid } return 0 } -func (x *CSVCMsg_GameEventKeyT) GetValWstring() []byte { +func (x *CSVCMsg_GameEventListDescriptorT) GetName() string { + if x != nil && x.Name != nil { + return *x.Name + } + return "" +} + +func (x *CSVCMsg_GameEventListDescriptorT) GetKeys() []*CSVCMsg_GameEventListKeyT { if x != nil { - return x.ValWstring + return x.Keys } return nil } -type CSVCMsg_GameEventListKeyT struct { +type CSVCMsg_PacketEntitiesCommandQueueInfoT struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Type *int32 `protobuf:"varint,1,opt,name=type" json:"type,omitempty"` - Name *string `protobuf:"bytes,2,opt,name=name" json:"name,omitempty"` + CommandsQueued *uint32 `protobuf:"varint,1,opt,name=commands_queued,json=commandsQueued" json:"commands_queued,omitempty"` + CommandQueueDesiredSize *uint32 `protobuf:"varint,2,opt,name=command_queue_desired_size,json=commandQueueDesiredSize" json:"command_queue_desired_size,omitempty"` + StarvedCommandTicks *uint32 `protobuf:"varint,3,opt,name=starved_command_ticks,json=starvedCommandTicks" json:"starved_command_ticks,omitempty"` + TimeDilationPercent *float32 `protobuf:"fixed32,4,opt,name=time_dilation_percent,json=timeDilationPercent" json:"time_dilation_percent,omitempty"` + DiscardedCommandTicks *uint32 `protobuf:"varint,5,opt,name=discarded_command_ticks,json=discardedCommandTicks" json:"discarded_command_ticks,omitempty"` } -func (x *CSVCMsg_GameEventListKeyT) Reset() { - *x = CSVCMsg_GameEventListKeyT{} +func (x *CSVCMsg_PacketEntitiesCommandQueueInfoT) Reset() { + *x = CSVCMsg_PacketEntitiesCommandQueueInfoT{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[58] + mi := &file_netmessages_proto_msgTypes[66] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CSVCMsg_GameEventListKeyT) String() string { +func (x *CSVCMsg_PacketEntitiesCommandQueueInfoT) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CSVCMsg_GameEventListKeyT) ProtoMessage() {} +func (*CSVCMsg_PacketEntitiesCommandQueueInfoT) ProtoMessage() {} -func (x *CSVCMsg_GameEventListKeyT) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[58] +func (x *CSVCMsg_PacketEntitiesCommandQueueInfoT) ProtoReflect() protoreflect.Message { + mi := &file_netmessages_proto_msgTypes[66] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4455,52 +5596,72 @@ func (x *CSVCMsg_GameEventListKeyT) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CSVCMsg_GameEventListKeyT.ProtoReflect.Descriptor instead. -func (*CSVCMsg_GameEventListKeyT) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{44, 0} +// Deprecated: Use CSVCMsg_PacketEntitiesCommandQueueInfoT.ProtoReflect.Descriptor instead. +func (*CSVCMsg_PacketEntitiesCommandQueueInfoT) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{34, 0} } -func (x *CSVCMsg_GameEventListKeyT) GetType() int32 { - if x != nil && x.Type != nil { - return *x.Type +func (x *CSVCMsg_PacketEntitiesCommandQueueInfoT) GetCommandsQueued() uint32 { + if x != nil && x.CommandsQueued != nil { + return *x.CommandsQueued } return 0 } -func (x *CSVCMsg_GameEventListKeyT) GetName() string { - if x != nil && x.Name != nil { - return *x.Name +func (x *CSVCMsg_PacketEntitiesCommandQueueInfoT) GetCommandQueueDesiredSize() uint32 { + if x != nil && x.CommandQueueDesiredSize != nil { + return *x.CommandQueueDesiredSize } - return "" + return 0 } -type CSVCMsg_GameEventListDescriptorT struct { +func (x *CSVCMsg_PacketEntitiesCommandQueueInfoT) GetStarvedCommandTicks() uint32 { + if x != nil && x.StarvedCommandTicks != nil { + return *x.StarvedCommandTicks + } + return 0 +} + +func (x *CSVCMsg_PacketEntitiesCommandQueueInfoT) GetTimeDilationPercent() float32 { + if x != nil && x.TimeDilationPercent != nil { + return *x.TimeDilationPercent + } + return 0 +} + +func (x *CSVCMsg_PacketEntitiesCommandQueueInfoT) GetDiscardedCommandTicks() uint32 { + if x != nil && x.DiscardedCommandTicks != nil { + return *x.DiscardedCommandTicks + } + return 0 +} + +type CSVCMsg_PacketEntitiesAlternateBaselineT struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Eventid *int32 `protobuf:"varint,1,opt,name=eventid" json:"eventid,omitempty"` - Name *string `protobuf:"bytes,2,opt,name=name" json:"name,omitempty"` - Keys []*CSVCMsg_GameEventListKeyT `protobuf:"bytes,3,rep,name=keys" json:"keys,omitempty"` + EntityIndex *int32 `protobuf:"varint,1,opt,name=entity_index,json=entityIndex" json:"entity_index,omitempty"` + BaselineIndex *int32 `protobuf:"varint,2,opt,name=baseline_index,json=baselineIndex" json:"baseline_index,omitempty"` } -func (x *CSVCMsg_GameEventListDescriptorT) Reset() { - *x = CSVCMsg_GameEventListDescriptorT{} +func (x *CSVCMsg_PacketEntitiesAlternateBaselineT) Reset() { + *x = CSVCMsg_PacketEntitiesAlternateBaselineT{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[59] + mi := &file_netmessages_proto_msgTypes[67] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CSVCMsg_GameEventListDescriptorT) String() string { +func (x *CSVCMsg_PacketEntitiesAlternateBaselineT) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CSVCMsg_GameEventListDescriptorT) ProtoMessage() {} +func (*CSVCMsg_PacketEntitiesAlternateBaselineT) ProtoMessage() {} -func (x *CSVCMsg_GameEventListDescriptorT) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[59] +func (x *CSVCMsg_PacketEntitiesAlternateBaselineT) ProtoReflect() protoreflect.Message { + mi := &file_netmessages_proto_msgTypes[67] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4511,203 +5672,163 @@ func (x *CSVCMsg_GameEventListDescriptorT) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CSVCMsg_GameEventListDescriptorT.ProtoReflect.Descriptor instead. -func (*CSVCMsg_GameEventListDescriptorT) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{44, 1} +// Deprecated: Use CSVCMsg_PacketEntitiesAlternateBaselineT.ProtoReflect.Descriptor instead. +func (*CSVCMsg_PacketEntitiesAlternateBaselineT) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{34, 1} } -func (x *CSVCMsg_GameEventListDescriptorT) GetEventid() int32 { - if x != nil && x.Eventid != nil { - return *x.Eventid +func (x *CSVCMsg_PacketEntitiesAlternateBaselineT) GetEntityIndex() int32 { + if x != nil && x.EntityIndex != nil { + return *x.EntityIndex } return 0 } -func (x *CSVCMsg_GameEventListDescriptorT) GetName() string { - if x != nil && x.Name != nil { - return *x.Name - } - return "" -} - -func (x *CSVCMsg_GameEventListDescriptorT) GetKeys() []*CSVCMsg_GameEventListKeyT { - if x != nil { - return x.Keys +func (x *CSVCMsg_PacketEntitiesAlternateBaselineT) GetBaselineIndex() int32 { + if x != nil && x.BaselineIndex != nil { + return *x.BaselineIndex } - return nil + return 0 } -type CSVCMsg_SoundsSounddataT struct { +type CMsgServerNetworkStats_Port struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - OriginX *int32 `protobuf:"zigzag32,1,opt,name=origin_x,json=originX" json:"origin_x,omitempty"` - OriginY *int32 `protobuf:"zigzag32,2,opt,name=origin_y,json=originY" json:"origin_y,omitempty"` - OriginZ *int32 `protobuf:"zigzag32,3,opt,name=origin_z,json=originZ" json:"origin_z,omitempty"` - Volume *uint32 `protobuf:"varint,4,opt,name=volume" json:"volume,omitempty"` - DelayValue *float32 `protobuf:"fixed32,5,opt,name=delay_value,json=delayValue" json:"delay_value,omitempty"` - SequenceNumber *int32 `protobuf:"varint,6,opt,name=sequence_number,json=sequenceNumber" json:"sequence_number,omitempty"` - EntityIndex *int32 `protobuf:"varint,7,opt,name=entity_index,json=entityIndex" json:"entity_index,omitempty"` - Channel *int32 `protobuf:"varint,8,opt,name=channel" json:"channel,omitempty"` - Pitch *int32 `protobuf:"varint,9,opt,name=pitch" json:"pitch,omitempty"` - Flags *int32 `protobuf:"varint,10,opt,name=flags" json:"flags,omitempty"` - SoundNum *uint32 `protobuf:"varint,11,opt,name=sound_num,json=soundNum" json:"sound_num,omitempty"` - SoundNumHandle *uint32 `protobuf:"fixed32,12,opt,name=sound_num_handle,json=soundNumHandle" json:"sound_num_handle,omitempty"` - SpeakerEntity *int32 `protobuf:"varint,13,opt,name=speaker_entity,json=speakerEntity" json:"speaker_entity,omitempty"` - RandomSeed *int32 `protobuf:"varint,14,opt,name=random_seed,json=randomSeed" json:"random_seed,omitempty"` - SoundLevel *int32 `protobuf:"varint,15,opt,name=sound_level,json=soundLevel" json:"sound_level,omitempty"` - IsSentence *bool `protobuf:"varint,16,opt,name=is_sentence,json=isSentence" json:"is_sentence,omitempty"` - IsAmbient *bool `protobuf:"varint,17,opt,name=is_ambient,json=isAmbient" json:"is_ambient,omitempty"` + Port *int32 `protobuf:"varint,1,opt,name=port" json:"port,omitempty"` + Name *string `protobuf:"bytes,2,opt,name=name" json:"name,omitempty"` } -func (x *CSVCMsg_SoundsSounddataT) Reset() { - *x = CSVCMsg_SoundsSounddataT{} +func (x *CMsgServerNetworkStats_Port) Reset() { + *x = CMsgServerNetworkStats_Port{} if protoimpl.UnsafeEnabled { - mi := &file_netmessages_proto_msgTypes[60] + mi := &file_netmessages_proto_msgTypes[68] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CSVCMsg_SoundsSounddataT) String() string { +func (x *CMsgServerNetworkStats_Port) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CSVCMsg_SoundsSounddataT) ProtoMessage() {} +func (*CMsgServerNetworkStats_Port) ProtoMessage() {} -func (x *CSVCMsg_SoundsSounddataT) ProtoReflect() protoreflect.Message { - mi := &file_netmessages_proto_msgTypes[60] +func (x *CMsgServerNetworkStats_Port) ProtoReflect() protoreflect.Message { + mi := &file_netmessages_proto_msgTypes[68] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use CSVCMsg_SoundsSounddataT.ProtoReflect.Descriptor instead. -func (*CSVCMsg_SoundsSounddataT) Descriptor() ([]byte, []int) { - return file_netmessages_proto_rawDescGZIP(), []int{47, 0} -} - -func (x *CSVCMsg_SoundsSounddataT) GetOriginX() int32 { - if x != nil && x.OriginX != nil { - return *x.OriginX - } - return 0 -} - -func (x *CSVCMsg_SoundsSounddataT) GetOriginY() int32 { - if x != nil && x.OriginY != nil { - return *x.OriginY + ms.StoreMessageInfo(mi) + } + return ms } - return 0 + return mi.MessageOf(x) } -func (x *CSVCMsg_SoundsSounddataT) GetOriginZ() int32 { - if x != nil && x.OriginZ != nil { - return *x.OriginZ - } - return 0 +// Deprecated: Use CMsgServerNetworkStats_Port.ProtoReflect.Descriptor instead. +func (*CMsgServerNetworkStats_Port) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{55, 0} } -func (x *CSVCMsg_SoundsSounddataT) GetVolume() uint32 { - if x != nil && x.Volume != nil { - return *x.Volume +func (x *CMsgServerNetworkStats_Port) GetPort() int32 { + if x != nil && x.Port != nil { + return *x.Port } return 0 } -func (x *CSVCMsg_SoundsSounddataT) GetDelayValue() float32 { - if x != nil && x.DelayValue != nil { - return *x.DelayValue +func (x *CMsgServerNetworkStats_Port) GetName() string { + if x != nil && x.Name != nil { + return *x.Name } - return 0 + return "" } -func (x *CSVCMsg_SoundsSounddataT) GetSequenceNumber() int32 { - if x != nil && x.SequenceNumber != nil { - return *x.SequenceNumber - } - return 0 -} +type CMsgServerNetworkStats_Player struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields -func (x *CSVCMsg_SoundsSounddataT) GetEntityIndex() int32 { - if x != nil && x.EntityIndex != nil { - return *x.EntityIndex - } - return 0 + Steamid *uint64 `protobuf:"varint,1,opt,name=steamid" json:"steamid,omitempty"` + RemoteAddr *string `protobuf:"bytes,2,opt,name=remote_addr,json=remoteAddr" json:"remote_addr,omitempty"` + PingStddevMs *int32 `protobuf:"varint,3,opt,name=ping_stddev_ms,json=pingStddevMs" json:"ping_stddev_ms,omitempty"` + PingAvgMs *int32 `protobuf:"varint,4,opt,name=ping_avg_ms,json=pingAvgMs" json:"ping_avg_ms,omitempty"` + PacketLossPct *float32 `protobuf:"fixed32,5,opt,name=packet_loss_pct,json=packetLossPct" json:"packet_loss_pct,omitempty"` + IsBot *bool `protobuf:"varint,6,opt,name=is_bot,json=isBot" json:"is_bot,omitempty"` } -func (x *CSVCMsg_SoundsSounddataT) GetChannel() int32 { - if x != nil && x.Channel != nil { - return *x.Channel +func (x *CMsgServerNetworkStats_Player) Reset() { + *x = CMsgServerNetworkStats_Player{} + if protoimpl.UnsafeEnabled { + mi := &file_netmessages_proto_msgTypes[69] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return 0 } -func (x *CSVCMsg_SoundsSounddataT) GetPitch() int32 { - if x != nil && x.Pitch != nil { - return *x.Pitch - } - return 0 +func (x *CMsgServerNetworkStats_Player) String() string { + return protoimpl.X.MessageStringOf(x) } -func (x *CSVCMsg_SoundsSounddataT) GetFlags() int32 { - if x != nil && x.Flags != nil { - return *x.Flags +func (*CMsgServerNetworkStats_Player) ProtoMessage() {} + +func (x *CMsgServerNetworkStats_Player) ProtoReflect() protoreflect.Message { + mi := &file_netmessages_proto_msgTypes[69] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return 0 + return mi.MessageOf(x) } -func (x *CSVCMsg_SoundsSounddataT) GetSoundNum() uint32 { - if x != nil && x.SoundNum != nil { - return *x.SoundNum - } - return 0 +// Deprecated: Use CMsgServerNetworkStats_Player.ProtoReflect.Descriptor instead. +func (*CMsgServerNetworkStats_Player) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{55, 1} } -func (x *CSVCMsg_SoundsSounddataT) GetSoundNumHandle() uint32 { - if x != nil && x.SoundNumHandle != nil { - return *x.SoundNumHandle +func (x *CMsgServerNetworkStats_Player) GetSteamid() uint64 { + if x != nil && x.Steamid != nil { + return *x.Steamid } return 0 } -func (x *CSVCMsg_SoundsSounddataT) GetSpeakerEntity() int32 { - if x != nil && x.SpeakerEntity != nil { - return *x.SpeakerEntity +func (x *CMsgServerNetworkStats_Player) GetRemoteAddr() string { + if x != nil && x.RemoteAddr != nil { + return *x.RemoteAddr } - return 0 + return "" } -func (x *CSVCMsg_SoundsSounddataT) GetRandomSeed() int32 { - if x != nil && x.RandomSeed != nil { - return *x.RandomSeed +func (x *CMsgServerNetworkStats_Player) GetPingStddevMs() int32 { + if x != nil && x.PingStddevMs != nil { + return *x.PingStddevMs } return 0 } -func (x *CSVCMsg_SoundsSounddataT) GetSoundLevel() int32 { - if x != nil && x.SoundLevel != nil { - return *x.SoundLevel +func (x *CMsgServerNetworkStats_Player) GetPingAvgMs() int32 { + if x != nil && x.PingAvgMs != nil { + return *x.PingAvgMs } return 0 } -func (x *CSVCMsg_SoundsSounddataT) GetIsSentence() bool { - if x != nil && x.IsSentence != nil { - return *x.IsSentence +func (x *CMsgServerNetworkStats_Player) GetPacketLossPct() float32 { + if x != nil && x.PacketLossPct != nil { + return *x.PacketLossPct } - return false + return 0 } -func (x *CSVCMsg_SoundsSounddataT) GetIsAmbient() bool { - if x != nil && x.IsAmbient != nil { - return *x.IsAmbient +func (x *CMsgServerNetworkStats_Player) GetIsBot() bool { + if x != nil && x.IsBot != nil { + return *x.IsBot } return false } @@ -4716,638 +5837,833 @@ var File_netmessages_proto protoreflect.FileDescriptor var file_netmessages_proto_rawDesc = []byte{ 0x0a, 0x11, 0x6e, 0x65, 0x74, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x36, 0x0a, 0x0a, 0x43, 0x4d, 0x73, 0x67, 0x56, 0x65, 0x63, - 0x74, 0x6f, 0x72, 0x12, 0x0c, 0x0a, 0x01, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x01, - 0x78, 0x12, 0x0c, 0x0a, 0x01, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x01, 0x79, 0x12, - 0x0c, 0x0a, 0x01, 0x7a, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x01, 0x7a, 0x22, 0x2a, 0x0a, - 0x0c, 0x43, 0x4d, 0x73, 0x67, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x32, 0x44, 0x12, 0x0c, 0x0a, - 0x01, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x01, 0x78, 0x12, 0x0c, 0x0a, 0x01, 0x79, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x01, 0x79, 0x22, 0x36, 0x0a, 0x0a, 0x43, 0x4d, 0x73, - 0x67, 0x51, 0x41, 0x6e, 0x67, 0x6c, 0x65, 0x12, 0x0c, 0x0a, 0x01, 0x78, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x02, 0x52, 0x01, 0x78, 0x12, 0x0c, 0x0a, 0x01, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, - 0x52, 0x01, 0x79, 0x12, 0x0c, 0x0a, 0x01, 0x7a, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x01, - 0x7a, 0x22, 0x42, 0x0a, 0x08, 0x43, 0x4d, 0x73, 0x67, 0x52, 0x47, 0x42, 0x41, 0x12, 0x0c, 0x0a, - 0x01, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x01, 0x72, 0x12, 0x0c, 0x0a, 0x01, 0x67, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x01, 0x67, 0x12, 0x0c, 0x0a, 0x01, 0x62, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x01, 0x62, 0x12, 0x0c, 0x0a, 0x01, 0x61, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x01, 0x61, 0x22, 0x99, 0x02, 0x0a, 0x0c, 0x43, 0x4e, 0x45, 0x54, 0x4d, 0x73, - 0x67, 0x5f, 0x54, 0x69, 0x63, 0x6b, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x69, 0x63, 0x6b, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x74, 0x69, 0x63, 0x6b, 0x12, 0x31, 0x0a, 0x14, 0x68, 0x6f, - 0x73, 0x74, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x74, 0x69, - 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x68, 0x6f, 0x73, 0x74, 0x43, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x4b, 0x0a, - 0x22, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x74, 0x64, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x1f, 0x68, 0x6f, 0x73, 0x74, 0x43, - 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x53, 0x74, - 0x64, 0x44, 0x65, 0x76, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x49, 0x0a, 0x21, 0x68, 0x6f, - 0x73, 0x74, 0x5f, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x74, 0x69, 0x6d, - 0x65, 0x5f, 0x73, 0x74, 0x64, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x1e, 0x68, 0x6f, 0x73, 0x74, 0x46, 0x72, 0x61, 0x6d, 0x65, - 0x73, 0x74, 0x61, 0x72, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x53, 0x74, 0x64, 0x44, 0x65, 0x76, 0x69, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2a, 0x0a, 0x11, 0x68, 0x6c, 0x74, 0x76, 0x5f, 0x72, 0x65, - 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x0f, 0x68, 0x6c, 0x74, 0x76, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x46, 0x6c, 0x61, 0x67, - 0x73, 0x22, 0x2d, 0x0a, 0x11, 0x43, 0x4e, 0x45, 0x54, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x74, 0x72, - 0x69, 0x6e, 0x67, 0x43, 0x6d, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, - 0x22, 0xd1, 0x01, 0x0a, 0x13, 0x43, 0x4e, 0x45, 0x54, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x69, 0x67, - 0x6e, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x69, 0x67, 0x6e, - 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, - 0x73, 0x69, 0x67, 0x6e, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x73, - 0x70, 0x61, 0x77, 0x6e, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x0a, 0x73, 0x70, 0x61, 0x77, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2c, 0x0a, 0x12, - 0x6e, 0x75, 0x6d, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, - 0x72, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x6e, 0x75, 0x6d, 0x53, 0x65, 0x72, - 0x76, 0x65, 0x72, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x12, 0x2d, 0x0a, 0x12, 0x70, 0x6c, - 0x61, 0x79, 0x65, 0x72, 0x73, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x64, 0x73, - 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x11, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x4e, - 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x64, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x61, 0x70, - 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x61, 0x70, - 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x8f, 0x01, 0x0a, 0x0a, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x43, 0x56, - 0x61, 0x72, 0x73, 0x12, 0x26, 0x0a, 0x05, 0x63, 0x76, 0x61, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x43, 0x56, 0x61, 0x72, 0x73, 0x2e, - 0x43, 0x56, 0x61, 0x72, 0x52, 0x05, 0x63, 0x76, 0x61, 0x72, 0x73, 0x1a, 0x59, 0x0a, 0x04, 0x43, - 0x56, 0x61, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x27, 0x0a, - 0x0f, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x72, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, - 0x72, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x3a, 0x0a, 0x11, 0x43, 0x4e, 0x45, 0x54, 0x4d, 0x73, - 0x67, 0x5f, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x56, 0x61, 0x72, 0x12, 0x25, 0x0a, 0x07, 0x63, - 0x6f, 0x6e, 0x76, 0x61, 0x72, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x43, - 0x4d, 0x73, 0x67, 0x5f, 0x43, 0x56, 0x61, 0x72, 0x73, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x76, 0x61, - 0x72, 0x73, 0x22, 0x0d, 0x0a, 0x0b, 0x43, 0x4e, 0x45, 0x54, 0x4d, 0x73, 0x67, 0x5f, 0x4e, 0x4f, - 0x50, 0x22, 0x28, 0x0a, 0x12, 0x43, 0x4e, 0x45, 0x54, 0x4d, 0x73, 0x67, 0x5f, 0x44, 0x69, 0x73, - 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, 0x78, 0x74, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x65, 0x78, 0x74, 0x22, 0x8f, 0x01, 0x0a, 0x0c, - 0x43, 0x4e, 0x45, 0x54, 0x4d, 0x73, 0x67, 0x5f, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x1f, 0x0a, 0x0b, - 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x0a, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1b, 0x0a, - 0x09, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2d, 0x0a, 0x13, 0x69, 0x73, - 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x64, 0x65, 0x6d, 0x6f, 0x5f, 0x66, 0x69, 0x6c, - 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x69, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x61, - 0x79, 0x44, 0x65, 0x6d, 0x6f, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x65, 0x6e, - 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x64, 0x65, 0x6e, 0x79, 0x22, 0x2d, 0x0a, - 0x17, 0x43, 0x4e, 0x45, 0x54, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x70, 0x6c, 0x69, 0x74, 0x53, 0x63, - 0x72, 0x65, 0x65, 0x6e, 0x55, 0x73, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x22, 0x4a, 0x0a, 0x18, - 0x43, 0x4e, 0x45, 0x54, 0x4d, 0x73, 0x67, 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x41, 0x76, - 0x61, 0x74, 0x61, 0x72, 0x44, 0x61, 0x74, 0x61, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x72, 0x67, 0x62, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0c, 0x52, 0x03, 0x72, 0x67, 0x62, 0x22, 0xf8, 0x01, 0x0a, 0x12, 0x43, 0x43, 0x4c, - 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, - 0x24, 0x0a, 0x0e, 0x73, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x63, 0x72, - 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x07, 0x52, 0x0c, 0x73, 0x65, 0x6e, 0x64, 0x54, 0x61, 0x62, - 0x6c, 0x65, 0x43, 0x72, 0x63, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x73, 0x65, 0x72, - 0x76, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x73, 0x5f, 0x68, - 0x6c, 0x74, 0x76, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x48, 0x6c, 0x74, - 0x76, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x12, 0x1d, - 0x0a, 0x0a, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x73, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x09, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x73, 0x49, 0x64, 0x12, 0x21, 0x0a, - 0x0c, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x73, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0b, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x73, 0x4e, 0x61, 0x6d, 0x65, - 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x73, - 0x18, 0x07, 0x20, 0x03, 0x28, 0x07, 0x52, 0x0b, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x46, 0x69, - 0x6c, 0x65, 0x73, 0x22, 0x7c, 0x0a, 0x0c, 0x43, 0x43, 0x4c, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x4d, - 0x6f, 0x76, 0x65, 0x12, 0x2e, 0x0a, 0x13, 0x6e, 0x75, 0x6d, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x75, - 0x70, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x11, 0x6e, 0x75, 0x6d, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x43, 0x6f, 0x6d, 0x6d, 0x61, - 0x6e, 0x64, 0x73, 0x12, 0x28, 0x0a, 0x10, 0x6e, 0x75, 0x6d, 0x5f, 0x6e, 0x65, 0x77, 0x5f, 0x63, - 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x6e, - 0x75, 0x6d, 0x4e, 0x65, 0x77, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x12, 0x12, 0x0a, - 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, - 0x61, 0x22, 0x8c, 0x02, 0x0a, 0x11, 0x43, 0x43, 0x4c, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x56, 0x6f, - 0x69, 0x63, 0x65, 0x44, 0x61, 0x74, 0x61, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x12, 0x0a, 0x04, 0x78, - 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x06, 0x52, 0x04, 0x78, 0x75, 0x69, 0x64, 0x12, - 0x43, 0x0a, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, - 0x12, 0x2e, 0x56, 0x6f, 0x69, 0x63, 0x65, 0x44, 0x61, 0x74, 0x61, 0x46, 0x6f, 0x72, 0x6d, 0x61, - 0x74, 0x5f, 0x74, 0x3a, 0x17, 0x56, 0x4f, 0x49, 0x43, 0x45, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x46, - 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x5f, 0x45, 0x4e, 0x47, 0x49, 0x4e, 0x45, 0x52, 0x06, 0x66, 0x6f, - 0x72, 0x6d, 0x61, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, - 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x73, 0x65, - 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x73, - 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x75, 0x6d, 0x62, - 0x65, 0x72, 0x12, 0x3c, 0x0a, 0x1a, 0x75, 0x6e, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, - 0x65, 0x64, 0x5f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x18, 0x75, 0x6e, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, - 0x73, 0x73, 0x65, 0x64, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, - 0x22, 0x5b, 0x0a, 0x13, 0x43, 0x43, 0x4c, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x42, 0x61, 0x73, 0x65, - 0x6c, 0x69, 0x6e, 0x65, 0x41, 0x63, 0x6b, 0x12, 0x23, 0x0a, 0x0d, 0x62, 0x61, 0x73, 0x65, 0x6c, - 0x69, 0x6e, 0x65, 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, - 0x62, 0x61, 0x73, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x54, 0x69, 0x63, 0x6b, 0x12, 0x1f, 0x0a, 0x0b, - 0x62, 0x61, 0x73, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x6e, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x0a, 0x62, 0x61, 0x73, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x4e, 0x72, 0x22, 0x35, 0x0a, - 0x14, 0x43, 0x43, 0x4c, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x45, - 0x76, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x6d, - 0x61, 0x73, 0x6b, 0x18, 0x01, 0x20, 0x03, 0x28, 0x07, 0x52, 0x09, 0x65, 0x76, 0x65, 0x6e, 0x74, - 0x4d, 0x61, 0x73, 0x6b, 0x22, 0x7d, 0x0a, 0x18, 0x43, 0x43, 0x4c, 0x43, 0x4d, 0x73, 0x67, 0x5f, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x43, 0x76, 0x61, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, - 0x12, 0x16, 0x0a, 0x06, 0x63, 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x06, 0x63, 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x73, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, - 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x22, 0xde, 0x02, 0x0a, 0x14, 0x43, 0x43, 0x4c, 0x43, 0x4d, 0x73, 0x67, 0x5f, - 0x46, 0x69, 0x6c, 0x65, 0x43, 0x52, 0x43, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x1b, 0x0a, 0x09, - 0x63, 0x6f, 0x64, 0x65, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x08, 0x63, 0x6f, 0x64, 0x65, 0x50, 0x61, 0x74, 0x68, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, - 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x23, 0x0a, - 0x0d, 0x63, 0x6f, 0x64, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x63, 0x6f, 0x64, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x6e, 0x61, - 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x23, - 0x0a, 0x0d, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x66, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x66, 0x69, 0x6c, 0x65, 0x46, 0x72, 0x61, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x64, 0x35, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, - 0x52, 0x03, 0x6d, 0x64, 0x35, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x72, 0x63, 0x18, 0x07, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x03, 0x63, 0x72, 0x63, 0x12, 0x24, 0x0a, 0x0e, 0x66, 0x69, 0x6c, 0x65, 0x5f, - 0x68, 0x61, 0x73, 0x68, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x0c, 0x66, 0x69, 0x6c, 0x65, 0x48, 0x61, 0x73, 0x68, 0x54, 0x79, 0x70, 0x65, 0x12, 0x19, 0x0a, - 0x08, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x6c, 0x65, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x07, 0x66, 0x69, 0x6c, 0x65, 0x4c, 0x65, 0x6e, 0x12, 0x20, 0x0a, 0x0c, 0x70, 0x61, 0x63, 0x6b, - 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, - 0x70, 0x61, 0x63, 0x6b, 0x46, 0x69, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x10, 0x70, 0x61, - 0x63, 0x6b, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x0b, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x70, 0x61, 0x63, 0x6b, 0x46, 0x69, 0x6c, 0x65, 0x4e, 0x75, - 0x6d, 0x62, 0x65, 0x72, 0x22, 0x35, 0x0a, 0x17, 0x43, 0x43, 0x4c, 0x43, 0x4d, 0x73, 0x67, 0x5f, - 0x4c, 0x6f, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, - 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x22, 0x43, 0x0a, 0x1a, 0x43, - 0x43, 0x4c, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x70, 0x6c, 0x69, 0x74, 0x50, 0x6c, 0x61, 0x79, - 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x07, 0x63, 0x6f, 0x6e, - 0x76, 0x61, 0x72, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x43, 0x4d, 0x73, - 0x67, 0x5f, 0x43, 0x56, 0x61, 0x72, 0x73, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x76, 0x61, 0x72, 0x73, - 0x22, 0x34, 0x0a, 0x14, 0x43, 0x43, 0x4c, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x43, 0x6d, 0x64, 0x4b, - 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x6b, 0x65, 0x79, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x6b, 0x65, 0x79, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x22, 0xf3, 0x05, 0x0a, 0x12, 0x43, 0x53, 0x56, 0x43, 0x4d, - 0x73, 0x67, 0x5f, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1a, 0x0a, - 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x65, 0x72, - 0x76, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x0b, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x21, 0x0a, 0x0c, - 0x69, 0x73, 0x5f, 0x64, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x44, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x12, - 0x37, 0x0a, 0x18, 0x69, 0x73, 0x5f, 0x6f, 0x66, 0x66, 0x69, 0x63, 0x69, 0x61, 0x6c, 0x5f, 0x76, - 0x61, 0x6c, 0x76, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x15, 0x69, 0x73, 0x4f, 0x66, 0x66, 0x69, 0x63, 0x69, 0x61, 0x6c, 0x56, 0x61, 0x6c, - 0x76, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x73, 0x5f, 0x68, - 0x6c, 0x74, 0x76, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x48, 0x6c, 0x74, - 0x76, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x12, 0x40, - 0x0a, 0x1d, 0x69, 0x73, 0x5f, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6e, 0x67, - 0x5f, 0x74, 0x6f, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x18, - 0x15, 0x20, 0x01, 0x28, 0x08, 0x52, 0x19, 0x69, 0x73, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, - 0x74, 0x69, 0x6e, 0x67, 0x54, 0x6f, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x65, 0x6c, 0x61, 0x79, - 0x12, 0x11, 0x0a, 0x04, 0x63, 0x5f, 0x6f, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, - 0x63, 0x4f, 0x73, 0x12, 0x17, 0x0a, 0x07, 0x6d, 0x61, 0x70, 0x5f, 0x63, 0x72, 0x63, 0x18, 0x08, - 0x20, 0x01, 0x28, 0x07, 0x52, 0x06, 0x6d, 0x61, 0x70, 0x43, 0x72, 0x63, 0x12, 0x1d, 0x0a, 0x0a, - 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x72, 0x63, 0x18, 0x09, 0x20, 0x01, 0x28, 0x07, - 0x52, 0x09, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x72, 0x63, 0x12, 0x28, 0x0a, 0x10, 0x73, - 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x63, 0x72, 0x63, 0x18, - 0x0a, 0x20, 0x01, 0x28, 0x07, 0x52, 0x0e, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x62, - 0x6c, 0x65, 0x43, 0x72, 0x63, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x63, 0x6c, 0x69, - 0x65, 0x6e, 0x74, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x43, - 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x63, 0x6c, - 0x61, 0x73, 0x73, 0x65, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6d, 0x61, 0x78, - 0x43, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, - 0x72, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x70, 0x6c, - 0x61, 0x79, 0x65, 0x72, 0x53, 0x6c, 0x6f, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x74, 0x69, 0x63, 0x6b, - 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x02, 0x52, - 0x0c, 0x74, 0x69, 0x63, 0x6b, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x19, 0x0a, - 0x08, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x64, 0x69, 0x72, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x07, 0x67, 0x61, 0x6d, 0x65, 0x44, 0x69, 0x72, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x61, 0x70, 0x5f, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x61, 0x70, 0x4e, - 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x6d, 0x61, 0x70, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, - 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6d, 0x61, 0x70, - 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x6b, 0x79, - 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x6b, 0x79, - 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x4e, 0x61, 0x6d, - 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x69, 0x70, 0x18, 0x14, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x49, 0x70, 0x12, 0x1c, - 0x0a, 0x0a, 0x75, 0x67, 0x63, 0x5f, 0x6d, 0x61, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x16, 0x20, 0x01, - 0x28, 0x04, 0x52, 0x08, 0x75, 0x67, 0x63, 0x4d, 0x61, 0x70, 0x49, 0x64, 0x22, 0xe0, 0x01, 0x0a, - 0x11, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x49, 0x6e, - 0x66, 0x6f, 0x12, 0x28, 0x0a, 0x10, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x6f, 0x6e, 0x5f, - 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x63, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x4f, 0x6e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x12, 0x34, 0x0a, 0x07, - 0x63, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, - 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x49, 0x6e, 0x66, - 0x6f, 0x2e, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x74, 0x52, 0x07, 0x63, 0x6c, 0x61, 0x73, 0x73, - 0x65, 0x73, 0x1a, 0x6b, 0x0a, 0x07, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x74, 0x12, 0x19, 0x0a, - 0x08, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x07, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x64, 0x61, 0x74, 0x61, - 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0d, 0x64, 0x61, 0x74, 0x61, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, - 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x4e, 0x61, 0x6d, 0x65, 0x22, - 0xad, 0x03, 0x0a, 0x11, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x65, 0x6e, 0x64, - 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x15, 0x0a, 0x06, 0x69, 0x73, 0x5f, 0x65, 0x6e, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x69, 0x73, 0x45, 0x6e, 0x64, 0x12, 0x24, 0x0a, 0x0e, - 0x6e, 0x65, 0x74, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6e, 0x65, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x61, - 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x6e, 0x65, 0x65, 0x64, 0x73, 0x5f, 0x64, 0x65, 0x63, 0x6f, - 0x64, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x6e, 0x65, 0x65, 0x64, 0x73, - 0x44, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x72, 0x12, 0x33, 0x0a, 0x05, 0x70, 0x72, 0x6f, 0x70, 0x73, - 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, - 0x5f, 0x53, 0x65, 0x6e, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x2e, 0x73, 0x65, 0x6e, 0x64, 0x70, - 0x72, 0x6f, 0x70, 0x5f, 0x74, 0x52, 0x05, 0x70, 0x72, 0x6f, 0x70, 0x73, 0x1a, 0x80, 0x02, 0x0a, - 0x0a, 0x73, 0x65, 0x6e, 0x64, 0x70, 0x72, 0x6f, 0x70, 0x5f, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x74, - 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, - 0x19, 0x0a, 0x08, 0x76, 0x61, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x07, 0x76, 0x61, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6c, - 0x61, 0x67, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, - 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x17, 0x0a, 0x07, - 0x64, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, - 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x6e, 0x75, 0x6d, 0x5f, 0x65, 0x6c, 0x65, - 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x6e, 0x75, 0x6d, - 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x6c, 0x6f, 0x77, 0x5f, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x6c, 0x6f, 0x77, - 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x68, 0x69, 0x67, 0x68, 0x5f, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x02, 0x52, 0x09, 0x68, 0x69, 0x67, 0x68, 0x56, - 0x61, 0x6c, 0x75, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x6e, 0x75, 0x6d, 0x5f, 0x62, 0x69, 0x74, 0x73, - 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x6e, 0x75, 0x6d, 0x42, 0x69, 0x74, 0x73, 0x22, - 0x23, 0x0a, 0x0d, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x50, 0x72, 0x69, 0x6e, 0x74, - 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, 0x78, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, - 0x74, 0x65, 0x78, 0x74, 0x22, 0x2a, 0x0a, 0x10, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, - 0x53, 0x65, 0x74, 0x50, 0x61, 0x75, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, 0x75, 0x73, - 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x70, 0x61, 0x75, 0x73, 0x65, 0x64, - 0x22, 0x34, 0x0a, 0x0f, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x65, 0x74, 0x56, - 0x69, 0x65, 0x77, 0x12, 0x21, 0x0a, 0x0c, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x6e, - 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x65, 0x6e, 0x74, 0x69, 0x74, - 0x79, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x22, 0xae, 0x02, 0x0a, 0x19, 0x43, 0x53, 0x56, 0x43, 0x4d, - 0x73, 0x67, 0x5f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x54, - 0x61, 0x62, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, - 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6d, - 0x61, 0x78, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x6e, 0x75, 0x6d, - 0x5f, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, - 0x6e, 0x75, 0x6d, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x12, 0x2f, 0x0a, 0x14, 0x75, 0x73, - 0x65, 0x72, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x5f, 0x73, 0x69, - 0x7a, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x75, 0x73, 0x65, 0x72, 0x44, 0x61, - 0x74, 0x61, 0x46, 0x69, 0x78, 0x65, 0x64, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x75, - 0x73, 0x65, 0x72, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x0c, 0x75, 0x73, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x53, 0x69, 0x7a, - 0x65, 0x12, 0x2d, 0x0a, 0x13, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, - 0x69, 0x7a, 0x65, 0x5f, 0x62, 0x69, 0x74, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, - 0x75, 0x73, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x53, 0x69, 0x7a, 0x65, 0x42, 0x69, 0x74, 0x73, - 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, - 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x73, 0x74, 0x72, - 0x69, 0x6e, 0x67, 0x44, 0x61, 0x74, 0x61, 0x22, 0x87, 0x01, 0x0a, 0x19, 0x43, 0x53, 0x56, 0x43, - 0x4d, 0x73, 0x67, 0x5f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, - 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x49, 0x64, - 0x12, 0x2e, 0x0a, 0x13, 0x6e, 0x75, 0x6d, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x5f, - 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x11, 0x6e, - 0x75, 0x6d, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, - 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x44, 0x61, 0x74, - 0x61, 0x22, 0x60, 0x0a, 0x11, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x56, 0x6f, 0x69, + 0x6f, 0x74, 0x6f, 0x1a, 0x16, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x62, 0x61, 0x73, 0x65, + 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb8, 0x01, 0x0a, 0x12, + 0x43, 0x43, 0x4c, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x6e, + 0x66, 0x6f, 0x12, 0x24, 0x0a, 0x0e, 0x73, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, + 0x5f, 0x63, 0x72, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x07, 0x52, 0x0c, 0x73, 0x65, 0x6e, 0x64, + 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x72, 0x63, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x65, 0x72, 0x76, + 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, + 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x69, + 0x73, 0x5f, 0x68, 0x6c, 0x74, 0x76, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, + 0x48, 0x6c, 0x74, 0x76, 0x12, 0x1d, 0x0a, 0x0a, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x73, 0x5f, + 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, + 0x73, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x73, 0x5f, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x66, 0x72, 0x69, 0x65, 0x6e, + 0x64, 0x73, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x6c, 0x0a, 0x0c, 0x43, 0x43, 0x4c, 0x43, 0x4d, 0x73, + 0x67, 0x5f, 0x4d, 0x6f, 0x76, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x6f, + 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x0d, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x4e, 0x75, 0x6d, 0x62, 0x65, + 0x72, 0x12, 0x21, 0x0a, 0x0c, 0x6e, 0x75, 0x6d, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, + 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x6e, 0x75, 0x6d, 0x43, 0x6f, 0x6d, 0x6d, + 0x61, 0x6e, 0x64, 0x73, 0x22, 0xa0, 0x02, 0x0a, 0x0e, 0x43, 0x4d, 0x73, 0x67, 0x56, 0x6f, 0x69, + 0x63, 0x65, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x12, 0x42, 0x0a, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, + 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x56, 0x6f, 0x69, 0x63, 0x65, 0x44, + 0x61, 0x74, 0x61, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x5f, 0x74, 0x3a, 0x16, 0x56, 0x4f, 0x49, + 0x43, 0x45, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x5f, 0x53, 0x54, + 0x45, 0x41, 0x4d, 0x52, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x76, + 0x6f, 0x69, 0x63, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, + 0x09, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x44, 0x61, 0x74, 0x61, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x65, + 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x0d, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x42, 0x79, 0x74, 0x65, + 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x75, 0x6d, + 0x62, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x73, 0x65, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x61, 0x6d, 0x70, + 0x6c, 0x65, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x73, + 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x52, 0x61, 0x74, 0x65, 0x12, 0x3c, 0x0a, 0x1a, 0x75, 0x6e, 0x63, + 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x65, 0x64, 0x5f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, + 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x18, 0x75, + 0x6e, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x65, 0x64, 0x53, 0x61, 0x6d, 0x70, 0x6c, + 0x65, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x22, 0x62, 0x0a, 0x11, 0x43, 0x43, 0x4c, 0x43, 0x4d, + 0x73, 0x67, 0x5f, 0x56, 0x6f, 0x69, 0x63, 0x65, 0x44, 0x61, 0x74, 0x61, 0x12, 0x25, 0x0a, 0x05, + 0x61, 0x75, 0x64, 0x69, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x43, 0x4d, + 0x73, 0x67, 0x56, 0x6f, 0x69, 0x63, 0x65, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x52, 0x05, 0x61, 0x75, + 0x64, 0x69, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x78, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x06, 0x52, 0x04, 0x78, 0x75, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x69, 0x63, 0x6b, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x74, 0x69, 0x63, 0x6b, 0x22, 0x5b, 0x0a, 0x13, 0x43, + 0x43, 0x4c, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x42, 0x61, 0x73, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x41, + 0x63, 0x6b, 0x12, 0x23, 0x0a, 0x0d, 0x62, 0x61, 0x73, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x74, + 0x69, 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x62, 0x61, 0x73, 0x65, 0x6c, + 0x69, 0x6e, 0x65, 0x54, 0x69, 0x63, 0x6b, 0x12, 0x1f, 0x0a, 0x0b, 0x62, 0x61, 0x73, 0x65, 0x6c, + 0x69, 0x6e, 0x65, 0x5f, 0x6e, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x62, 0x61, + 0x73, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x4e, 0x72, 0x22, 0x35, 0x0a, 0x14, 0x43, 0x43, 0x4c, 0x43, + 0x4d, 0x73, 0x67, 0x5f, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, + 0x12, 0x1d, 0x0a, 0x0a, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x07, 0x52, 0x09, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x4d, 0x61, 0x73, 0x6b, 0x22, + 0x7d, 0x0a, 0x18, 0x43, 0x43, 0x4c, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x64, 0x43, 0x76, 0x61, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x63, + 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x63, 0x6f, 0x6f, + 0x6b, 0x69, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x63, 0x6f, + 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x43, 0x6f, 0x64, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x9a, + 0x01, 0x0a, 0x14, 0x43, 0x43, 0x4c, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x46, 0x69, 0x6c, 0x65, 0x43, + 0x52, 0x43, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6f, 0x64, 0x65, 0x5f, + 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x63, 0x6f, 0x64, 0x65, + 0x50, 0x61, 0x74, 0x68, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6f, 0x64, 0x65, + 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x0c, 0x63, 0x6f, 0x64, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, + 0x08, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x72, 0x63, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x07, 0x52, 0x03, 0x63, 0x72, 0x63, 0x22, 0x35, 0x0a, 0x17, 0x43, + 0x43, 0x4c, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x4c, 0x6f, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x50, 0x72, + 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, + 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, + 0x73, 0x73, 0x22, 0x3c, 0x0a, 0x1a, 0x43, 0x43, 0x4c, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x70, + 0x6c, 0x69, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, + 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, + 0x22, 0x46, 0x0a, 0x15, 0x43, 0x43, 0x4c, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x43, 0x6c, 0x69, 0x65, + 0x6e, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x73, 0x67, + 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x6d, 0x73, 0x67, + 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x33, 0x0a, 0x1d, 0x43, 0x43, 0x4c, 0x43, + 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x70, 0x6c, 0x69, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x44, + 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6c, 0x6f, + 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x22, 0x36, 0x0a, + 0x14, 0x43, 0x43, 0x4c, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x69, 0x6d, 0x70, 0x6c, 0x69, 0x66, + 0x69, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x73, 0x69, 0x6d, 0x70, 0x6c, + 0x69, 0x66, 0x69, 0x65, 0x64, 0x22, 0x14, 0x0a, 0x12, 0x43, 0x43, 0x4c, 0x43, 0x4d, 0x73, 0x67, + 0x5f, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x50, 0x69, 0x6e, 0x67, 0x22, 0x71, 0x0a, 0x14, 0x43, + 0x43, 0x4c, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, + 0x75, 0x73, 0x65, 0x12, 0x38, 0x0a, 0x0a, 0x70, 0x61, 0x75, 0x73, 0x65, 0x5f, 0x74, 0x79, 0x70, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0f, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x50, 0x61, 0x75, 0x73, 0x65, 0x5f, 0x74, 0x3a, 0x08, 0x52, 0x50, 0x5f, 0x50, 0x41, 0x55, + 0x53, 0x45, 0x52, 0x09, 0x70, 0x61, 0x75, 0x73, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, + 0x0b, 0x70, 0x61, 0x75, 0x73, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x0a, 0x70, 0x61, 0x75, 0x73, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x22, 0x2a, + 0x0a, 0x14, 0x43, 0x43, 0x4c, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x43, 0x6d, 0x64, 0x4b, 0x65, 0x79, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x31, 0x0a, 0x19, 0x43, 0x43, + 0x4c, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x52, 0x63, 0x6f, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, + 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xc2, 0x04, + 0x0a, 0x12, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, + 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, + 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x6f, + 0x75, 0x6e, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x73, 0x5f, 0x64, 0x65, 0x64, 0x69, 0x63, 0x61, + 0x74, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x44, 0x65, 0x64, + 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x73, 0x5f, 0x68, 0x6c, 0x74, + 0x76, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x48, 0x6c, 0x74, 0x76, 0x12, + 0x11, 0x0a, 0x04, 0x63, 0x5f, 0x6f, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x63, + 0x4f, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, + 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x43, 0x6c, 0x69, 0x65, + 0x6e, 0x74, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, + 0x65, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x43, 0x6c, 0x61, + 0x73, 0x73, 0x65, 0x73, 0x12, 0x23, 0x0a, 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x73, + 0x6c, 0x6f, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x3a, 0x02, 0x2d, 0x31, 0x52, 0x0a, 0x70, + 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x6c, 0x6f, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x74, 0x69, 0x63, + 0x6b, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x02, + 0x52, 0x0c, 0x74, 0x69, 0x63, 0x6b, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x19, + 0x0a, 0x08, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x64, 0x69, 0x72, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x07, 0x67, 0x61, 0x6d, 0x65, 0x44, 0x69, 0x72, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x61, 0x70, + 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x61, 0x70, + 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x6b, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x6b, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, + 0x1b, 0x0a, 0x09, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x11, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, + 0x61, 0x64, 0x64, 0x6f, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x09, 0x61, 0x64, 0x64, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x51, 0x0a, 0x13, 0x67, + 0x61, 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x43, 0x53, 0x56, 0x43, 0x4d, + 0x73, 0x67, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x11, 0x67, 0x61, 0x6d, + 0x65, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x32, + 0x0a, 0x15, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, + 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x13, 0x67, + 0x61, 0x6d, 0x65, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x6e, 0x69, 0x66, 0x65, + 0x73, 0x74, 0x22, 0xe0, 0x01, 0x0a, 0x11, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x43, + 0x6c, 0x61, 0x73, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x28, 0x0a, 0x10, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x5f, 0x6f, 0x6e, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x0e, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x6e, 0x43, 0x6c, 0x69, 0x65, + 0x6e, 0x74, 0x12, 0x34, 0x0a, 0x07, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x18, 0x02, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x43, 0x6c, + 0x61, 0x73, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x74, 0x52, + 0x07, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x1a, 0x6b, 0x0a, 0x07, 0x63, 0x6c, 0x61, 0x73, + 0x73, 0x5f, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x49, 0x64, 0x12, 0x26, + 0x0a, 0x0f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x64, 0x61, 0x74, 0x61, 0x54, 0x61, 0x62, + 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6c, 0x61, 0x73, + 0x73, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x2a, 0x0a, 0x10, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, + 0x5f, 0x53, 0x65, 0x74, 0x50, 0x61, 0x75, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, 0x75, + 0x73, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x70, 0x61, 0x75, 0x73, 0x65, + 0x64, 0x22, 0x60, 0x0a, 0x11, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x56, 0x6f, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x69, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x12, 0x1b, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x3a, 0x01, 0x30, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x22, 0x88, 0x03, 0x0a, 0x11, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, - 0x56, 0x6f, 0x69, 0x63, 0x65, 0x44, 0x61, 0x74, 0x61, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x6c, 0x69, - 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x63, 0x6c, 0x69, 0x65, 0x6e, - 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x72, 0x6f, 0x78, 0x69, 0x6d, 0x69, 0x74, 0x79, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x78, 0x69, 0x6d, 0x69, 0x74, 0x79, 0x12, - 0x12, 0x0a, 0x04, 0x78, 0x75, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x06, 0x52, 0x04, 0x78, - 0x75, 0x69, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x75, 0x64, 0x69, 0x62, 0x6c, 0x65, 0x5f, 0x6d, - 0x61, 0x73, 0x6b, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x61, 0x75, 0x64, 0x69, 0x62, - 0x6c, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x12, 0x1d, 0x0a, 0x0a, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x5f, - 0x64, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x76, 0x6f, 0x69, 0x63, - 0x65, 0x44, 0x61, 0x74, 0x61, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x61, 0x73, 0x74, 0x65, 0x72, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x63, 0x61, 0x73, 0x74, 0x65, 0x72, 0x12, 0x43, 0x0a, - 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, - 0x56, 0x6f, 0x69, 0x63, 0x65, 0x44, 0x61, 0x74, 0x61, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x5f, - 0x74, 0x3a, 0x17, 0x56, 0x4f, 0x49, 0x43, 0x45, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x46, 0x4f, 0x52, - 0x4d, 0x41, 0x54, 0x5f, 0x45, 0x4e, 0x47, 0x49, 0x4e, 0x45, 0x52, 0x06, 0x66, 0x6f, 0x72, 0x6d, - 0x61, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x62, - 0x79, 0x74, 0x65, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x73, 0x65, 0x71, 0x75, - 0x65, 0x6e, 0x63, 0x65, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x65, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x0d, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, - 0x12, 0x3c, 0x0a, 0x1a, 0x75, 0x6e, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x65, 0x64, - 0x5f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x0a, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x18, 0x75, 0x6e, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, - 0x65, 0x64, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x22, 0x51, - 0x0a, 0x10, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x46, 0x69, 0x78, 0x41, 0x6e, 0x67, - 0x6c, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x76, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x76, 0x65, 0x12, 0x21, - 0x0a, 0x05, 0x61, 0x6e, 0x67, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, - 0x43, 0x4d, 0x73, 0x67, 0x51, 0x41, 0x6e, 0x67, 0x6c, 0x65, 0x52, 0x05, 0x61, 0x6e, 0x67, 0x6c, - 0x65, 0x22, 0x3b, 0x0a, 0x16, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x43, 0x72, 0x6f, - 0x73, 0x73, 0x68, 0x61, 0x69, 0x72, 0x41, 0x6e, 0x67, 0x6c, 0x65, 0x12, 0x21, 0x0a, 0x05, 0x61, - 0x6e, 0x67, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x43, 0x4d, 0x73, - 0x67, 0x51, 0x41, 0x6e, 0x67, 0x6c, 0x65, 0x52, 0x05, 0x61, 0x6e, 0x67, 0x6c, 0x65, 0x22, 0x33, - 0x0a, 0x10, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x50, 0x72, 0x65, 0x66, 0x65, 0x74, - 0x63, 0x68, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x69, 0x6e, 0x64, 0x65, - 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x73, 0x6f, 0x75, 0x6e, 0x64, 0x49, 0x6e, - 0x64, 0x65, 0x78, 0x22, 0xc8, 0x01, 0x0a, 0x10, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, - 0x42, 0x53, 0x50, 0x44, 0x65, 0x63, 0x61, 0x6c, 0x12, 0x1d, 0x0a, 0x03, 0x70, 0x6f, 0x73, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x56, 0x65, 0x63, 0x74, - 0x6f, 0x72, 0x52, 0x03, 0x70, 0x6f, 0x73, 0x12, 0x2e, 0x0a, 0x13, 0x64, 0x65, 0x63, 0x61, 0x6c, - 0x5f, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x11, 0x64, 0x65, 0x63, 0x61, 0x6c, 0x54, 0x65, 0x78, 0x74, 0x75, - 0x72, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x21, 0x0a, 0x0c, 0x65, 0x6e, 0x74, 0x69, 0x74, - 0x79, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x65, - 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x6f, - 0x64, 0x65, 0x6c, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x0a, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x21, 0x0a, 0x0c, 0x6c, - 0x6f, 0x77, 0x5f, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x0b, 0x6c, 0x6f, 0x77, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x22, 0x93, - 0x01, 0x0a, 0x13, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x70, 0x6c, 0x69, 0x74, - 0x53, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x12, 0x45, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x45, 0x53, 0x70, 0x6c, 0x69, 0x74, 0x53, 0x63, 0x72, - 0x65, 0x65, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x3a, 0x17, - 0x4d, 0x53, 0x47, 0x5f, 0x53, 0x50, 0x4c, 0x49, 0x54, 0x53, 0x43, 0x52, 0x45, 0x45, 0x4e, 0x5f, - 0x41, 0x44, 0x44, 0x55, 0x53, 0x45, 0x52, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, - 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x73, 0x6c, 0x6f, - 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, - 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, - 0x6e, 0x64, 0x65, 0x78, 0x22, 0x4b, 0x0a, 0x14, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, - 0x47, 0x65, 0x74, 0x43, 0x76, 0x61, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x16, 0x0a, 0x06, - 0x63, 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x63, 0x6f, - 0x6f, 0x6b, 0x69, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x76, 0x61, 0x72, 0x5f, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x76, 0x61, 0x72, 0x4e, 0x61, 0x6d, - 0x65, 0x22, 0x57, 0x0a, 0x0c, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x4d, 0x65, 0x6e, - 0x75, 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x54, 0x79, - 0x70, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x6d, 0x65, 0x6e, 0x75, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0d, 0x6d, 0x65, 0x6e, - 0x75, 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x22, 0x6d, 0x0a, 0x13, 0x43, 0x53, - 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x73, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x07, 0x6d, 0x73, 0x67, 0x54, 0x79, 0x70, 0x65, 0x12, 0x19, 0x0a, 0x08, - 0x6d, 0x73, 0x67, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, - 0x6d, 0x73, 0x67, 0x44, 0x61, 0x74, 0x61, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x61, 0x73, 0x73, 0x74, - 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x70, 0x61, - 0x73, 0x73, 0x74, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x22, 0x32, 0x0a, 0x14, 0x43, 0x53, 0x56, - 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x50, 0x61, 0x69, 0x6e, 0x74, 0x6d, 0x61, 0x70, 0x44, 0x61, 0x74, - 0x61, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x69, 0x6e, 0x74, 0x6d, 0x61, 0x70, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0c, 0x52, 0x08, 0x70, 0x61, 0x69, 0x6e, 0x74, 0x6d, 0x61, 0x70, 0x22, 0xa4, 0x03, - 0x0a, 0x11, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x45, 0x76, - 0x65, 0x6e, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x4e, 0x61, - 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x69, 0x64, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x69, 0x64, 0x12, 0x2c, 0x0a, 0x04, - 0x6b, 0x65, 0x79, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x43, 0x53, 0x56, - 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x6b, - 0x65, 0x79, 0x5f, 0x74, 0x52, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x61, - 0x73, 0x73, 0x74, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x0b, 0x70, 0x61, 0x73, 0x73, 0x74, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x1a, 0x85, 0x02, 0x0a, - 0x05, 0x6b, 0x65, 0x79, 0x5f, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x76, 0x61, - 0x6c, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, - 0x76, 0x61, 0x6c, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x1b, 0x0a, 0x09, 0x76, 0x61, 0x6c, - 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x76, 0x61, - 0x6c, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x76, 0x61, 0x6c, 0x5f, 0x6c, 0x6f, - 0x6e, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x76, 0x61, 0x6c, 0x4c, 0x6f, 0x6e, - 0x67, 0x12, 0x1b, 0x0a, 0x09, 0x76, 0x61, 0x6c, 0x5f, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x76, 0x61, 0x6c, 0x53, 0x68, 0x6f, 0x72, 0x74, 0x12, 0x19, - 0x0a, 0x08, 0x76, 0x61, 0x6c, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x07, 0x76, 0x61, 0x6c, 0x42, 0x79, 0x74, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x76, 0x61, 0x6c, - 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x76, 0x61, 0x6c, - 0x42, 0x6f, 0x6f, 0x6c, 0x12, 0x1d, 0x0a, 0x0a, 0x76, 0x61, 0x6c, 0x5f, 0x75, 0x69, 0x6e, 0x74, - 0x36, 0x34, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x76, 0x61, 0x6c, 0x55, 0x69, 0x6e, - 0x74, 0x36, 0x34, 0x12, 0x1f, 0x0a, 0x0b, 0x76, 0x61, 0x6c, 0x5f, 0x77, 0x73, 0x74, 0x72, 0x69, - 0x6e, 0x67, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x76, 0x61, 0x6c, 0x57, 0x73, 0x74, - 0x72, 0x69, 0x6e, 0x67, 0x22, 0xff, 0x01, 0x0a, 0x15, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, - 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x45, - 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x01, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x47, 0x61, - 0x6d, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x2e, 0x64, 0x65, 0x73, 0x63, - 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x5f, 0x74, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, - 0x70, 0x74, 0x6f, 0x72, 0x73, 0x1a, 0x2f, 0x0a, 0x05, 0x6b, 0x65, 0x79, 0x5f, 0x74, 0x12, 0x12, - 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x74, 0x79, - 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x1a, 0x6e, 0x0a, 0x0c, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, - 0x70, 0x74, 0x6f, 0x72, 0x5f, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x69, 0x64, - 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x30, 0x0a, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x03, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x47, 0x61, 0x6d, - 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x2e, 0x6b, 0x65, 0x79, 0x5f, 0x74, - 0x52, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x22, 0x74, 0x0a, 0x14, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, - 0x67, 0x5f, 0x54, 0x65, 0x6d, 0x70, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x69, 0x65, 0x73, 0x12, 0x1a, - 0x0a, 0x08, 0x72, 0x65, 0x6c, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x08, 0x72, 0x65, 0x6c, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x6e, 0x75, - 0x6d, 0x5f, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x0a, 0x6e, 0x75, 0x6d, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x65, - 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, - 0x52, 0x0a, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x44, 0x61, 0x74, 0x61, 0x22, 0x82, 0x02, 0x0a, - 0x16, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x45, - 0x6e, 0x74, 0x69, 0x74, 0x69, 0x65, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x65, - 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6d, 0x61, - 0x78, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x75, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x64, 0x5f, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x0e, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, - 0x73, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x73, 0x5f, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x07, 0x69, 0x73, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x12, 0x27, 0x0a, 0x0f, - 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x62, 0x61, 0x73, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x61, 0x73, - 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x62, 0x61, 0x73, 0x65, 0x6c, 0x69, 0x6e, - 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x62, 0x61, 0x73, 0x65, 0x6c, 0x69, 0x6e, - 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x46, 0x72, 0x6f, 0x6d, - 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, - 0x07, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x44, 0x61, 0x74, - 0x61, 0x22, 0x88, 0x05, 0x0a, 0x0e, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x6f, - 0x75, 0x6e, 0x64, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x6c, 0x69, 0x61, 0x62, 0x6c, 0x65, - 0x5f, 0x73, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x72, 0x65, - 0x6c, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x33, 0x0a, 0x06, 0x73, - 0x6f, 0x75, 0x6e, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x43, 0x53, - 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x6f, 0x75, 0x6e, 0x64, 0x73, 0x2e, 0x73, 0x6f, 0x75, - 0x6e, 0x64, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x74, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x6e, 0x64, 0x73, - 0x1a, 0x99, 0x04, 0x0a, 0x0b, 0x73, 0x6f, 0x75, 0x6e, 0x64, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x74, - 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x5f, 0x78, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x11, 0x52, 0x07, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x58, 0x12, 0x19, 0x0a, 0x08, 0x6f, - 0x72, 0x69, 0x67, 0x69, 0x6e, 0x5f, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x11, 0x52, 0x07, 0x6f, - 0x72, 0x69, 0x67, 0x69, 0x6e, 0x59, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, - 0x5f, 0x7a, 0x18, 0x03, 0x20, 0x01, 0x28, 0x11, 0x52, 0x07, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, - 0x5a, 0x12, 0x16, 0x0a, 0x06, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x06, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x65, 0x6c, - 0x61, 0x79, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, - 0x64, 0x65, 0x6c, 0x61, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x65, - 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x0e, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x4e, 0x75, 0x6d, - 0x62, 0x65, 0x72, 0x12, 0x21, 0x0a, 0x0c, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x6e, - 0x64, 0x65, 0x78, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x65, 0x6e, 0x74, 0x69, 0x74, - 0x79, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, - 0x6c, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, - 0x12, 0x14, 0x0a, 0x05, 0x70, 0x69, 0x74, 0x63, 0x68, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x05, 0x70, 0x69, 0x74, 0x63, 0x68, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, - 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x1b, 0x0a, 0x09, - 0x73, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x6e, 0x75, 0x6d, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x08, 0x73, 0x6f, 0x75, 0x6e, 0x64, 0x4e, 0x75, 0x6d, 0x12, 0x28, 0x0a, 0x10, 0x73, 0x6f, 0x75, - 0x6e, 0x64, 0x5f, 0x6e, 0x75, 0x6d, 0x5f, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x18, 0x0c, 0x20, - 0x01, 0x28, 0x07, 0x52, 0x0e, 0x73, 0x6f, 0x75, 0x6e, 0x64, 0x4e, 0x75, 0x6d, 0x48, 0x61, 0x6e, - 0x64, 0x6c, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x70, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x5f, 0x65, - 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x73, 0x70, 0x65, - 0x61, 0x6b, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x61, - 0x6e, 0x64, 0x6f, 0x6d, 0x5f, 0x73, 0x65, 0x65, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x0a, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x53, 0x65, 0x65, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x73, - 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x0a, 0x73, 0x6f, 0x75, 0x6e, 0x64, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x1f, 0x0a, 0x0b, - 0x69, 0x73, 0x5f, 0x73, 0x65, 0x6e, 0x74, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x0a, 0x69, 0x73, 0x53, 0x65, 0x6e, 0x74, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x1d, 0x0a, - 0x0a, 0x69, 0x73, 0x5f, 0x61, 0x6d, 0x62, 0x69, 0x65, 0x6e, 0x74, 0x18, 0x11, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x09, 0x69, 0x73, 0x41, 0x6d, 0x62, 0x69, 0x65, 0x6e, 0x74, 0x22, 0x66, 0x0a, 0x11, - 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x4d, 0x73, - 0x67, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x19, - 0x0a, 0x08, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x07, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x74, - 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x65, 0x6e, 0x74, - 0x44, 0x61, 0x74, 0x61, 0x22, 0x34, 0x0a, 0x14, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, - 0x43, 0x6d, 0x64, 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x1c, 0x0a, 0x09, - 0x6b, 0x65, 0x79, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, - 0x09, 0x6b, 0x65, 0x79, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x22, 0x50, 0x0a, 0x15, 0x43, 0x53, - 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x44, - 0x61, 0x74, 0x61, 0x12, 0x1c, 0x0a, 0x09, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, - 0x64, 0x12, 0x19, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x07, 0x6b, 0x65, 0x79, 0x54, 0x79, 0x70, 0x65, 0x22, 0xb5, 0x02, 0x0a, + 0x69, 0x6f, 0x6e, 0x22, 0x23, 0x0a, 0x0d, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x50, + 0x72, 0x69, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, 0x78, 0x74, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x74, 0x65, 0x78, 0x74, 0x22, 0xcc, 0x05, 0x0a, 0x0e, 0x43, 0x53, 0x56, + 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x6f, 0x75, 0x6e, 0x64, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x72, + 0x65, 0x6c, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x0d, 0x72, 0x65, 0x6c, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x6f, 0x75, + 0x6e, 0x64, 0x12, 0x33, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x6e, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x6f, 0x75, + 0x6e, 0x64, 0x73, 0x2e, 0x73, 0x6f, 0x75, 0x6e, 0x64, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x74, 0x52, + 0x06, 0x73, 0x6f, 0x75, 0x6e, 0x64, 0x73, 0x1a, 0xdd, 0x04, 0x0a, 0x0b, 0x73, 0x6f, 0x75, 0x6e, + 0x64, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x72, 0x69, 0x67, 0x69, + 0x6e, 0x5f, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x11, 0x52, 0x07, 0x6f, 0x72, 0x69, 0x67, 0x69, + 0x6e, 0x58, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x5f, 0x79, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x11, 0x52, 0x07, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x59, 0x12, 0x19, 0x0a, + 0x08, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x5f, 0x7a, 0x18, 0x03, 0x20, 0x01, 0x28, 0x11, 0x52, + 0x07, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x5a, 0x12, 0x16, 0x0a, 0x06, 0x76, 0x6f, 0x6c, 0x75, + 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, + 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x6e, 0x75, + 0x6d, 0x62, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x73, 0x65, 0x71, 0x75, + 0x65, 0x6e, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x25, 0x0a, 0x0c, 0x65, 0x6e, + 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, + 0x3a, 0x02, 0x2d, 0x31, 0x52, 0x0b, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x64, 0x65, + 0x78, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x08, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x70, + 0x69, 0x74, 0x63, 0x68, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x70, 0x69, 0x74, 0x63, + 0x68, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x6f, 0x75, 0x6e, 0x64, + 0x5f, 0x6e, 0x75, 0x6d, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x73, 0x6f, 0x75, 0x6e, + 0x64, 0x4e, 0x75, 0x6d, 0x12, 0x28, 0x0a, 0x10, 0x73, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x6e, 0x75, + 0x6d, 0x5f, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x07, 0x52, 0x0e, + 0x73, 0x6f, 0x75, 0x6e, 0x64, 0x4e, 0x75, 0x6d, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x12, 0x25, + 0x0a, 0x0e, 0x73, 0x70, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, + 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x73, 0x70, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x45, + 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x5f, + 0x73, 0x65, 0x65, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x72, 0x61, 0x6e, 0x64, + 0x6f, 0x6d, 0x53, 0x65, 0x65, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x6f, 0x75, 0x6e, 0x64, 0x5f, + 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x73, 0x6f, 0x75, + 0x6e, 0x64, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x73, 0x5f, 0x73, 0x65, + 0x6e, 0x74, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x73, + 0x53, 0x65, 0x6e, 0x74, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x61, + 0x6d, 0x62, 0x69, 0x65, 0x6e, 0x74, 0x18, 0x11, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, + 0x41, 0x6d, 0x62, 0x69, 0x65, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x67, 0x75, 0x69, 0x64, 0x18, + 0x12, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x67, 0x75, 0x69, 0x64, 0x12, 0x2a, 0x0a, 0x11, 0x73, + 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x64, + 0x18, 0x13, 0x20, 0x01, 0x28, 0x06, 0x52, 0x0f, 0x73, 0x6f, 0x75, 0x6e, 0x64, 0x52, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x22, 0x72, 0x0a, 0x10, 0x43, 0x53, 0x56, 0x43, 0x4d, + 0x73, 0x67, 0x5f, 0x50, 0x72, 0x65, 0x66, 0x65, 0x74, 0x63, 0x68, 0x12, 0x1f, 0x0a, 0x0b, 0x73, + 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x0a, 0x73, 0x6f, 0x75, 0x6e, 0x64, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x3d, 0x0a, 0x0d, + 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0e, 0x32, 0x0d, 0x2e, 0x50, 0x72, 0x65, 0x66, 0x65, 0x74, 0x63, 0x68, 0x54, 0x79, + 0x70, 0x65, 0x3a, 0x09, 0x50, 0x46, 0x54, 0x5f, 0x53, 0x4f, 0x55, 0x4e, 0x44, 0x52, 0x0c, 0x72, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x22, 0x50, 0x0a, 0x0f, 0x43, + 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x65, 0x74, 0x56, 0x69, 0x65, 0x77, 0x12, 0x25, + 0x0a, 0x0c, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x05, 0x3a, 0x02, 0x2d, 0x31, 0x52, 0x0b, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, + 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x16, 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x05, 0x3a, 0x02, 0x2d, 0x31, 0x52, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x22, 0x51, 0x0a, + 0x10, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x46, 0x69, 0x78, 0x41, 0x6e, 0x67, 0x6c, + 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x76, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x08, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x76, 0x65, 0x12, 0x21, 0x0a, + 0x05, 0x61, 0x6e, 0x67, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x43, + 0x4d, 0x73, 0x67, 0x51, 0x41, 0x6e, 0x67, 0x6c, 0x65, 0x52, 0x05, 0x61, 0x6e, 0x67, 0x6c, 0x65, + 0x22, 0x3b, 0x0a, 0x16, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x43, 0x72, 0x6f, 0x73, + 0x73, 0x68, 0x61, 0x69, 0x72, 0x41, 0x6e, 0x67, 0x6c, 0x65, 0x12, 0x21, 0x0a, 0x05, 0x61, 0x6e, + 0x67, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x43, 0x4d, 0x73, 0x67, + 0x51, 0x41, 0x6e, 0x67, 0x6c, 0x65, 0x52, 0x05, 0x61, 0x6e, 0x67, 0x6c, 0x65, 0x22, 0xcc, 0x01, + 0x0a, 0x10, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x42, 0x53, 0x50, 0x44, 0x65, 0x63, + 0x61, 0x6c, 0x12, 0x1d, 0x0a, 0x03, 0x70, 0x6f, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x0b, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x03, 0x70, 0x6f, + 0x73, 0x12, 0x2e, 0x0a, 0x13, 0x64, 0x65, 0x63, 0x61, 0x6c, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x75, + 0x72, 0x65, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x11, + 0x64, 0x65, 0x63, 0x61, 0x6c, 0x54, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x49, 0x6e, 0x64, 0x65, + 0x78, 0x12, 0x25, 0x0a, 0x0c, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x6e, 0x64, 0x65, + 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x3a, 0x02, 0x2d, 0x31, 0x52, 0x0b, 0x65, 0x6e, 0x74, + 0x69, 0x74, 0x79, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x6f, 0x64, 0x65, + 0x6c, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6d, + 0x6f, 0x64, 0x65, 0x6c, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x21, 0x0a, 0x0c, 0x6c, 0x6f, 0x77, + 0x5f, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x0b, 0x6c, 0x6f, 0x77, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x22, 0x97, 0x01, 0x0a, + 0x13, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x70, 0x6c, 0x69, 0x74, 0x53, 0x63, + 0x72, 0x65, 0x65, 0x6e, 0x12, 0x45, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x45, 0x53, 0x70, 0x6c, 0x69, 0x74, 0x53, 0x63, 0x72, 0x65, 0x65, + 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x3a, 0x17, 0x4d, 0x53, + 0x47, 0x5f, 0x53, 0x50, 0x4c, 0x49, 0x54, 0x53, 0x43, 0x52, 0x45, 0x45, 0x4e, 0x5f, 0x41, 0x44, + 0x44, 0x55, 0x53, 0x45, 0x52, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x73, + 0x6c, 0x6f, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x12, + 0x25, 0x0a, 0x0c, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x05, 0x3a, 0x02, 0x2d, 0x31, 0x52, 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, + 0x72, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x22, 0x4b, 0x0a, 0x14, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, + 0x67, 0x5f, 0x47, 0x65, 0x74, 0x43, 0x76, 0x61, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x16, + 0x0a, 0x06, 0x63, 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, + 0x63, 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x76, 0x61, 0x72, 0x5f, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x76, 0x61, 0x72, 0x4e, + 0x61, 0x6d, 0x65, 0x22, 0x57, 0x0a, 0x0c, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x4d, + 0x65, 0x6e, 0x75, 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x5f, 0x74, 0x79, + 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, + 0x54, 0x79, 0x70, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x6d, 0x65, 0x6e, 0x75, 0x5f, 0x6b, 0x65, 0x79, + 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0d, 0x6d, + 0x65, 0x6e, 0x75, 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x22, 0x6d, 0x0a, 0x13, + 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, + 0x61, 0x67, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x73, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x6d, 0x73, 0x67, 0x54, 0x79, 0x70, 0x65, 0x12, 0x19, + 0x0a, 0x08, 0x6d, 0x73, 0x67, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, + 0x52, 0x07, 0x6d, 0x73, 0x67, 0x44, 0x61, 0x74, 0x61, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x61, 0x73, + 0x73, 0x74, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, + 0x70, 0x61, 0x73, 0x73, 0x74, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x22, 0xad, 0x03, 0x0a, 0x11, + 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x65, 0x6e, 0x64, 0x54, 0x61, 0x62, 0x6c, + 0x65, 0x12, 0x15, 0x0a, 0x06, 0x69, 0x73, 0x5f, 0x65, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x05, 0x69, 0x73, 0x45, 0x6e, 0x64, 0x12, 0x24, 0x0a, 0x0e, 0x6e, 0x65, 0x74, 0x5f, + 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0c, 0x6e, 0x65, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x23, + 0x0a, 0x0d, 0x6e, 0x65, 0x65, 0x64, 0x73, 0x5f, 0x64, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x72, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x6e, 0x65, 0x65, 0x64, 0x73, 0x44, 0x65, 0x63, 0x6f, + 0x64, 0x65, 0x72, 0x12, 0x33, 0x0a, 0x05, 0x70, 0x72, 0x6f, 0x70, 0x73, 0x18, 0x04, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x65, 0x6e, + 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x2e, 0x73, 0x65, 0x6e, 0x64, 0x70, 0x72, 0x6f, 0x70, 0x5f, + 0x74, 0x52, 0x05, 0x70, 0x72, 0x6f, 0x70, 0x73, 0x1a, 0x80, 0x02, 0x0a, 0x0a, 0x73, 0x65, 0x6e, + 0x64, 0x70, 0x72, 0x6f, 0x70, 0x5f, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x76, + 0x61, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, + 0x61, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x1a, 0x0a, 0x08, + 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, + 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x17, 0x0a, 0x07, 0x64, 0x74, 0x5f, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x74, 0x4e, 0x61, 0x6d, + 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x6e, 0x75, 0x6d, 0x5f, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, + 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x6e, 0x75, 0x6d, 0x45, 0x6c, 0x65, 0x6d, + 0x65, 0x6e, 0x74, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x6c, 0x6f, 0x77, 0x5f, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x6c, 0x6f, 0x77, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x68, 0x69, 0x67, 0x68, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, + 0x08, 0x20, 0x01, 0x28, 0x02, 0x52, 0x09, 0x68, 0x69, 0x67, 0x68, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x12, 0x19, 0x0a, 0x08, 0x6e, 0x75, 0x6d, 0x5f, 0x62, 0x69, 0x74, 0x73, 0x18, 0x09, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x07, 0x6e, 0x75, 0x6d, 0x42, 0x69, 0x74, 0x73, 0x22, 0xff, 0x01, 0x0a, 0x15, + 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x45, 0x76, 0x65, 0x6e, + 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x45, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, + 0x74, 0x6f, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x43, 0x53, 0x56, + 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4c, 0x69, + 0x73, 0x74, 0x2e, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x5f, 0x74, 0x52, + 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x73, 0x1a, 0x2f, 0x0a, 0x05, + 0x6b, 0x65, 0x79, 0x5f, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x1a, 0x6e, 0x0a, + 0x0c, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x5f, 0x74, 0x12, 0x18, 0x0a, + 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, + 0x65, 0x76, 0x65, 0x6e, 0x74, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x30, 0x0a, 0x04, 0x6b, + 0x65, 0x79, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x43, 0x53, 0x56, 0x43, + 0x4d, 0x73, 0x67, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, + 0x74, 0x2e, 0x6b, 0x65, 0x79, 0x5f, 0x74, 0x52, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x22, 0xe8, 0x08, + 0x0a, 0x16, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, + 0x45, 0x6e, 0x74, 0x69, 0x74, 0x69, 0x65, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, + 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6d, + 0x61, 0x78, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x75, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x64, 0x5f, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x0e, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x69, + 0x65, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x73, 0x5f, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x69, 0x73, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x12, 0x27, 0x0a, + 0x0f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x62, 0x61, 0x73, 0x65, 0x6c, 0x69, 0x6e, 0x65, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x61, + 0x73, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x62, 0x61, 0x73, 0x65, 0x6c, 0x69, + 0x6e, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x62, 0x61, 0x73, 0x65, 0x6c, 0x69, + 0x6e, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x5f, 0x66, 0x72, 0x6f, 0x6d, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x46, 0x72, 0x6f, + 0x6d, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x64, 0x61, 0x74, 0x61, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x44, 0x61, + 0x74, 0x61, 0x12, 0x2c, 0x0a, 0x12, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x66, 0x75, + 0x6c, 0x6c, 0x5f, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, + 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x46, 0x75, 0x6c, 0x6c, 0x46, 0x72, 0x61, 0x6d, 0x65, + 0x12, 0x38, 0x0a, 0x18, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x61, 0x77, 0x6e, + 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x18, 0x09, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x16, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x53, 0x70, 0x61, 0x77, 0x6e, 0x67, + 0x72, 0x6f, 0x75, 0x70, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x12, 0x46, 0x0a, 0x1f, 0x6d, 0x61, + 0x78, 0x5f, 0x73, 0x70, 0x61, 0x77, 0x6e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x0a, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x1d, 0x6d, 0x61, 0x78, 0x53, 0x70, 0x61, 0x77, 0x6e, 0x67, 0x72, 0x6f, + 0x75, 0x70, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, + 0x63, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x63, 0x6d, 0x64, 0x5f, 0x6e, + 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x6c, 0x61, 0x73, + 0x74, 0x43, 0x6d, 0x64, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x65, + 0x72, 0x76, 0x65, 0x72, 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x0a, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x69, 0x63, 0x6b, 0x12, 0x2f, 0x0a, 0x13, 0x73, + 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x69, + 0x65, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x12, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, + 0x69, 0x7a, 0x65, 0x64, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x69, 0x65, 0x73, 0x12, 0x5a, 0x0a, 0x12, + 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x5f, 0x71, 0x75, 0x65, 0x75, 0x65, 0x5f, 0x69, 0x6e, + 0x66, 0x6f, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x43, 0x53, 0x56, 0x43, 0x4d, + 0x73, 0x67, 0x5f, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x69, 0x65, + 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x5f, 0x71, 0x75, 0x65, 0x75, 0x65, 0x5f, + 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x74, 0x52, 0x10, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x51, + 0x75, 0x65, 0x75, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x5d, 0x0a, 0x13, 0x61, 0x6c, 0x74, 0x65, + 0x72, 0x6e, 0x61, 0x74, 0x65, 0x5f, 0x62, 0x61, 0x73, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x18, + 0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, + 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x69, 0x65, 0x73, 0x2e, 0x61, + 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x65, 0x5f, 0x62, 0x61, 0x73, 0x65, 0x6c, 0x69, 0x6e, + 0x65, 0x5f, 0x74, 0x52, 0x12, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x65, 0x42, 0x61, + 0x73, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x1a, 0x9c, 0x02, 0x0a, 0x14, 0x63, 0x6f, 0x6d, 0x6d, + 0x61, 0x6e, 0x64, 0x5f, 0x71, 0x75, 0x65, 0x75, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x74, + 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x5f, 0x71, 0x75, 0x65, + 0x75, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, + 0x6e, 0x64, 0x73, 0x51, 0x75, 0x65, 0x75, 0x65, 0x64, 0x12, 0x3b, 0x0a, 0x1a, 0x63, 0x6f, 0x6d, + 0x6d, 0x61, 0x6e, 0x64, 0x5f, 0x71, 0x75, 0x65, 0x75, 0x65, 0x5f, 0x64, 0x65, 0x73, 0x69, 0x72, + 0x65, 0x64, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x17, 0x63, + 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x51, 0x75, 0x65, 0x75, 0x65, 0x44, 0x65, 0x73, 0x69, 0x72, + 0x65, 0x64, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x32, 0x0a, 0x15, 0x73, 0x74, 0x61, 0x72, 0x76, 0x65, + 0x64, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x73, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x73, 0x74, 0x61, 0x72, 0x76, 0x65, 0x64, 0x43, 0x6f, + 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x54, 0x69, 0x63, 0x6b, 0x73, 0x12, 0x32, 0x0a, 0x15, 0x74, 0x69, + 0x6d, 0x65, 0x5f, 0x64, 0x69, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x65, 0x72, 0x63, + 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x13, 0x74, 0x69, 0x6d, 0x65, 0x44, + 0x69, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x12, 0x36, + 0x0a, 0x17, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, + 0x61, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x15, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x65, 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, + 0x64, 0x54, 0x69, 0x63, 0x6b, 0x73, 0x1a, 0x60, 0x0a, 0x14, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x6e, + 0x61, 0x74, 0x65, 0x5f, 0x62, 0x61, 0x73, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x74, 0x12, 0x21, + 0x0a, 0x0c, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x64, 0x65, + 0x78, 0x12, 0x25, 0x0a, 0x0e, 0x62, 0x61, 0x73, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x69, 0x6e, + 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x62, 0x61, 0x73, 0x65, 0x6c, + 0x69, 0x6e, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x22, 0x74, 0x0a, 0x14, 0x43, 0x53, 0x56, 0x43, + 0x4d, 0x73, 0x67, 0x5f, 0x54, 0x65, 0x6d, 0x70, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x69, 0x65, 0x73, + 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x6c, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x08, 0x72, 0x65, 0x6c, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x1f, 0x0a, 0x0b, + 0x6e, 0x75, 0x6d, 0x5f, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x0a, 0x6e, 0x75, 0x6d, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x12, 0x1f, 0x0a, + 0x0b, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0c, 0x52, 0x0a, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x44, 0x61, 0x74, 0x61, 0x22, 0xe3, + 0x02, 0x0a, 0x19, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x12, 0x1f, 0x0a, 0x0b, 0x6e, 0x75, 0x6d, 0x5f, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6e, 0x75, 0x6d, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, + 0x73, 0x12, 0x2f, 0x0a, 0x14, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x66, + 0x69, 0x78, 0x65, 0x64, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x11, 0x75, 0x73, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x46, 0x69, 0x78, 0x65, 0x64, 0x53, 0x69, + 0x7a, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, + 0x73, 0x69, 0x7a, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x75, 0x73, 0x65, 0x72, + 0x44, 0x61, 0x74, 0x61, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x2d, 0x0a, 0x13, 0x75, 0x73, 0x65, 0x72, + 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x62, 0x69, 0x74, 0x73, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x75, 0x73, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x53, + 0x69, 0x7a, 0x65, 0x42, 0x69, 0x74, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x1f, 0x0a, + 0x0b, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x07, 0x20, 0x01, + 0x28, 0x0c, 0x52, 0x0a, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x44, 0x61, 0x74, 0x61, 0x12, 0x2b, + 0x0a, 0x11, 0x75, 0x6e, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x65, 0x64, 0x5f, 0x73, + 0x69, 0x7a, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x75, 0x6e, 0x63, 0x6f, 0x6d, + 0x70, 0x72, 0x65, 0x73, 0x73, 0x65, 0x64, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x64, + 0x61, 0x74, 0x61, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x65, 0x64, 0x18, 0x09, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x64, 0x61, 0x74, 0x61, 0x43, 0x6f, 0x6d, 0x70, 0x72, 0x65, + 0x73, 0x73, 0x65, 0x64, 0x22, 0x87, 0x01, 0x0a, 0x19, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, + 0x5f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x62, + 0x6c, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x2e, 0x0a, + 0x13, 0x6e, 0x75, 0x6d, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x5f, 0x65, 0x6e, 0x74, + 0x72, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x11, 0x6e, 0x75, 0x6d, 0x43, + 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x12, 0x1f, 0x0a, + 0x0b, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0c, 0x52, 0x0a, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x44, 0x61, 0x74, 0x61, 0x22, 0xbf, + 0x01, 0x0a, 0x11, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x56, 0x6f, 0x69, 0x63, 0x65, + 0x44, 0x61, 0x74, 0x61, 0x12, 0x25, 0x0a, 0x05, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x56, 0x6f, 0x69, 0x63, 0x65, 0x41, + 0x75, 0x64, 0x69, 0x6f, 0x52, 0x05, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x12, 0x1a, 0x0a, 0x06, 0x63, + 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x3a, 0x02, 0x2d, 0x31, 0x52, + 0x06, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x72, 0x6f, 0x78, 0x69, + 0x6d, 0x69, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x78, + 0x69, 0x6d, 0x69, 0x74, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x78, 0x75, 0x69, 0x64, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x06, 0x52, 0x04, 0x78, 0x75, 0x69, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x75, 0x64, + 0x69, 0x62, 0x6c, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x0b, 0x61, 0x75, 0x64, 0x69, 0x62, 0x6c, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x12, 0x12, 0x0a, 0x04, + 0x74, 0x69, 0x63, 0x6b, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x74, 0x69, 0x63, 0x6b, + 0x22, 0x66, 0x0a, 0x16, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x50, 0x61, 0x63, 0x6b, + 0x65, 0x74, 0x52, 0x65, 0x6c, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x69, + 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x74, 0x69, 0x63, 0x6b, 0x12, 0x22, + 0x0a, 0x0c, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x73, 0x69, + 0x7a, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x22, 0x70, 0x0a, 0x16, 0x43, 0x53, 0x56, 0x43, + 0x4d, 0x73, 0x67, 0x5f, 0x46, 0x75, 0x6c, 0x6c, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x53, 0x70, 0x6c, + 0x69, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x69, 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x04, 0x74, 0x69, 0x63, 0x6b, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x76, 0x0a, 0x12, 0x43, 0x53, + 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x48, 0x4c, 0x54, 0x56, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x06, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6c, 0x69, 0x65, + 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x63, 0x6c, 0x69, 0x65, 0x6e, + 0x74, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x6c, 0x6f, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x05, 0x73, 0x6c, 0x6f, 0x74, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x78, + 0x69, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x78, 0x69, + 0x65, 0x73, 0x22, 0x32, 0x0a, 0x15, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x65, + 0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x49, 0x44, 0x12, 0x19, 0x0a, 0x08, 0x73, + 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x73, + 0x74, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x22, 0x2a, 0x0a, 0x14, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, + 0x67, 0x5f, 0x43, 0x6d, 0x64, 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x12, + 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, + 0x74, 0x61, 0x22, 0x4b, 0x0a, 0x19, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x52, 0x63, + 0x6f, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, + 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, + 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, + 0x54, 0x0a, 0x0e, 0x43, 0x4d, 0x73, 0x67, 0x49, 0x50, 0x43, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, + 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x72, 0x5f, 0x67, 0x75, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, 0x52, 0x0c, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x65, 0x72, 0x47, 0x75, 0x69, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, + 0x73, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x63, + 0x65, 0x73, 0x73, 0x49, 0x64, 0x22, 0xec, 0x01, 0x0a, 0x0e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x65, + 0x72, 0x76, 0x65, 0x72, 0x50, 0x65, 0x65, 0x72, 0x12, 0x23, 0x0a, 0x0b, 0x70, 0x6c, 0x61, 0x79, + 0x65, 0x72, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x3a, 0x02, 0x2d, + 0x31, 0x52, 0x0a, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x6c, 0x6f, 0x74, 0x12, 0x18, 0x0a, + 0x07, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x06, 0x52, 0x07, + 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x12, 0x21, 0x0a, 0x03, 0x69, 0x70, 0x63, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x49, 0x50, 0x43, 0x41, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x03, 0x69, 0x70, 0x63, 0x12, 0x22, 0x0a, 0x0d, 0x74, 0x68, + 0x65, 0x79, 0x5f, 0x68, 0x65, 0x61, 0x72, 0x5f, 0x79, 0x6f, 0x75, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x0b, 0x74, 0x68, 0x65, 0x79, 0x48, 0x65, 0x61, 0x72, 0x59, 0x6f, 0x75, 0x12, 0x22, + 0x0a, 0x0d, 0x79, 0x6f, 0x75, 0x5f, 0x68, 0x65, 0x61, 0x72, 0x5f, 0x74, 0x68, 0x65, 0x6d, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x79, 0x6f, 0x75, 0x48, 0x65, 0x61, 0x72, 0x54, 0x68, + 0x65, 0x6d, 0x12, 0x30, 0x0a, 0x14, 0x69, 0x73, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x73, + 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x12, 0x69, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, + 0x48, 0x6f, 0x73, 0x74, 0x22, 0x37, 0x0a, 0x10, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, + 0x50, 0x65, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x04, 0x70, 0x65, 0x65, 0x72, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x72, + 0x76, 0x65, 0x72, 0x50, 0x65, 0x65, 0x72, 0x52, 0x04, 0x70, 0x65, 0x65, 0x72, 0x22, 0x38, 0x0a, + 0x1c, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x43, 0x6c, 0x65, 0x61, 0x72, 0x41, 0x6c, + 0x6c, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x18, 0x0a, + 0x07, 0x6d, 0x61, 0x70, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, + 0x6d, 0x61, 0x70, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xa2, 0x03, 0x0a, 0x1f, 0x50, 0x72, 0x6f, 0x74, + 0x6f, 0x46, 0x6c, 0x61, 0x74, 0x74, 0x65, 0x6e, 0x65, 0x64, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, + 0x69, 0x7a, 0x65, 0x72, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x74, 0x12, 0x20, 0x0a, 0x0c, 0x76, + 0x61, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x73, 0x79, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x0a, 0x76, 0x61, 0x72, 0x54, 0x79, 0x70, 0x65, 0x53, 0x79, 0x6d, 0x12, 0x20, 0x0a, + 0x0c, 0x76, 0x61, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x73, 0x79, 0x6d, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x0a, 0x76, 0x61, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x53, 0x79, 0x6d, 0x12, + 0x1b, 0x0a, 0x09, 0x62, 0x69, 0x74, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x08, 0x62, 0x69, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, + 0x6c, 0x6f, 0x77, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, + 0x08, 0x6c, 0x6f, 0x77, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x68, 0x69, 0x67, + 0x68, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x02, 0x52, 0x09, 0x68, + 0x69, 0x67, 0x68, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x65, 0x6e, 0x63, 0x6f, + 0x64, 0x65, 0x5f, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, + 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x39, 0x0a, 0x19, 0x66, + 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x72, 0x5f, + 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x73, 0x79, 0x6d, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x16, + 0x66, 0x69, 0x65, 0x6c, 0x64, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x72, 0x4e, + 0x61, 0x6d, 0x65, 0x53, 0x79, 0x6d, 0x12, 0x38, 0x0a, 0x18, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, + 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x72, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x16, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x53, + 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x72, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x12, 0x22, 0x0a, 0x0d, 0x73, 0x65, 0x6e, 0x64, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x73, 0x79, + 0x6d, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x73, 0x65, 0x6e, 0x64, 0x4e, 0x6f, 0x64, + 0x65, 0x53, 0x79, 0x6d, 0x12, 0x26, 0x0a, 0x0f, 0x76, 0x61, 0x72, 0x5f, 0x65, 0x6e, 0x63, 0x6f, + 0x64, 0x65, 0x72, 0x5f, 0x73, 0x79, 0x6d, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x76, + 0x61, 0x72, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x72, 0x53, 0x79, 0x6d, 0x22, 0x9e, 0x01, 0x0a, + 0x1a, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x46, 0x6c, 0x61, 0x74, 0x74, 0x65, 0x6e, 0x65, 0x64, 0x53, + 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x72, 0x5f, 0x74, 0x12, 0x2e, 0x0a, 0x13, 0x73, + 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x73, + 0x79, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x11, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, + 0x69, 0x7a, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x53, 0x79, 0x6d, 0x12, 0x2d, 0x0a, 0x12, 0x73, + 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x72, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x11, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, + 0x7a, 0x65, 0x72, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x66, 0x69, + 0x65, 0x6c, 0x64, 0x73, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x03, 0x20, 0x03, 0x28, 0x05, + 0x52, 0x0b, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x22, 0xb0, 0x01, + 0x0a, 0x1b, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x46, 0x6c, 0x61, 0x74, 0x74, 0x65, + 0x6e, 0x65, 0x64, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x72, 0x12, 0x3d, 0x0a, + 0x0b, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x46, 0x6c, 0x61, 0x74, 0x74, 0x65, + 0x6e, 0x65, 0x64, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x72, 0x5f, 0x74, 0x52, + 0x0b, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x72, 0x73, 0x12, 0x18, 0x0a, 0x07, + 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x73, + 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x73, 0x12, 0x38, 0x0a, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, + 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x46, 0x6c, + 0x61, 0x74, 0x74, 0x65, 0x6e, 0x65, 0x64, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, + 0x72, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x74, 0x52, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, + 0x22, 0x27, 0x0a, 0x11, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x74, 0x6f, 0x70, + 0x53, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x67, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x07, 0x52, 0x04, 0x67, 0x75, 0x69, 0x64, 0x22, 0xb2, 0x01, 0x0a, 0x1e, 0x43, 0x42, + 0x69, 0x64, 0x69, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x52, 0x65, 0x62, 0x72, 0x6f, 0x61, 0x64, 0x63, + 0x61, 0x73, 0x74, 0x47, 0x61, 0x6d, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x22, 0x0a, 0x0c, + 0x70, 0x6f, 0x73, 0x74, 0x74, 0x6f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x0c, 0x70, 0x6f, 0x73, 0x74, 0x74, 0x6f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, + 0x12, 0x18, 0x0a, 0x07, 0x62, 0x75, 0x66, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x07, 0x62, 0x75, 0x66, 0x74, 0x79, 0x70, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x63, 0x6c, + 0x69, 0x65, 0x6e, 0x74, 0x62, 0x69, 0x74, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x0e, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x62, 0x69, 0x74, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x12, 0x2a, 0x0a, 0x10, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x69, 0x6e, 0x67, 0x63, + 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x10, 0x72, 0x65, + 0x63, 0x65, 0x69, 0x76, 0x69, 0x6e, 0x67, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x22, 0x3f, + 0x0a, 0x1b, 0x43, 0x42, 0x69, 0x64, 0x69, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x52, 0x65, 0x62, 0x72, + 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x20, 0x0a, + 0x0b, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x0b, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, + 0x9a, 0x09, 0x0a, 0x16, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4e, 0x65, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x65, + 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x64, + 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x70, 0x75, 0x5f, + 0x75, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x63, 0x70, 0x75, + 0x55, 0x73, 0x61, 0x67, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x5f, + 0x75, 0x73, 0x65, 0x64, 0x5f, 0x6d, 0x62, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x6d, + 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x55, 0x73, 0x65, 0x64, 0x4d, 0x62, 0x12, 0x24, 0x0a, 0x0e, 0x6d, + 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x5f, 0x66, 0x72, 0x65, 0x65, 0x5f, 0x6d, 0x62, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x0c, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x46, 0x72, 0x65, 0x65, 0x4d, + 0x62, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x06, 0x75, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x70, 0x61, + 0x77, 0x6e, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, + 0x73, 0x70, 0x61, 0x77, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x6e, 0x75, + 0x6d, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x0a, 0x6e, 0x75, 0x6d, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x6e, + 0x75, 0x6d, 0x5f, 0x62, 0x6f, 0x74, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x6e, + 0x75, 0x6d, 0x42, 0x6f, 0x74, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x6e, 0x75, 0x6d, 0x5f, 0x73, 0x70, + 0x65, 0x63, 0x74, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, + 0x6e, 0x75, 0x6d, 0x53, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x22, 0x0a, + 0x0d, 0x6e, 0x75, 0x6d, 0x5f, 0x74, 0x76, 0x5f, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x73, 0x18, 0x0b, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x6e, 0x75, 0x6d, 0x54, 0x76, 0x52, 0x65, 0x6c, 0x61, 0x79, + 0x73, 0x12, 0x10, 0x0a, 0x03, 0x66, 0x70, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x02, 0x52, 0x03, + 0x66, 0x70, 0x73, 0x12, 0x32, 0x0a, 0x05, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x18, 0x11, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4e, + 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x50, 0x6f, 0x72, 0x74, + 0x52, 0x05, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x61, 0x76, 0x67, 0x5f, 0x6c, + 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x6f, 0x75, 0x74, 0x18, 0x12, 0x20, 0x01, 0x28, 0x02, + 0x52, 0x0d, 0x61, 0x76, 0x67, 0x4c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x4f, 0x75, 0x74, 0x12, + 0x24, 0x0a, 0x0e, 0x61, 0x76, 0x67, 0x5f, 0x6c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x69, + 0x6e, 0x18, 0x13, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0c, 0x61, 0x76, 0x67, 0x4c, 0x61, 0x74, 0x65, + 0x6e, 0x63, 0x79, 0x49, 0x6e, 0x12, 0x26, 0x0a, 0x0f, 0x61, 0x76, 0x67, 0x5f, 0x70, 0x61, 0x63, + 0x6b, 0x65, 0x74, 0x73, 0x5f, 0x6f, 0x75, 0x74, 0x18, 0x14, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0d, + 0x61, 0x76, 0x67, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x4f, 0x75, 0x74, 0x12, 0x24, 0x0a, + 0x0e, 0x61, 0x76, 0x67, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x5f, 0x69, 0x6e, 0x18, + 0x15, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0c, 0x61, 0x76, 0x67, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, + 0x73, 0x49, 0x6e, 0x12, 0x20, 0x0a, 0x0c, 0x61, 0x76, 0x67, 0x5f, 0x6c, 0x6f, 0x73, 0x73, 0x5f, + 0x6f, 0x75, 0x74, 0x18, 0x16, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x61, 0x76, 0x67, 0x4c, 0x6f, + 0x73, 0x73, 0x4f, 0x75, 0x74, 0x12, 0x1e, 0x0a, 0x0b, 0x61, 0x76, 0x67, 0x5f, 0x6c, 0x6f, 0x73, + 0x73, 0x5f, 0x69, 0x6e, 0x18, 0x17, 0x20, 0x01, 0x28, 0x02, 0x52, 0x09, 0x61, 0x76, 0x67, 0x4c, + 0x6f, 0x73, 0x73, 0x49, 0x6e, 0x12, 0x20, 0x0a, 0x0c, 0x61, 0x76, 0x67, 0x5f, 0x64, 0x61, 0x74, + 0x61, 0x5f, 0x6f, 0x75, 0x74, 0x18, 0x18, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x61, 0x76, 0x67, + 0x44, 0x61, 0x74, 0x61, 0x4f, 0x75, 0x74, 0x12, 0x1e, 0x0a, 0x0b, 0x61, 0x76, 0x67, 0x5f, 0x64, + 0x61, 0x74, 0x61, 0x5f, 0x69, 0x6e, 0x18, 0x19, 0x20, 0x01, 0x28, 0x02, 0x52, 0x09, 0x61, 0x76, + 0x67, 0x44, 0x61, 0x74, 0x61, 0x49, 0x6e, 0x12, 0x22, 0x0a, 0x0d, 0x74, 0x6f, 0x74, 0x61, 0x6c, + 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x69, 0x6e, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, + 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x49, 0x6e, 0x12, 0x28, 0x0a, 0x10, 0x74, + 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x5f, 0x69, 0x6e, 0x18, + 0x1b, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x50, 0x61, 0x63, 0x6b, + 0x65, 0x74, 0x73, 0x49, 0x6e, 0x12, 0x24, 0x0a, 0x0e, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x64, + 0x61, 0x74, 0x61, 0x5f, 0x6f, 0x75, 0x74, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x74, + 0x6f, 0x74, 0x61, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x4f, 0x75, 0x74, 0x12, 0x2a, 0x0a, 0x11, 0x74, + 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x5f, 0x6f, 0x75, 0x74, + 0x18, 0x1d, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x50, 0x61, 0x63, + 0x6b, 0x65, 0x74, 0x73, 0x4f, 0x75, 0x74, 0x12, 0x38, 0x0a, 0x07, 0x70, 0x6c, 0x61, 0x79, 0x65, + 0x72, 0x73, 0x18, 0x1e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, + 0x65, 0x72, 0x76, 0x65, 0x72, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x74, 0x61, 0x74, + 0x73, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x52, 0x07, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, + 0x73, 0x1a, 0x2e, 0x0a, 0x04, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6f, 0x72, + 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x12, 0x0a, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x1a, 0xc8, 0x01, 0x0a, 0x06, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, + 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x73, + 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, + 0x5f, 0x61, 0x64, 0x64, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x6d, + 0x6f, 0x74, 0x65, 0x41, 0x64, 0x64, 0x72, 0x12, 0x24, 0x0a, 0x0e, 0x70, 0x69, 0x6e, 0x67, 0x5f, + 0x73, 0x74, 0x64, 0x64, 0x65, 0x76, 0x5f, 0x6d, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x0c, 0x70, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x64, 0x64, 0x65, 0x76, 0x4d, 0x73, 0x12, 0x1e, 0x0a, + 0x0b, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x61, 0x76, 0x67, 0x5f, 0x6d, 0x73, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x09, 0x70, 0x69, 0x6e, 0x67, 0x41, 0x76, 0x67, 0x4d, 0x73, 0x12, 0x26, 0x0a, + 0x0f, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x6c, 0x6f, 0x73, 0x73, 0x5f, 0x70, 0x63, 0x74, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0d, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x4c, 0x6f, + 0x73, 0x73, 0x50, 0x63, 0x74, 0x12, 0x15, 0x0a, 0x06, 0x69, 0x73, 0x5f, 0x62, 0x6f, 0x74, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x69, 0x73, 0x42, 0x6f, 0x74, 0x22, 0xd1, 0x02, 0x0a, 0x12, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x48, 0x6c, 0x74, 0x76, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x05, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x12, 0x25, 0x0a, 0x0e, 0x70, 0x72, 0x69, + 0x28, 0x05, 0x52, 0x05, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x12, 0x29, 0x0a, 0x0e, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x0d, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, - 0x12, 0x24, 0x0a, 0x0e, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x73, 0x74, 0x6f, 0x70, 0x5f, - 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x79, - 0x53, 0x74, 0x6f, 0x70, 0x41, 0x74, 0x12, 0x26, 0x0a, 0x0f, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x79, - 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x0d, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x53, 0x74, 0x61, 0x72, 0x74, 0x41, 0x74, 0x12, 0x32, - 0x0a, 0x15, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x73, 0x6c, 0x6f, 0x77, 0x64, 0x6f, 0x77, - 0x6e, 0x5f, 0x62, 0x65, 0x67, 0x69, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x13, 0x72, - 0x65, 0x70, 0x6c, 0x61, 0x79, 0x53, 0x6c, 0x6f, 0x77, 0x64, 0x6f, 0x77, 0x6e, 0x42, 0x65, 0x67, - 0x69, 0x6e, 0x12, 0x2e, 0x0a, 0x13, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x73, 0x6c, 0x6f, - 0x77, 0x64, 0x6f, 0x77, 0x6e, 0x5f, 0x65, 0x6e, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x11, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x53, 0x6c, 0x6f, 0x77, 0x64, 0x6f, 0x77, 0x6e, 0x45, - 0x6e, 0x64, 0x12, 0x30, 0x0a, 0x14, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x73, 0x6c, 0x6f, - 0x77, 0x64, 0x6f, 0x77, 0x6e, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x02, - 0x52, 0x12, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x53, 0x6c, 0x6f, 0x77, 0x64, 0x6f, 0x77, 0x6e, - 0x52, 0x61, 0x74, 0x65, 0x22, 0xd4, 0x01, 0x0a, 0x12, 0x43, 0x43, 0x4c, 0x43, 0x4d, 0x73, 0x67, - 0x5f, 0x48, 0x6c, 0x74, 0x76, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x72, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x6c, 0x6f, 0x77, 0x64, 0x6f, 0x77, - 0x6e, 0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0e, - 0x73, 0x6c, 0x6f, 0x77, 0x64, 0x6f, 0x77, 0x6e, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x23, - 0x0a, 0x0d, 0x73, 0x6c, 0x6f, 0x77, 0x64, 0x6f, 0x77, 0x6e, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0c, 0x73, 0x6c, 0x6f, 0x77, 0x64, 0x6f, 0x77, 0x6e, 0x52, - 0x61, 0x74, 0x65, 0x12, 0x37, 0x0a, 0x18, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x5f, 0x74, - 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x15, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x54, 0x61, - 0x72, 0x67, 0x65, 0x74, 0x45, 0x6e, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1d, 0x0a, 0x0a, - 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x02, - 0x52, 0x09, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x2d, 0x0a, 0x19, 0x43, - 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, - 0x5f, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x6d, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x6d, 0x64, 0x2a, 0xb9, 0x01, 0x0a, 0x0c, 0x4e, - 0x45, 0x54, 0x5f, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x12, 0x0b, 0x0a, 0x07, 0x6e, - 0x65, 0x74, 0x5f, 0x4e, 0x4f, 0x50, 0x10, 0x00, 0x12, 0x12, 0x0a, 0x0e, 0x6e, 0x65, 0x74, 0x5f, - 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, - 0x6e, 0x65, 0x74, 0x5f, 0x46, 0x69, 0x6c, 0x65, 0x10, 0x02, 0x12, 0x17, 0x0a, 0x13, 0x6e, 0x65, - 0x74, 0x5f, 0x53, 0x70, 0x6c, 0x69, 0x74, 0x53, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x55, 0x73, 0x65, - 0x72, 0x10, 0x03, 0x12, 0x0c, 0x0a, 0x08, 0x6e, 0x65, 0x74, 0x5f, 0x54, 0x69, 0x63, 0x6b, 0x10, - 0x04, 0x12, 0x11, 0x0a, 0x0d, 0x6e, 0x65, 0x74, 0x5f, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x43, - 0x6d, 0x64, 0x10, 0x05, 0x12, 0x11, 0x0a, 0x0d, 0x6e, 0x65, 0x74, 0x5f, 0x53, 0x65, 0x74, 0x43, - 0x6f, 0x6e, 0x56, 0x61, 0x72, 0x10, 0x06, 0x12, 0x13, 0x0a, 0x0f, 0x6e, 0x65, 0x74, 0x5f, 0x53, - 0x69, 0x67, 0x6e, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x10, 0x07, 0x12, 0x18, 0x0a, 0x14, - 0x6e, 0x65, 0x74, 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, - 0x44, 0x61, 0x74, 0x61, 0x10, 0x64, 0x2a, 0x94, 0x02, 0x0a, 0x0c, 0x43, 0x4c, 0x43, 0x5f, 0x4d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x12, 0x12, 0x0a, 0x0e, 0x63, 0x6c, 0x63, 0x5f, 0x43, - 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x10, 0x08, 0x12, 0x0c, 0x0a, 0x08, 0x63, - 0x6c, 0x63, 0x5f, 0x4d, 0x6f, 0x76, 0x65, 0x10, 0x09, 0x12, 0x11, 0x0a, 0x0d, 0x63, 0x6c, 0x63, - 0x5f, 0x56, 0x6f, 0x69, 0x63, 0x65, 0x44, 0x61, 0x74, 0x61, 0x10, 0x0a, 0x12, 0x13, 0x0a, 0x0f, - 0x63, 0x6c, 0x63, 0x5f, 0x42, 0x61, 0x73, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x41, 0x63, 0x6b, 0x10, - 0x0b, 0x12, 0x14, 0x0a, 0x10, 0x63, 0x6c, 0x63, 0x5f, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x45, - 0x76, 0x65, 0x6e, 0x74, 0x73, 0x10, 0x0c, 0x12, 0x18, 0x0a, 0x14, 0x63, 0x6c, 0x63, 0x5f, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x43, 0x76, 0x61, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x10, - 0x0d, 0x12, 0x14, 0x0a, 0x10, 0x63, 0x6c, 0x63, 0x5f, 0x46, 0x69, 0x6c, 0x65, 0x43, 0x52, 0x43, - 0x43, 0x68, 0x65, 0x63, 0x6b, 0x10, 0x0e, 0x12, 0x17, 0x0a, 0x13, 0x63, 0x6c, 0x63, 0x5f, 0x4c, - 0x6f, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x10, 0x0f, - 0x12, 0x1a, 0x0a, 0x16, 0x63, 0x6c, 0x63, 0x5f, 0x53, 0x70, 0x6c, 0x69, 0x74, 0x50, 0x6c, 0x61, - 0x79, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x10, 0x10, 0x12, 0x15, 0x0a, 0x11, - 0x63, 0x6c, 0x63, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x10, 0x11, 0x12, 0x14, 0x0a, 0x10, 0x63, 0x6c, 0x63, 0x5f, 0x43, 0x6d, 0x64, 0x4b, 0x65, - 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x10, 0x12, 0x12, 0x12, 0x0a, 0x0e, 0x63, 0x6c, 0x63, - 0x5f, 0x48, 0x6c, 0x74, 0x76, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x10, 0x14, 0x2a, 0x4c, 0x0a, - 0x11, 0x56, 0x6f, 0x69, 0x63, 0x65, 0x44, 0x61, 0x74, 0x61, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, - 0x5f, 0x74, 0x12, 0x1a, 0x0a, 0x16, 0x56, 0x4f, 0x49, 0x43, 0x45, 0x44, 0x41, 0x54, 0x41, 0x5f, - 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x5f, 0x53, 0x54, 0x45, 0x41, 0x4d, 0x10, 0x00, 0x12, 0x1b, - 0x0a, 0x17, 0x56, 0x4f, 0x49, 0x43, 0x45, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x46, 0x4f, 0x52, 0x4d, - 0x41, 0x54, 0x5f, 0x45, 0x4e, 0x47, 0x49, 0x4e, 0x45, 0x10, 0x01, 0x2a, 0x79, 0x0a, 0x17, 0x45, - 0x53, 0x70, 0x6c, 0x69, 0x74, 0x53, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x17, 0x4d, 0x53, 0x47, 0x5f, 0x53, 0x50, - 0x4c, 0x49, 0x54, 0x53, 0x43, 0x52, 0x45, 0x45, 0x4e, 0x5f, 0x41, 0x44, 0x44, 0x55, 0x53, 0x45, - 0x52, 0x10, 0x00, 0x12, 0x1e, 0x0a, 0x1a, 0x4d, 0x53, 0x47, 0x5f, 0x53, 0x50, 0x4c, 0x49, 0x54, - 0x53, 0x43, 0x52, 0x45, 0x45, 0x4e, 0x5f, 0x52, 0x45, 0x4d, 0x4f, 0x56, 0x45, 0x55, 0x53, 0x45, - 0x52, 0x10, 0x01, 0x12, 0x1d, 0x0a, 0x19, 0x4d, 0x53, 0x47, 0x5f, 0x53, 0x50, 0x4c, 0x49, 0x54, - 0x53, 0x43, 0x52, 0x45, 0x45, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x42, 0x49, 0x54, 0x53, - 0x10, 0x01, 0x1a, 0x02, 0x10, 0x01, 0x2a, 0xe3, 0x04, 0x0a, 0x0c, 0x53, 0x56, 0x43, 0x5f, 0x4d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x12, 0x12, 0x0a, 0x0e, 0x73, 0x76, 0x63, 0x5f, 0x53, - 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x10, 0x08, 0x12, 0x11, 0x0a, 0x0d, 0x73, - 0x76, 0x63, 0x5f, 0x53, 0x65, 0x6e, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x10, 0x09, 0x12, 0x11, - 0x0a, 0x0d, 0x73, 0x76, 0x63, 0x5f, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x10, - 0x0a, 0x12, 0x10, 0x0a, 0x0c, 0x73, 0x76, 0x63, 0x5f, 0x53, 0x65, 0x74, 0x50, 0x61, 0x75, 0x73, - 0x65, 0x10, 0x0b, 0x12, 0x19, 0x0a, 0x15, 0x73, 0x76, 0x63, 0x5f, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x10, 0x0c, 0x12, 0x19, - 0x0a, 0x15, 0x73, 0x76, 0x63, 0x5f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x74, 0x72, 0x69, - 0x6e, 0x67, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x10, 0x0d, 0x12, 0x11, 0x0a, 0x0d, 0x73, 0x76, 0x63, - 0x5f, 0x56, 0x6f, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x69, 0x74, 0x10, 0x0e, 0x12, 0x11, 0x0a, 0x0d, - 0x73, 0x76, 0x63, 0x5f, 0x56, 0x6f, 0x69, 0x63, 0x65, 0x44, 0x61, 0x74, 0x61, 0x10, 0x0f, 0x12, - 0x0d, 0x0a, 0x09, 0x73, 0x76, 0x63, 0x5f, 0x50, 0x72, 0x69, 0x6e, 0x74, 0x10, 0x10, 0x12, 0x0e, - 0x0a, 0x0a, 0x73, 0x76, 0x63, 0x5f, 0x53, 0x6f, 0x75, 0x6e, 0x64, 0x73, 0x10, 0x11, 0x12, 0x0f, - 0x0a, 0x0b, 0x73, 0x76, 0x63, 0x5f, 0x53, 0x65, 0x74, 0x56, 0x69, 0x65, 0x77, 0x10, 0x12, 0x12, - 0x10, 0x0a, 0x0c, 0x73, 0x76, 0x63, 0x5f, 0x46, 0x69, 0x78, 0x41, 0x6e, 0x67, 0x6c, 0x65, 0x10, - 0x13, 0x12, 0x16, 0x0a, 0x12, 0x73, 0x76, 0x63, 0x5f, 0x43, 0x72, 0x6f, 0x73, 0x73, 0x68, 0x61, - 0x69, 0x72, 0x41, 0x6e, 0x67, 0x6c, 0x65, 0x10, 0x14, 0x12, 0x10, 0x0a, 0x0c, 0x73, 0x76, 0x63, - 0x5f, 0x42, 0x53, 0x50, 0x44, 0x65, 0x63, 0x61, 0x6c, 0x10, 0x15, 0x12, 0x13, 0x0a, 0x0f, 0x73, - 0x76, 0x63, 0x5f, 0x53, 0x70, 0x6c, 0x69, 0x74, 0x53, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x10, 0x16, - 0x12, 0x13, 0x0a, 0x0f, 0x73, 0x76, 0x63, 0x5f, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x10, 0x17, 0x12, 0x15, 0x0a, 0x11, 0x73, 0x76, 0x63, 0x5f, 0x45, 0x6e, 0x74, - 0x69, 0x74, 0x79, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x10, 0x18, 0x12, 0x11, 0x0a, 0x0d, - 0x73, 0x76, 0x63, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x10, 0x19, 0x12, - 0x16, 0x0a, 0x12, 0x73, 0x76, 0x63, 0x5f, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x45, 0x6e, 0x74, - 0x69, 0x74, 0x69, 0x65, 0x73, 0x10, 0x1a, 0x12, 0x14, 0x0a, 0x10, 0x73, 0x76, 0x63, 0x5f, 0x54, - 0x65, 0x6d, 0x70, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x69, 0x65, 0x73, 0x10, 0x1b, 0x12, 0x10, 0x0a, - 0x0c, 0x73, 0x76, 0x63, 0x5f, 0x50, 0x72, 0x65, 0x66, 0x65, 0x74, 0x63, 0x68, 0x10, 0x1c, 0x12, - 0x0c, 0x0a, 0x08, 0x73, 0x76, 0x63, 0x5f, 0x4d, 0x65, 0x6e, 0x75, 0x10, 0x1d, 0x12, 0x15, 0x0a, - 0x11, 0x73, 0x76, 0x63, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4c, 0x69, - 0x73, 0x74, 0x10, 0x1e, 0x12, 0x14, 0x0a, 0x10, 0x73, 0x76, 0x63, 0x5f, 0x47, 0x65, 0x74, 0x43, - 0x76, 0x61, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x10, 0x1f, 0x12, 0x14, 0x0a, 0x10, 0x73, 0x76, - 0x63, 0x5f, 0x50, 0x61, 0x69, 0x6e, 0x74, 0x6d, 0x61, 0x70, 0x44, 0x61, 0x74, 0x61, 0x10, 0x21, - 0x12, 0x14, 0x0a, 0x10, 0x73, 0x76, 0x63, 0x5f, 0x43, 0x6d, 0x64, 0x4b, 0x65, 0x79, 0x56, 0x61, - 0x6c, 0x75, 0x65, 0x73, 0x10, 0x22, 0x12, 0x15, 0x0a, 0x11, 0x73, 0x76, 0x63, 0x5f, 0x45, 0x6e, - 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x10, 0x23, 0x12, 0x12, 0x0a, - 0x0e, 0x73, 0x76, 0x63, 0x5f, 0x48, 0x6c, 0x74, 0x76, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x10, - 0x24, 0x12, 0x19, 0x0a, 0x15, 0x73, 0x76, 0x63, 0x5f, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, - 0x73, 0x74, 0x5f, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x10, 0x26, 0x2a, 0x87, 0x01, 0x0a, - 0x11, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, - 0x5f, 0x74, 0x12, 0x17, 0x0a, 0x13, 0x52, 0x45, 0x50, 0x4c, 0x41, 0x59, 0x5f, 0x45, 0x56, 0x45, - 0x4e, 0x54, 0x5f, 0x43, 0x41, 0x4e, 0x43, 0x45, 0x4c, 0x10, 0x00, 0x12, 0x16, 0x0a, 0x12, 0x52, - 0x45, 0x50, 0x4c, 0x41, 0x59, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x44, 0x45, 0x41, 0x54, - 0x48, 0x10, 0x01, 0x12, 0x18, 0x0a, 0x14, 0x52, 0x45, 0x50, 0x4c, 0x41, 0x59, 0x5f, 0x45, 0x56, - 0x45, 0x4e, 0x54, 0x5f, 0x47, 0x45, 0x4e, 0x45, 0x52, 0x49, 0x43, 0x10, 0x02, 0x12, 0x27, 0x0a, - 0x23, 0x52, 0x45, 0x50, 0x4c, 0x41, 0x59, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x53, 0x54, - 0x55, 0x43, 0x4b, 0x5f, 0x4e, 0x45, 0x45, 0x44, 0x5f, 0x46, 0x55, 0x4c, 0x4c, 0x5f, 0x55, 0x50, - 0x44, 0x41, 0x54, 0x45, 0x10, 0x03, 0x42, 0x03, 0x80, 0x01, 0x00, + 0x05, 0x3a, 0x02, 0x2d, 0x31, 0x52, 0x0d, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x54, 0x61, + 0x72, 0x67, 0x65, 0x74, 0x12, 0x24, 0x0a, 0x0e, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x73, + 0x74, 0x6f, 0x70, 0x5f, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x72, 0x65, + 0x70, 0x6c, 0x61, 0x79, 0x53, 0x74, 0x6f, 0x70, 0x41, 0x74, 0x12, 0x26, 0x0a, 0x0f, 0x72, 0x65, + 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x61, 0x74, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x0d, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x53, 0x74, 0x61, 0x72, 0x74, + 0x41, 0x74, 0x12, 0x32, 0x0a, 0x15, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x73, 0x6c, 0x6f, + 0x77, 0x64, 0x6f, 0x77, 0x6e, 0x5f, 0x62, 0x65, 0x67, 0x69, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x13, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x53, 0x6c, 0x6f, 0x77, 0x64, 0x6f, 0x77, + 0x6e, 0x42, 0x65, 0x67, 0x69, 0x6e, 0x12, 0x2e, 0x0a, 0x13, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x79, + 0x5f, 0x73, 0x6c, 0x6f, 0x77, 0x64, 0x6f, 0x77, 0x6e, 0x5f, 0x65, 0x6e, 0x64, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x11, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x53, 0x6c, 0x6f, 0x77, 0x64, + 0x6f, 0x77, 0x6e, 0x45, 0x6e, 0x64, 0x12, 0x30, 0x0a, 0x14, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x79, + 0x5f, 0x73, 0x6c, 0x6f, 0x77, 0x64, 0x6f, 0x77, 0x6e, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x07, + 0x20, 0x01, 0x28, 0x02, 0x52, 0x12, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x53, 0x6c, 0x6f, 0x77, + 0x64, 0x6f, 0x77, 0x6e, 0x52, 0x61, 0x74, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, + 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, + 0x22, 0xc6, 0x01, 0x0a, 0x12, 0x43, 0x43, 0x4c, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x48, 0x6c, 0x74, + 0x76, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x6c, 0x6f, 0x77, 0x64, 0x6f, 0x77, 0x6e, 0x5f, 0x6c, 0x65, + 0x6e, 0x67, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0e, 0x73, 0x6c, 0x6f, 0x77, + 0x64, 0x6f, 0x77, 0x6e, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x6c, + 0x6f, 0x77, 0x64, 0x6f, 0x77, 0x6e, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x02, 0x52, 0x0c, 0x73, 0x6c, 0x6f, 0x77, 0x64, 0x6f, 0x77, 0x6e, 0x52, 0x61, 0x74, 0x65, 0x12, + 0x29, 0x0a, 0x0e, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, + 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x3a, 0x02, 0x2d, 0x31, 0x52, 0x0d, 0x70, 0x72, 0x69, + 0x6d, 0x61, 0x72, 0x79, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x65, 0x76, + 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x02, 0x52, 0x09, + 0x65, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x2d, 0x0a, 0x19, 0x43, 0x53, 0x56, + 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x5f, 0x43, + 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x6d, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x6d, 0x64, 0x22, 0xd2, 0x02, 0x0a, 0x1d, 0x43, 0x43, 0x4c, + 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x48, 0x6c, 0x74, 0x76, 0x46, 0x69, 0x78, 0x75, 0x70, 0x4f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x54, 0x69, 0x63, 0x6b, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x69, + 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x74, 0x69, 0x63, 0x6b, 0x12, 0x1d, + 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x73, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0c, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x70, 0x73, 0x44, 0x61, 0x74, 0x61, 0x12, 0x23, 0x0a, + 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, + 0x43, 0x4d, 0x73, 0x67, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x06, 0x6f, 0x72, 0x69, 0x67, + 0x69, 0x6e, 0x12, 0x2a, 0x0a, 0x0a, 0x65, 0x79, 0x65, 0x5f, 0x61, 0x6e, 0x67, 0x6c, 0x65, 0x73, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x51, 0x41, 0x6e, + 0x67, 0x6c, 0x65, 0x52, 0x09, 0x65, 0x79, 0x65, 0x41, 0x6e, 0x67, 0x6c, 0x65, 0x73, 0x12, 0x23, + 0x0a, 0x0d, 0x6f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x6f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4d, + 0x6f, 0x64, 0x65, 0x12, 0x31, 0x0a, 0x14, 0x63, 0x61, 0x6d, 0x65, 0x72, 0x61, 0x6d, 0x61, 0x6e, + 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x13, 0x63, 0x61, 0x6d, 0x65, 0x72, 0x61, 0x6d, 0x61, 0x6e, 0x53, 0x63, 0x6f, 0x72, + 0x65, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x6f, 0x62, 0x73, 0x65, 0x72, 0x76, + 0x65, 0x72, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x0e, 0x6f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, + 0x2c, 0x0a, 0x0b, 0x76, 0x69, 0x65, 0x77, 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x08, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x56, 0x65, 0x63, 0x74, 0x6f, + 0x72, 0x52, 0x0a, 0x76, 0x69, 0x65, 0x77, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x22, 0x6b, 0x0a, + 0x1f, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x48, 0x6c, 0x74, 0x76, 0x46, 0x69, 0x78, + 0x75, 0x70, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x12, 0x12, 0x0a, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, + 0x6d, 0x6f, 0x64, 0x65, 0x12, 0x34, 0x0a, 0x16, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, + 0x5f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x4f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x2a, 0x8e, 0x03, 0x0a, 0x0c, 0x43, + 0x4c, 0x43, 0x5f, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x12, 0x12, 0x0a, 0x0e, 0x63, + 0x6c, 0x63, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x10, 0x14, 0x12, + 0x0c, 0x0a, 0x08, 0x63, 0x6c, 0x63, 0x5f, 0x4d, 0x6f, 0x76, 0x65, 0x10, 0x15, 0x12, 0x11, 0x0a, + 0x0d, 0x63, 0x6c, 0x63, 0x5f, 0x56, 0x6f, 0x69, 0x63, 0x65, 0x44, 0x61, 0x74, 0x61, 0x10, 0x16, + 0x12, 0x13, 0x0a, 0x0f, 0x63, 0x6c, 0x63, 0x5f, 0x42, 0x61, 0x73, 0x65, 0x6c, 0x69, 0x6e, 0x65, + 0x41, 0x63, 0x6b, 0x10, 0x17, 0x12, 0x14, 0x0a, 0x10, 0x63, 0x6c, 0x63, 0x5f, 0x4c, 0x69, 0x73, + 0x74, 0x65, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x10, 0x18, 0x12, 0x18, 0x0a, 0x14, 0x63, + 0x6c, 0x63, 0x5f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x43, 0x76, 0x61, 0x72, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x10, 0x19, 0x12, 0x14, 0x0a, 0x10, 0x63, 0x6c, 0x63, 0x5f, 0x46, 0x69, 0x6c, + 0x65, 0x43, 0x52, 0x43, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x10, 0x1a, 0x12, 0x17, 0x0a, 0x13, 0x63, + 0x6c, 0x63, 0x5f, 0x4c, 0x6f, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, + 0x73, 0x73, 0x10, 0x1b, 0x12, 0x1a, 0x0a, 0x16, 0x63, 0x6c, 0x63, 0x5f, 0x53, 0x70, 0x6c, 0x69, + 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x10, 0x1c, + 0x12, 0x15, 0x0a, 0x11, 0x63, 0x6c, 0x63, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, + 0x73, 0x73, 0x61, 0x67, 0x65, 0x10, 0x1d, 0x12, 0x1d, 0x0a, 0x19, 0x63, 0x6c, 0x63, 0x5f, 0x53, + 0x70, 0x6c, 0x69, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, + 0x6e, 0x65, 0x63, 0x74, 0x10, 0x1e, 0x12, 0x14, 0x0a, 0x10, 0x63, 0x6c, 0x63, 0x5f, 0x53, 0x65, + 0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x10, 0x1f, 0x12, 0x12, 0x0a, 0x0e, + 0x63, 0x6c, 0x63, 0x5f, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x50, 0x69, 0x6e, 0x67, 0x10, 0x20, + 0x12, 0x14, 0x0a, 0x10, 0x63, 0x6c, 0x63, 0x5f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, + 0x61, 0x75, 0x73, 0x65, 0x10, 0x21, 0x12, 0x14, 0x0a, 0x10, 0x63, 0x6c, 0x63, 0x5f, 0x43, 0x6d, + 0x64, 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x10, 0x22, 0x12, 0x19, 0x0a, 0x15, + 0x63, 0x6c, 0x63, 0x5f, 0x52, 0x63, 0x6f, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x44, 0x65, + 0x74, 0x61, 0x69, 0x6c, 0x73, 0x10, 0x23, 0x12, 0x12, 0x0a, 0x0e, 0x63, 0x6c, 0x63, 0x5f, 0x48, + 0x6c, 0x74, 0x76, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x10, 0x24, 0x2a, 0x99, 0x05, 0x0a, 0x0c, + 0x53, 0x56, 0x43, 0x5f, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x12, 0x12, 0x0a, 0x0e, + 0x73, 0x76, 0x63, 0x5f, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x10, 0x28, + 0x12, 0x1b, 0x0a, 0x17, 0x73, 0x76, 0x63, 0x5f, 0x46, 0x6c, 0x61, 0x74, 0x74, 0x65, 0x6e, 0x65, + 0x64, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x72, 0x10, 0x29, 0x12, 0x11, 0x0a, + 0x0d, 0x73, 0x76, 0x63, 0x5f, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x10, 0x2a, + 0x12, 0x10, 0x0a, 0x0c, 0x73, 0x76, 0x63, 0x5f, 0x53, 0x65, 0x74, 0x50, 0x61, 0x75, 0x73, 0x65, + 0x10, 0x2b, 0x12, 0x19, 0x0a, 0x15, 0x73, 0x76, 0x63, 0x5f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x10, 0x2c, 0x12, 0x19, 0x0a, + 0x15, 0x73, 0x76, 0x63, 0x5f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x74, 0x72, 0x69, 0x6e, + 0x67, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x10, 0x2d, 0x12, 0x11, 0x0a, 0x0d, 0x73, 0x76, 0x63, 0x5f, + 0x56, 0x6f, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x69, 0x74, 0x10, 0x2e, 0x12, 0x11, 0x0a, 0x0d, 0x73, + 0x76, 0x63, 0x5f, 0x56, 0x6f, 0x69, 0x63, 0x65, 0x44, 0x61, 0x74, 0x61, 0x10, 0x2f, 0x12, 0x0d, + 0x0a, 0x09, 0x73, 0x76, 0x63, 0x5f, 0x50, 0x72, 0x69, 0x6e, 0x74, 0x10, 0x30, 0x12, 0x0e, 0x0a, + 0x0a, 0x73, 0x76, 0x63, 0x5f, 0x53, 0x6f, 0x75, 0x6e, 0x64, 0x73, 0x10, 0x31, 0x12, 0x0f, 0x0a, + 0x0b, 0x73, 0x76, 0x63, 0x5f, 0x53, 0x65, 0x74, 0x56, 0x69, 0x65, 0x77, 0x10, 0x32, 0x12, 0x1c, + 0x0a, 0x18, 0x73, 0x76, 0x63, 0x5f, 0x43, 0x6c, 0x65, 0x61, 0x72, 0x41, 0x6c, 0x6c, 0x53, 0x74, + 0x72, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x10, 0x33, 0x12, 0x14, 0x0a, 0x10, + 0x73, 0x76, 0x63, 0x5f, 0x43, 0x6d, 0x64, 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, + 0x10, 0x34, 0x12, 0x10, 0x0a, 0x0c, 0x73, 0x76, 0x63, 0x5f, 0x42, 0x53, 0x50, 0x44, 0x65, 0x63, + 0x61, 0x6c, 0x10, 0x35, 0x12, 0x13, 0x0a, 0x0f, 0x73, 0x76, 0x63, 0x5f, 0x53, 0x70, 0x6c, 0x69, + 0x74, 0x53, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x10, 0x36, 0x12, 0x16, 0x0a, 0x12, 0x73, 0x76, 0x63, + 0x5f, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x69, 0x65, 0x73, 0x10, + 0x37, 0x12, 0x10, 0x0a, 0x0c, 0x73, 0x76, 0x63, 0x5f, 0x50, 0x72, 0x65, 0x66, 0x65, 0x74, 0x63, + 0x68, 0x10, 0x38, 0x12, 0x0c, 0x0a, 0x08, 0x73, 0x76, 0x63, 0x5f, 0x4d, 0x65, 0x6e, 0x75, 0x10, + 0x39, 0x12, 0x14, 0x0a, 0x10, 0x73, 0x76, 0x63, 0x5f, 0x47, 0x65, 0x74, 0x43, 0x76, 0x61, 0x72, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x10, 0x3a, 0x12, 0x11, 0x0a, 0x0d, 0x73, 0x76, 0x63, 0x5f, 0x53, + 0x74, 0x6f, 0x70, 0x53, 0x6f, 0x75, 0x6e, 0x64, 0x10, 0x3b, 0x12, 0x10, 0x0a, 0x0c, 0x73, 0x76, + 0x63, 0x5f, 0x50, 0x65, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x10, 0x3c, 0x12, 0x16, 0x0a, 0x12, + 0x73, 0x76, 0x63, 0x5f, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x6c, 0x69, 0x61, 0x62, + 0x6c, 0x65, 0x10, 0x3d, 0x12, 0x12, 0x0a, 0x0e, 0x73, 0x76, 0x63, 0x5f, 0x48, 0x4c, 0x54, 0x56, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x10, 0x3e, 0x12, 0x15, 0x0a, 0x11, 0x73, 0x76, 0x63, 0x5f, + 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x49, 0x44, 0x10, 0x3f, 0x12, + 0x16, 0x0a, 0x12, 0x73, 0x76, 0x63, 0x5f, 0x46, 0x75, 0x6c, 0x6c, 0x46, 0x72, 0x61, 0x6d, 0x65, + 0x53, 0x70, 0x6c, 0x69, 0x74, 0x10, 0x46, 0x12, 0x19, 0x0a, 0x15, 0x73, 0x76, 0x63, 0x5f, 0x52, + 0x63, 0x6f, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, + 0x10, 0x47, 0x12, 0x13, 0x0a, 0x0f, 0x73, 0x76, 0x63, 0x5f, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x65, + 0x73, 0x73, 0x61, 0x67, 0x65, 0x10, 0x48, 0x12, 0x12, 0x0a, 0x0e, 0x73, 0x76, 0x63, 0x5f, 0x48, + 0x6c, 0x74, 0x76, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x10, 0x49, 0x12, 0x19, 0x0a, 0x15, 0x73, + 0x76, 0x63, 0x5f, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x5f, 0x43, 0x6f, 0x6d, + 0x6d, 0x61, 0x6e, 0x64, 0x10, 0x4a, 0x12, 0x1f, 0x0a, 0x1b, 0x73, 0x76, 0x63, 0x5f, 0x48, 0x6c, + 0x74, 0x76, 0x46, 0x69, 0x78, 0x75, 0x70, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x10, 0x4b, 0x2a, 0x4c, 0x0a, 0x11, 0x56, 0x6f, 0x69, 0x63, 0x65, + 0x44, 0x61, 0x74, 0x61, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x5f, 0x74, 0x12, 0x1a, 0x0a, 0x16, + 0x56, 0x4f, 0x49, 0x43, 0x45, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x54, + 0x5f, 0x53, 0x54, 0x45, 0x41, 0x4d, 0x10, 0x00, 0x12, 0x1b, 0x0a, 0x17, 0x56, 0x4f, 0x49, 0x43, + 0x45, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x5f, 0x45, 0x4e, 0x47, + 0x49, 0x4e, 0x45, 0x10, 0x01, 0x2a, 0x42, 0x0a, 0x0e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x50, 0x61, 0x75, 0x73, 0x65, 0x5f, 0x74, 0x12, 0x0c, 0x0a, 0x08, 0x52, 0x50, 0x5f, 0x50, 0x41, + 0x55, 0x53, 0x45, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x52, 0x50, 0x5f, 0x55, 0x4e, 0x50, 0x41, + 0x55, 0x53, 0x45, 0x10, 0x01, 0x12, 0x12, 0x0a, 0x0e, 0x52, 0x50, 0x5f, 0x54, 0x4f, 0x47, 0x47, + 0x4c, 0x45, 0x50, 0x41, 0x55, 0x53, 0x45, 0x10, 0x02, 0x2a, 0x1d, 0x0a, 0x0c, 0x50, 0x72, 0x65, + 0x66, 0x65, 0x74, 0x63, 0x68, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0d, 0x0a, 0x09, 0x50, 0x46, 0x54, + 0x5f, 0x53, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0x00, 0x2a, 0x56, 0x0a, 0x17, 0x45, 0x53, 0x70, 0x6c, + 0x69, 0x74, 0x53, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x54, + 0x79, 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x17, 0x4d, 0x53, 0x47, 0x5f, 0x53, 0x50, 0x4c, 0x49, 0x54, + 0x53, 0x43, 0x52, 0x45, 0x45, 0x4e, 0x5f, 0x41, 0x44, 0x44, 0x55, 0x53, 0x45, 0x52, 0x10, 0x00, + 0x12, 0x1e, 0x0a, 0x1a, 0x4d, 0x53, 0x47, 0x5f, 0x53, 0x50, 0x4c, 0x49, 0x54, 0x53, 0x43, 0x52, + 0x45, 0x45, 0x4e, 0x5f, 0x52, 0x45, 0x4d, 0x4f, 0x56, 0x45, 0x55, 0x53, 0x45, 0x52, 0x10, 0x01, + 0x2a, 0xb3, 0x01, 0x0a, 0x15, 0x45, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x76, 0x61, 0x72, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x25, 0x0a, 0x21, 0x65, 0x51, + 0x75, 0x65, 0x72, 0x79, 0x43, 0x76, 0x61, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x5f, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x49, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x10, + 0x00, 0x12, 0x26, 0x0a, 0x22, 0x65, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x76, 0x61, 0x72, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x43, 0x76, 0x61, 0x72, 0x4e, + 0x6f, 0x74, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x10, 0x01, 0x12, 0x22, 0x0a, 0x1e, 0x65, 0x51, 0x75, + 0x65, 0x72, 0x79, 0x43, 0x76, 0x61, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x5f, 0x4e, 0x6f, 0x74, 0x41, 0x43, 0x76, 0x61, 0x72, 0x10, 0x02, 0x12, 0x27, 0x0a, + 0x23, 0x65, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x76, 0x61, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x43, 0x76, 0x61, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x65, + 0x63, 0x74, 0x65, 0x64, 0x10, 0x03, 0x2a, 0x68, 0x0a, 0x0b, 0x44, 0x49, 0x41, 0x4c, 0x4f, 0x47, + 0x5f, 0x54, 0x59, 0x50, 0x45, 0x12, 0x0e, 0x0a, 0x0a, 0x44, 0x49, 0x41, 0x4c, 0x4f, 0x47, 0x5f, + 0x4d, 0x53, 0x47, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x44, 0x49, 0x41, 0x4c, 0x4f, 0x47, 0x5f, + 0x4d, 0x45, 0x4e, 0x55, 0x10, 0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x44, 0x49, 0x41, 0x4c, 0x4f, 0x47, + 0x5f, 0x54, 0x45, 0x58, 0x54, 0x10, 0x02, 0x12, 0x10, 0x0a, 0x0c, 0x44, 0x49, 0x41, 0x4c, 0x4f, + 0x47, 0x5f, 0x45, 0x4e, 0x54, 0x52, 0x59, 0x10, 0x03, 0x12, 0x15, 0x0a, 0x11, 0x44, 0x49, 0x41, + 0x4c, 0x4f, 0x47, 0x5f, 0x41, 0x53, 0x4b, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x10, 0x04, + 0x2a, 0x2b, 0x0a, 0x19, 0x53, 0x56, 0x43, 0x5f, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, + 0x5f, 0x4c, 0x6f, 0x77, 0x46, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x0e, 0x0a, + 0x09, 0x73, 0x76, 0x63, 0x5f, 0x64, 0x75, 0x6d, 0x6d, 0x79, 0x10, 0xd8, 0x04, 0x2a, 0x61, 0x0a, + 0x16, 0x42, 0x69, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x4d, + 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x12, 0x1b, 0x0a, 0x17, 0x62, 0x69, 0x5f, 0x52, 0x65, + 0x62, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x47, 0x61, 0x6d, 0x65, 0x45, 0x76, 0x65, + 0x6e, 0x74, 0x10, 0x10, 0x12, 0x18, 0x0a, 0x14, 0x62, 0x69, 0x5f, 0x52, 0x65, 0x62, 0x72, 0x6f, + 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x10, 0x11, 0x12, 0x10, + 0x0a, 0x0c, 0x62, 0x69, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x10, 0x12, + 0x2a, 0x4d, 0x0a, 0x23, 0x42, 0x69, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, + 0x6c, 0x5f, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x5f, 0x4c, 0x6f, 0x77, 0x46, 0x72, + 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x11, 0x0a, 0x0c, 0x62, 0x69, 0x5f, 0x52, 0x65, + 0x6c, 0x61, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x10, 0xbc, 0x05, 0x12, 0x13, 0x0a, 0x0e, 0x62, 0x69, + 0x5f, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x10, 0xbd, 0x05, 0x2a, + 0xa1, 0x01, 0x0a, 0x11, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, + 0x79, 0x70, 0x65, 0x5f, 0x74, 0x12, 0x17, 0x0a, 0x13, 0x52, 0x45, 0x50, 0x4c, 0x41, 0x59, 0x5f, + 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x43, 0x41, 0x4e, 0x43, 0x45, 0x4c, 0x10, 0x00, 0x12, 0x16, + 0x0a, 0x12, 0x52, 0x45, 0x50, 0x4c, 0x41, 0x59, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x44, + 0x45, 0x41, 0x54, 0x48, 0x10, 0x01, 0x12, 0x18, 0x0a, 0x14, 0x52, 0x45, 0x50, 0x4c, 0x41, 0x59, + 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x47, 0x45, 0x4e, 0x45, 0x52, 0x49, 0x43, 0x10, 0x02, + 0x12, 0x27, 0x0a, 0x23, 0x52, 0x45, 0x50, 0x4c, 0x41, 0x59, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, + 0x5f, 0x53, 0x54, 0x55, 0x43, 0x4b, 0x5f, 0x4e, 0x45, 0x45, 0x44, 0x5f, 0x46, 0x55, 0x4c, 0x4c, + 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x10, 0x03, 0x12, 0x18, 0x0a, 0x14, 0x52, 0x45, 0x50, + 0x4c, 0x41, 0x59, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x56, 0x49, 0x43, 0x54, 0x4f, 0x52, + 0x59, 0x10, 0x04, } var ( @@ -5362,98 +6678,127 @@ func file_netmessages_proto_rawDescGZIP() []byte { return file_netmessages_proto_rawDescData } -var file_netmessages_proto_enumTypes = make([]protoimpl.EnumInfo, 6) -var file_netmessages_proto_msgTypes = make([]protoimpl.MessageInfo, 61) +var file_netmessages_proto_enumTypes = make([]protoimpl.EnumInfo, 12) +var file_netmessages_proto_msgTypes = make([]protoimpl.MessageInfo, 70) var file_netmessages_proto_goTypes = []interface{}{ - (NET_Messages)(0), // 0: NET_Messages - (CLC_Messages)(0), // 1: CLC_Messages - (VoiceDataFormatT)(0), // 2: VoiceDataFormat_t - (ESplitScreenMessageType)(0), // 3: ESplitScreenMessageType - (SVC_Messages)(0), // 4: SVC_Messages - (ReplayEventTypeT)(0), // 5: ReplayEventType_t - (*CMsgVector)(nil), // 6: CMsgVector - (*CMsgVector2D)(nil), // 7: CMsgVector2D - (*CMsgQAngle)(nil), // 8: CMsgQAngle - (*CMsgRGBA)(nil), // 9: CMsgRGBA - (*CNETMsg_Tick)(nil), // 10: CNETMsg_Tick - (*CNETMsg_StringCmd)(nil), // 11: CNETMsg_StringCmd - (*CNETMsg_SignonState)(nil), // 12: CNETMsg_SignonState - (*CMsg_CVars)(nil), // 13: CMsg_CVars - (*CNETMsg_SetConVar)(nil), // 14: CNETMsg_SetConVar - (*CNETMsg_NOP)(nil), // 15: CNETMsg_NOP - (*CNETMsg_Disconnect)(nil), // 16: CNETMsg_Disconnect - (*CNETMsg_File)(nil), // 17: CNETMsg_File - (*CNETMsg_SplitScreenUser)(nil), // 18: CNETMsg_SplitScreenUser - (*CNETMsg_PlayerAvatarData)(nil), // 19: CNETMsg_PlayerAvatarData - (*CCLCMsg_ClientInfo)(nil), // 20: CCLCMsg_ClientInfo - (*CCLCMsg_Move)(nil), // 21: CCLCMsg_Move - (*CCLCMsg_VoiceData)(nil), // 22: CCLCMsg_VoiceData - (*CCLCMsg_BaselineAck)(nil), // 23: CCLCMsg_BaselineAck - (*CCLCMsg_ListenEvents)(nil), // 24: CCLCMsg_ListenEvents - (*CCLCMsg_RespondCvarValue)(nil), // 25: CCLCMsg_RespondCvarValue - (*CCLCMsg_FileCRCCheck)(nil), // 26: CCLCMsg_FileCRCCheck - (*CCLCMsg_LoadingProgress)(nil), // 27: CCLCMsg_LoadingProgress - (*CCLCMsg_SplitPlayerConnect)(nil), // 28: CCLCMsg_SplitPlayerConnect - (*CCLCMsg_CmdKeyValues)(nil), // 29: CCLCMsg_CmdKeyValues - (*CSVCMsg_ServerInfo)(nil), // 30: CSVCMsg_ServerInfo - (*CSVCMsg_ClassInfo)(nil), // 31: CSVCMsg_ClassInfo - (*CSVCMsg_SendTable)(nil), // 32: CSVCMsg_SendTable - (*CSVCMsg_Print)(nil), // 33: CSVCMsg_Print - (*CSVCMsg_SetPause)(nil), // 34: CSVCMsg_SetPause - (*CSVCMsg_SetView)(nil), // 35: CSVCMsg_SetView - (*CSVCMsg_CreateStringTable)(nil), // 36: CSVCMsg_CreateStringTable - (*CSVCMsg_UpdateStringTable)(nil), // 37: CSVCMsg_UpdateStringTable - (*CSVCMsg_VoiceInit)(nil), // 38: CSVCMsg_VoiceInit - (*CSVCMsg_VoiceData)(nil), // 39: CSVCMsg_VoiceData - (*CSVCMsg_FixAngle)(nil), // 40: CSVCMsg_FixAngle - (*CSVCMsg_CrosshairAngle)(nil), // 41: CSVCMsg_CrosshairAngle - (*CSVCMsg_Prefetch)(nil), // 42: CSVCMsg_Prefetch - (*CSVCMsg_BSPDecal)(nil), // 43: CSVCMsg_BSPDecal - (*CSVCMsg_SplitScreen)(nil), // 44: CSVCMsg_SplitScreen - (*CSVCMsg_GetCvarValue)(nil), // 45: CSVCMsg_GetCvarValue - (*CSVCMsg_Menu)(nil), // 46: CSVCMsg_Menu - (*CSVCMsg_UserMessage)(nil), // 47: CSVCMsg_UserMessage - (*CSVCMsg_PaintmapData)(nil), // 48: CSVCMsg_PaintmapData - (*CSVCMsg_GameEvent)(nil), // 49: CSVCMsg_GameEvent - (*CSVCMsg_GameEventList)(nil), // 50: CSVCMsg_GameEventList - (*CSVCMsg_TempEntities)(nil), // 51: CSVCMsg_TempEntities - (*CSVCMsg_PacketEntities)(nil), // 52: CSVCMsg_PacketEntities - (*CSVCMsg_Sounds)(nil), // 53: CSVCMsg_Sounds - (*CSVCMsg_EntityMsg)(nil), // 54: CSVCMsg_EntityMsg - (*CSVCMsg_CmdKeyValues)(nil), // 55: CSVCMsg_CmdKeyValues - (*CSVCMsg_EncryptedData)(nil), // 56: CSVCMsg_EncryptedData - (*CSVCMsg_HltvReplay)(nil), // 57: CSVCMsg_HltvReplay - (*CCLCMsg_HltvReplay)(nil), // 58: CCLCMsg_HltvReplay - (*CSVCMsg_Broadcast_Command)(nil), // 59: CSVCMsg_Broadcast_Command - (*CMsg_CVars_CVar)(nil), // 60: CMsg_CVars.CVar - (*CSVCMsg_ClassInfoClassT)(nil), // 61: CSVCMsg_ClassInfo.class_t - (*CSVCMsg_SendTableSendpropT)(nil), // 62: CSVCMsg_SendTable.sendprop_t - (*CSVCMsg_GameEventKeyT)(nil), // 63: CSVCMsg_GameEvent.key_t - (*CSVCMsg_GameEventListKeyT)(nil), // 64: CSVCMsg_GameEventList.key_t - (*CSVCMsg_GameEventListDescriptorT)(nil), // 65: CSVCMsg_GameEventList.descriptor_t - (*CSVCMsg_SoundsSounddataT)(nil), // 66: CSVCMsg_Sounds.sounddata_t + (CLC_Messages)(0), // 0: CLC_Messages + (SVC_Messages)(0), // 1: SVC_Messages + (VoiceDataFormatT)(0), // 2: VoiceDataFormat_t + (RequestPauseT)(0), // 3: RequestPause_t + (PrefetchType)(0), // 4: PrefetchType + (ESplitScreenMessageType)(0), // 5: ESplitScreenMessageType + (EQueryCvarValueStatus)(0), // 6: EQueryCvarValueStatus + (DIALOG_TYPE)(0), // 7: DIALOG_TYPE + (SVC_Messages_LowFrequency)(0), // 8: SVC_Messages_LowFrequency + (Bidirectional_Messages)(0), // 9: Bidirectional_Messages + (Bidirectional_Messages_LowFrequency)(0), // 10: Bidirectional_Messages_LowFrequency + (ReplayEventTypeT)(0), // 11: ReplayEventType_t + (*CCLCMsg_ClientInfo)(nil), // 12: CCLCMsg_ClientInfo + (*CCLCMsg_Move)(nil), // 13: CCLCMsg_Move + (*CMsgVoiceAudio)(nil), // 14: CMsgVoiceAudio + (*CCLCMsg_VoiceData)(nil), // 15: CCLCMsg_VoiceData + (*CCLCMsg_BaselineAck)(nil), // 16: CCLCMsg_BaselineAck + (*CCLCMsg_ListenEvents)(nil), // 17: CCLCMsg_ListenEvents + (*CCLCMsg_RespondCvarValue)(nil), // 18: CCLCMsg_RespondCvarValue + (*CCLCMsg_FileCRCCheck)(nil), // 19: CCLCMsg_FileCRCCheck + (*CCLCMsg_LoadingProgress)(nil), // 20: CCLCMsg_LoadingProgress + (*CCLCMsg_SplitPlayerConnect)(nil), // 21: CCLCMsg_SplitPlayerConnect + (*CCLCMsg_ClientMessage)(nil), // 22: CCLCMsg_ClientMessage + (*CCLCMsg_SplitPlayerDisconnect)(nil), // 23: CCLCMsg_SplitPlayerDisconnect + (*CCLCMsg_ServerStatus)(nil), // 24: CCLCMsg_ServerStatus + (*CCLCMsg_ServerPing)(nil), // 25: CCLCMsg_ServerPing + (*CCLCMsg_RequestPause)(nil), // 26: CCLCMsg_RequestPause + (*CCLCMsg_CmdKeyValues)(nil), // 27: CCLCMsg_CmdKeyValues + (*CCLCMsg_RconServerDetails)(nil), // 28: CCLCMsg_RconServerDetails + (*CSVCMsg_ServerInfo)(nil), // 29: CSVCMsg_ServerInfo + (*CSVCMsg_ClassInfo)(nil), // 30: CSVCMsg_ClassInfo + (*CSVCMsg_SetPause)(nil), // 31: CSVCMsg_SetPause + (*CSVCMsg_VoiceInit)(nil), // 32: CSVCMsg_VoiceInit + (*CSVCMsg_Print)(nil), // 33: CSVCMsg_Print + (*CSVCMsg_Sounds)(nil), // 34: CSVCMsg_Sounds + (*CSVCMsg_Prefetch)(nil), // 35: CSVCMsg_Prefetch + (*CSVCMsg_SetView)(nil), // 36: CSVCMsg_SetView + (*CSVCMsg_FixAngle)(nil), // 37: CSVCMsg_FixAngle + (*CSVCMsg_CrosshairAngle)(nil), // 38: CSVCMsg_CrosshairAngle + (*CSVCMsg_BSPDecal)(nil), // 39: CSVCMsg_BSPDecal + (*CSVCMsg_SplitScreen)(nil), // 40: CSVCMsg_SplitScreen + (*CSVCMsg_GetCvarValue)(nil), // 41: CSVCMsg_GetCvarValue + (*CSVCMsg_Menu)(nil), // 42: CSVCMsg_Menu + (*CSVCMsg_UserMessage)(nil), // 43: CSVCMsg_UserMessage + (*CSVCMsg_SendTable)(nil), // 44: CSVCMsg_SendTable + (*CSVCMsg_GameEventList)(nil), // 45: CSVCMsg_GameEventList + (*CSVCMsg_PacketEntities)(nil), // 46: CSVCMsg_PacketEntities + (*CSVCMsg_TempEntities)(nil), // 47: CSVCMsg_TempEntities + (*CSVCMsg_CreateStringTable)(nil), // 48: CSVCMsg_CreateStringTable + (*CSVCMsg_UpdateStringTable)(nil), // 49: CSVCMsg_UpdateStringTable + (*CSVCMsg_VoiceData)(nil), // 50: CSVCMsg_VoiceData + (*CSVCMsg_PacketReliable)(nil), // 51: CSVCMsg_PacketReliable + (*CSVCMsg_FullFrameSplit)(nil), // 52: CSVCMsg_FullFrameSplit + (*CSVCMsg_HLTVStatus)(nil), // 53: CSVCMsg_HLTVStatus + (*CSVCMsg_ServerSteamID)(nil), // 54: CSVCMsg_ServerSteamID + (*CSVCMsg_CmdKeyValues)(nil), // 55: CSVCMsg_CmdKeyValues + (*CSVCMsg_RconServerDetails)(nil), // 56: CSVCMsg_RconServerDetails + (*CMsgIPCAddress)(nil), // 57: CMsgIPCAddress + (*CMsgServerPeer)(nil), // 58: CMsgServerPeer + (*CSVCMsg_PeerList)(nil), // 59: CSVCMsg_PeerList + (*CSVCMsg_ClearAllStringTables)(nil), // 60: CSVCMsg_ClearAllStringTables + (*ProtoFlattenedSerializerFieldT)(nil), // 61: ProtoFlattenedSerializerField_t + (*ProtoFlattenedSerializerT)(nil), // 62: ProtoFlattenedSerializer_t + (*CSVCMsg_FlattenedSerializer)(nil), // 63: CSVCMsg_FlattenedSerializer + (*CSVCMsg_StopSound)(nil), // 64: CSVCMsg_StopSound + (*CBidirMsg_RebroadcastGameEvent)(nil), // 65: CBidirMsg_RebroadcastGameEvent + (*CBidirMsg_RebroadcastSource)(nil), // 66: CBidirMsg_RebroadcastSource + (*CMsgServerNetworkStats)(nil), // 67: CMsgServerNetworkStats + (*CSVCMsg_HltvReplay)(nil), // 68: CSVCMsg_HltvReplay + (*CCLCMsg_HltvReplay)(nil), // 69: CCLCMsg_HltvReplay + (*CSVCMsg_Broadcast_Command)(nil), // 70: CSVCMsg_Broadcast_Command + (*CCLCMsg_HltvFixupOperatorTick)(nil), // 71: CCLCMsg_HltvFixupOperatorTick + (*CSVCMsg_HltvFixupOperatorStatus)(nil), // 72: CSVCMsg_HltvFixupOperatorStatus + (*CSVCMsg_ClassInfoClassT)(nil), // 73: CSVCMsg_ClassInfo.class_t + (*CSVCMsg_SoundsSounddataT)(nil), // 74: CSVCMsg_Sounds.sounddata_t + (*CSVCMsg_SendTableSendpropT)(nil), // 75: CSVCMsg_SendTable.sendprop_t + (*CSVCMsg_GameEventListKeyT)(nil), // 76: CSVCMsg_GameEventList.key_t + (*CSVCMsg_GameEventListDescriptorT)(nil), // 77: CSVCMsg_GameEventList.descriptor_t + (*CSVCMsg_PacketEntitiesCommandQueueInfoT)(nil), // 78: CSVCMsg_PacketEntities.command_queue_info_t + (*CSVCMsg_PacketEntitiesAlternateBaselineT)(nil), // 79: CSVCMsg_PacketEntities.alternate_baseline_t + (*CMsgServerNetworkStats_Port)(nil), // 80: CMsgServerNetworkStats.Port + (*CMsgServerNetworkStats_Player)(nil), // 81: CMsgServerNetworkStats.Player + (*CSVCMsg_GameSessionConfiguration)(nil), // 82: CSVCMsg_GameSessionConfiguration + (*CMsgQAngle)(nil), // 83: CMsgQAngle + (*CMsgVector)(nil), // 84: CMsgVector } var file_netmessages_proto_depIdxs = []int32{ - 60, // 0: CMsg_CVars.cvars:type_name -> CMsg_CVars.CVar - 13, // 1: CNETMsg_SetConVar.convars:type_name -> CMsg_CVars - 2, // 2: CCLCMsg_VoiceData.format:type_name -> VoiceDataFormat_t - 13, // 3: CCLCMsg_SplitPlayerConnect.convars:type_name -> CMsg_CVars - 61, // 4: CSVCMsg_ClassInfo.classes:type_name -> CSVCMsg_ClassInfo.class_t - 62, // 5: CSVCMsg_SendTable.props:type_name -> CSVCMsg_SendTable.sendprop_t - 2, // 6: CSVCMsg_VoiceData.format:type_name -> VoiceDataFormat_t - 8, // 7: CSVCMsg_FixAngle.angle:type_name -> CMsgQAngle - 8, // 8: CSVCMsg_CrosshairAngle.angle:type_name -> CMsgQAngle - 6, // 9: CSVCMsg_BSPDecal.pos:type_name -> CMsgVector - 3, // 10: CSVCMsg_SplitScreen.type:type_name -> ESplitScreenMessageType - 63, // 11: CSVCMsg_GameEvent.keys:type_name -> CSVCMsg_GameEvent.key_t - 65, // 12: CSVCMsg_GameEventList.descriptors:type_name -> CSVCMsg_GameEventList.descriptor_t - 66, // 13: CSVCMsg_Sounds.sounds:type_name -> CSVCMsg_Sounds.sounddata_t - 64, // 14: CSVCMsg_GameEventList.descriptor_t.keys:type_name -> CSVCMsg_GameEventList.key_t - 15, // [15:15] is the sub-list for method output_type - 15, // [15:15] is the sub-list for method input_type - 15, // [15:15] is the sub-list for extension type_name - 15, // [15:15] is the sub-list for extension extendee - 0, // [0:15] is the sub-list for field type_name + 2, // 0: CMsgVoiceAudio.format:type_name -> VoiceDataFormat_t + 14, // 1: CCLCMsg_VoiceData.audio:type_name -> CMsgVoiceAudio + 3, // 2: CCLCMsg_RequestPause.pause_type:type_name -> RequestPause_t + 82, // 3: CSVCMsg_ServerInfo.game_session_config:type_name -> CSVCMsg_GameSessionConfiguration + 73, // 4: CSVCMsg_ClassInfo.classes:type_name -> CSVCMsg_ClassInfo.class_t + 74, // 5: CSVCMsg_Sounds.sounds:type_name -> CSVCMsg_Sounds.sounddata_t + 4, // 6: CSVCMsg_Prefetch.resource_type:type_name -> PrefetchType + 83, // 7: CSVCMsg_FixAngle.angle:type_name -> CMsgQAngle + 83, // 8: CSVCMsg_CrosshairAngle.angle:type_name -> CMsgQAngle + 84, // 9: CSVCMsg_BSPDecal.pos:type_name -> CMsgVector + 5, // 10: CSVCMsg_SplitScreen.type:type_name -> ESplitScreenMessageType + 75, // 11: CSVCMsg_SendTable.props:type_name -> CSVCMsg_SendTable.sendprop_t + 77, // 12: CSVCMsg_GameEventList.descriptors:type_name -> CSVCMsg_GameEventList.descriptor_t + 78, // 13: CSVCMsg_PacketEntities.command_queue_info:type_name -> CSVCMsg_PacketEntities.command_queue_info_t + 79, // 14: CSVCMsg_PacketEntities.alternate_baselines:type_name -> CSVCMsg_PacketEntities.alternate_baseline_t + 14, // 15: CSVCMsg_VoiceData.audio:type_name -> CMsgVoiceAudio + 57, // 16: CMsgServerPeer.ipc:type_name -> CMsgIPCAddress + 58, // 17: CSVCMsg_PeerList.peer:type_name -> CMsgServerPeer + 62, // 18: CSVCMsg_FlattenedSerializer.serializers:type_name -> ProtoFlattenedSerializer_t + 61, // 19: CSVCMsg_FlattenedSerializer.fields:type_name -> ProtoFlattenedSerializerField_t + 80, // 20: CMsgServerNetworkStats.ports:type_name -> CMsgServerNetworkStats.Port + 81, // 21: CMsgServerNetworkStats.players:type_name -> CMsgServerNetworkStats.Player + 84, // 22: CCLCMsg_HltvFixupOperatorTick.origin:type_name -> CMsgVector + 83, // 23: CCLCMsg_HltvFixupOperatorTick.eye_angles:type_name -> CMsgQAngle + 84, // 24: CCLCMsg_HltvFixupOperatorTick.view_offset:type_name -> CMsgVector + 76, // 25: CSVCMsg_GameEventList.descriptor_t.keys:type_name -> CSVCMsg_GameEventList.key_t + 26, // [26:26] is the sub-list for method output_type + 26, // [26:26] is the sub-list for method input_type + 26, // [26:26] is the sub-list for extension type_name + 26, // [26:26] is the sub-list for extension extendee + 0, // [0:26] is the sub-list for field type_name } func init() { file_netmessages_proto_init() } @@ -5461,9 +6806,10 @@ func file_netmessages_proto_init() { if File_netmessages_proto != nil { return } + file_networkbasetypes_proto_init() if !protoimpl.UnsafeEnabled { file_netmessages_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgVector); i { + switch v := v.(*CCLCMsg_ClientInfo); i { case 0: return &v.state case 1: @@ -5475,7 +6821,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgVector2D); i { + switch v := v.(*CCLCMsg_Move); i { case 0: return &v.state case 1: @@ -5487,7 +6833,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgQAngle); i { + switch v := v.(*CMsgVoiceAudio); i { case 0: return &v.state case 1: @@ -5499,7 +6845,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsgRGBA); i { + switch v := v.(*CCLCMsg_VoiceData); i { case 0: return &v.state case 1: @@ -5511,7 +6857,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CNETMsg_Tick); i { + switch v := v.(*CCLCMsg_BaselineAck); i { case 0: return &v.state case 1: @@ -5523,7 +6869,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CNETMsg_StringCmd); i { + switch v := v.(*CCLCMsg_ListenEvents); i { case 0: return &v.state case 1: @@ -5535,7 +6881,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CNETMsg_SignonState); i { + switch v := v.(*CCLCMsg_RespondCvarValue); i { case 0: return &v.state case 1: @@ -5547,7 +6893,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsg_CVars); i { + switch v := v.(*CCLCMsg_FileCRCCheck); i { case 0: return &v.state case 1: @@ -5559,7 +6905,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CNETMsg_SetConVar); i { + switch v := v.(*CCLCMsg_LoadingProgress); i { case 0: return &v.state case 1: @@ -5571,7 +6917,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CNETMsg_NOP); i { + switch v := v.(*CCLCMsg_SplitPlayerConnect); i { case 0: return &v.state case 1: @@ -5583,7 +6929,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CNETMsg_Disconnect); i { + switch v := v.(*CCLCMsg_ClientMessage); i { case 0: return &v.state case 1: @@ -5595,7 +6941,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CNETMsg_File); i { + switch v := v.(*CCLCMsg_SplitPlayerDisconnect); i { case 0: return &v.state case 1: @@ -5607,7 +6953,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CNETMsg_SplitScreenUser); i { + switch v := v.(*CCLCMsg_ServerStatus); i { case 0: return &v.state case 1: @@ -5619,7 +6965,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CNETMsg_PlayerAvatarData); i { + switch v := v.(*CCLCMsg_ServerPing); i { case 0: return &v.state case 1: @@ -5631,7 +6977,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCLCMsg_ClientInfo); i { + switch v := v.(*CCLCMsg_RequestPause); i { case 0: return &v.state case 1: @@ -5643,7 +6989,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCLCMsg_Move); i { + switch v := v.(*CCLCMsg_CmdKeyValues); i { case 0: return &v.state case 1: @@ -5655,7 +7001,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCLCMsg_VoiceData); i { + switch v := v.(*CCLCMsg_RconServerDetails); i { case 0: return &v.state case 1: @@ -5667,7 +7013,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCLCMsg_BaselineAck); i { + switch v := v.(*CSVCMsg_ServerInfo); i { case 0: return &v.state case 1: @@ -5679,7 +7025,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCLCMsg_ListenEvents); i { + switch v := v.(*CSVCMsg_ClassInfo); i { case 0: return &v.state case 1: @@ -5691,7 +7037,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCLCMsg_RespondCvarValue); i { + switch v := v.(*CSVCMsg_SetPause); i { case 0: return &v.state case 1: @@ -5703,7 +7049,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCLCMsg_FileCRCCheck); i { + switch v := v.(*CSVCMsg_VoiceInit); i { case 0: return &v.state case 1: @@ -5715,7 +7061,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCLCMsg_LoadingProgress); i { + switch v := v.(*CSVCMsg_Print); i { case 0: return &v.state case 1: @@ -5727,7 +7073,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCLCMsg_SplitPlayerConnect); i { + switch v := v.(*CSVCMsg_Sounds); i { case 0: return &v.state case 1: @@ -5739,7 +7085,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCLCMsg_CmdKeyValues); i { + switch v := v.(*CSVCMsg_Prefetch); i { case 0: return &v.state case 1: @@ -5751,7 +7097,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CSVCMsg_ServerInfo); i { + switch v := v.(*CSVCMsg_SetView); i { case 0: return &v.state case 1: @@ -5763,7 +7109,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CSVCMsg_ClassInfo); i { + switch v := v.(*CSVCMsg_FixAngle); i { case 0: return &v.state case 1: @@ -5775,7 +7121,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CSVCMsg_SendTable); i { + switch v := v.(*CSVCMsg_CrosshairAngle); i { case 0: return &v.state case 1: @@ -5787,7 +7133,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CSVCMsg_Print); i { + switch v := v.(*CSVCMsg_BSPDecal); i { case 0: return &v.state case 1: @@ -5799,7 +7145,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CSVCMsg_SetPause); i { + switch v := v.(*CSVCMsg_SplitScreen); i { case 0: return &v.state case 1: @@ -5811,7 +7157,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CSVCMsg_SetView); i { + switch v := v.(*CSVCMsg_GetCvarValue); i { case 0: return &v.state case 1: @@ -5823,7 +7169,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CSVCMsg_CreateStringTable); i { + switch v := v.(*CSVCMsg_Menu); i { case 0: return &v.state case 1: @@ -5835,7 +7181,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CSVCMsg_UpdateStringTable); i { + switch v := v.(*CSVCMsg_UserMessage); i { case 0: return &v.state case 1: @@ -5847,7 +7193,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CSVCMsg_VoiceInit); i { + switch v := v.(*CSVCMsg_SendTable); i { case 0: return &v.state case 1: @@ -5859,7 +7205,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CSVCMsg_VoiceData); i { + switch v := v.(*CSVCMsg_GameEventList); i { case 0: return &v.state case 1: @@ -5871,7 +7217,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CSVCMsg_FixAngle); i { + switch v := v.(*CSVCMsg_PacketEntities); i { case 0: return &v.state case 1: @@ -5883,7 +7229,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CSVCMsg_CrosshairAngle); i { + switch v := v.(*CSVCMsg_TempEntities); i { case 0: return &v.state case 1: @@ -5895,7 +7241,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CSVCMsg_Prefetch); i { + switch v := v.(*CSVCMsg_CreateStringTable); i { case 0: return &v.state case 1: @@ -5907,7 +7253,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CSVCMsg_BSPDecal); i { + switch v := v.(*CSVCMsg_UpdateStringTable); i { case 0: return &v.state case 1: @@ -5919,7 +7265,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CSVCMsg_SplitScreen); i { + switch v := v.(*CSVCMsg_VoiceData); i { case 0: return &v.state case 1: @@ -5931,7 +7277,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CSVCMsg_GetCvarValue); i { + switch v := v.(*CSVCMsg_PacketReliable); i { case 0: return &v.state case 1: @@ -5943,7 +7289,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CSVCMsg_Menu); i { + switch v := v.(*CSVCMsg_FullFrameSplit); i { case 0: return &v.state case 1: @@ -5955,7 +7301,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CSVCMsg_UserMessage); i { + switch v := v.(*CSVCMsg_HLTVStatus); i { case 0: return &v.state case 1: @@ -5967,7 +7313,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CSVCMsg_PaintmapData); i { + switch v := v.(*CSVCMsg_ServerSteamID); i { case 0: return &v.state case 1: @@ -5979,7 +7325,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CSVCMsg_GameEvent); i { + switch v := v.(*CSVCMsg_CmdKeyValues); i { case 0: return &v.state case 1: @@ -5991,7 +7337,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CSVCMsg_GameEventList); i { + switch v := v.(*CSVCMsg_RconServerDetails); i { case 0: return &v.state case 1: @@ -6003,7 +7349,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CSVCMsg_TempEntities); i { + switch v := v.(*CMsgIPCAddress); i { case 0: return &v.state case 1: @@ -6015,7 +7361,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CSVCMsg_PacketEntities); i { + switch v := v.(*CMsgServerPeer); i { case 0: return &v.state case 1: @@ -6027,7 +7373,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CSVCMsg_Sounds); i { + switch v := v.(*CSVCMsg_PeerList); i { case 0: return &v.state case 1: @@ -6039,7 +7385,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CSVCMsg_EntityMsg); i { + switch v := v.(*CSVCMsg_ClearAllStringTables); i { case 0: return &v.state case 1: @@ -6051,7 +7397,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CSVCMsg_CmdKeyValues); i { + switch v := v.(*ProtoFlattenedSerializerFieldT); i { case 0: return &v.state case 1: @@ -6063,7 +7409,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CSVCMsg_EncryptedData); i { + switch v := v.(*ProtoFlattenedSerializerT); i { case 0: return &v.state case 1: @@ -6075,7 +7421,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CSVCMsg_HltvReplay); i { + switch v := v.(*CSVCMsg_FlattenedSerializer); i { case 0: return &v.state case 1: @@ -6087,7 +7433,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CCLCMsg_HltvReplay); i { + switch v := v.(*CSVCMsg_StopSound); i { case 0: return &v.state case 1: @@ -6099,7 +7445,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CSVCMsg_Broadcast_Command); i { + switch v := v.(*CBidirMsg_RebroadcastGameEvent); i { case 0: return &v.state case 1: @@ -6111,7 +7457,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CMsg_CVars_CVar); i { + switch v := v.(*CBidirMsg_RebroadcastSource); i { case 0: return &v.state case 1: @@ -6123,7 +7469,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CSVCMsg_ClassInfoClassT); i { + switch v := v.(*CMsgServerNetworkStats); i { case 0: return &v.state case 1: @@ -6135,7 +7481,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CSVCMsg_SendTableSendpropT); i { + switch v := v.(*CSVCMsg_HltvReplay); i { case 0: return &v.state case 1: @@ -6147,7 +7493,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CSVCMsg_GameEventKeyT); i { + switch v := v.(*CCLCMsg_HltvReplay); i { case 0: return &v.state case 1: @@ -6159,7 +7505,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CSVCMsg_GameEventListKeyT); i { + switch v := v.(*CSVCMsg_Broadcast_Command); i { case 0: return &v.state case 1: @@ -6171,7 +7517,7 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CSVCMsg_GameEventListDescriptorT); i { + switch v := v.(*CCLCMsg_HltvFixupOperatorTick); i { case 0: return &v.state case 1: @@ -6183,6 +7529,30 @@ func file_netmessages_proto_init() { } } file_netmessages_proto_msgTypes[60].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CSVCMsg_HltvFixupOperatorStatus); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_netmessages_proto_msgTypes[61].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CSVCMsg_ClassInfoClassT); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_netmessages_proto_msgTypes[62].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CSVCMsg_SoundsSounddataT); i { case 0: return &v.state @@ -6194,14 +7564,98 @@ func file_netmessages_proto_init() { return nil } } + file_netmessages_proto_msgTypes[63].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CSVCMsg_SendTableSendpropT); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_netmessages_proto_msgTypes[64].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CSVCMsg_GameEventListKeyT); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_netmessages_proto_msgTypes[65].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CSVCMsg_GameEventListDescriptorT); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_netmessages_proto_msgTypes[66].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CSVCMsg_PacketEntitiesCommandQueueInfoT); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_netmessages_proto_msgTypes[67].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CSVCMsg_PacketEntitiesAlternateBaselineT); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_netmessages_proto_msgTypes[68].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CMsgServerNetworkStats_Port); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_netmessages_proto_msgTypes[69].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CMsgServerNetworkStats_Player); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_netmessages_proto_rawDesc, - NumEnums: 6, - NumMessages: 61, + NumEnums: 12, + NumMessages: 70, NumExtensions: 0, NumServices: 0, }, diff --git a/pkg/demoinfocs/msg/proto/cstrike15_gcmessages.proto b/pkg/demoinfocs/msg/proto/cstrike15_gcmessages.proto index 6ffe5ffc..bff5baad 100644 --- a/pkg/demoinfocs/msg/proto/cstrike15_gcmessages.proto +++ b/pkg/demoinfocs/msg/proto/cstrike15_gcmessages.proto @@ -1,8 +1,6 @@ import "steammessages.proto"; import "engine_gcmessages.proto"; - -option optimize_for = SPEED; -option cc_generic_services = false; +import "gcsdk_gcmessages.proto"; enum ECsgoGCMsg { k_EMsgGCCStrike15_v2_Base = 9100; @@ -193,6 +191,7 @@ message GlobalStatistics { optional uint32 active_survey_id = 13; optional uint32 rtime32_cur = 14; optional uint32 rtime32_event_start = 15; + optional uint32 required_appid_version2 = 16; } message OperationalStatisticDescription { @@ -849,10 +848,6 @@ message CMsgGCCStrike15_v2_MatchEndRewardDropsNotification { optional .CEconItemPreviewDataBlock iteminfo = 6; } -message CMsgItemAcknowledged { - optional .CEconItemPreviewDataBlock iteminfo = 1; -} - message CMsgGCCStrike15_v2_Client2GCEconPreviewDataBlockRequest { optional uint64 param_s = 1; optional uint64 param_a = 2; @@ -972,8 +967,24 @@ message CMsgGCCStrike15_v2_Fantasy { repeated .CMsgGCCStrike15_v2_Fantasy.FantasyTeam teams = 2; } -message CAttribute_String { - optional string value = 1; +message CMsgLegacySource1ClientWelcome { + message Location { + optional float latitude = 1; + optional float longitude = 2; + optional string country = 3; + } + + optional uint32 version = 1; + optional bytes game_data = 2; + repeated .CMsgSOCacheSubscribed outofdate_subscribed_caches = 3; + repeated .CMsgSOCacheSubscriptionCheck uptodate_subscribed_caches = 4; + optional .CMsgLegacySource1ClientWelcome.Location location = 5; + optional bytes game_data2 = 6; + optional uint32 rtime32_gc_welcome_timestamp = 7; + optional uint32 currency = 8; + optional uint32 balance = 9; + optional string balance_url = 10; + optional string txn_country_code = 11; } message CMsgCStrike15Welcome { @@ -1125,7 +1136,7 @@ message PlayerDecalDigitalSignature { optional uint32 rtime = 3; repeated float endpos = 4; repeated float startpos = 5; - repeated float right = 6; + repeated float left = 6; optional uint32 tx_defidx = 7; optional int32 entindex = 8; optional uint32 hitbox = 9; diff --git a/pkg/demoinfocs/msg/proto/cstrike15_usermessages.proto b/pkg/demoinfocs/msg/proto/cstrike15_usermessages.proto index b7d643a5..e8471e2f 100644 --- a/pkg/demoinfocs/msg/proto/cstrike15_usermessages.proto +++ b/pkg/demoinfocs/msg/proto/cstrike15_usermessages.proto @@ -1,87 +1,83 @@ -import "google/protobuf/descriptor.proto"; -import "netmessages.proto"; +import "networkbasetypes.proto"; import "cstrike15_gcmessages.proto"; -option optimize_for = SPEED; -option cc_generic_services = false; - enum ECstrike15UserMessages { - CS_UM_VGUIMenu = 1; - CS_UM_Geiger = 2; - CS_UM_Train = 3; - CS_UM_HudText = 4; - CS_UM_SayText = 5; - CS_UM_SayText2 = 6; - CS_UM_TextMsg = 7; - CS_UM_HudMsg = 8; - CS_UM_ResetHud = 9; - CS_UM_GameTitle = 10; - CS_UM_Shake = 12; - CS_UM_Fade = 13; - CS_UM_Rumble = 14; - CS_UM_CloseCaption = 15; - CS_UM_CloseCaptionDirect = 16; - CS_UM_SendAudio = 17; - CS_UM_RawAudio = 18; - CS_UM_VoiceMask = 19; - CS_UM_RequestState = 20; - CS_UM_Damage = 21; - CS_UM_RadioText = 22; - CS_UM_HintText = 23; - CS_UM_KeyHintText = 24; - CS_UM_ProcessSpottedEntityUpdate = 25; - CS_UM_ReloadEffect = 26; - CS_UM_AdjustMoney = 27; - CS_UM_UpdateTeamMoney = 28; - CS_UM_StopSpectatorMode = 29; - CS_UM_KillCam = 30; - CS_UM_DesiredTimescale = 31; - CS_UM_CurrentTimescale = 32; - CS_UM_AchievementEvent = 33; - CS_UM_MatchEndConditions = 34; - CS_UM_DisconnectToLobby = 35; - CS_UM_PlayerStatsUpdate = 36; - CS_UM_DisplayInventory = 37; - CS_UM_WarmupHasEnded = 38; - CS_UM_ClientInfo = 39; - CS_UM_XRankGet = 40; - CS_UM_XRankUpd = 41; - CS_UM_CallVoteFailed = 45; - CS_UM_VoteStart = 46; - CS_UM_VotePass = 47; - CS_UM_VoteFailed = 48; - CS_UM_VoteSetup = 49; - CS_UM_ServerRankRevealAll = 50; - CS_UM_SendLastKillerDamageToClient = 51; - CS_UM_ServerRankUpdate = 52; - CS_UM_ItemPickup = 53; - CS_UM_ShowMenu = 54; - CS_UM_BarTime = 55; - CS_UM_AmmoDenied = 56; - CS_UM_MarkAchievement = 57; - CS_UM_MatchStatsUpdate = 58; - CS_UM_ItemDrop = 59; - CS_UM_GlowPropTurnOff = 60; - CS_UM_SendPlayerItemDrops = 61; - CS_UM_RoundBackupFilenames = 62; - CS_UM_SendPlayerItemFound = 63; - CS_UM_ReportHit = 64; - CS_UM_XpUpdate = 65; - CS_UM_QuestProgress = 66; - CS_UM_ScoreLeaderboardData = 67; - CS_UM_PlayerDecalDigitalSignature = 68; - CS_UM_WeaponSound = 69; - CS_UM_UpdateScreenHealthBar = 70; - CS_UM_EntityOutlineHighlight = 71; - CS_UM_SSUI = 72; - CS_UM_SurvivalStats = 73; - CS_UM_DisconnectToLobby2 = 74; - CS_UM_EndOfMatchAllPlayersData = 75; - CS_UM_RoundImpactScoreData = 79; - CS_UM_CurrentRoundOdds = 80; - CS_UM_DeepStats = 81; - CS_UM_UtilMsg = 82; - CS_UM_UtilMsg_Response = 83; + CS_UM_VGUIMenu = 301; + CS_UM_Geiger = 302; + CS_UM_Train = 303; + CS_UM_HudText = 304; + CS_UM_SayText = 305; + CS_UM_SayText2 = 306; + CS_UM_TextMsg = 307; + CS_UM_HudMsg = 308; + CS_UM_ResetHud = 309; + CS_UM_GameTitle = 310; + CS_UM_Shake = 312; + CS_UM_Fade = 313; + CS_UM_Rumble = 314; + CS_UM_CloseCaption = 315; + CS_UM_CloseCaptionDirect = 316; + CS_UM_SendAudio = 317; + CS_UM_RawAudio = 318; + CS_UM_VoiceMask = 319; + CS_UM_RequestState = 320; + CS_UM_Damage = 321; + CS_UM_RadioText = 322; + CS_UM_HintText = 323; + CS_UM_KeyHintText = 324; + CS_UM_ProcessSpottedEntityUpdate = 325; + CS_UM_ReloadEffect = 326; + CS_UM_AdjustMoney = 327; + CS_UM_UpdateTeamMoney = 328; + CS_UM_StopSpectatorMode = 329; + CS_UM_KillCam = 330; + CS_UM_DesiredTimescale = 331; + CS_UM_CurrentTimescale = 332; + CS_UM_AchievementEvent = 333; + CS_UM_MatchEndConditions = 334; + CS_UM_DisconnectToLobby = 335; + CS_UM_PlayerStatsUpdate = 336; + CS_UM_WarmupHasEnded = 338; + CS_UM_ClientInfo = 339; + CS_UM_XRankGet = 340; + CS_UM_XRankUpd = 341; + CS_UM_CallVoteFailed = 345; + CS_UM_VoteStart = 346; + CS_UM_VotePass = 347; + CS_UM_VoteFailed = 348; + CS_UM_VoteSetup = 349; + CS_UM_ServerRankRevealAll = 350; + CS_UM_SendLastKillerDamageToClient = 351; + CS_UM_ServerRankUpdate = 352; + CS_UM_ItemPickup = 353; + CS_UM_ShowMenu = 354; + CS_UM_BarTime = 355; + CS_UM_AmmoDenied = 356; + CS_UM_MarkAchievement = 357; + CS_UM_MatchStatsUpdate = 358; + CS_UM_ItemDrop = 359; + CS_UM_GlowPropTurnOff = 360; + CS_UM_SendPlayerItemDrops = 361; + CS_UM_RoundBackupFilenames = 362; + CS_UM_SendPlayerItemFound = 363; + CS_UM_ReportHit = 364; + CS_UM_XpUpdate = 365; + CS_UM_QuestProgress = 366; + CS_UM_ScoreLeaderboardData = 367; + CS_UM_PlayerDecalDigitalSignature = 368; + CS_UM_WeaponSound = 369; + CS_UM_UpdateScreenHealthBar = 370; + CS_UM_EntityOutlineHighlight = 371; + CS_UM_SSUI = 372; + CS_UM_SurvivalStats = 373; + CS_UM_DisconnectToLobby2 = 374; + CS_UM_EndOfMatchAllPlayersData = 375; + CS_UM_PostRoundDamageReport = 376; + CS_UM_RoundEndReportData = 379; + CS_UM_CurrentRoundOdds = 380; + CS_UM_DeepStats = 381; + CS_UM_UtilMsg = 382; + CS_UM_ShootInfo = 383; } enum ECSUsrMsg_DisconnectToLobby_Action { @@ -90,14 +86,14 @@ enum ECSUsrMsg_DisconnectToLobby_Action { } message CCSUsrMsg_VGUIMenu { - message Subkey { + message Keys { optional string name = 1; - optional string str = 2; + optional string value = 2; } optional string name = 1; optional bool show = 2; - repeated .CCSUsrMsg_VGUIMenu.Subkey subkeys = 3; + repeated .CCSUsrMsg_VGUIMenu.Keys keys = 3; } message CCSUsrMsg_Geiger { @@ -112,26 +108,6 @@ message CCSUsrMsg_HudText { optional string text = 1; } -message CCSUsrMsg_SayText { - optional int32 ent_idx = 1; - optional string text = 2; - optional bool chat = 3; - optional bool textallchat = 4; -} - -message CCSUsrMsg_SayText2 { - optional int32 ent_idx = 1; - optional bool chat = 2; - optional string msg_name = 3; - repeated string params = 4; - optional bool textallchat = 5; -} - -message CCSUsrMsg_TextMsg { - optional int32 msg_dst = 1; - repeated string params = 3; -} - message CCSUsrMsg_HudMsg { optional int32 channel = 1; optional .CMsgVector2D pos = 2; @@ -184,7 +160,7 @@ message CCSUsrMsg_SendAudio { message CCSUsrMsg_RawAudio { optional int32 pitch = 1; - optional int32 entidx = 2; + optional int32 entidx = 2 [default = -1]; optional float duration = 3; optional string voice_filename = 4; } @@ -202,27 +178,27 @@ message CCSUsrMsg_VoiceMask { message CCSUsrMsg_Damage { optional int32 amount = 1; optional .CMsgVector inflictor_world_pos = 2; - optional int32 victim_entindex = 3; + optional int32 victim_entindex = 3 [default = -1]; } message CCSUsrMsg_RadioText { optional int32 msg_dst = 1; - optional int32 client = 2; + optional int32 client = 2 [default = -1]; optional string msg_name = 3; repeated string params = 4; } message CCSUsrMsg_HintText { - optional string text = 1; + optional string message = 1; } message CCSUsrMsg_KeyHintText { - repeated string hints = 1; + repeated string messages = 1; } message CCSUsrMsg_ProcessSpottedEntityUpdate { message SpottedEntityUpdate { - optional int32 entity_idx = 1; + optional int32 entity_idx = 1 [default = -1]; optional int32 class_id = 2; optional int32 origin_x = 3; optional int32 origin_y = 4; @@ -243,11 +219,11 @@ message CCSUsrMsg_SendPlayerItemDrops { message CCSUsrMsg_SendPlayerItemFound { optional .CEconItemPreviewDataBlock iteminfo = 1; - optional int32 entindex = 2; + optional int32 playerslot = 2 [default = -1]; } message CCSUsrMsg_ReloadEffect { - optional int32 entidx = 1; + optional int32 entidx = 1 [default = -1]; optional int32 actanim = 2; optional float origin_x = 3; optional float origin_y = 4; @@ -255,23 +231,24 @@ message CCSUsrMsg_ReloadEffect { } message CCSUsrMsg_WeaponSound { - optional int32 entidx = 1; + optional int32 entidx = 1 [default = -1]; optional float origin_x = 2; optional float origin_y = 3; optional float origin_z = 4; optional string sound = 5; optional float timestamp = 6; + optional fixed32 source_soundscapeid = 7; } message CCSUsrMsg_UpdateScreenHealthBar { - optional int32 entidx = 1; + optional int32 entidx = 1 [default = -1]; optional float healthratio_old = 2; optional float healthratio_new = 3; optional int32 style = 4; } message CCSUsrMsg_EntityOutlineHighlight { - optional int32 entidx = 1; + optional int32 entidx = 1 [default = -1]; optional bool removehighlight = 2; } @@ -288,8 +265,8 @@ message CCSUsrMsg_ReportHit { message CCSUsrMsg_KillCam { optional int32 obs_mode = 1; - optional int32 first_target = 2; - optional int32 second_target = 3; + optional int32 first_target = 2 [default = -1]; + optional int32 second_target = 3 [default = -1]; } message CCSUsrMsg_DesiredTimescale { @@ -313,7 +290,7 @@ message CCSUsrMsg_MatchEndConditions { optional int32 fraglimit = 1; optional int32 mp_maxrounds = 2; optional int32 mp_winlimit = 3; - optional int32 mp_timelimit = 4; + optional float mp_timelimit = 4; } message CCSUsrMsg_PlayerStatsUpdate { @@ -324,15 +301,10 @@ message CCSUsrMsg_PlayerStatsUpdate { optional int32 version = 1; repeated .CCSUsrMsg_PlayerStatsUpdate.Stat stats = 4; - optional int32 user_id = 5; + optional uint32 ehandle = 5; optional int32 crc = 6; } -message CCSUsrMsg_DisplayInventory { - optional bool display = 1; - optional int32 user_id = 2; -} - message CCSUsrMsg_QuestProgress { optional uint32 quest_id = 1; optional uint32 normal_points = 2; @@ -366,13 +338,13 @@ message CCSUsrMsg_CallVoteFailed { message CCSUsrMsg_VoteStart { optional int32 team = 1; - optional int32 ent_idx = 2; + optional int32 player_slot = 2 [default = -1]; optional int32 vote_type = 3; optional string disp_str = 4; optional string details_str = 5; optional string other_team_str = 6; optional bool is_yes_no_vote = 7; - optional int32 entidx_target = 8; + optional int32 player_slot_target = 8 [default = -1]; } message CCSUsrMsg_VotePass { @@ -396,6 +368,8 @@ message CCSUsrMsg_SendLastKillerDamageToClient { optional int32 damage_given = 2; optional int32 num_hits_taken = 3; optional int32 damage_taken = 4; + optional int32 actual_damage_given = 5; + optional int32 actual_damage_taken = 6; } message CCSUsrMsg_ServerRankUpdate { @@ -430,7 +404,7 @@ message CCSUsrMsg_BarTime { } message CCSUsrMsg_AmmoDenied { - optional int32 ammoIdx = 1; + optional int32 ammoidx = 1; } message CCSUsrMsg_MarkAchievement { @@ -447,7 +421,7 @@ message CCSUsrMsg_ItemDrop { } message CCSUsrMsg_GlowPropTurnOff { - optional int32 entidx = 1; + optional int32 entidx = 1 [default = -1]; } message CCSUsrMsg_RoundBackupFilenames { @@ -500,7 +474,7 @@ message CCSUsrMsg_EndOfMatchAllPlayersData { } message PlayerData { - optional int32 entindex = 1; + optional int32 slot = 1 [default = -1]; optional uint64 xuid = 2; optional string name = 3; optional int32 teamnumber = 4; @@ -514,11 +488,11 @@ message CCSUsrMsg_EndOfMatchAllPlayersData { optional int32 scene = 2; } -message CCSUsrMsg_RoundImpactScoreData { - message RisEvent { +message CCSUsrMsg_RoundEndReportData { + message RerEvent { message Victim { optional int32 team_number = 1; - optional int32 entindex = 2; + optional int32 playerslot = 2 [default = -1]; optional uint64 xuid = 3; optional int32 color = 4; optional bool is_bot = 5; @@ -530,21 +504,21 @@ message CCSUsrMsg_RoundImpactScoreData { } message Damage { - optional int32 target_entindex = 1; - optional uint64 target_xuid = 2; + optional int32 other_playerslot = 1 [default = -1]; + optional uint64 other_xuid = 2; optional int32 health_removed = 3; optional int32 num_hits = 4; optional int32 return_health_removed = 5; - optional int32 num_return_hits = 6; + optional int32 return_num_hits = 6; } optional float timestamp = 1; optional int32 terrorist_odds = 2; optional int32 ct_alive = 3; optional int32 t_alive = 4; - optional .CCSUsrMsg_RoundImpactScoreData.RisEvent.Victim victim_data = 5; - optional .CCSUsrMsg_RoundImpactScoreData.RisEvent.Objective objective_data = 6; - repeated .CCSUsrMsg_RoundImpactScoreData.RisEvent.Damage all_damage_data = 7; + optional .CCSUsrMsg_RoundEndReportData.RerEvent.Victim victim_data = 5; + optional .CCSUsrMsg_RoundEndReportData.RerEvent.Objective objective_data = 6; + repeated .CCSUsrMsg_RoundEndReportData.RerEvent.Damage all_damage_data = 7; } message InitialConditions { @@ -553,8 +527,18 @@ message CCSUsrMsg_RoundImpactScoreData { optional int32 terrorist_odds = 3; } - optional .CCSUsrMsg_RoundImpactScoreData.InitialConditions init_conditions = 1; - repeated .CCSUsrMsg_RoundImpactScoreData.RisEvent all_ris_event_data = 2; + optional .CCSUsrMsg_RoundEndReportData.InitialConditions init_conditions = 1; + repeated .CCSUsrMsg_RoundEndReportData.RerEvent all_rer_event_data = 2; +} + +message CCSUsrMsg_PostRoundDamageReport { + optional uint64 other_xuid = 1; + optional int32 given_kill_type = 2; + optional int32 given_health_removed = 3; + optional int32 given_num_hits = 4; + optional int32 taken_kill_type = 5; + optional int32 taken_health_removed = 6; + optional int32 taken_num_hits = 7; } message CCSUsrMsg_CurrentRoundOdds { @@ -565,6 +549,13 @@ message CCSUsrMsg_DeepStats { optional .CMsgGCCStrike15_ClientDeepStats stats = 1; } +message CCSUsrMsg_ShootInfo { + optional int32 frame_number = 1; + repeated .CMsgTransform hitbox_transforms = 2; + optional .CMsgVector shoot_pos = 3; + optional .CMsgQAngle shoot_dir = 4; +} + message CCSUsrMsg_ResetHud { optional bool reset = 1; } @@ -597,32 +588,3 @@ message CCSUsrMsg_ServerRankRevealAll { optional int32 seconds_till_shutdown = 1; optional .CMsgGCCStrike15_v2_MatchmakingGC2ServerReserve reservation = 2; } - -message CCSUsrMsg_UtilMsg { - optional string util_action = 1; - optional int32 util1 = 2; - optional int32 util2 = 3; - optional int32 util3 = 4; - optional int32 util4 = 5; - optional int32 util5 = 6; -} - -message CCSUsrMsg_UtilMsg_Response { - message ItemDetail { - optional int32 index = 1; - optional int32 hash = 2; - optional int32 crc = 3; - optional string name = 4; - } - - optional fixed32 crc = 1; - optional int32 item_count = 2; - optional fixed32 crc2 = 3; - optional int32 item_count2 = 4; - repeated int32 crc_part = 5; - repeated int32 crc_part2 = 6; - optional int32 client_timestamp = 7; - optional int32 platform = 8; - repeated .CCSUsrMsg_UtilMsg_Response.ItemDetail itemdetails = 9; - optional int32 itemgroup = 10; -} diff --git a/pkg/demoinfocs/msg/proto/engine_gcmessages.proto b/pkg/demoinfocs/msg/proto/engine_gcmessages.proto index 5797bd0c..7f81bb6a 100644 --- a/pkg/demoinfocs/msg/proto/engine_gcmessages.proto +++ b/pkg/demoinfocs/msg/proto/engine_gcmessages.proto @@ -1,7 +1,5 @@ import "google/protobuf/descriptor.proto"; -option cc_generic_services = false; - message CEngineGotvSyncPacket { optional uint64 match_id = 1; optional uint32 instance_id = 2; diff --git a/pkg/demoinfocs/msg/proto/gcsdk_gcmessages.proto b/pkg/demoinfocs/msg/proto/gcsdk_gcmessages.proto new file mode 100644 index 00000000..ef5f9aef --- /dev/null +++ b/pkg/demoinfocs/msg/proto/gcsdk_gcmessages.proto @@ -0,0 +1,323 @@ +import "steammessages.proto"; + +enum GCClientLauncherType { + GCClientLauncherType_DEFAULT = 0; + GCClientLauncherType_PERFECTWORLD = 1; + GCClientLauncherType_STEAMCHINA = 2; +} + +enum GCConnectionStatus { + GCConnectionStatus_HAVE_SESSION = 0; + GCConnectionStatus_GC_GOING_DOWN = 1; + GCConnectionStatus_NO_SESSION = 2; + GCConnectionStatus_NO_SESSION_IN_LOGON_QUEUE = 3; + GCConnectionStatus_NO_STEAM = 4; +} + +message CMsgSOIDOwner { + optional uint32 type = 1; + optional uint64 id = 2; +} + +message CMsgSOSingleObject { + optional int32 type_id = 2; + optional bytes object_data = 3; + optional fixed64 version = 4; + optional .CMsgSOIDOwner owner_soid = 5; +} + +message CMsgSOMultipleObjects { + message SingleObject { + option (msgpool_soft_limit) = 256; + option (msgpool_hard_limit) = 1024; + + optional int32 type_id = 1; + optional bytes object_data = 2; + } + + repeated .CMsgSOMultipleObjects.SingleObject objects_modified = 2; + optional fixed64 version = 3; + optional .CMsgSOIDOwner owner_soid = 6; +} + +message CMsgSOCacheSubscribed { + message SubscribedType { + optional int32 type_id = 1; + repeated bytes object_data = 2; + } + + repeated .CMsgSOCacheSubscribed.SubscribedType objects = 2; + optional fixed64 version = 3; + optional .CMsgSOIDOwner owner_soid = 4; +} + +message CMsgSOCacheUnsubscribed { + optional .CMsgSOIDOwner owner_soid = 2; +} + +message CMsgSOCacheSubscriptionCheck { + optional fixed64 version = 2; + optional .CMsgSOIDOwner owner_soid = 3; +} + +message CMsgSOCacheSubscriptionRefresh { + optional .CMsgSOIDOwner owner_soid = 2; +} + +message CMsgSOCacheVersion { + optional fixed64 version = 1; +} + +message CMsgAccountDetails { + optional bool valid = 1; + optional string account_name = 2; + optional bool public_profile = 4; + optional bool public_inventory = 5; + optional bool vac_banned = 6; + optional bool cyber_cafe = 7; + optional bool school_account = 8; + optional bool free_trial_account = 9; + optional bool subscribed = 10; + optional bool low_violence = 11; + optional bool limited = 12; + optional bool trusted = 13; + optional uint32 package = 14; + optional fixed32 time_cached = 15; + optional bool account_locked = 16; + optional bool community_banned = 17; + optional bool trade_banned = 18; + optional bool eligible_for_community_market = 19; +} + +message CMsgGCMultiplexMessage { + optional uint32 msgtype = 1; + optional bytes payload = 2; + repeated fixed64 steamids = 3; + optional bool replytogc = 4; +} + +message CMsgGCMultiplexMessage_Response { + optional uint32 msgtype = 1; +} + +message CGCToGCMsgMasterAck { + optional uint32 dir_index = 1; + optional uint32 gc_type = 2; +} + +message CGCToGCMsgMasterAck_Response { + optional int32 eresult = 1 [default = 2]; +} + +message CGCToGCMsgMasterStartupComplete { +} + +message CGCToGCMsgRouted { + optional uint32 msg_type = 1; + optional fixed64 sender_id = 2; + optional bytes net_message = 3; + optional uint32 ip = 4; +} + +message CGCToGCMsgRoutedReply { + optional uint32 msg_type = 1; + optional bytes net_message = 2; +} + +message CMsgGCUpdateSessionIP { + optional fixed64 steamid = 1; + optional fixed32 ip = 2; +} + +message CMsgGCRequestSessionIP { + optional fixed64 steamid = 1; +} + +message CMsgGCRequestSessionIPResponse { + optional fixed32 ip = 1; +} + +message CMsgSOCacheHaveVersion { + optional .CMsgSOIDOwner soid = 1; + optional fixed64 version = 2; +} + +message CMsgClientHello { + optional uint32 version = 1; + repeated .CMsgSOCacheHaveVersion socache_have_versions = 2; + optional uint32 client_session_need = 3; + optional uint32 client_launcher = 4; + optional uint32 partner_srcid = 5; + optional uint32 partner_accountid = 6; + optional uint32 partner_accountflags = 7; + optional uint32 partner_accountbalance = 8; + optional uint32 steam_launcher = 9; +} + +message CMsgServerHello { + optional uint32 version = 1; + repeated .CMsgSOCacheHaveVersion socache_have_versions = 2; + optional uint32 legacy_client_session_need = 3; + optional uint32 client_launcher = 4; + optional bytes legacy_steamdatagram_routing = 6; + optional uint32 required_internal_addr = 7; + optional bytes steamdatagram_login = 8; +} + +message CMsgClientWelcome { + message Location { + optional float latitude = 1; + optional float longitude = 2; + optional string country = 3; + } + + optional uint32 version = 1; + optional bytes game_data = 2; + repeated .CMsgSOCacheSubscribed outofdate_subscribed_caches = 3; + repeated .CMsgSOCacheSubscriptionCheck uptodate_subscribed_caches = 4; + optional .CMsgClientWelcome.Location location = 5; + optional bytes game_data2 = 6; + optional uint32 rtime32_gc_welcome_timestamp = 7; + optional uint32 currency = 8; + optional uint32 balance = 9; + optional string balance_url = 10; + optional string txn_country_code = 11; +} + +message CMsgConnectionStatus { + optional .GCConnectionStatus status = 1 [default = GCConnectionStatus_HAVE_SESSION]; + optional uint32 client_session_need = 2; + optional int32 queue_position = 3; + optional int32 queue_size = 4; + optional int32 wait_seconds = 5; + optional int32 estimated_wait_seconds_remaining = 6; +} + +message CWorkshop_PopulateItemDescriptions_Request { + message SingleItemDescription { + optional uint32 gameitemid = 1; + optional string item_description = 2; + optional bool one_per_account = 3; + } + + message ItemDescriptionsLanguageBlock { + optional string language = 1; + repeated .CWorkshop_PopulateItemDescriptions_Request.SingleItemDescription descriptions = 2; + } + + optional uint32 appid = 1; + repeated .CWorkshop_PopulateItemDescriptions_Request.ItemDescriptionsLanguageBlock languages = 2; +} + +message CWorkshop_GetContributors_Request { + optional uint32 appid = 1; + optional uint32 gameitemid = 2; +} + +message CWorkshop_GetContributors_Response { + repeated fixed64 contributors = 1; +} + +message CWorkshop_SetItemPaymentRules_Request { + message WorkshopItemPaymentRule { + optional uint64 workshop_file_id = 1; + optional float revenue_percentage = 2; + optional string rule_description = 3; + optional uint32 rule_type = 4 [default = 1]; + } + + message WorkshopDirectPaymentRule { + optional uint64 workshop_file_id = 1; + optional string rule_description = 2; + } + + message PartnerItemPaymentRule { + optional uint32 account_id = 1; + optional float revenue_percentage = 2; + optional string rule_description = 3; + } + + optional uint32 appid = 1; + optional uint32 gameitemid = 2; + repeated .CWorkshop_SetItemPaymentRules_Request.WorkshopItemPaymentRule associated_workshop_files = 3; + repeated .CWorkshop_SetItemPaymentRules_Request.PartnerItemPaymentRule partner_accounts = 4; + optional bool validate_only = 5; + optional bool make_workshop_files_subscribable = 6; + optional .CWorkshop_SetItemPaymentRules_Request.WorkshopDirectPaymentRule associated_workshop_file_for_direct_payments = 7; +} + +message CWorkshop_SetItemPaymentRules_Response { +} + +message CGameServers_AggregationQuery_Request { + optional string filter = 1; + repeated string group_fields = 3; +} + +message CGameServers_AggregationQuery_Response { + message Group { + repeated string group_values = 1; + optional uint32 servers_empty = 2; + optional uint32 servers_full = 3; + optional uint32 servers_total = 4; + optional uint32 players_humans = 5; + optional uint32 players_bots = 6; + optional uint32 player_capacity = 7; + } + + repeated .CGameServers_AggregationQuery_Response.Group groups = 1; +} + +message CWorkshop_AddSpecialPayment_Request { + optional uint32 appid = 1; + optional uint32 gameitemid = 2; + optional string date = 3; + optional uint64 payment_us_usd = 4; + optional uint64 payment_row_usd = 5; +} + +message CWorkshop_AddSpecialPayment_Response { +} + +message CProductInfo_SetRichPresenceLocalization_Request { + message Token { + optional string token = 1; + optional string value = 2; + } + + message LanguageSection { + optional string language = 1; + repeated .CProductInfo_SetRichPresenceLocalization_Request.Token tokens = 2; + } + + optional uint32 appid = 1; + repeated .CProductInfo_SetRichPresenceLocalization_Request.LanguageSection languages = 2; + optional uint64 steamid = 3; +} + +message CProductInfo_SetRichPresenceLocalization_Response { +} + +message CMsgSerializedSOCache { + message TypeCache { + optional uint32 type = 1; + repeated bytes objects = 2; + optional uint32 service_id = 3; + } + + message Cache { + message Version { + optional uint32 service = 1; + optional uint64 version = 2; + } + + optional uint32 type = 1; + optional uint64 id = 2; + repeated .CMsgSerializedSOCache.Cache.Version versions = 3; + repeated .CMsgSerializedSOCache.TypeCache type_caches = 4; + } + + optional uint32 file_version = 1; + repeated .CMsgSerializedSOCache.Cache caches = 2; + optional uint32 gc_socache_file_version = 3; +} diff --git a/pkg/demoinfocs/msg/proto/netmessages.proto b/pkg/demoinfocs/msg/proto/netmessages.proto index 692495a5..09f529f7 100644 --- a/pkg/demoinfocs/msg/proto/netmessages.proto +++ b/pkg/demoinfocs/msg/proto/netmessages.proto @@ -1,32 +1,56 @@ -import "google/protobuf/descriptor.proto"; +import "networkbasetypes.proto"; -option cc_generic_services = false; - -enum NET_Messages { - net_NOP = 0; - net_Disconnect = 1; - net_File = 2; - net_SplitScreenUser = 3; - net_Tick = 4; - net_StringCmd = 5; - net_SetConVar = 6; - net_SignonState = 7; - net_PlayerAvatarData = 100; +enum CLC_Messages { + clc_ClientInfo = 20; + clc_Move = 21; + clc_VoiceData = 22; + clc_BaselineAck = 23; + clc_ListenEvents = 24; + clc_RespondCvarValue = 25; + clc_FileCRCCheck = 26; + clc_LoadingProgress = 27; + clc_SplitPlayerConnect = 28; + clc_ClientMessage = 29; + clc_SplitPlayerDisconnect = 30; + clc_ServerStatus = 31; + clc_ServerPing = 32; + clc_RequestPause = 33; + clc_CmdKeyValues = 34; + clc_RconServerDetails = 35; + clc_HltvReplay = 36; } -enum CLC_Messages { - clc_ClientInfo = 8; - clc_Move = 9; - clc_VoiceData = 10; - clc_BaselineAck = 11; - clc_ListenEvents = 12; - clc_RespondCvarValue = 13; - clc_FileCRCCheck = 14; - clc_LoadingProgress = 15; - clc_SplitPlayerConnect = 16; - clc_ClientMessage = 17; - clc_CmdKeyValues = 18; - clc_HltvReplay = 20; +enum SVC_Messages { + svc_ServerInfo = 40; + svc_FlattenedSerializer = 41; + svc_ClassInfo = 42; + svc_SetPause = 43; + svc_CreateStringTable = 44; + svc_UpdateStringTable = 45; + svc_VoiceInit = 46; + svc_VoiceData = 47; + svc_Print = 48; + svc_Sounds = 49; + svc_SetView = 50; + svc_ClearAllStringTables = 51; + svc_CmdKeyValues = 52; + svc_BSPDecal = 53; + svc_SplitScreen = 54; + svc_PacketEntities = 55; + svc_Prefetch = 56; + svc_Menu = 57; + svc_GetCvarValue = 58; + svc_StopSound = 59; + svc_PeerList = 60; + svc_PacketReliable = 61; + svc_HLTVStatus = 62; + svc_ServerSteamID = 63; + svc_FullFrameSplit = 70; + svc_RconServerDetails = 71; + svc_UserMessage = 72; + svc_HltvReplay = 73; + svc_Broadcast_Command = 74; + svc_HltvFixupOperatorStatus = 75; } enum VoiceDataFormat_t { @@ -34,156 +58,86 @@ enum VoiceDataFormat_t { VOICEDATA_FORMAT_ENGINE = 1; } -enum ESplitScreenMessageType { - option allow_alias = true; - MSG_SPLITSCREEN_ADDUSER = 0; - MSG_SPLITSCREEN_REMOVEUSER = 1; - MSG_SPLITSCREEN_TYPE_BITS = 1; -} - -enum SVC_Messages { - svc_ServerInfo = 8; - svc_SendTable = 9; - svc_ClassInfo = 10; - svc_SetPause = 11; - svc_CreateStringTable = 12; - svc_UpdateStringTable = 13; - svc_VoiceInit = 14; - svc_VoiceData = 15; - svc_Print = 16; - svc_Sounds = 17; - svc_SetView = 18; - svc_FixAngle = 19; - svc_CrosshairAngle = 20; - svc_BSPDecal = 21; - svc_SplitScreen = 22; - svc_UserMessage = 23; - svc_EntityMessage = 24; - svc_GameEvent = 25; - svc_PacketEntities = 26; - svc_TempEntities = 27; - svc_Prefetch = 28; - svc_Menu = 29; - svc_GameEventList = 30; - svc_GetCvarValue = 31; - svc_PaintmapData = 33; - svc_CmdKeyValues = 34; - svc_EncryptedData = 35; - svc_HltvReplay = 36; - svc_Broadcast_Command = 38; -} - -enum ReplayEventType_t { - REPLAY_EVENT_CANCEL = 0; - REPLAY_EVENT_DEATH = 1; - REPLAY_EVENT_GENERIC = 2; - REPLAY_EVENT_STUCK_NEED_FULL_UPDATE = 3; -} - -message CMsgVector { - optional float x = 1; - optional float y = 2; - optional float z = 3; -} - -message CMsgVector2D { - optional float x = 1; - optional float y = 2; -} - -message CMsgQAngle { - optional float x = 1; - optional float y = 2; - optional float z = 3; +enum RequestPause_t { + RP_PAUSE = 0; + RP_UNPAUSE = 1; + RP_TOGGLEPAUSE = 2; } -message CMsgRGBA { - optional int32 r = 1; - optional int32 g = 2; - optional int32 b = 3; - optional int32 a = 4; +enum PrefetchType { + PFT_SOUND = 0; } -message CNETMsg_Tick { - optional uint32 tick = 1; - optional uint32 host_computationtime = 4; - optional uint32 host_computationtime_std_deviation = 5; - optional uint32 host_framestarttime_std_deviation = 6; - optional uint32 hltv_replay_flags = 7; -} - -message CNETMsg_StringCmd { - optional string command = 1; -} - -message CNETMsg_SignonState { - optional uint32 signon_state = 1; - optional uint32 spawn_count = 2; - optional uint32 num_server_players = 3; - repeated string players_networkids = 4; - optional string map_name = 5; -} - -message CMsg_CVars { - message CVar { - optional string name = 1; - optional string value = 2; - optional uint32 dictionary_name = 3; - } - - repeated .CMsg_CVars.CVar cvars = 1; +enum ESplitScreenMessageType { + MSG_SPLITSCREEN_ADDUSER = 0; + MSG_SPLITSCREEN_REMOVEUSER = 1; } -message CNETMsg_SetConVar { - optional .CMsg_CVars convars = 1; +enum EQueryCvarValueStatus { + eQueryCvarValueStatus_ValueIntact = 0; + eQueryCvarValueStatus_CvarNotFound = 1; + eQueryCvarValueStatus_NotACvar = 2; + eQueryCvarValueStatus_CvarProtected = 3; } -message CNETMsg_NOP { +enum DIALOG_TYPE { + DIALOG_MSG = 0; + DIALOG_MENU = 1; + DIALOG_TEXT = 2; + DIALOG_ENTRY = 3; + DIALOG_ASKCONNECT = 4; } -message CNETMsg_Disconnect { - optional string text = 1; +enum SVC_Messages_LowFrequency { + svc_dummy = 600; } -message CNETMsg_File { - optional int32 transfer_id = 1; - optional string file_name = 2; - optional bool is_replay_demo_file = 3; - optional bool deny = 4; +enum Bidirectional_Messages { + bi_RebroadcastGameEvent = 16; + bi_RebroadcastSource = 17; + bi_GameEvent = 18; } -message CNETMsg_SplitScreenUser { - optional int32 slot = 1; +enum Bidirectional_Messages_LowFrequency { + bi_RelayInfo = 700; + bi_RelayPacket = 701; } -message CNETMsg_PlayerAvatarData { - optional uint32 accountid = 1; - optional bytes rgb = 2; +enum ReplayEventType_t { + REPLAY_EVENT_CANCEL = 0; + REPLAY_EVENT_DEATH = 1; + REPLAY_EVENT_GENERIC = 2; + REPLAY_EVENT_STUCK_NEED_FULL_UPDATE = 3; + REPLAY_EVENT_VICTORY = 4; } message CCLCMsg_ClientInfo { optional fixed32 send_table_crc = 1; optional uint32 server_count = 2; optional bool is_hltv = 3; - optional bool is_replay = 4; optional uint32 friends_id = 5; optional string friends_name = 6; - repeated fixed32 custom_files = 7; } message CCLCMsg_Move { - optional uint32 num_backup_commands = 1; - optional uint32 num_new_commands = 2; optional bytes data = 3; + optional uint32 command_number = 4; + optional uint32 num_commands = 5; +} + +message CMsgVoiceAudio { + optional .VoiceDataFormat_t format = 1 [default = VOICEDATA_FORMAT_STEAM]; + optional bytes voice_data = 2; + optional int32 sequence_bytes = 3; + optional uint32 section_number = 4; + optional uint32 sample_rate = 5; + optional uint32 uncompressed_sample_offset = 6; } message CCLCMsg_VoiceData { - optional bytes data = 1; + optional .CMsgVoiceAudio audio = 1; optional fixed64 xuid = 2; - optional .VoiceDataFormat_t format = 3 [default = VOICEDATA_FORMAT_ENGINE]; - optional int32 sequence_bytes = 4; - optional uint32 section_number = 5; - optional uint32 uncompressed_sample_offset = 6; + optional uint32 tick = 3; } message CCLCMsg_BaselineAck { @@ -207,13 +161,7 @@ message CCLCMsg_FileCRCCheck { optional string path = 2; optional int32 code_filename = 3; optional string filename = 4; - optional int32 file_fraction = 5; - optional bytes md5 = 6; - optional uint32 crc = 7; - optional int32 file_hash_type = 8; - optional int32 file_len = 9; - optional int32 pack_file_id = 10; - optional int32 pack_file_number = 11; + optional fixed32 crc = 5; } message CCLCMsg_LoadingProgress { @@ -221,36 +169,55 @@ message CCLCMsg_LoadingProgress { } message CCLCMsg_SplitPlayerConnect { - optional .CMsg_CVars convars = 1; + optional string playername = 1; +} + +message CCLCMsg_ClientMessage { + optional int32 msg_type = 1; + optional bytes data = 2; +} + +message CCLCMsg_SplitPlayerDisconnect { + optional int32 slot = 1; +} + +message CCLCMsg_ServerStatus { + optional bool simplified = 1; +} + +message CCLCMsg_ServerPing { +} + +message CCLCMsg_RequestPause { + optional .RequestPause_t pause_type = 1 [default = RP_PAUSE]; + optional int32 pause_group = 2; } message CCLCMsg_CmdKeyValues { - optional bytes keyvalues = 1; + optional bytes data = 1; +} + +message CCLCMsg_RconServerDetails { + optional bytes token = 1; } message CSVCMsg_ServerInfo { optional int32 protocol = 1; optional int32 server_count = 2; optional bool is_dedicated = 3; - optional bool is_official_valve_server = 4; - optional bool is_hltv = 5; - optional bool is_replay = 6; - optional bool is_redirecting_to_proxy_relay = 21; - optional int32 c_os = 7; - optional fixed32 map_crc = 8; - optional fixed32 client_crc = 9; - optional fixed32 string_table_crc = 10; - optional int32 max_clients = 11; - optional int32 max_classes = 12; - optional int32 player_slot = 13; - optional float tick_interval = 14; - optional string game_dir = 15; - optional string map_name = 16; - optional string map_group_name = 17; - optional string sky_name = 18; - optional string host_name = 19; - optional uint32 public_ip = 20; - optional uint64 ugc_map_id = 22; + optional bool is_hltv = 4; + optional int32 c_os = 6; + optional int32 max_clients = 10; + optional int32 max_classes = 11; + optional int32 player_slot = 12 [default = -1]; + optional float tick_interval = 13; + optional string game_dir = 14; + optional string map_name = 15; + optional string sky_name = 16; + optional string host_name = 17; + optional string addon_name = 18; + optional .CSVCMsg_GameSessionConfiguration game_session_config = 19; + optional bytes game_session_manifest = 20; } message CSVCMsg_ClassInfo { @@ -264,71 +231,55 @@ message CSVCMsg_ClassInfo { repeated .CSVCMsg_ClassInfo.class_t classes = 2; } -message CSVCMsg_SendTable { - message sendprop_t { - optional int32 type = 1; - optional string var_name = 2; - optional int32 flags = 3; - optional int32 priority = 4; - optional string dt_name = 5; - optional int32 num_elements = 6; - optional float low_value = 7; - optional float high_value = 8; - optional int32 num_bits = 9; - } - - optional bool is_end = 1; - optional string net_table_name = 2; - optional bool needs_decoder = 3; - repeated .CSVCMsg_SendTable.sendprop_t props = 4; -} - -message CSVCMsg_Print { - optional string text = 1; -} - message CSVCMsg_SetPause { optional bool paused = 1; } -message CSVCMsg_SetView { - optional int32 entity_index = 1; +message CSVCMsg_VoiceInit { + optional int32 quality = 1; + optional string codec = 2; + optional int32 version = 3 [default = 0]; } -message CSVCMsg_CreateStringTable { - optional string name = 1; - optional int32 max_entries = 2; - optional int32 num_entries = 3; - optional bool user_data_fixed_size = 4; - optional int32 user_data_size = 5; - optional int32 user_data_size_bits = 6; - optional int32 flags = 7; - optional bytes string_data = 8; +message CSVCMsg_Print { + optional string text = 1; } -message CSVCMsg_UpdateStringTable { - optional int32 table_id = 1; - optional int32 num_changed_entries = 2; - optional bytes string_data = 3; +message CSVCMsg_Sounds { + message sounddata_t { + optional sint32 origin_x = 1; + optional sint32 origin_y = 2; + optional sint32 origin_z = 3; + optional uint32 volume = 4; + optional float delay_value = 5; + optional int32 sequence_number = 6; + optional int32 entity_index = 7 [default = -1]; + optional int32 channel = 8; + optional int32 pitch = 9; + optional int32 flags = 10; + optional uint32 sound_num = 11; + optional fixed32 sound_num_handle = 12; + optional int32 speaker_entity = 13; + optional int32 random_seed = 14; + optional int32 sound_level = 15; + optional bool is_sentence = 16; + optional bool is_ambient = 17; + optional uint32 guid = 18; + optional fixed64 sound_resource_id = 19; + } + + optional bool reliable_sound = 1; + repeated .CSVCMsg_Sounds.sounddata_t sounds = 2; } -message CSVCMsg_VoiceInit { - optional int32 quality = 1; - optional string codec = 2; - optional int32 version = 3 [default = 0]; +message CSVCMsg_Prefetch { + optional int32 sound_index = 1; + optional .PrefetchType resource_type = 2 [default = PFT_SOUND]; } -message CSVCMsg_VoiceData { - optional int32 client = 1; - optional bool proximity = 2; - optional fixed64 xuid = 3; - optional int32 audible_mask = 4; - optional bytes voice_data = 5; - optional bool caster = 6; - optional .VoiceDataFormat_t format = 7 [default = VOICEDATA_FORMAT_ENGINE]; - optional int32 sequence_bytes = 8; - optional uint32 section_number = 9; - optional uint32 uncompressed_sample_offset = 10; +message CSVCMsg_SetView { + optional int32 entity_index = 1 [default = -1]; + optional int32 slot = 2 [default = -1]; } message CSVCMsg_FixAngle { @@ -340,14 +291,10 @@ message CSVCMsg_CrosshairAngle { optional .CMsgQAngle angle = 1; } -message CSVCMsg_Prefetch { - optional int32 sound_index = 1; -} - message CSVCMsg_BSPDecal { optional .CMsgVector pos = 1; optional int32 decal_texture_index = 2; - optional int32 entity_index = 3; + optional int32 entity_index = 3 [default = -1]; optional int32 model_index = 4; optional bool low_priority = 5; } @@ -355,7 +302,7 @@ message CSVCMsg_BSPDecal { message CSVCMsg_SplitScreen { optional .ESplitScreenMessageType type = 1 [default = MSG_SPLITSCREEN_ADDUSER]; optional int32 slot = 2; - optional int32 player_index = 3; + optional int32 player_index = 3 [default = -1]; } message CSVCMsg_GetCvarValue { @@ -374,27 +321,23 @@ message CSVCMsg_UserMessage { optional int32 passthrough = 3; } -message CSVCMsg_PaintmapData { - optional bytes paintmap = 1; -} - -message CSVCMsg_GameEvent { - message key_t { +message CSVCMsg_SendTable { + message sendprop_t { optional int32 type = 1; - optional string val_string = 2; - optional float val_float = 3; - optional int32 val_long = 4; - optional int32 val_short = 5; - optional int32 val_byte = 6; - optional bool val_bool = 7; - optional uint64 val_uint64 = 8; - optional bytes val_wstring = 9; + optional string var_name = 2; + optional int32 flags = 3; + optional int32 priority = 4; + optional string dt_name = 5; + optional int32 num_elements = 6; + optional float low_value = 7; + optional float high_value = 8; + optional int32 num_bits = 9; } - optional string event_name = 1; - optional int32 eventid = 2; - repeated .CSVCMsg_GameEvent.key_t keys = 3; - optional int32 passthrough = 4; + optional bool is_end = 1; + optional string net_table_name = 2; + optional bool needs_decoder = 3; + repeated .CSVCMsg_SendTable.sendprop_t props = 4; } message CSVCMsg_GameEventList { @@ -412,13 +355,20 @@ message CSVCMsg_GameEventList { repeated .CSVCMsg_GameEventList.descriptor_t descriptors = 1; } -message CSVCMsg_TempEntities { - optional bool reliable = 1; - optional int32 num_entries = 2; - optional bytes entity_data = 3; -} - message CSVCMsg_PacketEntities { + message command_queue_info_t { + optional uint32 commands_queued = 1; + optional uint32 command_queue_desired_size = 2; + optional uint32 starved_command_ticks = 3; + optional float time_dilation_percent = 4; + optional uint32 discarded_command_ticks = 5; + } + + message alternate_baseline_t { + optional int32 entity_index = 1; + optional int32 baseline_index = 2; + } + optional int32 max_entries = 1; optional int32 updated_entries = 2; optional bool is_delta = 3; @@ -426,66 +376,221 @@ message CSVCMsg_PacketEntities { optional int32 baseline = 5; optional int32 delta_from = 6; optional bytes entity_data = 7; + optional bool pending_full_frame = 8; + optional uint32 active_spawngroup_handle = 9; + optional uint32 max_spawngroup_creationsequence = 10; + optional uint32 last_cmd_number = 11; + optional uint32 server_tick = 12; + optional bytes serialized_entities = 13; + optional .CSVCMsg_PacketEntities.command_queue_info_t command_queue_info = 14; + repeated .CSVCMsg_PacketEntities.alternate_baseline_t alternate_baselines = 15; } -message CSVCMsg_Sounds { - message sounddata_t { - optional sint32 origin_x = 1; - optional sint32 origin_y = 2; - optional sint32 origin_z = 3; - optional uint32 volume = 4; - optional float delay_value = 5; - optional int32 sequence_number = 6; - optional int32 entity_index = 7; - optional int32 channel = 8; - optional int32 pitch = 9; - optional int32 flags = 10; - optional uint32 sound_num = 11; - optional fixed32 sound_num_handle = 12; - optional int32 speaker_entity = 13; - optional int32 random_seed = 14; - optional int32 sound_level = 15; - optional bool is_sentence = 16; - optional bool is_ambient = 17; - } +message CSVCMsg_TempEntities { + optional bool reliable = 1; + optional int32 num_entries = 2; + optional bytes entity_data = 3; +} - optional bool reliable_sound = 1; - repeated .CSVCMsg_Sounds.sounddata_t sounds = 2; +message CSVCMsg_CreateStringTable { + optional string name = 1; + optional int32 num_entries = 2; + optional bool user_data_fixed_size = 3; + optional int32 user_data_size = 4; + optional int32 user_data_size_bits = 5; + optional int32 flags = 6; + optional bytes string_data = 7; + optional int32 uncompressed_size = 8; + optional bool data_compressed = 9; } -message CSVCMsg_EntityMsg { - optional int32 ent_index = 1; - optional int32 class_id = 2; - optional bytes ent_data = 3; +message CSVCMsg_UpdateStringTable { + optional int32 table_id = 1; + optional int32 num_changed_entries = 2; + optional bytes string_data = 3; +} + +message CSVCMsg_VoiceData { + optional .CMsgVoiceAudio audio = 1; + optional int32 client = 2 [default = -1]; + optional bool proximity = 3; + optional fixed64 xuid = 4; + optional int32 audible_mask = 5; + optional uint32 tick = 6; +} + +message CSVCMsg_PacketReliable { + optional int32 tick = 1; + optional int32 messagessize = 2; + optional bool state = 3; +} + +message CSVCMsg_FullFrameSplit { + optional int32 tick = 1; + optional int32 section = 2; + optional int32 total = 3; + optional bytes data = 4; +} + +message CSVCMsg_HLTVStatus { + optional string master = 1; + optional int32 clients = 2; + optional int32 slots = 3; + optional int32 proxies = 4; +} + +message CSVCMsg_ServerSteamID { + optional uint64 steam_id = 1; } message CSVCMsg_CmdKeyValues { - optional bytes keyvalues = 1; + optional bytes data = 1; +} + +message CSVCMsg_RconServerDetails { + optional bytes token = 1; + optional string details = 2; } -message CSVCMsg_EncryptedData { - optional bytes encrypted = 1; - optional int32 key_type = 2; +message CMsgIPCAddress { + optional fixed64 computer_guid = 1; + optional uint32 process_id = 2; +} + +message CMsgServerPeer { + optional int32 player_slot = 1 [default = -1]; + optional fixed64 steamid = 2; + optional .CMsgIPCAddress ipc = 3; + optional bool they_hear_you = 4; + optional bool you_hear_them = 5; + optional bool is_listenserver_host = 6; +} + +message CSVCMsg_PeerList { + repeated .CMsgServerPeer peer = 1; +} + +message CSVCMsg_ClearAllStringTables { + optional string mapname = 1; +} + +message ProtoFlattenedSerializerField_t { + optional int32 var_type_sym = 1; + optional int32 var_name_sym = 2; + optional int32 bit_count = 3; + optional float low_value = 4; + optional float high_value = 5; + optional int32 encode_flags = 6; + optional int32 field_serializer_name_sym = 7; + optional int32 field_serializer_version = 8; + optional int32 send_node_sym = 9; + optional int32 var_encoder_sym = 10; +} + +message ProtoFlattenedSerializer_t { + optional int32 serializer_name_sym = 1; + optional int32 serializer_version = 2; + repeated int32 fields_index = 3; +} + +message CSVCMsg_FlattenedSerializer { + repeated .ProtoFlattenedSerializer_t serializers = 1; + repeated string symbols = 2; + repeated .ProtoFlattenedSerializerField_t fields = 3; +} + +message CSVCMsg_StopSound { + optional fixed32 guid = 1; +} + +message CBidirMsg_RebroadcastGameEvent { + optional bool posttoserver = 1; + optional int32 buftype = 2; + optional uint32 clientbitcount = 3; + optional uint64 receivingclients = 4; +} + +message CBidirMsg_RebroadcastSource { + optional int32 eventsource = 1; +} + +message CMsgServerNetworkStats { + message Port { + optional int32 port = 1; + optional string name = 2; + } + + message Player { + optional uint64 steamid = 1; + optional string remote_addr = 2; + optional int32 ping_stddev_ms = 3; + optional int32 ping_avg_ms = 4; + optional float packet_loss_pct = 5; + optional bool is_bot = 6; + } + + optional bool dedicated = 1; + optional int32 cpu_usage = 2; + optional int32 memory_used_mb = 3; + optional int32 memory_free_mb = 4; + optional int32 uptime = 5; + optional int32 spawn_count = 6; + optional int32 num_clients = 8; + optional int32 num_bots = 9; + optional int32 num_spectators = 10; + optional int32 num_tv_relays = 11; + optional float fps = 12; + repeated .CMsgServerNetworkStats.Port ports = 17; + optional float avg_latency_out = 18; + optional float avg_latency_in = 19; + optional float avg_packets_out = 20; + optional float avg_packets_in = 21; + optional float avg_loss_out = 22; + optional float avg_loss_in = 23; + optional float avg_data_out = 24; + optional float avg_data_in = 25; + optional uint64 total_data_in = 26; + optional uint64 total_packets_in = 27; + optional uint64 total_data_out = 28; + optional uint64 total_packets_out = 29; + repeated .CMsgServerNetworkStats.Player players = 30; } message CSVCMsg_HltvReplay { optional int32 delay = 1; - optional int32 primary_target = 2; + optional int32 primary_target = 2 [default = -1]; optional int32 replay_stop_at = 3; optional int32 replay_start_at = 4; optional int32 replay_slowdown_begin = 5; optional int32 replay_slowdown_end = 6; optional float replay_slowdown_rate = 7; + optional int32 reason = 8; } message CCLCMsg_HltvReplay { optional int32 request = 1; optional float slowdown_length = 2; optional float slowdown_rate = 3; - optional int32 primary_target_ent_index = 4; + optional int32 primary_target = 4 [default = -1]; optional float event_time = 5; } message CSVCMsg_Broadcast_Command { optional string cmd = 1; } + +message CCLCMsg_HltvFixupOperatorTick { + optional int32 tick = 1; + optional bytes props_data = 2; + optional .CMsgVector origin = 3; + optional .CMsgQAngle eye_angles = 4; + optional int32 observer_mode = 5; + optional bool cameraman_scoreboard = 6; + optional int32 observer_target = 7; + optional .CMsgVector view_offset = 8; +} + +message CSVCMsg_HltvFixupOperatorStatus { + optional uint32 mode = 1; + optional string override_operator_name = 2; +} diff --git a/pkg/demoinfocs/msg/proto/network_connection.proto b/pkg/demoinfocs/msg/proto/network_connection.proto new file mode 100644 index 00000000..5190c587 --- /dev/null +++ b/pkg/demoinfocs/msg/proto/network_connection.proto @@ -0,0 +1,127 @@ +import "google/protobuf/descriptor.proto"; + +extend .google.protobuf.EnumValueOptions { + optional string network_connection_token = 50500; +} + +enum ENetworkDisconnectionReason { + NETWORK_DISCONNECT_INVALID = 0; + NETWORK_DISCONNECT_SHUTDOWN = 1; + NETWORK_DISCONNECT_DISCONNECT_BY_USER = 2 [(network_connection_token) = "#GameUI_Disconnect_User"]; + NETWORK_DISCONNECT_DISCONNECT_BY_SERVER = 3 [(network_connection_token) = "#GameUI_Disconnect_Server"]; + NETWORK_DISCONNECT_LOST = 4 [(network_connection_token) = "#GameUI_Disconnect_ConnectionLost"]; + NETWORK_DISCONNECT_OVERFLOW = 5 [(network_connection_token) = "#GameUI_Disconnect_ConnectionOverflow"]; + NETWORK_DISCONNECT_STEAM_BANNED = 6 [(network_connection_token) = "#GameUI_Disconnect_SteamIDBanned"]; + NETWORK_DISCONNECT_STEAM_INUSE = 7 [(network_connection_token) = "#GameUI_Disconnect_SteamIDInUse"]; + NETWORK_DISCONNECT_STEAM_TICKET = 8 [(network_connection_token) = "#GameUI_Disconnect_SteamTicket"]; + NETWORK_DISCONNECT_STEAM_LOGON = 9 [(network_connection_token) = "#GameUI_Disconnect_SteamLogon"]; + NETWORK_DISCONNECT_STEAM_AUTHCANCELLED = 10 [(network_connection_token) = "#GameUI_Disconnect_SteamLogon"]; + NETWORK_DISCONNECT_STEAM_AUTHALREADYUSED = 11 [(network_connection_token) = "#GameUI_Disconnect_SteamLogon"]; + NETWORK_DISCONNECT_STEAM_AUTHINVALID = 12 [(network_connection_token) = "#GameUI_Disconnect_SteamLogon"]; + NETWORK_DISCONNECT_STEAM_VACBANSTATE = 13 [(network_connection_token) = "#GameUI_Disconnect_SteamVAC"]; + NETWORK_DISCONNECT_STEAM_LOGGED_IN_ELSEWHERE = 14 [(network_connection_token) = "#GameUI_Disconnect_SteamInUse"]; + NETWORK_DISCONNECT_STEAM_VAC_CHECK_TIMEDOUT = 15 [(network_connection_token) = "#GameUI_Disconnect_SteamTimeOut"]; + NETWORK_DISCONNECT_STEAM_DROPPED = 16 [(network_connection_token) = "#GameUI_Disconnect_SteamDropped"]; + NETWORK_DISCONNECT_STEAM_OWNERSHIP = 17 [(network_connection_token) = "#GameUI_Disconnect_SteamOwnership"]; + NETWORK_DISCONNECT_SERVERINFO_OVERFLOW = 18 [(network_connection_token) = "#GameUI_Disconnect_ServerInfoOverflow"]; + NETWORK_DISCONNECT_TICKMSG_OVERFLOW = 19 [(network_connection_token) = "#GameUI_Disconnect_TickMessage"]; + NETWORK_DISCONNECT_STRINGTABLEMSG_OVERFLOW = 20 [(network_connection_token) = "#GameUI_Disconnect_StringTableMessage"]; + NETWORK_DISCONNECT_DELTAENTMSG_OVERFLOW = 21 [(network_connection_token) = "#GameUI_Disconnect_DeltaEntMessage"]; + NETWORK_DISCONNECT_TEMPENTMSG_OVERFLOW = 22 [(network_connection_token) = "#GameUI_Disconnect_TempEntMessage"]; + NETWORK_DISCONNECT_SOUNDSMSG_OVERFLOW = 23 [(network_connection_token) = "#GameUI_Disconnect_SoundsMessage"]; + NETWORK_DISCONNECT_SNAPSHOTOVERFLOW = 24 [(network_connection_token) = "#GameUI_Disconnect_SnapshotOverflow"]; + NETWORK_DISCONNECT_SNAPSHOTERROR = 25 [(network_connection_token) = "#GameUI_Disconnect_SnapshotError"]; + NETWORK_DISCONNECT_RELIABLEOVERFLOW = 26 [(network_connection_token) = "#GameUI_Disconnect_ReliableOverflow"]; + NETWORK_DISCONNECT_BADDELTATICK = 27 [(network_connection_token) = "#GameUI_Disconnect_BadClientDeltaTick"]; + NETWORK_DISCONNECT_NOMORESPLITS = 28 [(network_connection_token) = "#GameUI_Disconnect_NoMoreSplits"]; + NETWORK_DISCONNECT_TIMEDOUT = 29 [(network_connection_token) = "#GameUI_Disconnect_TimedOut"]; + NETWORK_DISCONNECT_DISCONNECTED = 30 [(network_connection_token) = "#GameUI_Disconnect_Disconnected"]; + NETWORK_DISCONNECT_LEAVINGSPLIT = 31 [(network_connection_token) = "#GameUI_Disconnect_LeavingSplit"]; + NETWORK_DISCONNECT_DIFFERENTCLASSTABLES = 32 [(network_connection_token) = "#GameUI_Disconnect_DifferentClassTables"]; + NETWORK_DISCONNECT_BADRELAYPASSWORD = 33 [(network_connection_token) = "#GameUI_Disconnect_BadRelayPassword"]; + NETWORK_DISCONNECT_BADSPECTATORPASSWORD = 34 [(network_connection_token) = "#GameUI_Disconnect_BadSpectatorPassword"]; + NETWORK_DISCONNECT_HLTVRESTRICTED = 35 [(network_connection_token) = "#GameUI_Disconnect_HLTVRestricted"]; + NETWORK_DISCONNECT_NOSPECTATORS = 36 [(network_connection_token) = "#GameUI_Disconnect_NoSpectators"]; + NETWORK_DISCONNECT_HLTVUNAVAILABLE = 37 [(network_connection_token) = "#GameUI_Disconnect_HLTVUnavailable"]; + NETWORK_DISCONNECT_HLTVSTOP = 38 [(network_connection_token) = "#GameUI_Disconnect_HLTVStop"]; + NETWORK_DISCONNECT_KICKED = 39 [(network_connection_token) = "#GameUI_Disconnect_Kicked"]; + NETWORK_DISCONNECT_BANADDED = 40 [(network_connection_token) = "#GameUI_Disconnect_BanAdded"]; + NETWORK_DISCONNECT_KICKBANADDED = 41 [(network_connection_token) = "#GameUI_Disconnect_KickBanAdded"]; + NETWORK_DISCONNECT_HLTVDIRECT = 42 [(network_connection_token) = "#GameUI_Disconnect_HLTVDirect"]; + NETWORK_DISCONNECT_PURESERVER_CLIENTEXTRA = 43 [(network_connection_token) = "#GameUI_Disconnect_PureServer_ClientExtra"]; + NETWORK_DISCONNECT_PURESERVER_MISMATCH = 44 [(network_connection_token) = "#GameUI_Disconnect_PureServer_Mismatch"]; + NETWORK_DISCONNECT_USERCMD = 45 [(network_connection_token) = "#GameUI_Disconnect_UserCmd"]; + NETWORK_DISCONNECT_REJECTED_BY_GAME = 46 [(network_connection_token) = "#GameUI_Disconnect_RejectedByGame"]; + NETWORK_DISCONNECT_MESSAGE_PARSE_ERROR = 47 [(network_connection_token) = "#GameUI_Disconnect_MessageParseError"]; + NETWORK_DISCONNECT_INVALID_MESSAGE_ERROR = 48 [(network_connection_token) = "#GameUI_Disconnect_InvalidMessageError"]; + NETWORK_DISCONNECT_BAD_SERVER_PASSWORD = 49 [(network_connection_token) = "#GameUI_Disconnect_BadServerPassword"]; + NETWORK_DISCONNECT_DIRECT_CONNECT_RESERVATION = 50; + NETWORK_DISCONNECT_CONNECTION_FAILURE = 51 [(network_connection_token) = "#GameUI_Disconnect_ConnectionFailure"]; + NETWORK_DISCONNECT_NO_PEER_GROUP_HANDLERS = 52 [(network_connection_token) = "#GameUI_Disconnect_NoPeerGroupHandlers"]; + NETWORK_DISCONNECT_RECONNECTION = 53; + NETWORK_DISCONNECT_LOOPSHUTDOWN = 54 [(network_connection_token) = "#GameUI_Disconnect_LoopShutdown"]; + NETWORK_DISCONNECT_LOOPDEACTIVATE = 55 [(network_connection_token) = "#GameUI_Disconnect_LoopDeactivate"]; + NETWORK_DISCONNECT_HOST_ENDGAME = 56 [(network_connection_token) = "#GameUI_Disconnect_Host_EndGame"]; + NETWORK_DISCONNECT_LOOP_LEVELLOAD_ACTIVATE = 57 [(network_connection_token) = "#GameUI_Disconnect_LoopLevelLoadActivate"]; + NETWORK_DISCONNECT_CREATE_SERVER_FAILED = 58 [(network_connection_token) = "#GameUI_Disconnect_CreateServerFailed"]; + NETWORK_DISCONNECT_EXITING = 59 [(network_connection_token) = "#GameUI_Disconnect_ExitingEngine"]; + NETWORK_DISCONNECT_REQUEST_HOSTSTATE_IDLE = 60 [(network_connection_token) = "#GameUI_Disconnect_Request_HSIdle"]; + NETWORK_DISCONNECT_REQUEST_HOSTSTATE_HLTVRELAY = 61 [(network_connection_token) = "#GameUI_Disconnect_Request_HLTVRelay"]; + NETWORK_DISCONNECT_CLIENT_CONSISTENCY_FAIL = 62 [(network_connection_token) = "#GameUI_ClientConsistencyFail"]; + NETWORK_DISCONNECT_CLIENT_UNABLE_TO_CRC_MAP = 63 [(network_connection_token) = "#GameUI_ClientUnableToCRCMap"]; + NETWORK_DISCONNECT_CLIENT_NO_MAP = 64 [(network_connection_token) = "#GameUI_ClientNoMap"]; + NETWORK_DISCONNECT_CLIENT_DIFFERENT_MAP = 65 [(network_connection_token) = "#GameUI_ClientDifferentMap"]; + NETWORK_DISCONNECT_SERVER_REQUIRES_STEAM = 66 [(network_connection_token) = "#GameUI_ServerRequireSteams"]; + NETWORK_DISCONNECT_STEAM_DENY_MISC = 67 [(network_connection_token) = "#GameUI_Disconnect_SteamDeny_Misc"]; + NETWORK_DISCONNECT_STEAM_DENY_BAD_ANTI_CHEAT = 68 [(network_connection_token) = "#GameUI_Disconnect_SteamDeny_BadAntiCheat"]; + NETWORK_DISCONNECT_SERVER_SHUTDOWN = 69 [(network_connection_token) = "#GameUI_Disconnect_ServerShutdown"]; + NETWORK_DISCONNECT_SPLITPACKET_SEND_OVERFLOW = 70 [(network_connection_token) = "#GameUI_Disconnect_Splitpacket_Send_Overflow"]; + NETWORK_DISCONNECT_REPLAY_INCOMPATIBLE = 71 [(network_connection_token) = "#GameUI_Disconnect_ReplayIncompatible"]; + NETWORK_DISCONNECT_CONNECT_REQUEST_TIMEDOUT = 72 [(network_connection_token) = "#GameUI_Disconnect_ConnectionTimedout"]; + NETWORK_DISCONNECT_SERVER_INCOMPATIBLE = 73 [(network_connection_token) = "#GameUI_Disconnect_ServerIncompatible"]; + NETWORK_DISCONNECT_LOCALPROBLEM_MANYRELAYS = 74 [(network_connection_token) = "#GameUI_Disconnect_LocalProblem_ManyRelays"]; + NETWORK_DISCONNECT_LOCALPROBLEM_HOSTEDSERVERPRIMARYRELAY = 75 [(network_connection_token) = "#GameUI_Disconnect_LocalProblem_HostedServerPrimaryRelay"]; + NETWORK_DISCONNECT_LOCALPROBLEM_NETWORKCONFIG = 76 [(network_connection_token) = "#GameUI_Disconnect_LocalProblem_NetworkConfig"]; + NETWORK_DISCONNECT_LOCALPROBLEM_OTHER = 77 [(network_connection_token) = "#GameUI_Disconnect_LocalProblem_Other"]; + NETWORK_DISCONNECT_REMOTE_TIMEOUT = 79 [(network_connection_token) = "#GameUI_Disconnect_RemoteProblem_Timeout"]; + NETWORK_DISCONNECT_REMOTE_TIMEOUT_CONNECTING = 80 [(network_connection_token) = "#GameUI_Disconnect_RemoteProblem_TimeoutConnecting"]; + NETWORK_DISCONNECT_REMOTE_OTHER = 81 [(network_connection_token) = "#GameUI_Disconnect_RemoteProblem_Other"]; + NETWORK_DISCONNECT_REMOTE_BADCRYPT = 82 [(network_connection_token) = "#GameUI_Disconnect_RemoteProblem_BadCrypt"]; + NETWORK_DISCONNECT_REMOTE_CERTNOTTRUSTED = 83 [(network_connection_token) = "#GameUI_Disconnect_RemoteProblem_BadCert"]; + NETWORK_DISCONNECT_UNUSUAL = 84 [(network_connection_token) = "#GameUI_Disconnect_Unusual"]; + NETWORK_DISCONNECT_INTERNAL_ERROR = 85 [(network_connection_token) = "#GameUI_Disconnect_InternalError"]; + NETWORK_DISCONNECT_REJECT_BADCHALLENGE = 128 [(network_connection_token) = "#GameUI_ServerRejectBadChallenge"]; + NETWORK_DISCONNECT_REJECT_NOLOBBY = 129 [(network_connection_token) = "#GameUI_ServerNoLobby"]; + NETWORK_DISCONNECT_REJECT_BACKGROUND_MAP = 130 [(network_connection_token) = "#Valve_Reject_Background_Map"]; + NETWORK_DISCONNECT_REJECT_SINGLE_PLAYER = 131 [(network_connection_token) = "#Valve_Reject_Single_Player"]; + NETWORK_DISCONNECT_REJECT_HIDDEN_GAME = 132 [(network_connection_token) = "#Valve_Reject_Hidden_Game"]; + NETWORK_DISCONNECT_REJECT_LANRESTRICT = 133 [(network_connection_token) = "#GameUI_ServerRejectLANRestrict"]; + NETWORK_DISCONNECT_REJECT_BADPASSWORD = 134 [(network_connection_token) = "#GameUI_ServerRejectBadPassword"]; + NETWORK_DISCONNECT_REJECT_SERVERFULL = 135 [(network_connection_token) = "#GameUI_ServerRejectServerFull"]; + NETWORK_DISCONNECT_REJECT_INVALIDRESERVATION = 136 [(network_connection_token) = "#GameUI_ServerRejectInvalidReservation"]; + NETWORK_DISCONNECT_REJECT_FAILEDCHANNEL = 137 [(network_connection_token) = "#GameUI_ServerRejectFailedChannel"]; + NETWORK_DISCONNECT_REJECT_CONNECT_FROM_LOBBY = 138 [(network_connection_token) = "#Valve_Reject_Connect_From_Lobby"]; + NETWORK_DISCONNECT_REJECT_RESERVED_FOR_LOBBY = 139 [(network_connection_token) = "#Valve_Reject_Reserved_For_Lobby"]; + NETWORK_DISCONNECT_REJECT_INVALIDKEYLENGTH = 140 [(network_connection_token) = "#GameUI_ServerReject_InvalidKeyLength"]; + NETWORK_DISCONNECT_REJECT_OLDPROTOCOL = 141 [(network_connection_token) = "#GameUI_ServerRejectOldProtocol"]; + NETWORK_DISCONNECT_REJECT_NEWPROTOCOL = 142 [(network_connection_token) = "#GameUI_ServerRejectNewProtocol"]; + NETWORK_DISCONNECT_REJECT_INVALIDCONNECTION = 143 [(network_connection_token) = "#GameUI_ServerRejectInvalidConnection"]; + NETWORK_DISCONNECT_REJECT_INVALIDCERTLEN = 144 [(network_connection_token) = "#GameUI_ServerRejectInvalidCertLen"]; + NETWORK_DISCONNECT_REJECT_INVALIDSTEAMCERTLEN = 145 [(network_connection_token) = "#GameUI_ServerRejectInvalidSteamCertLen"]; + NETWORK_DISCONNECT_REJECT_STEAM = 146 [(network_connection_token) = "#GameUI_ServerRejectSteam"]; + NETWORK_DISCONNECT_REJECT_SERVERAUTHDISABLED = 147 [(network_connection_token) = "#GameUI_ServerAuthDisabled"]; + NETWORK_DISCONNECT_REJECT_SERVERCDKEYAUTHINVALID = 148 [(network_connection_token) = "#GameUI_ServerCDKeyAuthInvalid"]; + NETWORK_DISCONNECT_REJECT_BANNED = 149 [(network_connection_token) = "#GameUI_ServerRejectBanned"]; + NETWORK_DISCONNECT_KICKED_TEAMKILLING = 150 [(network_connection_token) = "#Player_DisconnectReason_TeamKilling"]; + NETWORK_DISCONNECT_KICKED_TK_START = 151 [(network_connection_token) = "#Player_DisconnectReason_TK_Start"]; + NETWORK_DISCONNECT_KICKED_UNTRUSTEDACCOUNT = 152 [(network_connection_token) = "#Player_DisconnectReason_UntrustedAccount"]; + NETWORK_DISCONNECT_KICKED_CONVICTEDACCOUNT = 153 [(network_connection_token) = "#Player_DisconnectReason_ConvictedAccount"]; + NETWORK_DISCONNECT_KICKED_COMPETITIVECOOLDOWN = 154 [(network_connection_token) = "#Player_DisconnectReason_CompetitiveCooldown"]; + NETWORK_DISCONNECT_KICKED_TEAMHURTING = 155 [(network_connection_token) = "#Player_DisconnectReason_TeamHurting"]; + NETWORK_DISCONNECT_KICKED_HOSTAGEKILLING = 156 [(network_connection_token) = "#Player_DisconnectReason_HostageKilling"]; + NETWORK_DISCONNECT_KICKED_VOTEDOFF = 157 [(network_connection_token) = "#Player_DisconnectReason_VotedOff"]; + NETWORK_DISCONNECT_KICKED_IDLE = 158 [(network_connection_token) = "#Player_DisconnectReason_Idle"]; + NETWORK_DISCONNECT_KICKED_SUICIDE = 159 [(network_connection_token) = "#Player_DisconnectReason_Suicide"]; + NETWORK_DISCONNECT_KICKED_NOSTEAMLOGIN = 160 [(network_connection_token) = "#Player_DisconnectReason_NoSteamLogin"]; + NETWORK_DISCONNECT_KICKED_NOSTEAMTICKET = 161 [(network_connection_token) = "#Player_DisconnectReason_NoSteamTicket"]; +} diff --git a/pkg/demoinfocs/msg/proto/networkbasetypes.proto b/pkg/demoinfocs/msg/proto/networkbasetypes.proto new file mode 100644 index 00000000..d3b6a91d --- /dev/null +++ b/pkg/demoinfocs/msg/proto/networkbasetypes.proto @@ -0,0 +1,243 @@ +import "network_connection.proto"; + +enum SignonState_t { + SIGNONSTATE_NONE = 0; + SIGNONSTATE_CHALLENGE = 1; + SIGNONSTATE_CONNECTED = 2; + SIGNONSTATE_NEW = 3; + SIGNONSTATE_PRESPAWN = 4; + SIGNONSTATE_SPAWN = 5; + SIGNONSTATE_FULL = 6; + SIGNONSTATE_CHANGELEVEL = 7; +} + +enum NET_Messages { + net_NOP = 0; + net_Disconnect = 1; + net_SplitScreenUser = 3; + net_Tick = 4; + net_StringCmd = 5; + net_SetConVar = 6; + net_SignonState = 7; + net_SpawnGroup_Load = 8; + net_SpawnGroup_ManifestUpdate = 9; + net_SpawnGroup_SetCreationTick = 11; + net_SpawnGroup_Unload = 12; + net_SpawnGroup_LoadCompleted = 13; + net_DebugOverlay = 15; +} + +enum SpawnGroupFlags_t { + SPAWN_GROUP_LOAD_ENTITIES_FROM_SAVE = 1; + SPAWN_GROUP_DONT_SPAWN_ENTITIES = 2; + SPAWN_GROUP_SYNCHRONOUS_SPAWN = 4; + SPAWN_GROUP_IS_INITIAL_SPAWN_GROUP = 8; + SPAWN_GROUP_CREATE_CLIENT_ONLY_ENTITIES = 16; + SPAWN_GROUP_BLOCK_UNTIL_LOADED = 64; + SPAWN_GROUP_LOAD_STREAMING_DATA = 128; + SPAWN_GROUP_CREATE_NEW_SCENE_WORLD = 256; +} + +message CMsgVector { + optional float x = 1; + optional float y = 2; + optional float z = 3; + optional float w = 4; +} + +message CMsgVector2D { + optional float x = 1; + optional float y = 2; +} + +message CMsgQAngle { + optional float x = 1; + optional float y = 2; + optional float z = 3; +} + +message CMsgQuaternion { + optional float x = 1; + optional float y = 2; + optional float z = 3; + optional float w = 4; +} + +message CMsgTransform { + optional .CMsgVector position = 1; + optional float scale = 2; + optional .CMsgQuaternion orientation = 3; +} + +message CMsgRGBA { + optional int32 r = 1; + optional int32 g = 2; + optional int32 b = 3; + optional int32 a = 4; +} + +message CMsgPlayerInfo { + optional string name = 1; + optional fixed64 xuid = 2; + optional int32 userid = 3; + optional fixed64 steamid = 4; + optional bool fakeplayer = 5; + optional bool ishltv = 6; +} + +message CEntityMsg { + optional uint32 target_entity = 1 [default = 16777215]; +} + +message CMsg_CVars { + message CVar { + optional string name = 1; + optional string value = 2; + } + + repeated .CMsg_CVars.CVar cvars = 1; +} + +message CNETMsg_NOP { +} + +message CNETMsg_SplitScreenUser { + optional int32 slot = 1; +} + +message CNETMsg_Disconnect { + optional .ENetworkDisconnectionReason reason = 2 [default = NETWORK_DISCONNECT_INVALID]; +} + +message CNETMsg_Tick { + optional uint32 tick = 1; + optional uint32 host_frametime = 2; + optional uint32 host_frametime_std_deviation = 3; + optional uint32 host_computationtime = 4; + optional uint32 host_computationtime_std_deviation = 5; + optional uint32 host_framestarttime_std_deviation = 6; + optional uint32 host_loss = 7; + optional uint32 host_unfiltered_frametime = 8; + optional uint32 hltv_replay_flags = 9; +} + +message CNETMsg_StringCmd { + optional string command = 1; +} + +message CNETMsg_SetConVar { + optional .CMsg_CVars convars = 1; +} + +message CNETMsg_SignonState { + optional .SignonState_t signon_state = 1 [default = SIGNONSTATE_NONE]; + optional uint32 spawn_count = 2; + optional uint32 num_server_players = 3; + repeated string players_networkids = 4; + optional string map_name = 5; + optional string addons = 6; +} + +message CSVCMsg_GameEvent { + message key_t { + optional int32 type = 1; + optional string val_string = 2; + optional float val_float = 3; + optional int32 val_long = 4; + optional int32 val_short = 5; + optional int32 val_byte = 6; + optional bool val_bool = 7; + optional uint64 val_uint64 = 8; + } + + optional string event_name = 1; + optional int32 eventid = 2; + repeated .CSVCMsg_GameEvent.key_t keys = 3; +} + +message CSVCMsgList_GameEvents { + message event_t { + optional int32 tick = 1; + optional .CSVCMsg_GameEvent event = 2; + } + + repeated .CSVCMsgList_GameEvents.event_t events = 1; +} + +message CNETMsg_SpawnGroup_Load { + optional string worldname = 1; + optional string entitylumpname = 2; + optional string entityfiltername = 3; + optional uint32 spawngrouphandle = 4; + optional uint32 spawngroupownerhandle = 5; + optional .CMsgVector world_offset_pos = 6; + optional .CMsgQAngle world_offset_angle = 7; + optional bytes spawngroupmanifest = 8; + optional uint32 flags = 9; + optional int32 tickcount = 10; + optional bool manifestincomplete = 11; + optional string localnamefixup = 12; + optional string parentnamefixup = 13; + optional int32 manifestloadpriority = 14; + optional uint32 worldgroupid = 15; + optional uint32 creationsequence = 16; + optional string savegamefilename = 17; + optional uint32 spawngroupparenthandle = 18; + optional bool leveltransition = 19; + optional string worldgroupname = 20; +} + +message CNETMsg_SpawnGroup_ManifestUpdate { + optional uint32 spawngrouphandle = 1; + optional bytes spawngroupmanifest = 2; + optional bool manifestincomplete = 3; +} + +message CNETMsg_SpawnGroup_SetCreationTick { + optional uint32 spawngrouphandle = 1; + optional int32 tickcount = 2; + optional uint32 creationsequence = 3; +} + +message CNETMsg_SpawnGroup_Unload { + optional uint32 spawngrouphandle = 1; + optional uint32 flags = 2; + optional int32 tickcount = 3; +} + +message CNETMsg_SpawnGroup_LoadCompleted { + optional uint32 spawngrouphandle = 1; +} + +message CSVCMsg_GameSessionConfiguration { + optional bool is_multiplayer = 1; + optional bool is_loadsavegame = 2; + optional bool is_background_map = 3; + optional bool is_headless = 4; + optional uint32 min_client_limit = 5; + optional uint32 max_client_limit = 6; + optional uint32 max_clients = 7; + optional fixed32 tick_interval = 8; + optional string hostname = 9; + optional string savegamename = 10; + optional string s1_mapname = 11; + optional string gamemode = 12; + optional string server_ip_address = 13; + optional bytes data = 14; + optional bool is_localonly = 15; + optional bool no_steam_server = 19; + optional bool is_transition = 16; + optional string previouslevel = 17; + optional string landmarkname = 18; +} + +message CNETMsg_DebugOverlay { + optional int32 etype = 1; + repeated .CMsgVector vectors = 2; + repeated .CMsgRGBA colors = 3; + repeated float dimensions = 4; + repeated float times = 5; + repeated bool bools = 6; + repeated uint64 uint64s = 7; + repeated string strings = 8; +} diff --git a/pkg/demoinfocs/msg/proto/steammessages.proto b/pkg/demoinfocs/msg/proto/steammessages.proto index c27c467e..9f7dc7d3 100644 --- a/pkg/demoinfocs/msg/proto/steammessages.proto +++ b/pkg/demoinfocs/msg/proto/steammessages.proto @@ -1,8 +1,5 @@ import "google/protobuf/descriptor.proto"; -option optimize_for = SPEED; -option cc_generic_services = false; - extend .google.protobuf.FieldOptions { optional bool key_field = 60000 [default = false]; } @@ -67,7 +64,6 @@ message CMsgHttpRequest { } message CMsgWebAPIRequest { - optional string UNUSED_job_name = 1; optional string interface_name = 2; optional string method_name = 3; optional uint32 version = 4; diff --git a/pkg/demoinfocs/msg/steammessages.pb.go b/pkg/demoinfocs/msg/steammessages.pb.go index 9d453dd3..e68b92b4 100644 --- a/pkg/demoinfocs/msg/steammessages.pb.go +++ b/pkg/demoinfocs/msg/steammessages.pb.go @@ -619,7 +619,6 @@ type CMsgWebAPIRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - UNUSEDJobName *string `protobuf:"bytes,1,opt,name=UNUSED_job_name,json=UNUSEDJobName" json:"UNUSED_job_name,omitempty"` InterfaceName *string `protobuf:"bytes,2,opt,name=interface_name,json=interfaceName" json:"interface_name,omitempty"` MethodName *string `protobuf:"bytes,3,opt,name=method_name,json=methodName" json:"method_name,omitempty"` Version *uint32 `protobuf:"varint,4,opt,name=version" json:"version,omitempty"` @@ -660,13 +659,6 @@ func (*CMsgWebAPIRequest) Descriptor() ([]byte, []int) { return file_steammessages_proto_rawDescGZIP(), []int{3} } -func (x *CMsgWebAPIRequest) GetUNUSEDJobName() string { - if x != nil && x.UNUSEDJobName != nil { - return *x.UNUSEDJobName - } - return "" -} - func (x *CMsgWebAPIRequest) GetInterfaceName() string { if x != nil && x.InterfaceName != nil { return *x.InterfaceName @@ -6053,822 +6045,819 @@ var file_steammessages_proto_rawDesc = []byte{ 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x22, 0x98, 0x02, 0x0a, 0x11, 0x43, 0x4d, 0x73, 0x67, 0x57, 0x65, 0x62, 0x41, 0x50, 0x49, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x26, 0x0a, 0x0f, 0x55, 0x4e, 0x55, 0x53, 0x45, 0x44, - 0x5f, 0x6a, 0x6f, 0x62, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0d, 0x55, 0x4e, 0x55, 0x53, 0x45, 0x44, 0x4a, 0x6f, 0x62, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x25, - 0x0a, 0x0e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, - 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x5f, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6d, 0x65, 0x74, 0x68, - 0x6f, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, - 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, - 0x12, 0x27, 0x0a, 0x07, 0x61, 0x70, 0x69, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x0e, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x57, 0x65, 0x62, 0x41, 0x50, 0x49, 0x4b, 0x65, - 0x79, 0x52, 0x06, 0x61, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x12, 0x2a, 0x0a, 0x07, 0x72, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x43, 0x4d, 0x73, - 0x67, 0x48, 0x74, 0x74, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x07, 0x72, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x0e, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, - 0x5f, 0x61, 0x70, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x72, - 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x41, 0x70, 0x70, 0x49, 0x64, 0x22, 0xbf, 0x01, 0x0a, 0x10, - 0x43, 0x4d, 0x73, 0x67, 0x48, 0x74, 0x74, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, 0x6f, 0x64, - 0x65, 0x12, 0x3a, 0x0a, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x48, 0x74, 0x74, 0x70, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x65, - 0x61, 0x64, 0x65, 0x72, 0x52, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x12, 0x0a, - 0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x62, 0x6f, 0x64, - 0x79, 0x1a, 0x3a, 0x0a, 0x0e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x65, 0x61, - 0x64, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x5a, 0x0a, - 0x12, 0x43, 0x4d, 0x73, 0x67, 0x41, 0x4d, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x74, 0x79, - 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, - 0x54, 0x79, 0x70, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x73, - 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x65, 0x61, - 0x72, 0x63, 0x68, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x22, 0x37, 0x0a, 0x1a, 0x43, 0x4d, 0x73, - 0x67, 0x41, 0x4d, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x74, 0x65, 0x61, 0x6d, - 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x03, 0x28, 0x06, 0x52, 0x07, 0x73, 0x74, 0x65, 0x61, 0x6d, - 0x49, 0x64, 0x22, 0xd2, 0x01, 0x0a, 0x12, 0x43, 0x4d, 0x73, 0x67, 0x4e, 0x6f, 0x74, 0x69, 0x66, - 0x79, 0x57, 0x61, 0x74, 0x63, 0x68, 0x64, 0x6f, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x6c, 0x65, 0x72, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x6c, 0x65, 0x72, 0x74, 0x54, 0x79, 0x70, 0x65, - 0x12, 0x2b, 0x0a, 0x11, 0x61, 0x6c, 0x65, 0x72, 0x74, 0x5f, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x61, 0x6c, 0x65, - 0x72, 0x74, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, - 0x08, 0x63, 0x72, 0x69, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x08, 0x63, 0x72, 0x69, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x69, 0x6d, - 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x14, 0x0a, - 0x05, 0x61, 0x70, 0x70, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x61, 0x70, - 0x70, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, 0x78, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x04, 0x74, 0x65, 0x78, 0x74, 0x22, 0x2d, 0x0a, 0x11, 0x43, 0x4d, 0x73, 0x67, 0x41, - 0x4d, 0x47, 0x65, 0x74, 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x73, 0x12, 0x18, 0x0a, 0x07, - 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, 0x52, 0x07, 0x73, - 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x22, 0x71, 0x0a, 0x12, 0x43, 0x4d, 0x73, 0x67, 0x50, 0x61, - 0x63, 0x6b, 0x61, 0x67, 0x65, 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x12, 0x1d, 0x0a, 0x0a, - 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x09, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x74, - 0x69, 0x6d, 0x65, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x0b, 0x74, 0x69, 0x6d, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x12, 0x19, - 0x0a, 0x08, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x07, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x49, 0x64, 0x22, 0x62, 0x0a, 0x19, 0x43, 0x4d, 0x73, - 0x67, 0x41, 0x4d, 0x47, 0x65, 0x74, 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2d, 0x0a, 0x07, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, - 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x50, 0x61, - 0x63, 0x6b, 0x61, 0x67, 0x65, 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x52, 0x07, 0x6c, 0x69, - 0x63, 0x65, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x62, 0x0a, - 0x16, 0x43, 0x4d, 0x73, 0x67, 0x41, 0x4d, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x47, 0x61, - 0x6d, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x74, 0x65, 0x61, 0x6d, - 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, 0x52, 0x07, 0x73, 0x74, 0x65, 0x61, 0x6d, - 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x06, 0x52, 0x06, 0x67, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x73, - 0x74, 0x61, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, - 0x73, 0x22, 0xdf, 0x03, 0x0a, 0x1e, 0x43, 0x4d, 0x73, 0x67, 0x41, 0x4d, 0x47, 0x65, 0x74, 0x55, - 0x73, 0x65, 0x72, 0x47, 0x61, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, 0x52, 0x07, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x12, - 0x17, 0x0a, 0x07, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x06, - 0x52, 0x06, 0x67, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x07, 0x65, 0x72, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x3a, 0x01, 0x32, 0x52, 0x07, 0x65, 0x72, - 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x3b, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x04, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x41, 0x4d, 0x47, 0x65, 0x74, - 0x55, 0x73, 0x65, 0x72, 0x47, 0x61, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x05, 0x73, 0x74, 0x61, - 0x74, 0x73, 0x12, 0x61, 0x0a, 0x12, 0x61, 0x63, 0x68, 0x69, 0x65, 0x76, 0x65, 0x6d, 0x65, 0x6e, - 0x74, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, - 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x41, 0x4d, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x47, 0x61, - 0x6d, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, - 0x41, 0x63, 0x68, 0x69, 0x65, 0x76, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x42, 0x6c, 0x6f, 0x63, - 0x6b, 0x73, 0x52, 0x11, 0x61, 0x63, 0x68, 0x69, 0x65, 0x76, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x42, - 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x1a, 0x3f, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x17, - 0x0a, 0x07, 0x73, 0x74, 0x61, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x06, 0x73, 0x74, 0x61, 0x74, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x5f, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x73, 0x74, 0x61, - 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x1a, 0x8a, 0x01, 0x0a, 0x12, 0x41, 0x63, 0x68, 0x69, 0x65, - 0x76, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x12, 0x25, 0x0a, - 0x0e, 0x61, 0x63, 0x68, 0x69, 0x65, 0x76, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x61, 0x63, 0x68, 0x69, 0x65, 0x76, 0x65, 0x6d, 0x65, - 0x6e, 0x74, 0x49, 0x64, 0x12, 0x2c, 0x0a, 0x12, 0x61, 0x63, 0x68, 0x69, 0x65, 0x76, 0x65, 0x6d, - 0x65, 0x6e, 0x74, 0x5f, 0x62, 0x69, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x10, 0x61, 0x63, 0x68, 0x69, 0x65, 0x76, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x69, 0x74, - 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x75, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x74, 0x69, 0x6d, - 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x07, 0x52, 0x0a, 0x75, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x54, - 0x69, 0x6d, 0x65, 0x22, 0x54, 0x0a, 0x14, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x47, 0x65, 0x74, - 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x15, 0x0a, 0x06, 0x61, - 0x70, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x61, 0x70, 0x70, - 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x5f, 0x70, 0x72, - 0x65, 0x66, 0x69, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x6f, 0x6d, 0x6d, - 0x61, 0x6e, 0x64, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x22, 0x41, 0x0a, 0x1c, 0x43, 0x4d, 0x73, - 0x67, 0x47, 0x43, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x4c, 0x69, 0x73, - 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x6d, - 0x6d, 0x61, 0x6e, 0x64, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, - 0x0b, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x28, 0x0a, 0x12, - 0x43, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x4d, 0x65, 0x6d, 0x43, 0x61, 0x63, 0x68, 0x65, 0x64, 0x47, - 0x65, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, - 0x52, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x22, 0x92, 0x01, 0x0a, 0x1a, 0x43, 0x47, 0x43, 0x4d, 0x73, - 0x67, 0x4d, 0x65, 0x6d, 0x43, 0x61, 0x63, 0x68, 0x65, 0x64, 0x47, 0x65, 0x74, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3c, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, - 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x43, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x4d, 0x65, - 0x6d, 0x43, 0x61, 0x63, 0x68, 0x65, 0x64, 0x47, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x54, 0x61, 0x67, 0x52, 0x06, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x73, 0x1a, 0x36, 0x0a, 0x08, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x54, 0x61, 0x67, 0x12, - 0x14, 0x0a, 0x05, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, - 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x7a, 0x0a, 0x12, 0x43, - 0x47, 0x43, 0x4d, 0x73, 0x67, 0x4d, 0x65, 0x6d, 0x43, 0x61, 0x63, 0x68, 0x65, 0x64, 0x53, 0x65, - 0x74, 0x12, 0x2f, 0x0a, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x1b, 0x2e, 0x43, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x4d, 0x65, 0x6d, 0x43, 0x61, 0x63, 0x68, 0x65, - 0x64, 0x53, 0x65, 0x74, 0x2e, 0x4b, 0x65, 0x79, 0x50, 0x61, 0x69, 0x72, 0x52, 0x04, 0x6b, 0x65, - 0x79, 0x73, 0x1a, 0x33, 0x0a, 0x07, 0x4b, 0x65, 0x79, 0x50, 0x61, 0x69, 0x72, 0x12, 0x12, 0x0a, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, - 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x2b, 0x0a, 0x15, 0x43, 0x47, 0x43, 0x4d, 0x73, - 0x67, 0x4d, 0x65, 0x6d, 0x43, 0x61, 0x63, 0x68, 0x65, 0x64, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, - 0x12, 0x12, 0x0a, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, - 0x6b, 0x65, 0x79, 0x73, 0x22, 0x16, 0x0a, 0x14, 0x43, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x4d, 0x65, - 0x6d, 0x43, 0x61, 0x63, 0x68, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x73, 0x22, 0xd6, 0x03, 0x0a, - 0x1c, 0x43, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x4d, 0x65, 0x6d, 0x43, 0x61, 0x63, 0x68, 0x65, 0x64, - 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x29, 0x0a, - 0x10, 0x63, 0x75, 0x72, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0f, 0x63, 0x75, 0x72, 0x72, 0x43, 0x6f, 0x6e, - 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x17, 0x0a, 0x07, 0x63, 0x6d, 0x64, 0x5f, - 0x67, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x63, 0x6d, 0x64, 0x47, 0x65, - 0x74, 0x12, 0x17, 0x0a, 0x07, 0x63, 0x6d, 0x64, 0x5f, 0x73, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x04, 0x52, 0x06, 0x63, 0x6d, 0x64, 0x53, 0x65, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6d, - 0x64, 0x5f, 0x66, 0x6c, 0x75, 0x73, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x63, - 0x6d, 0x64, 0x46, 0x6c, 0x75, 0x73, 0x68, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x65, 0x74, 0x5f, 0x68, - 0x69, 0x74, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x67, 0x65, 0x74, 0x48, 0x69, - 0x74, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x67, 0x65, 0x74, 0x5f, 0x6d, 0x69, 0x73, 0x73, 0x65, 0x73, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x67, 0x65, 0x74, 0x4d, 0x69, 0x73, 0x73, 0x65, - 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x68, 0x69, 0x74, 0x73, - 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x48, 0x69, - 0x74, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x6d, 0x69, 0x73, - 0x73, 0x65, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x64, 0x65, 0x6c, 0x65, 0x74, - 0x65, 0x4d, 0x69, 0x73, 0x73, 0x65, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x79, 0x74, 0x65, 0x73, - 0x5f, 0x72, 0x65, 0x61, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x62, 0x79, 0x74, - 0x65, 0x73, 0x52, 0x65, 0x61, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, - 0x77, 0x72, 0x69, 0x74, 0x74, 0x65, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x62, - 0x79, 0x74, 0x65, 0x73, 0x57, 0x72, 0x69, 0x74, 0x74, 0x65, 0x6e, 0x12, 0x25, 0x0a, 0x0e, 0x6c, - 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x6d, 0x61, 0x78, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x0b, 0x20, - 0x01, 0x28, 0x04, 0x52, 0x0d, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x4d, 0x61, 0x78, 0x62, 0x79, 0x74, - 0x65, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x75, 0x72, 0x72, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x73, - 0x18, 0x0c, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x63, 0x75, 0x72, 0x72, 0x49, 0x74, 0x65, 0x6d, - 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x65, 0x76, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0d, - 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x65, 0x76, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, - 0x14, 0x0a, 0x05, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, - 0x62, 0x79, 0x74, 0x65, 0x73, 0x22, 0x37, 0x0a, 0x0e, 0x43, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x53, - 0x51, 0x4c, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x63, 0x68, 0x65, 0x6d, - 0x61, 0x5f, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x0d, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x43, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x22, 0xc9, - 0x03, 0x0a, 0x16, 0x43, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x51, 0x4c, 0x53, 0x74, 0x61, 0x74, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x68, 0x72, - 0x65, 0x61, 0x64, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x74, 0x68, 0x72, 0x65, - 0x61, 0x64, 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x74, 0x68, 0x72, 0x65, 0x61, 0x64, 0x73, 0x5f, 0x63, - 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, - 0x74, 0x68, 0x72, 0x65, 0x61, 0x64, 0x73, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, - 0x12, 0x25, 0x0a, 0x0e, 0x74, 0x68, 0x72, 0x65, 0x61, 0x64, 0x73, 0x5f, 0x61, 0x63, 0x74, 0x69, - 0x76, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x74, 0x68, 0x72, 0x65, 0x61, 0x64, - 0x73, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x12, 0x31, 0x0a, 0x14, 0x6f, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x64, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x64, 0x12, 0x40, 0x0a, 0x1c, 0x70, 0x72, - 0x65, 0x70, 0x61, 0x72, 0x65, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, - 0x73, 0x5f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x1a, 0x70, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, 0x6d, - 0x65, 0x6e, 0x74, 0x73, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x64, 0x12, 0x47, 0x0a, 0x20, - 0x6e, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, 0x64, 0x5f, 0x73, 0x74, 0x61, - 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x64, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x1d, 0x6e, 0x6f, 0x6e, 0x50, 0x72, 0x65, 0x70, 0x61, - 0x72, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x45, 0x78, 0x65, - 0x63, 0x75, 0x74, 0x65, 0x64, 0x12, 0x29, 0x0a, 0x10, 0x64, 0x65, 0x61, 0x64, 0x6c, 0x6f, 0x63, - 0x6b, 0x5f, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x0f, 0x64, 0x65, 0x61, 0x64, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x73, - 0x12, 0x40, 0x0a, 0x1d, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x74, - 0x69, 0x6d, 0x65, 0x64, 0x5f, 0x6f, 0x75, 0x74, 0x5f, 0x69, 0x6e, 0x5f, 0x71, 0x75, 0x65, 0x75, - 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x19, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x64, 0x4f, 0x75, 0x74, 0x49, 0x6e, 0x51, 0x75, 0x65, - 0x75, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, 0x09, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x22, 0x99, 0x01, 0x0a, 0x14, 0x43, - 0x4d, 0x73, 0x67, 0x41, 0x4d, 0x41, 0x64, 0x64, 0x46, 0x72, 0x65, 0x65, 0x4c, 0x69, 0x63, 0x65, - 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x06, 0x52, 0x07, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x12, 0x1b, 0x0a, - 0x09, 0x69, 0x70, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x08, 0x69, 0x70, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x61, - 0x63, 0x6b, 0x61, 0x67, 0x65, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x70, - 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x69, 0x64, 0x12, 0x2c, 0x0a, 0x12, 0x73, 0x74, 0x6f, 0x72, - 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, - 0x72, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x22, 0x8b, 0x01, 0x0a, 0x1c, 0x43, 0x4d, 0x73, 0x67, 0x41, - 0x4d, 0x41, 0x64, 0x64, 0x46, 0x72, 0x65, 0x65, 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1b, 0x0a, 0x07, 0x65, 0x72, 0x65, 0x73, 0x75, - 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x3a, 0x01, 0x32, 0x52, 0x07, 0x65, 0x72, 0x65, - 0x73, 0x75, 0x6c, 0x74, 0x12, 0x34, 0x0a, 0x16, 0x70, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, - 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x14, 0x70, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x52, 0x65, - 0x73, 0x75, 0x6c, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x72, - 0x61, 0x6e, 0x73, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x06, 0x52, 0x07, 0x74, 0x72, 0x61, - 0x6e, 0x73, 0x69, 0x64, 0x22, 0x27, 0x0a, 0x13, 0x43, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x65, - 0x74, 0x49, 0x50, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x69, - 0x70, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x07, 0x52, 0x03, 0x69, 0x70, 0x73, 0x22, 0x9f, 0x01, - 0x0a, 0x0f, 0x43, 0x49, 0x50, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, - 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x69, - 0x70, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x61, 0x74, 0x69, 0x74, 0x75, 0x64, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x02, 0x52, 0x08, 0x6c, 0x61, 0x74, 0x69, 0x74, 0x75, 0x64, 0x65, 0x12, 0x1c, 0x0a, - 0x09, 0x6c, 0x6f, 0x6e, 0x67, 0x69, 0x74, 0x75, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, - 0x52, 0x09, 0x6c, 0x6f, 0x6e, 0x67, 0x69, 0x74, 0x75, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x63, - 0x69, 0x74, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x69, 0x74, 0x79, 0x22, - 0x45, 0x0a, 0x1b, 0x43, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x65, 0x74, 0x49, 0x50, 0x4c, 0x6f, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x26, - 0x0a, 0x05, 0x69, 0x6e, 0x66, 0x6f, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, - 0x43, 0x49, 0x50, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, - 0x05, 0x69, 0x6e, 0x66, 0x6f, 0x73, 0x22, 0x52, 0x0a, 0x17, 0x43, 0x47, 0x43, 0x4d, 0x73, 0x67, - 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x53, 0x74, 0x61, 0x74, 0x73, 0x53, 0x63, 0x68, 0x65, 0x6d, - 0x61, 0x12, 0x1a, 0x0a, 0x09, 0x67, 0x63, 0x5f, 0x61, 0x70, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x67, 0x63, 0x41, 0x70, 0x70, 0x49, 0x64, 0x12, 0x1b, 0x0a, - 0x09, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x6b, 0x76, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, - 0x52, 0x08, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4b, 0x76, 0x22, 0x16, 0x0a, 0x14, 0x43, 0x47, - 0x43, 0x4d, 0x73, 0x67, 0x47, 0x65, 0x74, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x53, 0x74, 0x61, - 0x74, 0x73, 0x22, 0xf5, 0x03, 0x0a, 0x1c, 0x43, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x65, 0x74, - 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x1a, 0x0a, 0x09, 0x67, 0x63, 0x5f, 0x61, 0x70, 0x70, 0x5f, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x67, 0x63, 0x41, 0x70, 0x70, 0x49, 0x64, 0x12, - 0x19, 0x0a, 0x08, 0x73, 0x74, 0x61, 0x74, 0x73, 0x5f, 0x6b, 0x76, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0c, 0x52, 0x07, 0x73, 0x74, 0x61, 0x74, 0x73, 0x4b, 0x76, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x63, - 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6a, 0x6f, 0x62, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x0a, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x4a, 0x6f, 0x62, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x79, - 0x69, 0x65, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x6a, 0x6f, 0x62, 0x73, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x0c, 0x79, 0x69, 0x65, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x73, - 0x12, 0x23, 0x0a, 0x0d, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, - 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x75, 0x73, 0x65, 0x72, 0x53, 0x65, 0x73, - 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x30, 0x0a, 0x14, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x73, 0x65, - 0x72, 0x76, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x12, 0x67, 0x61, 0x6d, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, - 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x6f, 0x63, 0x61, 0x63, - 0x68, 0x65, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x73, 0x6f, 0x63, 0x61, 0x63, - 0x68, 0x65, 0x73, 0x12, 0x2c, 0x0a, 0x12, 0x73, 0x6f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x73, 0x5f, - 0x74, 0x6f, 0x5f, 0x75, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x10, 0x73, 0x6f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x73, 0x54, 0x6f, 0x55, 0x6e, 0x6c, 0x6f, 0x61, - 0x64, 0x12, 0x29, 0x0a, 0x10, 0x73, 0x6f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x73, 0x5f, 0x6c, 0x6f, - 0x61, 0x64, 0x69, 0x6e, 0x67, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x73, 0x6f, 0x63, - 0x61, 0x63, 0x68, 0x65, 0x73, 0x4c, 0x6f, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x27, 0x0a, 0x0f, - 0x77, 0x72, 0x69, 0x74, 0x65, 0x62, 0x61, 0x63, 0x6b, 0x5f, 0x71, 0x75, 0x65, 0x75, 0x65, 0x18, - 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x77, 0x72, 0x69, 0x74, 0x65, 0x62, 0x61, 0x63, 0x6b, - 0x51, 0x75, 0x65, 0x75, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, - 0x5f, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x73, 0x74, - 0x65, 0x61, 0x6d, 0x69, 0x64, 0x4c, 0x6f, 0x63, 0x6b, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x6c, 0x6f, - 0x67, 0x6f, 0x6e, 0x5f, 0x71, 0x75, 0x65, 0x75, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x0a, 0x6c, 0x6f, 0x67, 0x6f, 0x6e, 0x51, 0x75, 0x65, 0x75, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6c, - 0x6f, 0x67, 0x6f, 0x6e, 0x5f, 0x6a, 0x6f, 0x62, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x09, 0x6c, 0x6f, 0x67, 0x6f, 0x6e, 0x4a, 0x6f, 0x62, 0x73, 0x22, 0xd6, 0x03, 0x0a, 0x0f, 0x43, - 0x4d, 0x73, 0x67, 0x41, 0x4d, 0x53, 0x65, 0x6e, 0x64, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x18, - 0x0a, 0x07, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, 0x52, - 0x07, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x12, 0x24, 0x0a, 0x0e, 0x65, 0x6d, 0x61, 0x69, - 0x6c, 0x5f, 0x6d, 0x73, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x0c, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x4d, 0x73, 0x67, 0x54, 0x79, 0x70, 0x65, 0x12, 0x21, - 0x0a, 0x0c, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x46, 0x6f, 0x72, 0x6d, 0x61, - 0x74, 0x12, 0x5c, 0x0a, 0x13, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x5f, 0x6e, 0x61, 0x6d, - 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, - 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x41, 0x4d, 0x53, 0x65, 0x6e, 0x64, 0x45, 0x6d, 0x61, 0x69, 0x6c, - 0x2e, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x70, 0x6c, - 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x11, 0x70, 0x65, - 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x12, - 0x1b, 0x0a, 0x09, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x67, 0x63, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x08, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x47, 0x63, 0x12, 0x39, 0x0a, 0x06, - 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x43, - 0x4d, 0x73, 0x67, 0x41, 0x4d, 0x53, 0x65, 0x6e, 0x64, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x2e, 0x52, - 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, - 0x06, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x1a, 0x52, 0x0a, 0x10, 0x52, 0x65, 0x70, 0x6c, 0x61, - 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x74, - 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x09, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x6f, - 0x6b, 0x65, 0x6e, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0a, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x1a, 0x56, 0x0a, 0x1b, 0x50, - 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x63, - 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x74, - 0x65, 0x61, 0x6d, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, 0x52, 0x07, 0x73, 0x74, 0x65, - 0x61, 0x6d, 0x69, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x4e, - 0x61, 0x6d, 0x65, 0x22, 0x36, 0x0a, 0x17, 0x43, 0x4d, 0x73, 0x67, 0x41, 0x4d, 0x53, 0x65, 0x6e, - 0x64, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1b, - 0x0a, 0x07, 0x65, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x3a, - 0x01, 0x32, 0x52, 0x07, 0x65, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x97, 0x01, 0x0a, 0x16, - 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x47, 0x65, 0x74, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x54, 0x65, - 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x15, 0x0a, 0x06, 0x61, 0x70, 0x70, 0x5f, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x61, 0x70, 0x70, 0x49, 0x64, 0x12, 0x24, 0x0a, - 0x0e, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x5f, 0x6d, 0x73, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x4d, 0x73, 0x67, 0x54, - 0x79, 0x70, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x5f, 0x6c, 0x61, 0x6e, - 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x4c, 0x61, - 0x6e, 0x67, 0x12, 0x21, 0x0a, 0x0c, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x5f, 0x66, 0x6f, 0x72, 0x6d, - 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x46, - 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x22, 0x82, 0x01, 0x0a, 0x1e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, - 0x47, 0x65, 0x74, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1b, 0x0a, 0x07, 0x65, 0x72, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x3a, 0x01, 0x32, 0x52, 0x07, 0x65, 0x72, - 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, - 0x65, 0x5f, 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, - 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x45, 0x78, 0x69, 0x73, 0x74, 0x73, 0x12, 0x1a, - 0x0a, 0x08, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x08, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x22, 0xc1, 0x01, 0x0a, 0x17, 0x43, - 0x4d, 0x73, 0x67, 0x41, 0x4d, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x47, 0x75, 0x65, 0x73, 0x74, 0x50, - 0x61, 0x73, 0x73, 0x65, 0x73, 0x32, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x5f, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, 0x52, 0x07, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x49, - 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x49, 0x64, - 0x12, 0x26, 0x0a, 0x0f, 0x70, 0x61, 0x73, 0x73, 0x65, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x67, 0x72, - 0x61, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x70, 0x61, 0x73, 0x73, 0x65, - 0x73, 0x54, 0x6f, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x12, 0x2c, 0x0a, 0x12, 0x64, 0x61, 0x79, 0x73, - 0x5f, 0x74, 0x6f, 0x5f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x64, 0x61, 0x79, 0x73, 0x54, 0x6f, 0x45, 0x78, 0x70, 0x69, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x68, - 0x0a, 0x1f, 0x43, 0x4d, 0x73, 0x67, 0x41, 0x4d, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x47, 0x75, 0x65, - 0x73, 0x74, 0x50, 0x61, 0x73, 0x73, 0x65, 0x73, 0x32, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x1b, 0x0a, 0x07, 0x65, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x05, 0x3a, 0x01, 0x32, 0x52, 0x07, 0x65, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x28, - 0x0a, 0x0e, 0x70, 0x61, 0x73, 0x73, 0x65, 0x73, 0x5f, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x65, 0x64, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x3a, 0x01, 0x30, 0x52, 0x0d, 0x70, 0x61, 0x73, 0x73, 0x65, - 0x73, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x65, 0x64, 0x22, 0x5c, 0x0a, 0x1e, 0x43, 0x47, 0x43, 0x53, - 0x79, 0x73, 0x74, 0x65, 0x6d, 0x4d, 0x73, 0x67, 0x5f, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x74, - 0x65, 0x61, 0x6d, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, 0x52, 0x07, 0x73, 0x74, 0x65, - 0x61, 0x6d, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x70, 0x70, 0x69, 0x64, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x05, 0x61, 0x70, 0x70, 0x69, 0x64, 0x3a, 0x0a, 0x80, 0xa6, 0x1d, 0x80, - 0x01, 0x88, 0xa6, 0x1d, 0x80, 0x04, 0x22, 0xc7, 0x0c, 0x0a, 0x27, 0x43, 0x47, 0x43, 0x53, 0x79, - 0x73, 0x74, 0x65, 0x6d, 0x4d, 0x73, 0x67, 0x5f, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x5f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x30, 0x0a, 0x12, 0x65, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x64, 0x65, - 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x3a, 0x01, - 0x32, 0x52, 0x11, 0x65, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x44, 0x65, 0x70, 0x72, 0x65, 0x63, - 0x61, 0x74, 0x65, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x65, 0x72, 0x73, 0x6f, - 0x6e, 0x61, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, - 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x69, 0x73, - 0x5f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x69, 0x73, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, - 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x12, 0x2e, 0x0a, 0x13, 0x69, 0x73, 0x5f, 0x69, 0x6e, 0x76, - 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x11, 0x69, 0x73, 0x49, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, - 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x12, 0x22, 0x0a, 0x0d, 0x69, 0x73, 0x5f, 0x76, 0x61, 0x63, - 0x5f, 0x62, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, - 0x73, 0x56, 0x61, 0x63, 0x42, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x12, 0x22, 0x0a, 0x0d, 0x69, 0x73, - 0x5f, 0x63, 0x79, 0x62, 0x65, 0x72, 0x5f, 0x63, 0x61, 0x66, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x0b, 0x69, 0x73, 0x43, 0x79, 0x62, 0x65, 0x72, 0x43, 0x61, 0x66, 0x65, 0x12, 0x2a, - 0x0a, 0x11, 0x69, 0x73, 0x5f, 0x73, 0x63, 0x68, 0x6f, 0x6f, 0x6c, 0x5f, 0x61, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x69, 0x73, 0x53, 0x63, 0x68, - 0x6f, 0x6f, 0x6c, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x73, - 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, - 0x69, 0x73, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x73, 0x5f, - 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x0c, 0x69, 0x73, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x64, 0x12, 0x18, - 0x0a, 0x07, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x07, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x12, 0x31, 0x0a, 0x15, 0x69, 0x73, 0x5f, 0x66, - 0x72, 0x65, 0x65, 0x5f, 0x74, 0x72, 0x69, 0x61, 0x6c, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x69, 0x73, 0x46, 0x72, 0x65, 0x65, 0x54, - 0x72, 0x69, 0x61, 0x6c, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x32, 0x0a, 0x15, 0x66, - 0x72, 0x65, 0x65, 0x5f, 0x74, 0x72, 0x69, 0x61, 0x6c, 0x5f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x66, 0x72, 0x65, 0x65, - 0x54, 0x72, 0x69, 0x61, 0x6c, 0x45, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, - 0x26, 0x0a, 0x0f, 0x69, 0x73, 0x5f, 0x6c, 0x6f, 0x77, 0x5f, 0x76, 0x69, 0x6f, 0x6c, 0x65, 0x6e, - 0x63, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x69, 0x73, 0x4c, 0x6f, 0x77, 0x56, - 0x69, 0x6f, 0x6c, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x33, 0x0a, 0x16, 0x69, 0x73, 0x5f, 0x61, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x64, 0x6f, 0x77, - 0x6e, 0x18, 0x10, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x69, 0x73, 0x41, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x4c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x44, 0x6f, 0x77, 0x6e, 0x12, 0x2e, 0x0a, 0x13, - 0x69, 0x73, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x5f, 0x62, 0x61, 0x6e, - 0x6e, 0x65, 0x64, 0x18, 0x11, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x69, 0x73, 0x43, 0x6f, 0x6d, - 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x42, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x12, 0x26, 0x0a, 0x0f, - 0x69, 0x73, 0x5f, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x62, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x18, - 0x12, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x69, 0x73, 0x54, 0x72, 0x61, 0x64, 0x65, 0x42, 0x61, - 0x6e, 0x6e, 0x65, 0x64, 0x12, 0x30, 0x0a, 0x14, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x62, 0x61, - 0x6e, 0x5f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x13, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x12, 0x74, 0x72, 0x61, 0x64, 0x65, 0x42, 0x61, 0x6e, 0x45, 0x78, 0x70, 0x69, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x69, 0x64, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x69, 0x64, 0x12, 0x2e, 0x0a, 0x13, 0x73, 0x75, 0x73, 0x70, 0x65, 0x6e, 0x73, 0x69, - 0x6f, 0x6e, 0x5f, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x15, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x11, 0x73, 0x75, 0x73, 0x70, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x64, - 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, - 0x18, 0x16, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, - 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, - 0x17, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x4c, 0x65, 0x76, 0x65, - 0x6c, 0x12, 0x21, 0x0a, 0x0c, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x5f, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x43, - 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x32, 0x0a, 0x15, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, - 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x19, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x13, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x32, 0x0a, 0x15, 0x69, 0x73, 0x5f, 0x73, - 0x74, 0x65, 0x61, 0x6d, 0x67, 0x75, 0x61, 0x72, 0x64, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, - 0x64, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x69, 0x73, 0x53, 0x74, 0x65, 0x61, 0x6d, - 0x67, 0x75, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x2a, 0x0a, 0x11, - 0x69, 0x73, 0x5f, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x5f, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, - 0x64, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x69, 0x73, 0x50, 0x68, 0x6f, 0x6e, 0x65, - 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x12, 0x3a, 0x0a, 0x1a, 0x69, 0x73, 0x5f, 0x74, - 0x77, 0x6f, 0x5f, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x65, - 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x16, 0x69, 0x73, - 0x54, 0x77, 0x6f, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x41, 0x75, 0x74, 0x68, 0x45, 0x6e, 0x61, - 0x62, 0x6c, 0x65, 0x64, 0x12, 0x35, 0x0a, 0x17, 0x74, 0x77, 0x6f, 0x5f, 0x66, 0x61, 0x63, 0x74, - 0x6f, 0x72, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, - 0x1e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x14, 0x74, 0x77, 0x6f, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, - 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x36, 0x0a, 0x17, 0x70, - 0x68, 0x6f, 0x6e, 0x65, 0x5f, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x15, 0x70, 0x68, - 0x6f, 0x6e, 0x65, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, - 0x69, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x5f, 0x69, 0x64, 0x18, - 0x21, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x49, 0x64, 0x12, 0x30, - 0x0a, 0x14, 0x69, 0x73, 0x5f, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, - 0x69, 0x66, 0x79, 0x69, 0x6e, 0x67, 0x18, 0x22, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x69, 0x73, - 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x69, 0x6e, 0x67, - 0x12, 0x2c, 0x0a, 0x12, 0x72, 0x74, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, - 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x64, 0x18, 0x23, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x72, 0x74, - 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x4c, 0x69, 0x6e, 0x6b, 0x65, 0x64, 0x12, 0x22, - 0x0a, 0x0d, 0x72, 0x74, 0x5f, 0x62, 0x69, 0x72, 0x74, 0x68, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, - 0x24, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x72, 0x74, 0x42, 0x69, 0x72, 0x74, 0x68, 0x44, 0x61, - 0x74, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x74, 0x78, 0x6e, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, - 0x79, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x25, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x74, 0x78, - 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x33, 0x0a, 0x16, - 0x68, 0x61, 0x73, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x69, - 0x6e, 0x61, 0x5f, 0x73, 0x73, 0x61, 0x18, 0x26, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x68, 0x61, - 0x73, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64, 0x43, 0x68, 0x69, 0x6e, 0x61, 0x53, 0x73, - 0x61, 0x12, 0x31, 0x0a, 0x15, 0x69, 0x73, 0x5f, 0x62, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x5f, 0x73, - 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x63, 0x68, 0x69, 0x6e, 0x61, 0x18, 0x27, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x12, 0x69, 0x73, 0x42, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x43, - 0x68, 0x69, 0x6e, 0x61, 0x3a, 0x0a, 0x80, 0xa6, 0x1d, 0x80, 0x01, 0x88, 0xa6, 0x1d, 0x80, 0x04, - 0x22, 0x33, 0x0a, 0x15, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x47, 0x65, 0x74, 0x50, 0x65, 0x72, - 0x73, 0x6f, 0x6e, 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x74, 0x65, - 0x61, 0x6d, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x06, 0x52, 0x08, 0x73, 0x74, 0x65, - 0x61, 0x6d, 0x69, 0x64, 0x73, 0x22, 0xfc, 0x01, 0x0a, 0x1e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, - 0x47, 0x65, 0x74, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x5f, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x58, 0x0a, 0x11, 0x73, 0x75, 0x63, 0x63, - 0x65, 0x65, 0x64, 0x65, 0x64, 0x5f, 0x6c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x73, 0x18, 0x01, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x47, 0x65, 0x74, 0x50, - 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x5f, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x4e, 0x61, 0x6d, 0x65, - 0x52, 0x10, 0x73, 0x75, 0x63, 0x63, 0x65, 0x65, 0x64, 0x65, 0x64, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, - 0x70, 0x73, 0x12, 0x34, 0x0a, 0x16, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x5f, 0x6c, 0x6f, 0x6f, - 0x6b, 0x75, 0x70, 0x5f, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, - 0x28, 0x06, 0x52, 0x14, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, - 0x53, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x73, 0x1a, 0x4a, 0x0a, 0x0b, 0x50, 0x65, 0x72, 0x73, - 0x6f, 0x6e, 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x74, 0x65, 0x61, 0x6d, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, 0x52, 0x07, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, - 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x5f, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, - 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x5f, 0x0a, 0x15, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x68, - 0x65, 0x63, 0x6b, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x73, 0x68, 0x69, 0x70, 0x12, 0x21, 0x0a, - 0x0c, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x5f, 0x6c, 0x65, 0x66, 0x74, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x06, 0x52, 0x0b, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x4c, 0x65, 0x66, 0x74, - 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x5f, 0x72, 0x69, 0x67, 0x68, - 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x06, 0x52, 0x0c, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, - 0x52, 0x69, 0x67, 0x68, 0x74, 0x22, 0x65, 0x0a, 0x1e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, - 0x68, 0x65, 0x63, 0x6b, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x73, 0x68, 0x69, 0x70, 0x5f, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, - 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, - 0x73, 0x12, 0x29, 0x0a, 0x10, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x66, 0x72, 0x69, 0x65, 0x6e, - 0x64, 0x73, 0x68, 0x69, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x66, 0x6f, 0x75, - 0x6e, 0x64, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x73, 0x68, 0x69, 0x70, 0x22, 0x8a, 0x02, 0x0a, - 0x1b, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, - 0x53, 0x65, 0x74, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x28, 0x0a, 0x10, - 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x64, 0x69, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x44, 0x69, - 0x72, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x34, 0x0a, 0x03, 0x64, 0x69, 0x72, 0x18, 0x02, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x4d, - 0x61, 0x73, 0x74, 0x65, 0x72, 0x53, 0x65, 0x74, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, - 0x79, 0x2e, 0x53, 0x75, 0x62, 0x47, 0x43, 0x52, 0x03, 0x64, 0x69, 0x72, 0x1a, 0x8a, 0x01, 0x0a, - 0x05, 0x53, 0x75, 0x62, 0x47, 0x43, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x5f, 0x69, 0x6e, - 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x64, 0x69, 0x72, 0x49, 0x6e, - 0x64, 0x65, 0x78, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x62, 0x6f, 0x78, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x62, 0x6f, 0x78, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x6d, - 0x6d, 0x61, 0x6e, 0x64, 0x5f, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0b, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x4c, 0x69, 0x6e, 0x65, 0x12, 0x1b, 0x0a, 0x09, - 0x67, 0x63, 0x5f, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x08, 0x67, 0x63, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x22, 0x5d, 0x0a, 0x24, 0x43, 0x4d, 0x73, - 0x67, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x53, 0x65, 0x74, 0x44, - 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x5f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x1b, 0x0a, 0x07, 0x65, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x05, 0x3a, 0x01, 0x32, 0x52, 0x07, 0x65, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x18, - 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x47, 0x0a, 0x28, 0x43, 0x4d, 0x73, 0x67, - 0x47, 0x43, 0x4d, 0x73, 0x67, 0x57, 0x65, 0x62, 0x41, 0x50, 0x49, 0x4a, 0x6f, 0x62, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, - 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x64, 0x69, 0x72, 0x49, 0x6e, 0x64, 0x65, - 0x78, 0x22, 0x41, 0x0a, 0x25, 0x43, 0x47, 0x43, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x4d, 0x73, - 0x67, 0x5f, 0x47, 0x65, 0x74, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x54, 0x72, 0x75, - 0x73, 0x74, 0x5f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x74, - 0x65, 0x61, 0x6d, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, 0x52, 0x07, 0x73, 0x74, 0x65, - 0x61, 0x6d, 0x69, 0x64, 0x22, 0x86, 0x02, 0x0a, 0x26, 0x43, 0x47, 0x43, 0x53, 0x79, 0x73, 0x74, - 0x65, 0x6d, 0x4d, 0x73, 0x67, 0x5f, 0x47, 0x65, 0x74, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, - 0x65, 0x54, 0x72, 0x75, 0x73, 0x74, 0x5f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x3b, 0x0a, 0x1a, 0x68, 0x61, 0x73, 0x5f, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x5f, 0x70, 0x75, 0x72, - 0x63, 0x68, 0x61, 0x73, 0x65, 0x5f, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x17, 0x68, 0x61, 0x73, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x50, 0x75, 0x72, - 0x63, 0x68, 0x61, 0x73, 0x65, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x40, 0x0a, 0x1d, - 0x68, 0x61, 0x73, 0x5f, 0x6e, 0x6f, 0x5f, 0x72, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x61, - 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x5f, 0x72, 0x65, 0x73, 0x65, 0x74, 0x73, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x19, 0x68, 0x61, 0x73, 0x4e, 0x6f, 0x52, 0x65, 0x63, 0x65, 0x6e, 0x74, - 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x73, 0x65, 0x74, 0x73, 0x12, 0x33, - 0x0a, 0x16, 0x69, 0x73, 0x5f, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x68, - 0x5f, 0x74, 0x72, 0x75, 0x73, 0x74, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, - 0x69, 0x73, 0x57, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x43, 0x61, 0x73, 0x68, 0x54, 0x72, 0x75, 0x73, - 0x74, 0x65, 0x64, 0x12, 0x28, 0x0a, 0x10, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, - 0x74, 0x72, 0x75, 0x73, 0x74, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x74, - 0x69, 0x6d, 0x65, 0x41, 0x6c, 0x6c, 0x54, 0x72, 0x75, 0x73, 0x74, 0x65, 0x64, 0x22, 0xcf, 0x01, - 0x0a, 0x1d, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x48, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x56, 0x61, 0x63, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, + 0x22, 0xf0, 0x01, 0x0a, 0x11, 0x43, 0x4d, 0x73, 0x67, 0x57, 0x65, 0x62, 0x41, 0x50, 0x49, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, + 0x61, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, + 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, + 0x0b, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0a, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x18, + 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x27, 0x0a, 0x07, 0x61, 0x70, 0x69, 0x5f, + 0x6b, 0x65, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x43, 0x4d, 0x73, 0x67, + 0x57, 0x65, 0x62, 0x41, 0x50, 0x49, 0x4b, 0x65, 0x79, 0x52, 0x06, 0x61, 0x70, 0x69, 0x4b, 0x65, + 0x79, 0x12, 0x2a, 0x0a, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x48, 0x74, 0x74, 0x70, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x52, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, + 0x0e, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x61, 0x70, 0x70, 0x5f, 0x69, 0x64, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x41, 0x70, + 0x70, 0x49, 0x64, 0x22, 0xbf, 0x01, 0x0a, 0x10, 0x43, 0x4d, 0x73, 0x67, 0x48, 0x74, 0x74, 0x70, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x73, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x3a, 0x0a, 0x07, 0x68, 0x65, 0x61, + 0x64, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x43, 0x4d, 0x73, + 0x67, 0x48, 0x74, 0x74, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x07, 0x68, 0x65, + 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0c, 0x52, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x1a, 0x3a, 0x0a, 0x0e, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, + 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x5a, 0x0a, 0x12, 0x43, 0x4d, 0x73, 0x67, 0x41, 0x4d, 0x46, + 0x69, 0x6e, 0x64, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x73, + 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x0a, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x54, 0x79, 0x70, 0x65, 0x12, 0x23, 0x0a, 0x0d, + 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x53, 0x74, 0x72, 0x69, 0x6e, + 0x67, 0x22, 0x37, 0x0a, 0x1a, 0x43, 0x4d, 0x73, 0x67, 0x41, 0x4d, 0x46, 0x69, 0x6e, 0x64, 0x41, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x19, 0x0a, 0x08, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x06, 0x52, 0x07, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x22, 0xd2, 0x01, 0x0a, 0x12, 0x43, + 0x4d, 0x73, 0x67, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x57, 0x61, 0x74, 0x63, 0x68, 0x64, 0x6f, + 0x67, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x6c, 0x65, + 0x72, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, + 0x6c, 0x65, 0x72, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x61, 0x6c, 0x65, 0x72, + 0x74, 0x5f, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x10, 0x61, 0x6c, 0x65, 0x72, 0x74, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x72, 0x69, 0x74, 0x69, 0x63, 0x61, + 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x63, 0x72, 0x69, 0x74, 0x69, 0x63, 0x61, + 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x04, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x70, 0x70, 0x69, 0x64, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x61, 0x70, 0x70, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x74, + 0x65, 0x78, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x65, 0x78, 0x74, 0x22, + 0x2d, 0x0a, 0x11, 0x43, 0x4d, 0x73, 0x67, 0x41, 0x4d, 0x47, 0x65, 0x74, 0x4c, 0x69, 0x63, 0x65, + 0x6e, 0x73, 0x65, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x06, 0x52, 0x07, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x22, 0x71, + 0x0a, 0x12, 0x43, 0x4d, 0x73, 0x67, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x4c, 0x69, 0x63, + 0x65, 0x6e, 0x73, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x5f, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, + 0x65, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x74, 0x69, 0x6d, 0x65, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x5f, + 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x49, + 0x64, 0x22, 0x62, 0x0a, 0x19, 0x43, 0x4d, 0x73, 0x67, 0x41, 0x4d, 0x47, 0x65, 0x74, 0x4c, 0x69, + 0x63, 0x65, 0x6e, 0x73, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2d, + 0x0a, 0x07, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x13, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x4c, 0x69, 0x63, + 0x65, 0x6e, 0x73, 0x65, 0x52, 0x07, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, + 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x72, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x62, 0x0a, 0x16, 0x43, 0x4d, 0x73, 0x67, 0x41, 0x4d, 0x47, + 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x47, 0x61, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x06, 0x52, 0x07, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x12, 0x15, 0x0a, 0x06, 0x61, 0x70, - 0x70, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x61, 0x70, 0x70, 0x49, - 0x64, 0x12, 0x2e, 0x0a, 0x13, 0x72, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x76, 0x61, 0x63, 0x62, 0x61, - 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, - 0x72, 0x74, 0x69, 0x6d, 0x65, 0x56, 0x61, 0x63, 0x62, 0x61, 0x6e, 0x53, 0x74, 0x61, 0x72, 0x74, - 0x73, 0x12, 0x22, 0x0a, 0x0d, 0x69, 0x73, 0x5f, 0x62, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x5f, 0x6e, - 0x6f, 0x77, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x42, 0x61, 0x6e, 0x6e, - 0x65, 0x64, 0x4e, 0x6f, 0x77, 0x12, 0x28, 0x0a, 0x10, 0x69, 0x73, 0x5f, 0x62, 0x61, 0x6e, 0x6e, - 0x65, 0x64, 0x5f, 0x66, 0x75, 0x74, 0x75, 0x72, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x0e, 0x69, 0x73, 0x42, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x46, 0x75, 0x74, 0x75, 0x72, 0x65, 0x22, - 0x37, 0x0a, 0x1b, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x47, 0x65, 0x74, 0x50, 0x61, 0x72, 0x74, - 0x6e, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4c, 0x69, 0x6e, 0x6b, 0x12, 0x18, - 0x0a, 0x07, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, 0x52, - 0x07, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x22, 0xb2, 0x01, 0x0a, 0x24, 0x43, 0x4d, 0x73, - 0x67, 0x47, 0x43, 0x47, 0x65, 0x74, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x41, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x4c, 0x69, 0x6e, 0x6b, 0x5f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x77, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x04, 0x70, 0x77, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x6e, 0x65, 0x78, 0x6f, 0x6e, 0x69, 0x64, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6e, 0x65, 0x78, 0x6f, 0x6e, 0x69, 0x64, 0x12, - 0x1a, 0x0a, 0x08, 0x61, 0x67, 0x65, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x08, 0x61, 0x67, 0x65, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x25, 0x0a, 0x0b, 0x69, - 0x64, 0x5f, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, - 0x3a, 0x04, 0x74, 0x72, 0x75, 0x65, 0x52, 0x0a, 0x69, 0x64, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, - 0x65, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x73, 0x5f, 0x61, 0x64, 0x75, 0x6c, 0x74, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x69, 0x73, 0x41, 0x64, 0x75, 0x6c, 0x74, 0x22, 0xf5, 0x02, - 0x0a, 0x11, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x49, - 0x6e, 0x66, 0x6f, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x08, 0x64, 0x69, 0x72, 0x49, 0x6e, 0x64, 0x65, 0x78, - 0x12, 0x40, 0x0a, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, - 0x32, 0x20, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, - 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x4d, 0x65, 0x74, 0x68, - 0x6f, 0x64, 0x3a, 0x06, 0x52, 0x41, 0x4e, 0x44, 0x4f, 0x4d, 0x52, 0x06, 0x6d, 0x65, 0x74, 0x68, - 0x6f, 0x64, 0x12, 0x45, 0x0a, 0x08, 0x66, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x0e, 0x32, 0x20, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x52, 0x6f, 0x75, - 0x74, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, - 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x3a, 0x07, 0x44, 0x49, 0x53, 0x43, 0x41, 0x52, 0x44, 0x52, - 0x08, 0x66, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x12, 0x25, 0x0a, 0x0e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x62, 0x75, 0x66, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x0d, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x46, 0x69, 0x65, 0x6c, 0x64, - 0x12, 0x21, 0x0a, 0x0c, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x50, 0x61, - 0x72, 0x61, 0x6d, 0x22, 0x70, 0x0a, 0x0d, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x4d, 0x65, - 0x74, 0x68, 0x6f, 0x64, 0x12, 0x0a, 0x0a, 0x06, 0x52, 0x41, 0x4e, 0x44, 0x4f, 0x4d, 0x10, 0x00, - 0x12, 0x0b, 0x0a, 0x07, 0x44, 0x49, 0x53, 0x43, 0x41, 0x52, 0x44, 0x10, 0x01, 0x12, 0x12, 0x0a, - 0x0e, 0x43, 0x4c, 0x49, 0x45, 0x4e, 0x54, 0x5f, 0x53, 0x54, 0x45, 0x41, 0x4d, 0x49, 0x44, 0x10, - 0x02, 0x12, 0x19, 0x0a, 0x15, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x42, 0x55, 0x46, 0x5f, 0x46, 0x49, - 0x45, 0x4c, 0x44, 0x5f, 0x55, 0x49, 0x4e, 0x54, 0x36, 0x34, 0x10, 0x03, 0x12, 0x17, 0x0a, 0x13, - 0x57, 0x45, 0x42, 0x41, 0x50, 0x49, 0x5f, 0x50, 0x41, 0x52, 0x41, 0x4d, 0x5f, 0x55, 0x49, 0x4e, - 0x54, 0x36, 0x34, 0x10, 0x04, 0x22, 0xe2, 0x01, 0x0a, 0x1f, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, - 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x53, 0x65, 0x74, 0x57, 0x65, 0x62, 0x41, - 0x50, 0x49, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x40, 0x0a, 0x07, 0x65, 0x6e, 0x74, - 0x72, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x43, 0x4d, 0x73, - 0x67, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x53, 0x65, 0x74, 0x57, - 0x65, 0x62, 0x41, 0x50, 0x49, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x45, 0x6e, 0x74, - 0x72, 0x79, 0x52, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x1a, 0x7d, 0x0a, 0x05, 0x45, - 0x6e, 0x74, 0x72, 0x79, 0x12, 0x25, 0x0a, 0x0e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, - 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x69, 0x6e, - 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, - 0x65, 0x74, 0x68, 0x6f, 0x64, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0a, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2c, 0x0a, 0x07, - 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, - 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x66, - 0x6f, 0x52, 0x07, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x22, 0xbb, 0x01, 0x0a, 0x22, 0x43, - 0x4d, 0x73, 0x67, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x53, 0x65, - 0x74, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x73, 0x67, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, - 0x67, 0x12, 0x43, 0x0a, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x4d, 0x61, - 0x73, 0x74, 0x65, 0x72, 0x53, 0x65, 0x74, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x73, 0x67, - 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x65, - 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x1a, 0x50, 0x0a, 0x05, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, - 0x19, 0x0a, 0x08, 0x6d, 0x73, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x07, 0x6d, 0x73, 0x67, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2c, 0x0a, 0x07, 0x72, 0x6f, - 0x75, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x43, 0x4d, - 0x73, 0x67, 0x47, 0x43, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x52, - 0x07, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x22, 0x47, 0x0a, 0x28, 0x43, 0x4d, 0x73, 0x67, - 0x47, 0x43, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x53, 0x65, 0x74, 0x57, 0x65, - 0x62, 0x41, 0x50, 0x49, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1b, 0x0a, 0x07, 0x65, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x05, 0x3a, 0x01, 0x32, 0x52, 0x07, 0x65, 0x72, 0x65, 0x73, 0x75, 0x6c, - 0x74, 0x22, 0x4a, 0x0a, 0x2b, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x4d, 0x61, - 0x73, 0x74, 0x65, 0x72, 0x53, 0x65, 0x74, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x73, 0x67, - 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x06, 0x52, 0x07, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x67, 0x61, + 0x6d, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x06, 0x52, 0x06, 0x67, 0x61, 0x6d, + 0x65, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, + 0x28, 0x0d, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x73, 0x22, 0xdf, 0x03, 0x0a, 0x1e, 0x43, 0x4d, + 0x73, 0x67, 0x41, 0x4d, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x47, 0x61, 0x6d, 0x65, 0x53, + 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x19, 0x0a, 0x08, + 0x73, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, 0x52, 0x07, + 0x73, 0x74, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x67, 0x61, 0x6d, 0x65, 0x5f, + 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x06, 0x52, 0x06, 0x67, 0x61, 0x6d, 0x65, 0x49, 0x64, + 0x12, 0x1b, 0x0a, 0x07, 0x65, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x05, 0x3a, 0x01, 0x32, 0x52, 0x07, 0x65, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x3b, 0x0a, + 0x05, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x43, + 0x4d, 0x73, 0x67, 0x41, 0x4d, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x47, 0x61, 0x6d, 0x65, + 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x53, 0x74, + 0x61, 0x74, 0x73, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x73, 0x12, 0x61, 0x0a, 0x12, 0x61, 0x63, + 0x68, 0x69, 0x65, 0x76, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x73, + 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x41, 0x4d, 0x47, + 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x47, 0x61, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x41, 0x63, 0x68, 0x69, 0x65, 0x76, 0x65, 0x6d, + 0x65, 0x6e, 0x74, 0x5f, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x52, 0x11, 0x61, 0x63, 0x68, 0x69, + 0x65, 0x76, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x1a, 0x3f, 0x0a, + 0x05, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x17, 0x0a, 0x07, 0x73, 0x74, 0x61, 0x74, 0x5f, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x49, 0x64, 0x12, + 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x09, 0x73, 0x74, 0x61, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x1a, 0x8a, + 0x01, 0x0a, 0x12, 0x41, 0x63, 0x68, 0x69, 0x65, 0x76, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x42, + 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x61, 0x63, 0x68, 0x69, 0x65, 0x76, 0x65, + 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x61, + 0x63, 0x68, 0x69, 0x65, 0x76, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x2c, 0x0a, 0x12, + 0x61, 0x63, 0x68, 0x69, 0x65, 0x76, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x62, 0x69, 0x74, 0x5f, + 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x61, 0x63, 0x68, 0x69, 0x65, 0x76, + 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x69, 0x74, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x75, 0x6e, + 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x07, 0x52, + 0x0a, 0x75, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x54, 0x0a, 0x14, 0x43, + 0x4d, 0x73, 0x67, 0x47, 0x43, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x4c, + 0x69, 0x73, 0x74, 0x12, 0x15, 0x0a, 0x06, 0x61, 0x70, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x05, 0x61, 0x70, 0x70, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x6f, + 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0d, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x50, 0x72, 0x65, 0x66, 0x69, + 0x78, 0x22, 0x41, 0x0a, 0x1c, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x47, 0x65, 0x74, 0x43, 0x6f, + 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x5f, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, + 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x28, 0x0a, 0x12, 0x43, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x4d, 0x65, + 0x6d, 0x43, 0x61, 0x63, 0x68, 0x65, 0x64, 0x47, 0x65, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6b, 0x65, + 0x79, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x22, 0x92, + 0x01, 0x0a, 0x1a, 0x43, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x4d, 0x65, 0x6d, 0x43, 0x61, 0x63, 0x68, + 0x65, 0x64, 0x47, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3c, 0x0a, + 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, + 0x43, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x4d, 0x65, 0x6d, 0x43, 0x61, 0x63, 0x68, 0x65, 0x64, 0x47, + 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x54, 0x61, 0x67, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x1a, 0x36, 0x0a, 0x08, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x54, 0x61, 0x67, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6f, 0x75, 0x6e, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x14, 0x0a, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x22, 0x7a, 0x0a, 0x12, 0x43, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x4d, 0x65, 0x6d, + 0x43, 0x61, 0x63, 0x68, 0x65, 0x64, 0x53, 0x65, 0x74, 0x12, 0x2f, 0x0a, 0x04, 0x6b, 0x65, 0x79, + 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x43, 0x47, 0x43, 0x4d, 0x73, 0x67, + 0x4d, 0x65, 0x6d, 0x43, 0x61, 0x63, 0x68, 0x65, 0x64, 0x53, 0x65, 0x74, 0x2e, 0x4b, 0x65, 0x79, + 0x50, 0x61, 0x69, 0x72, 0x52, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x1a, 0x33, 0x0a, 0x07, 0x4b, 0x65, + 0x79, 0x50, 0x61, 0x69, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, + 0x2b, 0x0a, 0x15, 0x43, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x4d, 0x65, 0x6d, 0x43, 0x61, 0x63, 0x68, + 0x65, 0x64, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6b, 0x65, 0x79, 0x73, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x22, 0x16, 0x0a, 0x14, + 0x43, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x4d, 0x65, 0x6d, 0x43, 0x61, 0x63, 0x68, 0x65, 0x64, 0x53, + 0x74, 0x61, 0x74, 0x73, 0x22, 0xd6, 0x03, 0x0a, 0x1c, 0x43, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x4d, + 0x65, 0x6d, 0x43, 0x61, 0x63, 0x68, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x63, 0x75, 0x72, 0x72, 0x5f, 0x63, 0x6f, + 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, + 0x0f, 0x63, 0x75, 0x72, 0x72, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x12, 0x17, 0x0a, 0x07, 0x63, 0x6d, 0x64, 0x5f, 0x67, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x06, 0x63, 0x6d, 0x64, 0x47, 0x65, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x63, 0x6d, 0x64, + 0x5f, 0x73, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x63, 0x6d, 0x64, 0x53, + 0x65, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6d, 0x64, 0x5f, 0x66, 0x6c, 0x75, 0x73, 0x68, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x63, 0x6d, 0x64, 0x46, 0x6c, 0x75, 0x73, 0x68, 0x12, + 0x19, 0x0a, 0x08, 0x67, 0x65, 0x74, 0x5f, 0x68, 0x69, 0x74, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x07, 0x67, 0x65, 0x74, 0x48, 0x69, 0x74, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x67, 0x65, + 0x74, 0x5f, 0x6d, 0x69, 0x73, 0x73, 0x65, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, + 0x67, 0x65, 0x74, 0x4d, 0x69, 0x73, 0x73, 0x65, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x5f, 0x68, 0x69, 0x74, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, + 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x48, 0x69, 0x74, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x65, + 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x6d, 0x69, 0x73, 0x73, 0x65, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x0c, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x69, 0x73, 0x73, 0x65, 0x73, 0x12, + 0x1d, 0x0a, 0x0a, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x18, 0x09, 0x20, + 0x01, 0x28, 0x04, 0x52, 0x09, 0x62, 0x79, 0x74, 0x65, 0x73, 0x52, 0x65, 0x61, 0x64, 0x12, 0x23, + 0x0a, 0x0d, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x74, 0x65, 0x6e, 0x18, + 0x0a, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x62, 0x79, 0x74, 0x65, 0x73, 0x57, 0x72, 0x69, 0x74, + 0x74, 0x65, 0x6e, 0x12, 0x25, 0x0a, 0x0e, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x6d, 0x61, 0x78, + 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x6c, 0x69, 0x6d, + 0x69, 0x74, 0x4d, 0x61, 0x78, 0x62, 0x79, 0x74, 0x65, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x75, + 0x72, 0x72, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, + 0x63, 0x75, 0x72, 0x72, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x65, 0x76, 0x69, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x65, 0x76, + 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x79, 0x74, 0x65, 0x73, + 0x18, 0x0e, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x62, 0x79, 0x74, 0x65, 0x73, 0x22, 0x37, 0x0a, + 0x0e, 0x43, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x51, 0x4c, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, + 0x25, 0x0a, 0x0e, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, + 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x43, + 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x22, 0xc9, 0x03, 0x0a, 0x16, 0x43, 0x47, 0x43, 0x4d, 0x73, + 0x67, 0x53, 0x51, 0x4c, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x68, 0x72, 0x65, 0x61, 0x64, 0x73, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x07, 0x74, 0x68, 0x72, 0x65, 0x61, 0x64, 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x74, + 0x68, 0x72, 0x65, 0x61, 0x64, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x74, 0x68, 0x72, 0x65, 0x61, 0x64, 0x73, 0x43, + 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x74, 0x68, 0x72, 0x65, + 0x61, 0x64, 0x73, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x0d, 0x74, 0x68, 0x72, 0x65, 0x61, 0x64, 0x73, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x12, + 0x31, 0x0a, 0x14, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x73, 0x75, + 0x62, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x6f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x74, + 0x65, 0x64, 0x12, 0x40, 0x0a, 0x1c, 0x70, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, 0x64, 0x5f, 0x73, + 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, + 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x1a, 0x70, 0x72, 0x65, 0x70, 0x61, 0x72, + 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x45, 0x78, 0x65, 0x63, + 0x75, 0x74, 0x65, 0x64, 0x12, 0x47, 0x0a, 0x20, 0x6e, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x65, 0x70, + 0x61, 0x72, 0x65, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x5f, + 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x1d, + 0x6e, 0x6f, 0x6e, 0x50, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, + 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x64, 0x12, 0x29, 0x0a, + 0x10, 0x64, 0x65, 0x61, 0x64, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, + 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x64, 0x65, 0x61, 0x64, 0x6c, 0x6f, 0x63, + 0x6b, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x73, 0x12, 0x40, 0x0a, 0x1d, 0x6f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x64, 0x5f, 0x6f, 0x75, 0x74, + 0x5f, 0x69, 0x6e, 0x5f, 0x71, 0x75, 0x65, 0x75, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x19, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x64, + 0x4f, 0x75, 0x74, 0x49, 0x6e, 0x51, 0x75, 0x65, 0x75, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x72, + 0x72, 0x6f, 0x72, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x65, 0x72, 0x72, 0x6f, + 0x72, 0x73, 0x22, 0x99, 0x01, 0x0a, 0x14, 0x43, 0x4d, 0x73, 0x67, 0x41, 0x4d, 0x41, 0x64, 0x64, + 0x46, 0x72, 0x65, 0x65, 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, + 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, 0x52, 0x07, 0x73, 0x74, + 0x65, 0x61, 0x6d, 0x69, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x70, 0x5f, 0x70, 0x75, 0x62, 0x6c, + 0x69, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x69, 0x70, 0x50, 0x75, 0x62, 0x6c, + 0x69, 0x63, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x69, 0x64, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x69, 0x64, + 0x12, 0x2c, 0x0a, 0x12, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, + 0x79, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x73, 0x74, + 0x6f, 0x72, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x22, 0x8b, + 0x01, 0x0a, 0x1c, 0x43, 0x4d, 0x73, 0x67, 0x41, 0x4d, 0x41, 0x64, 0x64, 0x46, 0x72, 0x65, 0x65, + 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x1b, 0x0a, 0x07, 0x65, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, + 0x3a, 0x01, 0x32, 0x52, 0x07, 0x65, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x34, 0x0a, 0x16, + 0x70, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, + 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x14, 0x70, 0x75, + 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x44, 0x65, 0x74, 0x61, + 0x69, 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x64, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x06, 0x52, 0x07, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x64, 0x22, 0x27, 0x0a, 0x13, + 0x43, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x65, 0x74, 0x49, 0x50, 0x4c, 0x6f, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x69, 0x70, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x07, + 0x52, 0x03, 0x69, 0x70, 0x73, 0x22, 0x9f, 0x01, 0x0a, 0x0f, 0x43, 0x49, 0x50, 0x4c, 0x6f, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x70, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x69, 0x70, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x61, 0x74, + 0x69, 0x74, 0x75, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x6c, 0x61, 0x74, + 0x69, 0x74, 0x75, 0x64, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6c, 0x6f, 0x6e, 0x67, 0x69, 0x74, 0x75, + 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x09, 0x6c, 0x6f, 0x6e, 0x67, 0x69, 0x74, + 0x75, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x14, 0x0a, + 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, + 0x61, 0x74, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x69, 0x74, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x63, 0x69, 0x74, 0x79, 0x22, 0x45, 0x0a, 0x1b, 0x43, 0x47, 0x43, 0x4d, 0x73, + 0x67, 0x47, 0x65, 0x74, 0x49, 0x50, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x26, 0x0a, 0x05, 0x69, 0x6e, 0x66, 0x6f, 0x73, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x43, 0x49, 0x50, 0x4c, 0x6f, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x69, 0x6e, 0x66, 0x6f, 0x73, 0x22, 0x52, + 0x0a, 0x17, 0x43, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x53, 0x74, + 0x61, 0x74, 0x73, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x1a, 0x0a, 0x09, 0x67, 0x63, 0x5f, + 0x61, 0x70, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x67, 0x63, + 0x41, 0x70, 0x70, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, + 0x6b, 0x76, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, + 0x4b, 0x76, 0x22, 0x16, 0x0a, 0x14, 0x43, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x65, 0x74, 0x53, + 0x79, 0x73, 0x74, 0x65, 0x6d, 0x53, 0x74, 0x61, 0x74, 0x73, 0x22, 0xf5, 0x03, 0x0a, 0x1c, 0x43, + 0x47, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x65, 0x74, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x53, 0x74, + 0x61, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1a, 0x0a, 0x09, 0x67, + 0x63, 0x5f, 0x61, 0x70, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, + 0x67, 0x63, 0x41, 0x70, 0x70, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x74, 0x61, 0x74, 0x73, + 0x5f, 0x6b, 0x76, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x73, 0x74, 0x61, 0x74, 0x73, + 0x4b, 0x76, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6a, 0x6f, 0x62, + 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x4a, + 0x6f, 0x62, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x79, 0x69, 0x65, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x5f, + 0x6a, 0x6f, 0x62, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x79, 0x69, 0x65, 0x6c, + 0x64, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x75, 0x73, 0x65, 0x72, + 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x0c, 0x75, 0x73, 0x65, 0x72, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x30, 0x0a, + 0x14, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x73, + 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x67, 0x61, 0x6d, + 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, + 0x1a, 0x0a, 0x08, 0x73, 0x6f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x08, 0x73, 0x6f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x73, 0x12, 0x2c, 0x0a, 0x12, 0x73, + 0x6f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x75, 0x6e, 0x6c, 0x6f, 0x61, + 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x73, 0x6f, 0x63, 0x61, 0x63, 0x68, 0x65, + 0x73, 0x54, 0x6f, 0x55, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x29, 0x0a, 0x10, 0x73, 0x6f, 0x63, + 0x61, 0x63, 0x68, 0x65, 0x73, 0x5f, 0x6c, 0x6f, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x18, 0x09, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x73, 0x6f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x73, 0x4c, 0x6f, 0x61, + 0x64, 0x69, 0x6e, 0x67, 0x12, 0x27, 0x0a, 0x0f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x62, 0x61, 0x63, + 0x6b, 0x5f, 0x71, 0x75, 0x65, 0x75, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x77, + 0x72, 0x69, 0x74, 0x65, 0x62, 0x61, 0x63, 0x6b, 0x51, 0x75, 0x65, 0x75, 0x65, 0x12, 0x23, 0x0a, + 0x0d, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x5f, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x18, 0x0b, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x4c, 0x6f, 0x63, + 0x6b, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x6c, 0x6f, 0x67, 0x6f, 0x6e, 0x5f, 0x71, 0x75, 0x65, 0x75, + 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x6c, 0x6f, 0x67, 0x6f, 0x6e, 0x51, 0x75, + 0x65, 0x75, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6c, 0x6f, 0x67, 0x6f, 0x6e, 0x5f, 0x6a, 0x6f, 0x62, + 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x6c, 0x6f, 0x67, 0x6f, 0x6e, 0x4a, 0x6f, + 0x62, 0x73, 0x22, 0xd6, 0x03, 0x0a, 0x0f, 0x43, 0x4d, 0x73, 0x67, 0x41, 0x4d, 0x53, 0x65, 0x6e, + 0x64, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, 0x52, 0x07, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, + 0x12, 0x24, 0x0a, 0x0e, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x5f, 0x6d, 0x73, 0x67, 0x5f, 0x74, 0x79, + 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x4d, + 0x73, 0x67, 0x54, 0x79, 0x70, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x5f, + 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x65, 0x6d, + 0x61, 0x69, 0x6c, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x5c, 0x0a, 0x13, 0x70, 0x65, 0x72, + 0x73, 0x6f, 0x6e, 0x61, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, + 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x41, 0x4d, 0x53, + 0x65, 0x6e, 0x64, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x2e, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, + 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x54, + 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x11, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x4e, 0x61, 0x6d, + 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x5f, 0x67, 0x63, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x47, 0x63, 0x12, 0x39, 0x0a, 0x06, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x18, 0x07, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x41, 0x4d, 0x53, 0x65, 0x6e, + 0x64, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, + 0x6e, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x06, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x1a, + 0x52, 0x0a, 0x10, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x6f, + 0x6b, 0x65, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x4e, 0x61, + 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x1a, 0x56, 0x0a, 0x1b, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x4e, 0x61, + 0x6d, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x6b, + 0x65, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x06, 0x52, 0x07, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x12, 0x1d, 0x0a, 0x0a, + 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x09, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x36, 0x0a, 0x17, 0x43, + 0x4d, 0x73, 0x67, 0x41, 0x4d, 0x53, 0x65, 0x6e, 0x64, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1b, 0x0a, 0x07, 0x65, 0x72, 0x65, 0x73, 0x75, 0x6c, + 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x3a, 0x01, 0x32, 0x52, 0x07, 0x65, 0x72, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x22, 0x97, 0x01, 0x0a, 0x16, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x47, 0x65, + 0x74, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x15, + 0x0a, 0x06, 0x61, 0x70, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, + 0x61, 0x70, 0x70, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0e, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x5f, 0x6d, + 0x73, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x65, + 0x6d, 0x61, 0x69, 0x6c, 0x4d, 0x73, 0x67, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x65, + 0x6d, 0x61, 0x69, 0x6c, 0x5f, 0x6c, 0x61, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x09, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x4c, 0x61, 0x6e, 0x67, 0x12, 0x21, 0x0a, 0x0c, 0x65, 0x6d, + 0x61, 0x69, 0x6c, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x0b, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x22, 0x82, 0x01, + 0x0a, 0x1e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x47, 0x65, 0x74, 0x45, 0x6d, 0x61, 0x69, 0x6c, + 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1b, 0x0a, 0x07, 0x65, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x05, 0x3a, 0x01, 0x32, 0x52, 0x07, 0x65, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0xc1, 0x02, - 0x0a, 0x13, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x4f, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x35, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x4d, - 0x73, 0x67, 0x53, 0x65, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4f, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x4d, 0x0a, 0x11, - 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6d, 0x73, 0x67, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, - 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, - 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x0f, 0x63, 0x6c, 0x69, 0x65, - 0x6e, 0x74, 0x4d, 0x73, 0x67, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x1a, 0x34, 0x0a, 0x0c, 0x4d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6c, - 0x6f, 0x77, 0x18, 0x01, 0x20, 0x02, 0x28, 0x0d, 0x52, 0x03, 0x6c, 0x6f, 0x77, 0x12, 0x12, 0x0a, - 0x04, 0x68, 0x69, 0x67, 0x68, 0x18, 0x02, 0x20, 0x02, 0x28, 0x0d, 0x52, 0x04, 0x68, 0x69, 0x67, - 0x68, 0x22, 0x6e, 0x0a, 0x06, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x14, 0x4e, - 0x4f, 0x54, 0x49, 0x46, 0x59, 0x5f, 0x55, 0x53, 0x45, 0x52, 0x5f, 0x53, 0x45, 0x53, 0x53, 0x49, - 0x4f, 0x4e, 0x53, 0x10, 0x00, 0x12, 0x1a, 0x0a, 0x16, 0x4e, 0x4f, 0x54, 0x49, 0x46, 0x59, 0x5f, - 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x5f, 0x53, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x53, 0x10, - 0x01, 0x12, 0x17, 0x0a, 0x13, 0x4e, 0x4f, 0x54, 0x49, 0x46, 0x59, 0x5f, 0x41, 0x43, 0x48, 0x49, - 0x45, 0x56, 0x45, 0x4d, 0x45, 0x4e, 0x54, 0x53, 0x10, 0x02, 0x12, 0x15, 0x0a, 0x11, 0x4e, 0x4f, - 0x54, 0x49, 0x46, 0x59, 0x5f, 0x56, 0x41, 0x43, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x10, - 0x03, 0x22, 0x97, 0x04, 0x0a, 0x14, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x48, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x74, - 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, 0x52, 0x07, 0x73, 0x74, - 0x65, 0x61, 0x6d, 0x49, 0x64, 0x12, 0x15, 0x0a, 0x06, 0x61, 0x70, 0x70, 0x5f, 0x69, 0x64, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x61, 0x70, 0x70, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, - 0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x6f, 0x6e, - 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x73, - 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x06, 0x52, 0x0d, 0x73, - 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, - 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x0a, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x41, 0x64, 0x64, 0x72, 0x12, 0x1f, 0x0a, - 0x0b, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x0a, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x17, - 0x0a, 0x07, 0x6f, 0x73, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x06, 0x6f, 0x73, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6c, 0x69, 0x65, 0x6e, - 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x63, 0x6c, - 0x69, 0x65, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x12, 0x43, 0x0a, 0x0c, 0x65, 0x78, 0x74, 0x72, - 0x61, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, - 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x48, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, - 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x45, 0x78, 0x74, 0x72, 0x61, 0x46, 0x69, 0x65, 0x6c, 0x64, - 0x52, 0x0b, 0x65, 0x78, 0x74, 0x72, 0x61, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x12, 0x19, 0x0a, - 0x08, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x06, 0x52, - 0x07, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x10, 0x63, 0x6d, 0x5f, 0x73, - 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x79, 0x73, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x0e, 0x63, 0x6d, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x79, 0x73, - 0x69, 0x64, 0x12, 0x32, 0x0a, 0x15, 0x63, 0x6d, 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, - 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x18, 0x0c, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x13, 0x63, 0x6d, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x65, 0x6e, - 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x65, 0x70, 0x6f, 0x74, 0x5f, - 0x69, 0x64, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x08, 0x64, 0x65, 0x70, 0x6f, 0x74, - 0x49, 0x64, 0x73, 0x1a, 0x36, 0x0a, 0x0a, 0x45, 0x78, 0x74, 0x72, 0x61, 0x46, 0x69, 0x65, 0x6c, - 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xb0, 0x02, 0x0a, 0x24, - 0x43, 0x4d, 0x73, 0x67, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x4f, 0x66, 0x53, 0x75, 0x73, 0x70, 0x69, 0x63, 0x69, 0x6f, 0x75, 0x73, 0x41, 0x63, 0x74, 0x69, - 0x76, 0x69, 0x74, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x06, 0x52, 0x07, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x12, 0x14, - 0x0a, 0x05, 0x61, 0x70, 0x70, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x61, - 0x70, 0x70, 0x69, 0x64, 0x12, 0x6a, 0x0a, 0x12, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, - 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x3b, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x4f, 0x66, 0x53, 0x75, 0x73, 0x70, 0x69, 0x63, 0x69, 0x6f, 0x75, 0x73, 0x41, - 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x2e, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, - 0x47, 0x61, 0x6d, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x11, 0x6d, - 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, - 0x1a, 0x6c, 0x0a, 0x15, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x47, 0x61, 0x6d, 0x65, - 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x2c, 0x0a, 0x12, 0x61, 0x70, 0x70, - 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x61, 0x70, 0x70, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, - 0x63, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x6f, 0x74, 0x68, 0x65, 0x72, - 0x5f, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x06, 0x52, - 0x0d, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x73, 0x22, 0xfe, - 0x06, 0x0a, 0x16, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x50, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, - 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x54, 0x78, 0x6e, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x70, 0x70, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x61, 0x70, 0x70, 0x69, 0x64, 0x12, - 0x17, 0x0a, 0x07, 0x67, 0x63, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x06, 0x67, 0x63, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x3d, 0x0a, 0x07, 0x70, 0x61, 0x72, 0x74, - 0x6e, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x43, 0x4d, 0x73, 0x67, + 0x0d, 0x3a, 0x01, 0x32, 0x52, 0x07, 0x65, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x27, 0x0a, + 0x0f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, + 0x45, 0x78, 0x69, 0x73, 0x74, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, + 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, + 0x74, 0x65, 0x22, 0xc1, 0x01, 0x0a, 0x17, 0x43, 0x4d, 0x73, 0x67, 0x41, 0x4d, 0x47, 0x72, 0x61, + 0x6e, 0x74, 0x47, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x73, 0x73, 0x65, 0x73, 0x32, 0x12, 0x19, + 0x0a, 0x08, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, + 0x52, 0x07, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x63, + 0x6b, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x70, + 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x70, 0x61, 0x73, 0x73, + 0x65, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x0d, 0x70, 0x61, 0x73, 0x73, 0x65, 0x73, 0x54, 0x6f, 0x47, 0x72, 0x61, 0x6e, 0x74, + 0x12, 0x2c, 0x0a, 0x12, 0x64, 0x61, 0x79, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x65, 0x78, 0x70, 0x69, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x64, 0x61, + 0x79, 0x73, 0x54, 0x6f, 0x45, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, + 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, + 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x68, 0x0a, 0x1f, 0x43, 0x4d, 0x73, 0x67, 0x41, 0x4d, + 0x47, 0x72, 0x61, 0x6e, 0x74, 0x47, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x73, 0x73, 0x65, 0x73, + 0x32, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1b, 0x0a, 0x07, 0x65, 0x72, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x3a, 0x01, 0x32, 0x52, 0x07, 0x65, + 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x28, 0x0a, 0x0e, 0x70, 0x61, 0x73, 0x73, 0x65, 0x73, + 0x5f, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x3a, 0x01, + 0x30, 0x52, 0x0d, 0x70, 0x61, 0x73, 0x73, 0x65, 0x73, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x65, 0x64, + 0x22, 0x5c, 0x0a, 0x1e, 0x43, 0x47, 0x43, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x4d, 0x73, 0x67, + 0x5f, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, + 0x6c, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x06, 0x52, 0x07, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, + 0x61, 0x70, 0x70, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x61, 0x70, 0x70, + 0x69, 0x64, 0x3a, 0x0a, 0x80, 0xa6, 0x1d, 0x80, 0x01, 0x88, 0xa6, 0x1d, 0x80, 0x04, 0x22, 0xc7, + 0x0c, 0x0a, 0x27, 0x43, 0x47, 0x43, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x4d, 0x73, 0x67, 0x5f, + 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, + 0x73, 0x5f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x30, 0x0a, 0x12, 0x65, 0x72, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x3a, 0x01, 0x32, 0x52, 0x11, 0x65, 0x72, 0x65, 0x73, 0x75, + 0x6c, 0x74, 0x44, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x12, 0x21, 0x0a, 0x0c, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0b, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, + 0x21, 0x0a, 0x0c, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x4e, 0x61, + 0x6d, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x69, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, + 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x69, + 0x73, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x12, 0x2e, + 0x0a, 0x13, 0x69, 0x73, 0x5f, 0x69, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x5f, 0x70, + 0x75, 0x62, 0x6c, 0x69, 0x63, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x69, 0x73, 0x49, + 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x12, 0x22, + 0x0a, 0x0d, 0x69, 0x73, 0x5f, 0x76, 0x61, 0x63, 0x5f, 0x62, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x56, 0x61, 0x63, 0x42, 0x61, 0x6e, 0x6e, + 0x65, 0x64, 0x12, 0x22, 0x0a, 0x0d, 0x69, 0x73, 0x5f, 0x63, 0x79, 0x62, 0x65, 0x72, 0x5f, 0x63, + 0x61, 0x66, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x43, 0x79, 0x62, + 0x65, 0x72, 0x43, 0x61, 0x66, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x69, 0x73, 0x5f, 0x73, 0x63, 0x68, + 0x6f, 0x6f, 0x6c, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x0f, 0x69, 0x73, 0x53, 0x63, 0x68, 0x6f, 0x6f, 0x6c, 0x41, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x64, + 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x65, + 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x73, 0x5f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, + 0x65, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x69, 0x73, 0x53, 0x75, 0x62, 0x73, + 0x63, 0x72, 0x69, 0x62, 0x65, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, + 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, + 0x12, 0x31, 0x0a, 0x15, 0x69, 0x73, 0x5f, 0x66, 0x72, 0x65, 0x65, 0x5f, 0x74, 0x72, 0x69, 0x61, + 0x6c, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x12, 0x69, 0x73, 0x46, 0x72, 0x65, 0x65, 0x54, 0x72, 0x69, 0x61, 0x6c, 0x41, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x12, 0x32, 0x0a, 0x15, 0x66, 0x72, 0x65, 0x65, 0x5f, 0x74, 0x72, 0x69, 0x61, + 0x6c, 0x5f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0e, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x13, 0x66, 0x72, 0x65, 0x65, 0x54, 0x72, 0x69, 0x61, 0x6c, 0x45, 0x78, 0x70, + 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x26, 0x0a, 0x0f, 0x69, 0x73, 0x5f, 0x6c, 0x6f, + 0x77, 0x5f, 0x76, 0x69, 0x6f, 0x6c, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x0d, 0x69, 0x73, 0x4c, 0x6f, 0x77, 0x56, 0x69, 0x6f, 0x6c, 0x65, 0x6e, 0x63, 0x65, 0x12, + 0x33, 0x0a, 0x16, 0x69, 0x73, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6c, 0x6f, + 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x64, 0x6f, 0x77, 0x6e, 0x18, 0x10, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x13, 0x69, 0x73, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4c, 0x6f, 0x63, 0x6b, 0x65, 0x64, + 0x44, 0x6f, 0x77, 0x6e, 0x12, 0x2e, 0x0a, 0x13, 0x69, 0x73, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x75, + 0x6e, 0x69, 0x74, 0x79, 0x5f, 0x62, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x18, 0x11, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x11, 0x69, 0x73, 0x43, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x42, 0x61, + 0x6e, 0x6e, 0x65, 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x69, 0x73, 0x5f, 0x74, 0x72, 0x61, 0x64, 0x65, + 0x5f, 0x62, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x18, 0x12, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x69, + 0x73, 0x54, 0x72, 0x61, 0x64, 0x65, 0x42, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x12, 0x30, 0x0a, 0x14, + 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x62, 0x61, 0x6e, 0x5f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x74, 0x72, 0x61, 0x64, + 0x65, 0x42, 0x61, 0x6e, 0x45, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, + 0x0a, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x69, 0x64, 0x18, 0x14, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x69, 0x64, 0x12, 0x2e, 0x0a, 0x13, + 0x73, 0x75, 0x73, 0x70, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x6e, 0x64, 0x5f, 0x74, + 0x69, 0x6d, 0x65, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x73, 0x75, 0x73, 0x70, 0x65, + 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, + 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x16, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x74, 0x65, 0x61, + 0x6d, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x73, + 0x74, 0x65, 0x61, 0x6d, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x21, 0x0a, 0x0c, 0x66, 0x72, 0x69, + 0x65, 0x6e, 0x64, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x0b, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x32, 0x0a, 0x15, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x19, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, + 0x12, 0x32, 0x0a, 0x15, 0x69, 0x73, 0x5f, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x67, 0x75, 0x61, 0x72, + 0x64, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x13, 0x69, 0x73, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x67, 0x75, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x61, + 0x62, 0x6c, 0x65, 0x64, 0x12, 0x2a, 0x0a, 0x11, 0x69, 0x73, 0x5f, 0x70, 0x68, 0x6f, 0x6e, 0x65, + 0x5f, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x0f, 0x69, 0x73, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, + 0x12, 0x3a, 0x0a, 0x1a, 0x69, 0x73, 0x5f, 0x74, 0x77, 0x6f, 0x5f, 0x66, 0x61, 0x63, 0x74, 0x6f, + 0x72, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x1d, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x16, 0x69, 0x73, 0x54, 0x77, 0x6f, 0x46, 0x61, 0x63, 0x74, 0x6f, + 0x72, 0x41, 0x75, 0x74, 0x68, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x35, 0x0a, 0x17, + 0x74, 0x77, 0x6f, 0x5f, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, + 0x65, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x14, 0x74, + 0x77, 0x6f, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x54, + 0x69, 0x6d, 0x65, 0x12, 0x36, 0x0a, 0x17, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x5f, 0x76, 0x65, 0x72, + 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x1f, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x15, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x56, 0x65, 0x72, 0x69, 0x66, + 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x70, + 0x68, 0x6f, 0x6e, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x21, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x70, + 0x68, 0x6f, 0x6e, 0x65, 0x49, 0x64, 0x12, 0x30, 0x0a, 0x14, 0x69, 0x73, 0x5f, 0x70, 0x68, 0x6f, + 0x6e, 0x65, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x69, 0x6e, 0x67, 0x18, 0x22, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x69, 0x73, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x49, 0x64, 0x65, + 0x6e, 0x74, 0x69, 0x66, 0x79, 0x69, 0x6e, 0x67, 0x12, 0x2c, 0x0a, 0x12, 0x72, 0x74, 0x5f, 0x69, + 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x64, 0x18, 0x23, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x72, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, + 0x4c, 0x69, 0x6e, 0x6b, 0x65, 0x64, 0x12, 0x22, 0x0a, 0x0d, 0x72, 0x74, 0x5f, 0x62, 0x69, 0x72, + 0x74, 0x68, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x24, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x72, + 0x74, 0x42, 0x69, 0x72, 0x74, 0x68, 0x44, 0x61, 0x74, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x74, 0x78, + 0x6e, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x25, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x74, 0x78, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, + 0x43, 0x6f, 0x64, 0x65, 0x12, 0x33, 0x0a, 0x16, 0x68, 0x61, 0x73, 0x5f, 0x61, 0x63, 0x63, 0x65, + 0x70, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x69, 0x6e, 0x61, 0x5f, 0x73, 0x73, 0x61, 0x18, 0x26, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x68, 0x61, 0x73, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, + 0x64, 0x43, 0x68, 0x69, 0x6e, 0x61, 0x53, 0x73, 0x61, 0x12, 0x31, 0x0a, 0x15, 0x69, 0x73, 0x5f, + 0x62, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x5f, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x63, 0x68, 0x69, + 0x6e, 0x61, 0x18, 0x27, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x69, 0x73, 0x42, 0x61, 0x6e, 0x6e, + 0x65, 0x64, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x43, 0x68, 0x69, 0x6e, 0x61, 0x3a, 0x0a, 0x80, 0xa6, + 0x1d, 0x80, 0x01, 0x88, 0xa6, 0x1d, 0x80, 0x04, 0x22, 0x33, 0x0a, 0x15, 0x43, 0x4d, 0x73, 0x67, + 0x47, 0x43, 0x47, 0x65, 0x74, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x4e, 0x61, 0x6d, 0x65, + 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x06, 0x52, 0x08, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x73, 0x22, 0xfc, 0x01, + 0x0a, 0x1e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x47, 0x65, 0x74, 0x50, 0x65, 0x72, 0x73, 0x6f, + 0x6e, 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x5f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x58, 0x0a, 0x11, 0x73, 0x75, 0x63, 0x63, 0x65, 0x65, 0x64, 0x65, 0x64, 0x5f, 0x6c, 0x6f, + 0x6f, 0x6b, 0x75, 0x70, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x43, 0x4d, + 0x73, 0x67, 0x47, 0x43, 0x47, 0x65, 0x74, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x4e, 0x61, + 0x6d, 0x65, 0x73, 0x5f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x50, 0x65, 0x72, + 0x73, 0x6f, 0x6e, 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x10, 0x73, 0x75, 0x63, 0x63, 0x65, 0x65, + 0x64, 0x65, 0x64, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x73, 0x12, 0x34, 0x0a, 0x16, 0x66, 0x61, + 0x69, 0x6c, 0x65, 0x64, 0x5f, 0x6c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x5f, 0x73, 0x74, 0x65, 0x61, + 0x6d, 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x06, 0x52, 0x14, 0x66, 0x61, 0x69, 0x6c, + 0x65, 0x64, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x73, + 0x1a, 0x4a, 0x0a, 0x0b, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x12, + 0x18, 0x0a, 0x07, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, + 0x52, 0x07, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x65, 0x72, + 0x73, 0x6f, 0x6e, 0x61, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0b, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x5f, 0x0a, 0x15, + 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x46, 0x72, 0x69, 0x65, 0x6e, + 0x64, 0x73, 0x68, 0x69, 0x70, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, + 0x5f, 0x6c, 0x65, 0x66, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, 0x52, 0x0b, 0x73, 0x74, 0x65, + 0x61, 0x6d, 0x69, 0x64, 0x4c, 0x65, 0x66, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x74, 0x65, 0x61, + 0x6d, 0x69, 0x64, 0x5f, 0x72, 0x69, 0x67, 0x68, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x06, 0x52, + 0x0c, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x52, 0x69, 0x67, 0x68, 0x74, 0x22, 0x65, 0x0a, + 0x1e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x46, 0x72, 0x69, 0x65, + 0x6e, 0x64, 0x73, 0x68, 0x69, 0x70, 0x5f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x66, 0x6f, 0x75, + 0x6e, 0x64, 0x5f, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x73, 0x68, 0x69, 0x70, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x0f, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, + 0x73, 0x68, 0x69, 0x70, 0x22, 0x8a, 0x02, 0x0a, 0x1b, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x4d, + 0x73, 0x67, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x53, 0x65, 0x74, 0x44, 0x69, 0x72, 0x65, 0x63, + 0x74, 0x6f, 0x72, 0x79, 0x12, 0x28, 0x0a, 0x10, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x64, + 0x69, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, + 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x44, 0x69, 0x72, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x34, + 0x0a, 0x03, 0x64, 0x69, 0x72, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x43, 0x4d, + 0x73, 0x67, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x53, 0x65, 0x74, + 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x53, 0x75, 0x62, 0x47, 0x43, 0x52, + 0x03, 0x64, 0x69, 0x72, 0x1a, 0x8a, 0x01, 0x0a, 0x05, 0x53, 0x75, 0x62, 0x47, 0x43, 0x12, 0x1b, + 0x0a, 0x09, 0x64, 0x69, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x08, 0x64, 0x69, 0x72, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x12, 0x0a, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, + 0x10, 0x0a, 0x03, 0x62, 0x6f, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x62, 0x6f, + 0x78, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x5f, 0x6c, 0x69, 0x6e, + 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, + 0x4c, 0x69, 0x6e, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x67, 0x63, 0x5f, 0x62, 0x69, 0x6e, 0x61, 0x72, + 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x67, 0x63, 0x42, 0x69, 0x6e, 0x61, 0x72, + 0x79, 0x22, 0x5d, 0x0a, 0x24, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x4d, 0x61, + 0x73, 0x74, 0x65, 0x72, 0x53, 0x65, 0x74, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, + 0x5f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1b, 0x0a, 0x07, 0x65, 0x72, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x3a, 0x01, 0x32, 0x52, 0x07, 0x65, + 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x22, 0x47, 0x0a, 0x28, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x57, 0x65, 0x62, + 0x41, 0x50, 0x49, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x46, 0x6f, 0x72, + 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1b, 0x0a, 0x09, + 0x64, 0x69, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x08, 0x64, 0x69, 0x72, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x22, 0x41, 0x0a, 0x25, 0x43, 0x47, 0x43, + 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x4d, 0x73, 0x67, 0x5f, 0x47, 0x65, 0x74, 0x50, 0x75, 0x72, + 0x63, 0x68, 0x61, 0x73, 0x65, 0x54, 0x72, 0x75, 0x73, 0x74, 0x5f, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x06, 0x52, 0x07, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x22, 0x86, 0x02, 0x0a, + 0x26, 0x43, 0x47, 0x43, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x4d, 0x73, 0x67, 0x5f, 0x47, 0x65, + 0x74, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x54, 0x72, 0x75, 0x73, 0x74, 0x5f, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3b, 0x0a, 0x1a, 0x68, 0x61, 0x73, 0x5f, 0x70, + 0x72, 0x69, 0x6f, 0x72, 0x5f, 0x70, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x5f, 0x68, 0x69, + 0x73, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x17, 0x68, 0x61, 0x73, + 0x50, 0x72, 0x69, 0x6f, 0x72, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x48, 0x69, 0x73, + 0x74, 0x6f, 0x72, 0x79, 0x12, 0x40, 0x0a, 0x1d, 0x68, 0x61, 0x73, 0x5f, 0x6e, 0x6f, 0x5f, 0x72, + 0x65, 0x63, 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x5f, 0x72, + 0x65, 0x73, 0x65, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x19, 0x68, 0x61, 0x73, + 0x4e, 0x6f, 0x52, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, + 0x52, 0x65, 0x73, 0x65, 0x74, 0x73, 0x12, 0x33, 0x0a, 0x16, 0x69, 0x73, 0x5f, 0x77, 0x61, 0x6c, + 0x6c, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x68, 0x5f, 0x74, 0x72, 0x75, 0x73, 0x74, 0x65, 0x64, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x69, 0x73, 0x57, 0x61, 0x6c, 0x6c, 0x65, 0x74, + 0x43, 0x61, 0x73, 0x68, 0x54, 0x72, 0x75, 0x73, 0x74, 0x65, 0x64, 0x12, 0x28, 0x0a, 0x10, 0x74, + 0x69, 0x6d, 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x74, 0x72, 0x75, 0x73, 0x74, 0x65, 0x64, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x74, 0x69, 0x6d, 0x65, 0x41, 0x6c, 0x6c, 0x54, 0x72, + 0x75, 0x73, 0x74, 0x65, 0x64, 0x22, 0xcf, 0x01, 0x0a, 0x1d, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, + 0x48, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x56, 0x61, 0x63, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x74, 0x65, 0x61, 0x6d, + 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, 0x52, 0x07, 0x73, 0x74, 0x65, 0x61, 0x6d, + 0x49, 0x64, 0x12, 0x15, 0x0a, 0x06, 0x61, 0x70, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x05, 0x61, 0x70, 0x70, 0x49, 0x64, 0x12, 0x2e, 0x0a, 0x13, 0x72, 0x74, 0x69, + 0x6d, 0x65, 0x5f, 0x76, 0x61, 0x63, 0x62, 0x61, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x73, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x72, 0x74, 0x69, 0x6d, 0x65, 0x56, 0x61, 0x63, + 0x62, 0x61, 0x6e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x73, 0x12, 0x22, 0x0a, 0x0d, 0x69, 0x73, 0x5f, + 0x62, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x5f, 0x6e, 0x6f, 0x77, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x0b, 0x69, 0x73, 0x42, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x4e, 0x6f, 0x77, 0x12, 0x28, 0x0a, + 0x10, 0x69, 0x73, 0x5f, 0x62, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x5f, 0x66, 0x75, 0x74, 0x75, 0x72, + 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x69, 0x73, 0x42, 0x61, 0x6e, 0x6e, 0x65, + 0x64, 0x46, 0x75, 0x74, 0x75, 0x72, 0x65, 0x22, 0x37, 0x0a, 0x1b, 0x43, 0x4d, 0x73, 0x67, 0x47, + 0x43, 0x47, 0x65, 0x74, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x4c, 0x69, 0x6e, 0x6b, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, 0x52, 0x07, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, + 0x22, 0xb2, 0x01, 0x0a, 0x24, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x47, 0x65, 0x74, 0x50, 0x61, + 0x72, 0x74, 0x6e, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4c, 0x69, 0x6e, 0x6b, + 0x5f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x77, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x70, 0x77, 0x69, 0x64, 0x12, 0x18, 0x0a, + 0x07, 0x6e, 0x65, 0x78, 0x6f, 0x6e, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, + 0x6e, 0x65, 0x78, 0x6f, 0x6e, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x67, 0x65, 0x63, 0x6c, + 0x61, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x61, 0x67, 0x65, 0x63, 0x6c, + 0x61, 0x73, 0x73, 0x12, 0x25, 0x0a, 0x0b, 0x69, 0x64, 0x5f, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, + 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x3a, 0x04, 0x74, 0x72, 0x75, 0x65, 0x52, 0x0a, + 0x69, 0x64, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x73, + 0x5f, 0x61, 0x64, 0x75, 0x6c, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x69, 0x73, + 0x41, 0x64, 0x75, 0x6c, 0x74, 0x22, 0xf5, 0x02, 0x0a, 0x11, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, + 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1b, 0x0a, 0x09, 0x64, + 0x69, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x08, + 0x64, 0x69, 0x72, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x40, 0x0a, 0x06, 0x6d, 0x65, 0x74, 0x68, + 0x6f, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x20, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, + 0x43, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x52, 0x6f, 0x75, + 0x74, 0x69, 0x6e, 0x67, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x3a, 0x06, 0x52, 0x41, 0x4e, 0x44, + 0x4f, 0x4d, 0x52, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x45, 0x0a, 0x08, 0x66, 0x61, + 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x20, 0x2e, 0x43, + 0x4d, 0x73, 0x67, 0x47, 0x43, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x66, 0x6f, + 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x3a, 0x07, + 0x44, 0x49, 0x53, 0x43, 0x41, 0x52, 0x44, 0x52, 0x08, 0x66, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, + 0x6b, 0x12, 0x25, 0x0a, 0x0e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x5f, 0x66, 0x69, + 0x65, 0x6c, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x77, 0x65, 0x62, 0x61, + 0x70, 0x69, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, + 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x22, 0x70, 0x0a, 0x0d, 0x52, + 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x0a, 0x0a, 0x06, + 0x52, 0x41, 0x4e, 0x44, 0x4f, 0x4d, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x44, 0x49, 0x53, 0x43, + 0x41, 0x52, 0x44, 0x10, 0x01, 0x12, 0x12, 0x0a, 0x0e, 0x43, 0x4c, 0x49, 0x45, 0x4e, 0x54, 0x5f, + 0x53, 0x54, 0x45, 0x41, 0x4d, 0x49, 0x44, 0x10, 0x02, 0x12, 0x19, 0x0a, 0x15, 0x50, 0x52, 0x4f, + 0x54, 0x4f, 0x42, 0x55, 0x46, 0x5f, 0x46, 0x49, 0x45, 0x4c, 0x44, 0x5f, 0x55, 0x49, 0x4e, 0x54, + 0x36, 0x34, 0x10, 0x03, 0x12, 0x17, 0x0a, 0x13, 0x57, 0x45, 0x42, 0x41, 0x50, 0x49, 0x5f, 0x50, + 0x41, 0x52, 0x41, 0x4d, 0x5f, 0x55, 0x49, 0x4e, 0x54, 0x36, 0x34, 0x10, 0x04, 0x22, 0xe2, 0x01, + 0x0a, 0x1f, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x73, 0x74, 0x65, + 0x72, 0x53, 0x65, 0x74, 0x57, 0x65, 0x62, 0x41, 0x50, 0x49, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, + 0x67, 0x12, 0x40, 0x0a, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x4d, 0x61, + 0x73, 0x74, 0x65, 0x72, 0x53, 0x65, 0x74, 0x57, 0x65, 0x62, 0x41, 0x50, 0x49, 0x52, 0x6f, 0x75, + 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x65, 0x6e, 0x74, 0x72, + 0x69, 0x65, 0x73, 0x1a, 0x7d, 0x0a, 0x05, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x25, 0x0a, 0x0e, + 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x4e, + 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x5f, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, + 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2c, 0x0a, 0x07, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x52, 0x6f, + 0x75, 0x74, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x07, 0x72, 0x6f, 0x75, 0x74, 0x69, + 0x6e, 0x67, 0x22, 0xbb, 0x01, 0x0a, 0x22, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x4d, 0x73, 0x67, + 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x53, 0x65, 0x74, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, + 0x73, 0x67, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x43, 0x0a, 0x07, 0x65, 0x6e, 0x74, + 0x72, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x43, 0x4d, 0x73, + 0x67, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x53, 0x65, 0x74, 0x43, + 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x73, 0x67, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x2e, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x1a, 0x50, + 0x0a, 0x05, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x73, 0x67, 0x5f, 0x74, + 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6d, 0x73, 0x67, 0x54, 0x79, + 0x70, 0x65, 0x12, 0x2c, 0x0a, 0x07, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x52, 0x6f, 0x75, 0x74, + 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x07, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, + 0x22, 0x47, 0x0a, 0x28, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x73, + 0x74, 0x65, 0x72, 0x53, 0x65, 0x74, 0x57, 0x65, 0x62, 0x41, 0x50, 0x49, 0x52, 0x6f, 0x75, 0x74, + 0x69, 0x6e, 0x67, 0x5f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1b, 0x0a, 0x07, + 0x65, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x3a, 0x01, 0x32, + 0x52, 0x07, 0x65, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x4a, 0x0a, 0x2b, 0x43, 0x4d, 0x73, + 0x67, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x53, 0x65, 0x74, 0x43, + 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x73, 0x67, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x5f, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1b, 0x0a, 0x07, 0x65, 0x72, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x3a, 0x01, 0x32, 0x52, 0x07, 0x65, 0x72, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0xc1, 0x02, 0x0a, 0x13, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, + 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x35, 0x0a, + 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x1b, + 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x4f, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x6f, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x4d, 0x0a, 0x11, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6d, + 0x73, 0x67, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x21, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x4f, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x61, 0x6e, + 0x67, 0x65, 0x52, 0x0f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x73, 0x67, 0x52, 0x61, 0x6e, + 0x67, 0x65, 0x73, 0x1a, 0x34, 0x0a, 0x0c, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x61, + 0x6e, 0x67, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6c, 0x6f, 0x77, 0x18, 0x01, 0x20, 0x02, 0x28, 0x0d, + 0x52, 0x03, 0x6c, 0x6f, 0x77, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x69, 0x67, 0x68, 0x18, 0x02, 0x20, + 0x02, 0x28, 0x0d, 0x52, 0x04, 0x68, 0x69, 0x67, 0x68, 0x22, 0x6e, 0x0a, 0x06, 0x4f, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x14, 0x4e, 0x4f, 0x54, 0x49, 0x46, 0x59, 0x5f, 0x55, 0x53, + 0x45, 0x52, 0x5f, 0x53, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x53, 0x10, 0x00, 0x12, 0x1a, 0x0a, + 0x16, 0x4e, 0x4f, 0x54, 0x49, 0x46, 0x59, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x5f, 0x53, + 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x53, 0x10, 0x01, 0x12, 0x17, 0x0a, 0x13, 0x4e, 0x4f, 0x54, + 0x49, 0x46, 0x59, 0x5f, 0x41, 0x43, 0x48, 0x49, 0x45, 0x56, 0x45, 0x4d, 0x45, 0x4e, 0x54, 0x53, + 0x10, 0x02, 0x12, 0x15, 0x0a, 0x11, 0x4e, 0x4f, 0x54, 0x49, 0x46, 0x59, 0x5f, 0x56, 0x41, 0x43, + 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x03, 0x22, 0x97, 0x04, 0x0a, 0x14, 0x43, 0x4d, + 0x73, 0x67, 0x47, 0x43, 0x48, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x73, 0x73, 0x69, + 0x6f, 0x6e, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x06, 0x52, 0x07, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x12, 0x15, 0x0a, + 0x06, 0x61, 0x70, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x61, + 0x70, 0x70, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x26, 0x0a, 0x0f, + 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x06, 0x52, 0x0d, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x65, + 0x61, 0x6d, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x61, + 0x64, 0x64, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x73, 0x65, 0x72, 0x76, 0x65, + 0x72, 0x41, 0x64, 0x64, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, + 0x70, 0x6f, 0x72, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x73, 0x65, 0x72, 0x76, + 0x65, 0x72, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x6f, 0x73, 0x5f, 0x74, 0x79, 0x70, + 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x6f, 0x73, 0x54, 0x79, 0x70, 0x65, 0x12, + 0x1f, 0x0a, 0x0b, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x18, 0x08, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, + 0x12, 0x43, 0x0a, 0x0c, 0x65, 0x78, 0x74, 0x72, 0x61, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, + 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x47, 0x43, 0x48, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x45, 0x78, + 0x74, 0x72, 0x61, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x52, 0x0b, 0x65, 0x78, 0x74, 0x72, 0x61, 0x46, + 0x69, 0x65, 0x6c, 0x64, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x5f, 0x69, + 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x06, 0x52, 0x07, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x49, 0x64, + 0x12, 0x28, 0x0a, 0x10, 0x63, 0x6d, 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x73, + 0x79, 0x73, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x63, 0x6d, 0x53, 0x65, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x79, 0x73, 0x69, 0x64, 0x12, 0x32, 0x0a, 0x15, 0x63, 0x6d, + 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, + 0x69, 0x65, 0x72, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x63, 0x6d, 0x53, 0x65, 0x73, + 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x1b, + 0x0a, 0x09, 0x64, 0x65, 0x70, 0x6f, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, + 0x0d, 0x52, 0x08, 0x64, 0x65, 0x70, 0x6f, 0x74, 0x49, 0x64, 0x73, 0x1a, 0x36, 0x0a, 0x0a, 0x45, + 0x78, 0x74, 0x72, 0x61, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x22, 0xb0, 0x02, 0x0a, 0x24, 0x43, 0x4d, 0x73, 0x67, 0x4e, 0x6f, 0x74, 0x69, + 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x66, 0x53, 0x75, 0x73, 0x70, 0x69, 0x63, + 0x69, 0x6f, 0x75, 0x73, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x12, 0x18, 0x0a, 0x07, + 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, 0x52, 0x07, 0x73, + 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x70, 0x70, 0x69, 0x64, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x61, 0x70, 0x70, 0x69, 0x64, 0x12, 0x6a, 0x0a, 0x12, + 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x4e, + 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x66, 0x53, 0x75, 0x73, + 0x70, 0x69, 0x63, 0x69, 0x6f, 0x75, 0x73, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x2e, + 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x11, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x49, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x1a, 0x6c, 0x0a, 0x15, 0x4d, 0x75, 0x6c, 0x74, + 0x69, 0x70, 0x6c, 0x65, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x73, 0x12, 0x2c, 0x0a, 0x12, 0x61, 0x70, 0x70, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x61, + 0x70, 0x70, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, + 0x25, 0x0a, 0x0e, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, + 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x06, 0x52, 0x0d, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x53, 0x74, + 0x65, 0x61, 0x6d, 0x69, 0x64, 0x73, 0x22, 0xfe, 0x06, 0x0a, 0x16, 0x43, 0x4d, 0x73, 0x67, 0x44, + 0x50, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x54, 0x78, 0x6e, + 0x73, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x70, 0x70, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x05, 0x61, 0x70, 0x70, 0x69, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x67, 0x63, 0x5f, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x67, 0x63, 0x4e, 0x61, 0x6d, 0x65, + 0x12, 0x3d, 0x0a, 0x07, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x23, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x50, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, + 0x72, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x54, 0x78, 0x6e, 0x73, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x6e, + 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x07, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x12, + 0x4b, 0x0a, 0x0c, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, + 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x50, 0x50, 0x61, + 0x72, 0x74, 0x6e, 0x65, 0x72, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x54, 0x78, 0x6e, 0x73, 0x2e, 0x50, + 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x54, 0x78, 0x6e, 0x52, 0x0c, + 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x8c, 0x04, 0x0a, + 0x0f, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x54, 0x78, 0x6e, + 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x6e, 0x69, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x08, 0x69, 0x6e, 0x69, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x28, 0x0a, + 0x10, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x6c, 0x61, 0x73, 0x74, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x15, 0x0a, 0x06, 0x74, 0x78, 0x6e, 0x5f, 0x69, + 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x74, 0x78, 0x6e, 0x49, 0x64, 0x12, 0x1d, + 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, + 0x09, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x08, 0x6c, 0x69, 0x6e, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x74, + 0x65, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x69, 0x74, 0x65, + 0x6d, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x65, 0x66, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x64, 0x65, 0x66, 0x49, 0x6e, 0x64, 0x65, 0x78, + 0x12, 0x14, 0x0a, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, + 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x74, 0x61, 0x78, 0x18, 0x09, 0x20, + 0x01, 0x28, 0x04, 0x52, 0x03, 0x74, 0x61, 0x78, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x72, 0x69, 0x63, + 0x65, 0x5f, 0x75, 0x73, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x70, 0x72, 0x69, + 0x63, 0x65, 0x55, 0x73, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x61, 0x78, 0x5f, 0x75, 0x73, 0x64, + 0x18, 0x0b, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x74, 0x61, 0x78, 0x55, 0x73, 0x64, 0x12, 0x23, + 0x0a, 0x0d, 0x70, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, + 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x70, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x54, + 0x79, 0x70, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x74, 0x78, 0x6e, + 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x73, 0x74, 0x65, + 0x61, 0x6d, 0x54, 0x78, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x72, 0x79, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0b, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x1f, 0x0a, 0x0b, + 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0a, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x1a, 0x0a, + 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x10, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x20, 0x0a, 0x0c, 0x72, 0x65, 0x66, + 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x5f, 0x69, 0x64, 0x18, 0x11, 0x20, 0x01, 0x28, 0x04, 0x52, + 0x0a, 0x72, 0x65, 0x66, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x49, 0x64, 0x1a, 0x99, 0x01, 0x0a, 0x0b, + 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1d, 0x0a, 0x0a, 0x70, + 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x09, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x61, + 0x72, 0x74, 0x6e, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0b, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, + 0x0d, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x43, 0x6f, + 0x64, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x75, 0x72, 0x72, 0x65, + 0x6e, 0x63, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x93, 0x03, 0x0a, 0x1e, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x50, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x54, 0x78, - 0x6e, 0x73, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x07, - 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x12, 0x4b, 0x0a, 0x0c, 0x74, 0x72, 0x61, 0x6e, 0x73, - 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, - 0x43, 0x4d, 0x73, 0x67, 0x44, 0x50, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x4d, 0x69, 0x63, - 0x72, 0x6f, 0x54, 0x78, 0x6e, 0x73, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x4d, 0x69, - 0x63, 0x72, 0x6f, 0x54, 0x78, 0x6e, 0x52, 0x0c, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x8c, 0x04, 0x0a, 0x0f, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, - 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x54, 0x78, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x6e, 0x69, 0x74, - 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x69, 0x6e, 0x69, - 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x75, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x0e, 0x6c, 0x61, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, - 0x15, 0x0a, 0x06, 0x74, 0x78, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, - 0x05, 0x74, 0x78, 0x6e, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x69, 0x74, - 0x65, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6c, 0x69, 0x6e, 0x65, 0x49, 0x74, - 0x65, 0x6d, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x04, 0x52, 0x06, 0x69, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x64, - 0x65, 0x66, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, - 0x64, 0x65, 0x66, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x72, 0x69, 0x63, - 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x12, 0x10, - 0x0a, 0x03, 0x74, 0x61, 0x78, 0x18, 0x09, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x74, 0x61, 0x78, - 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x72, 0x69, 0x63, 0x65, 0x5f, 0x75, 0x73, 0x64, 0x18, 0x0a, 0x20, - 0x01, 0x28, 0x04, 0x52, 0x08, 0x70, 0x72, 0x69, 0x63, 0x65, 0x55, 0x73, 0x64, 0x12, 0x17, 0x0a, - 0x07, 0x74, 0x61, 0x78, 0x5f, 0x75, 0x73, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, - 0x74, 0x61, 0x78, 0x55, 0x73, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x70, 0x75, 0x72, 0x63, 0x68, 0x61, - 0x73, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x70, - 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x73, - 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x74, 0x78, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0d, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x54, 0x78, 0x6e, 0x54, 0x79, 0x70, - 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x5f, 0x63, 0x6f, 0x64, - 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, - 0x43, 0x6f, 0x64, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x63, - 0x6f, 0x64, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x67, 0x69, 0x6f, - 0x6e, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, - 0x79, 0x18, 0x10, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, - 0x79, 0x12, 0x20, 0x0a, 0x0c, 0x72, 0x65, 0x66, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x5f, 0x69, - 0x64, 0x18, 0x11, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x72, 0x65, 0x66, 0x54, 0x72, 0x61, 0x6e, - 0x73, 0x49, 0x64, 0x1a, 0x99, 0x01, 0x0a, 0x0b, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x49, - 0x6e, 0x66, 0x6f, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x5f, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, - 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x5f, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, - 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, - 0x79, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x75, - 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x75, - 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0c, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x22, - 0x93, 0x03, 0x0a, 0x1e, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x50, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, - 0x72, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x54, 0x78, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x1b, 0x0a, 0x07, 0x65, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0d, 0x3a, 0x01, 0x32, 0x52, 0x07, 0x65, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, - 0x56, 0x0a, 0x0a, 0x65, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x50, 0x50, 0x61, 0x72, 0x74, - 0x6e, 0x65, 0x72, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x54, 0x78, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x3a, - 0x0a, 0x6b, 0x5f, 0x4d, 0x73, 0x67, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x52, 0x0a, 0x65, 0x65, 0x72, - 0x72, 0x6f, 0x72, 0x63, 0x6f, 0x64, 0x65, 0x22, 0xfb, 0x01, 0x0a, 0x0a, 0x45, 0x45, 0x72, 0x72, - 0x6f, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x5f, 0x4d, 0x73, 0x67, 0x56, - 0x61, 0x6c, 0x69, 0x64, 0x10, 0x00, 0x12, 0x15, 0x0a, 0x11, 0x6b, 0x5f, 0x4d, 0x73, 0x67, 0x49, - 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x41, 0x70, 0x70, 0x49, 0x44, 0x10, 0x01, 0x12, 0x1b, 0x0a, - 0x17, 0x6b, 0x5f, 0x4d, 0x73, 0x67, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x50, 0x61, 0x72, - 0x74, 0x6e, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x10, 0x02, 0x12, 0x17, 0x0a, 0x13, 0x6b, 0x5f, - 0x4d, 0x73, 0x67, 0x4e, 0x6f, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x10, 0x03, 0x12, 0x13, 0x0a, 0x0f, 0x6b, 0x5f, 0x4d, 0x73, 0x67, 0x53, 0x51, 0x4c, 0x46, - 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x10, 0x04, 0x12, 0x1f, 0x0a, 0x1b, 0x6b, 0x5f, 0x4d, 0x73, - 0x67, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x44, 0x69, 0x73, 0x63, - 0x72, 0x65, 0x70, 0x61, 0x6e, 0x63, 0x79, 0x10, 0x05, 0x12, 0x20, 0x0a, 0x1c, 0x6b, 0x5f, 0x4d, - 0x73, 0x67, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, - 0x65, 0x72, 0x74, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x10, 0x07, 0x12, 0x17, 0x0a, 0x13, 0x6b, - 0x5f, 0x4d, 0x73, 0x67, 0x41, 0x6c, 0x72, 0x65, 0x61, 0x64, 0x79, 0x52, 0x75, 0x6e, 0x6e, 0x69, - 0x6e, 0x67, 0x10, 0x08, 0x12, 0x1f, 0x0a, 0x1b, 0x6b, 0x5f, 0x4d, 0x73, 0x67, 0x49, 0x6e, 0x76, - 0x61, 0x6c, 0x69, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, - 0x61, 0x74, 0x61, 0x10, 0x09, 0x22, 0x98, 0x01, 0x0a, 0x3b, 0x43, 0x43, 0x68, 0x69, 0x6e, 0x61, - 0x41, 0x67, 0x72, 0x65, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, - 0x73, 0x5f, 0x53, 0x74, 0x61, 0x72, 0x74, 0x41, 0x67, 0x72, 0x65, 0x65, 0x6d, 0x65, 0x6e, 0x74, - 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x47, 0x61, 0x6d, 0x65, 0x5f, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x70, 0x70, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x61, 0x70, 0x70, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x73, - 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x06, 0x52, 0x07, 0x73, 0x74, - 0x65, 0x61, 0x6d, 0x69, 0x64, 0x12, 0x29, 0x0a, 0x10, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, - 0x69, 0x70, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x70, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, - 0x22, 0x63, 0x0a, 0x3c, 0x43, 0x43, 0x68, 0x69, 0x6e, 0x61, 0x41, 0x67, 0x72, 0x65, 0x65, 0x6d, - 0x65, 0x6e, 0x74, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x53, 0x74, 0x61, 0x72, - 0x74, 0x41, 0x67, 0x72, 0x65, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, - 0x6e, 0x49, 0x6e, 0x47, 0x61, 0x6d, 0x65, 0x5f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x67, 0x72, 0x65, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x75, 0x72, - 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x67, 0x72, 0x65, 0x65, 0x6d, 0x65, - 0x6e, 0x74, 0x55, 0x72, 0x6c, 0x2a, 0xb6, 0x01, 0x0a, 0x10, 0x47, 0x43, 0x50, 0x72, 0x6f, 0x74, - 0x6f, 0x42, 0x75, 0x66, 0x4d, 0x73, 0x67, 0x53, 0x72, 0x63, 0x12, 0x20, 0x0a, 0x1c, 0x47, 0x43, - 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x42, 0x75, 0x66, 0x4d, 0x73, 0x67, 0x53, 0x72, 0x63, 0x5f, 0x55, - 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x10, 0x00, 0x12, 0x1f, 0x0a, 0x1b, - 0x47, 0x43, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x42, 0x75, 0x66, 0x4d, 0x73, 0x67, 0x53, 0x72, 0x63, - 0x5f, 0x46, 0x72, 0x6f, 0x6d, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x10, 0x01, 0x12, 0x20, 0x0a, - 0x1c, 0x47, 0x43, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x42, 0x75, 0x66, 0x4d, 0x73, 0x67, 0x53, 0x72, - 0x63, 0x5f, 0x46, 0x72, 0x6f, 0x6d, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x49, 0x44, 0x10, 0x02, 0x12, - 0x1b, 0x0a, 0x17, 0x47, 0x43, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x42, 0x75, 0x66, 0x4d, 0x73, 0x67, - 0x53, 0x72, 0x63, 0x5f, 0x46, 0x72, 0x6f, 0x6d, 0x47, 0x43, 0x10, 0x03, 0x12, 0x20, 0x0a, 0x1c, - 0x47, 0x43, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x42, 0x75, 0x66, 0x4d, 0x73, 0x67, 0x53, 0x72, 0x63, - 0x5f, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x10, 0x04, 0x3a, 0x43, - 0x0a, 0x09, 0x6b, 0x65, 0x79, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x1d, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, - 0x65, 0x6c, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xe0, 0xd4, 0x03, 0x20, 0x01, - 0x28, 0x08, 0x3a, 0x05, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x46, 0x69, - 0x65, 0x6c, 0x64, 0x3a, 0x53, 0x0a, 0x12, 0x6d, 0x73, 0x67, 0x70, 0x6f, 0x6f, 0x6c, 0x5f, 0x73, - 0x6f, 0x66, 0x74, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x4d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xe0, 0xd4, 0x03, 0x20, 0x01, - 0x28, 0x05, 0x3a, 0x02, 0x33, 0x32, 0x52, 0x10, 0x6d, 0x73, 0x67, 0x70, 0x6f, 0x6f, 0x6c, 0x53, - 0x6f, 0x66, 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x3a, 0x54, 0x0a, 0x12, 0x6d, 0x73, 0x67, 0x70, - 0x6f, 0x6f, 0x6c, 0x5f, 0x68, 0x61, 0x72, 0x64, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1f, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, - 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, - 0xe1, 0xd4, 0x03, 0x20, 0x01, 0x28, 0x05, 0x3a, 0x03, 0x33, 0x38, 0x34, 0x52, 0x10, 0x6d, 0x73, - 0x67, 0x70, 0x6f, 0x6f, 0x6c, 0x48, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x42, 0x05, - 0x48, 0x01, 0x80, 0x01, 0x00, + 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1b, 0x0a, 0x07, 0x65, 0x72, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x3a, 0x01, 0x32, 0x52, 0x07, + 0x65, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x56, 0x0a, 0x0a, 0x65, 0x65, 0x72, 0x72, 0x6f, + 0x72, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x43, 0x4d, + 0x73, 0x67, 0x44, 0x50, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x4d, 0x69, 0x63, 0x72, 0x6f, + 0x54, 0x78, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, 0x45, 0x72, + 0x72, 0x6f, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x3a, 0x0a, 0x6b, 0x5f, 0x4d, 0x73, 0x67, 0x56, 0x61, + 0x6c, 0x69, 0x64, 0x52, 0x0a, 0x65, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x63, 0x6f, 0x64, 0x65, 0x22, + 0xfb, 0x01, 0x0a, 0x0a, 0x45, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x0e, + 0x0a, 0x0a, 0x6b, 0x5f, 0x4d, 0x73, 0x67, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x10, 0x00, 0x12, 0x15, + 0x0a, 0x11, 0x6b, 0x5f, 0x4d, 0x73, 0x67, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x41, 0x70, + 0x70, 0x49, 0x44, 0x10, 0x01, 0x12, 0x1b, 0x0a, 0x17, 0x6b, 0x5f, 0x4d, 0x73, 0x67, 0x49, 0x6e, + 0x76, 0x61, 0x6c, 0x69, 0x64, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, + 0x10, 0x02, 0x12, 0x17, 0x0a, 0x13, 0x6b, 0x5f, 0x4d, 0x73, 0x67, 0x4e, 0x6f, 0x54, 0x72, 0x61, + 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x10, 0x03, 0x12, 0x13, 0x0a, 0x0f, 0x6b, + 0x5f, 0x4d, 0x73, 0x67, 0x53, 0x51, 0x4c, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x10, 0x04, + 0x12, 0x1f, 0x0a, 0x1b, 0x6b, 0x5f, 0x4d, 0x73, 0x67, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, + 0x49, 0x6e, 0x66, 0x6f, 0x44, 0x69, 0x73, 0x63, 0x72, 0x65, 0x70, 0x61, 0x6e, 0x63, 0x79, 0x10, + 0x05, 0x12, 0x20, 0x0a, 0x1c, 0x6b, 0x5f, 0x4d, 0x73, 0x67, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x46, 0x61, 0x69, 0x6c, 0x65, + 0x64, 0x10, 0x07, 0x12, 0x17, 0x0a, 0x13, 0x6b, 0x5f, 0x4d, 0x73, 0x67, 0x41, 0x6c, 0x72, 0x65, + 0x61, 0x64, 0x79, 0x52, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x10, 0x08, 0x12, 0x1f, 0x0a, 0x1b, + 0x6b, 0x5f, 0x4d, 0x73, 0x67, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x54, 0x72, 0x61, 0x6e, + 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x10, 0x09, 0x22, 0x98, 0x01, + 0x0a, 0x3b, 0x43, 0x43, 0x68, 0x69, 0x6e, 0x61, 0x41, 0x67, 0x72, 0x65, 0x65, 0x6d, 0x65, 0x6e, + 0x74, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x53, 0x74, 0x61, 0x72, 0x74, 0x41, + 0x67, 0x72, 0x65, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, + 0x6e, 0x47, 0x61, 0x6d, 0x65, 0x5f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, + 0x05, 0x61, 0x70, 0x70, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x61, 0x70, + 0x70, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x06, 0x52, 0x07, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x12, 0x29, 0x0a, + 0x10, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x70, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, + 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, + 0x70, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x63, 0x0a, 0x3c, 0x43, 0x43, 0x68, 0x69, + 0x6e, 0x61, 0x41, 0x67, 0x72, 0x65, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x73, 0x73, 0x69, + 0x6f, 0x6e, 0x73, 0x5f, 0x53, 0x74, 0x61, 0x72, 0x74, 0x41, 0x67, 0x72, 0x65, 0x65, 0x6d, 0x65, + 0x6e, 0x74, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x47, 0x61, 0x6d, 0x65, 0x5f, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x67, 0x72, 0x65, + 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0c, 0x61, 0x67, 0x72, 0x65, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x55, 0x72, 0x6c, 0x2a, 0xb6, 0x01, + 0x0a, 0x10, 0x47, 0x43, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x42, 0x75, 0x66, 0x4d, 0x73, 0x67, 0x53, + 0x72, 0x63, 0x12, 0x20, 0x0a, 0x1c, 0x47, 0x43, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x42, 0x75, 0x66, + 0x4d, 0x73, 0x67, 0x53, 0x72, 0x63, 0x5f, 0x55, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, + 0x65, 0x64, 0x10, 0x00, 0x12, 0x1f, 0x0a, 0x1b, 0x47, 0x43, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x42, + 0x75, 0x66, 0x4d, 0x73, 0x67, 0x53, 0x72, 0x63, 0x5f, 0x46, 0x72, 0x6f, 0x6d, 0x53, 0x79, 0x73, + 0x74, 0x65, 0x6d, 0x10, 0x01, 0x12, 0x20, 0x0a, 0x1c, 0x47, 0x43, 0x50, 0x72, 0x6f, 0x74, 0x6f, + 0x42, 0x75, 0x66, 0x4d, 0x73, 0x67, 0x53, 0x72, 0x63, 0x5f, 0x46, 0x72, 0x6f, 0x6d, 0x53, 0x74, + 0x65, 0x61, 0x6d, 0x49, 0x44, 0x10, 0x02, 0x12, 0x1b, 0x0a, 0x17, 0x47, 0x43, 0x50, 0x72, 0x6f, + 0x74, 0x6f, 0x42, 0x75, 0x66, 0x4d, 0x73, 0x67, 0x53, 0x72, 0x63, 0x5f, 0x46, 0x72, 0x6f, 0x6d, + 0x47, 0x43, 0x10, 0x03, 0x12, 0x20, 0x0a, 0x1c, 0x47, 0x43, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x42, + 0x75, 0x66, 0x4d, 0x73, 0x67, 0x53, 0x72, 0x63, 0x5f, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x53, 0x79, + 0x73, 0x74, 0x65, 0x6d, 0x10, 0x04, 0x3a, 0x43, 0x0a, 0x09, 0x6b, 0x65, 0x79, 0x5f, 0x66, 0x69, + 0x65, 0x6c, 0x64, 0x12, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x18, 0xe0, 0xd4, 0x03, 0x20, 0x01, 0x28, 0x08, 0x3a, 0x05, 0x66, 0x61, 0x6c, 0x73, + 0x65, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x3a, 0x53, 0x0a, 0x12, 0x6d, + 0x73, 0x67, 0x70, 0x6f, 0x6f, 0x6c, 0x5f, 0x73, 0x6f, 0x66, 0x74, 0x5f, 0x6c, 0x69, 0x6d, 0x69, + 0x74, 0x12, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x18, 0xe0, 0xd4, 0x03, 0x20, 0x01, 0x28, 0x05, 0x3a, 0x02, 0x33, 0x32, 0x52, 0x10, + 0x6d, 0x73, 0x67, 0x70, 0x6f, 0x6f, 0x6c, 0x53, 0x6f, 0x66, 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, + 0x3a, 0x54, 0x0a, 0x12, 0x6d, 0x73, 0x67, 0x70, 0x6f, 0x6f, 0x6c, 0x5f, 0x68, 0x61, 0x72, 0x64, + 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xe1, 0xd4, 0x03, 0x20, 0x01, 0x28, 0x05, 0x3a, + 0x03, 0x33, 0x38, 0x34, 0x52, 0x10, 0x6d, 0x73, 0x67, 0x70, 0x6f, 0x6f, 0x6c, 0x48, 0x61, 0x72, + 0x64, 0x4c, 0x69, 0x6d, 0x69, 0x74, } var (