From b13d6f5082cbd6ccc4758e64f4b7c64329090efb Mon Sep 17 00:00:00 2001 From: Ole Morud Date: Mon, 11 Jul 2022 19:18:06 +0200 Subject: [PATCH] add compiled and uncompiled protobuf formats --- demo/demo.pb.go | 325 +- demo/dota_commonmessages.pb.go | 1652 +++ demo/dota_modifiers.pb.go | 671 ++ demo/dota_shared_enums.pb.go | 6336 ++++++++++ demo/dota_usermessages.pb.go | 18724 ++++++++++++++++++++++++++++++ demo/netmessages.pb.go | 7538 ++++++++++++ demo/network_connection.pb.go | 1117 ++ demo/networkbasetypes.pb.go | 2779 +++++ demo/usermessages.pb.go | 6766 +++++++++++ proto/demo.proto | 4 +- proto/dota_commonmessages.proto | 150 + proto/dota_modifiers.proto | 57 + proto/dota_shared_enums.proto | 733 ++ proto/dota_usermessages.proto | 1583 +++ proto/netmessages.proto | 97 +- proto/network_connection.proto | 131 + proto/networkbasetypes.proto | 17 +- proto/usermessages.proto | 521 + 18 files changed, 48990 insertions(+), 211 deletions(-) create mode 100644 demo/dota_commonmessages.pb.go create mode 100644 demo/dota_modifiers.pb.go create mode 100644 demo/dota_shared_enums.pb.go create mode 100644 demo/dota_usermessages.pb.go create mode 100644 demo/netmessages.pb.go create mode 100644 demo/network_connection.pb.go create mode 100644 demo/networkbasetypes.pb.go create mode 100644 demo/usermessages.pb.go create mode 100644 proto/dota_commonmessages.proto create mode 100644 proto/dota_modifiers.proto create mode 100644 proto/dota_shared_enums.proto create mode 100644 proto/dota_usermessages.proto create mode 100644 proto/network_connection.proto create mode 100644 proto/usermessages.proto diff --git a/demo/demo.pb.go b/demo/demo.pb.go index a590270..02164f6 100644 --- a/demo/demo.pb.go +++ b/demo/demo.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.27.1 -// protoc v3.19.4 +// protoc-gen-go v1.28.0 +// protoc v3.21.2 // source: demo.proto package demo @@ -145,6 +145,7 @@ type CDemoFileHeader struct { DemoVersionName *string `protobuf:"bytes,11,opt,name=demo_version_name,json=demoVersionName" json:"demo_version_name,omitempty"` DemoVersionGuid *string `protobuf:"bytes,12,opt,name=demo_version_guid,json=demoVersionGuid" json:"demo_version_guid,omitempty"` BuildNum *int32 `protobuf:"varint,13,opt,name=build_num,json=buildNum" json:"build_num,omitempty"` + Game *string `protobuf:"bytes,14,opt,name=game" json:"game,omitempty"` } func (x *CDemoFileHeader) Reset() { @@ -270,6 +271,13 @@ func (x *CDemoFileHeader) GetBuildNum() int32 { return 0 } +func (x *CDemoFileHeader) GetGame() string { + if x != nil && x.Game != nil { + return *x.Game + } + return "" +} + type CGameInfo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -1490,7 +1498,7 @@ func (x *CDemoStringTablesTableT) GetTableFlags() int32 { var File_demo_proto protoreflect.FileDescriptor var file_demo_proto_rawDesc = []byte{ - 0x0a, 0x0a, 0x64, 0x65, 0x6d, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa0, 0x04, 0x0a, + 0x0a, 0x0a, 0x64, 0x65, 0x6d, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb4, 0x04, 0x0a, 0x0f, 0x43, 0x44, 0x65, 0x6d, 0x6f, 0x46, 0x69, 0x6c, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x26, 0x0a, 0x0f, 0x64, 0x65, 0x6d, 0x6f, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x01, 0x20, 0x02, 0x28, 0x09, 0x52, 0x0d, 0x64, 0x65, 0x6d, 0x6f, 0x46, @@ -1524,162 +1532,163 @@ var file_demo_proto_rawDesc = []byte{ 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x67, 0x75, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x64, 0x65, 0x6d, 0x6f, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x47, 0x75, 0x69, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x6e, 0x75, 0x6d, 0x18, - 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x4e, 0x75, 0x6d, 0x22, - 0x89, 0x06, 0x0a, 0x09, 0x43, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2c, 0x0a, - 0x04, 0x64, 0x6f, 0x74, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x43, 0x47, - 0x61, 0x6d, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x43, 0x44, 0x6f, 0x74, 0x61, 0x47, 0x61, 0x6d, - 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x64, 0x6f, 0x74, 0x61, 0x1a, 0xcd, 0x05, 0x0a, 0x0d, - 0x43, 0x44, 0x6f, 0x74, 0x61, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x6e, 0x66, 0x6f, 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, 0x1b, 0x0a, 0x09, 0x67, 0x61, 0x6d, 0x65, - 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x67, 0x61, 0x6d, - 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x77, 0x69, - 0x6e, 0x6e, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x67, 0x61, 0x6d, 0x65, - 0x57, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x12, 0x45, 0x0a, 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, - 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x43, 0x47, - 0x61, 0x6d, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x43, 0x44, 0x6f, 0x74, 0x61, 0x47, 0x61, 0x6d, - 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x43, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x6e, 0x66, - 0x6f, 0x52, 0x0a, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1a, 0x0a, - 0x08, 0x6c, 0x65, 0x61, 0x67, 0x75, 0x65, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x08, 0x6c, 0x65, 0x61, 0x67, 0x75, 0x65, 0x69, 0x64, 0x12, 0x48, 0x0a, 0x0a, 0x70, 0x69, 0x63, - 0x6b, 0x73, 0x5f, 0x62, 0x61, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, - 0x43, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x43, 0x44, 0x6f, 0x74, 0x61, 0x47, - 0x61, 0x6d, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x43, 0x48, 0x65, 0x72, 0x6f, 0x53, 0x65, 0x6c, - 0x65, 0x63, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x09, 0x70, 0x69, 0x63, 0x6b, 0x73, 0x42, - 0x61, 0x6e, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x72, 0x61, 0x64, 0x69, 0x61, 0x6e, 0x74, 0x5f, 0x74, - 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x72, 0x61, - 0x64, 0x69, 0x61, 0x6e, 0x74, 0x54, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0c, 0x64, - 0x69, 0x72, 0x65, 0x5f, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x0a, 0x64, 0x69, 0x72, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x12, 0x28, 0x0a, - 0x10, 0x72, 0x61, 0x64, 0x69, 0x61, 0x6e, 0x74, 0x5f, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x74, 0x61, - 0x67, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x72, 0x61, 0x64, 0x69, 0x61, 0x6e, 0x74, - 0x54, 0x65, 0x61, 0x6d, 0x54, 0x61, 0x67, 0x12, 0x22, 0x0a, 0x0d, 0x64, 0x69, 0x72, 0x65, 0x5f, - 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x74, 0x61, 0x67, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, - 0x64, 0x69, 0x72, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x54, 0x61, 0x67, 0x12, 0x19, 0x0a, 0x08, 0x65, - 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x65, - 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x1a, 0xa8, 0x01, 0x0a, 0x0b, 0x43, 0x50, 0x6c, 0x61, 0x79, - 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1b, 0x0a, 0x09, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x68, 0x65, 0x72, 0x6f, 0x4e, - 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, - 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x69, 0x73, 0x5f, 0x66, 0x61, 0x6b, 0x65, 0x5f, - 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x69, 0x73, - 0x46, 0x61, 0x6b, 0x65, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x74, - 0x65, 0x61, 0x6d, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x73, 0x74, 0x65, - 0x61, 0x6d, 0x69, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x74, 0x65, 0x61, - 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x67, 0x61, 0x6d, 0x65, 0x54, 0x65, 0x61, - 0x6d, 0x1a, 0x58, 0x0a, 0x10, 0x43, 0x48, 0x65, 0x72, 0x6f, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, - 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x73, 0x5f, 0x70, 0x69, 0x63, 0x6b, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x50, 0x69, 0x63, 0x6b, 0x12, 0x12, - 0x0a, 0x04, 0x74, 0x65, 0x61, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x74, 0x65, - 0x61, 0x6d, 0x12, 0x17, 0x0a, 0x07, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x22, 0xad, 0x01, 0x0a, 0x0d, - 0x43, 0x44, 0x65, 0x6d, 0x6f, 0x46, 0x69, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x23, 0x0a, - 0x0d, 0x70, 0x6c, 0x61, 0x79, 0x62, 0x61, 0x63, 0x6b, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x02, 0x52, 0x0c, 0x70, 0x6c, 0x61, 0x79, 0x62, 0x61, 0x63, 0x6b, 0x54, 0x69, - 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x70, 0x6c, 0x61, 0x79, 0x62, 0x61, 0x63, 0x6b, 0x5f, 0x74, - 0x69, 0x63, 0x6b, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x70, 0x6c, 0x61, 0x79, - 0x62, 0x61, 0x63, 0x6b, 0x54, 0x69, 0x63, 0x6b, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x70, 0x6c, 0x61, - 0x79, 0x62, 0x61, 0x63, 0x6b, 0x5f, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x0e, 0x70, 0x6c, 0x61, 0x79, 0x62, 0x61, 0x63, 0x6b, 0x46, 0x72, 0x61, 0x6d, - 0x65, 0x73, 0x12, 0x27, 0x0a, 0x09, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x43, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x6e, 0x66, - 0x6f, 0x52, 0x08, 0x67, 0x61, 0x6d, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x21, 0x0a, 0x0b, 0x43, - 0x44, 0x65, 0x6d, 0x6f, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, - 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x6e, - 0x0a, 0x0f, 0x43, 0x44, 0x65, 0x6d, 0x6f, 0x46, 0x75, 0x6c, 0x6c, 0x50, 0x61, 0x63, 0x6b, 0x65, - 0x74, 0x12, 0x35, 0x0a, 0x0c, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x61, 0x62, 0x6c, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x43, 0x44, 0x65, 0x6d, 0x6f, 0x53, - 0x74, 0x72, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x52, 0x0b, 0x73, 0x74, 0x72, - 0x69, 0x6e, 0x67, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x24, 0x0a, 0x06, 0x70, 0x61, 0x63, 0x6b, - 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x43, 0x44, 0x65, 0x6d, 0x6f, - 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x06, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x22, 0x76, - 0x0a, 0x0d, 0x43, 0x44, 0x65, 0x6d, 0x6f, 0x53, 0x61, 0x76, 0x65, 0x47, 0x61, 0x6d, 0x65, 0x12, + 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x4e, 0x75, 0x6d, 0x12, + 0x12, 0x0a, 0x04, 0x67, 0x61, 0x6d, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x67, + 0x61, 0x6d, 0x65, 0x22, 0x89, 0x06, 0x0a, 0x09, 0x43, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x6e, 0x66, + 0x6f, 0x12, 0x2c, 0x0a, 0x04, 0x64, 0x6f, 0x74, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x18, 0x2e, 0x43, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x43, 0x44, 0x6f, 0x74, + 0x61, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x64, 0x6f, 0x74, 0x61, 0x1a, + 0xcd, 0x05, 0x0a, 0x0d, 0x43, 0x44, 0x6f, 0x74, 0x61, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x6e, 0x66, + 0x6f, 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, 0x1b, 0x0a, 0x09, + 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x08, 0x67, 0x61, 0x6d, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x67, 0x61, 0x6d, + 0x65, 0x5f, 0x77, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, + 0x67, 0x61, 0x6d, 0x65, 0x57, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x12, 0x45, 0x0a, 0x0b, 0x70, 0x6c, + 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x24, 0x2e, 0x43, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x43, 0x44, 0x6f, 0x74, + 0x61, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x43, 0x50, 0x6c, 0x61, 0x79, 0x65, + 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x6e, 0x66, + 0x6f, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x65, 0x61, 0x67, 0x75, 0x65, 0x69, 0x64, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6c, 0x65, 0x61, 0x67, 0x75, 0x65, 0x69, 0x64, 0x12, 0x48, 0x0a, + 0x0a, 0x70, 0x69, 0x63, 0x6b, 0x73, 0x5f, 0x62, 0x61, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x29, 0x2e, 0x43, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x43, 0x44, + 0x6f, 0x74, 0x61, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x43, 0x48, 0x65, 0x72, + 0x6f, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x09, 0x70, 0x69, + 0x63, 0x6b, 0x73, 0x42, 0x61, 0x6e, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x72, 0x61, 0x64, 0x69, 0x61, + 0x6e, 0x74, 0x5f, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x0d, 0x72, 0x61, 0x64, 0x69, 0x61, 0x6e, 0x74, 0x54, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x12, + 0x20, 0x0a, 0x0c, 0x64, 0x69, 0x72, 0x65, 0x5f, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x18, + 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x64, 0x69, 0x72, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x49, + 0x64, 0x12, 0x28, 0x0a, 0x10, 0x72, 0x61, 0x64, 0x69, 0x61, 0x6e, 0x74, 0x5f, 0x74, 0x65, 0x61, + 0x6d, 0x5f, 0x74, 0x61, 0x67, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x72, 0x61, 0x64, + 0x69, 0x61, 0x6e, 0x74, 0x54, 0x65, 0x61, 0x6d, 0x54, 0x61, 0x67, 0x12, 0x22, 0x0a, 0x0d, 0x64, + 0x69, 0x72, 0x65, 0x5f, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x74, 0x61, 0x67, 0x18, 0x0a, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x72, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x54, 0x61, 0x67, 0x12, + 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x1a, 0xa8, 0x01, 0x0a, 0x0b, 0x43, + 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1b, 0x0a, 0x09, 0x68, 0x65, + 0x72, 0x6f, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x68, + 0x65, 0x72, 0x6f, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, + 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x6c, + 0x61, 0x79, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x69, 0x73, 0x5f, 0x66, + 0x61, 0x6b, 0x65, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x0c, 0x69, 0x73, 0x46, 0x61, 0x6b, 0x65, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x12, 0x18, + 0x0a, 0x07, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, + 0x07, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x67, 0x61, 0x6d, 0x65, + 0x5f, 0x74, 0x65, 0x61, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x67, 0x61, 0x6d, + 0x65, 0x54, 0x65, 0x61, 0x6d, 0x1a, 0x58, 0x0a, 0x10, 0x43, 0x48, 0x65, 0x72, 0x6f, 0x53, 0x65, + 0x6c, 0x65, 0x63, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x73, 0x5f, + 0x70, 0x69, 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x50, 0x69, + 0x63, 0x6b, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, 0x61, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x04, 0x74, 0x65, 0x61, 0x6d, 0x12, 0x17, 0x0a, 0x07, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, + 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x22, + 0xad, 0x01, 0x0a, 0x0d, 0x43, 0x44, 0x65, 0x6d, 0x6f, 0x46, 0x69, 0x6c, 0x65, 0x49, 0x6e, 0x66, + 0x6f, 0x12, 0x23, 0x0a, 0x0d, 0x70, 0x6c, 0x61, 0x79, 0x62, 0x61, 0x63, 0x6b, 0x5f, 0x74, 0x69, + 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0c, 0x70, 0x6c, 0x61, 0x79, 0x62, 0x61, + 0x63, 0x6b, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x70, 0x6c, 0x61, 0x79, 0x62, 0x61, + 0x63, 0x6b, 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, + 0x70, 0x6c, 0x61, 0x79, 0x62, 0x61, 0x63, 0x6b, 0x54, 0x69, 0x63, 0x6b, 0x73, 0x12, 0x27, 0x0a, + 0x0f, 0x70, 0x6c, 0x61, 0x79, 0x62, 0x61, 0x63, 0x6b, 0x5f, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x73, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x70, 0x6c, 0x61, 0x79, 0x62, 0x61, 0x63, 0x6b, + 0x46, 0x72, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x27, 0x0a, 0x09, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x69, + 0x6e, 0x66, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x43, 0x47, 0x61, 0x6d, + 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x67, 0x61, 0x6d, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x22, + 0x21, 0x0a, 0x0b, 0x43, 0x44, 0x65, 0x6d, 0x6f, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x12, + 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, + 0x74, 0x61, 0x22, 0x6e, 0x0a, 0x0f, 0x43, 0x44, 0x65, 0x6d, 0x6f, 0x46, 0x75, 0x6c, 0x6c, 0x50, + 0x61, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x35, 0x0a, 0x0c, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, + 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x43, 0x44, + 0x65, 0x6d, 0x6f, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x52, + 0x0b, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x24, 0x0a, 0x06, + 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x43, + 0x44, 0x65, 0x6d, 0x6f, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x06, 0x70, 0x61, 0x63, 0x6b, + 0x65, 0x74, 0x22, 0x76, 0x0a, 0x0d, 0x43, 0x44, 0x65, 0x6d, 0x6f, 0x53, 0x61, 0x76, 0x65, 0x47, + 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x74, 0x65, 0x61, 0x6d, + 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x06, 0x52, 0x07, 0x73, 0x74, 0x65, 0x61, 0x6d, + 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x06, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, + 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x0f, 0x0a, 0x0d, 0x43, 0x44, + 0x65, 0x6d, 0x6f, 0x53, 0x79, 0x6e, 0x63, 0x54, 0x69, 0x63, 0x6b, 0x22, 0x2f, 0x0a, 0x0f, 0x43, + 0x44, 0x65, 0x6d, 0x6f, 0x43, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x43, 0x6d, 0x64, 0x12, 0x1c, + 0x0a, 0x09, 0x63, 0x6d, 0x64, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x09, 0x63, 0x6d, 0x64, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x22, 0x25, 0x0a, 0x0f, + 0x43, 0x44, 0x65, 0x6d, 0x6f, 0x53, 0x65, 0x6e, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, - 0x61, 0x74, 0x61, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x06, 0x52, 0x07, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x12, 0x1c, - 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x06, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x18, 0x0a, 0x07, - 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x76, - 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x0f, 0x0a, 0x0d, 0x43, 0x44, 0x65, 0x6d, 0x6f, 0x53, - 0x79, 0x6e, 0x63, 0x54, 0x69, 0x63, 0x6b, 0x22, 0x2f, 0x0a, 0x0f, 0x43, 0x44, 0x65, 0x6d, 0x6f, - 0x43, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x43, 0x6d, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6d, - 0x64, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, - 0x6d, 0x64, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x22, 0x25, 0x0a, 0x0f, 0x43, 0x44, 0x65, 0x6d, - 0x6f, 0x53, 0x65, 0x6e, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x64, - 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, - 0xab, 0x01, 0x0a, 0x0e, 0x43, 0x44, 0x65, 0x6d, 0x6f, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x49, 0x6e, - 0x66, 0x6f, 0x12, 0x31, 0x0a, 0x07, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x43, 0x44, 0x65, 0x6d, 0x6f, 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, 0x66, 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, 0x21, 0x0a, 0x0c, 0x6e, - 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0b, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1d, - 0x0a, 0x0a, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x09, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x4c, 0x0a, - 0x0f, 0x43, 0x44, 0x65, 0x6d, 0x6f, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x61, 0x74, 0x61, - 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x5f, 0x69, 0x6e, 0x64, - 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x63, 0x61, 0x6c, 0x6c, 0x62, 0x61, - 0x63, 0x6b, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x33, 0x0a, 0x18, 0x43, - 0x44, 0x65, 0x6d, 0x6f, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x43, 0x61, - 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x73, 0x12, 0x17, 0x0a, 0x07, 0x73, 0x61, 0x76, 0x65, 0x5f, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x73, 0x61, 0x76, 0x65, 0x49, 0x64, - 0x22, 0xbd, 0x02, 0x0a, 0x11, 0x43, 0x44, 0x65, 0x6d, 0x6f, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, - 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x32, 0x0a, 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x43, 0x44, 0x65, 0x6d, 0x6f, 0x53, 0x74, - 0x72, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, - 0x5f, 0x74, 0x52, 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x1a, 0x2f, 0x0a, 0x07, 0x69, 0x74, - 0x65, 0x6d, 0x73, 0x5f, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x74, 0x72, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x03, 0x73, 0x74, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x1a, 0xc2, 0x01, 0x0a, 0x07, - 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x61, 0x62, 0x6c, 0x65, - 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x61, 0x62, - 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x30, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, - 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x43, 0x44, 0x65, 0x6d, 0x6f, 0x53, 0x74, 0x72, - 0x69, 0x6e, 0x67, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x2e, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x5f, - 0x74, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x45, 0x0a, 0x10, 0x69, 0x74, 0x65, 0x6d, - 0x73, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x69, 0x64, 0x65, 0x18, 0x03, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x43, 0x44, 0x65, 0x6d, 0x6f, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, - 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x2e, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x5f, 0x74, 0x52, 0x0f, - 0x69, 0x74, 0x65, 0x6d, 0x73, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x69, 0x64, 0x65, 0x12, - 0x1f, 0x0a, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x73, - 0x22, 0x0b, 0x0a, 0x09, 0x43, 0x44, 0x65, 0x6d, 0x6f, 0x53, 0x74, 0x6f, 0x70, 0x22, 0x41, 0x0a, - 0x0c, 0x43, 0x44, 0x65, 0x6d, 0x6f, 0x55, 0x73, 0x65, 0x72, 0x43, 0x6d, 0x64, 0x12, 0x1d, 0x0a, - 0x0a, 0x63, 0x6d, 0x64, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x09, 0x63, 0x6d, 0x64, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, - 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, - 0x22, 0x26, 0x0a, 0x10, 0x43, 0x44, 0x65, 0x6d, 0x6f, 0x53, 0x70, 0x61, 0x77, 0x6e, 0x47, 0x72, - 0x6f, 0x75, 0x70, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6d, 0x73, 0x67, 0x73, 0x18, 0x03, 0x20, 0x03, - 0x28, 0x0c, 0x52, 0x04, 0x6d, 0x73, 0x67, 0x73, 0x2a, 0x84, 0x03, 0x0a, 0x0d, 0x45, 0x44, 0x65, - 0x6d, 0x6f, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x12, 0x16, 0x0a, 0x09, 0x44, 0x45, - 0x4d, 0x5f, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x44, 0x45, 0x4d, 0x5f, 0x53, 0x74, 0x6f, 0x70, 0x10, 0x00, - 0x12, 0x12, 0x0a, 0x0e, 0x44, 0x45, 0x4d, 0x5f, 0x46, 0x69, 0x6c, 0x65, 0x48, 0x65, 0x61, 0x64, - 0x65, 0x72, 0x10, 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x44, 0x45, 0x4d, 0x5f, 0x46, 0x69, 0x6c, 0x65, - 0x49, 0x6e, 0x66, 0x6f, 0x10, 0x02, 0x12, 0x10, 0x0a, 0x0c, 0x44, 0x45, 0x4d, 0x5f, 0x53, 0x79, - 0x6e, 0x63, 0x54, 0x69, 0x63, 0x6b, 0x10, 0x03, 0x12, 0x12, 0x0a, 0x0e, 0x44, 0x45, 0x4d, 0x5f, - 0x53, 0x65, 0x6e, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x10, 0x04, 0x12, 0x11, 0x0a, 0x0d, - 0x44, 0x45, 0x4d, 0x5f, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x10, 0x05, 0x12, - 0x14, 0x0a, 0x10, 0x44, 0x45, 0x4d, 0x5f, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x62, - 0x6c, 0x65, 0x73, 0x10, 0x06, 0x12, 0x0e, 0x0a, 0x0a, 0x44, 0x45, 0x4d, 0x5f, 0x50, 0x61, 0x63, - 0x6b, 0x65, 0x74, 0x10, 0x07, 0x12, 0x14, 0x0a, 0x10, 0x44, 0x45, 0x4d, 0x5f, 0x53, 0x69, 0x67, - 0x6e, 0x6f, 0x6e, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x10, 0x08, 0x12, 0x12, 0x0a, 0x0e, 0x44, - 0x45, 0x4d, 0x5f, 0x43, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x43, 0x6d, 0x64, 0x10, 0x09, 0x12, - 0x12, 0x0a, 0x0e, 0x44, 0x45, 0x4d, 0x5f, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x61, 0x74, - 0x61, 0x10, 0x0a, 0x12, 0x1b, 0x0a, 0x17, 0x44, 0x45, 0x4d, 0x5f, 0x43, 0x75, 0x73, 0x74, 0x6f, - 0x6d, 0x44, 0x61, 0x74, 0x61, 0x43, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x73, 0x10, 0x0b, - 0x12, 0x0f, 0x0a, 0x0b, 0x44, 0x45, 0x4d, 0x5f, 0x55, 0x73, 0x65, 0x72, 0x43, 0x6d, 0x64, 0x10, - 0x0c, 0x12, 0x12, 0x0a, 0x0e, 0x44, 0x45, 0x4d, 0x5f, 0x46, 0x75, 0x6c, 0x6c, 0x50, 0x61, 0x63, - 0x6b, 0x65, 0x74, 0x10, 0x0d, 0x12, 0x10, 0x0a, 0x0c, 0x44, 0x45, 0x4d, 0x5f, 0x53, 0x61, 0x76, - 0x65, 0x47, 0x61, 0x6d, 0x65, 0x10, 0x0e, 0x12, 0x13, 0x0a, 0x0f, 0x44, 0x45, 0x4d, 0x5f, 0x53, - 0x70, 0x61, 0x77, 0x6e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x10, 0x0f, 0x12, 0x0b, 0x0a, 0x07, - 0x44, 0x45, 0x4d, 0x5f, 0x4d, 0x61, 0x78, 0x10, 0x10, 0x12, 0x14, 0x0a, 0x10, 0x44, 0x45, 0x4d, - 0x5f, 0x49, 0x73, 0x43, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x65, 0x64, 0x10, 0x40, 0x42, - 0x0b, 0x5a, 0x06, 0x2e, 0x2f, 0x64, 0x65, 0x6d, 0x6f, 0x80, 0x01, 0x00, + 0x61, 0x74, 0x61, 0x22, 0xab, 0x01, 0x0a, 0x0e, 0x43, 0x44, 0x65, 0x6d, 0x6f, 0x43, 0x6c, 0x61, + 0x73, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x31, 0x0a, 0x07, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x65, + 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x43, 0x44, 0x65, 0x6d, 0x6f, 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, 0x66, 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, + 0x21, 0x0a, 0x0c, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x4e, 0x61, + 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x61, 0x6d, + 0x65, 0x22, 0x4c, 0x0a, 0x0f, 0x43, 0x44, 0x65, 0x6d, 0x6f, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, + 0x44, 0x61, 0x74, 0x61, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, + 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x63, 0x61, + 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x12, 0x0a, 0x04, 0x64, + 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, + 0x33, 0x0a, 0x18, 0x43, 0x44, 0x65, 0x6d, 0x6f, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x61, + 0x74, 0x61, 0x43, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x73, 0x12, 0x17, 0x0a, 0x07, 0x73, + 0x61, 0x76, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x73, 0x61, + 0x76, 0x65, 0x49, 0x64, 0x22, 0xbd, 0x02, 0x0a, 0x11, 0x43, 0x44, 0x65, 0x6d, 0x6f, 0x53, 0x74, + 0x72, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x32, 0x0a, 0x06, 0x74, 0x61, + 0x62, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x43, 0x44, 0x65, + 0x6d, 0x6f, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x2e, 0x74, + 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x74, 0x52, 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x1a, 0x2f, + 0x0a, 0x07, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x5f, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x74, 0x72, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x73, 0x74, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x64, + 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x1a, + 0xc2, 0x01, 0x0a, 0x07, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x74, + 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x09, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x30, 0x0a, 0x05, 0x69, 0x74, + 0x65, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x43, 0x44, 0x65, 0x6d, + 0x6f, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x2e, 0x69, 0x74, + 0x65, 0x6d, 0x73, 0x5f, 0x74, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x45, 0x0a, 0x10, + 0x69, 0x74, 0x65, 0x6d, 0x73, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x69, 0x64, 0x65, + 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x43, 0x44, 0x65, 0x6d, 0x6f, 0x53, 0x74, + 0x72, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x2e, 0x69, 0x74, 0x65, 0x6d, 0x73, + 0x5f, 0x74, 0x52, 0x0f, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x73, + 0x69, 0x64, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x66, 0x6c, 0x61, + 0x67, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x46, + 0x6c, 0x61, 0x67, 0x73, 0x22, 0x0b, 0x0a, 0x09, 0x43, 0x44, 0x65, 0x6d, 0x6f, 0x53, 0x74, 0x6f, + 0x70, 0x22, 0x41, 0x0a, 0x0c, 0x43, 0x44, 0x65, 0x6d, 0x6f, 0x55, 0x73, 0x65, 0x72, 0x43, 0x6d, + 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6d, 0x64, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x63, 0x6d, 0x64, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, + 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, + 0x64, 0x61, 0x74, 0x61, 0x22, 0x26, 0x0a, 0x10, 0x43, 0x44, 0x65, 0x6d, 0x6f, 0x53, 0x70, 0x61, + 0x77, 0x6e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6d, 0x73, 0x67, 0x73, + 0x18, 0x03, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x04, 0x6d, 0x73, 0x67, 0x73, 0x2a, 0x84, 0x03, 0x0a, + 0x0d, 0x45, 0x44, 0x65, 0x6d, 0x6f, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x12, 0x16, + 0x0a, 0x09, 0x44, 0x45, 0x4d, 0x5f, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x44, 0x45, 0x4d, 0x5f, 0x53, 0x74, + 0x6f, 0x70, 0x10, 0x00, 0x12, 0x12, 0x0a, 0x0e, 0x44, 0x45, 0x4d, 0x5f, 0x46, 0x69, 0x6c, 0x65, + 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x10, 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x44, 0x45, 0x4d, 0x5f, + 0x46, 0x69, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x10, 0x02, 0x12, 0x10, 0x0a, 0x0c, 0x44, 0x45, + 0x4d, 0x5f, 0x53, 0x79, 0x6e, 0x63, 0x54, 0x69, 0x63, 0x6b, 0x10, 0x03, 0x12, 0x12, 0x0a, 0x0e, + 0x44, 0x45, 0x4d, 0x5f, 0x53, 0x65, 0x6e, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x10, 0x04, + 0x12, 0x11, 0x0a, 0x0d, 0x44, 0x45, 0x4d, 0x5f, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x49, 0x6e, 0x66, + 0x6f, 0x10, 0x05, 0x12, 0x14, 0x0a, 0x10, 0x44, 0x45, 0x4d, 0x5f, 0x53, 0x74, 0x72, 0x69, 0x6e, + 0x67, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x10, 0x06, 0x12, 0x0e, 0x0a, 0x0a, 0x44, 0x45, 0x4d, + 0x5f, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x10, 0x07, 0x12, 0x14, 0x0a, 0x10, 0x44, 0x45, 0x4d, + 0x5f, 0x53, 0x69, 0x67, 0x6e, 0x6f, 0x6e, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x10, 0x08, 0x12, + 0x12, 0x0a, 0x0e, 0x44, 0x45, 0x4d, 0x5f, 0x43, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x43, 0x6d, + 0x64, 0x10, 0x09, 0x12, 0x12, 0x0a, 0x0e, 0x44, 0x45, 0x4d, 0x5f, 0x43, 0x75, 0x73, 0x74, 0x6f, + 0x6d, 0x44, 0x61, 0x74, 0x61, 0x10, 0x0a, 0x12, 0x1b, 0x0a, 0x17, 0x44, 0x45, 0x4d, 0x5f, 0x43, + 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x43, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, + 0x6b, 0x73, 0x10, 0x0b, 0x12, 0x0f, 0x0a, 0x0b, 0x44, 0x45, 0x4d, 0x5f, 0x55, 0x73, 0x65, 0x72, + 0x43, 0x6d, 0x64, 0x10, 0x0c, 0x12, 0x12, 0x0a, 0x0e, 0x44, 0x45, 0x4d, 0x5f, 0x46, 0x75, 0x6c, + 0x6c, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x10, 0x0d, 0x12, 0x10, 0x0a, 0x0c, 0x44, 0x45, 0x4d, + 0x5f, 0x53, 0x61, 0x76, 0x65, 0x47, 0x61, 0x6d, 0x65, 0x10, 0x0e, 0x12, 0x13, 0x0a, 0x0f, 0x44, + 0x45, 0x4d, 0x5f, 0x53, 0x70, 0x61, 0x77, 0x6e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x10, 0x0f, + 0x12, 0x0b, 0x0a, 0x07, 0x44, 0x45, 0x4d, 0x5f, 0x4d, 0x61, 0x78, 0x10, 0x10, 0x12, 0x14, 0x0a, + 0x10, 0x44, 0x45, 0x4d, 0x5f, 0x49, 0x73, 0x43, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x65, + 0x64, 0x10, 0x40, 0x42, 0x0b, 0x5a, 0x06, 0x2e, 0x2f, 0x64, 0x65, 0x6d, 0x6f, 0x80, 0x01, 0x00, } var ( diff --git a/demo/dota_commonmessages.pb.go b/demo/dota_commonmessages.pb.go new file mode 100644 index 0000000..75d5601 --- /dev/null +++ b/demo/dota_commonmessages.pb.go @@ -0,0 +1,1652 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.0 +// protoc v3.21.2 +// source: dota_commonmessages.proto + +package demo + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type EPingSource int32 + +const ( + EPingSource_k_ePingSource_Default EPingSource = 0 + EPingSource_k_ePingSource_Warning EPingSource = 1 + EPingSource_k_ePingSource_Wheel EPingSource = 2 + EPingSource_k_ePingSource_System EPingSource = 3 +) + +// Enum value maps for EPingSource. +var ( + EPingSource_name = map[int32]string{ + 0: "k_ePingSource_Default", + 1: "k_ePingSource_Warning", + 2: "k_ePingSource_Wheel", + 3: "k_ePingSource_System", + } + EPingSource_value = map[string]int32{ + "k_ePingSource_Default": 0, + "k_ePingSource_Warning": 1, + "k_ePingSource_Wheel": 2, + "k_ePingSource_System": 3, + } +) + +func (x EPingSource) Enum() *EPingSource { + p := new(EPingSource) + *p = x + return p +} + +func (x EPingSource) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (EPingSource) Descriptor() protoreflect.EnumDescriptor { + return file_dota_commonmessages_proto_enumTypes[0].Descriptor() +} + +func (EPingSource) Type() protoreflect.EnumType { + return &file_dota_commonmessages_proto_enumTypes[0] +} + +func (x EPingSource) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Do not use. +func (x *EPingSource) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err + } + *x = EPingSource(num) + return nil +} + +// Deprecated: Use EPingSource.Descriptor instead. +func (EPingSource) EnumDescriptor() ([]byte, []int) { + return file_dota_commonmessages_proto_rawDescGZIP(), []int{0} +} + +type EDOTAStatPopupTypes int32 + +const ( + EDOTAStatPopupTypes_k_EDOTA_SPT_Textline EDOTAStatPopupTypes = 0 + EDOTAStatPopupTypes_k_EDOTA_SPT_Basic EDOTAStatPopupTypes = 1 + EDOTAStatPopupTypes_k_EDOTA_SPT_Poll EDOTAStatPopupTypes = 2 + EDOTAStatPopupTypes_k_EDOTA_SPT_Grid EDOTAStatPopupTypes = 3 + EDOTAStatPopupTypes_k_EDOTA_SPT_DualImage EDOTAStatPopupTypes = 4 + EDOTAStatPopupTypes_k_EDOTA_SPT_Movie EDOTAStatPopupTypes = 5 +) + +// Enum value maps for EDOTAStatPopupTypes. +var ( + EDOTAStatPopupTypes_name = map[int32]string{ + 0: "k_EDOTA_SPT_Textline", + 1: "k_EDOTA_SPT_Basic", + 2: "k_EDOTA_SPT_Poll", + 3: "k_EDOTA_SPT_Grid", + 4: "k_EDOTA_SPT_DualImage", + 5: "k_EDOTA_SPT_Movie", + } + EDOTAStatPopupTypes_value = map[string]int32{ + "k_EDOTA_SPT_Textline": 0, + "k_EDOTA_SPT_Basic": 1, + "k_EDOTA_SPT_Poll": 2, + "k_EDOTA_SPT_Grid": 3, + "k_EDOTA_SPT_DualImage": 4, + "k_EDOTA_SPT_Movie": 5, + } +) + +func (x EDOTAStatPopupTypes) Enum() *EDOTAStatPopupTypes { + p := new(EDOTAStatPopupTypes) + *p = x + return p +} + +func (x EDOTAStatPopupTypes) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (EDOTAStatPopupTypes) Descriptor() protoreflect.EnumDescriptor { + return file_dota_commonmessages_proto_enumTypes[1].Descriptor() +} + +func (EDOTAStatPopupTypes) Type() protoreflect.EnumType { + return &file_dota_commonmessages_proto_enumTypes[1] +} + +func (x EDOTAStatPopupTypes) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Do not use. +func (x *EDOTAStatPopupTypes) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err + } + *x = EDOTAStatPopupTypes(num) + return nil +} + +// Deprecated: Use EDOTAStatPopupTypes.Descriptor instead. +func (EDOTAStatPopupTypes) EnumDescriptor() ([]byte, []int) { + return file_dota_commonmessages_proto_rawDescGZIP(), []int{1} +} + +type DotaunitorderT int32 + +const ( + DotaunitorderT_DOTA_UNIT_ORDER_NONE DotaunitorderT = 0 + DotaunitorderT_DOTA_UNIT_ORDER_MOVE_TO_POSITION DotaunitorderT = 1 + DotaunitorderT_DOTA_UNIT_ORDER_MOVE_TO_TARGET DotaunitorderT = 2 + DotaunitorderT_DOTA_UNIT_ORDER_ATTACK_MOVE DotaunitorderT = 3 + DotaunitorderT_DOTA_UNIT_ORDER_ATTACK_TARGET DotaunitorderT = 4 + DotaunitorderT_DOTA_UNIT_ORDER_CAST_POSITION DotaunitorderT = 5 + DotaunitorderT_DOTA_UNIT_ORDER_CAST_TARGET DotaunitorderT = 6 + DotaunitorderT_DOTA_UNIT_ORDER_CAST_TARGET_TREE DotaunitorderT = 7 + DotaunitorderT_DOTA_UNIT_ORDER_CAST_NO_TARGET DotaunitorderT = 8 + DotaunitorderT_DOTA_UNIT_ORDER_CAST_TOGGLE DotaunitorderT = 9 + DotaunitorderT_DOTA_UNIT_ORDER_HOLD_POSITION DotaunitorderT = 10 + DotaunitorderT_DOTA_UNIT_ORDER_TRAIN_ABILITY DotaunitorderT = 11 + DotaunitorderT_DOTA_UNIT_ORDER_DROP_ITEM DotaunitorderT = 12 + DotaunitorderT_DOTA_UNIT_ORDER_GIVE_ITEM DotaunitorderT = 13 + DotaunitorderT_DOTA_UNIT_ORDER_PICKUP_ITEM DotaunitorderT = 14 + DotaunitorderT_DOTA_UNIT_ORDER_PICKUP_RUNE DotaunitorderT = 15 + DotaunitorderT_DOTA_UNIT_ORDER_PURCHASE_ITEM DotaunitorderT = 16 + DotaunitorderT_DOTA_UNIT_ORDER_SELL_ITEM DotaunitorderT = 17 + DotaunitorderT_DOTA_UNIT_ORDER_DISASSEMBLE_ITEM DotaunitorderT = 18 + DotaunitorderT_DOTA_UNIT_ORDER_MOVE_ITEM DotaunitorderT = 19 + DotaunitorderT_DOTA_UNIT_ORDER_CAST_TOGGLE_AUTO DotaunitorderT = 20 + DotaunitorderT_DOTA_UNIT_ORDER_STOP DotaunitorderT = 21 + DotaunitorderT_DOTA_UNIT_ORDER_TAUNT DotaunitorderT = 22 + DotaunitorderT_DOTA_UNIT_ORDER_BUYBACK DotaunitorderT = 23 + DotaunitorderT_DOTA_UNIT_ORDER_GLYPH DotaunitorderT = 24 + DotaunitorderT_DOTA_UNIT_ORDER_EJECT_ITEM_FROM_STASH DotaunitorderT = 25 + DotaunitorderT_DOTA_UNIT_ORDER_CAST_RUNE DotaunitorderT = 26 + DotaunitorderT_DOTA_UNIT_ORDER_PING_ABILITY DotaunitorderT = 27 + DotaunitorderT_DOTA_UNIT_ORDER_MOVE_TO_DIRECTION DotaunitorderT = 28 + DotaunitorderT_DOTA_UNIT_ORDER_PATROL DotaunitorderT = 29 + DotaunitorderT_DOTA_UNIT_ORDER_VECTOR_TARGET_POSITION DotaunitorderT = 30 + DotaunitorderT_DOTA_UNIT_ORDER_RADAR DotaunitorderT = 31 + DotaunitorderT_DOTA_UNIT_ORDER_SET_ITEM_COMBINE_LOCK DotaunitorderT = 32 + DotaunitorderT_DOTA_UNIT_ORDER_CONTINUE DotaunitorderT = 33 + DotaunitorderT_DOTA_UNIT_ORDER_VECTOR_TARGET_CANCELED DotaunitorderT = 34 + DotaunitorderT_DOTA_UNIT_ORDER_CAST_RIVER_PAINT DotaunitorderT = 35 + DotaunitorderT_DOTA_UNIT_ORDER_PREGAME_ADJUST_ITEM_ASSIGNMENT DotaunitorderT = 36 + DotaunitorderT_DOTA_UNIT_ORDER_DROP_ITEM_AT_FOUNTAIN DotaunitorderT = 37 + DotaunitorderT_DOTA_UNIT_ORDER_TAKE_ITEM_FROM_NEUTRAL_ITEM_STASH DotaunitorderT = 38 + DotaunitorderT_DOTA_UNIT_ORDER_MOVE_RELATIVE DotaunitorderT = 39 +) + +// Enum value maps for DotaunitorderT. +var ( + DotaunitorderT_name = map[int32]string{ + 0: "DOTA_UNIT_ORDER_NONE", + 1: "DOTA_UNIT_ORDER_MOVE_TO_POSITION", + 2: "DOTA_UNIT_ORDER_MOVE_TO_TARGET", + 3: "DOTA_UNIT_ORDER_ATTACK_MOVE", + 4: "DOTA_UNIT_ORDER_ATTACK_TARGET", + 5: "DOTA_UNIT_ORDER_CAST_POSITION", + 6: "DOTA_UNIT_ORDER_CAST_TARGET", + 7: "DOTA_UNIT_ORDER_CAST_TARGET_TREE", + 8: "DOTA_UNIT_ORDER_CAST_NO_TARGET", + 9: "DOTA_UNIT_ORDER_CAST_TOGGLE", + 10: "DOTA_UNIT_ORDER_HOLD_POSITION", + 11: "DOTA_UNIT_ORDER_TRAIN_ABILITY", + 12: "DOTA_UNIT_ORDER_DROP_ITEM", + 13: "DOTA_UNIT_ORDER_GIVE_ITEM", + 14: "DOTA_UNIT_ORDER_PICKUP_ITEM", + 15: "DOTA_UNIT_ORDER_PICKUP_RUNE", + 16: "DOTA_UNIT_ORDER_PURCHASE_ITEM", + 17: "DOTA_UNIT_ORDER_SELL_ITEM", + 18: "DOTA_UNIT_ORDER_DISASSEMBLE_ITEM", + 19: "DOTA_UNIT_ORDER_MOVE_ITEM", + 20: "DOTA_UNIT_ORDER_CAST_TOGGLE_AUTO", + 21: "DOTA_UNIT_ORDER_STOP", + 22: "DOTA_UNIT_ORDER_TAUNT", + 23: "DOTA_UNIT_ORDER_BUYBACK", + 24: "DOTA_UNIT_ORDER_GLYPH", + 25: "DOTA_UNIT_ORDER_EJECT_ITEM_FROM_STASH", + 26: "DOTA_UNIT_ORDER_CAST_RUNE", + 27: "DOTA_UNIT_ORDER_PING_ABILITY", + 28: "DOTA_UNIT_ORDER_MOVE_TO_DIRECTION", + 29: "DOTA_UNIT_ORDER_PATROL", + 30: "DOTA_UNIT_ORDER_VECTOR_TARGET_POSITION", + 31: "DOTA_UNIT_ORDER_RADAR", + 32: "DOTA_UNIT_ORDER_SET_ITEM_COMBINE_LOCK", + 33: "DOTA_UNIT_ORDER_CONTINUE", + 34: "DOTA_UNIT_ORDER_VECTOR_TARGET_CANCELED", + 35: "DOTA_UNIT_ORDER_CAST_RIVER_PAINT", + 36: "DOTA_UNIT_ORDER_PREGAME_ADJUST_ITEM_ASSIGNMENT", + 37: "DOTA_UNIT_ORDER_DROP_ITEM_AT_FOUNTAIN", + 38: "DOTA_UNIT_ORDER_TAKE_ITEM_FROM_NEUTRAL_ITEM_STASH", + 39: "DOTA_UNIT_ORDER_MOVE_RELATIVE", + } + DotaunitorderT_value = map[string]int32{ + "DOTA_UNIT_ORDER_NONE": 0, + "DOTA_UNIT_ORDER_MOVE_TO_POSITION": 1, + "DOTA_UNIT_ORDER_MOVE_TO_TARGET": 2, + "DOTA_UNIT_ORDER_ATTACK_MOVE": 3, + "DOTA_UNIT_ORDER_ATTACK_TARGET": 4, + "DOTA_UNIT_ORDER_CAST_POSITION": 5, + "DOTA_UNIT_ORDER_CAST_TARGET": 6, + "DOTA_UNIT_ORDER_CAST_TARGET_TREE": 7, + "DOTA_UNIT_ORDER_CAST_NO_TARGET": 8, + "DOTA_UNIT_ORDER_CAST_TOGGLE": 9, + "DOTA_UNIT_ORDER_HOLD_POSITION": 10, + "DOTA_UNIT_ORDER_TRAIN_ABILITY": 11, + "DOTA_UNIT_ORDER_DROP_ITEM": 12, + "DOTA_UNIT_ORDER_GIVE_ITEM": 13, + "DOTA_UNIT_ORDER_PICKUP_ITEM": 14, + "DOTA_UNIT_ORDER_PICKUP_RUNE": 15, + "DOTA_UNIT_ORDER_PURCHASE_ITEM": 16, + "DOTA_UNIT_ORDER_SELL_ITEM": 17, + "DOTA_UNIT_ORDER_DISASSEMBLE_ITEM": 18, + "DOTA_UNIT_ORDER_MOVE_ITEM": 19, + "DOTA_UNIT_ORDER_CAST_TOGGLE_AUTO": 20, + "DOTA_UNIT_ORDER_STOP": 21, + "DOTA_UNIT_ORDER_TAUNT": 22, + "DOTA_UNIT_ORDER_BUYBACK": 23, + "DOTA_UNIT_ORDER_GLYPH": 24, + "DOTA_UNIT_ORDER_EJECT_ITEM_FROM_STASH": 25, + "DOTA_UNIT_ORDER_CAST_RUNE": 26, + "DOTA_UNIT_ORDER_PING_ABILITY": 27, + "DOTA_UNIT_ORDER_MOVE_TO_DIRECTION": 28, + "DOTA_UNIT_ORDER_PATROL": 29, + "DOTA_UNIT_ORDER_VECTOR_TARGET_POSITION": 30, + "DOTA_UNIT_ORDER_RADAR": 31, + "DOTA_UNIT_ORDER_SET_ITEM_COMBINE_LOCK": 32, + "DOTA_UNIT_ORDER_CONTINUE": 33, + "DOTA_UNIT_ORDER_VECTOR_TARGET_CANCELED": 34, + "DOTA_UNIT_ORDER_CAST_RIVER_PAINT": 35, + "DOTA_UNIT_ORDER_PREGAME_ADJUST_ITEM_ASSIGNMENT": 36, + "DOTA_UNIT_ORDER_DROP_ITEM_AT_FOUNTAIN": 37, + "DOTA_UNIT_ORDER_TAKE_ITEM_FROM_NEUTRAL_ITEM_STASH": 38, + "DOTA_UNIT_ORDER_MOVE_RELATIVE": 39, + } +) + +func (x DotaunitorderT) Enum() *DotaunitorderT { + p := new(DotaunitorderT) + *p = x + return p +} + +func (x DotaunitorderT) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (DotaunitorderT) Descriptor() protoreflect.EnumDescriptor { + return file_dota_commonmessages_proto_enumTypes[2].Descriptor() +} + +func (DotaunitorderT) Type() protoreflect.EnumType { + return &file_dota_commonmessages_proto_enumTypes[2] +} + +func (x DotaunitorderT) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Do not use. +func (x *DotaunitorderT) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err + } + *x = DotaunitorderT(num) + return nil +} + +// Deprecated: Use DotaunitorderT.Descriptor instead. +func (DotaunitorderT) EnumDescriptor() ([]byte, []int) { + return file_dota_commonmessages_proto_rawDescGZIP(), []int{2} +} + +type EDOTAVersusScenePlayerBehavior int32 + +const ( + EDOTAVersusScenePlayerBehavior_VS_PLAYER_BEHAVIOR_PLAY_ACTIVITY EDOTAVersusScenePlayerBehavior = 1 + EDOTAVersusScenePlayerBehavior_VS_PLAYER_BEHAVIOR_CHAT_WHEEL EDOTAVersusScenePlayerBehavior = 2 + EDOTAVersusScenePlayerBehavior_VS_PLAYER_BEHAVIOR_PLAYBACK_RATE EDOTAVersusScenePlayerBehavior = 3 +) + +// Enum value maps for EDOTAVersusScenePlayerBehavior. +var ( + EDOTAVersusScenePlayerBehavior_name = map[int32]string{ + 1: "VS_PLAYER_BEHAVIOR_PLAY_ACTIVITY", + 2: "VS_PLAYER_BEHAVIOR_CHAT_WHEEL", + 3: "VS_PLAYER_BEHAVIOR_PLAYBACK_RATE", + } + EDOTAVersusScenePlayerBehavior_value = map[string]int32{ + "VS_PLAYER_BEHAVIOR_PLAY_ACTIVITY": 1, + "VS_PLAYER_BEHAVIOR_CHAT_WHEEL": 2, + "VS_PLAYER_BEHAVIOR_PLAYBACK_RATE": 3, + } +) + +func (x EDOTAVersusScenePlayerBehavior) Enum() *EDOTAVersusScenePlayerBehavior { + p := new(EDOTAVersusScenePlayerBehavior) + *p = x + return p +} + +func (x EDOTAVersusScenePlayerBehavior) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (EDOTAVersusScenePlayerBehavior) Descriptor() protoreflect.EnumDescriptor { + return file_dota_commonmessages_proto_enumTypes[3].Descriptor() +} + +func (EDOTAVersusScenePlayerBehavior) Type() protoreflect.EnumType { + return &file_dota_commonmessages_proto_enumTypes[3] +} + +func (x EDOTAVersusScenePlayerBehavior) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Do not use. +func (x *EDOTAVersusScenePlayerBehavior) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err + } + *x = EDOTAVersusScenePlayerBehavior(num) + return nil +} + +// Deprecated: Use EDOTAVersusScenePlayerBehavior.Descriptor instead. +func (EDOTAVersusScenePlayerBehavior) EnumDescriptor() ([]byte, []int) { + return file_dota_commonmessages_proto_rawDescGZIP(), []int{3} +} + +type CDOTAMsg_LocationPing struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + X *int32 `protobuf:"varint,1,opt,name=x" json:"x,omitempty"` + Y *int32 `protobuf:"varint,2,opt,name=y" json:"y,omitempty"` + Target *int32 `protobuf:"varint,3,opt,name=target" json:"target,omitempty"` + DirectPing *bool `protobuf:"varint,4,opt,name=direct_ping,json=directPing" json:"direct_ping,omitempty"` + Type *int32 `protobuf:"varint,5,opt,name=type" json:"type,omitempty"` + PingSource *EPingSource `protobuf:"varint,6,opt,name=ping_source,json=pingSource,enum=EPingSource,def=0" json:"ping_source,omitempty"` +} + +// Default values for CDOTAMsg_LocationPing fields. +const ( + Default_CDOTAMsg_LocationPing_PingSource = EPingSource_k_ePingSource_Default +) + +func (x *CDOTAMsg_LocationPing) Reset() { + *x = CDOTAMsg_LocationPing{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_commonmessages_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAMsg_LocationPing) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAMsg_LocationPing) ProtoMessage() {} + +func (x *CDOTAMsg_LocationPing) ProtoReflect() protoreflect.Message { + mi := &file_dota_commonmessages_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CDOTAMsg_LocationPing.ProtoReflect.Descriptor instead. +func (*CDOTAMsg_LocationPing) Descriptor() ([]byte, []int) { + return file_dota_commonmessages_proto_rawDescGZIP(), []int{0} +} + +func (x *CDOTAMsg_LocationPing) GetX() int32 { + if x != nil && x.X != nil { + return *x.X + } + return 0 +} + +func (x *CDOTAMsg_LocationPing) GetY() int32 { + if x != nil && x.Y != nil { + return *x.Y + } + return 0 +} + +func (x *CDOTAMsg_LocationPing) GetTarget() int32 { + if x != nil && x.Target != nil { + return *x.Target + } + return 0 +} + +func (x *CDOTAMsg_LocationPing) GetDirectPing() bool { + if x != nil && x.DirectPing != nil { + return *x.DirectPing + } + return false +} + +func (x *CDOTAMsg_LocationPing) GetType() int32 { + if x != nil && x.Type != nil { + return *x.Type + } + return 0 +} + +func (x *CDOTAMsg_LocationPing) GetPingSource() EPingSource { + if x != nil && x.PingSource != nil { + return *x.PingSource + } + return Default_CDOTAMsg_LocationPing_PingSource +} + +type CDOTAMsg_ItemAlert struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + X *int32 `protobuf:"varint,1,opt,name=x" json:"x,omitempty"` + Y *int32 `protobuf:"varint,2,opt,name=y" json:"y,omitempty"` + ItemAbilityId *int32 `protobuf:"varint,3,opt,name=item_ability_id,json=itemAbilityId" json:"item_ability_id,omitempty"` +} + +func (x *CDOTAMsg_ItemAlert) Reset() { + *x = CDOTAMsg_ItemAlert{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_commonmessages_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAMsg_ItemAlert) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAMsg_ItemAlert) ProtoMessage() {} + +func (x *CDOTAMsg_ItemAlert) ProtoReflect() protoreflect.Message { + mi := &file_dota_commonmessages_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CDOTAMsg_ItemAlert.ProtoReflect.Descriptor instead. +func (*CDOTAMsg_ItemAlert) Descriptor() ([]byte, []int) { + return file_dota_commonmessages_proto_rawDescGZIP(), []int{1} +} + +func (x *CDOTAMsg_ItemAlert) GetX() int32 { + if x != nil && x.X != nil { + return *x.X + } + return 0 +} + +func (x *CDOTAMsg_ItemAlert) GetY() int32 { + if x != nil && x.Y != nil { + return *x.Y + } + return 0 +} + +func (x *CDOTAMsg_ItemAlert) GetItemAbilityId() int32 { + if x != nil && x.ItemAbilityId != nil { + return *x.ItemAbilityId + } + return 0 +} + +type CDOTAMsg_MapLine struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + X *int32 `protobuf:"varint,1,opt,name=x" json:"x,omitempty"` + Y *int32 `protobuf:"varint,2,opt,name=y" json:"y,omitempty"` + Initial *bool `protobuf:"varint,3,opt,name=initial" json:"initial,omitempty"` +} + +func (x *CDOTAMsg_MapLine) Reset() { + *x = CDOTAMsg_MapLine{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_commonmessages_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAMsg_MapLine) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAMsg_MapLine) ProtoMessage() {} + +func (x *CDOTAMsg_MapLine) ProtoReflect() protoreflect.Message { + mi := &file_dota_commonmessages_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CDOTAMsg_MapLine.ProtoReflect.Descriptor instead. +func (*CDOTAMsg_MapLine) Descriptor() ([]byte, []int) { + return file_dota_commonmessages_proto_rawDescGZIP(), []int{2} +} + +func (x *CDOTAMsg_MapLine) GetX() int32 { + if x != nil && x.X != nil { + return *x.X + } + return 0 +} + +func (x *CDOTAMsg_MapLine) GetY() int32 { + if x != nil && x.Y != nil { + return *x.Y + } + return 0 +} + +func (x *CDOTAMsg_MapLine) GetInitial() bool { + if x != nil && x.Initial != nil { + return *x.Initial + } + return false +} + +type CDOTAMsg_WorldLine struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + X *int32 `protobuf:"varint,1,opt,name=x" json:"x,omitempty"` + Y *int32 `protobuf:"varint,2,opt,name=y" json:"y,omitempty"` + Z *int32 `protobuf:"varint,3,opt,name=z" json:"z,omitempty"` + Initial *bool `protobuf:"varint,4,opt,name=initial" json:"initial,omitempty"` + End *bool `protobuf:"varint,5,opt,name=end" json:"end,omitempty"` +} + +func (x *CDOTAMsg_WorldLine) Reset() { + *x = CDOTAMsg_WorldLine{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_commonmessages_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAMsg_WorldLine) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAMsg_WorldLine) ProtoMessage() {} + +func (x *CDOTAMsg_WorldLine) ProtoReflect() protoreflect.Message { + mi := &file_dota_commonmessages_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CDOTAMsg_WorldLine.ProtoReflect.Descriptor instead. +func (*CDOTAMsg_WorldLine) Descriptor() ([]byte, []int) { + return file_dota_commonmessages_proto_rawDescGZIP(), []int{3} +} + +func (x *CDOTAMsg_WorldLine) GetX() int32 { + if x != nil && x.X != nil { + return *x.X + } + return 0 +} + +func (x *CDOTAMsg_WorldLine) GetY() int32 { + if x != nil && x.Y != nil { + return *x.Y + } + return 0 +} + +func (x *CDOTAMsg_WorldLine) GetZ() int32 { + if x != nil && x.Z != nil { + return *x.Z + } + return 0 +} + +func (x *CDOTAMsg_WorldLine) GetInitial() bool { + if x != nil && x.Initial != nil { + return *x.Initial + } + return false +} + +func (x *CDOTAMsg_WorldLine) GetEnd() bool { + if x != nil && x.End != nil { + return *x.End + } + return false +} + +type CDOTAMsg_SendStatPopup struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Style *EDOTAStatPopupTypes `protobuf:"varint,1,opt,name=style,enum=EDOTAStatPopupTypes,def=0" json:"style,omitempty"` + StatStrings []string `protobuf:"bytes,2,rep,name=stat_strings,json=statStrings" json:"stat_strings,omitempty"` + StatImages []int32 `protobuf:"varint,3,rep,name=stat_images,json=statImages" json:"stat_images,omitempty"` + StatImageTypes []int32 `protobuf:"varint,4,rep,name=stat_image_types,json=statImageTypes" json:"stat_image_types,omitempty"` + Duration *float32 `protobuf:"fixed32,5,opt,name=duration" json:"duration,omitempty"` + UseHtml *bool `protobuf:"varint,6,opt,name=use_html,json=useHtml" json:"use_html,omitempty"` + MovieName *string `protobuf:"bytes,7,opt,name=movie_name,json=movieName" json:"movie_name,omitempty"` +} + +// Default values for CDOTAMsg_SendStatPopup fields. +const ( + Default_CDOTAMsg_SendStatPopup_Style = EDOTAStatPopupTypes_k_EDOTA_SPT_Textline +) + +func (x *CDOTAMsg_SendStatPopup) Reset() { + *x = CDOTAMsg_SendStatPopup{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_commonmessages_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAMsg_SendStatPopup) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAMsg_SendStatPopup) ProtoMessage() {} + +func (x *CDOTAMsg_SendStatPopup) ProtoReflect() protoreflect.Message { + mi := &file_dota_commonmessages_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 CDOTAMsg_SendStatPopup.ProtoReflect.Descriptor instead. +func (*CDOTAMsg_SendStatPopup) Descriptor() ([]byte, []int) { + return file_dota_commonmessages_proto_rawDescGZIP(), []int{4} +} + +func (x *CDOTAMsg_SendStatPopup) GetStyle() EDOTAStatPopupTypes { + if x != nil && x.Style != nil { + return *x.Style + } + return Default_CDOTAMsg_SendStatPopup_Style +} + +func (x *CDOTAMsg_SendStatPopup) GetStatStrings() []string { + if x != nil { + return x.StatStrings + } + return nil +} + +func (x *CDOTAMsg_SendStatPopup) GetStatImages() []int32 { + if x != nil { + return x.StatImages + } + return nil +} + +func (x *CDOTAMsg_SendStatPopup) GetStatImageTypes() []int32 { + if x != nil { + return x.StatImageTypes + } + return nil +} + +func (x *CDOTAMsg_SendStatPopup) GetDuration() float32 { + if x != nil && x.Duration != nil { + return *x.Duration + } + return 0 +} + +func (x *CDOTAMsg_SendStatPopup) GetUseHtml() bool { + if x != nil && x.UseHtml != nil { + return *x.UseHtml + } + return false +} + +func (x *CDOTAMsg_SendStatPopup) GetMovieName() string { + if x != nil && x.MovieName != nil { + return *x.MovieName + } + return "" +} + +type CDOTAMsg_DismissAllStatPopups struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + TimeDelay *float32 `protobuf:"fixed32,1,opt,name=time_delay,json=timeDelay" json:"time_delay,omitempty"` +} + +func (x *CDOTAMsg_DismissAllStatPopups) Reset() { + *x = CDOTAMsg_DismissAllStatPopups{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_commonmessages_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAMsg_DismissAllStatPopups) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAMsg_DismissAllStatPopups) ProtoMessage() {} + +func (x *CDOTAMsg_DismissAllStatPopups) ProtoReflect() protoreflect.Message { + mi := &file_dota_commonmessages_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 CDOTAMsg_DismissAllStatPopups.ProtoReflect.Descriptor instead. +func (*CDOTAMsg_DismissAllStatPopups) Descriptor() ([]byte, []int) { + return file_dota_commonmessages_proto_rawDescGZIP(), []int{5} +} + +func (x *CDOTAMsg_DismissAllStatPopups) GetTimeDelay() float32 { + if x != nil && x.TimeDelay != nil { + return *x.TimeDelay + } + return 0 +} + +type CDOTAMsg_CoachHUDPing struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + X *uint32 `protobuf:"varint,1,opt,name=x" json:"x,omitempty"` + Y *uint32 `protobuf:"varint,2,opt,name=y" json:"y,omitempty"` + Tgtpath *string `protobuf:"bytes,3,opt,name=tgtpath" json:"tgtpath,omitempty"` +} + +func (x *CDOTAMsg_CoachHUDPing) Reset() { + *x = CDOTAMsg_CoachHUDPing{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_commonmessages_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAMsg_CoachHUDPing) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAMsg_CoachHUDPing) ProtoMessage() {} + +func (x *CDOTAMsg_CoachHUDPing) ProtoReflect() protoreflect.Message { + mi := &file_dota_commonmessages_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 CDOTAMsg_CoachHUDPing.ProtoReflect.Descriptor instead. +func (*CDOTAMsg_CoachHUDPing) Descriptor() ([]byte, []int) { + return file_dota_commonmessages_proto_rawDescGZIP(), []int{6} +} + +func (x *CDOTAMsg_CoachHUDPing) GetX() uint32 { + if x != nil && x.X != nil { + return *x.X + } + return 0 +} + +func (x *CDOTAMsg_CoachHUDPing) GetY() uint32 { + if x != nil && x.Y != nil { + return *x.Y + } + return 0 +} + +func (x *CDOTAMsg_CoachHUDPing) GetTgtpath() string { + if x != nil && x.Tgtpath != nil { + return *x.Tgtpath + } + return "" +} + +type CDOTAMsg_UnitOrder struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + OrderType *DotaunitorderT `protobuf:"varint,2,opt,name=order_type,json=orderType,enum=DotaunitorderT,def=0" json:"order_type,omitempty"` + Units []int32 `protobuf:"varint,3,rep,name=units" json:"units,omitempty"` + TargetIndex *int32 `protobuf:"varint,4,opt,name=target_index,json=targetIndex" json:"target_index,omitempty"` + AbilityIndex *int32 `protobuf:"varint,5,opt,name=ability_index,json=abilityIndex" json:"ability_index,omitempty"` + Position *CMsgVector `protobuf:"bytes,6,opt,name=position" json:"position,omitempty"` + SequenceNumber *int32 `protobuf:"varint,8,opt,name=sequence_number,json=sequenceNumber" json:"sequence_number,omitempty"` + Flags *uint32 `protobuf:"varint,9,opt,name=flags" json:"flags,omitempty"` +} + +// Default values for CDOTAMsg_UnitOrder fields. +const ( + Default_CDOTAMsg_UnitOrder_OrderType = DotaunitorderT_DOTA_UNIT_ORDER_NONE +) + +func (x *CDOTAMsg_UnitOrder) Reset() { + *x = CDOTAMsg_UnitOrder{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_commonmessages_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAMsg_UnitOrder) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAMsg_UnitOrder) ProtoMessage() {} + +func (x *CDOTAMsg_UnitOrder) ProtoReflect() protoreflect.Message { + mi := &file_dota_commonmessages_proto_msgTypes[7] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CDOTAMsg_UnitOrder.ProtoReflect.Descriptor instead. +func (*CDOTAMsg_UnitOrder) Descriptor() ([]byte, []int) { + return file_dota_commonmessages_proto_rawDescGZIP(), []int{7} +} + +func (x *CDOTAMsg_UnitOrder) GetOrderType() DotaunitorderT { + if x != nil && x.OrderType != nil { + return *x.OrderType + } + return Default_CDOTAMsg_UnitOrder_OrderType +} + +func (x *CDOTAMsg_UnitOrder) GetUnits() []int32 { + if x != nil { + return x.Units + } + return nil +} + +func (x *CDOTAMsg_UnitOrder) GetTargetIndex() int32 { + if x != nil && x.TargetIndex != nil { + return *x.TargetIndex + } + return 0 +} + +func (x *CDOTAMsg_UnitOrder) GetAbilityIndex() int32 { + if x != nil && x.AbilityIndex != nil { + return *x.AbilityIndex + } + return 0 +} + +func (x *CDOTAMsg_UnitOrder) GetPosition() *CMsgVector { + if x != nil { + return x.Position + } + return nil +} + +func (x *CDOTAMsg_UnitOrder) GetSequenceNumber() int32 { + if x != nil && x.SequenceNumber != nil { + return *x.SequenceNumber + } + return 0 +} + +func (x *CDOTAMsg_UnitOrder) GetFlags() uint32 { + if x != nil && x.Flags != nil { + return *x.Flags + } + return 0 +} + +type VersusScene_PlayActivity struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Activities []*VersusScene_PlayActivity_ActivityInfo `protobuf:"bytes,1,rep,name=activities" json:"activities,omitempty"` + PlaybackRate *float32 `protobuf:"fixed32,2,opt,name=playback_rate,json=playbackRate" json:"playback_rate,omitempty"` +} + +func (x *VersusScene_PlayActivity) Reset() { + *x = VersusScene_PlayActivity{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_commonmessages_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *VersusScene_PlayActivity) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*VersusScene_PlayActivity) ProtoMessage() {} + +func (x *VersusScene_PlayActivity) ProtoReflect() protoreflect.Message { + mi := &file_dota_commonmessages_proto_msgTypes[8] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use VersusScene_PlayActivity.ProtoReflect.Descriptor instead. +func (*VersusScene_PlayActivity) Descriptor() ([]byte, []int) { + return file_dota_commonmessages_proto_rawDescGZIP(), []int{8} +} + +func (x *VersusScene_PlayActivity) GetActivities() []*VersusScene_PlayActivity_ActivityInfo { + if x != nil { + return x.Activities + } + return nil +} + +func (x *VersusScene_PlayActivity) GetPlaybackRate() float32 { + if x != nil && x.PlaybackRate != nil { + return *x.PlaybackRate + } + return 0 +} + +type VersusScene_ChatWheel struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ChatMessageId *uint32 `protobuf:"varint,1,opt,name=chat_message_id,json=chatMessageId" json:"chat_message_id,omitempty"` + EmoticonId *uint32 `protobuf:"varint,2,opt,name=emoticon_id,json=emoticonId" json:"emoticon_id,omitempty"` +} + +func (x *VersusScene_ChatWheel) Reset() { + *x = VersusScene_ChatWheel{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_commonmessages_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *VersusScene_ChatWheel) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*VersusScene_ChatWheel) ProtoMessage() {} + +func (x *VersusScene_ChatWheel) ProtoReflect() protoreflect.Message { + mi := &file_dota_commonmessages_proto_msgTypes[9] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use VersusScene_ChatWheel.ProtoReflect.Descriptor instead. +func (*VersusScene_ChatWheel) Descriptor() ([]byte, []int) { + return file_dota_commonmessages_proto_rawDescGZIP(), []int{9} +} + +func (x *VersusScene_ChatWheel) GetChatMessageId() uint32 { + if x != nil && x.ChatMessageId != nil { + return *x.ChatMessageId + } + return 0 +} + +func (x *VersusScene_ChatWheel) GetEmoticonId() uint32 { + if x != nil && x.EmoticonId != nil { + return *x.EmoticonId + } + return 0 +} + +type VersusScene_PlaybackRate struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Rate *float32 `protobuf:"fixed32,1,opt,name=rate" json:"rate,omitempty"` +} + +func (x *VersusScene_PlaybackRate) Reset() { + *x = VersusScene_PlaybackRate{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_commonmessages_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *VersusScene_PlaybackRate) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*VersusScene_PlaybackRate) ProtoMessage() {} + +func (x *VersusScene_PlaybackRate) ProtoReflect() protoreflect.Message { + mi := &file_dota_commonmessages_proto_msgTypes[10] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use VersusScene_PlaybackRate.ProtoReflect.Descriptor instead. +func (*VersusScene_PlaybackRate) Descriptor() ([]byte, []int) { + return file_dota_commonmessages_proto_rawDescGZIP(), []int{10} +} + +func (x *VersusScene_PlaybackRate) GetRate() float32 { + if x != nil && x.Rate != nil { + return *x.Rate + } + return 0 +} + +type VersusScene_PlayActivity_ActivityInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Activity *string `protobuf:"bytes,1,opt,name=activity" json:"activity,omitempty"` + DisableAutoKill *bool `protobuf:"varint,2,opt,name=disable_auto_kill,json=disableAutoKill" json:"disable_auto_kill,omitempty"` + ForceLooping *bool `protobuf:"varint,3,opt,name=force_looping,json=forceLooping" json:"force_looping,omitempty"` +} + +func (x *VersusScene_PlayActivity_ActivityInfo) Reset() { + *x = VersusScene_PlayActivity_ActivityInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_commonmessages_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *VersusScene_PlayActivity_ActivityInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*VersusScene_PlayActivity_ActivityInfo) ProtoMessage() {} + +func (x *VersusScene_PlayActivity_ActivityInfo) ProtoReflect() protoreflect.Message { + mi := &file_dota_commonmessages_proto_msgTypes[11] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use VersusScene_PlayActivity_ActivityInfo.ProtoReflect.Descriptor instead. +func (*VersusScene_PlayActivity_ActivityInfo) Descriptor() ([]byte, []int) { + return file_dota_commonmessages_proto_rawDescGZIP(), []int{8, 0} +} + +func (x *VersusScene_PlayActivity_ActivityInfo) GetActivity() string { + if x != nil && x.Activity != nil { + return *x.Activity + } + return "" +} + +func (x *VersusScene_PlayActivity_ActivityInfo) GetDisableAutoKill() bool { + if x != nil && x.DisableAutoKill != nil { + return *x.DisableAutoKill + } + return false +} + +func (x *VersusScene_PlayActivity_ActivityInfo) GetForceLooping() bool { + if x != nil && x.ForceLooping != nil { + return *x.ForceLooping + } + return false +} + +var File_dota_commonmessages_proto protoreflect.FileDescriptor + +var file_dota_commonmessages_proto_rawDesc = []byte{ + 0x0a, 0x19, 0x64, 0x6f, 0x74, 0x61, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 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, 0x22, 0xc6, 0x01, 0x0a, 0x15, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x4d, 0x73, 0x67, + 0x5f, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x69, 0x6e, 0x67, 0x12, 0x0c, 0x0a, + 0x01, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x01, 0x78, 0x12, 0x0c, 0x0a, 0x01, 0x79, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x01, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x61, 0x72, + 0x67, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, + 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x5f, 0x70, 0x69, 0x6e, 0x67, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x50, 0x69, + 0x6e, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x44, 0x0a, 0x0b, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0c, 0x2e, 0x45, 0x50, + 0x69, 0x6e, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x3a, 0x15, 0x6b, 0x5f, 0x65, 0x50, 0x69, + 0x6e, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, + 0x52, 0x0a, 0x70, 0x69, 0x6e, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x58, 0x0a, 0x12, + 0x43, 0x44, 0x4f, 0x54, 0x41, 0x4d, 0x73, 0x67, 0x5f, 0x49, 0x74, 0x65, 0x6d, 0x41, 0x6c, 0x65, + 0x72, 0x74, 0x12, 0x0c, 0x0a, 0x01, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x01, 0x78, + 0x12, 0x0c, 0x0a, 0x01, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x01, 0x79, 0x12, 0x26, + 0x0a, 0x0f, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x69, + 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x69, 0x74, 0x65, 0x6d, 0x41, 0x62, 0x69, + 0x6c, 0x69, 0x74, 0x79, 0x49, 0x64, 0x22, 0x48, 0x0a, 0x10, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x4d, + 0x73, 0x67, 0x5f, 0x4d, 0x61, 0x70, 0x4c, 0x69, 0x6e, 0x65, 0x12, 0x0c, 0x0a, 0x01, 0x78, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x01, 0x78, 0x12, 0x0c, 0x0a, 0x01, 0x79, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x01, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, + 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, + 0x22, 0x6a, 0x0a, 0x12, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x4d, 0x73, 0x67, 0x5f, 0x57, 0x6f, 0x72, + 0x6c, 0x64, 0x4c, 0x69, 0x6e, 0x65, 0x12, 0x0c, 0x0a, 0x01, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x01, 0x78, 0x12, 0x0c, 0x0a, 0x01, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x01, 0x79, 0x12, 0x0c, 0x0a, 0x01, 0x7a, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x01, 0x7a, + 0x12, 0x18, 0x0a, 0x07, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x07, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x12, 0x10, 0x0a, 0x03, 0x65, 0x6e, + 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x65, 0x6e, 0x64, 0x22, 0x9e, 0x02, 0x0a, + 0x16, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x65, 0x6e, 0x64, 0x53, 0x74, + 0x61, 0x74, 0x50, 0x6f, 0x70, 0x75, 0x70, 0x12, 0x40, 0x0a, 0x05, 0x73, 0x74, 0x79, 0x6c, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x45, 0x44, 0x4f, 0x54, 0x41, 0x53, 0x74, + 0x61, 0x74, 0x50, 0x6f, 0x70, 0x75, 0x70, 0x54, 0x79, 0x70, 0x65, 0x73, 0x3a, 0x14, 0x6b, 0x5f, + 0x45, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x53, 0x50, 0x54, 0x5f, 0x54, 0x65, 0x78, 0x74, 0x6c, 0x69, + 0x6e, 0x65, 0x52, 0x05, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x74, 0x61, + 0x74, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, + 0x0b, 0x73, 0x74, 0x61, 0x74, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x1f, 0x0a, 0x0b, + 0x73, 0x74, 0x61, 0x74, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, + 0x05, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x12, 0x28, 0x0a, + 0x10, 0x73, 0x74, 0x61, 0x74, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, + 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0e, 0x73, 0x74, 0x61, 0x74, 0x49, 0x6d, 0x61, + 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x19, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x5f, 0x68, 0x74, 0x6d, 0x6c, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x75, 0x73, 0x65, 0x48, 0x74, 0x6d, 0x6c, 0x12, 0x1d, + 0x0a, 0x0a, 0x6d, 0x6f, 0x76, 0x69, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x09, 0x6d, 0x6f, 0x76, 0x69, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x3e, 0x0a, + 0x1d, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x4d, 0x73, 0x67, 0x5f, 0x44, 0x69, 0x73, 0x6d, 0x69, 0x73, + 0x73, 0x41, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x50, 0x6f, 0x70, 0x75, 0x70, 0x73, 0x12, 0x1d, + 0x0a, 0x0a, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x02, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x22, 0x4d, 0x0a, + 0x15, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x4d, 0x73, 0x67, 0x5f, 0x43, 0x6f, 0x61, 0x63, 0x68, 0x48, + 0x55, 0x44, 0x50, 0x69, 0x6e, 0x67, 0x12, 0x0c, 0x0a, 0x01, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x01, 0x78, 0x12, 0x0c, 0x0a, 0x01, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x01, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x67, 0x74, 0x70, 0x61, 0x74, 0x68, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x67, 0x74, 0x70, 0x61, 0x74, 0x68, 0x22, 0xa1, 0x02, 0x0a, + 0x12, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x4d, 0x73, 0x67, 0x5f, 0x55, 0x6e, 0x69, 0x74, 0x4f, 0x72, + 0x64, 0x65, 0x72, 0x12, 0x45, 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x10, 0x2e, 0x64, 0x6f, 0x74, 0x61, 0x75, 0x6e, + 0x69, 0x74, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x74, 0x3a, 0x14, 0x44, 0x4f, 0x54, 0x41, 0x5f, + 0x55, 0x4e, 0x49, 0x54, 0x5f, 0x4f, 0x52, 0x44, 0x45, 0x52, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x52, + 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x75, 0x6e, + 0x69, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x05, 0x52, 0x05, 0x75, 0x6e, 0x69, 0x74, 0x73, + 0x12, 0x21, 0x0a, 0x0c, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x49, 0x6e, + 0x64, 0x65, 0x78, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x69, + 0x6e, 0x64, 0x65, 0x78, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x61, 0x62, 0x69, 0x6c, + 0x69, 0x74, 0x79, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x27, 0x0a, 0x08, 0x70, 0x6f, 0x73, 0x69, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x43, 0x4d, 0x73, + 0x67, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x6e, 0x75, + 0x6d, 0x62, 0x65, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x73, 0x65, 0x71, 0x75, + 0x65, 0x6e, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6c, + 0x61, 0x67, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, + 0x22, 0x84, 0x02, 0x0a, 0x18, 0x56, 0x65, 0x72, 0x73, 0x75, 0x73, 0x53, 0x63, 0x65, 0x6e, 0x65, + 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x12, 0x46, 0x0a, + 0x0a, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x26, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x75, 0x73, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x5f, + 0x50, 0x6c, 0x61, 0x79, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x2e, 0x41, 0x63, 0x74, + 0x69, 0x76, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x61, 0x63, 0x74, 0x69, 0x76, + 0x69, 0x74, 0x69, 0x65, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x70, 0x6c, 0x61, 0x79, 0x62, 0x61, 0x63, + 0x6b, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0c, 0x70, 0x6c, + 0x61, 0x79, 0x62, 0x61, 0x63, 0x6b, 0x52, 0x61, 0x74, 0x65, 0x1a, 0x7b, 0x0a, 0x0c, 0x41, 0x63, + 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x63, + 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x61, 0x63, + 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x12, 0x2a, 0x0a, 0x11, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, + 0x65, 0x5f, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x6b, 0x69, 0x6c, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x0f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x75, 0x74, 0x6f, 0x4b, 0x69, + 0x6c, 0x6c, 0x12, 0x23, 0x0a, 0x0d, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x5f, 0x6c, 0x6f, 0x6f, 0x70, + 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x66, 0x6f, 0x72, 0x63, 0x65, + 0x4c, 0x6f, 0x6f, 0x70, 0x69, 0x6e, 0x67, 0x22, 0x60, 0x0a, 0x15, 0x56, 0x65, 0x72, 0x73, 0x75, + 0x73, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x5f, 0x43, 0x68, 0x61, 0x74, 0x57, 0x68, 0x65, 0x65, 0x6c, + 0x12, 0x26, 0x0a, 0x0f, 0x63, 0x68, 0x61, 0x74, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x63, 0x68, 0x61, 0x74, 0x4d, + 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x6d, 0x6f, 0x74, + 0x69, 0x63, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x65, + 0x6d, 0x6f, 0x74, 0x69, 0x63, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x2e, 0x0a, 0x18, 0x56, 0x65, 0x72, + 0x73, 0x75, 0x73, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x62, 0x61, 0x63, + 0x6b, 0x52, 0x61, 0x74, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x02, 0x52, 0x04, 0x72, 0x61, 0x74, 0x65, 0x2a, 0x76, 0x0a, 0x0b, 0x45, 0x50, 0x69, + 0x6e, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x19, 0x0a, 0x15, 0x6b, 0x5f, 0x65, 0x50, + 0x69, 0x6e, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, + 0x74, 0x10, 0x00, 0x12, 0x19, 0x0a, 0x15, 0x6b, 0x5f, 0x65, 0x50, 0x69, 0x6e, 0x67, 0x53, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x5f, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x10, 0x01, 0x12, 0x17, + 0x0a, 0x13, 0x6b, 0x5f, 0x65, 0x50, 0x69, 0x6e, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, + 0x57, 0x68, 0x65, 0x65, 0x6c, 0x10, 0x02, 0x12, 0x18, 0x0a, 0x14, 0x6b, 0x5f, 0x65, 0x50, 0x69, + 0x6e, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x10, + 0x03, 0x2a, 0xa4, 0x01, 0x0a, 0x13, 0x45, 0x44, 0x4f, 0x54, 0x41, 0x53, 0x74, 0x61, 0x74, 0x50, + 0x6f, 0x70, 0x75, 0x70, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x18, 0x0a, 0x14, 0x6b, 0x5f, 0x45, + 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x53, 0x50, 0x54, 0x5f, 0x54, 0x65, 0x78, 0x74, 0x6c, 0x69, 0x6e, + 0x65, 0x10, 0x00, 0x12, 0x15, 0x0a, 0x11, 0x6b, 0x5f, 0x45, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x53, + 0x50, 0x54, 0x5f, 0x42, 0x61, 0x73, 0x69, 0x63, 0x10, 0x01, 0x12, 0x14, 0x0a, 0x10, 0x6b, 0x5f, + 0x45, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x53, 0x50, 0x54, 0x5f, 0x50, 0x6f, 0x6c, 0x6c, 0x10, 0x02, + 0x12, 0x14, 0x0a, 0x10, 0x6b, 0x5f, 0x45, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x53, 0x50, 0x54, 0x5f, + 0x47, 0x72, 0x69, 0x64, 0x10, 0x03, 0x12, 0x19, 0x0a, 0x15, 0x6b, 0x5f, 0x45, 0x44, 0x4f, 0x54, + 0x41, 0x5f, 0x53, 0x50, 0x54, 0x5f, 0x44, 0x75, 0x61, 0x6c, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x10, + 0x04, 0x12, 0x15, 0x0a, 0x11, 0x6b, 0x5f, 0x45, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x53, 0x50, 0x54, + 0x5f, 0x4d, 0x6f, 0x76, 0x69, 0x65, 0x10, 0x05, 0x2a, 0x92, 0x0b, 0x0a, 0x0f, 0x64, 0x6f, 0x74, + 0x61, 0x75, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x74, 0x12, 0x18, 0x0a, 0x14, + 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4e, 0x49, 0x54, 0x5f, 0x4f, 0x52, 0x44, 0x45, 0x52, 0x5f, + 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x24, 0x0a, 0x20, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, + 0x4e, 0x49, 0x54, 0x5f, 0x4f, 0x52, 0x44, 0x45, 0x52, 0x5f, 0x4d, 0x4f, 0x56, 0x45, 0x5f, 0x54, + 0x4f, 0x5f, 0x50, 0x4f, 0x53, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x01, 0x12, 0x22, 0x0a, 0x1e, + 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4e, 0x49, 0x54, 0x5f, 0x4f, 0x52, 0x44, 0x45, 0x52, 0x5f, + 0x4d, 0x4f, 0x56, 0x45, 0x5f, 0x54, 0x4f, 0x5f, 0x54, 0x41, 0x52, 0x47, 0x45, 0x54, 0x10, 0x02, + 0x12, 0x1f, 0x0a, 0x1b, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4e, 0x49, 0x54, 0x5f, 0x4f, 0x52, + 0x44, 0x45, 0x52, 0x5f, 0x41, 0x54, 0x54, 0x41, 0x43, 0x4b, 0x5f, 0x4d, 0x4f, 0x56, 0x45, 0x10, + 0x03, 0x12, 0x21, 0x0a, 0x1d, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4e, 0x49, 0x54, 0x5f, 0x4f, + 0x52, 0x44, 0x45, 0x52, 0x5f, 0x41, 0x54, 0x54, 0x41, 0x43, 0x4b, 0x5f, 0x54, 0x41, 0x52, 0x47, + 0x45, 0x54, 0x10, 0x04, 0x12, 0x21, 0x0a, 0x1d, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4e, 0x49, + 0x54, 0x5f, 0x4f, 0x52, 0x44, 0x45, 0x52, 0x5f, 0x43, 0x41, 0x53, 0x54, 0x5f, 0x50, 0x4f, 0x53, + 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x05, 0x12, 0x1f, 0x0a, 0x1b, 0x44, 0x4f, 0x54, 0x41, 0x5f, + 0x55, 0x4e, 0x49, 0x54, 0x5f, 0x4f, 0x52, 0x44, 0x45, 0x52, 0x5f, 0x43, 0x41, 0x53, 0x54, 0x5f, + 0x54, 0x41, 0x52, 0x47, 0x45, 0x54, 0x10, 0x06, 0x12, 0x24, 0x0a, 0x20, 0x44, 0x4f, 0x54, 0x41, + 0x5f, 0x55, 0x4e, 0x49, 0x54, 0x5f, 0x4f, 0x52, 0x44, 0x45, 0x52, 0x5f, 0x43, 0x41, 0x53, 0x54, + 0x5f, 0x54, 0x41, 0x52, 0x47, 0x45, 0x54, 0x5f, 0x54, 0x52, 0x45, 0x45, 0x10, 0x07, 0x12, 0x22, + 0x0a, 0x1e, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4e, 0x49, 0x54, 0x5f, 0x4f, 0x52, 0x44, 0x45, + 0x52, 0x5f, 0x43, 0x41, 0x53, 0x54, 0x5f, 0x4e, 0x4f, 0x5f, 0x54, 0x41, 0x52, 0x47, 0x45, 0x54, + 0x10, 0x08, 0x12, 0x1f, 0x0a, 0x1b, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4e, 0x49, 0x54, 0x5f, + 0x4f, 0x52, 0x44, 0x45, 0x52, 0x5f, 0x43, 0x41, 0x53, 0x54, 0x5f, 0x54, 0x4f, 0x47, 0x47, 0x4c, + 0x45, 0x10, 0x09, 0x12, 0x21, 0x0a, 0x1d, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4e, 0x49, 0x54, + 0x5f, 0x4f, 0x52, 0x44, 0x45, 0x52, 0x5f, 0x48, 0x4f, 0x4c, 0x44, 0x5f, 0x50, 0x4f, 0x53, 0x49, + 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x0a, 0x12, 0x21, 0x0a, 0x1d, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, + 0x4e, 0x49, 0x54, 0x5f, 0x4f, 0x52, 0x44, 0x45, 0x52, 0x5f, 0x54, 0x52, 0x41, 0x49, 0x4e, 0x5f, + 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x10, 0x0b, 0x12, 0x1d, 0x0a, 0x19, 0x44, 0x4f, 0x54, + 0x41, 0x5f, 0x55, 0x4e, 0x49, 0x54, 0x5f, 0x4f, 0x52, 0x44, 0x45, 0x52, 0x5f, 0x44, 0x52, 0x4f, + 0x50, 0x5f, 0x49, 0x54, 0x45, 0x4d, 0x10, 0x0c, 0x12, 0x1d, 0x0a, 0x19, 0x44, 0x4f, 0x54, 0x41, + 0x5f, 0x55, 0x4e, 0x49, 0x54, 0x5f, 0x4f, 0x52, 0x44, 0x45, 0x52, 0x5f, 0x47, 0x49, 0x56, 0x45, + 0x5f, 0x49, 0x54, 0x45, 0x4d, 0x10, 0x0d, 0x12, 0x1f, 0x0a, 0x1b, 0x44, 0x4f, 0x54, 0x41, 0x5f, + 0x55, 0x4e, 0x49, 0x54, 0x5f, 0x4f, 0x52, 0x44, 0x45, 0x52, 0x5f, 0x50, 0x49, 0x43, 0x4b, 0x55, + 0x50, 0x5f, 0x49, 0x54, 0x45, 0x4d, 0x10, 0x0e, 0x12, 0x1f, 0x0a, 0x1b, 0x44, 0x4f, 0x54, 0x41, + 0x5f, 0x55, 0x4e, 0x49, 0x54, 0x5f, 0x4f, 0x52, 0x44, 0x45, 0x52, 0x5f, 0x50, 0x49, 0x43, 0x4b, + 0x55, 0x50, 0x5f, 0x52, 0x55, 0x4e, 0x45, 0x10, 0x0f, 0x12, 0x21, 0x0a, 0x1d, 0x44, 0x4f, 0x54, + 0x41, 0x5f, 0x55, 0x4e, 0x49, 0x54, 0x5f, 0x4f, 0x52, 0x44, 0x45, 0x52, 0x5f, 0x50, 0x55, 0x52, + 0x43, 0x48, 0x41, 0x53, 0x45, 0x5f, 0x49, 0x54, 0x45, 0x4d, 0x10, 0x10, 0x12, 0x1d, 0x0a, 0x19, + 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4e, 0x49, 0x54, 0x5f, 0x4f, 0x52, 0x44, 0x45, 0x52, 0x5f, + 0x53, 0x45, 0x4c, 0x4c, 0x5f, 0x49, 0x54, 0x45, 0x4d, 0x10, 0x11, 0x12, 0x24, 0x0a, 0x20, 0x44, + 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4e, 0x49, 0x54, 0x5f, 0x4f, 0x52, 0x44, 0x45, 0x52, 0x5f, 0x44, + 0x49, 0x53, 0x41, 0x53, 0x53, 0x45, 0x4d, 0x42, 0x4c, 0x45, 0x5f, 0x49, 0x54, 0x45, 0x4d, 0x10, + 0x12, 0x12, 0x1d, 0x0a, 0x19, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4e, 0x49, 0x54, 0x5f, 0x4f, + 0x52, 0x44, 0x45, 0x52, 0x5f, 0x4d, 0x4f, 0x56, 0x45, 0x5f, 0x49, 0x54, 0x45, 0x4d, 0x10, 0x13, + 0x12, 0x24, 0x0a, 0x20, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4e, 0x49, 0x54, 0x5f, 0x4f, 0x52, + 0x44, 0x45, 0x52, 0x5f, 0x43, 0x41, 0x53, 0x54, 0x5f, 0x54, 0x4f, 0x47, 0x47, 0x4c, 0x45, 0x5f, + 0x41, 0x55, 0x54, 0x4f, 0x10, 0x14, 0x12, 0x18, 0x0a, 0x14, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, + 0x4e, 0x49, 0x54, 0x5f, 0x4f, 0x52, 0x44, 0x45, 0x52, 0x5f, 0x53, 0x54, 0x4f, 0x50, 0x10, 0x15, + 0x12, 0x19, 0x0a, 0x15, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4e, 0x49, 0x54, 0x5f, 0x4f, 0x52, + 0x44, 0x45, 0x52, 0x5f, 0x54, 0x41, 0x55, 0x4e, 0x54, 0x10, 0x16, 0x12, 0x1b, 0x0a, 0x17, 0x44, + 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4e, 0x49, 0x54, 0x5f, 0x4f, 0x52, 0x44, 0x45, 0x52, 0x5f, 0x42, + 0x55, 0x59, 0x42, 0x41, 0x43, 0x4b, 0x10, 0x17, 0x12, 0x19, 0x0a, 0x15, 0x44, 0x4f, 0x54, 0x41, + 0x5f, 0x55, 0x4e, 0x49, 0x54, 0x5f, 0x4f, 0x52, 0x44, 0x45, 0x52, 0x5f, 0x47, 0x4c, 0x59, 0x50, + 0x48, 0x10, 0x18, 0x12, 0x29, 0x0a, 0x25, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4e, 0x49, 0x54, + 0x5f, 0x4f, 0x52, 0x44, 0x45, 0x52, 0x5f, 0x45, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x49, 0x54, 0x45, + 0x4d, 0x5f, 0x46, 0x52, 0x4f, 0x4d, 0x5f, 0x53, 0x54, 0x41, 0x53, 0x48, 0x10, 0x19, 0x12, 0x1d, + 0x0a, 0x19, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4e, 0x49, 0x54, 0x5f, 0x4f, 0x52, 0x44, 0x45, + 0x52, 0x5f, 0x43, 0x41, 0x53, 0x54, 0x5f, 0x52, 0x55, 0x4e, 0x45, 0x10, 0x1a, 0x12, 0x20, 0x0a, + 0x1c, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4e, 0x49, 0x54, 0x5f, 0x4f, 0x52, 0x44, 0x45, 0x52, + 0x5f, 0x50, 0x49, 0x4e, 0x47, 0x5f, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x10, 0x1b, 0x12, + 0x25, 0x0a, 0x21, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4e, 0x49, 0x54, 0x5f, 0x4f, 0x52, 0x44, + 0x45, 0x52, 0x5f, 0x4d, 0x4f, 0x56, 0x45, 0x5f, 0x54, 0x4f, 0x5f, 0x44, 0x49, 0x52, 0x45, 0x43, + 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x1c, 0x12, 0x1a, 0x0a, 0x16, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, + 0x4e, 0x49, 0x54, 0x5f, 0x4f, 0x52, 0x44, 0x45, 0x52, 0x5f, 0x50, 0x41, 0x54, 0x52, 0x4f, 0x4c, + 0x10, 0x1d, 0x12, 0x2a, 0x0a, 0x26, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4e, 0x49, 0x54, 0x5f, + 0x4f, 0x52, 0x44, 0x45, 0x52, 0x5f, 0x56, 0x45, 0x43, 0x54, 0x4f, 0x52, 0x5f, 0x54, 0x41, 0x52, + 0x47, 0x45, 0x54, 0x5f, 0x50, 0x4f, 0x53, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x1e, 0x12, 0x19, + 0x0a, 0x15, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4e, 0x49, 0x54, 0x5f, 0x4f, 0x52, 0x44, 0x45, + 0x52, 0x5f, 0x52, 0x41, 0x44, 0x41, 0x52, 0x10, 0x1f, 0x12, 0x29, 0x0a, 0x25, 0x44, 0x4f, 0x54, + 0x41, 0x5f, 0x55, 0x4e, 0x49, 0x54, 0x5f, 0x4f, 0x52, 0x44, 0x45, 0x52, 0x5f, 0x53, 0x45, 0x54, + 0x5f, 0x49, 0x54, 0x45, 0x4d, 0x5f, 0x43, 0x4f, 0x4d, 0x42, 0x49, 0x4e, 0x45, 0x5f, 0x4c, 0x4f, + 0x43, 0x4b, 0x10, 0x20, 0x12, 0x1c, 0x0a, 0x18, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4e, 0x49, + 0x54, 0x5f, 0x4f, 0x52, 0x44, 0x45, 0x52, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x49, 0x4e, 0x55, 0x45, + 0x10, 0x21, 0x12, 0x2a, 0x0a, 0x26, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4e, 0x49, 0x54, 0x5f, + 0x4f, 0x52, 0x44, 0x45, 0x52, 0x5f, 0x56, 0x45, 0x43, 0x54, 0x4f, 0x52, 0x5f, 0x54, 0x41, 0x52, + 0x47, 0x45, 0x54, 0x5f, 0x43, 0x41, 0x4e, 0x43, 0x45, 0x4c, 0x45, 0x44, 0x10, 0x22, 0x12, 0x24, + 0x0a, 0x20, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4e, 0x49, 0x54, 0x5f, 0x4f, 0x52, 0x44, 0x45, + 0x52, 0x5f, 0x43, 0x41, 0x53, 0x54, 0x5f, 0x52, 0x49, 0x56, 0x45, 0x52, 0x5f, 0x50, 0x41, 0x49, + 0x4e, 0x54, 0x10, 0x23, 0x12, 0x32, 0x0a, 0x2e, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4e, 0x49, + 0x54, 0x5f, 0x4f, 0x52, 0x44, 0x45, 0x52, 0x5f, 0x50, 0x52, 0x45, 0x47, 0x41, 0x4d, 0x45, 0x5f, + 0x41, 0x44, 0x4a, 0x55, 0x53, 0x54, 0x5f, 0x49, 0x54, 0x45, 0x4d, 0x5f, 0x41, 0x53, 0x53, 0x49, + 0x47, 0x4e, 0x4d, 0x45, 0x4e, 0x54, 0x10, 0x24, 0x12, 0x29, 0x0a, 0x25, 0x44, 0x4f, 0x54, 0x41, + 0x5f, 0x55, 0x4e, 0x49, 0x54, 0x5f, 0x4f, 0x52, 0x44, 0x45, 0x52, 0x5f, 0x44, 0x52, 0x4f, 0x50, + 0x5f, 0x49, 0x54, 0x45, 0x4d, 0x5f, 0x41, 0x54, 0x5f, 0x46, 0x4f, 0x55, 0x4e, 0x54, 0x41, 0x49, + 0x4e, 0x10, 0x25, 0x12, 0x35, 0x0a, 0x31, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4e, 0x49, 0x54, + 0x5f, 0x4f, 0x52, 0x44, 0x45, 0x52, 0x5f, 0x54, 0x41, 0x4b, 0x45, 0x5f, 0x49, 0x54, 0x45, 0x4d, + 0x5f, 0x46, 0x52, 0x4f, 0x4d, 0x5f, 0x4e, 0x45, 0x55, 0x54, 0x52, 0x41, 0x4c, 0x5f, 0x49, 0x54, + 0x45, 0x4d, 0x5f, 0x53, 0x54, 0x41, 0x53, 0x48, 0x10, 0x26, 0x12, 0x21, 0x0a, 0x1d, 0x44, 0x4f, + 0x54, 0x41, 0x5f, 0x55, 0x4e, 0x49, 0x54, 0x5f, 0x4f, 0x52, 0x44, 0x45, 0x52, 0x5f, 0x4d, 0x4f, + 0x56, 0x45, 0x5f, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x56, 0x45, 0x10, 0x27, 0x2a, 0x8f, 0x01, + 0x0a, 0x1e, 0x45, 0x44, 0x4f, 0x54, 0x41, 0x56, 0x65, 0x72, 0x73, 0x75, 0x73, 0x53, 0x63, 0x65, + 0x6e, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, + 0x12, 0x24, 0x0a, 0x20, 0x56, 0x53, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x5f, 0x42, 0x45, + 0x48, 0x41, 0x56, 0x49, 0x4f, 0x52, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x5f, 0x41, 0x43, 0x54, 0x49, + 0x56, 0x49, 0x54, 0x59, 0x10, 0x01, 0x12, 0x21, 0x0a, 0x1d, 0x56, 0x53, 0x5f, 0x50, 0x4c, 0x41, + 0x59, 0x45, 0x52, 0x5f, 0x42, 0x45, 0x48, 0x41, 0x56, 0x49, 0x4f, 0x52, 0x5f, 0x43, 0x48, 0x41, + 0x54, 0x5f, 0x57, 0x48, 0x45, 0x45, 0x4c, 0x10, 0x02, 0x12, 0x24, 0x0a, 0x20, 0x56, 0x53, 0x5f, + 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x5f, 0x42, 0x45, 0x48, 0x41, 0x56, 0x49, 0x4f, 0x52, 0x5f, + 0x50, 0x4c, 0x41, 0x59, 0x42, 0x41, 0x43, 0x4b, 0x5f, 0x52, 0x41, 0x54, 0x45, 0x10, 0x03, 0x42, + 0x0d, 0x48, 0x01, 0x5a, 0x06, 0x2e, 0x2f, 0x64, 0x65, 0x6d, 0x6f, 0x80, 0x01, 0x00, +} + +var ( + file_dota_commonmessages_proto_rawDescOnce sync.Once + file_dota_commonmessages_proto_rawDescData = file_dota_commonmessages_proto_rawDesc +) + +func file_dota_commonmessages_proto_rawDescGZIP() []byte { + file_dota_commonmessages_proto_rawDescOnce.Do(func() { + file_dota_commonmessages_proto_rawDescData = protoimpl.X.CompressGZIP(file_dota_commonmessages_proto_rawDescData) + }) + return file_dota_commonmessages_proto_rawDescData +} + +var file_dota_commonmessages_proto_enumTypes = make([]protoimpl.EnumInfo, 4) +var file_dota_commonmessages_proto_msgTypes = make([]protoimpl.MessageInfo, 12) +var file_dota_commonmessages_proto_goTypes = []interface{}{ + (EPingSource)(0), // 0: EPingSource + (EDOTAStatPopupTypes)(0), // 1: EDOTAStatPopupTypes + (DotaunitorderT)(0), // 2: dotaunitorder_t + (EDOTAVersusScenePlayerBehavior)(0), // 3: EDOTAVersusScenePlayerBehavior + (*CDOTAMsg_LocationPing)(nil), // 4: CDOTAMsg_LocationPing + (*CDOTAMsg_ItemAlert)(nil), // 5: CDOTAMsg_ItemAlert + (*CDOTAMsg_MapLine)(nil), // 6: CDOTAMsg_MapLine + (*CDOTAMsg_WorldLine)(nil), // 7: CDOTAMsg_WorldLine + (*CDOTAMsg_SendStatPopup)(nil), // 8: CDOTAMsg_SendStatPopup + (*CDOTAMsg_DismissAllStatPopups)(nil), // 9: CDOTAMsg_DismissAllStatPopups + (*CDOTAMsg_CoachHUDPing)(nil), // 10: CDOTAMsg_CoachHUDPing + (*CDOTAMsg_UnitOrder)(nil), // 11: CDOTAMsg_UnitOrder + (*VersusScene_PlayActivity)(nil), // 12: VersusScene_PlayActivity + (*VersusScene_ChatWheel)(nil), // 13: VersusScene_ChatWheel + (*VersusScene_PlaybackRate)(nil), // 14: VersusScene_PlaybackRate + (*VersusScene_PlayActivity_ActivityInfo)(nil), // 15: VersusScene_PlayActivity.ActivityInfo + (*CMsgVector)(nil), // 16: CMsgVector +} +var file_dota_commonmessages_proto_depIdxs = []int32{ + 0, // 0: CDOTAMsg_LocationPing.ping_source:type_name -> EPingSource + 1, // 1: CDOTAMsg_SendStatPopup.style:type_name -> EDOTAStatPopupTypes + 2, // 2: CDOTAMsg_UnitOrder.order_type:type_name -> dotaunitorder_t + 16, // 3: CDOTAMsg_UnitOrder.position:type_name -> CMsgVector + 15, // 4: VersusScene_PlayActivity.activities:type_name -> VersusScene_PlayActivity.ActivityInfo + 5, // [5:5] is the sub-list for method output_type + 5, // [5:5] is the sub-list for method input_type + 5, // [5:5] is the sub-list for extension type_name + 5, // [5:5] is the sub-list for extension extendee + 0, // [0:5] is the sub-list for field type_name +} + +func init() { file_dota_commonmessages_proto_init() } +func file_dota_commonmessages_proto_init() { + if File_dota_commonmessages_proto != nil { + return + } + file_networkbasetypes_proto_init() + if !protoimpl.UnsafeEnabled { + file_dota_commonmessages_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAMsg_LocationPing); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_commonmessages_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAMsg_ItemAlert); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_commonmessages_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAMsg_MapLine); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_commonmessages_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAMsg_WorldLine); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_commonmessages_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAMsg_SendStatPopup); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_commonmessages_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAMsg_DismissAllStatPopups); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_commonmessages_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAMsg_CoachHUDPing); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_commonmessages_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAMsg_UnitOrder); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_commonmessages_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*VersusScene_PlayActivity); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_commonmessages_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*VersusScene_ChatWheel); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_commonmessages_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*VersusScene_PlaybackRate); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_commonmessages_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*VersusScene_PlayActivity_ActivityInfo); 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_dota_commonmessages_proto_rawDesc, + NumEnums: 4, + NumMessages: 12, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_dota_commonmessages_proto_goTypes, + DependencyIndexes: file_dota_commonmessages_proto_depIdxs, + EnumInfos: file_dota_commonmessages_proto_enumTypes, + MessageInfos: file_dota_commonmessages_proto_msgTypes, + }.Build() + File_dota_commonmessages_proto = out.File + file_dota_commonmessages_proto_rawDesc = nil + file_dota_commonmessages_proto_goTypes = nil + file_dota_commonmessages_proto_depIdxs = nil +} diff --git a/demo/dota_modifiers.pb.go b/demo/dota_modifiers.pb.go new file mode 100644 index 0000000..e71c473 --- /dev/null +++ b/demo/dota_modifiers.pb.go @@ -0,0 +1,671 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.0 +// protoc v3.21.2 +// source: dota_modifiers.proto + +package demo + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type DOTA_MODIFIER_ENTRY_TYPE int32 + +const ( + DOTA_MODIFIER_ENTRY_TYPE_DOTA_MODIFIER_ENTRY_TYPE_ACTIVE DOTA_MODIFIER_ENTRY_TYPE = 1 + DOTA_MODIFIER_ENTRY_TYPE_DOTA_MODIFIER_ENTRY_TYPE_REMOVED DOTA_MODIFIER_ENTRY_TYPE = 2 +) + +// Enum value maps for DOTA_MODIFIER_ENTRY_TYPE. +var ( + DOTA_MODIFIER_ENTRY_TYPE_name = map[int32]string{ + 1: "DOTA_MODIFIER_ENTRY_TYPE_ACTIVE", + 2: "DOTA_MODIFIER_ENTRY_TYPE_REMOVED", + } + DOTA_MODIFIER_ENTRY_TYPE_value = map[string]int32{ + "DOTA_MODIFIER_ENTRY_TYPE_ACTIVE": 1, + "DOTA_MODIFIER_ENTRY_TYPE_REMOVED": 2, + } +) + +func (x DOTA_MODIFIER_ENTRY_TYPE) Enum() *DOTA_MODIFIER_ENTRY_TYPE { + p := new(DOTA_MODIFIER_ENTRY_TYPE) + *p = x + return p +} + +func (x DOTA_MODIFIER_ENTRY_TYPE) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (DOTA_MODIFIER_ENTRY_TYPE) Descriptor() protoreflect.EnumDescriptor { + return file_dota_modifiers_proto_enumTypes[0].Descriptor() +} + +func (DOTA_MODIFIER_ENTRY_TYPE) Type() protoreflect.EnumType { + return &file_dota_modifiers_proto_enumTypes[0] +} + +func (x DOTA_MODIFIER_ENTRY_TYPE) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Do not use. +func (x *DOTA_MODIFIER_ENTRY_TYPE) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err + } + *x = DOTA_MODIFIER_ENTRY_TYPE(num) + return nil +} + +// Deprecated: Use DOTA_MODIFIER_ENTRY_TYPE.Descriptor instead. +func (DOTA_MODIFIER_ENTRY_TYPE) EnumDescriptor() ([]byte, []int) { + return file_dota_modifiers_proto_rawDescGZIP(), []int{0} +} + +type CDOTAModifierBuffTableEntry struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + EntryType *DOTA_MODIFIER_ENTRY_TYPE `protobuf:"varint,1,req,name=entry_type,json=entryType,enum=DOTA_MODIFIER_ENTRY_TYPE,def=1" json:"entry_type,omitempty"` + Parent *uint32 `protobuf:"varint,2,req,name=parent" json:"parent,omitempty"` + Index *int32 `protobuf:"varint,3,req,name=index" json:"index,omitempty"` + SerialNum *int32 `protobuf:"varint,4,req,name=serial_num,json=serialNum" json:"serial_num,omitempty"` + ModifierClass *int32 `protobuf:"varint,5,opt,name=modifier_class,json=modifierClass" json:"modifier_class,omitempty"` + AbilityLevel *int32 `protobuf:"varint,6,opt,name=ability_level,json=abilityLevel" json:"ability_level,omitempty"` + StackCount *int32 `protobuf:"varint,7,opt,name=stack_count,json=stackCount" json:"stack_count,omitempty"` + CreationTime *float32 `protobuf:"fixed32,8,opt,name=creation_time,json=creationTime" json:"creation_time,omitempty"` + Duration *float32 `protobuf:"fixed32,9,opt,name=duration,def=-1" json:"duration,omitempty"` + Caster *uint32 `protobuf:"varint,10,opt,name=caster" json:"caster,omitempty"` + Ability *uint32 `protobuf:"varint,11,opt,name=ability" json:"ability,omitempty"` + Armor *int32 `protobuf:"varint,12,opt,name=armor" json:"armor,omitempty"` + FadeTime *float32 `protobuf:"fixed32,13,opt,name=fade_time,json=fadeTime" json:"fade_time,omitempty"` + Subtle *bool `protobuf:"varint,14,opt,name=subtle" json:"subtle,omitempty"` + ChannelTime *float32 `protobuf:"fixed32,15,opt,name=channel_time,json=channelTime" json:"channel_time,omitempty"` + VStart *CMsgVector `protobuf:"bytes,16,opt,name=v_start,json=vStart" json:"v_start,omitempty"` + VEnd *CMsgVector `protobuf:"bytes,17,opt,name=v_end,json=vEnd" json:"v_end,omitempty"` + PortalLoopAppear *string `protobuf:"bytes,18,opt,name=portal_loop_appear,json=portalLoopAppear" json:"portal_loop_appear,omitempty"` + PortalLoopDisappear *string `protobuf:"bytes,19,opt,name=portal_loop_disappear,json=portalLoopDisappear" json:"portal_loop_disappear,omitempty"` + HeroLoopAppear *string `protobuf:"bytes,20,opt,name=hero_loop_appear,json=heroLoopAppear" json:"hero_loop_appear,omitempty"` + HeroLoopDisappear *string `protobuf:"bytes,21,opt,name=hero_loop_disappear,json=heroLoopDisappear" json:"hero_loop_disappear,omitempty"` + MovementSpeed *int32 `protobuf:"varint,22,opt,name=movement_speed,json=movementSpeed" json:"movement_speed,omitempty"` + Aura *bool `protobuf:"varint,23,opt,name=aura" json:"aura,omitempty"` + Activity *int32 `protobuf:"varint,24,opt,name=activity" json:"activity,omitempty"` + Damage *int32 `protobuf:"varint,25,opt,name=damage" json:"damage,omitempty"` + Range *int32 `protobuf:"varint,26,opt,name=range" json:"range,omitempty"` + DdModifierIndex *int32 `protobuf:"varint,27,opt,name=dd_modifier_index,json=ddModifierIndex" json:"dd_modifier_index,omitempty"` + DdAbilityId *int32 `protobuf:"varint,28,opt,name=dd_ability_id,json=ddAbilityId" json:"dd_ability_id,omitempty"` + IllusionLabel *string `protobuf:"bytes,29,opt,name=illusion_label,json=illusionLabel" json:"illusion_label,omitempty"` + Active *bool `protobuf:"varint,30,opt,name=active" json:"active,omitempty"` + PlayerIds *string `protobuf:"bytes,31,opt,name=player_ids,json=playerIds" json:"player_ids,omitempty"` + LuaName *string `protobuf:"bytes,32,opt,name=lua_name,json=luaName" json:"lua_name,omitempty"` + AttackSpeed *int32 `protobuf:"varint,33,opt,name=attack_speed,json=attackSpeed" json:"attack_speed,omitempty"` + AuraOwner *uint32 `protobuf:"varint,34,opt,name=aura_owner,json=auraOwner" json:"aura_owner,omitempty"` + BonusAllStats *int32 `protobuf:"varint,35,opt,name=bonus_all_stats,json=bonusAllStats" json:"bonus_all_stats,omitempty"` + BonusHealth *int32 `protobuf:"varint,36,opt,name=bonus_health,json=bonusHealth" json:"bonus_health,omitempty"` + BonusMana *int32 `protobuf:"varint,37,opt,name=bonus_mana,json=bonusMana" json:"bonus_mana,omitempty"` + CustomEntity *uint32 `protobuf:"varint,38,opt,name=custom_entity,json=customEntity" json:"custom_entity,omitempty"` +} + +// Default values for CDOTAModifierBuffTableEntry fields. +const ( + Default_CDOTAModifierBuffTableEntry_EntryType = DOTA_MODIFIER_ENTRY_TYPE_DOTA_MODIFIER_ENTRY_TYPE_ACTIVE + Default_CDOTAModifierBuffTableEntry_Duration = float32(-1) +) + +func (x *CDOTAModifierBuffTableEntry) Reset() { + *x = CDOTAModifierBuffTableEntry{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_modifiers_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAModifierBuffTableEntry) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAModifierBuffTableEntry) ProtoMessage() {} + +func (x *CDOTAModifierBuffTableEntry) ProtoReflect() protoreflect.Message { + mi := &file_dota_modifiers_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CDOTAModifierBuffTableEntry.ProtoReflect.Descriptor instead. +func (*CDOTAModifierBuffTableEntry) Descriptor() ([]byte, []int) { + return file_dota_modifiers_proto_rawDescGZIP(), []int{0} +} + +func (x *CDOTAModifierBuffTableEntry) GetEntryType() DOTA_MODIFIER_ENTRY_TYPE { + if x != nil && x.EntryType != nil { + return *x.EntryType + } + return Default_CDOTAModifierBuffTableEntry_EntryType +} + +func (x *CDOTAModifierBuffTableEntry) GetParent() uint32 { + if x != nil && x.Parent != nil { + return *x.Parent + } + return 0 +} + +func (x *CDOTAModifierBuffTableEntry) GetIndex() int32 { + if x != nil && x.Index != nil { + return *x.Index + } + return 0 +} + +func (x *CDOTAModifierBuffTableEntry) GetSerialNum() int32 { + if x != nil && x.SerialNum != nil { + return *x.SerialNum + } + return 0 +} + +func (x *CDOTAModifierBuffTableEntry) GetModifierClass() int32 { + if x != nil && x.ModifierClass != nil { + return *x.ModifierClass + } + return 0 +} + +func (x *CDOTAModifierBuffTableEntry) GetAbilityLevel() int32 { + if x != nil && x.AbilityLevel != nil { + return *x.AbilityLevel + } + return 0 +} + +func (x *CDOTAModifierBuffTableEntry) GetStackCount() int32 { + if x != nil && x.StackCount != nil { + return *x.StackCount + } + return 0 +} + +func (x *CDOTAModifierBuffTableEntry) GetCreationTime() float32 { + if x != nil && x.CreationTime != nil { + return *x.CreationTime + } + return 0 +} + +func (x *CDOTAModifierBuffTableEntry) GetDuration() float32 { + if x != nil && x.Duration != nil { + return *x.Duration + } + return Default_CDOTAModifierBuffTableEntry_Duration +} + +func (x *CDOTAModifierBuffTableEntry) GetCaster() uint32 { + if x != nil && x.Caster != nil { + return *x.Caster + } + return 0 +} + +func (x *CDOTAModifierBuffTableEntry) GetAbility() uint32 { + if x != nil && x.Ability != nil { + return *x.Ability + } + return 0 +} + +func (x *CDOTAModifierBuffTableEntry) GetArmor() int32 { + if x != nil && x.Armor != nil { + return *x.Armor + } + return 0 +} + +func (x *CDOTAModifierBuffTableEntry) GetFadeTime() float32 { + if x != nil && x.FadeTime != nil { + return *x.FadeTime + } + return 0 +} + +func (x *CDOTAModifierBuffTableEntry) GetSubtle() bool { + if x != nil && x.Subtle != nil { + return *x.Subtle + } + return false +} + +func (x *CDOTAModifierBuffTableEntry) GetChannelTime() float32 { + if x != nil && x.ChannelTime != nil { + return *x.ChannelTime + } + return 0 +} + +func (x *CDOTAModifierBuffTableEntry) GetVStart() *CMsgVector { + if x != nil { + return x.VStart + } + return nil +} + +func (x *CDOTAModifierBuffTableEntry) GetVEnd() *CMsgVector { + if x != nil { + return x.VEnd + } + return nil +} + +func (x *CDOTAModifierBuffTableEntry) GetPortalLoopAppear() string { + if x != nil && x.PortalLoopAppear != nil { + return *x.PortalLoopAppear + } + return "" +} + +func (x *CDOTAModifierBuffTableEntry) GetPortalLoopDisappear() string { + if x != nil && x.PortalLoopDisappear != nil { + return *x.PortalLoopDisappear + } + return "" +} + +func (x *CDOTAModifierBuffTableEntry) GetHeroLoopAppear() string { + if x != nil && x.HeroLoopAppear != nil { + return *x.HeroLoopAppear + } + return "" +} + +func (x *CDOTAModifierBuffTableEntry) GetHeroLoopDisappear() string { + if x != nil && x.HeroLoopDisappear != nil { + return *x.HeroLoopDisappear + } + return "" +} + +func (x *CDOTAModifierBuffTableEntry) GetMovementSpeed() int32 { + if x != nil && x.MovementSpeed != nil { + return *x.MovementSpeed + } + return 0 +} + +func (x *CDOTAModifierBuffTableEntry) GetAura() bool { + if x != nil && x.Aura != nil { + return *x.Aura + } + return false +} + +func (x *CDOTAModifierBuffTableEntry) GetActivity() int32 { + if x != nil && x.Activity != nil { + return *x.Activity + } + return 0 +} + +func (x *CDOTAModifierBuffTableEntry) GetDamage() int32 { + if x != nil && x.Damage != nil { + return *x.Damage + } + return 0 +} + +func (x *CDOTAModifierBuffTableEntry) GetRange() int32 { + if x != nil && x.Range != nil { + return *x.Range + } + return 0 +} + +func (x *CDOTAModifierBuffTableEntry) GetDdModifierIndex() int32 { + if x != nil && x.DdModifierIndex != nil { + return *x.DdModifierIndex + } + return 0 +} + +func (x *CDOTAModifierBuffTableEntry) GetDdAbilityId() int32 { + if x != nil && x.DdAbilityId != nil { + return *x.DdAbilityId + } + return 0 +} + +func (x *CDOTAModifierBuffTableEntry) GetIllusionLabel() string { + if x != nil && x.IllusionLabel != nil { + return *x.IllusionLabel + } + return "" +} + +func (x *CDOTAModifierBuffTableEntry) GetActive() bool { + if x != nil && x.Active != nil { + return *x.Active + } + return false +} + +func (x *CDOTAModifierBuffTableEntry) GetPlayerIds() string { + if x != nil && x.PlayerIds != nil { + return *x.PlayerIds + } + return "" +} + +func (x *CDOTAModifierBuffTableEntry) GetLuaName() string { + if x != nil && x.LuaName != nil { + return *x.LuaName + } + return "" +} + +func (x *CDOTAModifierBuffTableEntry) GetAttackSpeed() int32 { + if x != nil && x.AttackSpeed != nil { + return *x.AttackSpeed + } + return 0 +} + +func (x *CDOTAModifierBuffTableEntry) GetAuraOwner() uint32 { + if x != nil && x.AuraOwner != nil { + return *x.AuraOwner + } + return 0 +} + +func (x *CDOTAModifierBuffTableEntry) GetBonusAllStats() int32 { + if x != nil && x.BonusAllStats != nil { + return *x.BonusAllStats + } + return 0 +} + +func (x *CDOTAModifierBuffTableEntry) GetBonusHealth() int32 { + if x != nil && x.BonusHealth != nil { + return *x.BonusHealth + } + return 0 +} + +func (x *CDOTAModifierBuffTableEntry) GetBonusMana() int32 { + if x != nil && x.BonusMana != nil { + return *x.BonusMana + } + return 0 +} + +func (x *CDOTAModifierBuffTableEntry) GetCustomEntity() uint32 { + if x != nil && x.CustomEntity != nil { + return *x.CustomEntity + } + return 0 +} + +type CDOTALuaModifierEntry struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ModifierType *int32 `protobuf:"varint,1,req,name=modifier_type,json=modifierType" json:"modifier_type,omitempty"` + ModifierFilename *string `protobuf:"bytes,2,req,name=modifier_filename,json=modifierFilename" json:"modifier_filename,omitempty"` +} + +func (x *CDOTALuaModifierEntry) Reset() { + *x = CDOTALuaModifierEntry{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_modifiers_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTALuaModifierEntry) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTALuaModifierEntry) ProtoMessage() {} + +func (x *CDOTALuaModifierEntry) ProtoReflect() protoreflect.Message { + mi := &file_dota_modifiers_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CDOTALuaModifierEntry.ProtoReflect.Descriptor instead. +func (*CDOTALuaModifierEntry) Descriptor() ([]byte, []int) { + return file_dota_modifiers_proto_rawDescGZIP(), []int{1} +} + +func (x *CDOTALuaModifierEntry) GetModifierType() int32 { + if x != nil && x.ModifierType != nil { + return *x.ModifierType + } + return 0 +} + +func (x *CDOTALuaModifierEntry) GetModifierFilename() string { + if x != nil && x.ModifierFilename != nil { + return *x.ModifierFilename + } + return "" +} + +var File_dota_modifiers_proto protoreflect.FileDescriptor + +var file_dota_modifiers_proto_rawDesc = []byte{ + 0x0a, 0x14, 0x64, 0x6f, 0x74, 0x61, 0x5f, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x72, 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, 0x22, 0xba, + 0x0a, 0x0a, 0x1b, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x72, + 0x42, 0x75, 0x66, 0x66, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x59, + 0x0a, 0x0a, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x02, + 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x4d, 0x4f, 0x44, 0x49, 0x46, 0x49, + 0x45, 0x52, 0x5f, 0x45, 0x4e, 0x54, 0x52, 0x59, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x3a, 0x1f, 0x44, + 0x4f, 0x54, 0x41, 0x5f, 0x4d, 0x4f, 0x44, 0x49, 0x46, 0x49, 0x45, 0x52, 0x5f, 0x45, 0x4e, 0x54, + 0x52, 0x59, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x52, 0x09, + 0x65, 0x6e, 0x74, 0x72, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, 0x72, + 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x02, 0x28, 0x0d, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, + 0x74, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x03, 0x20, 0x02, 0x28, 0x05, + 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x65, 0x72, 0x69, 0x61, + 0x6c, 0x5f, 0x6e, 0x75, 0x6d, 0x18, 0x04, 0x20, 0x02, 0x28, 0x05, 0x52, 0x09, 0x73, 0x65, 0x72, + 0x69, 0x61, 0x6c, 0x4e, 0x75, 0x6d, 0x12, 0x25, 0x0a, 0x0e, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, + 0x65, 0x72, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, + 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x72, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x23, 0x0a, + 0x0d, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x4c, 0x65, 0x76, + 0x65, 0x6c, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x5f, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x43, 0x6f, + 0x75, 0x6e, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x74, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0c, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x02, 0x3a, 0x02, 0x2d, 0x31, 0x52, 0x08, + 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x61, 0x73, 0x74, + 0x65, 0x72, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x63, 0x61, 0x73, 0x74, 0x65, 0x72, + 0x12, 0x18, 0x0a, 0x07, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x0b, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x07, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x72, + 0x6d, 0x6f, 0x72, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x61, 0x72, 0x6d, 0x6f, 0x72, + 0x12, 0x1b, 0x0a, 0x09, 0x66, 0x61, 0x64, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0d, 0x20, + 0x01, 0x28, 0x02, 0x52, 0x08, 0x66, 0x61, 0x64, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x16, 0x0a, + 0x06, 0x73, 0x75, 0x62, 0x74, 0x6c, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x73, + 0x75, 0x62, 0x74, 0x6c, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, + 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0b, 0x63, 0x68, 0x61, + 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x07, 0x76, 0x5f, 0x73, 0x74, + 0x61, 0x72, 0x74, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x43, 0x4d, 0x73, 0x67, + 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x06, 0x76, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x20, + 0x0a, 0x05, 0x76, 0x5f, 0x65, 0x6e, 0x64, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, + 0x43, 0x4d, 0x73, 0x67, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x04, 0x76, 0x45, 0x6e, 0x64, + 0x12, 0x2c, 0x0a, 0x12, 0x70, 0x6f, 0x72, 0x74, 0x61, 0x6c, 0x5f, 0x6c, 0x6f, 0x6f, 0x70, 0x5f, + 0x61, 0x70, 0x70, 0x65, 0x61, 0x72, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x70, 0x6f, + 0x72, 0x74, 0x61, 0x6c, 0x4c, 0x6f, 0x6f, 0x70, 0x41, 0x70, 0x70, 0x65, 0x61, 0x72, 0x12, 0x32, + 0x0a, 0x15, 0x70, 0x6f, 0x72, 0x74, 0x61, 0x6c, 0x5f, 0x6c, 0x6f, 0x6f, 0x70, 0x5f, 0x64, 0x69, + 0x73, 0x61, 0x70, 0x70, 0x65, 0x61, 0x72, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x70, + 0x6f, 0x72, 0x74, 0x61, 0x6c, 0x4c, 0x6f, 0x6f, 0x70, 0x44, 0x69, 0x73, 0x61, 0x70, 0x70, 0x65, + 0x61, 0x72, 0x12, 0x28, 0x0a, 0x10, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x6c, 0x6f, 0x6f, 0x70, 0x5f, + 0x61, 0x70, 0x70, 0x65, 0x61, 0x72, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x68, 0x65, + 0x72, 0x6f, 0x4c, 0x6f, 0x6f, 0x70, 0x41, 0x70, 0x70, 0x65, 0x61, 0x72, 0x12, 0x2e, 0x0a, 0x13, + 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x6c, 0x6f, 0x6f, 0x70, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x70, 0x70, + 0x65, 0x61, 0x72, 0x18, 0x15, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x68, 0x65, 0x72, 0x6f, 0x4c, + 0x6f, 0x6f, 0x70, 0x44, 0x69, 0x73, 0x61, 0x70, 0x70, 0x65, 0x61, 0x72, 0x12, 0x25, 0x0a, 0x0e, + 0x6d, 0x6f, 0x76, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x70, 0x65, 0x65, 0x64, 0x18, 0x16, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x6d, 0x6f, 0x76, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x70, + 0x65, 0x65, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x61, 0x75, 0x72, 0x61, 0x18, 0x17, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x04, 0x61, 0x75, 0x72, 0x61, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x63, 0x74, 0x69, 0x76, + 0x69, 0x74, 0x79, 0x18, 0x18, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x61, 0x63, 0x74, 0x69, 0x76, + 0x69, 0x74, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x19, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x06, 0x64, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x72, + 0x61, 0x6e, 0x67, 0x65, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x72, 0x61, 0x6e, 0x67, + 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x64, 0x64, 0x5f, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x72, + 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x64, 0x64, + 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x72, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x22, 0x0a, + 0x0d, 0x64, 0x64, 0x5f, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x1c, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x64, 0x64, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x49, + 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x69, 0x6c, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6c, 0x61, + 0x62, 0x65, 0x6c, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x69, 0x6c, 0x6c, 0x75, 0x73, + 0x69, 0x6f, 0x6e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, + 0x76, 0x65, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, + 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x1f, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x73, 0x12, + 0x19, 0x0a, 0x08, 0x6c, 0x75, 0x61, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x20, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x6c, 0x75, 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x74, + 0x74, 0x61, 0x63, 0x6b, 0x5f, 0x73, 0x70, 0x65, 0x65, 0x64, 0x18, 0x21, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x0b, 0x61, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x53, 0x70, 0x65, 0x65, 0x64, 0x12, 0x1d, 0x0a, + 0x0a, 0x61, 0x75, 0x72, 0x61, 0x5f, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x22, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x09, 0x61, 0x75, 0x72, 0x61, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x26, 0x0a, 0x0f, + 0x62, 0x6f, 0x6e, 0x75, 0x73, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, + 0x23, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x62, 0x6f, 0x6e, 0x75, 0x73, 0x41, 0x6c, 0x6c, 0x53, + 0x74, 0x61, 0x74, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x62, 0x6f, 0x6e, 0x75, 0x73, 0x5f, 0x68, 0x65, + 0x61, 0x6c, 0x74, 0x68, 0x18, 0x24, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x62, 0x6f, 0x6e, 0x75, + 0x73, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x6f, 0x6e, 0x75, 0x73, + 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x18, 0x25, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x62, 0x6f, 0x6e, + 0x75, 0x73, 0x4d, 0x61, 0x6e, 0x61, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, + 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x26, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x63, + 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x22, 0x69, 0x0a, 0x15, 0x43, + 0x44, 0x4f, 0x54, 0x41, 0x4c, 0x75, 0x61, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x72, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x72, + 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x02, 0x28, 0x05, 0x52, 0x0c, 0x6d, 0x6f, 0x64, + 0x69, 0x66, 0x69, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x6d, 0x6f, 0x64, + 0x69, 0x66, 0x69, 0x65, 0x72, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, + 0x20, 0x02, 0x28, 0x09, 0x52, 0x10, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x72, 0x46, 0x69, + 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x2a, 0x65, 0x0a, 0x18, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x4d, + 0x4f, 0x44, 0x49, 0x46, 0x49, 0x45, 0x52, 0x5f, 0x45, 0x4e, 0x54, 0x52, 0x59, 0x5f, 0x54, 0x59, + 0x50, 0x45, 0x12, 0x23, 0x0a, 0x1f, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x4d, 0x4f, 0x44, 0x49, 0x46, + 0x49, 0x45, 0x52, 0x5f, 0x45, 0x4e, 0x54, 0x52, 0x59, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x41, + 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x01, 0x12, 0x24, 0x0a, 0x20, 0x44, 0x4f, 0x54, 0x41, 0x5f, + 0x4d, 0x4f, 0x44, 0x49, 0x46, 0x49, 0x45, 0x52, 0x5f, 0x45, 0x4e, 0x54, 0x52, 0x59, 0x5f, 0x54, + 0x59, 0x50, 0x45, 0x5f, 0x52, 0x45, 0x4d, 0x4f, 0x56, 0x45, 0x44, 0x10, 0x02, 0x42, 0x0d, 0x48, + 0x01, 0x5a, 0x06, 0x2e, 0x2f, 0x64, 0x65, 0x6d, 0x6f, 0x80, 0x01, 0x00, +} + +var ( + file_dota_modifiers_proto_rawDescOnce sync.Once + file_dota_modifiers_proto_rawDescData = file_dota_modifiers_proto_rawDesc +) + +func file_dota_modifiers_proto_rawDescGZIP() []byte { + file_dota_modifiers_proto_rawDescOnce.Do(func() { + file_dota_modifiers_proto_rawDescData = protoimpl.X.CompressGZIP(file_dota_modifiers_proto_rawDescData) + }) + return file_dota_modifiers_proto_rawDescData +} + +var file_dota_modifiers_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_dota_modifiers_proto_msgTypes = make([]protoimpl.MessageInfo, 2) +var file_dota_modifiers_proto_goTypes = []interface{}{ + (DOTA_MODIFIER_ENTRY_TYPE)(0), // 0: DOTA_MODIFIER_ENTRY_TYPE + (*CDOTAModifierBuffTableEntry)(nil), // 1: CDOTAModifierBuffTableEntry + (*CDOTALuaModifierEntry)(nil), // 2: CDOTALuaModifierEntry + (*CMsgVector)(nil), // 3: CMsgVector +} +var file_dota_modifiers_proto_depIdxs = []int32{ + 0, // 0: CDOTAModifierBuffTableEntry.entry_type:type_name -> DOTA_MODIFIER_ENTRY_TYPE + 3, // 1: CDOTAModifierBuffTableEntry.v_start:type_name -> CMsgVector + 3, // 2: CDOTAModifierBuffTableEntry.v_end:type_name -> CMsgVector + 3, // [3:3] is the sub-list for method output_type + 3, // [3:3] is the sub-list for method input_type + 3, // [3:3] is the sub-list for extension type_name + 3, // [3:3] is the sub-list for extension extendee + 0, // [0:3] is the sub-list for field type_name +} + +func init() { file_dota_modifiers_proto_init() } +func file_dota_modifiers_proto_init() { + if File_dota_modifiers_proto != nil { + return + } + file_networkbasetypes_proto_init() + if !protoimpl.UnsafeEnabled { + file_dota_modifiers_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAModifierBuffTableEntry); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_modifiers_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTALuaModifierEntry); 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_dota_modifiers_proto_rawDesc, + NumEnums: 1, + NumMessages: 2, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_dota_modifiers_proto_goTypes, + DependencyIndexes: file_dota_modifiers_proto_depIdxs, + EnumInfos: file_dota_modifiers_proto_enumTypes, + MessageInfos: file_dota_modifiers_proto_msgTypes, + }.Build() + File_dota_modifiers_proto = out.File + file_dota_modifiers_proto_rawDesc = nil + file_dota_modifiers_proto_goTypes = nil + file_dota_modifiers_proto_depIdxs = nil +} diff --git a/demo/dota_shared_enums.pb.go b/demo/dota_shared_enums.pb.go new file mode 100644 index 0000000..d6438fc --- /dev/null +++ b/demo/dota_shared_enums.pb.go @@ -0,0 +1,6336 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.0 +// protoc v3.21.2 +// source: dota_shared_enums.proto + +package demo + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type DOTA_GameMode int32 + +const ( + DOTA_GameMode_DOTA_GAMEMODE_NONE DOTA_GameMode = 0 + DOTA_GameMode_DOTA_GAMEMODE_AP DOTA_GameMode = 1 + DOTA_GameMode_DOTA_GAMEMODE_CM DOTA_GameMode = 2 + DOTA_GameMode_DOTA_GAMEMODE_RD DOTA_GameMode = 3 + DOTA_GameMode_DOTA_GAMEMODE_SD DOTA_GameMode = 4 + DOTA_GameMode_DOTA_GAMEMODE_AR DOTA_GameMode = 5 + DOTA_GameMode_DOTA_GAMEMODE_INTRO DOTA_GameMode = 6 + DOTA_GameMode_DOTA_GAMEMODE_HW DOTA_GameMode = 7 + DOTA_GameMode_DOTA_GAMEMODE_REVERSE_CM DOTA_GameMode = 8 + DOTA_GameMode_DOTA_GAMEMODE_XMAS DOTA_GameMode = 9 + DOTA_GameMode_DOTA_GAMEMODE_TUTORIAL DOTA_GameMode = 10 + DOTA_GameMode_DOTA_GAMEMODE_MO DOTA_GameMode = 11 + DOTA_GameMode_DOTA_GAMEMODE_LP DOTA_GameMode = 12 + DOTA_GameMode_DOTA_GAMEMODE_POOL1 DOTA_GameMode = 13 + DOTA_GameMode_DOTA_GAMEMODE_FH DOTA_GameMode = 14 + DOTA_GameMode_DOTA_GAMEMODE_CUSTOM DOTA_GameMode = 15 + DOTA_GameMode_DOTA_GAMEMODE_CD DOTA_GameMode = 16 + DOTA_GameMode_DOTA_GAMEMODE_BD DOTA_GameMode = 17 + DOTA_GameMode_DOTA_GAMEMODE_ABILITY_DRAFT DOTA_GameMode = 18 + DOTA_GameMode_DOTA_GAMEMODE_EVENT DOTA_GameMode = 19 + DOTA_GameMode_DOTA_GAMEMODE_ARDM DOTA_GameMode = 20 + DOTA_GameMode_DOTA_GAMEMODE_1V1MID DOTA_GameMode = 21 + DOTA_GameMode_DOTA_GAMEMODE_ALL_DRAFT DOTA_GameMode = 22 + DOTA_GameMode_DOTA_GAMEMODE_TURBO DOTA_GameMode = 23 + DOTA_GameMode_DOTA_GAMEMODE_MUTATION DOTA_GameMode = 24 + DOTA_GameMode_DOTA_GAMEMODE_COACHES_CHALLENGE DOTA_GameMode = 25 +) + +// Enum value maps for DOTA_GameMode. +var ( + DOTA_GameMode_name = map[int32]string{ + 0: "DOTA_GAMEMODE_NONE", + 1: "DOTA_GAMEMODE_AP", + 2: "DOTA_GAMEMODE_CM", + 3: "DOTA_GAMEMODE_RD", + 4: "DOTA_GAMEMODE_SD", + 5: "DOTA_GAMEMODE_AR", + 6: "DOTA_GAMEMODE_INTRO", + 7: "DOTA_GAMEMODE_HW", + 8: "DOTA_GAMEMODE_REVERSE_CM", + 9: "DOTA_GAMEMODE_XMAS", + 10: "DOTA_GAMEMODE_TUTORIAL", + 11: "DOTA_GAMEMODE_MO", + 12: "DOTA_GAMEMODE_LP", + 13: "DOTA_GAMEMODE_POOL1", + 14: "DOTA_GAMEMODE_FH", + 15: "DOTA_GAMEMODE_CUSTOM", + 16: "DOTA_GAMEMODE_CD", + 17: "DOTA_GAMEMODE_BD", + 18: "DOTA_GAMEMODE_ABILITY_DRAFT", + 19: "DOTA_GAMEMODE_EVENT", + 20: "DOTA_GAMEMODE_ARDM", + 21: "DOTA_GAMEMODE_1V1MID", + 22: "DOTA_GAMEMODE_ALL_DRAFT", + 23: "DOTA_GAMEMODE_TURBO", + 24: "DOTA_GAMEMODE_MUTATION", + 25: "DOTA_GAMEMODE_COACHES_CHALLENGE", + } + DOTA_GameMode_value = map[string]int32{ + "DOTA_GAMEMODE_NONE": 0, + "DOTA_GAMEMODE_AP": 1, + "DOTA_GAMEMODE_CM": 2, + "DOTA_GAMEMODE_RD": 3, + "DOTA_GAMEMODE_SD": 4, + "DOTA_GAMEMODE_AR": 5, + "DOTA_GAMEMODE_INTRO": 6, + "DOTA_GAMEMODE_HW": 7, + "DOTA_GAMEMODE_REVERSE_CM": 8, + "DOTA_GAMEMODE_XMAS": 9, + "DOTA_GAMEMODE_TUTORIAL": 10, + "DOTA_GAMEMODE_MO": 11, + "DOTA_GAMEMODE_LP": 12, + "DOTA_GAMEMODE_POOL1": 13, + "DOTA_GAMEMODE_FH": 14, + "DOTA_GAMEMODE_CUSTOM": 15, + "DOTA_GAMEMODE_CD": 16, + "DOTA_GAMEMODE_BD": 17, + "DOTA_GAMEMODE_ABILITY_DRAFT": 18, + "DOTA_GAMEMODE_EVENT": 19, + "DOTA_GAMEMODE_ARDM": 20, + "DOTA_GAMEMODE_1V1MID": 21, + "DOTA_GAMEMODE_ALL_DRAFT": 22, + "DOTA_GAMEMODE_TURBO": 23, + "DOTA_GAMEMODE_MUTATION": 24, + "DOTA_GAMEMODE_COACHES_CHALLENGE": 25, + } +) + +func (x DOTA_GameMode) Enum() *DOTA_GameMode { + p := new(DOTA_GameMode) + *p = x + return p +} + +func (x DOTA_GameMode) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (DOTA_GameMode) Descriptor() protoreflect.EnumDescriptor { + return file_dota_shared_enums_proto_enumTypes[0].Descriptor() +} + +func (DOTA_GameMode) Type() protoreflect.EnumType { + return &file_dota_shared_enums_proto_enumTypes[0] +} + +func (x DOTA_GameMode) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Do not use. +func (x *DOTA_GameMode) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err + } + *x = DOTA_GameMode(num) + return nil +} + +// Deprecated: Use DOTA_GameMode.Descriptor instead. +func (DOTA_GameMode) EnumDescriptor() ([]byte, []int) { + return file_dota_shared_enums_proto_rawDescGZIP(), []int{0} +} + +type DOTA_GameState int32 + +const ( + DOTA_GameState_DOTA_GAMERULES_STATE_INIT DOTA_GameState = 0 + DOTA_GameState_DOTA_GAMERULES_STATE_WAIT_FOR_PLAYERS_TO_LOAD DOTA_GameState = 1 + DOTA_GameState_DOTA_GAMERULES_STATE_HERO_SELECTION DOTA_GameState = 2 + DOTA_GameState_DOTA_GAMERULES_STATE_STRATEGY_TIME DOTA_GameState = 3 + DOTA_GameState_DOTA_GAMERULES_STATE_PRE_GAME DOTA_GameState = 4 + DOTA_GameState_DOTA_GAMERULES_STATE_GAME_IN_PROGRESS DOTA_GameState = 5 + DOTA_GameState_DOTA_GAMERULES_STATE_POST_GAME DOTA_GameState = 6 + DOTA_GameState_DOTA_GAMERULES_STATE_DISCONNECT DOTA_GameState = 7 + DOTA_GameState_DOTA_GAMERULES_STATE_TEAM_SHOWCASE DOTA_GameState = 8 + DOTA_GameState_DOTA_GAMERULES_STATE_CUSTOM_GAME_SETUP DOTA_GameState = 9 + DOTA_GameState_DOTA_GAMERULES_STATE_WAIT_FOR_MAP_TO_LOAD DOTA_GameState = 10 + DOTA_GameState_DOTA_GAMERULES_STATE_SCENARIO_SETUP DOTA_GameState = 11 + DOTA_GameState_DOTA_GAMERULES_STATE_LAST DOTA_GameState = 12 +) + +// Enum value maps for DOTA_GameState. +var ( + DOTA_GameState_name = map[int32]string{ + 0: "DOTA_GAMERULES_STATE_INIT", + 1: "DOTA_GAMERULES_STATE_WAIT_FOR_PLAYERS_TO_LOAD", + 2: "DOTA_GAMERULES_STATE_HERO_SELECTION", + 3: "DOTA_GAMERULES_STATE_STRATEGY_TIME", + 4: "DOTA_GAMERULES_STATE_PRE_GAME", + 5: "DOTA_GAMERULES_STATE_GAME_IN_PROGRESS", + 6: "DOTA_GAMERULES_STATE_POST_GAME", + 7: "DOTA_GAMERULES_STATE_DISCONNECT", + 8: "DOTA_GAMERULES_STATE_TEAM_SHOWCASE", + 9: "DOTA_GAMERULES_STATE_CUSTOM_GAME_SETUP", + 10: "DOTA_GAMERULES_STATE_WAIT_FOR_MAP_TO_LOAD", + 11: "DOTA_GAMERULES_STATE_SCENARIO_SETUP", + 12: "DOTA_GAMERULES_STATE_LAST", + } + DOTA_GameState_value = map[string]int32{ + "DOTA_GAMERULES_STATE_INIT": 0, + "DOTA_GAMERULES_STATE_WAIT_FOR_PLAYERS_TO_LOAD": 1, + "DOTA_GAMERULES_STATE_HERO_SELECTION": 2, + "DOTA_GAMERULES_STATE_STRATEGY_TIME": 3, + "DOTA_GAMERULES_STATE_PRE_GAME": 4, + "DOTA_GAMERULES_STATE_GAME_IN_PROGRESS": 5, + "DOTA_GAMERULES_STATE_POST_GAME": 6, + "DOTA_GAMERULES_STATE_DISCONNECT": 7, + "DOTA_GAMERULES_STATE_TEAM_SHOWCASE": 8, + "DOTA_GAMERULES_STATE_CUSTOM_GAME_SETUP": 9, + "DOTA_GAMERULES_STATE_WAIT_FOR_MAP_TO_LOAD": 10, + "DOTA_GAMERULES_STATE_SCENARIO_SETUP": 11, + "DOTA_GAMERULES_STATE_LAST": 12, + } +) + +func (x DOTA_GameState) Enum() *DOTA_GameState { + p := new(DOTA_GameState) + *p = x + return p +} + +func (x DOTA_GameState) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (DOTA_GameState) Descriptor() protoreflect.EnumDescriptor { + return file_dota_shared_enums_proto_enumTypes[1].Descriptor() +} + +func (DOTA_GameState) Type() protoreflect.EnumType { + return &file_dota_shared_enums_proto_enumTypes[1] +} + +func (x DOTA_GameState) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Do not use. +func (x *DOTA_GameState) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err + } + *x = DOTA_GameState(num) + return nil +} + +// Deprecated: Use DOTA_GameState.Descriptor instead. +func (DOTA_GameState) EnumDescriptor() ([]byte, []int) { + return file_dota_shared_enums_proto_rawDescGZIP(), []int{1} +} + +type DOTA_GC_TEAM int32 + +const ( + DOTA_GC_TEAM_DOTA_GC_TEAM_GOOD_GUYS DOTA_GC_TEAM = 0 + DOTA_GC_TEAM_DOTA_GC_TEAM_BAD_GUYS DOTA_GC_TEAM = 1 + DOTA_GC_TEAM_DOTA_GC_TEAM_BROADCASTER DOTA_GC_TEAM = 2 + DOTA_GC_TEAM_DOTA_GC_TEAM_SPECTATOR DOTA_GC_TEAM = 3 + DOTA_GC_TEAM_DOTA_GC_TEAM_PLAYER_POOL DOTA_GC_TEAM = 4 + DOTA_GC_TEAM_DOTA_GC_TEAM_NOTEAM DOTA_GC_TEAM = 5 + DOTA_GC_TEAM_DOTA_GC_TEAM_CUSTOM_1 DOTA_GC_TEAM = 6 + DOTA_GC_TEAM_DOTA_GC_TEAM_CUSTOM_2 DOTA_GC_TEAM = 7 + DOTA_GC_TEAM_DOTA_GC_TEAM_CUSTOM_3 DOTA_GC_TEAM = 8 + DOTA_GC_TEAM_DOTA_GC_TEAM_CUSTOM_4 DOTA_GC_TEAM = 9 + DOTA_GC_TEAM_DOTA_GC_TEAM_CUSTOM_5 DOTA_GC_TEAM = 10 + DOTA_GC_TEAM_DOTA_GC_TEAM_CUSTOM_6 DOTA_GC_TEAM = 11 + DOTA_GC_TEAM_DOTA_GC_TEAM_CUSTOM_7 DOTA_GC_TEAM = 12 + DOTA_GC_TEAM_DOTA_GC_TEAM_CUSTOM_8 DOTA_GC_TEAM = 13 + DOTA_GC_TEAM_DOTA_GC_TEAM_NEUTRALS DOTA_GC_TEAM = 14 +) + +// Enum value maps for DOTA_GC_TEAM. +var ( + DOTA_GC_TEAM_name = map[int32]string{ + 0: "DOTA_GC_TEAM_GOOD_GUYS", + 1: "DOTA_GC_TEAM_BAD_GUYS", + 2: "DOTA_GC_TEAM_BROADCASTER", + 3: "DOTA_GC_TEAM_SPECTATOR", + 4: "DOTA_GC_TEAM_PLAYER_POOL", + 5: "DOTA_GC_TEAM_NOTEAM", + 6: "DOTA_GC_TEAM_CUSTOM_1", + 7: "DOTA_GC_TEAM_CUSTOM_2", + 8: "DOTA_GC_TEAM_CUSTOM_3", + 9: "DOTA_GC_TEAM_CUSTOM_4", + 10: "DOTA_GC_TEAM_CUSTOM_5", + 11: "DOTA_GC_TEAM_CUSTOM_6", + 12: "DOTA_GC_TEAM_CUSTOM_7", + 13: "DOTA_GC_TEAM_CUSTOM_8", + 14: "DOTA_GC_TEAM_NEUTRALS", + } + DOTA_GC_TEAM_value = map[string]int32{ + "DOTA_GC_TEAM_GOOD_GUYS": 0, + "DOTA_GC_TEAM_BAD_GUYS": 1, + "DOTA_GC_TEAM_BROADCASTER": 2, + "DOTA_GC_TEAM_SPECTATOR": 3, + "DOTA_GC_TEAM_PLAYER_POOL": 4, + "DOTA_GC_TEAM_NOTEAM": 5, + "DOTA_GC_TEAM_CUSTOM_1": 6, + "DOTA_GC_TEAM_CUSTOM_2": 7, + "DOTA_GC_TEAM_CUSTOM_3": 8, + "DOTA_GC_TEAM_CUSTOM_4": 9, + "DOTA_GC_TEAM_CUSTOM_5": 10, + "DOTA_GC_TEAM_CUSTOM_6": 11, + "DOTA_GC_TEAM_CUSTOM_7": 12, + "DOTA_GC_TEAM_CUSTOM_8": 13, + "DOTA_GC_TEAM_NEUTRALS": 14, + } +) + +func (x DOTA_GC_TEAM) Enum() *DOTA_GC_TEAM { + p := new(DOTA_GC_TEAM) + *p = x + return p +} + +func (x DOTA_GC_TEAM) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (DOTA_GC_TEAM) Descriptor() protoreflect.EnumDescriptor { + return file_dota_shared_enums_proto_enumTypes[2].Descriptor() +} + +func (DOTA_GC_TEAM) Type() protoreflect.EnumType { + return &file_dota_shared_enums_proto_enumTypes[2] +} + +func (x DOTA_GC_TEAM) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Do not use. +func (x *DOTA_GC_TEAM) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err + } + *x = DOTA_GC_TEAM(num) + return nil +} + +// Deprecated: Use DOTA_GC_TEAM.Descriptor instead. +func (DOTA_GC_TEAM) EnumDescriptor() ([]byte, []int) { + return file_dota_shared_enums_proto_rawDescGZIP(), []int{2} +} + +type EEvent int32 + +const ( + EEvent_EVENT_ID_NONE EEvent = 0 + EEvent_EVENT_ID_DIRETIDE EEvent = 1 + EEvent_EVENT_ID_SPRING_FESTIVAL EEvent = 2 + EEvent_EVENT_ID_FROSTIVUS_2013 EEvent = 3 + EEvent_EVENT_ID_COMPENDIUM_2014 EEvent = 4 + EEvent_EVENT_ID_NEXON_PC_BANG EEvent = 5 + EEvent_EVENT_ID_PWRD_DAC_2015 EEvent = 6 + EEvent_EVENT_ID_NEW_BLOOM_2015 EEvent = 7 + EEvent_EVENT_ID_INTERNATIONAL_2015 EEvent = 8 + EEvent_EVENT_ID_FALL_MAJOR_2015 EEvent = 9 + EEvent_EVENT_ID_ORACLE_PA EEvent = 10 + EEvent_EVENT_ID_NEW_BLOOM_2015_PREBEAST EEvent = 11 + EEvent_EVENT_ID_FROSTIVUS EEvent = 12 + EEvent_EVENT_ID_WINTER_MAJOR_2016 EEvent = 13 + EEvent_EVENT_ID_INTERNATIONAL_2016 EEvent = 14 + EEvent_EVENT_ID_FALL_MAJOR_2016 EEvent = 15 + EEvent_EVENT_ID_WINTER_MAJOR_2017 EEvent = 16 + EEvent_EVENT_ID_NEW_BLOOM_2017 EEvent = 17 + EEvent_EVENT_ID_INTERNATIONAL_2017 EEvent = 18 + EEvent_EVENT_ID_PLUS_SUBSCRIPTION EEvent = 19 + EEvent_EVENT_ID_SINGLES_DAY_2017 EEvent = 20 + EEvent_EVENT_ID_FROSTIVUS_2017 EEvent = 21 + EEvent_EVENT_ID_INTERNATIONAL_2018 EEvent = 22 + EEvent_EVENT_ID_FROSTIVUS_2018 EEvent = 23 + EEvent_EVENT_ID_NEW_BLOOM_2019 EEvent = 24 + EEvent_EVENT_ID_INTERNATIONAL_2019 EEvent = 25 + EEvent_EVENT_ID_NEW_PLAYER_EXPERIENCE EEvent = 26 + EEvent_EVENT_ID_FROSTIVUS_2019 EEvent = 27 + EEvent_EVENT_ID_NEW_BLOOM_2020 EEvent = 28 + EEvent_EVENT_ID_INTERNATIONAL_2020 EEvent = 29 + EEvent_EVENT_ID_TEAM_FANDOM EEvent = 30 + EEvent_EVENT_ID_DIRETIDE_2020 EEvent = 31 + EEvent_EVENT_ID_SPRING_2021 EEvent = 32 + EEvent_EVENT_ID_FALL_2021 EEvent = 33 + EEvent_EVENT_ID_TEAM_FANDOM_FALL_2021 EEvent = 34 + EEvent_EVENT_ID_TEAM_2021_2022_TOUR2 EEvent = 35 + EEvent_EVENT_ID_INTERNATIONAL_2022 EEvent = 36 + EEvent_EVENT_ID_TEAM_2021_2022_TOUR3 EEvent = 37 + EEvent_EVENT_ID_TEAM_INTERNATIONAL_2022 EEvent = 38 +) + +// Enum value maps for EEvent. +var ( + EEvent_name = map[int32]string{ + 0: "EVENT_ID_NONE", + 1: "EVENT_ID_DIRETIDE", + 2: "EVENT_ID_SPRING_FESTIVAL", + 3: "EVENT_ID_FROSTIVUS_2013", + 4: "EVENT_ID_COMPENDIUM_2014", + 5: "EVENT_ID_NEXON_PC_BANG", + 6: "EVENT_ID_PWRD_DAC_2015", + 7: "EVENT_ID_NEW_BLOOM_2015", + 8: "EVENT_ID_INTERNATIONAL_2015", + 9: "EVENT_ID_FALL_MAJOR_2015", + 10: "EVENT_ID_ORACLE_PA", + 11: "EVENT_ID_NEW_BLOOM_2015_PREBEAST", + 12: "EVENT_ID_FROSTIVUS", + 13: "EVENT_ID_WINTER_MAJOR_2016", + 14: "EVENT_ID_INTERNATIONAL_2016", + 15: "EVENT_ID_FALL_MAJOR_2016", + 16: "EVENT_ID_WINTER_MAJOR_2017", + 17: "EVENT_ID_NEW_BLOOM_2017", + 18: "EVENT_ID_INTERNATIONAL_2017", + 19: "EVENT_ID_PLUS_SUBSCRIPTION", + 20: "EVENT_ID_SINGLES_DAY_2017", + 21: "EVENT_ID_FROSTIVUS_2017", + 22: "EVENT_ID_INTERNATIONAL_2018", + 23: "EVENT_ID_FROSTIVUS_2018", + 24: "EVENT_ID_NEW_BLOOM_2019", + 25: "EVENT_ID_INTERNATIONAL_2019", + 26: "EVENT_ID_NEW_PLAYER_EXPERIENCE", + 27: "EVENT_ID_FROSTIVUS_2019", + 28: "EVENT_ID_NEW_BLOOM_2020", + 29: "EVENT_ID_INTERNATIONAL_2020", + 30: "EVENT_ID_TEAM_FANDOM", + 31: "EVENT_ID_DIRETIDE_2020", + 32: "EVENT_ID_SPRING_2021", + 33: "EVENT_ID_FALL_2021", + 34: "EVENT_ID_TEAM_FANDOM_FALL_2021", + 35: "EVENT_ID_TEAM_2021_2022_TOUR2", + 36: "EVENT_ID_INTERNATIONAL_2022", + 37: "EVENT_ID_TEAM_2021_2022_TOUR3", + 38: "EVENT_ID_TEAM_INTERNATIONAL_2022", + } + EEvent_value = map[string]int32{ + "EVENT_ID_NONE": 0, + "EVENT_ID_DIRETIDE": 1, + "EVENT_ID_SPRING_FESTIVAL": 2, + "EVENT_ID_FROSTIVUS_2013": 3, + "EVENT_ID_COMPENDIUM_2014": 4, + "EVENT_ID_NEXON_PC_BANG": 5, + "EVENT_ID_PWRD_DAC_2015": 6, + "EVENT_ID_NEW_BLOOM_2015": 7, + "EVENT_ID_INTERNATIONAL_2015": 8, + "EVENT_ID_FALL_MAJOR_2015": 9, + "EVENT_ID_ORACLE_PA": 10, + "EVENT_ID_NEW_BLOOM_2015_PREBEAST": 11, + "EVENT_ID_FROSTIVUS": 12, + "EVENT_ID_WINTER_MAJOR_2016": 13, + "EVENT_ID_INTERNATIONAL_2016": 14, + "EVENT_ID_FALL_MAJOR_2016": 15, + "EVENT_ID_WINTER_MAJOR_2017": 16, + "EVENT_ID_NEW_BLOOM_2017": 17, + "EVENT_ID_INTERNATIONAL_2017": 18, + "EVENT_ID_PLUS_SUBSCRIPTION": 19, + "EVENT_ID_SINGLES_DAY_2017": 20, + "EVENT_ID_FROSTIVUS_2017": 21, + "EVENT_ID_INTERNATIONAL_2018": 22, + "EVENT_ID_FROSTIVUS_2018": 23, + "EVENT_ID_NEW_BLOOM_2019": 24, + "EVENT_ID_INTERNATIONAL_2019": 25, + "EVENT_ID_NEW_PLAYER_EXPERIENCE": 26, + "EVENT_ID_FROSTIVUS_2019": 27, + "EVENT_ID_NEW_BLOOM_2020": 28, + "EVENT_ID_INTERNATIONAL_2020": 29, + "EVENT_ID_TEAM_FANDOM": 30, + "EVENT_ID_DIRETIDE_2020": 31, + "EVENT_ID_SPRING_2021": 32, + "EVENT_ID_FALL_2021": 33, + "EVENT_ID_TEAM_FANDOM_FALL_2021": 34, + "EVENT_ID_TEAM_2021_2022_TOUR2": 35, + "EVENT_ID_INTERNATIONAL_2022": 36, + "EVENT_ID_TEAM_2021_2022_TOUR3": 37, + "EVENT_ID_TEAM_INTERNATIONAL_2022": 38, + } +) + +func (x EEvent) Enum() *EEvent { + p := new(EEvent) + *p = x + return p +} + +func (x EEvent) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (EEvent) Descriptor() protoreflect.EnumDescriptor { + return file_dota_shared_enums_proto_enumTypes[3].Descriptor() +} + +func (EEvent) Type() protoreflect.EnumType { + return &file_dota_shared_enums_proto_enumTypes[3] +} + +func (x EEvent) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Do not use. +func (x *EEvent) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err + } + *x = EEvent(num) + return nil +} + +// Deprecated: Use EEvent.Descriptor instead. +func (EEvent) EnumDescriptor() ([]byte, []int) { + return file_dota_shared_enums_proto_rawDescGZIP(), []int{3} +} + +type DOTALeaverStatusT int32 + +const ( + DOTALeaverStatusT_DOTA_LEAVER_NONE DOTALeaverStatusT = 0 + DOTALeaverStatusT_DOTA_LEAVER_DISCONNECTED DOTALeaverStatusT = 1 + DOTALeaverStatusT_DOTA_LEAVER_DISCONNECTED_TOO_LONG DOTALeaverStatusT = 2 + DOTALeaverStatusT_DOTA_LEAVER_ABANDONED DOTALeaverStatusT = 3 + DOTALeaverStatusT_DOTA_LEAVER_AFK DOTALeaverStatusT = 4 + DOTALeaverStatusT_DOTA_LEAVER_NEVER_CONNECTED DOTALeaverStatusT = 5 + DOTALeaverStatusT_DOTA_LEAVER_NEVER_CONNECTED_TOO_LONG DOTALeaverStatusT = 6 + DOTALeaverStatusT_DOTA_LEAVER_FAILED_TO_READY_UP DOTALeaverStatusT = 7 + DOTALeaverStatusT_DOTA_LEAVER_DECLINED DOTALeaverStatusT = 8 +) + +// Enum value maps for DOTALeaverStatusT. +var ( + DOTALeaverStatusT_name = map[int32]string{ + 0: "DOTA_LEAVER_NONE", + 1: "DOTA_LEAVER_DISCONNECTED", + 2: "DOTA_LEAVER_DISCONNECTED_TOO_LONG", + 3: "DOTA_LEAVER_ABANDONED", + 4: "DOTA_LEAVER_AFK", + 5: "DOTA_LEAVER_NEVER_CONNECTED", + 6: "DOTA_LEAVER_NEVER_CONNECTED_TOO_LONG", + 7: "DOTA_LEAVER_FAILED_TO_READY_UP", + 8: "DOTA_LEAVER_DECLINED", + } + DOTALeaverStatusT_value = map[string]int32{ + "DOTA_LEAVER_NONE": 0, + "DOTA_LEAVER_DISCONNECTED": 1, + "DOTA_LEAVER_DISCONNECTED_TOO_LONG": 2, + "DOTA_LEAVER_ABANDONED": 3, + "DOTA_LEAVER_AFK": 4, + "DOTA_LEAVER_NEVER_CONNECTED": 5, + "DOTA_LEAVER_NEVER_CONNECTED_TOO_LONG": 6, + "DOTA_LEAVER_FAILED_TO_READY_UP": 7, + "DOTA_LEAVER_DECLINED": 8, + } +) + +func (x DOTALeaverStatusT) Enum() *DOTALeaverStatusT { + p := new(DOTALeaverStatusT) + *p = x + return p +} + +func (x DOTALeaverStatusT) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (DOTALeaverStatusT) Descriptor() protoreflect.EnumDescriptor { + return file_dota_shared_enums_proto_enumTypes[4].Descriptor() +} + +func (DOTALeaverStatusT) Type() protoreflect.EnumType { + return &file_dota_shared_enums_proto_enumTypes[4] +} + +func (x DOTALeaverStatusT) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Do not use. +func (x *DOTALeaverStatusT) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err + } + *x = DOTALeaverStatusT(num) + return nil +} + +// Deprecated: Use DOTALeaverStatusT.Descriptor instead. +func (DOTALeaverStatusT) EnumDescriptor() ([]byte, []int) { + return file_dota_shared_enums_proto_rawDescGZIP(), []int{4} +} + +type DOTAConnectionStateT int32 + +const ( + DOTAConnectionStateT_DOTA_CONNECTION_STATE_UNKNOWN DOTAConnectionStateT = 0 + DOTAConnectionStateT_DOTA_CONNECTION_STATE_NOT_YET_CONNECTED DOTAConnectionStateT = 1 + DOTAConnectionStateT_DOTA_CONNECTION_STATE_CONNECTED DOTAConnectionStateT = 2 + DOTAConnectionStateT_DOTA_CONNECTION_STATE_DISCONNECTED DOTAConnectionStateT = 3 + DOTAConnectionStateT_DOTA_CONNECTION_STATE_ABANDONED DOTAConnectionStateT = 4 + DOTAConnectionStateT_DOTA_CONNECTION_STATE_LOADING DOTAConnectionStateT = 5 + DOTAConnectionStateT_DOTA_CONNECTION_STATE_FAILED DOTAConnectionStateT = 6 +) + +// Enum value maps for DOTAConnectionStateT. +var ( + DOTAConnectionStateT_name = map[int32]string{ + 0: "DOTA_CONNECTION_STATE_UNKNOWN", + 1: "DOTA_CONNECTION_STATE_NOT_YET_CONNECTED", + 2: "DOTA_CONNECTION_STATE_CONNECTED", + 3: "DOTA_CONNECTION_STATE_DISCONNECTED", + 4: "DOTA_CONNECTION_STATE_ABANDONED", + 5: "DOTA_CONNECTION_STATE_LOADING", + 6: "DOTA_CONNECTION_STATE_FAILED", + } + DOTAConnectionStateT_value = map[string]int32{ + "DOTA_CONNECTION_STATE_UNKNOWN": 0, + "DOTA_CONNECTION_STATE_NOT_YET_CONNECTED": 1, + "DOTA_CONNECTION_STATE_CONNECTED": 2, + "DOTA_CONNECTION_STATE_DISCONNECTED": 3, + "DOTA_CONNECTION_STATE_ABANDONED": 4, + "DOTA_CONNECTION_STATE_LOADING": 5, + "DOTA_CONNECTION_STATE_FAILED": 6, + } +) + +func (x DOTAConnectionStateT) Enum() *DOTAConnectionStateT { + p := new(DOTAConnectionStateT) + *p = x + return p +} + +func (x DOTAConnectionStateT) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (DOTAConnectionStateT) Descriptor() protoreflect.EnumDescriptor { + return file_dota_shared_enums_proto_enumTypes[5].Descriptor() +} + +func (DOTAConnectionStateT) Type() protoreflect.EnumType { + return &file_dota_shared_enums_proto_enumTypes[5] +} + +func (x DOTAConnectionStateT) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Do not use. +func (x *DOTAConnectionStateT) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err + } + *x = DOTAConnectionStateT(num) + return nil +} + +// Deprecated: Use DOTAConnectionStateT.Descriptor instead. +func (DOTAConnectionStateT) EnumDescriptor() ([]byte, []int) { + return file_dota_shared_enums_proto_rawDescGZIP(), []int{5} +} + +type Fantasy_Roles int32 + +const ( + Fantasy_Roles_FANTASY_ROLE_UNDEFINED Fantasy_Roles = 0 + Fantasy_Roles_FANTASY_ROLE_CORE Fantasy_Roles = 1 + Fantasy_Roles_FANTASY_ROLE_SUPPORT Fantasy_Roles = 2 + Fantasy_Roles_FANTASY_ROLE_OFFLANE Fantasy_Roles = 3 + Fantasy_Roles_FANTASY_ROLE_MID Fantasy_Roles = 4 +) + +// Enum value maps for Fantasy_Roles. +var ( + Fantasy_Roles_name = map[int32]string{ + 0: "FANTASY_ROLE_UNDEFINED", + 1: "FANTASY_ROLE_CORE", + 2: "FANTASY_ROLE_SUPPORT", + 3: "FANTASY_ROLE_OFFLANE", + 4: "FANTASY_ROLE_MID", + } + Fantasy_Roles_value = map[string]int32{ + "FANTASY_ROLE_UNDEFINED": 0, + "FANTASY_ROLE_CORE": 1, + "FANTASY_ROLE_SUPPORT": 2, + "FANTASY_ROLE_OFFLANE": 3, + "FANTASY_ROLE_MID": 4, + } +) + +func (x Fantasy_Roles) Enum() *Fantasy_Roles { + p := new(Fantasy_Roles) + *p = x + return p +} + +func (x Fantasy_Roles) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (Fantasy_Roles) Descriptor() protoreflect.EnumDescriptor { + return file_dota_shared_enums_proto_enumTypes[6].Descriptor() +} + +func (Fantasy_Roles) Type() protoreflect.EnumType { + return &file_dota_shared_enums_proto_enumTypes[6] +} + +func (x Fantasy_Roles) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Do not use. +func (x *Fantasy_Roles) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err + } + *x = Fantasy_Roles(num) + return nil +} + +// Deprecated: Use Fantasy_Roles.Descriptor instead. +func (Fantasy_Roles) EnumDescriptor() ([]byte, []int) { + return file_dota_shared_enums_proto_rawDescGZIP(), []int{6} +} + +type Fantasy_Team_Slots int32 + +const ( + Fantasy_Team_Slots_FANTASY_SLOT_NONE Fantasy_Team_Slots = 0 + Fantasy_Team_Slots_FANTASY_SLOT_CORE Fantasy_Team_Slots = 1 + Fantasy_Team_Slots_FANTASY_SLOT_SUPPORT Fantasy_Team_Slots = 2 + Fantasy_Team_Slots_FANTASY_SLOT_ANY Fantasy_Team_Slots = 3 + Fantasy_Team_Slots_FANTASY_SLOT_BENCH Fantasy_Team_Slots = 4 +) + +// Enum value maps for Fantasy_Team_Slots. +var ( + Fantasy_Team_Slots_name = map[int32]string{ + 0: "FANTASY_SLOT_NONE", + 1: "FANTASY_SLOT_CORE", + 2: "FANTASY_SLOT_SUPPORT", + 3: "FANTASY_SLOT_ANY", + 4: "FANTASY_SLOT_BENCH", + } + Fantasy_Team_Slots_value = map[string]int32{ + "FANTASY_SLOT_NONE": 0, + "FANTASY_SLOT_CORE": 1, + "FANTASY_SLOT_SUPPORT": 2, + "FANTASY_SLOT_ANY": 3, + "FANTASY_SLOT_BENCH": 4, + } +) + +func (x Fantasy_Team_Slots) Enum() *Fantasy_Team_Slots { + p := new(Fantasy_Team_Slots) + *p = x + return p +} + +func (x Fantasy_Team_Slots) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (Fantasy_Team_Slots) Descriptor() protoreflect.EnumDescriptor { + return file_dota_shared_enums_proto_enumTypes[7].Descriptor() +} + +func (Fantasy_Team_Slots) Type() protoreflect.EnumType { + return &file_dota_shared_enums_proto_enumTypes[7] +} + +func (x Fantasy_Team_Slots) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Do not use. +func (x *Fantasy_Team_Slots) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err + } + *x = Fantasy_Team_Slots(num) + return nil +} + +// Deprecated: Use Fantasy_Team_Slots.Descriptor instead. +func (Fantasy_Team_Slots) EnumDescriptor() ([]byte, []int) { + return file_dota_shared_enums_proto_rawDescGZIP(), []int{7} +} + +type Fantasy_Selection_Mode int32 + +const ( + Fantasy_Selection_Mode_FANTASY_SELECTION_INVALID Fantasy_Selection_Mode = 0 + Fantasy_Selection_Mode_FANTASY_SELECTION_LOCKED Fantasy_Selection_Mode = 1 + Fantasy_Selection_Mode_FANTASY_SELECTION_SHUFFLE Fantasy_Selection_Mode = 2 + Fantasy_Selection_Mode_FANTASY_SELECTION_FREE_PICK Fantasy_Selection_Mode = 3 + Fantasy_Selection_Mode_FANTASY_SELECTION_ENDED Fantasy_Selection_Mode = 4 + Fantasy_Selection_Mode_FANTASY_SELECTION_PRE_SEASON Fantasy_Selection_Mode = 5 + Fantasy_Selection_Mode_FANTASY_SELECTION_PRE_DRAFT Fantasy_Selection_Mode = 6 + Fantasy_Selection_Mode_FANTASY_SELECTION_DRAFTING Fantasy_Selection_Mode = 7 + Fantasy_Selection_Mode_FANTASY_SELECTION_REGULAR_SEASON Fantasy_Selection_Mode = 8 + Fantasy_Selection_Mode_FANTASY_SELECTION_CARD_BASED Fantasy_Selection_Mode = 9 +) + +// Enum value maps for Fantasy_Selection_Mode. +var ( + Fantasy_Selection_Mode_name = map[int32]string{ + 0: "FANTASY_SELECTION_INVALID", + 1: "FANTASY_SELECTION_LOCKED", + 2: "FANTASY_SELECTION_SHUFFLE", + 3: "FANTASY_SELECTION_FREE_PICK", + 4: "FANTASY_SELECTION_ENDED", + 5: "FANTASY_SELECTION_PRE_SEASON", + 6: "FANTASY_SELECTION_PRE_DRAFT", + 7: "FANTASY_SELECTION_DRAFTING", + 8: "FANTASY_SELECTION_REGULAR_SEASON", + 9: "FANTASY_SELECTION_CARD_BASED", + } + Fantasy_Selection_Mode_value = map[string]int32{ + "FANTASY_SELECTION_INVALID": 0, + "FANTASY_SELECTION_LOCKED": 1, + "FANTASY_SELECTION_SHUFFLE": 2, + "FANTASY_SELECTION_FREE_PICK": 3, + "FANTASY_SELECTION_ENDED": 4, + "FANTASY_SELECTION_PRE_SEASON": 5, + "FANTASY_SELECTION_PRE_DRAFT": 6, + "FANTASY_SELECTION_DRAFTING": 7, + "FANTASY_SELECTION_REGULAR_SEASON": 8, + "FANTASY_SELECTION_CARD_BASED": 9, + } +) + +func (x Fantasy_Selection_Mode) Enum() *Fantasy_Selection_Mode { + p := new(Fantasy_Selection_Mode) + *p = x + return p +} + +func (x Fantasy_Selection_Mode) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (Fantasy_Selection_Mode) Descriptor() protoreflect.EnumDescriptor { + return file_dota_shared_enums_proto_enumTypes[8].Descriptor() +} + +func (Fantasy_Selection_Mode) Type() protoreflect.EnumType { + return &file_dota_shared_enums_proto_enumTypes[8] +} + +func (x Fantasy_Selection_Mode) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Do not use. +func (x *Fantasy_Selection_Mode) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err + } + *x = Fantasy_Selection_Mode(num) + return nil +} + +// Deprecated: Use Fantasy_Selection_Mode.Descriptor instead. +func (Fantasy_Selection_Mode) EnumDescriptor() ([]byte, []int) { + return file_dota_shared_enums_proto_rawDescGZIP(), []int{8} +} + +type DOTAChatChannelTypeT int32 + +const ( + DOTAChatChannelTypeT_DOTAChannelType_Regional DOTAChatChannelTypeT = 0 + DOTAChatChannelTypeT_DOTAChannelType_Custom DOTAChatChannelTypeT = 1 + DOTAChatChannelTypeT_DOTAChannelType_Party DOTAChatChannelTypeT = 2 + DOTAChatChannelTypeT_DOTAChannelType_Lobby DOTAChatChannelTypeT = 3 + DOTAChatChannelTypeT_DOTAChannelType_Team DOTAChatChannelTypeT = 4 + DOTAChatChannelTypeT_DOTAChannelType_Guild DOTAChatChannelTypeT = 5 + DOTAChatChannelTypeT_DOTAChannelType_Fantasy DOTAChatChannelTypeT = 6 + DOTAChatChannelTypeT_DOTAChannelType_Whisper DOTAChatChannelTypeT = 7 + DOTAChatChannelTypeT_DOTAChannelType_Console DOTAChatChannelTypeT = 8 + DOTAChatChannelTypeT_DOTAChannelType_Tab DOTAChatChannelTypeT = 9 + DOTAChatChannelTypeT_DOTAChannelType_Invalid DOTAChatChannelTypeT = 10 + DOTAChatChannelTypeT_DOTAChannelType_GameAll DOTAChatChannelTypeT = 11 + DOTAChatChannelTypeT_DOTAChannelType_GameAllies DOTAChatChannelTypeT = 12 + DOTAChatChannelTypeT_DOTAChannelType_GameSpectator DOTAChatChannelTypeT = 13 + DOTAChatChannelTypeT_DOTAChannelType_GameCoaching DOTAChatChannelTypeT = 14 + DOTAChatChannelTypeT_DOTAChannelType_Cafe DOTAChatChannelTypeT = 15 + DOTAChatChannelTypeT_DOTAChannelType_CustomGame DOTAChatChannelTypeT = 16 + DOTAChatChannelTypeT_DOTAChannelType_Private DOTAChatChannelTypeT = 17 + DOTAChatChannelTypeT_DOTAChannelType_PostGame DOTAChatChannelTypeT = 18 + DOTAChatChannelTypeT_DOTAChannelType_BattleCup DOTAChatChannelTypeT = 19 + DOTAChatChannelTypeT_DOTAChannelType_HLTVSpectator DOTAChatChannelTypeT = 20 + DOTAChatChannelTypeT_DOTAChannelType_GameEvents DOTAChatChannelTypeT = 21 + DOTAChatChannelTypeT_DOTAChannelType_Trivia DOTAChatChannelTypeT = 22 + DOTAChatChannelTypeT_DOTAChannelType_NewPlayer DOTAChatChannelTypeT = 23 + DOTAChatChannelTypeT_DOTAChannelType_PrivateCoaching DOTAChatChannelTypeT = 24 +) + +// Enum value maps for DOTAChatChannelTypeT. +var ( + DOTAChatChannelTypeT_name = map[int32]string{ + 0: "DOTAChannelType_Regional", + 1: "DOTAChannelType_Custom", + 2: "DOTAChannelType_Party", + 3: "DOTAChannelType_Lobby", + 4: "DOTAChannelType_Team", + 5: "DOTAChannelType_Guild", + 6: "DOTAChannelType_Fantasy", + 7: "DOTAChannelType_Whisper", + 8: "DOTAChannelType_Console", + 9: "DOTAChannelType_Tab", + 10: "DOTAChannelType_Invalid", + 11: "DOTAChannelType_GameAll", + 12: "DOTAChannelType_GameAllies", + 13: "DOTAChannelType_GameSpectator", + 14: "DOTAChannelType_GameCoaching", + 15: "DOTAChannelType_Cafe", + 16: "DOTAChannelType_CustomGame", + 17: "DOTAChannelType_Private", + 18: "DOTAChannelType_PostGame", + 19: "DOTAChannelType_BattleCup", + 20: "DOTAChannelType_HLTVSpectator", + 21: "DOTAChannelType_GameEvents", + 22: "DOTAChannelType_Trivia", + 23: "DOTAChannelType_NewPlayer", + 24: "DOTAChannelType_PrivateCoaching", + } + DOTAChatChannelTypeT_value = map[string]int32{ + "DOTAChannelType_Regional": 0, + "DOTAChannelType_Custom": 1, + "DOTAChannelType_Party": 2, + "DOTAChannelType_Lobby": 3, + "DOTAChannelType_Team": 4, + "DOTAChannelType_Guild": 5, + "DOTAChannelType_Fantasy": 6, + "DOTAChannelType_Whisper": 7, + "DOTAChannelType_Console": 8, + "DOTAChannelType_Tab": 9, + "DOTAChannelType_Invalid": 10, + "DOTAChannelType_GameAll": 11, + "DOTAChannelType_GameAllies": 12, + "DOTAChannelType_GameSpectator": 13, + "DOTAChannelType_GameCoaching": 14, + "DOTAChannelType_Cafe": 15, + "DOTAChannelType_CustomGame": 16, + "DOTAChannelType_Private": 17, + "DOTAChannelType_PostGame": 18, + "DOTAChannelType_BattleCup": 19, + "DOTAChannelType_HLTVSpectator": 20, + "DOTAChannelType_GameEvents": 21, + "DOTAChannelType_Trivia": 22, + "DOTAChannelType_NewPlayer": 23, + "DOTAChannelType_PrivateCoaching": 24, + } +) + +func (x DOTAChatChannelTypeT) Enum() *DOTAChatChannelTypeT { + p := new(DOTAChatChannelTypeT) + *p = x + return p +} + +func (x DOTAChatChannelTypeT) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (DOTAChatChannelTypeT) Descriptor() protoreflect.EnumDescriptor { + return file_dota_shared_enums_proto_enumTypes[9].Descriptor() +} + +func (DOTAChatChannelTypeT) Type() protoreflect.EnumType { + return &file_dota_shared_enums_proto_enumTypes[9] +} + +func (x DOTAChatChannelTypeT) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Do not use. +func (x *DOTAChatChannelTypeT) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err + } + *x = DOTAChatChannelTypeT(num) + return nil +} + +// Deprecated: Use DOTAChatChannelTypeT.Descriptor instead. +func (DOTAChatChannelTypeT) EnumDescriptor() ([]byte, []int) { + return file_dota_shared_enums_proto_rawDescGZIP(), []int{9} +} + +type EChatSpecialPrivileges int32 + +const ( + EChatSpecialPrivileges_k_EChatSpecialPrivileges_None EChatSpecialPrivileges = 0 + EChatSpecialPrivileges_k_EChatSpecialPrivileges_Moderator EChatSpecialPrivileges = 1 + EChatSpecialPrivileges_k_EChatSpecialPrivileges_SuperModerator EChatSpecialPrivileges = 2 +) + +// Enum value maps for EChatSpecialPrivileges. +var ( + EChatSpecialPrivileges_name = map[int32]string{ + 0: "k_EChatSpecialPrivileges_None", + 1: "k_EChatSpecialPrivileges_Moderator", + 2: "k_EChatSpecialPrivileges_SuperModerator", + } + EChatSpecialPrivileges_value = map[string]int32{ + "k_EChatSpecialPrivileges_None": 0, + "k_EChatSpecialPrivileges_Moderator": 1, + "k_EChatSpecialPrivileges_SuperModerator": 2, + } +) + +func (x EChatSpecialPrivileges) Enum() *EChatSpecialPrivileges { + p := new(EChatSpecialPrivileges) + *p = x + return p +} + +func (x EChatSpecialPrivileges) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (EChatSpecialPrivileges) Descriptor() protoreflect.EnumDescriptor { + return file_dota_shared_enums_proto_enumTypes[10].Descriptor() +} + +func (EChatSpecialPrivileges) Type() protoreflect.EnumType { + return &file_dota_shared_enums_proto_enumTypes[10] +} + +func (x EChatSpecialPrivileges) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Do not use. +func (x *EChatSpecialPrivileges) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err + } + *x = EChatSpecialPrivileges(num) + return nil +} + +// Deprecated: Use EChatSpecialPrivileges.Descriptor instead. +func (EChatSpecialPrivileges) EnumDescriptor() ([]byte, []int) { + return file_dota_shared_enums_proto_rawDescGZIP(), []int{10} +} + +type EProfileCardSlotType int32 + +const ( + EProfileCardSlotType_k_EProfileCardSlotType_Empty EProfileCardSlotType = 0 + EProfileCardSlotType_k_EProfileCardSlotType_Stat EProfileCardSlotType = 1 + EProfileCardSlotType_k_EProfileCardSlotType_Trophy EProfileCardSlotType = 2 + EProfileCardSlotType_k_EProfileCardSlotType_Item EProfileCardSlotType = 3 + EProfileCardSlotType_k_EProfileCardSlotType_Hero EProfileCardSlotType = 4 + EProfileCardSlotType_k_EProfileCardSlotType_Emoticon EProfileCardSlotType = 5 + EProfileCardSlotType_k_EProfileCardSlotType_Team EProfileCardSlotType = 6 +) + +// Enum value maps for EProfileCardSlotType. +var ( + EProfileCardSlotType_name = map[int32]string{ + 0: "k_EProfileCardSlotType_Empty", + 1: "k_EProfileCardSlotType_Stat", + 2: "k_EProfileCardSlotType_Trophy", + 3: "k_EProfileCardSlotType_Item", + 4: "k_EProfileCardSlotType_Hero", + 5: "k_EProfileCardSlotType_Emoticon", + 6: "k_EProfileCardSlotType_Team", + } + EProfileCardSlotType_value = map[string]int32{ + "k_EProfileCardSlotType_Empty": 0, + "k_EProfileCardSlotType_Stat": 1, + "k_EProfileCardSlotType_Trophy": 2, + "k_EProfileCardSlotType_Item": 3, + "k_EProfileCardSlotType_Hero": 4, + "k_EProfileCardSlotType_Emoticon": 5, + "k_EProfileCardSlotType_Team": 6, + } +) + +func (x EProfileCardSlotType) Enum() *EProfileCardSlotType { + p := new(EProfileCardSlotType) + *p = x + return p +} + +func (x EProfileCardSlotType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (EProfileCardSlotType) Descriptor() protoreflect.EnumDescriptor { + return file_dota_shared_enums_proto_enumTypes[11].Descriptor() +} + +func (EProfileCardSlotType) Type() protoreflect.EnumType { + return &file_dota_shared_enums_proto_enumTypes[11] +} + +func (x EProfileCardSlotType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Do not use. +func (x *EProfileCardSlotType) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err + } + *x = EProfileCardSlotType(num) + return nil +} + +// Deprecated: Use EProfileCardSlotType.Descriptor instead. +func (EProfileCardSlotType) EnumDescriptor() ([]byte, []int) { + return file_dota_shared_enums_proto_rawDescGZIP(), []int{11} +} + +type EMatchGroupServerStatus int32 + +const ( + EMatchGroupServerStatus_k_EMatchGroupServerStatus_OK EMatchGroupServerStatus = 0 + EMatchGroupServerStatus_k_EMatchGroupServerStatus_LimitedAvailability EMatchGroupServerStatus = 1 + EMatchGroupServerStatus_k_EMatchGroupServerStatus_Offline EMatchGroupServerStatus = 2 +) + +// Enum value maps for EMatchGroupServerStatus. +var ( + EMatchGroupServerStatus_name = map[int32]string{ + 0: "k_EMatchGroupServerStatus_OK", + 1: "k_EMatchGroupServerStatus_LimitedAvailability", + 2: "k_EMatchGroupServerStatus_Offline", + } + EMatchGroupServerStatus_value = map[string]int32{ + "k_EMatchGroupServerStatus_OK": 0, + "k_EMatchGroupServerStatus_LimitedAvailability": 1, + "k_EMatchGroupServerStatus_Offline": 2, + } +) + +func (x EMatchGroupServerStatus) Enum() *EMatchGroupServerStatus { + p := new(EMatchGroupServerStatus) + *p = x + return p +} + +func (x EMatchGroupServerStatus) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (EMatchGroupServerStatus) Descriptor() protoreflect.EnumDescriptor { + return file_dota_shared_enums_proto_enumTypes[12].Descriptor() +} + +func (EMatchGroupServerStatus) Type() protoreflect.EnumType { + return &file_dota_shared_enums_proto_enumTypes[12] +} + +func (x EMatchGroupServerStatus) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Do not use. +func (x *EMatchGroupServerStatus) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err + } + *x = EMatchGroupServerStatus(num) + return nil +} + +// Deprecated: Use EMatchGroupServerStatus.Descriptor instead. +func (EMatchGroupServerStatus) EnumDescriptor() ([]byte, []int) { + return file_dota_shared_enums_proto_rawDescGZIP(), []int{12} +} + +type DOTA_CM_PICK int32 + +const ( + DOTA_CM_PICK_DOTA_CM_RANDOM DOTA_CM_PICK = 0 + DOTA_CM_PICK_DOTA_CM_GOOD_GUYS DOTA_CM_PICK = 1 + DOTA_CM_PICK_DOTA_CM_BAD_GUYS DOTA_CM_PICK = 2 +) + +// Enum value maps for DOTA_CM_PICK. +var ( + DOTA_CM_PICK_name = map[int32]string{ + 0: "DOTA_CM_RANDOM", + 1: "DOTA_CM_GOOD_GUYS", + 2: "DOTA_CM_BAD_GUYS", + } + DOTA_CM_PICK_value = map[string]int32{ + "DOTA_CM_RANDOM": 0, + "DOTA_CM_GOOD_GUYS": 1, + "DOTA_CM_BAD_GUYS": 2, + } +) + +func (x DOTA_CM_PICK) Enum() *DOTA_CM_PICK { + p := new(DOTA_CM_PICK) + *p = x + return p +} + +func (x DOTA_CM_PICK) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (DOTA_CM_PICK) Descriptor() protoreflect.EnumDescriptor { + return file_dota_shared_enums_proto_enumTypes[13].Descriptor() +} + +func (DOTA_CM_PICK) Type() protoreflect.EnumType { + return &file_dota_shared_enums_proto_enumTypes[13] +} + +func (x DOTA_CM_PICK) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Do not use. +func (x *DOTA_CM_PICK) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err + } + *x = DOTA_CM_PICK(num) + return nil +} + +// Deprecated: Use DOTA_CM_PICK.Descriptor instead. +func (DOTA_CM_PICK) EnumDescriptor() ([]byte, []int) { + return file_dota_shared_enums_proto_rawDescGZIP(), []int{13} +} + +type DOTALowPriorityBanType int32 + +const ( + DOTALowPriorityBanType_DOTA_LOW_PRIORITY_BAN_ABANDON DOTALowPriorityBanType = 0 + DOTALowPriorityBanType_DOTA_LOW_PRIORITY_BAN_REPORTS DOTALowPriorityBanType = 1 + DOTALowPriorityBanType_DOTA_LOW_PRIORITY_BAN_SECONDARY_ABANDON DOTALowPriorityBanType = 2 + DOTALowPriorityBanType_DOTA_LOW_PRIORITY_BAN_PRE_GAME_ROLE DOTALowPriorityBanType = 3 +) + +// Enum value maps for DOTALowPriorityBanType. +var ( + DOTALowPriorityBanType_name = map[int32]string{ + 0: "DOTA_LOW_PRIORITY_BAN_ABANDON", + 1: "DOTA_LOW_PRIORITY_BAN_REPORTS", + 2: "DOTA_LOW_PRIORITY_BAN_SECONDARY_ABANDON", + 3: "DOTA_LOW_PRIORITY_BAN_PRE_GAME_ROLE", + } + DOTALowPriorityBanType_value = map[string]int32{ + "DOTA_LOW_PRIORITY_BAN_ABANDON": 0, + "DOTA_LOW_PRIORITY_BAN_REPORTS": 1, + "DOTA_LOW_PRIORITY_BAN_SECONDARY_ABANDON": 2, + "DOTA_LOW_PRIORITY_BAN_PRE_GAME_ROLE": 3, + } +) + +func (x DOTALowPriorityBanType) Enum() *DOTALowPriorityBanType { + p := new(DOTALowPriorityBanType) + *p = x + return p +} + +func (x DOTALowPriorityBanType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (DOTALowPriorityBanType) Descriptor() protoreflect.EnumDescriptor { + return file_dota_shared_enums_proto_enumTypes[14].Descriptor() +} + +func (DOTALowPriorityBanType) Type() protoreflect.EnumType { + return &file_dota_shared_enums_proto_enumTypes[14] +} + +func (x DOTALowPriorityBanType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Do not use. +func (x *DOTALowPriorityBanType) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err + } + *x = DOTALowPriorityBanType(num) + return nil +} + +// Deprecated: Use DOTALowPriorityBanType.Descriptor instead. +func (DOTALowPriorityBanType) EnumDescriptor() ([]byte, []int) { + return file_dota_shared_enums_proto_rawDescGZIP(), []int{14} +} + +type DOTALobbyReadyState int32 + +const ( + DOTALobbyReadyState_DOTALobbyReadyState_UNDECLARED DOTALobbyReadyState = 0 + DOTALobbyReadyState_DOTALobbyReadyState_ACCEPTED DOTALobbyReadyState = 1 + DOTALobbyReadyState_DOTALobbyReadyState_DECLINED DOTALobbyReadyState = 2 +) + +// Enum value maps for DOTALobbyReadyState. +var ( + DOTALobbyReadyState_name = map[int32]string{ + 0: "DOTALobbyReadyState_UNDECLARED", + 1: "DOTALobbyReadyState_ACCEPTED", + 2: "DOTALobbyReadyState_DECLINED", + } + DOTALobbyReadyState_value = map[string]int32{ + "DOTALobbyReadyState_UNDECLARED": 0, + "DOTALobbyReadyState_ACCEPTED": 1, + "DOTALobbyReadyState_DECLINED": 2, + } +) + +func (x DOTALobbyReadyState) Enum() *DOTALobbyReadyState { + p := new(DOTALobbyReadyState) + *p = x + return p +} + +func (x DOTALobbyReadyState) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (DOTALobbyReadyState) Descriptor() protoreflect.EnumDescriptor { + return file_dota_shared_enums_proto_enumTypes[15].Descriptor() +} + +func (DOTALobbyReadyState) Type() protoreflect.EnumType { + return &file_dota_shared_enums_proto_enumTypes[15] +} + +func (x DOTALobbyReadyState) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Do not use. +func (x *DOTALobbyReadyState) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err + } + *x = DOTALobbyReadyState(num) + return nil +} + +// Deprecated: Use DOTALobbyReadyState.Descriptor instead. +func (DOTALobbyReadyState) EnumDescriptor() ([]byte, []int) { + return file_dota_shared_enums_proto_rawDescGZIP(), []int{15} +} + +type DOTAGameVersion int32 + +const ( + DOTAGameVersion_GAME_VERSION_CURRENT DOTAGameVersion = 0 + DOTAGameVersion_GAME_VERSION_STABLE DOTAGameVersion = 1 +) + +// Enum value maps for DOTAGameVersion. +var ( + DOTAGameVersion_name = map[int32]string{ + 0: "GAME_VERSION_CURRENT", + 1: "GAME_VERSION_STABLE", + } + DOTAGameVersion_value = map[string]int32{ + "GAME_VERSION_CURRENT": 0, + "GAME_VERSION_STABLE": 1, + } +) + +func (x DOTAGameVersion) Enum() *DOTAGameVersion { + p := new(DOTAGameVersion) + *p = x + return p +} + +func (x DOTAGameVersion) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (DOTAGameVersion) Descriptor() protoreflect.EnumDescriptor { + return file_dota_shared_enums_proto_enumTypes[16].Descriptor() +} + +func (DOTAGameVersion) Type() protoreflect.EnumType { + return &file_dota_shared_enums_proto_enumTypes[16] +} + +func (x DOTAGameVersion) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Do not use. +func (x *DOTAGameVersion) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err + } + *x = DOTAGameVersion(num) + return nil +} + +// Deprecated: Use DOTAGameVersion.Descriptor instead. +func (DOTAGameVersion) EnumDescriptor() ([]byte, []int) { + return file_dota_shared_enums_proto_rawDescGZIP(), []int{16} +} + +type DOTAJoinLobbyResult int32 + +const ( + DOTAJoinLobbyResult_DOTA_JOIN_RESULT_SUCCESS DOTAJoinLobbyResult = 0 + DOTAJoinLobbyResult_DOTA_JOIN_RESULT_ALREADY_IN_GAME DOTAJoinLobbyResult = 1 + DOTAJoinLobbyResult_DOTA_JOIN_RESULT_INVALID_LOBBY DOTAJoinLobbyResult = 2 + DOTAJoinLobbyResult_DOTA_JOIN_RESULT_INCORRECT_PASSWORD DOTAJoinLobbyResult = 3 + DOTAJoinLobbyResult_DOTA_JOIN_RESULT_ACCESS_DENIED DOTAJoinLobbyResult = 4 + DOTAJoinLobbyResult_DOTA_JOIN_RESULT_GENERIC_ERROR DOTAJoinLobbyResult = 5 + DOTAJoinLobbyResult_DOTA_JOIN_RESULT_INCORRECT_VERSION DOTAJoinLobbyResult = 6 + DOTAJoinLobbyResult_DOTA_JOIN_RESULT_IN_TEAM_PARTY DOTAJoinLobbyResult = 7 + DOTAJoinLobbyResult_DOTA_JOIN_RESULT_NO_LOBBY_FOUND DOTAJoinLobbyResult = 8 + DOTAJoinLobbyResult_DOTA_JOIN_RESULT_LOBBY_FULL DOTAJoinLobbyResult = 9 + DOTAJoinLobbyResult_DOTA_JOIN_RESULT_CUSTOM_GAME_INCORRECT_VERSION DOTAJoinLobbyResult = 10 + DOTAJoinLobbyResult_DOTA_JOIN_RESULT_TIMEOUT DOTAJoinLobbyResult = 11 + DOTAJoinLobbyResult_DOTA_JOIN_RESULT_CUSTOM_GAME_COOLDOWN DOTAJoinLobbyResult = 12 + DOTAJoinLobbyResult_DOTA_JOIN_RESULT_BUSY DOTAJoinLobbyResult = 13 + DOTAJoinLobbyResult_DOTA_JOIN_RESULT_NO_PLAYTIME DOTAJoinLobbyResult = 14 +) + +// Enum value maps for DOTAJoinLobbyResult. +var ( + DOTAJoinLobbyResult_name = map[int32]string{ + 0: "DOTA_JOIN_RESULT_SUCCESS", + 1: "DOTA_JOIN_RESULT_ALREADY_IN_GAME", + 2: "DOTA_JOIN_RESULT_INVALID_LOBBY", + 3: "DOTA_JOIN_RESULT_INCORRECT_PASSWORD", + 4: "DOTA_JOIN_RESULT_ACCESS_DENIED", + 5: "DOTA_JOIN_RESULT_GENERIC_ERROR", + 6: "DOTA_JOIN_RESULT_INCORRECT_VERSION", + 7: "DOTA_JOIN_RESULT_IN_TEAM_PARTY", + 8: "DOTA_JOIN_RESULT_NO_LOBBY_FOUND", + 9: "DOTA_JOIN_RESULT_LOBBY_FULL", + 10: "DOTA_JOIN_RESULT_CUSTOM_GAME_INCORRECT_VERSION", + 11: "DOTA_JOIN_RESULT_TIMEOUT", + 12: "DOTA_JOIN_RESULT_CUSTOM_GAME_COOLDOWN", + 13: "DOTA_JOIN_RESULT_BUSY", + 14: "DOTA_JOIN_RESULT_NO_PLAYTIME", + } + DOTAJoinLobbyResult_value = map[string]int32{ + "DOTA_JOIN_RESULT_SUCCESS": 0, + "DOTA_JOIN_RESULT_ALREADY_IN_GAME": 1, + "DOTA_JOIN_RESULT_INVALID_LOBBY": 2, + "DOTA_JOIN_RESULT_INCORRECT_PASSWORD": 3, + "DOTA_JOIN_RESULT_ACCESS_DENIED": 4, + "DOTA_JOIN_RESULT_GENERIC_ERROR": 5, + "DOTA_JOIN_RESULT_INCORRECT_VERSION": 6, + "DOTA_JOIN_RESULT_IN_TEAM_PARTY": 7, + "DOTA_JOIN_RESULT_NO_LOBBY_FOUND": 8, + "DOTA_JOIN_RESULT_LOBBY_FULL": 9, + "DOTA_JOIN_RESULT_CUSTOM_GAME_INCORRECT_VERSION": 10, + "DOTA_JOIN_RESULT_TIMEOUT": 11, + "DOTA_JOIN_RESULT_CUSTOM_GAME_COOLDOWN": 12, + "DOTA_JOIN_RESULT_BUSY": 13, + "DOTA_JOIN_RESULT_NO_PLAYTIME": 14, + } +) + +func (x DOTAJoinLobbyResult) Enum() *DOTAJoinLobbyResult { + p := new(DOTAJoinLobbyResult) + *p = x + return p +} + +func (x DOTAJoinLobbyResult) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (DOTAJoinLobbyResult) Descriptor() protoreflect.EnumDescriptor { + return file_dota_shared_enums_proto_enumTypes[17].Descriptor() +} + +func (DOTAJoinLobbyResult) Type() protoreflect.EnumType { + return &file_dota_shared_enums_proto_enumTypes[17] +} + +func (x DOTAJoinLobbyResult) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Do not use. +func (x *DOTAJoinLobbyResult) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err + } + *x = DOTAJoinLobbyResult(num) + return nil +} + +// Deprecated: Use DOTAJoinLobbyResult.Descriptor instead. +func (DOTAJoinLobbyResult) EnumDescriptor() ([]byte, []int) { + return file_dota_shared_enums_proto_rawDescGZIP(), []int{17} +} + +type DOTASelectionPriorityRules int32 + +const ( + DOTASelectionPriorityRules_k_DOTASelectionPriorityRules_Manual DOTASelectionPriorityRules = 0 + DOTASelectionPriorityRules_k_DOTASelectionPriorityRules_Automatic DOTASelectionPriorityRules = 1 +) + +// Enum value maps for DOTASelectionPriorityRules. +var ( + DOTASelectionPriorityRules_name = map[int32]string{ + 0: "k_DOTASelectionPriorityRules_Manual", + 1: "k_DOTASelectionPriorityRules_Automatic", + } + DOTASelectionPriorityRules_value = map[string]int32{ + "k_DOTASelectionPriorityRules_Manual": 0, + "k_DOTASelectionPriorityRules_Automatic": 1, + } +) + +func (x DOTASelectionPriorityRules) Enum() *DOTASelectionPriorityRules { + p := new(DOTASelectionPriorityRules) + *p = x + return p +} + +func (x DOTASelectionPriorityRules) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (DOTASelectionPriorityRules) Descriptor() protoreflect.EnumDescriptor { + return file_dota_shared_enums_proto_enumTypes[18].Descriptor() +} + +func (DOTASelectionPriorityRules) Type() protoreflect.EnumType { + return &file_dota_shared_enums_proto_enumTypes[18] +} + +func (x DOTASelectionPriorityRules) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Do not use. +func (x *DOTASelectionPriorityRules) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err + } + *x = DOTASelectionPriorityRules(num) + return nil +} + +// Deprecated: Use DOTASelectionPriorityRules.Descriptor instead. +func (DOTASelectionPriorityRules) EnumDescriptor() ([]byte, []int) { + return file_dota_shared_enums_proto_rawDescGZIP(), []int{18} +} + +type DOTASelectionPriorityChoice int32 + +const ( + DOTASelectionPriorityChoice_k_DOTASelectionPriorityChoice_Invalid DOTASelectionPriorityChoice = 0 + DOTASelectionPriorityChoice_k_DOTASelectionPriorityChoice_FirstPick DOTASelectionPriorityChoice = 1 + DOTASelectionPriorityChoice_k_DOTASelectionPriorityChoice_SecondPick DOTASelectionPriorityChoice = 2 + DOTASelectionPriorityChoice_k_DOTASelectionPriorityChoice_Radiant DOTASelectionPriorityChoice = 3 + DOTASelectionPriorityChoice_k_DOTASelectionPriorityChoice_Dire DOTASelectionPriorityChoice = 4 +) + +// Enum value maps for DOTASelectionPriorityChoice. +var ( + DOTASelectionPriorityChoice_name = map[int32]string{ + 0: "k_DOTASelectionPriorityChoice_Invalid", + 1: "k_DOTASelectionPriorityChoice_FirstPick", + 2: "k_DOTASelectionPriorityChoice_SecondPick", + 3: "k_DOTASelectionPriorityChoice_Radiant", + 4: "k_DOTASelectionPriorityChoice_Dire", + } + DOTASelectionPriorityChoice_value = map[string]int32{ + "k_DOTASelectionPriorityChoice_Invalid": 0, + "k_DOTASelectionPriorityChoice_FirstPick": 1, + "k_DOTASelectionPriorityChoice_SecondPick": 2, + "k_DOTASelectionPriorityChoice_Radiant": 3, + "k_DOTASelectionPriorityChoice_Dire": 4, + } +) + +func (x DOTASelectionPriorityChoice) Enum() *DOTASelectionPriorityChoice { + p := new(DOTASelectionPriorityChoice) + *p = x + return p +} + +func (x DOTASelectionPriorityChoice) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (DOTASelectionPriorityChoice) Descriptor() protoreflect.EnumDescriptor { + return file_dota_shared_enums_proto_enumTypes[19].Descriptor() +} + +func (DOTASelectionPriorityChoice) Type() protoreflect.EnumType { + return &file_dota_shared_enums_proto_enumTypes[19] +} + +func (x DOTASelectionPriorityChoice) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Do not use. +func (x *DOTASelectionPriorityChoice) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err + } + *x = DOTASelectionPriorityChoice(num) + return nil +} + +// Deprecated: Use DOTASelectionPriorityChoice.Descriptor instead. +func (DOTASelectionPriorityChoice) EnumDescriptor() ([]byte, []int) { + return file_dota_shared_enums_proto_rawDescGZIP(), []int{19} +} + +type DOTAMatchVote int32 + +const ( + DOTAMatchVote_DOTAMatchVote_INVALID DOTAMatchVote = 0 + DOTAMatchVote_DOTAMatchVote_POSITIVE DOTAMatchVote = 1 + DOTAMatchVote_DOTAMatchVote_NEGATIVE DOTAMatchVote = 2 +) + +// Enum value maps for DOTAMatchVote. +var ( + DOTAMatchVote_name = map[int32]string{ + 0: "DOTAMatchVote_INVALID", + 1: "DOTAMatchVote_POSITIVE", + 2: "DOTAMatchVote_NEGATIVE", + } + DOTAMatchVote_value = map[string]int32{ + "DOTAMatchVote_INVALID": 0, + "DOTAMatchVote_POSITIVE": 1, + "DOTAMatchVote_NEGATIVE": 2, + } +) + +func (x DOTAMatchVote) Enum() *DOTAMatchVote { + p := new(DOTAMatchVote) + *p = x + return p +} + +func (x DOTAMatchVote) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (DOTAMatchVote) Descriptor() protoreflect.EnumDescriptor { + return file_dota_shared_enums_proto_enumTypes[20].Descriptor() +} + +func (DOTAMatchVote) Type() protoreflect.EnumType { + return &file_dota_shared_enums_proto_enumTypes[20] +} + +func (x DOTAMatchVote) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Do not use. +func (x *DOTAMatchVote) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err + } + *x = DOTAMatchVote(num) + return nil +} + +// Deprecated: Use DOTAMatchVote.Descriptor instead. +func (DOTAMatchVote) EnumDescriptor() ([]byte, []int) { + return file_dota_shared_enums_proto_rawDescGZIP(), []int{20} +} + +type DOTALobbyVisibility int32 + +const ( + DOTALobbyVisibility_DOTALobbyVisibility_Public DOTALobbyVisibility = 0 + DOTALobbyVisibility_DOTALobbyVisibility_Friends DOTALobbyVisibility = 1 + DOTALobbyVisibility_DOTALobbyVisibility_Unlisted DOTALobbyVisibility = 2 +) + +// Enum value maps for DOTALobbyVisibility. +var ( + DOTALobbyVisibility_name = map[int32]string{ + 0: "DOTALobbyVisibility_Public", + 1: "DOTALobbyVisibility_Friends", + 2: "DOTALobbyVisibility_Unlisted", + } + DOTALobbyVisibility_value = map[string]int32{ + "DOTALobbyVisibility_Public": 0, + "DOTALobbyVisibility_Friends": 1, + "DOTALobbyVisibility_Unlisted": 2, + } +) + +func (x DOTALobbyVisibility) Enum() *DOTALobbyVisibility { + p := new(DOTALobbyVisibility) + *p = x + return p +} + +func (x DOTALobbyVisibility) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (DOTALobbyVisibility) Descriptor() protoreflect.EnumDescriptor { + return file_dota_shared_enums_proto_enumTypes[21].Descriptor() +} + +func (DOTALobbyVisibility) Type() protoreflect.EnumType { + return &file_dota_shared_enums_proto_enumTypes[21] +} + +func (x DOTALobbyVisibility) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Do not use. +func (x *DOTALobbyVisibility) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err + } + *x = DOTALobbyVisibility(num) + return nil +} + +// Deprecated: Use DOTALobbyVisibility.Descriptor instead. +func (DOTALobbyVisibility) EnumDescriptor() ([]byte, []int) { + return file_dota_shared_enums_proto_rawDescGZIP(), []int{21} +} + +type EDOTAPlayerMMRType int32 + +const ( + EDOTAPlayerMMRType_k_EDOTAPlayerMMRType_Invalid EDOTAPlayerMMRType = 0 + EDOTAPlayerMMRType_k_EDOTAPlayerMMRType_GeneralHidden EDOTAPlayerMMRType = 1 + EDOTAPlayerMMRType_k_EDOTAPlayerMMRType_GeneralCompetitive EDOTAPlayerMMRType = 3 + EDOTAPlayerMMRType_k_EDOTAPlayerMMRType_SoloCompetitive2019 EDOTAPlayerMMRType = 4 + EDOTAPlayerMMRType_k_EDOTAPlayerMMRType_1v1Competitive_UNUSED EDOTAPlayerMMRType = 5 +) + +// Enum value maps for EDOTAPlayerMMRType. +var ( + EDOTAPlayerMMRType_name = map[int32]string{ + 0: "k_EDOTAPlayerMMRType_Invalid", + 1: "k_EDOTAPlayerMMRType_GeneralHidden", + 3: "k_EDOTAPlayerMMRType_GeneralCompetitive", + 4: "k_EDOTAPlayerMMRType_SoloCompetitive2019", + 5: "k_EDOTAPlayerMMRType_1v1Competitive_UNUSED", + } + EDOTAPlayerMMRType_value = map[string]int32{ + "k_EDOTAPlayerMMRType_Invalid": 0, + "k_EDOTAPlayerMMRType_GeneralHidden": 1, + "k_EDOTAPlayerMMRType_GeneralCompetitive": 3, + "k_EDOTAPlayerMMRType_SoloCompetitive2019": 4, + "k_EDOTAPlayerMMRType_1v1Competitive_UNUSED": 5, + } +) + +func (x EDOTAPlayerMMRType) Enum() *EDOTAPlayerMMRType { + p := new(EDOTAPlayerMMRType) + *p = x + return p +} + +func (x EDOTAPlayerMMRType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (EDOTAPlayerMMRType) Descriptor() protoreflect.EnumDescriptor { + return file_dota_shared_enums_proto_enumTypes[22].Descriptor() +} + +func (EDOTAPlayerMMRType) Type() protoreflect.EnumType { + return &file_dota_shared_enums_proto_enumTypes[22] +} + +func (x EDOTAPlayerMMRType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Do not use. +func (x *EDOTAPlayerMMRType) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err + } + *x = EDOTAPlayerMMRType(num) + return nil +} + +// Deprecated: Use EDOTAPlayerMMRType.Descriptor instead. +func (EDOTAPlayerMMRType) EnumDescriptor() ([]byte, []int) { + return file_dota_shared_enums_proto_rawDescGZIP(), []int{22} +} + +type EDOTAMMRBoostType int32 + +const ( + EDOTAMMRBoostType_k_EDOTAMMRBoostType_None EDOTAMMRBoostType = 0 + EDOTAMMRBoostType_k_EDOTAMMRBoostType_Leader EDOTAMMRBoostType = 1 + EDOTAMMRBoostType_k_EDOTAMMRBoostType_Follower EDOTAMMRBoostType = 2 +) + +// Enum value maps for EDOTAMMRBoostType. +var ( + EDOTAMMRBoostType_name = map[int32]string{ + 0: "k_EDOTAMMRBoostType_None", + 1: "k_EDOTAMMRBoostType_Leader", + 2: "k_EDOTAMMRBoostType_Follower", + } + EDOTAMMRBoostType_value = map[string]int32{ + "k_EDOTAMMRBoostType_None": 0, + "k_EDOTAMMRBoostType_Leader": 1, + "k_EDOTAMMRBoostType_Follower": 2, + } +) + +func (x EDOTAMMRBoostType) Enum() *EDOTAMMRBoostType { + p := new(EDOTAMMRBoostType) + *p = x + return p +} + +func (x EDOTAMMRBoostType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (EDOTAMMRBoostType) Descriptor() protoreflect.EnumDescriptor { + return file_dota_shared_enums_proto_enumTypes[23].Descriptor() +} + +func (EDOTAMMRBoostType) Type() protoreflect.EnumType { + return &file_dota_shared_enums_proto_enumTypes[23] +} + +func (x EDOTAMMRBoostType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Do not use. +func (x *EDOTAMMRBoostType) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err + } + *x = EDOTAMMRBoostType(num) + return nil +} + +// Deprecated: Use EDOTAMMRBoostType.Descriptor instead. +func (EDOTAMMRBoostType) EnumDescriptor() ([]byte, []int) { + return file_dota_shared_enums_proto_rawDescGZIP(), []int{23} +} + +type MatchType int32 + +const ( + MatchType_MATCH_TYPE_CASUAL MatchType = 0 + MatchType_MATCH_TYPE_COOP_BOTS MatchType = 1 + MatchType_MATCH_TYPE_LEGACY_TEAM_RANKED MatchType = 2 + MatchType_MATCH_TYPE_LEGACY_SOLO_QUEUE MatchType = 3 + MatchType_MATCH_TYPE_COMPETITIVE MatchType = 4 + MatchType_MATCH_TYPE_WEEKEND_TOURNEY MatchType = 5 + MatchType_MATCH_TYPE_CASUAL_1V1 MatchType = 6 + MatchType_MATCH_TYPE_EVENT MatchType = 7 + MatchType_MATCH_TYPE_SEASONAL_RANKED MatchType = 8 + MatchType_MATCH_TYPE_LOWPRI_DEPRECATED MatchType = 9 + MatchType_MATCH_TYPE_STEAM_GROUP MatchType = 10 + MatchType_MATCH_TYPE_MUTATION MatchType = 11 + MatchType_MATCH_TYPE_COACHES_CHALLENGE MatchType = 12 + MatchType_MATCH_TYPE_GAUNTLET MatchType = 13 + MatchType_MATCH_TYPE_NEW_PLAYER_POOL MatchType = 14 +) + +// Enum value maps for MatchType. +var ( + MatchType_name = map[int32]string{ + 0: "MATCH_TYPE_CASUAL", + 1: "MATCH_TYPE_COOP_BOTS", + 2: "MATCH_TYPE_LEGACY_TEAM_RANKED", + 3: "MATCH_TYPE_LEGACY_SOLO_QUEUE", + 4: "MATCH_TYPE_COMPETITIVE", + 5: "MATCH_TYPE_WEEKEND_TOURNEY", + 6: "MATCH_TYPE_CASUAL_1V1", + 7: "MATCH_TYPE_EVENT", + 8: "MATCH_TYPE_SEASONAL_RANKED", + 9: "MATCH_TYPE_LOWPRI_DEPRECATED", + 10: "MATCH_TYPE_STEAM_GROUP", + 11: "MATCH_TYPE_MUTATION", + 12: "MATCH_TYPE_COACHES_CHALLENGE", + 13: "MATCH_TYPE_GAUNTLET", + 14: "MATCH_TYPE_NEW_PLAYER_POOL", + } + MatchType_value = map[string]int32{ + "MATCH_TYPE_CASUAL": 0, + "MATCH_TYPE_COOP_BOTS": 1, + "MATCH_TYPE_LEGACY_TEAM_RANKED": 2, + "MATCH_TYPE_LEGACY_SOLO_QUEUE": 3, + "MATCH_TYPE_COMPETITIVE": 4, + "MATCH_TYPE_WEEKEND_TOURNEY": 5, + "MATCH_TYPE_CASUAL_1V1": 6, + "MATCH_TYPE_EVENT": 7, + "MATCH_TYPE_SEASONAL_RANKED": 8, + "MATCH_TYPE_LOWPRI_DEPRECATED": 9, + "MATCH_TYPE_STEAM_GROUP": 10, + "MATCH_TYPE_MUTATION": 11, + "MATCH_TYPE_COACHES_CHALLENGE": 12, + "MATCH_TYPE_GAUNTLET": 13, + "MATCH_TYPE_NEW_PLAYER_POOL": 14, + } +) + +func (x MatchType) Enum() *MatchType { + p := new(MatchType) + *p = x + return p +} + +func (x MatchType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (MatchType) Descriptor() protoreflect.EnumDescriptor { + return file_dota_shared_enums_proto_enumTypes[24].Descriptor() +} + +func (MatchType) Type() protoreflect.EnumType { + return &file_dota_shared_enums_proto_enumTypes[24] +} + +func (x MatchType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Do not use. +func (x *MatchType) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err + } + *x = MatchType(num) + return nil +} + +// Deprecated: Use MatchType.Descriptor instead. +func (MatchType) EnumDescriptor() ([]byte, []int) { + return file_dota_shared_enums_proto_rawDescGZIP(), []int{24} +} + +type DOTABotDifficulty int32 + +const ( + DOTABotDifficulty_BOT_DIFFICULTY_PASSIVE DOTABotDifficulty = 0 + DOTABotDifficulty_BOT_DIFFICULTY_EASY DOTABotDifficulty = 1 + DOTABotDifficulty_BOT_DIFFICULTY_MEDIUM DOTABotDifficulty = 2 + DOTABotDifficulty_BOT_DIFFICULTY_HARD DOTABotDifficulty = 3 + DOTABotDifficulty_BOT_DIFFICULTY_UNFAIR DOTABotDifficulty = 4 + DOTABotDifficulty_BOT_DIFFICULTY_INVALID DOTABotDifficulty = 5 + DOTABotDifficulty_BOT_DIFFICULTY_EXTRA1 DOTABotDifficulty = 6 + DOTABotDifficulty_BOT_DIFFICULTY_EXTRA2 DOTABotDifficulty = 7 + DOTABotDifficulty_BOT_DIFFICULTY_EXTRA3 DOTABotDifficulty = 8 + DOTABotDifficulty_BOT_DIFFICULTY_NPX DOTABotDifficulty = 9 +) + +// Enum value maps for DOTABotDifficulty. +var ( + DOTABotDifficulty_name = map[int32]string{ + 0: "BOT_DIFFICULTY_PASSIVE", + 1: "BOT_DIFFICULTY_EASY", + 2: "BOT_DIFFICULTY_MEDIUM", + 3: "BOT_DIFFICULTY_HARD", + 4: "BOT_DIFFICULTY_UNFAIR", + 5: "BOT_DIFFICULTY_INVALID", + 6: "BOT_DIFFICULTY_EXTRA1", + 7: "BOT_DIFFICULTY_EXTRA2", + 8: "BOT_DIFFICULTY_EXTRA3", + 9: "BOT_DIFFICULTY_NPX", + } + DOTABotDifficulty_value = map[string]int32{ + "BOT_DIFFICULTY_PASSIVE": 0, + "BOT_DIFFICULTY_EASY": 1, + "BOT_DIFFICULTY_MEDIUM": 2, + "BOT_DIFFICULTY_HARD": 3, + "BOT_DIFFICULTY_UNFAIR": 4, + "BOT_DIFFICULTY_INVALID": 5, + "BOT_DIFFICULTY_EXTRA1": 6, + "BOT_DIFFICULTY_EXTRA2": 7, + "BOT_DIFFICULTY_EXTRA3": 8, + "BOT_DIFFICULTY_NPX": 9, + } +) + +func (x DOTABotDifficulty) Enum() *DOTABotDifficulty { + p := new(DOTABotDifficulty) + *p = x + return p +} + +func (x DOTABotDifficulty) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (DOTABotDifficulty) Descriptor() protoreflect.EnumDescriptor { + return file_dota_shared_enums_proto_enumTypes[25].Descriptor() +} + +func (DOTABotDifficulty) Type() protoreflect.EnumType { + return &file_dota_shared_enums_proto_enumTypes[25] +} + +func (x DOTABotDifficulty) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Do not use. +func (x *DOTABotDifficulty) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err + } + *x = DOTABotDifficulty(num) + return nil +} + +// Deprecated: Use DOTABotDifficulty.Descriptor instead. +func (DOTABotDifficulty) EnumDescriptor() ([]byte, []int) { + return file_dota_shared_enums_proto_rawDescGZIP(), []int{25} +} + +type DOTA_BOT_MODE int32 + +const ( + DOTA_BOT_MODE_DOTA_BOT_MODE_NONE DOTA_BOT_MODE = 0 + DOTA_BOT_MODE_DOTA_BOT_MODE_LANING DOTA_BOT_MODE = 1 + DOTA_BOT_MODE_DOTA_BOT_MODE_ATTACK DOTA_BOT_MODE = 2 + DOTA_BOT_MODE_DOTA_BOT_MODE_ROAM DOTA_BOT_MODE = 3 + DOTA_BOT_MODE_DOTA_BOT_MODE_RETREAT DOTA_BOT_MODE = 4 + DOTA_BOT_MODE_DOTA_BOT_MODE_SECRET_SHOP DOTA_BOT_MODE = 5 + DOTA_BOT_MODE_DOTA_BOT_MODE_SIDE_SHOP DOTA_BOT_MODE = 6 + DOTA_BOT_MODE_DOTA_BOT_MODE_RUNE DOTA_BOT_MODE = 7 + DOTA_BOT_MODE_DOTA_BOT_MODE_PUSH_TOWER_TOP DOTA_BOT_MODE = 8 + DOTA_BOT_MODE_DOTA_BOT_MODE_PUSH_TOWER_MID DOTA_BOT_MODE = 9 + DOTA_BOT_MODE_DOTA_BOT_MODE_PUSH_TOWER_BOT DOTA_BOT_MODE = 10 + DOTA_BOT_MODE_DOTA_BOT_MODE_DEFEND_TOWER_TOP DOTA_BOT_MODE = 11 + DOTA_BOT_MODE_DOTA_BOT_MODE_DEFEND_TOWER_MID DOTA_BOT_MODE = 12 + DOTA_BOT_MODE_DOTA_BOT_MODE_DEFEND_TOWER_BOT DOTA_BOT_MODE = 13 + DOTA_BOT_MODE_DOTA_BOT_MODE_ASSEMBLE DOTA_BOT_MODE = 14 + DOTA_BOT_MODE_DOTA_BOT_MODE_ASSEMBLE_WITH_HUMANS DOTA_BOT_MODE = 15 + DOTA_BOT_MODE_DOTA_BOT_MODE_TEAM_ROAM DOTA_BOT_MODE = 16 + DOTA_BOT_MODE_DOTA_BOT_MODE_FARM DOTA_BOT_MODE = 17 + DOTA_BOT_MODE_DOTA_BOT_MODE_DEFEND_ALLY DOTA_BOT_MODE = 18 + DOTA_BOT_MODE_DOTA_BOT_MODE_EVASIVE_MANEUVERS DOTA_BOT_MODE = 19 + DOTA_BOT_MODE_DOTA_BOT_MODE_ROSHAN DOTA_BOT_MODE = 20 + DOTA_BOT_MODE_DOTA_BOT_MODE_ITEM DOTA_BOT_MODE = 21 + DOTA_BOT_MODE_DOTA_BOT_MODE_WARD DOTA_BOT_MODE = 22 + DOTA_BOT_MODE_DOTA_BOT_MODE_COMPANION DOTA_BOT_MODE = 23 + DOTA_BOT_MODE_DOTA_BOT_MODE_TUTORIAL_BOSS DOTA_BOT_MODE = 24 + DOTA_BOT_MODE_DOTA_BOT_MODE_MINION DOTA_BOT_MODE = 25 + DOTA_BOT_MODE_DOTA_BOT_MODE_OUTPOST DOTA_BOT_MODE = 26 +) + +// Enum value maps for DOTA_BOT_MODE. +var ( + DOTA_BOT_MODE_name = map[int32]string{ + 0: "DOTA_BOT_MODE_NONE", + 1: "DOTA_BOT_MODE_LANING", + 2: "DOTA_BOT_MODE_ATTACK", + 3: "DOTA_BOT_MODE_ROAM", + 4: "DOTA_BOT_MODE_RETREAT", + 5: "DOTA_BOT_MODE_SECRET_SHOP", + 6: "DOTA_BOT_MODE_SIDE_SHOP", + 7: "DOTA_BOT_MODE_RUNE", + 8: "DOTA_BOT_MODE_PUSH_TOWER_TOP", + 9: "DOTA_BOT_MODE_PUSH_TOWER_MID", + 10: "DOTA_BOT_MODE_PUSH_TOWER_BOT", + 11: "DOTA_BOT_MODE_DEFEND_TOWER_TOP", + 12: "DOTA_BOT_MODE_DEFEND_TOWER_MID", + 13: "DOTA_BOT_MODE_DEFEND_TOWER_BOT", + 14: "DOTA_BOT_MODE_ASSEMBLE", + 15: "DOTA_BOT_MODE_ASSEMBLE_WITH_HUMANS", + 16: "DOTA_BOT_MODE_TEAM_ROAM", + 17: "DOTA_BOT_MODE_FARM", + 18: "DOTA_BOT_MODE_DEFEND_ALLY", + 19: "DOTA_BOT_MODE_EVASIVE_MANEUVERS", + 20: "DOTA_BOT_MODE_ROSHAN", + 21: "DOTA_BOT_MODE_ITEM", + 22: "DOTA_BOT_MODE_WARD", + 23: "DOTA_BOT_MODE_COMPANION", + 24: "DOTA_BOT_MODE_TUTORIAL_BOSS", + 25: "DOTA_BOT_MODE_MINION", + 26: "DOTA_BOT_MODE_OUTPOST", + } + DOTA_BOT_MODE_value = map[string]int32{ + "DOTA_BOT_MODE_NONE": 0, + "DOTA_BOT_MODE_LANING": 1, + "DOTA_BOT_MODE_ATTACK": 2, + "DOTA_BOT_MODE_ROAM": 3, + "DOTA_BOT_MODE_RETREAT": 4, + "DOTA_BOT_MODE_SECRET_SHOP": 5, + "DOTA_BOT_MODE_SIDE_SHOP": 6, + "DOTA_BOT_MODE_RUNE": 7, + "DOTA_BOT_MODE_PUSH_TOWER_TOP": 8, + "DOTA_BOT_MODE_PUSH_TOWER_MID": 9, + "DOTA_BOT_MODE_PUSH_TOWER_BOT": 10, + "DOTA_BOT_MODE_DEFEND_TOWER_TOP": 11, + "DOTA_BOT_MODE_DEFEND_TOWER_MID": 12, + "DOTA_BOT_MODE_DEFEND_TOWER_BOT": 13, + "DOTA_BOT_MODE_ASSEMBLE": 14, + "DOTA_BOT_MODE_ASSEMBLE_WITH_HUMANS": 15, + "DOTA_BOT_MODE_TEAM_ROAM": 16, + "DOTA_BOT_MODE_FARM": 17, + "DOTA_BOT_MODE_DEFEND_ALLY": 18, + "DOTA_BOT_MODE_EVASIVE_MANEUVERS": 19, + "DOTA_BOT_MODE_ROSHAN": 20, + "DOTA_BOT_MODE_ITEM": 21, + "DOTA_BOT_MODE_WARD": 22, + "DOTA_BOT_MODE_COMPANION": 23, + "DOTA_BOT_MODE_TUTORIAL_BOSS": 24, + "DOTA_BOT_MODE_MINION": 25, + "DOTA_BOT_MODE_OUTPOST": 26, + } +) + +func (x DOTA_BOT_MODE) Enum() *DOTA_BOT_MODE { + p := new(DOTA_BOT_MODE) + *p = x + return p +} + +func (x DOTA_BOT_MODE) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (DOTA_BOT_MODE) Descriptor() protoreflect.EnumDescriptor { + return file_dota_shared_enums_proto_enumTypes[26].Descriptor() +} + +func (DOTA_BOT_MODE) Type() protoreflect.EnumType { + return &file_dota_shared_enums_proto_enumTypes[26] +} + +func (x DOTA_BOT_MODE) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Do not use. +func (x *DOTA_BOT_MODE) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err + } + *x = DOTA_BOT_MODE(num) + return nil +} + +// Deprecated: Use DOTA_BOT_MODE.Descriptor instead. +func (DOTA_BOT_MODE) EnumDescriptor() ([]byte, []int) { + return file_dota_shared_enums_proto_rawDescGZIP(), []int{26} +} + +type MatchLanguages int32 + +const ( + MatchLanguages_MATCH_LANGUAGE_INVALID MatchLanguages = 0 + MatchLanguages_MATCH_LANGUAGE_ENGLISH MatchLanguages = 1 + MatchLanguages_MATCH_LANGUAGE_RUSSIAN MatchLanguages = 2 + MatchLanguages_MATCH_LANGUAGE_CHINESE MatchLanguages = 3 + MatchLanguages_MATCH_LANGUAGE_KOREAN MatchLanguages = 4 + MatchLanguages_MATCH_LANGUAGE_SPANISH MatchLanguages = 5 + MatchLanguages_MATCH_LANGUAGE_PORTUGUESE MatchLanguages = 6 + MatchLanguages_MATCH_LANGUAGE_ENGLISH2 MatchLanguages = 7 +) + +// Enum value maps for MatchLanguages. +var ( + MatchLanguages_name = map[int32]string{ + 0: "MATCH_LANGUAGE_INVALID", + 1: "MATCH_LANGUAGE_ENGLISH", + 2: "MATCH_LANGUAGE_RUSSIAN", + 3: "MATCH_LANGUAGE_CHINESE", + 4: "MATCH_LANGUAGE_KOREAN", + 5: "MATCH_LANGUAGE_SPANISH", + 6: "MATCH_LANGUAGE_PORTUGUESE", + 7: "MATCH_LANGUAGE_ENGLISH2", + } + MatchLanguages_value = map[string]int32{ + "MATCH_LANGUAGE_INVALID": 0, + "MATCH_LANGUAGE_ENGLISH": 1, + "MATCH_LANGUAGE_RUSSIAN": 2, + "MATCH_LANGUAGE_CHINESE": 3, + "MATCH_LANGUAGE_KOREAN": 4, + "MATCH_LANGUAGE_SPANISH": 5, + "MATCH_LANGUAGE_PORTUGUESE": 6, + "MATCH_LANGUAGE_ENGLISH2": 7, + } +) + +func (x MatchLanguages) Enum() *MatchLanguages { + p := new(MatchLanguages) + *p = x + return p +} + +func (x MatchLanguages) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (MatchLanguages) Descriptor() protoreflect.EnumDescriptor { + return file_dota_shared_enums_proto_enumTypes[27].Descriptor() +} + +func (MatchLanguages) Type() protoreflect.EnumType { + return &file_dota_shared_enums_proto_enumTypes[27] +} + +func (x MatchLanguages) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Do not use. +func (x *MatchLanguages) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err + } + *x = MatchLanguages(num) + return nil +} + +// Deprecated: Use MatchLanguages.Descriptor instead. +func (MatchLanguages) EnumDescriptor() ([]byte, []int) { + return file_dota_shared_enums_proto_rawDescGZIP(), []int{27} +} + +type ETourneyQueueDeadlineState int32 + +const ( + ETourneyQueueDeadlineState_k_ETourneyQueueDeadlineState_Normal ETourneyQueueDeadlineState = 0 + ETourneyQueueDeadlineState_k_ETourneyQueueDeadlineState_Missed ETourneyQueueDeadlineState = 1 + ETourneyQueueDeadlineState_k_ETourneyQueueDeadlineState_ExpiredOK ETourneyQueueDeadlineState = 2 + ETourneyQueueDeadlineState_k_ETourneyQueueDeadlineState_SeekingBye ETourneyQueueDeadlineState = 3 + ETourneyQueueDeadlineState_k_ETourneyQueueDeadlineState_EligibleForRefund ETourneyQueueDeadlineState = 4 + ETourneyQueueDeadlineState_k_ETourneyQueueDeadlineState_NA ETourneyQueueDeadlineState = -1 + ETourneyQueueDeadlineState_k_ETourneyQueueDeadlineState_ExpiringSoon ETourneyQueueDeadlineState = 101 +) + +// Enum value maps for ETourneyQueueDeadlineState. +var ( + ETourneyQueueDeadlineState_name = map[int32]string{ + 0: "k_ETourneyQueueDeadlineState_Normal", + 1: "k_ETourneyQueueDeadlineState_Missed", + 2: "k_ETourneyQueueDeadlineState_ExpiredOK", + 3: "k_ETourneyQueueDeadlineState_SeekingBye", + 4: "k_ETourneyQueueDeadlineState_EligibleForRefund", + -1: "k_ETourneyQueueDeadlineState_NA", + 101: "k_ETourneyQueueDeadlineState_ExpiringSoon", + } + ETourneyQueueDeadlineState_value = map[string]int32{ + "k_ETourneyQueueDeadlineState_Normal": 0, + "k_ETourneyQueueDeadlineState_Missed": 1, + "k_ETourneyQueueDeadlineState_ExpiredOK": 2, + "k_ETourneyQueueDeadlineState_SeekingBye": 3, + "k_ETourneyQueueDeadlineState_EligibleForRefund": 4, + "k_ETourneyQueueDeadlineState_NA": -1, + "k_ETourneyQueueDeadlineState_ExpiringSoon": 101, + } +) + +func (x ETourneyQueueDeadlineState) Enum() *ETourneyQueueDeadlineState { + p := new(ETourneyQueueDeadlineState) + *p = x + return p +} + +func (x ETourneyQueueDeadlineState) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (ETourneyQueueDeadlineState) Descriptor() protoreflect.EnumDescriptor { + return file_dota_shared_enums_proto_enumTypes[28].Descriptor() +} + +func (ETourneyQueueDeadlineState) Type() protoreflect.EnumType { + return &file_dota_shared_enums_proto_enumTypes[28] +} + +func (x ETourneyQueueDeadlineState) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Do not use. +func (x *ETourneyQueueDeadlineState) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err + } + *x = ETourneyQueueDeadlineState(num) + return nil +} + +// Deprecated: Use ETourneyQueueDeadlineState.Descriptor instead. +func (ETourneyQueueDeadlineState) EnumDescriptor() ([]byte, []int) { + return file_dota_shared_enums_proto_rawDescGZIP(), []int{28} +} + +type EMatchOutcome int32 + +const ( + EMatchOutcome_k_EMatchOutcome_Unknown EMatchOutcome = 0 + EMatchOutcome_k_EMatchOutcome_RadVictory EMatchOutcome = 2 + EMatchOutcome_k_EMatchOutcome_DireVictory EMatchOutcome = 3 + EMatchOutcome_k_EMatchOutcome_NeutralVictory EMatchOutcome = 4 + EMatchOutcome_k_EMatchOutcome_NoTeamWinner EMatchOutcome = 5 + EMatchOutcome_k_EMatchOutcome_Custom1Victory EMatchOutcome = 6 + EMatchOutcome_k_EMatchOutcome_Custom2Victory EMatchOutcome = 7 + EMatchOutcome_k_EMatchOutcome_Custom3Victory EMatchOutcome = 8 + EMatchOutcome_k_EMatchOutcome_Custom4Victory EMatchOutcome = 9 + EMatchOutcome_k_EMatchOutcome_Custom5Victory EMatchOutcome = 10 + EMatchOutcome_k_EMatchOutcome_Custom6Victory EMatchOutcome = 11 + EMatchOutcome_k_EMatchOutcome_Custom7Victory EMatchOutcome = 12 + EMatchOutcome_k_EMatchOutcome_Custom8Victory EMatchOutcome = 13 + EMatchOutcome_k_EMatchOutcome_NotScored_PoorNetworkConditions EMatchOutcome = 64 + EMatchOutcome_k_EMatchOutcome_NotScored_Leaver EMatchOutcome = 65 + EMatchOutcome_k_EMatchOutcome_NotScored_ServerCrash EMatchOutcome = 66 + EMatchOutcome_k_EMatchOutcome_NotScored_NeverStarted EMatchOutcome = 67 + EMatchOutcome_k_EMatchOutcome_NotScored_Canceled EMatchOutcome = 68 + EMatchOutcome_k_EMatchOutcome_NotScored_Suspicious EMatchOutcome = 69 +) + +// Enum value maps for EMatchOutcome. +var ( + EMatchOutcome_name = map[int32]string{ + 0: "k_EMatchOutcome_Unknown", + 2: "k_EMatchOutcome_RadVictory", + 3: "k_EMatchOutcome_DireVictory", + 4: "k_EMatchOutcome_NeutralVictory", + 5: "k_EMatchOutcome_NoTeamWinner", + 6: "k_EMatchOutcome_Custom1Victory", + 7: "k_EMatchOutcome_Custom2Victory", + 8: "k_EMatchOutcome_Custom3Victory", + 9: "k_EMatchOutcome_Custom4Victory", + 10: "k_EMatchOutcome_Custom5Victory", + 11: "k_EMatchOutcome_Custom6Victory", + 12: "k_EMatchOutcome_Custom7Victory", + 13: "k_EMatchOutcome_Custom8Victory", + 64: "k_EMatchOutcome_NotScored_PoorNetworkConditions", + 65: "k_EMatchOutcome_NotScored_Leaver", + 66: "k_EMatchOutcome_NotScored_ServerCrash", + 67: "k_EMatchOutcome_NotScored_NeverStarted", + 68: "k_EMatchOutcome_NotScored_Canceled", + 69: "k_EMatchOutcome_NotScored_Suspicious", + } + EMatchOutcome_value = map[string]int32{ + "k_EMatchOutcome_Unknown": 0, + "k_EMatchOutcome_RadVictory": 2, + "k_EMatchOutcome_DireVictory": 3, + "k_EMatchOutcome_NeutralVictory": 4, + "k_EMatchOutcome_NoTeamWinner": 5, + "k_EMatchOutcome_Custom1Victory": 6, + "k_EMatchOutcome_Custom2Victory": 7, + "k_EMatchOutcome_Custom3Victory": 8, + "k_EMatchOutcome_Custom4Victory": 9, + "k_EMatchOutcome_Custom5Victory": 10, + "k_EMatchOutcome_Custom6Victory": 11, + "k_EMatchOutcome_Custom7Victory": 12, + "k_EMatchOutcome_Custom8Victory": 13, + "k_EMatchOutcome_NotScored_PoorNetworkConditions": 64, + "k_EMatchOutcome_NotScored_Leaver": 65, + "k_EMatchOutcome_NotScored_ServerCrash": 66, + "k_EMatchOutcome_NotScored_NeverStarted": 67, + "k_EMatchOutcome_NotScored_Canceled": 68, + "k_EMatchOutcome_NotScored_Suspicious": 69, + } +) + +func (x EMatchOutcome) Enum() *EMatchOutcome { + p := new(EMatchOutcome) + *p = x + return p +} + +func (x EMatchOutcome) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (EMatchOutcome) Descriptor() protoreflect.EnumDescriptor { + return file_dota_shared_enums_proto_enumTypes[29].Descriptor() +} + +func (EMatchOutcome) Type() protoreflect.EnumType { + return &file_dota_shared_enums_proto_enumTypes[29] +} + +func (x EMatchOutcome) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Do not use. +func (x *EMatchOutcome) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err + } + *x = EMatchOutcome(num) + return nil +} + +// Deprecated: Use EMatchOutcome.Descriptor instead. +func (EMatchOutcome) EnumDescriptor() ([]byte, []int) { + return file_dota_shared_enums_proto_rawDescGZIP(), []int{29} +} + +type ELaneType int32 + +const ( + ELaneType_LANE_TYPE_UNKNOWN ELaneType = 0 + ELaneType_LANE_TYPE_SAFE ELaneType = 1 + ELaneType_LANE_TYPE_OFF ELaneType = 2 + ELaneType_LANE_TYPE_MID ELaneType = 3 + ELaneType_LANE_TYPE_JUNGLE ELaneType = 4 + ELaneType_LANE_TYPE_ROAM ELaneType = 5 +) + +// Enum value maps for ELaneType. +var ( + ELaneType_name = map[int32]string{ + 0: "LANE_TYPE_UNKNOWN", + 1: "LANE_TYPE_SAFE", + 2: "LANE_TYPE_OFF", + 3: "LANE_TYPE_MID", + 4: "LANE_TYPE_JUNGLE", + 5: "LANE_TYPE_ROAM", + } + ELaneType_value = map[string]int32{ + "LANE_TYPE_UNKNOWN": 0, + "LANE_TYPE_SAFE": 1, + "LANE_TYPE_OFF": 2, + "LANE_TYPE_MID": 3, + "LANE_TYPE_JUNGLE": 4, + "LANE_TYPE_ROAM": 5, + } +) + +func (x ELaneType) Enum() *ELaneType { + p := new(ELaneType) + *p = x + return p +} + +func (x ELaneType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (ELaneType) Descriptor() protoreflect.EnumDescriptor { + return file_dota_shared_enums_proto_enumTypes[30].Descriptor() +} + +func (ELaneType) Type() protoreflect.EnumType { + return &file_dota_shared_enums_proto_enumTypes[30] +} + +func (x ELaneType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Do not use. +func (x *ELaneType) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err + } + *x = ELaneType(num) + return nil +} + +// Deprecated: Use ELaneType.Descriptor instead. +func (ELaneType) EnumDescriptor() ([]byte, []int) { + return file_dota_shared_enums_proto_rawDescGZIP(), []int{30} +} + +type EBadgeType int32 + +const ( + EBadgeType_k_EBadgeType_TI7_Midweek EBadgeType = 1 + EBadgeType_k_EBadgeType_TI7_Finals EBadgeType = 2 + EBadgeType_k_EBadgeType_TI7_AllEvent EBadgeType = 3 + EBadgeType_k_EBadgeType_TI8_Midweek EBadgeType = 4 + EBadgeType_k_EBadgeType_TI8_Finals EBadgeType = 5 + EBadgeType_k_EBadgeType_TI8_AllEvent EBadgeType = 6 + EBadgeType_k_EBadgeType_TI10 EBadgeType = 7 +) + +// Enum value maps for EBadgeType. +var ( + EBadgeType_name = map[int32]string{ + 1: "k_EBadgeType_TI7_Midweek", + 2: "k_EBadgeType_TI7_Finals", + 3: "k_EBadgeType_TI7_AllEvent", + 4: "k_EBadgeType_TI8_Midweek", + 5: "k_EBadgeType_TI8_Finals", + 6: "k_EBadgeType_TI8_AllEvent", + 7: "k_EBadgeType_TI10", + } + EBadgeType_value = map[string]int32{ + "k_EBadgeType_TI7_Midweek": 1, + "k_EBadgeType_TI7_Finals": 2, + "k_EBadgeType_TI7_AllEvent": 3, + "k_EBadgeType_TI8_Midweek": 4, + "k_EBadgeType_TI8_Finals": 5, + "k_EBadgeType_TI8_AllEvent": 6, + "k_EBadgeType_TI10": 7, + } +) + +func (x EBadgeType) Enum() *EBadgeType { + p := new(EBadgeType) + *p = x + return p +} + +func (x EBadgeType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (EBadgeType) Descriptor() protoreflect.EnumDescriptor { + return file_dota_shared_enums_proto_enumTypes[31].Descriptor() +} + +func (EBadgeType) Type() protoreflect.EnumType { + return &file_dota_shared_enums_proto_enumTypes[31] +} + +func (x EBadgeType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Do not use. +func (x *EBadgeType) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err + } + *x = EBadgeType(num) + return nil +} + +// Deprecated: Use EBadgeType.Descriptor instead. +func (EBadgeType) EnumDescriptor() ([]byte, []int) { + return file_dota_shared_enums_proto_rawDescGZIP(), []int{31} +} + +type ELeagueStatus int32 + +const ( + ELeagueStatus_LEAGUE_STATUS_UNSET ELeagueStatus = 0 + ELeagueStatus_LEAGUE_STATUS_UNSUBMITTED ELeagueStatus = 1 + ELeagueStatus_LEAGUE_STATUS_SUBMITTED ELeagueStatus = 2 + ELeagueStatus_LEAGUE_STATUS_ACCEPTED ELeagueStatus = 3 + ELeagueStatus_LEAGUE_STATUS_REJECTED ELeagueStatus = 4 + ELeagueStatus_LEAGUE_STATUS_CONCLUDED ELeagueStatus = 5 + ELeagueStatus_LEAGUE_STATUS_DELETED ELeagueStatus = 6 +) + +// Enum value maps for ELeagueStatus. +var ( + ELeagueStatus_name = map[int32]string{ + 0: "LEAGUE_STATUS_UNSET", + 1: "LEAGUE_STATUS_UNSUBMITTED", + 2: "LEAGUE_STATUS_SUBMITTED", + 3: "LEAGUE_STATUS_ACCEPTED", + 4: "LEAGUE_STATUS_REJECTED", + 5: "LEAGUE_STATUS_CONCLUDED", + 6: "LEAGUE_STATUS_DELETED", + } + ELeagueStatus_value = map[string]int32{ + "LEAGUE_STATUS_UNSET": 0, + "LEAGUE_STATUS_UNSUBMITTED": 1, + "LEAGUE_STATUS_SUBMITTED": 2, + "LEAGUE_STATUS_ACCEPTED": 3, + "LEAGUE_STATUS_REJECTED": 4, + "LEAGUE_STATUS_CONCLUDED": 5, + "LEAGUE_STATUS_DELETED": 6, + } +) + +func (x ELeagueStatus) Enum() *ELeagueStatus { + p := new(ELeagueStatus) + *p = x + return p +} + +func (x ELeagueStatus) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (ELeagueStatus) Descriptor() protoreflect.EnumDescriptor { + return file_dota_shared_enums_proto_enumTypes[32].Descriptor() +} + +func (ELeagueStatus) Type() protoreflect.EnumType { + return &file_dota_shared_enums_proto_enumTypes[32] +} + +func (x ELeagueStatus) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Do not use. +func (x *ELeagueStatus) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err + } + *x = ELeagueStatus(num) + return nil +} + +// Deprecated: Use ELeagueStatus.Descriptor instead. +func (ELeagueStatus) EnumDescriptor() ([]byte, []int) { + return file_dota_shared_enums_proto_rawDescGZIP(), []int{32} +} + +type ELeagueRegion int32 + +const ( + ELeagueRegion_LEAGUE_REGION_UNSET ELeagueRegion = 0 + ELeagueRegion_LEAGUE_REGION_NA ELeagueRegion = 1 + ELeagueRegion_LEAGUE_REGION_SA ELeagueRegion = 2 + ELeagueRegion_LEAGUE_REGION_WEU ELeagueRegion = 3 + ELeagueRegion_LEAGUE_REGION_EEU ELeagueRegion = 4 + ELeagueRegion_LEAGUE_REGION_CHINA ELeagueRegion = 5 + ELeagueRegion_LEAGUE_REGION_SEA ELeagueRegion = 6 +) + +// Enum value maps for ELeagueRegion. +var ( + ELeagueRegion_name = map[int32]string{ + 0: "LEAGUE_REGION_UNSET", + 1: "LEAGUE_REGION_NA", + 2: "LEAGUE_REGION_SA", + 3: "LEAGUE_REGION_WEU", + 4: "LEAGUE_REGION_EEU", + 5: "LEAGUE_REGION_CHINA", + 6: "LEAGUE_REGION_SEA", + } + ELeagueRegion_value = map[string]int32{ + "LEAGUE_REGION_UNSET": 0, + "LEAGUE_REGION_NA": 1, + "LEAGUE_REGION_SA": 2, + "LEAGUE_REGION_WEU": 3, + "LEAGUE_REGION_EEU": 4, + "LEAGUE_REGION_CHINA": 5, + "LEAGUE_REGION_SEA": 6, + } +) + +func (x ELeagueRegion) Enum() *ELeagueRegion { + p := new(ELeagueRegion) + *p = x + return p +} + +func (x ELeagueRegion) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (ELeagueRegion) Descriptor() protoreflect.EnumDescriptor { + return file_dota_shared_enums_proto_enumTypes[33].Descriptor() +} + +func (ELeagueRegion) Type() protoreflect.EnumType { + return &file_dota_shared_enums_proto_enumTypes[33] +} + +func (x ELeagueRegion) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Do not use. +func (x *ELeagueRegion) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err + } + *x = ELeagueRegion(num) + return nil +} + +// Deprecated: Use ELeagueRegion.Descriptor instead. +func (ELeagueRegion) EnumDescriptor() ([]byte, []int) { + return file_dota_shared_enums_proto_rawDescGZIP(), []int{33} +} + +type ELeagueTier int32 + +const ( + ELeagueTier_LEAGUE_TIER_UNSET ELeagueTier = 0 + ELeagueTier_LEAGUE_TIER_AMATEUR ELeagueTier = 1 + ELeagueTier_LEAGUE_TIER_PROFESSIONAL ELeagueTier = 2 + ELeagueTier_LEAGUE_TIER_MINOR ELeagueTier = 3 + ELeagueTier_LEAGUE_TIER_MAJOR ELeagueTier = 4 + ELeagueTier_LEAGUE_TIER_INTERNATIONAL ELeagueTier = 5 + ELeagueTier_LEAGUE_TIER_DPC_QUALIFIER ELeagueTier = 6 + ELeagueTier_LEAGUE_TIER_DPC_LEAGUE_QUALIFIER ELeagueTier = 7 + ELeagueTier_LEAGUE_TIER_DPC_LEAGUE ELeagueTier = 8 + ELeagueTier_LEAGUE_TIER_DPC_LEAGUE_FINALS ELeagueTier = 9 +) + +// Enum value maps for ELeagueTier. +var ( + ELeagueTier_name = map[int32]string{ + 0: "LEAGUE_TIER_UNSET", + 1: "LEAGUE_TIER_AMATEUR", + 2: "LEAGUE_TIER_PROFESSIONAL", + 3: "LEAGUE_TIER_MINOR", + 4: "LEAGUE_TIER_MAJOR", + 5: "LEAGUE_TIER_INTERNATIONAL", + 6: "LEAGUE_TIER_DPC_QUALIFIER", + 7: "LEAGUE_TIER_DPC_LEAGUE_QUALIFIER", + 8: "LEAGUE_TIER_DPC_LEAGUE", + 9: "LEAGUE_TIER_DPC_LEAGUE_FINALS", + } + ELeagueTier_value = map[string]int32{ + "LEAGUE_TIER_UNSET": 0, + "LEAGUE_TIER_AMATEUR": 1, + "LEAGUE_TIER_PROFESSIONAL": 2, + "LEAGUE_TIER_MINOR": 3, + "LEAGUE_TIER_MAJOR": 4, + "LEAGUE_TIER_INTERNATIONAL": 5, + "LEAGUE_TIER_DPC_QUALIFIER": 6, + "LEAGUE_TIER_DPC_LEAGUE_QUALIFIER": 7, + "LEAGUE_TIER_DPC_LEAGUE": 8, + "LEAGUE_TIER_DPC_LEAGUE_FINALS": 9, + } +) + +func (x ELeagueTier) Enum() *ELeagueTier { + p := new(ELeagueTier) + *p = x + return p +} + +func (x ELeagueTier) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (ELeagueTier) Descriptor() protoreflect.EnumDescriptor { + return file_dota_shared_enums_proto_enumTypes[34].Descriptor() +} + +func (ELeagueTier) Type() protoreflect.EnumType { + return &file_dota_shared_enums_proto_enumTypes[34] +} + +func (x ELeagueTier) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Do not use. +func (x *ELeagueTier) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err + } + *x = ELeagueTier(num) + return nil +} + +// Deprecated: Use ELeagueTier.Descriptor instead. +func (ELeagueTier) EnumDescriptor() ([]byte, []int) { + return file_dota_shared_enums_proto_rawDescGZIP(), []int{34} +} + +type ELeagueTierCategory int32 + +const ( + ELeagueTierCategory_LEAGUE_TIER_CATEGORY_AMATEUR ELeagueTierCategory = 1 + ELeagueTierCategory_LEAGUE_TIER_CATEGORY_PROFESSIONAL ELeagueTierCategory = 2 + ELeagueTierCategory_LEAGUE_TIER_CATEGORY_DPC ELeagueTierCategory = 3 +) + +// Enum value maps for ELeagueTierCategory. +var ( + ELeagueTierCategory_name = map[int32]string{ + 1: "LEAGUE_TIER_CATEGORY_AMATEUR", + 2: "LEAGUE_TIER_CATEGORY_PROFESSIONAL", + 3: "LEAGUE_TIER_CATEGORY_DPC", + } + ELeagueTierCategory_value = map[string]int32{ + "LEAGUE_TIER_CATEGORY_AMATEUR": 1, + "LEAGUE_TIER_CATEGORY_PROFESSIONAL": 2, + "LEAGUE_TIER_CATEGORY_DPC": 3, + } +) + +func (x ELeagueTierCategory) Enum() *ELeagueTierCategory { + p := new(ELeagueTierCategory) + *p = x + return p +} + +func (x ELeagueTierCategory) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (ELeagueTierCategory) Descriptor() protoreflect.EnumDescriptor { + return file_dota_shared_enums_proto_enumTypes[35].Descriptor() +} + +func (ELeagueTierCategory) Type() protoreflect.EnumType { + return &file_dota_shared_enums_proto_enumTypes[35] +} + +func (x ELeagueTierCategory) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Do not use. +func (x *ELeagueTierCategory) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err + } + *x = ELeagueTierCategory(num) + return nil +} + +// Deprecated: Use ELeagueTierCategory.Descriptor instead. +func (ELeagueTierCategory) EnumDescriptor() ([]byte, []int) { + return file_dota_shared_enums_proto_rawDescGZIP(), []int{35} +} + +type ELeagueDivision int32 + +const ( + ELeagueDivision_LEAGUE_DIVISION_UNSET ELeagueDivision = 0 + ELeagueDivision_LEAGUE_DIVISION_I ELeagueDivision = 1 + ELeagueDivision_LEAGUE_DIVISION_II ELeagueDivision = 2 +) + +// Enum value maps for ELeagueDivision. +var ( + ELeagueDivision_name = map[int32]string{ + 0: "LEAGUE_DIVISION_UNSET", + 1: "LEAGUE_DIVISION_I", + 2: "LEAGUE_DIVISION_II", + } + ELeagueDivision_value = map[string]int32{ + "LEAGUE_DIVISION_UNSET": 0, + "LEAGUE_DIVISION_I": 1, + "LEAGUE_DIVISION_II": 2, + } +) + +func (x ELeagueDivision) Enum() *ELeagueDivision { + p := new(ELeagueDivision) + *p = x + return p +} + +func (x ELeagueDivision) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (ELeagueDivision) Descriptor() protoreflect.EnumDescriptor { + return file_dota_shared_enums_proto_enumTypes[36].Descriptor() +} + +func (ELeagueDivision) Type() protoreflect.EnumType { + return &file_dota_shared_enums_proto_enumTypes[36] +} + +func (x ELeagueDivision) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Do not use. +func (x *ELeagueDivision) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err + } + *x = ELeagueDivision(num) + return nil +} + +// Deprecated: Use ELeagueDivision.Descriptor instead. +func (ELeagueDivision) EnumDescriptor() ([]byte, []int) { + return file_dota_shared_enums_proto_rawDescGZIP(), []int{36} +} + +type ELeagueBroadcastProvider int32 + +const ( + ELeagueBroadcastProvider_LEAGUE_BROADCAST_UNKNOWN ELeagueBroadcastProvider = 0 + ELeagueBroadcastProvider_LEAGUE_BROADCAST_STEAM ELeagueBroadcastProvider = 1 + ELeagueBroadcastProvider_LEAGUE_BROADCAST_TWITCH ELeagueBroadcastProvider = 2 + ELeagueBroadcastProvider_LEAGUE_BROADCAST_YOUTUBE ELeagueBroadcastProvider = 3 + ELeagueBroadcastProvider_LEAGUE_BROADCAST_OTHER ELeagueBroadcastProvider = 100 +) + +// Enum value maps for ELeagueBroadcastProvider. +var ( + ELeagueBroadcastProvider_name = map[int32]string{ + 0: "LEAGUE_BROADCAST_UNKNOWN", + 1: "LEAGUE_BROADCAST_STEAM", + 2: "LEAGUE_BROADCAST_TWITCH", + 3: "LEAGUE_BROADCAST_YOUTUBE", + 100: "LEAGUE_BROADCAST_OTHER", + } + ELeagueBroadcastProvider_value = map[string]int32{ + "LEAGUE_BROADCAST_UNKNOWN": 0, + "LEAGUE_BROADCAST_STEAM": 1, + "LEAGUE_BROADCAST_TWITCH": 2, + "LEAGUE_BROADCAST_YOUTUBE": 3, + "LEAGUE_BROADCAST_OTHER": 100, + } +) + +func (x ELeagueBroadcastProvider) Enum() *ELeagueBroadcastProvider { + p := new(ELeagueBroadcastProvider) + *p = x + return p +} + +func (x ELeagueBroadcastProvider) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (ELeagueBroadcastProvider) Descriptor() protoreflect.EnumDescriptor { + return file_dota_shared_enums_proto_enumTypes[37].Descriptor() +} + +func (ELeagueBroadcastProvider) Type() protoreflect.EnumType { + return &file_dota_shared_enums_proto_enumTypes[37] +} + +func (x ELeagueBroadcastProvider) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Do not use. +func (x *ELeagueBroadcastProvider) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err + } + *x = ELeagueBroadcastProvider(num) + return nil +} + +// Deprecated: Use ELeagueBroadcastProvider.Descriptor instead. +func (ELeagueBroadcastProvider) EnumDescriptor() ([]byte, []int) { + return file_dota_shared_enums_proto_rawDescGZIP(), []int{37} +} + +type ELeaguePhase int32 + +const ( + ELeaguePhase_LEAGUE_PHASE_UNSET ELeaguePhase = 0 + ELeaguePhase_LEAGUE_PHASE_REGIONAL_QUALIFIER ELeaguePhase = 1 + ELeaguePhase_LEAGUE_PHASE_GROUP_STAGE ELeaguePhase = 2 + ELeaguePhase_LEAGUE_PHASE_MAIN_EVENT ELeaguePhase = 3 +) + +// Enum value maps for ELeaguePhase. +var ( + ELeaguePhase_name = map[int32]string{ + 0: "LEAGUE_PHASE_UNSET", + 1: "LEAGUE_PHASE_REGIONAL_QUALIFIER", + 2: "LEAGUE_PHASE_GROUP_STAGE", + 3: "LEAGUE_PHASE_MAIN_EVENT", + } + ELeaguePhase_value = map[string]int32{ + "LEAGUE_PHASE_UNSET": 0, + "LEAGUE_PHASE_REGIONAL_QUALIFIER": 1, + "LEAGUE_PHASE_GROUP_STAGE": 2, + "LEAGUE_PHASE_MAIN_EVENT": 3, + } +) + +func (x ELeaguePhase) Enum() *ELeaguePhase { + p := new(ELeaguePhase) + *p = x + return p +} + +func (x ELeaguePhase) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (ELeaguePhase) Descriptor() protoreflect.EnumDescriptor { + return file_dota_shared_enums_proto_enumTypes[38].Descriptor() +} + +func (ELeaguePhase) Type() protoreflect.EnumType { + return &file_dota_shared_enums_proto_enumTypes[38] +} + +func (x ELeaguePhase) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Do not use. +func (x *ELeaguePhase) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err + } + *x = ELeaguePhase(num) + return nil +} + +// Deprecated: Use ELeaguePhase.Descriptor instead. +func (ELeaguePhase) EnumDescriptor() ([]byte, []int) { + return file_dota_shared_enums_proto_rawDescGZIP(), []int{38} +} + +type ELeagueAuditAction int32 + +const ( + ELeagueAuditAction_LEAGUE_AUDIT_ACTION_INVALID ELeagueAuditAction = 0 + ELeagueAuditAction_LEAGUE_AUDIT_ACTION_LEAGUE_CREATE ELeagueAuditAction = 1 + ELeagueAuditAction_LEAGUE_AUDIT_ACTION_LEAGUE_EDIT ELeagueAuditAction = 2 + ELeagueAuditAction_LEAGUE_AUDIT_ACTION_LEAGUE_DELETE ELeagueAuditAction = 3 + ELeagueAuditAction_LEAGUE_AUDIT_ACTION_LEAGUE_ADMIN_ADD ELeagueAuditAction = 4 + ELeagueAuditAction_LEAGUE_AUDIT_ACTION_LEAGUE_ADMIN_REVOKE ELeagueAuditAction = 5 + ELeagueAuditAction_LEAGUE_AUDIT_ACTION_LEAGUE_ADMIN_PROMOTE ELeagueAuditAction = 6 + ELeagueAuditAction_LEAGUE_AUDIT_ACTION_LEAGUE_STREAM_ADD ELeagueAuditAction = 7 + ELeagueAuditAction_LEAGUE_AUDIT_ACTION_LEAGUE_STREAM_REMOVE ELeagueAuditAction = 8 + ELeagueAuditAction_LEAGUE_AUDIT_ACTION_LEAGUE_IMAGE_UPDATED ELeagueAuditAction = 9 + ELeagueAuditAction_LEAGUE_AUDIT_ACTION_LEAGUE_MESSAGE_ADDED ELeagueAuditAction = 10 + ELeagueAuditAction_LEAGUE_AUDIT_ACTION_LEAGUE_SUBMITTED ELeagueAuditAction = 11 + ELeagueAuditAction_LEAGUE_AUDIT_ACTION_LEAGUE_SET_PRIZE_POOL ELeagueAuditAction = 12 + ELeagueAuditAction_LEAGUE_AUDIT_ACTION_LEAGUE_ADD_PRIZE_POOL_ITEM ELeagueAuditAction = 13 + ELeagueAuditAction_LEAGUE_AUDIT_ACTION_LEAGUE_REMOVE_PRIZE_POOL_ITEM ELeagueAuditAction = 14 + ELeagueAuditAction_LEAGUE_AUDIT_ACTION_LEAGUE_MATCH_START ELeagueAuditAction = 15 + ELeagueAuditAction_LEAGUE_AUDIT_ACTION_LEAGUE_MATCH_END ELeagueAuditAction = 16 + ELeagueAuditAction_LEAGUE_AUDIT_ACTION_LEAGUE_ADD_INVITED_TEAM ELeagueAuditAction = 17 + ELeagueAuditAction_LEAGUE_AUDIT_ACTION_LEAGUE_REMOVE_INVITED_TEAM ELeagueAuditAction = 18 + ELeagueAuditAction_LEAGUE_AUDIT_ACTION_LEAGUE_STATUS_CHANGED ELeagueAuditAction = 19 + ELeagueAuditAction_LEAGUE_AUDIT_ACTION_LEAGUE_STREAM_EDIT ELeagueAuditAction = 20 + ELeagueAuditAction_LEAGUE_AUDIT_ACTION_LEAGUE_TEAM_SWAP ELeagueAuditAction = 21 + ELeagueAuditAction_LEAGUE_AUDIT_ACTION_NODEGROUP_CREATE ELeagueAuditAction = 100 + ELeagueAuditAction_LEAGUE_AUDIT_ACTION_NODEGROUP_DESTROY ELeagueAuditAction = 101 + ELeagueAuditAction_LEAGUE_AUDIT_ACTION_NODEGROUP_ADD_TEAM ELeagueAuditAction = 102 + ELeagueAuditAction_LEAGUE_AUDIT_ACTION_NODEGROUP_REMOVE_TEAM ELeagueAuditAction = 103 + ELeagueAuditAction_LEAGUE_AUDIT_ACTION_NODEGROUP_SET_ADVANCING ELeagueAuditAction = 104 + ELeagueAuditAction_LEAGUE_AUDIT_ACTION_NODEGROUP_EDIT ELeagueAuditAction = 105 + ELeagueAuditAction_LEAGUE_AUDIT_ACTION_NODEGROUP_POPULATE ELeagueAuditAction = 106 + ELeagueAuditAction_LEAGUE_AUDIT_ACTION_NODEGROUP_COMPLETED ELeagueAuditAction = 107 + ELeagueAuditAction_LEAGUE_AUDIT_ACTION_NODEGROUP_SET_SECONDARY_ADVANCING ELeagueAuditAction = 108 + ELeagueAuditAction_LEAGUE_AUDIT_ACTION_NODEGROUP_SET_TERTIARY_ADVANCING ELeagueAuditAction = 109 + ELeagueAuditAction_LEAGUE_AUDIT_ACTION_NODE_CREATE ELeagueAuditAction = 200 + ELeagueAuditAction_LEAGUE_AUDIT_ACTION_NODE_DESTROY ELeagueAuditAction = 201 + ELeagueAuditAction_LEAGUE_AUDIT_ACTION_NODE_AUTOCREATE ELeagueAuditAction = 202 + ELeagueAuditAction_LEAGUE_AUDIT_ACTION_NODE_SET_TEAM ELeagueAuditAction = 203 + ELeagueAuditAction_LEAGUE_AUDIT_ACTION_NODE_SET_SERIES_ID ELeagueAuditAction = 204 + ELeagueAuditAction_LEAGUE_AUDIT_ACTION_NODE_SET_ADVANCING ELeagueAuditAction = 205 + ELeagueAuditAction_LEAGUE_AUDIT_ACTION_NODE_SET_TIME ELeagueAuditAction = 206 + ELeagueAuditAction_LEAGUE_AUDIT_ACTION_NODE_MATCH_COMPLETED ELeagueAuditAction = 207 + ELeagueAuditAction_LEAGUE_AUDIT_ACTION_NODE_COMPLETED ELeagueAuditAction = 208 + ELeagueAuditAction_LEAGUE_AUDIT_ACTION_NODE_EDIT ELeagueAuditAction = 209 +) + +// Enum value maps for ELeagueAuditAction. +var ( + ELeagueAuditAction_name = map[int32]string{ + 0: "LEAGUE_AUDIT_ACTION_INVALID", + 1: "LEAGUE_AUDIT_ACTION_LEAGUE_CREATE", + 2: "LEAGUE_AUDIT_ACTION_LEAGUE_EDIT", + 3: "LEAGUE_AUDIT_ACTION_LEAGUE_DELETE", + 4: "LEAGUE_AUDIT_ACTION_LEAGUE_ADMIN_ADD", + 5: "LEAGUE_AUDIT_ACTION_LEAGUE_ADMIN_REVOKE", + 6: "LEAGUE_AUDIT_ACTION_LEAGUE_ADMIN_PROMOTE", + 7: "LEAGUE_AUDIT_ACTION_LEAGUE_STREAM_ADD", + 8: "LEAGUE_AUDIT_ACTION_LEAGUE_STREAM_REMOVE", + 9: "LEAGUE_AUDIT_ACTION_LEAGUE_IMAGE_UPDATED", + 10: "LEAGUE_AUDIT_ACTION_LEAGUE_MESSAGE_ADDED", + 11: "LEAGUE_AUDIT_ACTION_LEAGUE_SUBMITTED", + 12: "LEAGUE_AUDIT_ACTION_LEAGUE_SET_PRIZE_POOL", + 13: "LEAGUE_AUDIT_ACTION_LEAGUE_ADD_PRIZE_POOL_ITEM", + 14: "LEAGUE_AUDIT_ACTION_LEAGUE_REMOVE_PRIZE_POOL_ITEM", + 15: "LEAGUE_AUDIT_ACTION_LEAGUE_MATCH_START", + 16: "LEAGUE_AUDIT_ACTION_LEAGUE_MATCH_END", + 17: "LEAGUE_AUDIT_ACTION_LEAGUE_ADD_INVITED_TEAM", + 18: "LEAGUE_AUDIT_ACTION_LEAGUE_REMOVE_INVITED_TEAM", + 19: "LEAGUE_AUDIT_ACTION_LEAGUE_STATUS_CHANGED", + 20: "LEAGUE_AUDIT_ACTION_LEAGUE_STREAM_EDIT", + 21: "LEAGUE_AUDIT_ACTION_LEAGUE_TEAM_SWAP", + 100: "LEAGUE_AUDIT_ACTION_NODEGROUP_CREATE", + 101: "LEAGUE_AUDIT_ACTION_NODEGROUP_DESTROY", + 102: "LEAGUE_AUDIT_ACTION_NODEGROUP_ADD_TEAM", + 103: "LEAGUE_AUDIT_ACTION_NODEGROUP_REMOVE_TEAM", + 104: "LEAGUE_AUDIT_ACTION_NODEGROUP_SET_ADVANCING", + 105: "LEAGUE_AUDIT_ACTION_NODEGROUP_EDIT", + 106: "LEAGUE_AUDIT_ACTION_NODEGROUP_POPULATE", + 107: "LEAGUE_AUDIT_ACTION_NODEGROUP_COMPLETED", + 108: "LEAGUE_AUDIT_ACTION_NODEGROUP_SET_SECONDARY_ADVANCING", + 109: "LEAGUE_AUDIT_ACTION_NODEGROUP_SET_TERTIARY_ADVANCING", + 200: "LEAGUE_AUDIT_ACTION_NODE_CREATE", + 201: "LEAGUE_AUDIT_ACTION_NODE_DESTROY", + 202: "LEAGUE_AUDIT_ACTION_NODE_AUTOCREATE", + 203: "LEAGUE_AUDIT_ACTION_NODE_SET_TEAM", + 204: "LEAGUE_AUDIT_ACTION_NODE_SET_SERIES_ID", + 205: "LEAGUE_AUDIT_ACTION_NODE_SET_ADVANCING", + 206: "LEAGUE_AUDIT_ACTION_NODE_SET_TIME", + 207: "LEAGUE_AUDIT_ACTION_NODE_MATCH_COMPLETED", + 208: "LEAGUE_AUDIT_ACTION_NODE_COMPLETED", + 209: "LEAGUE_AUDIT_ACTION_NODE_EDIT", + } + ELeagueAuditAction_value = map[string]int32{ + "LEAGUE_AUDIT_ACTION_INVALID": 0, + "LEAGUE_AUDIT_ACTION_LEAGUE_CREATE": 1, + "LEAGUE_AUDIT_ACTION_LEAGUE_EDIT": 2, + "LEAGUE_AUDIT_ACTION_LEAGUE_DELETE": 3, + "LEAGUE_AUDIT_ACTION_LEAGUE_ADMIN_ADD": 4, + "LEAGUE_AUDIT_ACTION_LEAGUE_ADMIN_REVOKE": 5, + "LEAGUE_AUDIT_ACTION_LEAGUE_ADMIN_PROMOTE": 6, + "LEAGUE_AUDIT_ACTION_LEAGUE_STREAM_ADD": 7, + "LEAGUE_AUDIT_ACTION_LEAGUE_STREAM_REMOVE": 8, + "LEAGUE_AUDIT_ACTION_LEAGUE_IMAGE_UPDATED": 9, + "LEAGUE_AUDIT_ACTION_LEAGUE_MESSAGE_ADDED": 10, + "LEAGUE_AUDIT_ACTION_LEAGUE_SUBMITTED": 11, + "LEAGUE_AUDIT_ACTION_LEAGUE_SET_PRIZE_POOL": 12, + "LEAGUE_AUDIT_ACTION_LEAGUE_ADD_PRIZE_POOL_ITEM": 13, + "LEAGUE_AUDIT_ACTION_LEAGUE_REMOVE_PRIZE_POOL_ITEM": 14, + "LEAGUE_AUDIT_ACTION_LEAGUE_MATCH_START": 15, + "LEAGUE_AUDIT_ACTION_LEAGUE_MATCH_END": 16, + "LEAGUE_AUDIT_ACTION_LEAGUE_ADD_INVITED_TEAM": 17, + "LEAGUE_AUDIT_ACTION_LEAGUE_REMOVE_INVITED_TEAM": 18, + "LEAGUE_AUDIT_ACTION_LEAGUE_STATUS_CHANGED": 19, + "LEAGUE_AUDIT_ACTION_LEAGUE_STREAM_EDIT": 20, + "LEAGUE_AUDIT_ACTION_LEAGUE_TEAM_SWAP": 21, + "LEAGUE_AUDIT_ACTION_NODEGROUP_CREATE": 100, + "LEAGUE_AUDIT_ACTION_NODEGROUP_DESTROY": 101, + "LEAGUE_AUDIT_ACTION_NODEGROUP_ADD_TEAM": 102, + "LEAGUE_AUDIT_ACTION_NODEGROUP_REMOVE_TEAM": 103, + "LEAGUE_AUDIT_ACTION_NODEGROUP_SET_ADVANCING": 104, + "LEAGUE_AUDIT_ACTION_NODEGROUP_EDIT": 105, + "LEAGUE_AUDIT_ACTION_NODEGROUP_POPULATE": 106, + "LEAGUE_AUDIT_ACTION_NODEGROUP_COMPLETED": 107, + "LEAGUE_AUDIT_ACTION_NODEGROUP_SET_SECONDARY_ADVANCING": 108, + "LEAGUE_AUDIT_ACTION_NODEGROUP_SET_TERTIARY_ADVANCING": 109, + "LEAGUE_AUDIT_ACTION_NODE_CREATE": 200, + "LEAGUE_AUDIT_ACTION_NODE_DESTROY": 201, + "LEAGUE_AUDIT_ACTION_NODE_AUTOCREATE": 202, + "LEAGUE_AUDIT_ACTION_NODE_SET_TEAM": 203, + "LEAGUE_AUDIT_ACTION_NODE_SET_SERIES_ID": 204, + "LEAGUE_AUDIT_ACTION_NODE_SET_ADVANCING": 205, + "LEAGUE_AUDIT_ACTION_NODE_SET_TIME": 206, + "LEAGUE_AUDIT_ACTION_NODE_MATCH_COMPLETED": 207, + "LEAGUE_AUDIT_ACTION_NODE_COMPLETED": 208, + "LEAGUE_AUDIT_ACTION_NODE_EDIT": 209, + } +) + +func (x ELeagueAuditAction) Enum() *ELeagueAuditAction { + p := new(ELeagueAuditAction) + *p = x + return p +} + +func (x ELeagueAuditAction) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (ELeagueAuditAction) Descriptor() protoreflect.EnumDescriptor { + return file_dota_shared_enums_proto_enumTypes[39].Descriptor() +} + +func (ELeagueAuditAction) Type() protoreflect.EnumType { + return &file_dota_shared_enums_proto_enumTypes[39] +} + +func (x ELeagueAuditAction) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Do not use. +func (x *ELeagueAuditAction) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err + } + *x = ELeagueAuditAction(num) + return nil +} + +// Deprecated: Use ELeagueAuditAction.Descriptor instead. +func (ELeagueAuditAction) EnumDescriptor() ([]byte, []int) { + return file_dota_shared_enums_proto_rawDescGZIP(), []int{39} +} + +type DOTA_COMBATLOG_TYPES int32 + +const ( + DOTA_COMBATLOG_TYPES_DOTA_COMBATLOG_INVALID DOTA_COMBATLOG_TYPES = -1 + DOTA_COMBATLOG_TYPES_DOTA_COMBATLOG_DAMAGE DOTA_COMBATLOG_TYPES = 0 + DOTA_COMBATLOG_TYPES_DOTA_COMBATLOG_HEAL DOTA_COMBATLOG_TYPES = 1 + DOTA_COMBATLOG_TYPES_DOTA_COMBATLOG_MODIFIER_ADD DOTA_COMBATLOG_TYPES = 2 + DOTA_COMBATLOG_TYPES_DOTA_COMBATLOG_MODIFIER_REMOVE DOTA_COMBATLOG_TYPES = 3 + DOTA_COMBATLOG_TYPES_DOTA_COMBATLOG_DEATH DOTA_COMBATLOG_TYPES = 4 + DOTA_COMBATLOG_TYPES_DOTA_COMBATLOG_ABILITY DOTA_COMBATLOG_TYPES = 5 + DOTA_COMBATLOG_TYPES_DOTA_COMBATLOG_ITEM DOTA_COMBATLOG_TYPES = 6 + DOTA_COMBATLOG_TYPES_DOTA_COMBATLOG_LOCATION DOTA_COMBATLOG_TYPES = 7 + DOTA_COMBATLOG_TYPES_DOTA_COMBATLOG_GOLD DOTA_COMBATLOG_TYPES = 8 + DOTA_COMBATLOG_TYPES_DOTA_COMBATLOG_GAME_STATE DOTA_COMBATLOG_TYPES = 9 + DOTA_COMBATLOG_TYPES_DOTA_COMBATLOG_XP DOTA_COMBATLOG_TYPES = 10 + DOTA_COMBATLOG_TYPES_DOTA_COMBATLOG_PURCHASE DOTA_COMBATLOG_TYPES = 11 + DOTA_COMBATLOG_TYPES_DOTA_COMBATLOG_BUYBACK DOTA_COMBATLOG_TYPES = 12 + DOTA_COMBATLOG_TYPES_DOTA_COMBATLOG_ABILITY_TRIGGER DOTA_COMBATLOG_TYPES = 13 + DOTA_COMBATLOG_TYPES_DOTA_COMBATLOG_PLAYERSTATS DOTA_COMBATLOG_TYPES = 14 + DOTA_COMBATLOG_TYPES_DOTA_COMBATLOG_MULTIKILL DOTA_COMBATLOG_TYPES = 15 + DOTA_COMBATLOG_TYPES_DOTA_COMBATLOG_KILLSTREAK DOTA_COMBATLOG_TYPES = 16 + DOTA_COMBATLOG_TYPES_DOTA_COMBATLOG_TEAM_BUILDING_KILL DOTA_COMBATLOG_TYPES = 17 + DOTA_COMBATLOG_TYPES_DOTA_COMBATLOG_FIRST_BLOOD DOTA_COMBATLOG_TYPES = 18 + DOTA_COMBATLOG_TYPES_DOTA_COMBATLOG_MODIFIER_STACK_EVENT DOTA_COMBATLOG_TYPES = 19 + DOTA_COMBATLOG_TYPES_DOTA_COMBATLOG_NEUTRAL_CAMP_STACK DOTA_COMBATLOG_TYPES = 20 + DOTA_COMBATLOG_TYPES_DOTA_COMBATLOG_PICKUP_RUNE DOTA_COMBATLOG_TYPES = 21 + DOTA_COMBATLOG_TYPES_DOTA_COMBATLOG_REVEALED_INVISIBLE DOTA_COMBATLOG_TYPES = 22 + DOTA_COMBATLOG_TYPES_DOTA_COMBATLOG_HERO_SAVED DOTA_COMBATLOG_TYPES = 23 + DOTA_COMBATLOG_TYPES_DOTA_COMBATLOG_MANA_RESTORED DOTA_COMBATLOG_TYPES = 24 + DOTA_COMBATLOG_TYPES_DOTA_COMBATLOG_HERO_LEVELUP DOTA_COMBATLOG_TYPES = 25 + DOTA_COMBATLOG_TYPES_DOTA_COMBATLOG_BOTTLE_HEAL_ALLY DOTA_COMBATLOG_TYPES = 26 + DOTA_COMBATLOG_TYPES_DOTA_COMBATLOG_ENDGAME_STATS DOTA_COMBATLOG_TYPES = 27 + DOTA_COMBATLOG_TYPES_DOTA_COMBATLOG_INTERRUPT_CHANNEL DOTA_COMBATLOG_TYPES = 28 + DOTA_COMBATLOG_TYPES_DOTA_COMBATLOG_ALLIED_GOLD DOTA_COMBATLOG_TYPES = 29 + DOTA_COMBATLOG_TYPES_DOTA_COMBATLOG_AEGIS_TAKEN DOTA_COMBATLOG_TYPES = 30 + DOTA_COMBATLOG_TYPES_DOTA_COMBATLOG_MANA_DAMAGE DOTA_COMBATLOG_TYPES = 31 + DOTA_COMBATLOG_TYPES_DOTA_COMBATLOG_PHYSICAL_DAMAGE_PREVENTED DOTA_COMBATLOG_TYPES = 32 + DOTA_COMBATLOG_TYPES_DOTA_COMBATLOG_UNIT_SUMMONED DOTA_COMBATLOG_TYPES = 33 + DOTA_COMBATLOG_TYPES_DOTA_COMBATLOG_ATTACK_EVADE DOTA_COMBATLOG_TYPES = 34 + DOTA_COMBATLOG_TYPES_DOTA_COMBATLOG_TREE_CUT DOTA_COMBATLOG_TYPES = 35 + DOTA_COMBATLOG_TYPES_DOTA_COMBATLOG_SUCCESSFUL_SCAN DOTA_COMBATLOG_TYPES = 36 + DOTA_COMBATLOG_TYPES_DOTA_COMBATLOG_END_KILLSTREAK DOTA_COMBATLOG_TYPES = 37 + DOTA_COMBATLOG_TYPES_DOTA_COMBATLOG_BLOODSTONE_CHARGE DOTA_COMBATLOG_TYPES = 38 + DOTA_COMBATLOG_TYPES_DOTA_COMBATLOG_CRITICAL_DAMAGE DOTA_COMBATLOG_TYPES = 39 + DOTA_COMBATLOG_TYPES_DOTA_COMBATLOG_SPELL_ABSORB DOTA_COMBATLOG_TYPES = 40 + DOTA_COMBATLOG_TYPES_DOTA_COMBATLOG_UNIT_TELEPORTED DOTA_COMBATLOG_TYPES = 41 + DOTA_COMBATLOG_TYPES_DOTA_COMBATLOG_KILL_EATER_EVENT DOTA_COMBATLOG_TYPES = 42 +) + +// Enum value maps for DOTA_COMBATLOG_TYPES. +var ( + DOTA_COMBATLOG_TYPES_name = map[int32]string{ + -1: "DOTA_COMBATLOG_INVALID", + 0: "DOTA_COMBATLOG_DAMAGE", + 1: "DOTA_COMBATLOG_HEAL", + 2: "DOTA_COMBATLOG_MODIFIER_ADD", + 3: "DOTA_COMBATLOG_MODIFIER_REMOVE", + 4: "DOTA_COMBATLOG_DEATH", + 5: "DOTA_COMBATLOG_ABILITY", + 6: "DOTA_COMBATLOG_ITEM", + 7: "DOTA_COMBATLOG_LOCATION", + 8: "DOTA_COMBATLOG_GOLD", + 9: "DOTA_COMBATLOG_GAME_STATE", + 10: "DOTA_COMBATLOG_XP", + 11: "DOTA_COMBATLOG_PURCHASE", + 12: "DOTA_COMBATLOG_BUYBACK", + 13: "DOTA_COMBATLOG_ABILITY_TRIGGER", + 14: "DOTA_COMBATLOG_PLAYERSTATS", + 15: "DOTA_COMBATLOG_MULTIKILL", + 16: "DOTA_COMBATLOG_KILLSTREAK", + 17: "DOTA_COMBATLOG_TEAM_BUILDING_KILL", + 18: "DOTA_COMBATLOG_FIRST_BLOOD", + 19: "DOTA_COMBATLOG_MODIFIER_STACK_EVENT", + 20: "DOTA_COMBATLOG_NEUTRAL_CAMP_STACK", + 21: "DOTA_COMBATLOG_PICKUP_RUNE", + 22: "DOTA_COMBATLOG_REVEALED_INVISIBLE", + 23: "DOTA_COMBATLOG_HERO_SAVED", + 24: "DOTA_COMBATLOG_MANA_RESTORED", + 25: "DOTA_COMBATLOG_HERO_LEVELUP", + 26: "DOTA_COMBATLOG_BOTTLE_HEAL_ALLY", + 27: "DOTA_COMBATLOG_ENDGAME_STATS", + 28: "DOTA_COMBATLOG_INTERRUPT_CHANNEL", + 29: "DOTA_COMBATLOG_ALLIED_GOLD", + 30: "DOTA_COMBATLOG_AEGIS_TAKEN", + 31: "DOTA_COMBATLOG_MANA_DAMAGE", + 32: "DOTA_COMBATLOG_PHYSICAL_DAMAGE_PREVENTED", + 33: "DOTA_COMBATLOG_UNIT_SUMMONED", + 34: "DOTA_COMBATLOG_ATTACK_EVADE", + 35: "DOTA_COMBATLOG_TREE_CUT", + 36: "DOTA_COMBATLOG_SUCCESSFUL_SCAN", + 37: "DOTA_COMBATLOG_END_KILLSTREAK", + 38: "DOTA_COMBATLOG_BLOODSTONE_CHARGE", + 39: "DOTA_COMBATLOG_CRITICAL_DAMAGE", + 40: "DOTA_COMBATLOG_SPELL_ABSORB", + 41: "DOTA_COMBATLOG_UNIT_TELEPORTED", + 42: "DOTA_COMBATLOG_KILL_EATER_EVENT", + } + DOTA_COMBATLOG_TYPES_value = map[string]int32{ + "DOTA_COMBATLOG_INVALID": -1, + "DOTA_COMBATLOG_DAMAGE": 0, + "DOTA_COMBATLOG_HEAL": 1, + "DOTA_COMBATLOG_MODIFIER_ADD": 2, + "DOTA_COMBATLOG_MODIFIER_REMOVE": 3, + "DOTA_COMBATLOG_DEATH": 4, + "DOTA_COMBATLOG_ABILITY": 5, + "DOTA_COMBATLOG_ITEM": 6, + "DOTA_COMBATLOG_LOCATION": 7, + "DOTA_COMBATLOG_GOLD": 8, + "DOTA_COMBATLOG_GAME_STATE": 9, + "DOTA_COMBATLOG_XP": 10, + "DOTA_COMBATLOG_PURCHASE": 11, + "DOTA_COMBATLOG_BUYBACK": 12, + "DOTA_COMBATLOG_ABILITY_TRIGGER": 13, + "DOTA_COMBATLOG_PLAYERSTATS": 14, + "DOTA_COMBATLOG_MULTIKILL": 15, + "DOTA_COMBATLOG_KILLSTREAK": 16, + "DOTA_COMBATLOG_TEAM_BUILDING_KILL": 17, + "DOTA_COMBATLOG_FIRST_BLOOD": 18, + "DOTA_COMBATLOG_MODIFIER_STACK_EVENT": 19, + "DOTA_COMBATLOG_NEUTRAL_CAMP_STACK": 20, + "DOTA_COMBATLOG_PICKUP_RUNE": 21, + "DOTA_COMBATLOG_REVEALED_INVISIBLE": 22, + "DOTA_COMBATLOG_HERO_SAVED": 23, + "DOTA_COMBATLOG_MANA_RESTORED": 24, + "DOTA_COMBATLOG_HERO_LEVELUP": 25, + "DOTA_COMBATLOG_BOTTLE_HEAL_ALLY": 26, + "DOTA_COMBATLOG_ENDGAME_STATS": 27, + "DOTA_COMBATLOG_INTERRUPT_CHANNEL": 28, + "DOTA_COMBATLOG_ALLIED_GOLD": 29, + "DOTA_COMBATLOG_AEGIS_TAKEN": 30, + "DOTA_COMBATLOG_MANA_DAMAGE": 31, + "DOTA_COMBATLOG_PHYSICAL_DAMAGE_PREVENTED": 32, + "DOTA_COMBATLOG_UNIT_SUMMONED": 33, + "DOTA_COMBATLOG_ATTACK_EVADE": 34, + "DOTA_COMBATLOG_TREE_CUT": 35, + "DOTA_COMBATLOG_SUCCESSFUL_SCAN": 36, + "DOTA_COMBATLOG_END_KILLSTREAK": 37, + "DOTA_COMBATLOG_BLOODSTONE_CHARGE": 38, + "DOTA_COMBATLOG_CRITICAL_DAMAGE": 39, + "DOTA_COMBATLOG_SPELL_ABSORB": 40, + "DOTA_COMBATLOG_UNIT_TELEPORTED": 41, + "DOTA_COMBATLOG_KILL_EATER_EVENT": 42, + } +) + +func (x DOTA_COMBATLOG_TYPES) Enum() *DOTA_COMBATLOG_TYPES { + p := new(DOTA_COMBATLOG_TYPES) + *p = x + return p +} + +func (x DOTA_COMBATLOG_TYPES) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (DOTA_COMBATLOG_TYPES) Descriptor() protoreflect.EnumDescriptor { + return file_dota_shared_enums_proto_enumTypes[40].Descriptor() +} + +func (DOTA_COMBATLOG_TYPES) Type() protoreflect.EnumType { + return &file_dota_shared_enums_proto_enumTypes[40] +} + +func (x DOTA_COMBATLOG_TYPES) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Do not use. +func (x *DOTA_COMBATLOG_TYPES) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err + } + *x = DOTA_COMBATLOG_TYPES(num) + return nil +} + +// Deprecated: Use DOTA_COMBATLOG_TYPES.Descriptor instead. +func (DOTA_COMBATLOG_TYPES) EnumDescriptor() ([]byte, []int) { + return file_dota_shared_enums_proto_rawDescGZIP(), []int{40} +} + +type EDPCFavoriteType int32 + +const ( + EDPCFavoriteType_FAVORITE_TYPE_ALL EDPCFavoriteType = 0 + EDPCFavoriteType_FAVORITE_TYPE_PLAYER EDPCFavoriteType = 1 + EDPCFavoriteType_FAVORITE_TYPE_TEAM EDPCFavoriteType = 2 + EDPCFavoriteType_FAVORITE_TYPE_LEAGUE EDPCFavoriteType = 3 +) + +// Enum value maps for EDPCFavoriteType. +var ( + EDPCFavoriteType_name = map[int32]string{ + 0: "FAVORITE_TYPE_ALL", + 1: "FAVORITE_TYPE_PLAYER", + 2: "FAVORITE_TYPE_TEAM", + 3: "FAVORITE_TYPE_LEAGUE", + } + EDPCFavoriteType_value = map[string]int32{ + "FAVORITE_TYPE_ALL": 0, + "FAVORITE_TYPE_PLAYER": 1, + "FAVORITE_TYPE_TEAM": 2, + "FAVORITE_TYPE_LEAGUE": 3, + } +) + +func (x EDPCFavoriteType) Enum() *EDPCFavoriteType { + p := new(EDPCFavoriteType) + *p = x + return p +} + +func (x EDPCFavoriteType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (EDPCFavoriteType) Descriptor() protoreflect.EnumDescriptor { + return file_dota_shared_enums_proto_enumTypes[41].Descriptor() +} + +func (EDPCFavoriteType) Type() protoreflect.EnumType { + return &file_dota_shared_enums_proto_enumTypes[41] +} + +func (x EDPCFavoriteType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Do not use. +func (x *EDPCFavoriteType) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err + } + *x = EDPCFavoriteType(num) + return nil +} + +// Deprecated: Use EDPCFavoriteType.Descriptor instead. +func (EDPCFavoriteType) EnumDescriptor() ([]byte, []int) { + return file_dota_shared_enums_proto_rawDescGZIP(), []int{41} +} + +type EDPCPushNotification int32 + +const ( + EDPCPushNotification_DPC_PUSH_NOTIFICATION_MATCH_STARTING EDPCPushNotification = 1 + EDPCPushNotification_DPC_PUSH_NOTIFICATION_PLAYER_LEFT_TEAM EDPCPushNotification = 10 + EDPCPushNotification_DPC_PUSH_NOTIFICATION_PLAYER_JOINED_TEAM EDPCPushNotification = 11 + EDPCPushNotification_DPC_PUSH_NOTIFICATION_PLAYER_JOINED_TEAM_AS_COACH EDPCPushNotification = 12 + EDPCPushNotification_DPC_PUSH_NOTIFICATION_PLAYER_LEFT_TEAM_AS_COACH EDPCPushNotification = 13 + EDPCPushNotification_DPC_PUSH_NOTIFICATION_LEAGUE_RESULT EDPCPushNotification = 20 + EDPCPushNotification_DPC_PUSH_NOTIFICATION_PREDICTION_MATCHES_AVAILABLE EDPCPushNotification = 30 + EDPCPushNotification_DPC_PUSH_NOTIFICATION_PREDICTION_RESULT EDPCPushNotification = 31 + EDPCPushNotification_DPC_PUSH_NOTIFICATION_FANTASY_PLAYER_CLEARED EDPCPushNotification = 40 + EDPCPushNotification_DPC_PUSH_NOTIFICATION_FANTASY_DAILY_SUMMARY EDPCPushNotification = 41 + EDPCPushNotification_DPC_PUSH_NOTIFICATION_FANTASY_FINAL_RESULTS EDPCPushNotification = 42 +) + +// Enum value maps for EDPCPushNotification. +var ( + EDPCPushNotification_name = map[int32]string{ + 1: "DPC_PUSH_NOTIFICATION_MATCH_STARTING", + 10: "DPC_PUSH_NOTIFICATION_PLAYER_LEFT_TEAM", + 11: "DPC_PUSH_NOTIFICATION_PLAYER_JOINED_TEAM", + 12: "DPC_PUSH_NOTIFICATION_PLAYER_JOINED_TEAM_AS_COACH", + 13: "DPC_PUSH_NOTIFICATION_PLAYER_LEFT_TEAM_AS_COACH", + 20: "DPC_PUSH_NOTIFICATION_LEAGUE_RESULT", + 30: "DPC_PUSH_NOTIFICATION_PREDICTION_MATCHES_AVAILABLE", + 31: "DPC_PUSH_NOTIFICATION_PREDICTION_RESULT", + 40: "DPC_PUSH_NOTIFICATION_FANTASY_PLAYER_CLEARED", + 41: "DPC_PUSH_NOTIFICATION_FANTASY_DAILY_SUMMARY", + 42: "DPC_PUSH_NOTIFICATION_FANTASY_FINAL_RESULTS", + } + EDPCPushNotification_value = map[string]int32{ + "DPC_PUSH_NOTIFICATION_MATCH_STARTING": 1, + "DPC_PUSH_NOTIFICATION_PLAYER_LEFT_TEAM": 10, + "DPC_PUSH_NOTIFICATION_PLAYER_JOINED_TEAM": 11, + "DPC_PUSH_NOTIFICATION_PLAYER_JOINED_TEAM_AS_COACH": 12, + "DPC_PUSH_NOTIFICATION_PLAYER_LEFT_TEAM_AS_COACH": 13, + "DPC_PUSH_NOTIFICATION_LEAGUE_RESULT": 20, + "DPC_PUSH_NOTIFICATION_PREDICTION_MATCHES_AVAILABLE": 30, + "DPC_PUSH_NOTIFICATION_PREDICTION_RESULT": 31, + "DPC_PUSH_NOTIFICATION_FANTASY_PLAYER_CLEARED": 40, + "DPC_PUSH_NOTIFICATION_FANTASY_DAILY_SUMMARY": 41, + "DPC_PUSH_NOTIFICATION_FANTASY_FINAL_RESULTS": 42, + } +) + +func (x EDPCPushNotification) Enum() *EDPCPushNotification { + p := new(EDPCPushNotification) + *p = x + return p +} + +func (x EDPCPushNotification) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (EDPCPushNotification) Descriptor() protoreflect.EnumDescriptor { + return file_dota_shared_enums_proto_enumTypes[42].Descriptor() +} + +func (EDPCPushNotification) Type() protoreflect.EnumType { + return &file_dota_shared_enums_proto_enumTypes[42] +} + +func (x EDPCPushNotification) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Do not use. +func (x *EDPCPushNotification) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err + } + *x = EDPCPushNotification(num) + return nil +} + +// Deprecated: Use EDPCPushNotification.Descriptor instead. +func (EDPCPushNotification) EnumDescriptor() ([]byte, []int) { + return file_dota_shared_enums_proto_rawDescGZIP(), []int{42} +} + +type EEventActionScoreMode int32 + +const ( + EEventActionScoreMode_k_eEventActionScoreMode_Add EEventActionScoreMode = 0 + EEventActionScoreMode_k_eEventActionScoreMode_Min EEventActionScoreMode = 1 +) + +// Enum value maps for EEventActionScoreMode. +var ( + EEventActionScoreMode_name = map[int32]string{ + 0: "k_eEventActionScoreMode_Add", + 1: "k_eEventActionScoreMode_Min", + } + EEventActionScoreMode_value = map[string]int32{ + "k_eEventActionScoreMode_Add": 0, + "k_eEventActionScoreMode_Min": 1, + } +) + +func (x EEventActionScoreMode) Enum() *EEventActionScoreMode { + p := new(EEventActionScoreMode) + *p = x + return p +} + +func (x EEventActionScoreMode) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (EEventActionScoreMode) Descriptor() protoreflect.EnumDescriptor { + return file_dota_shared_enums_proto_enumTypes[43].Descriptor() +} + +func (EEventActionScoreMode) Type() protoreflect.EnumType { + return &file_dota_shared_enums_proto_enumTypes[43] +} + +func (x EEventActionScoreMode) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Do not use. +func (x *EEventActionScoreMode) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err + } + *x = EEventActionScoreMode(num) + return nil +} + +// Deprecated: Use EEventActionScoreMode.Descriptor instead. +func (EEventActionScoreMode) EnumDescriptor() ([]byte, []int) { + return file_dota_shared_enums_proto_rawDescGZIP(), []int{43} +} + +type EPlayerChallengeHistoryType int32 + +const ( + EPlayerChallengeHistoryType_k_EPlayerChallengeHistoryType_Invalid EPlayerChallengeHistoryType = 0 + EPlayerChallengeHistoryType_k_EPlayerChallengeHistoryType_KillEater EPlayerChallengeHistoryType = 1 + EPlayerChallengeHistoryType_k_EPlayerChallengeHistoryType_DotaPlusRelic EPlayerChallengeHistoryType = 2 + EPlayerChallengeHistoryType_k_EPlayerChallengeHistoryType_DotaPlusHeroPlayerChallenge EPlayerChallengeHistoryType = 3 + EPlayerChallengeHistoryType_k_EPlayerChallengeHistoryType_InGameEventChallenge EPlayerChallengeHistoryType = 4 + EPlayerChallengeHistoryType_k_EPlayerChallengeHistoryType_GuildContract EPlayerChallengeHistoryType = 5 +) + +// Enum value maps for EPlayerChallengeHistoryType. +var ( + EPlayerChallengeHistoryType_name = map[int32]string{ + 0: "k_EPlayerChallengeHistoryType_Invalid", + 1: "k_EPlayerChallengeHistoryType_KillEater", + 2: "k_EPlayerChallengeHistoryType_DotaPlusRelic", + 3: "k_EPlayerChallengeHistoryType_DotaPlusHeroPlayerChallenge", + 4: "k_EPlayerChallengeHistoryType_InGameEventChallenge", + 5: "k_EPlayerChallengeHistoryType_GuildContract", + } + EPlayerChallengeHistoryType_value = map[string]int32{ + "k_EPlayerChallengeHistoryType_Invalid": 0, + "k_EPlayerChallengeHistoryType_KillEater": 1, + "k_EPlayerChallengeHistoryType_DotaPlusRelic": 2, + "k_EPlayerChallengeHistoryType_DotaPlusHeroPlayerChallenge": 3, + "k_EPlayerChallengeHistoryType_InGameEventChallenge": 4, + "k_EPlayerChallengeHistoryType_GuildContract": 5, + } +) + +func (x EPlayerChallengeHistoryType) Enum() *EPlayerChallengeHistoryType { + p := new(EPlayerChallengeHistoryType) + *p = x + return p +} + +func (x EPlayerChallengeHistoryType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (EPlayerChallengeHistoryType) Descriptor() protoreflect.EnumDescriptor { + return file_dota_shared_enums_proto_enumTypes[44].Descriptor() +} + +func (EPlayerChallengeHistoryType) Type() protoreflect.EnumType { + return &file_dota_shared_enums_proto_enumTypes[44] +} + +func (x EPlayerChallengeHistoryType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Do not use. +func (x *EPlayerChallengeHistoryType) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err + } + *x = EPlayerChallengeHistoryType(num) + return nil +} + +// Deprecated: Use EPlayerChallengeHistoryType.Descriptor instead. +func (EPlayerChallengeHistoryType) EnumDescriptor() ([]byte, []int) { + return file_dota_shared_enums_proto_rawDescGZIP(), []int{44} +} + +type EOverwatchReportReason int32 + +const ( + EOverwatchReportReason_k_EOverwatchReportReason_Unknown EOverwatchReportReason = 0 + EOverwatchReportReason_k_EOverwatchReportReason_Cheating EOverwatchReportReason = 1 + EOverwatchReportReason_k_EOverwatchReportReason_Feeding EOverwatchReportReason = 2 + EOverwatchReportReason_k_EOverwatchReportReason_Griefing EOverwatchReportReason = 3 + EOverwatchReportReason_k_EOverwatchReportReason_Suspicious EOverwatchReportReason = 4 + EOverwatchReportReason_k_EOverwatchReportReason_AbilityAbuse EOverwatchReportReason = 5 +) + +// Enum value maps for EOverwatchReportReason. +var ( + EOverwatchReportReason_name = map[int32]string{ + 0: "k_EOverwatchReportReason_Unknown", + 1: "k_EOverwatchReportReason_Cheating", + 2: "k_EOverwatchReportReason_Feeding", + 3: "k_EOverwatchReportReason_Griefing", + 4: "k_EOverwatchReportReason_Suspicious", + 5: "k_EOverwatchReportReason_AbilityAbuse", + } + EOverwatchReportReason_value = map[string]int32{ + "k_EOverwatchReportReason_Unknown": 0, + "k_EOverwatchReportReason_Cheating": 1, + "k_EOverwatchReportReason_Feeding": 2, + "k_EOverwatchReportReason_Griefing": 3, + "k_EOverwatchReportReason_Suspicious": 4, + "k_EOverwatchReportReason_AbilityAbuse": 5, + } +) + +func (x EOverwatchReportReason) Enum() *EOverwatchReportReason { + p := new(EOverwatchReportReason) + *p = x + return p +} + +func (x EOverwatchReportReason) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (EOverwatchReportReason) Descriptor() protoreflect.EnumDescriptor { + return file_dota_shared_enums_proto_enumTypes[45].Descriptor() +} + +func (EOverwatchReportReason) Type() protoreflect.EnumType { + return &file_dota_shared_enums_proto_enumTypes[45] +} + +func (x EOverwatchReportReason) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Do not use. +func (x *EOverwatchReportReason) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err + } + *x = EOverwatchReportReason(num) + return nil +} + +// Deprecated: Use EOverwatchReportReason.Descriptor instead. +func (EOverwatchReportReason) EnumDescriptor() ([]byte, []int) { + return file_dota_shared_enums_proto_rawDescGZIP(), []int{45} +} + +type CDOTAClientHardwareSpecs struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + LogicalProcessors *uint32 `protobuf:"varint,1,opt,name=logical_processors,json=logicalProcessors" json:"logical_processors,omitempty"` + CpuCyclesPerSecond *uint64 `protobuf:"fixed64,2,opt,name=cpu_cycles_per_second,json=cpuCyclesPerSecond" json:"cpu_cycles_per_second,omitempty"` + TotalPhysicalMemory *uint64 `protobuf:"fixed64,3,opt,name=total_physical_memory,json=totalPhysicalMemory" json:"total_physical_memory,omitempty"` + Is_64BitOs *bool `protobuf:"varint,4,opt,name=is_64_bit_os,json=is64BitOs" json:"is_64_bit_os,omitempty"` + UploadMeasurement *uint64 `protobuf:"varint,5,opt,name=upload_measurement,json=uploadMeasurement" json:"upload_measurement,omitempty"` + PreferNotHost *bool `protobuf:"varint,6,opt,name=prefer_not_host,json=preferNotHost" json:"prefer_not_host,omitempty"` +} + +func (x *CDOTAClientHardwareSpecs) Reset() { + *x = CDOTAClientHardwareSpecs{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_shared_enums_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAClientHardwareSpecs) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAClientHardwareSpecs) ProtoMessage() {} + +func (x *CDOTAClientHardwareSpecs) ProtoReflect() protoreflect.Message { + mi := &file_dota_shared_enums_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CDOTAClientHardwareSpecs.ProtoReflect.Descriptor instead. +func (*CDOTAClientHardwareSpecs) Descriptor() ([]byte, []int) { + return file_dota_shared_enums_proto_rawDescGZIP(), []int{0} +} + +func (x *CDOTAClientHardwareSpecs) GetLogicalProcessors() uint32 { + if x != nil && x.LogicalProcessors != nil { + return *x.LogicalProcessors + } + return 0 +} + +func (x *CDOTAClientHardwareSpecs) GetCpuCyclesPerSecond() uint64 { + if x != nil && x.CpuCyclesPerSecond != nil { + return *x.CpuCyclesPerSecond + } + return 0 +} + +func (x *CDOTAClientHardwareSpecs) GetTotalPhysicalMemory() uint64 { + if x != nil && x.TotalPhysicalMemory != nil { + return *x.TotalPhysicalMemory + } + return 0 +} + +func (x *CDOTAClientHardwareSpecs) GetIs_64BitOs() bool { + if x != nil && x.Is_64BitOs != nil { + return *x.Is_64BitOs + } + return false +} + +func (x *CDOTAClientHardwareSpecs) GetUploadMeasurement() uint64 { + if x != nil && x.UploadMeasurement != nil { + return *x.UploadMeasurement + } + return 0 +} + +func (x *CDOTAClientHardwareSpecs) GetPreferNotHost() bool { + if x != nil && x.PreferNotHost != nil { + return *x.PreferNotHost + } + return false +} + +type CDOTASaveGame struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + MatchId *uint64 `protobuf:"varint,5,opt,name=match_id,json=matchId" json:"match_id,omitempty"` + SaveTime *uint32 `protobuf:"varint,2,opt,name=save_time,json=saveTime" json:"save_time,omitempty"` + Players []*CDOTASaveGame_Player `protobuf:"bytes,3,rep,name=players" json:"players,omitempty"` + SaveInstances []*CDOTASaveGame_SaveInstance `protobuf:"bytes,4,rep,name=save_instances,json=saveInstances" json:"save_instances,omitempty"` +} + +func (x *CDOTASaveGame) Reset() { + *x = CDOTASaveGame{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_shared_enums_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTASaveGame) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTASaveGame) ProtoMessage() {} + +func (x *CDOTASaveGame) ProtoReflect() protoreflect.Message { + mi := &file_dota_shared_enums_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CDOTASaveGame.ProtoReflect.Descriptor instead. +func (*CDOTASaveGame) Descriptor() ([]byte, []int) { + return file_dota_shared_enums_proto_rawDescGZIP(), []int{1} +} + +func (x *CDOTASaveGame) GetMatchId() uint64 { + if x != nil && x.MatchId != nil { + return *x.MatchId + } + return 0 +} + +func (x *CDOTASaveGame) GetSaveTime() uint32 { + if x != nil && x.SaveTime != nil { + return *x.SaveTime + } + return 0 +} + +func (x *CDOTASaveGame) GetPlayers() []*CDOTASaveGame_Player { + if x != nil { + return x.Players + } + return nil +} + +func (x *CDOTASaveGame) GetSaveInstances() []*CDOTASaveGame_SaveInstance { + if x != nil { + return x.SaveInstances + } + return nil +} + +type CMsgDOTACombatLogEntry struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Type *DOTA_COMBATLOG_TYPES `protobuf:"varint,1,opt,name=type,enum=DOTA_COMBATLOG_TYPES,def=-1" json:"type,omitempty"` + TargetName *uint32 `protobuf:"varint,2,opt,name=target_name,json=targetName" json:"target_name,omitempty"` + TargetSourceName *uint32 `protobuf:"varint,3,opt,name=target_source_name,json=targetSourceName" json:"target_source_name,omitempty"` + AttackerName *uint32 `protobuf:"varint,4,opt,name=attacker_name,json=attackerName" json:"attacker_name,omitempty"` + DamageSourceName *uint32 `protobuf:"varint,5,opt,name=damage_source_name,json=damageSourceName" json:"damage_source_name,omitempty"` + InflictorName *uint32 `protobuf:"varint,6,opt,name=inflictor_name,json=inflictorName" json:"inflictor_name,omitempty"` + IsAttackerIllusion *bool `protobuf:"varint,7,opt,name=is_attacker_illusion,json=isAttackerIllusion" json:"is_attacker_illusion,omitempty"` + IsAttackerHero *bool `protobuf:"varint,8,opt,name=is_attacker_hero,json=isAttackerHero" json:"is_attacker_hero,omitempty"` + IsTargetIllusion *bool `protobuf:"varint,9,opt,name=is_target_illusion,json=isTargetIllusion" json:"is_target_illusion,omitempty"` + IsTargetHero *bool `protobuf:"varint,10,opt,name=is_target_hero,json=isTargetHero" json:"is_target_hero,omitempty"` + IsVisibleRadiant *bool `protobuf:"varint,11,opt,name=is_visible_radiant,json=isVisibleRadiant" json:"is_visible_radiant,omitempty"` + IsVisibleDire *bool `protobuf:"varint,12,opt,name=is_visible_dire,json=isVisibleDire" json:"is_visible_dire,omitempty"` + Value *uint32 `protobuf:"varint,13,opt,name=value" json:"value,omitempty"` + Health *int32 `protobuf:"varint,14,opt,name=health" json:"health,omitempty"` + Timestamp *float32 `protobuf:"fixed32,15,opt,name=timestamp" json:"timestamp,omitempty"` + StunDuration *float32 `protobuf:"fixed32,16,opt,name=stun_duration,json=stunDuration" json:"stun_duration,omitempty"` + SlowDuration *float32 `protobuf:"fixed32,17,opt,name=slow_duration,json=slowDuration" json:"slow_duration,omitempty"` + IsAbilityToggleOn *bool `protobuf:"varint,18,opt,name=is_ability_toggle_on,json=isAbilityToggleOn" json:"is_ability_toggle_on,omitempty"` + IsAbilityToggleOff *bool `protobuf:"varint,19,opt,name=is_ability_toggle_off,json=isAbilityToggleOff" json:"is_ability_toggle_off,omitempty"` + AbilityLevel *uint32 `protobuf:"varint,20,opt,name=ability_level,json=abilityLevel" json:"ability_level,omitempty"` + LocationX *float32 `protobuf:"fixed32,21,opt,name=location_x,json=locationX" json:"location_x,omitempty"` + LocationY *float32 `protobuf:"fixed32,22,opt,name=location_y,json=locationY" json:"location_y,omitempty"` + GoldReason *uint32 `protobuf:"varint,23,opt,name=gold_reason,json=goldReason" json:"gold_reason,omitempty"` + TimestampRaw *float32 `protobuf:"fixed32,24,opt,name=timestamp_raw,json=timestampRaw" json:"timestamp_raw,omitempty"` + ModifierDuration *float32 `protobuf:"fixed32,25,opt,name=modifier_duration,json=modifierDuration" json:"modifier_duration,omitempty"` + XpReason *uint32 `protobuf:"varint,26,opt,name=xp_reason,json=xpReason" json:"xp_reason,omitempty"` + LastHits *uint32 `protobuf:"varint,27,opt,name=last_hits,json=lastHits" json:"last_hits,omitempty"` + AttackerTeam *uint32 `protobuf:"varint,28,opt,name=attacker_team,json=attackerTeam" json:"attacker_team,omitempty"` + TargetTeam *uint32 `protobuf:"varint,29,opt,name=target_team,json=targetTeam" json:"target_team,omitempty"` + ObsWardsPlaced *uint32 `protobuf:"varint,30,opt,name=obs_wards_placed,json=obsWardsPlaced" json:"obs_wards_placed,omitempty"` + AssistPlayer0 *uint32 `protobuf:"varint,31,opt,name=assist_player0,json=assistPlayer0" json:"assist_player0,omitempty"` + AssistPlayer1 *uint32 `protobuf:"varint,32,opt,name=assist_player1,json=assistPlayer1" json:"assist_player1,omitempty"` + AssistPlayer2 *uint32 `protobuf:"varint,33,opt,name=assist_player2,json=assistPlayer2" json:"assist_player2,omitempty"` + AssistPlayer3 *uint32 `protobuf:"varint,34,opt,name=assist_player3,json=assistPlayer3" json:"assist_player3,omitempty"` + StackCount *uint32 `protobuf:"varint,35,opt,name=stack_count,json=stackCount" json:"stack_count,omitempty"` + HiddenModifier *bool `protobuf:"varint,36,opt,name=hidden_modifier,json=hiddenModifier" json:"hidden_modifier,omitempty"` + IsTargetBuilding *bool `protobuf:"varint,37,opt,name=is_target_building,json=isTargetBuilding" json:"is_target_building,omitempty"` + NeutralCampType *uint32 `protobuf:"varint,38,opt,name=neutral_camp_type,json=neutralCampType" json:"neutral_camp_type,omitempty"` + RuneType *uint32 `protobuf:"varint,39,opt,name=rune_type,json=runeType" json:"rune_type,omitempty"` + AssistPlayers []int32 `protobuf:"varint,40,rep,name=assist_players,json=assistPlayers" json:"assist_players,omitempty"` + IsHealSave *bool `protobuf:"varint,41,opt,name=is_heal_save,json=isHealSave" json:"is_heal_save,omitempty"` + IsUltimateAbility *bool `protobuf:"varint,42,opt,name=is_ultimate_ability,json=isUltimateAbility" json:"is_ultimate_ability,omitempty"` + AttackerHeroLevel *uint32 `protobuf:"varint,43,opt,name=attacker_hero_level,json=attackerHeroLevel" json:"attacker_hero_level,omitempty"` + TargetHeroLevel *uint32 `protobuf:"varint,44,opt,name=target_hero_level,json=targetHeroLevel" json:"target_hero_level,omitempty"` + Xpm *uint32 `protobuf:"varint,45,opt,name=xpm" json:"xpm,omitempty"` + Gpm *uint32 `protobuf:"varint,46,opt,name=gpm" json:"gpm,omitempty"` + EventLocation *uint32 `protobuf:"varint,47,opt,name=event_location,json=eventLocation" json:"event_location,omitempty"` + TargetIsSelf *bool `protobuf:"varint,48,opt,name=target_is_self,json=targetIsSelf" json:"target_is_self,omitempty"` + DamageType *uint32 `protobuf:"varint,49,opt,name=damage_type,json=damageType" json:"damage_type,omitempty"` + InvisibilityModifier *bool `protobuf:"varint,50,opt,name=invisibility_modifier,json=invisibilityModifier" json:"invisibility_modifier,omitempty"` + DamageCategory *uint32 `protobuf:"varint,51,opt,name=damage_category,json=damageCategory" json:"damage_category,omitempty"` + Networth *uint32 `protobuf:"varint,52,opt,name=networth" json:"networth,omitempty"` + BuildingType *uint32 `protobuf:"varint,53,opt,name=building_type,json=buildingType" json:"building_type,omitempty"` + ModifierElapsedDuration *float32 `protobuf:"fixed32,54,opt,name=modifier_elapsed_duration,json=modifierElapsedDuration" json:"modifier_elapsed_duration,omitempty"` + SilenceModifier *bool `protobuf:"varint,55,opt,name=silence_modifier,json=silenceModifier" json:"silence_modifier,omitempty"` + HealFromLifesteal *bool `protobuf:"varint,56,opt,name=heal_from_lifesteal,json=healFromLifesteal" json:"heal_from_lifesteal,omitempty"` + ModifierPurged *bool `protobuf:"varint,57,opt,name=modifier_purged,json=modifierPurged" json:"modifier_purged,omitempty"` + SpellEvaded *bool `protobuf:"varint,58,opt,name=spell_evaded,json=spellEvaded" json:"spell_evaded,omitempty"` + MotionControllerModifier *bool `protobuf:"varint,59,opt,name=motion_controller_modifier,json=motionControllerModifier" json:"motion_controller_modifier,omitempty"` + LongRangeKill *bool `protobuf:"varint,60,opt,name=long_range_kill,json=longRangeKill" json:"long_range_kill,omitempty"` + ModifierPurgeAbility *uint32 `protobuf:"varint,61,opt,name=modifier_purge_ability,json=modifierPurgeAbility" json:"modifier_purge_ability,omitempty"` + ModifierPurgeNpc *uint32 `protobuf:"varint,62,opt,name=modifier_purge_npc,json=modifierPurgeNpc" json:"modifier_purge_npc,omitempty"` + RootModifier *bool `protobuf:"varint,63,opt,name=root_modifier,json=rootModifier" json:"root_modifier,omitempty"` + TotalUnitDeathCount *uint32 `protobuf:"varint,64,opt,name=total_unit_death_count,json=totalUnitDeathCount" json:"total_unit_death_count,omitempty"` + AuraModifier *bool `protobuf:"varint,65,opt,name=aura_modifier,json=auraModifier" json:"aura_modifier,omitempty"` + ArmorDebuffModifier *bool `protobuf:"varint,66,opt,name=armor_debuff_modifier,json=armorDebuffModifier" json:"armor_debuff_modifier,omitempty"` + NoPhysicalDamageModifier *bool `protobuf:"varint,67,opt,name=no_physical_damage_modifier,json=noPhysicalDamageModifier" json:"no_physical_damage_modifier,omitempty"` + ModifierAbility *uint32 `protobuf:"varint,68,opt,name=modifier_ability,json=modifierAbility" json:"modifier_ability,omitempty"` + ModifierHidden *bool `protobuf:"varint,69,opt,name=modifier_hidden,json=modifierHidden" json:"modifier_hidden,omitempty"` + InflictorIsStolenAbility *bool `protobuf:"varint,70,opt,name=inflictor_is_stolen_ability,json=inflictorIsStolenAbility" json:"inflictor_is_stolen_ability,omitempty"` + KillEaterEvent *uint32 `protobuf:"varint,71,opt,name=kill_eater_event,json=killEaterEvent" json:"kill_eater_event,omitempty"` + UnitStatusLabel *uint32 `protobuf:"varint,72,opt,name=unit_status_label,json=unitStatusLabel" json:"unit_status_label,omitempty"` + SpellGeneratedAttack *bool `protobuf:"varint,73,opt,name=spell_generated_attack,json=spellGeneratedAttack" json:"spell_generated_attack,omitempty"` + AtNightTime *bool `protobuf:"varint,74,opt,name=at_night_time,json=atNightTime" json:"at_night_time,omitempty"` + AttackerHasScepter *bool `protobuf:"varint,75,opt,name=attacker_has_scepter,json=attackerHasScepter" json:"attacker_has_scepter,omitempty"` +} + +// Default values for CMsgDOTACombatLogEntry fields. +const ( + Default_CMsgDOTACombatLogEntry_Type = DOTA_COMBATLOG_TYPES_DOTA_COMBATLOG_INVALID +) + +func (x *CMsgDOTACombatLogEntry) Reset() { + *x = CMsgDOTACombatLogEntry{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_shared_enums_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CMsgDOTACombatLogEntry) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CMsgDOTACombatLogEntry) ProtoMessage() {} + +func (x *CMsgDOTACombatLogEntry) ProtoReflect() protoreflect.Message { + mi := &file_dota_shared_enums_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CMsgDOTACombatLogEntry.ProtoReflect.Descriptor instead. +func (*CMsgDOTACombatLogEntry) Descriptor() ([]byte, []int) { + return file_dota_shared_enums_proto_rawDescGZIP(), []int{2} +} + +func (x *CMsgDOTACombatLogEntry) GetType() DOTA_COMBATLOG_TYPES { + if x != nil && x.Type != nil { + return *x.Type + } + return Default_CMsgDOTACombatLogEntry_Type +} + +func (x *CMsgDOTACombatLogEntry) GetTargetName() uint32 { + if x != nil && x.TargetName != nil { + return *x.TargetName + } + return 0 +} + +func (x *CMsgDOTACombatLogEntry) GetTargetSourceName() uint32 { + if x != nil && x.TargetSourceName != nil { + return *x.TargetSourceName + } + return 0 +} + +func (x *CMsgDOTACombatLogEntry) GetAttackerName() uint32 { + if x != nil && x.AttackerName != nil { + return *x.AttackerName + } + return 0 +} + +func (x *CMsgDOTACombatLogEntry) GetDamageSourceName() uint32 { + if x != nil && x.DamageSourceName != nil { + return *x.DamageSourceName + } + return 0 +} + +func (x *CMsgDOTACombatLogEntry) GetInflictorName() uint32 { + if x != nil && x.InflictorName != nil { + return *x.InflictorName + } + return 0 +} + +func (x *CMsgDOTACombatLogEntry) GetIsAttackerIllusion() bool { + if x != nil && x.IsAttackerIllusion != nil { + return *x.IsAttackerIllusion + } + return false +} + +func (x *CMsgDOTACombatLogEntry) GetIsAttackerHero() bool { + if x != nil && x.IsAttackerHero != nil { + return *x.IsAttackerHero + } + return false +} + +func (x *CMsgDOTACombatLogEntry) GetIsTargetIllusion() bool { + if x != nil && x.IsTargetIllusion != nil { + return *x.IsTargetIllusion + } + return false +} + +func (x *CMsgDOTACombatLogEntry) GetIsTargetHero() bool { + if x != nil && x.IsTargetHero != nil { + return *x.IsTargetHero + } + return false +} + +func (x *CMsgDOTACombatLogEntry) GetIsVisibleRadiant() bool { + if x != nil && x.IsVisibleRadiant != nil { + return *x.IsVisibleRadiant + } + return false +} + +func (x *CMsgDOTACombatLogEntry) GetIsVisibleDire() bool { + if x != nil && x.IsVisibleDire != nil { + return *x.IsVisibleDire + } + return false +} + +func (x *CMsgDOTACombatLogEntry) GetValue() uint32 { + if x != nil && x.Value != nil { + return *x.Value + } + return 0 +} + +func (x *CMsgDOTACombatLogEntry) GetHealth() int32 { + if x != nil && x.Health != nil { + return *x.Health + } + return 0 +} + +func (x *CMsgDOTACombatLogEntry) GetTimestamp() float32 { + if x != nil && x.Timestamp != nil { + return *x.Timestamp + } + return 0 +} + +func (x *CMsgDOTACombatLogEntry) GetStunDuration() float32 { + if x != nil && x.StunDuration != nil { + return *x.StunDuration + } + return 0 +} + +func (x *CMsgDOTACombatLogEntry) GetSlowDuration() float32 { + if x != nil && x.SlowDuration != nil { + return *x.SlowDuration + } + return 0 +} + +func (x *CMsgDOTACombatLogEntry) GetIsAbilityToggleOn() bool { + if x != nil && x.IsAbilityToggleOn != nil { + return *x.IsAbilityToggleOn + } + return false +} + +func (x *CMsgDOTACombatLogEntry) GetIsAbilityToggleOff() bool { + if x != nil && x.IsAbilityToggleOff != nil { + return *x.IsAbilityToggleOff + } + return false +} + +func (x *CMsgDOTACombatLogEntry) GetAbilityLevel() uint32 { + if x != nil && x.AbilityLevel != nil { + return *x.AbilityLevel + } + return 0 +} + +func (x *CMsgDOTACombatLogEntry) GetLocationX() float32 { + if x != nil && x.LocationX != nil { + return *x.LocationX + } + return 0 +} + +func (x *CMsgDOTACombatLogEntry) GetLocationY() float32 { + if x != nil && x.LocationY != nil { + return *x.LocationY + } + return 0 +} + +func (x *CMsgDOTACombatLogEntry) GetGoldReason() uint32 { + if x != nil && x.GoldReason != nil { + return *x.GoldReason + } + return 0 +} + +func (x *CMsgDOTACombatLogEntry) GetTimestampRaw() float32 { + if x != nil && x.TimestampRaw != nil { + return *x.TimestampRaw + } + return 0 +} + +func (x *CMsgDOTACombatLogEntry) GetModifierDuration() float32 { + if x != nil && x.ModifierDuration != nil { + return *x.ModifierDuration + } + return 0 +} + +func (x *CMsgDOTACombatLogEntry) GetXpReason() uint32 { + if x != nil && x.XpReason != nil { + return *x.XpReason + } + return 0 +} + +func (x *CMsgDOTACombatLogEntry) GetLastHits() uint32 { + if x != nil && x.LastHits != nil { + return *x.LastHits + } + return 0 +} + +func (x *CMsgDOTACombatLogEntry) GetAttackerTeam() uint32 { + if x != nil && x.AttackerTeam != nil { + return *x.AttackerTeam + } + return 0 +} + +func (x *CMsgDOTACombatLogEntry) GetTargetTeam() uint32 { + if x != nil && x.TargetTeam != nil { + return *x.TargetTeam + } + return 0 +} + +func (x *CMsgDOTACombatLogEntry) GetObsWardsPlaced() uint32 { + if x != nil && x.ObsWardsPlaced != nil { + return *x.ObsWardsPlaced + } + return 0 +} + +func (x *CMsgDOTACombatLogEntry) GetAssistPlayer0() uint32 { + if x != nil && x.AssistPlayer0 != nil { + return *x.AssistPlayer0 + } + return 0 +} + +func (x *CMsgDOTACombatLogEntry) GetAssistPlayer1() uint32 { + if x != nil && x.AssistPlayer1 != nil { + return *x.AssistPlayer1 + } + return 0 +} + +func (x *CMsgDOTACombatLogEntry) GetAssistPlayer2() uint32 { + if x != nil && x.AssistPlayer2 != nil { + return *x.AssistPlayer2 + } + return 0 +} + +func (x *CMsgDOTACombatLogEntry) GetAssistPlayer3() uint32 { + if x != nil && x.AssistPlayer3 != nil { + return *x.AssistPlayer3 + } + return 0 +} + +func (x *CMsgDOTACombatLogEntry) GetStackCount() uint32 { + if x != nil && x.StackCount != nil { + return *x.StackCount + } + return 0 +} + +func (x *CMsgDOTACombatLogEntry) GetHiddenModifier() bool { + if x != nil && x.HiddenModifier != nil { + return *x.HiddenModifier + } + return false +} + +func (x *CMsgDOTACombatLogEntry) GetIsTargetBuilding() bool { + if x != nil && x.IsTargetBuilding != nil { + return *x.IsTargetBuilding + } + return false +} + +func (x *CMsgDOTACombatLogEntry) GetNeutralCampType() uint32 { + if x != nil && x.NeutralCampType != nil { + return *x.NeutralCampType + } + return 0 +} + +func (x *CMsgDOTACombatLogEntry) GetRuneType() uint32 { + if x != nil && x.RuneType != nil { + return *x.RuneType + } + return 0 +} + +func (x *CMsgDOTACombatLogEntry) GetAssistPlayers() []int32 { + if x != nil { + return x.AssistPlayers + } + return nil +} + +func (x *CMsgDOTACombatLogEntry) GetIsHealSave() bool { + if x != nil && x.IsHealSave != nil { + return *x.IsHealSave + } + return false +} + +func (x *CMsgDOTACombatLogEntry) GetIsUltimateAbility() bool { + if x != nil && x.IsUltimateAbility != nil { + return *x.IsUltimateAbility + } + return false +} + +func (x *CMsgDOTACombatLogEntry) GetAttackerHeroLevel() uint32 { + if x != nil && x.AttackerHeroLevel != nil { + return *x.AttackerHeroLevel + } + return 0 +} + +func (x *CMsgDOTACombatLogEntry) GetTargetHeroLevel() uint32 { + if x != nil && x.TargetHeroLevel != nil { + return *x.TargetHeroLevel + } + return 0 +} + +func (x *CMsgDOTACombatLogEntry) GetXpm() uint32 { + if x != nil && x.Xpm != nil { + return *x.Xpm + } + return 0 +} + +func (x *CMsgDOTACombatLogEntry) GetGpm() uint32 { + if x != nil && x.Gpm != nil { + return *x.Gpm + } + return 0 +} + +func (x *CMsgDOTACombatLogEntry) GetEventLocation() uint32 { + if x != nil && x.EventLocation != nil { + return *x.EventLocation + } + return 0 +} + +func (x *CMsgDOTACombatLogEntry) GetTargetIsSelf() bool { + if x != nil && x.TargetIsSelf != nil { + return *x.TargetIsSelf + } + return false +} + +func (x *CMsgDOTACombatLogEntry) GetDamageType() uint32 { + if x != nil && x.DamageType != nil { + return *x.DamageType + } + return 0 +} + +func (x *CMsgDOTACombatLogEntry) GetInvisibilityModifier() bool { + if x != nil && x.InvisibilityModifier != nil { + return *x.InvisibilityModifier + } + return false +} + +func (x *CMsgDOTACombatLogEntry) GetDamageCategory() uint32 { + if x != nil && x.DamageCategory != nil { + return *x.DamageCategory + } + return 0 +} + +func (x *CMsgDOTACombatLogEntry) GetNetworth() uint32 { + if x != nil && x.Networth != nil { + return *x.Networth + } + return 0 +} + +func (x *CMsgDOTACombatLogEntry) GetBuildingType() uint32 { + if x != nil && x.BuildingType != nil { + return *x.BuildingType + } + return 0 +} + +func (x *CMsgDOTACombatLogEntry) GetModifierElapsedDuration() float32 { + if x != nil && x.ModifierElapsedDuration != nil { + return *x.ModifierElapsedDuration + } + return 0 +} + +func (x *CMsgDOTACombatLogEntry) GetSilenceModifier() bool { + if x != nil && x.SilenceModifier != nil { + return *x.SilenceModifier + } + return false +} + +func (x *CMsgDOTACombatLogEntry) GetHealFromLifesteal() bool { + if x != nil && x.HealFromLifesteal != nil { + return *x.HealFromLifesteal + } + return false +} + +func (x *CMsgDOTACombatLogEntry) GetModifierPurged() bool { + if x != nil && x.ModifierPurged != nil { + return *x.ModifierPurged + } + return false +} + +func (x *CMsgDOTACombatLogEntry) GetSpellEvaded() bool { + if x != nil && x.SpellEvaded != nil { + return *x.SpellEvaded + } + return false +} + +func (x *CMsgDOTACombatLogEntry) GetMotionControllerModifier() bool { + if x != nil && x.MotionControllerModifier != nil { + return *x.MotionControllerModifier + } + return false +} + +func (x *CMsgDOTACombatLogEntry) GetLongRangeKill() bool { + if x != nil && x.LongRangeKill != nil { + return *x.LongRangeKill + } + return false +} + +func (x *CMsgDOTACombatLogEntry) GetModifierPurgeAbility() uint32 { + if x != nil && x.ModifierPurgeAbility != nil { + return *x.ModifierPurgeAbility + } + return 0 +} + +func (x *CMsgDOTACombatLogEntry) GetModifierPurgeNpc() uint32 { + if x != nil && x.ModifierPurgeNpc != nil { + return *x.ModifierPurgeNpc + } + return 0 +} + +func (x *CMsgDOTACombatLogEntry) GetRootModifier() bool { + if x != nil && x.RootModifier != nil { + return *x.RootModifier + } + return false +} + +func (x *CMsgDOTACombatLogEntry) GetTotalUnitDeathCount() uint32 { + if x != nil && x.TotalUnitDeathCount != nil { + return *x.TotalUnitDeathCount + } + return 0 +} + +func (x *CMsgDOTACombatLogEntry) GetAuraModifier() bool { + if x != nil && x.AuraModifier != nil { + return *x.AuraModifier + } + return false +} + +func (x *CMsgDOTACombatLogEntry) GetArmorDebuffModifier() bool { + if x != nil && x.ArmorDebuffModifier != nil { + return *x.ArmorDebuffModifier + } + return false +} + +func (x *CMsgDOTACombatLogEntry) GetNoPhysicalDamageModifier() bool { + if x != nil && x.NoPhysicalDamageModifier != nil { + return *x.NoPhysicalDamageModifier + } + return false +} + +func (x *CMsgDOTACombatLogEntry) GetModifierAbility() uint32 { + if x != nil && x.ModifierAbility != nil { + return *x.ModifierAbility + } + return 0 +} + +func (x *CMsgDOTACombatLogEntry) GetModifierHidden() bool { + if x != nil && x.ModifierHidden != nil { + return *x.ModifierHidden + } + return false +} + +func (x *CMsgDOTACombatLogEntry) GetInflictorIsStolenAbility() bool { + if x != nil && x.InflictorIsStolenAbility != nil { + return *x.InflictorIsStolenAbility + } + return false +} + +func (x *CMsgDOTACombatLogEntry) GetKillEaterEvent() uint32 { + if x != nil && x.KillEaterEvent != nil { + return *x.KillEaterEvent + } + return 0 +} + +func (x *CMsgDOTACombatLogEntry) GetUnitStatusLabel() uint32 { + if x != nil && x.UnitStatusLabel != nil { + return *x.UnitStatusLabel + } + return 0 +} + +func (x *CMsgDOTACombatLogEntry) GetSpellGeneratedAttack() bool { + if x != nil && x.SpellGeneratedAttack != nil { + return *x.SpellGeneratedAttack + } + return false +} + +func (x *CMsgDOTACombatLogEntry) GetAtNightTime() bool { + if x != nil && x.AtNightTime != nil { + return *x.AtNightTime + } + return false +} + +func (x *CMsgDOTACombatLogEntry) GetAttackerHasScepter() bool { + if x != nil && x.AttackerHasScepter != nil { + return *x.AttackerHasScepter + } + return false +} + +type CMsgPendingEventAward struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + EventId *EEvent `protobuf:"varint,1,opt,name=event_id,json=eventId,enum=EEvent,def=0" json:"event_id,omitempty"` + ActionId *uint32 `protobuf:"varint,2,opt,name=action_id,json=actionId" json:"action_id,omitempty"` + NumToGrant *uint32 `protobuf:"varint,3,opt,name=num_to_grant,json=numToGrant" json:"num_to_grant,omitempty"` + ScoreMode *EEventActionScoreMode `protobuf:"varint,4,opt,name=score_mode,json=scoreMode,enum=EEventActionScoreMode,def=0" json:"score_mode,omitempty"` + AuditAction *uint32 `protobuf:"varint,5,opt,name=audit_action,json=auditAction" json:"audit_action,omitempty"` + AuditData *uint32 `protobuf:"varint,6,opt,name=audit_data,json=auditData" json:"audit_data,omitempty"` +} + +// Default values for CMsgPendingEventAward fields. +const ( + Default_CMsgPendingEventAward_EventId = EEvent_EVENT_ID_NONE + Default_CMsgPendingEventAward_ScoreMode = EEventActionScoreMode_k_eEventActionScoreMode_Add +) + +func (x *CMsgPendingEventAward) Reset() { + *x = CMsgPendingEventAward{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_shared_enums_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CMsgPendingEventAward) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CMsgPendingEventAward) ProtoMessage() {} + +func (x *CMsgPendingEventAward) ProtoReflect() protoreflect.Message { + mi := &file_dota_shared_enums_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CMsgPendingEventAward.ProtoReflect.Descriptor instead. +func (*CMsgPendingEventAward) Descriptor() ([]byte, []int) { + return file_dota_shared_enums_proto_rawDescGZIP(), []int{3} +} + +func (x *CMsgPendingEventAward) GetEventId() EEvent { + if x != nil && x.EventId != nil { + return *x.EventId + } + return Default_CMsgPendingEventAward_EventId +} + +func (x *CMsgPendingEventAward) GetActionId() uint32 { + if x != nil && x.ActionId != nil { + return *x.ActionId + } + return 0 +} + +func (x *CMsgPendingEventAward) GetNumToGrant() uint32 { + if x != nil && x.NumToGrant != nil { + return *x.NumToGrant + } + return 0 +} + +func (x *CMsgPendingEventAward) GetScoreMode() EEventActionScoreMode { + if x != nil && x.ScoreMode != nil { + return *x.ScoreMode + } + return Default_CMsgPendingEventAward_ScoreMode +} + +func (x *CMsgPendingEventAward) GetAuditAction() uint32 { + if x != nil && x.AuditAction != nil { + return *x.AuditAction + } + return 0 +} + +func (x *CMsgPendingEventAward) GetAuditData() uint32 { + if x != nil && x.AuditData != nil { + return *x.AuditData + } + return 0 +} + +type CDOTASaveGame_Player struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Team *DOTA_GC_TEAM `protobuf:"varint,1,opt,name=team,enum=DOTA_GC_TEAM,def=0" json:"team,omitempty"` + Name *string `protobuf:"bytes,2,opt,name=name" json:"name,omitempty"` + Hero *string `protobuf:"bytes,3,opt,name=hero" json:"hero,omitempty"` +} + +// Default values for CDOTASaveGame_Player fields. +const ( + Default_CDOTASaveGame_Player_Team = DOTA_GC_TEAM_DOTA_GC_TEAM_GOOD_GUYS +) + +func (x *CDOTASaveGame_Player) Reset() { + *x = CDOTASaveGame_Player{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_shared_enums_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTASaveGame_Player) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTASaveGame_Player) ProtoMessage() {} + +func (x *CDOTASaveGame_Player) ProtoReflect() protoreflect.Message { + mi := &file_dota_shared_enums_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 CDOTASaveGame_Player.ProtoReflect.Descriptor instead. +func (*CDOTASaveGame_Player) Descriptor() ([]byte, []int) { + return file_dota_shared_enums_proto_rawDescGZIP(), []int{1, 0} +} + +func (x *CDOTASaveGame_Player) GetTeam() DOTA_GC_TEAM { + if x != nil && x.Team != nil { + return *x.Team + } + return Default_CDOTASaveGame_Player_Team +} + +func (x *CDOTASaveGame_Player) GetName() string { + if x != nil && x.Name != nil { + return *x.Name + } + return "" +} + +func (x *CDOTASaveGame_Player) GetHero() string { + if x != nil && x.Hero != nil { + return *x.Hero + } + return "" +} + +type CDOTASaveGame_SaveInstance struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + GameTime *uint32 `protobuf:"varint,2,opt,name=game_time,json=gameTime" json:"game_time,omitempty"` + Team1Score *uint32 `protobuf:"varint,3,opt,name=team1_score,json=team1Score" json:"team1_score,omitempty"` + Team2Score *uint32 `protobuf:"varint,4,opt,name=team2_score,json=team2Score" json:"team2_score,omitempty"` + PlayerPositions []*CDOTASaveGame_SaveInstance_PlayerPositions `protobuf:"bytes,5,rep,name=player_positions,json=playerPositions" json:"player_positions,omitempty"` + SaveId *uint32 `protobuf:"varint,6,opt,name=save_id,json=saveId" json:"save_id,omitempty"` + SaveTime *uint32 `protobuf:"varint,7,opt,name=save_time,json=saveTime" json:"save_time,omitempty"` +} + +func (x *CDOTASaveGame_SaveInstance) Reset() { + *x = CDOTASaveGame_SaveInstance{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_shared_enums_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTASaveGame_SaveInstance) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTASaveGame_SaveInstance) ProtoMessage() {} + +func (x *CDOTASaveGame_SaveInstance) ProtoReflect() protoreflect.Message { + mi := &file_dota_shared_enums_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 CDOTASaveGame_SaveInstance.ProtoReflect.Descriptor instead. +func (*CDOTASaveGame_SaveInstance) Descriptor() ([]byte, []int) { + return file_dota_shared_enums_proto_rawDescGZIP(), []int{1, 1} +} + +func (x *CDOTASaveGame_SaveInstance) GetGameTime() uint32 { + if x != nil && x.GameTime != nil { + return *x.GameTime + } + return 0 +} + +func (x *CDOTASaveGame_SaveInstance) GetTeam1Score() uint32 { + if x != nil && x.Team1Score != nil { + return *x.Team1Score + } + return 0 +} + +func (x *CDOTASaveGame_SaveInstance) GetTeam2Score() uint32 { + if x != nil && x.Team2Score != nil { + return *x.Team2Score + } + return 0 +} + +func (x *CDOTASaveGame_SaveInstance) GetPlayerPositions() []*CDOTASaveGame_SaveInstance_PlayerPositions { + if x != nil { + return x.PlayerPositions + } + return nil +} + +func (x *CDOTASaveGame_SaveInstance) GetSaveId() uint32 { + if x != nil && x.SaveId != nil { + return *x.SaveId + } + return 0 +} + +func (x *CDOTASaveGame_SaveInstance) GetSaveTime() uint32 { + if x != nil && x.SaveTime != nil { + return *x.SaveTime + } + return 0 +} + +type CDOTASaveGame_SaveInstance_PlayerPositions struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + X *float32 `protobuf:"fixed32,1,opt,name=x" json:"x,omitempty"` + Y *float32 `protobuf:"fixed32,2,opt,name=y" json:"y,omitempty"` +} + +func (x *CDOTASaveGame_SaveInstance_PlayerPositions) Reset() { + *x = CDOTASaveGame_SaveInstance_PlayerPositions{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_shared_enums_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTASaveGame_SaveInstance_PlayerPositions) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTASaveGame_SaveInstance_PlayerPositions) ProtoMessage() {} + +func (x *CDOTASaveGame_SaveInstance_PlayerPositions) ProtoReflect() protoreflect.Message { + mi := &file_dota_shared_enums_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 CDOTASaveGame_SaveInstance_PlayerPositions.ProtoReflect.Descriptor instead. +func (*CDOTASaveGame_SaveInstance_PlayerPositions) Descriptor() ([]byte, []int) { + return file_dota_shared_enums_proto_rawDescGZIP(), []int{1, 1, 0} +} + +func (x *CDOTASaveGame_SaveInstance_PlayerPositions) GetX() float32 { + if x != nil && x.X != nil { + return *x.X + } + return 0 +} + +func (x *CDOTASaveGame_SaveInstance_PlayerPositions) GetY() float32 { + if x != nil && x.Y != nil { + return *x.Y + } + return 0 +} + +var File_dota_shared_enums_proto protoreflect.FileDescriptor + +var file_dota_shared_enums_proto_rawDesc = []byte{ + 0x0a, 0x17, 0x64, 0x6f, 0x74, 0x61, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x65, 0x64, 0x5f, 0x65, 0x6e, + 0x75, 0x6d, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa8, 0x02, 0x0a, 0x18, 0x43, 0x44, + 0x4f, 0x54, 0x41, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x48, 0x61, 0x72, 0x64, 0x77, 0x61, 0x72, + 0x65, 0x53, 0x70, 0x65, 0x63, 0x73, 0x12, 0x2d, 0x0a, 0x12, 0x6c, 0x6f, 0x67, 0x69, 0x63, 0x61, + 0x6c, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x73, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x11, 0x6c, 0x6f, 0x67, 0x69, 0x63, 0x61, 0x6c, 0x50, 0x72, 0x6f, 0x63, 0x65, + 0x73, 0x73, 0x6f, 0x72, 0x73, 0x12, 0x31, 0x0a, 0x15, 0x63, 0x70, 0x75, 0x5f, 0x63, 0x79, 0x63, + 0x6c, 0x65, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x06, 0x52, 0x12, 0x63, 0x70, 0x75, 0x43, 0x79, 0x63, 0x6c, 0x65, 0x73, 0x50, + 0x65, 0x72, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x12, 0x32, 0x0a, 0x15, 0x74, 0x6f, 0x74, 0x61, + 0x6c, 0x5f, 0x70, 0x68, 0x79, 0x73, 0x69, 0x63, 0x61, 0x6c, 0x5f, 0x6d, 0x65, 0x6d, 0x6f, 0x72, + 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x06, 0x52, 0x13, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x50, 0x68, + 0x79, 0x73, 0x69, 0x63, 0x61, 0x6c, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x12, 0x1f, 0x0a, 0x0c, + 0x69, 0x73, 0x5f, 0x36, 0x34, 0x5f, 0x62, 0x69, 0x74, 0x5f, 0x6f, 0x73, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x36, 0x34, 0x42, 0x69, 0x74, 0x4f, 0x73, 0x12, 0x2d, 0x0a, + 0x12, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x6d, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x6d, + 0x65, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x11, 0x75, 0x70, 0x6c, 0x6f, 0x61, + 0x64, 0x4d, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x26, 0x0a, 0x0f, + 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x4e, 0x6f, 0x74, + 0x48, 0x6f, 0x73, 0x74, 0x22, 0xd6, 0x04, 0x0a, 0x0d, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x53, 0x61, + 0x76, 0x65, 0x47, 0x61, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, + 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, + 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x61, 0x76, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x73, 0x61, 0x76, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x2f, + 0x0a, 0x07, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x15, 0x2e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x53, 0x61, 0x76, 0x65, 0x47, 0x61, 0x6d, 0x65, 0x2e, + 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x52, 0x07, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x12, + 0x42, 0x0a, 0x0e, 0x73, 0x61, 0x76, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x53, + 0x61, 0x76, 0x65, 0x47, 0x61, 0x6d, 0x65, 0x2e, 0x53, 0x61, 0x76, 0x65, 0x49, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x52, 0x0d, 0x73, 0x61, 0x76, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x73, 0x1a, 0x6b, 0x0a, 0x06, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x12, 0x39, 0x0a, + 0x04, 0x74, 0x65, 0x61, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0d, 0x2e, 0x44, 0x4f, + 0x54, 0x41, 0x5f, 0x47, 0x43, 0x5f, 0x54, 0x45, 0x41, 0x4d, 0x3a, 0x16, 0x44, 0x4f, 0x54, 0x41, + 0x5f, 0x47, 0x43, 0x5f, 0x54, 0x45, 0x41, 0x4d, 0x5f, 0x47, 0x4f, 0x4f, 0x44, 0x5f, 0x47, 0x55, + 0x59, 0x53, 0x52, 0x04, 0x74, 0x65, 0x61, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, + 0x68, 0x65, 0x72, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x65, 0x72, 0x6f, + 0x1a, 0xaa, 0x02, 0x0a, 0x0c, 0x53, 0x61, 0x76, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x67, 0x61, 0x6d, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1f, + 0x0a, 0x0b, 0x74, 0x65, 0x61, 0x6d, 0x31, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x74, 0x65, 0x61, 0x6d, 0x31, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, + 0x1f, 0x0a, 0x0b, 0x74, 0x65, 0x61, 0x6d, 0x32, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x74, 0x65, 0x61, 0x6d, 0x32, 0x53, 0x63, 0x6f, 0x72, 0x65, + 0x12, 0x56, 0x0a, 0x10, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x43, 0x44, 0x4f, + 0x54, 0x41, 0x53, 0x61, 0x76, 0x65, 0x47, 0x61, 0x6d, 0x65, 0x2e, 0x53, 0x61, 0x76, 0x65, 0x49, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x50, 0x6f, + 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x50, + 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x17, 0x0a, 0x07, 0x73, 0x61, 0x76, 0x65, + 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x73, 0x61, 0x76, 0x65, 0x49, + 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x61, 0x76, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x73, 0x61, 0x76, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x1a, 0x2d, + 0x0a, 0x0f, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 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, 0x9b, 0x18, + 0x0a, 0x16, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x6f, 0x6d, 0x62, 0x61, 0x74, + 0x4c, 0x6f, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x41, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4f, + 0x4d, 0x42, 0x41, 0x54, 0x4c, 0x4f, 0x47, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x53, 0x3a, 0x16, 0x44, + 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4d, 0x42, 0x41, 0x54, 0x4c, 0x4f, 0x47, 0x5f, 0x49, 0x4e, + 0x56, 0x41, 0x4c, 0x49, 0x44, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x74, + 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2c, 0x0a, 0x12, + 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, + 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x74, + 0x74, 0x61, 0x63, 0x6b, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x0c, 0x61, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, + 0x2c, 0x0a, 0x12, 0x64, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x64, 0x61, 0x6d, + 0x61, 0x67, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x25, 0x0a, + 0x0e, 0x69, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x6f, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x69, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x6f, 0x72, + 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x30, 0x0a, 0x14, 0x69, 0x73, 0x5f, 0x61, 0x74, 0x74, 0x61, 0x63, + 0x6b, 0x65, 0x72, 0x5f, 0x69, 0x6c, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x12, 0x69, 0x73, 0x41, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x65, 0x72, 0x49, 0x6c, + 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x10, 0x69, 0x73, 0x5f, 0x61, 0x74, 0x74, + 0x61, 0x63, 0x6b, 0x65, 0x72, 0x5f, 0x68, 0x65, 0x72, 0x6f, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x0e, 0x69, 0x73, 0x41, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x65, 0x72, 0x48, 0x65, 0x72, 0x6f, + 0x12, 0x2c, 0x0a, 0x12, 0x69, 0x73, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x69, 0x6c, + 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x69, 0x73, + 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x49, 0x6c, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x24, + 0x0a, 0x0e, 0x69, 0x73, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x68, 0x65, 0x72, 0x6f, + 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x69, 0x73, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, + 0x48, 0x65, 0x72, 0x6f, 0x12, 0x2c, 0x0a, 0x12, 0x69, 0x73, 0x5f, 0x76, 0x69, 0x73, 0x69, 0x62, + 0x6c, 0x65, 0x5f, 0x72, 0x61, 0x64, 0x69, 0x61, 0x6e, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x10, 0x69, 0x73, 0x56, 0x69, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x52, 0x61, 0x64, 0x69, 0x61, + 0x6e, 0x74, 0x12, 0x26, 0x0a, 0x0f, 0x69, 0x73, 0x5f, 0x76, 0x69, 0x73, 0x69, 0x62, 0x6c, 0x65, + 0x5f, 0x64, 0x69, 0x72, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x69, 0x73, 0x56, + 0x69, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x44, 0x69, 0x72, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x12, 0x16, 0x0a, 0x06, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x06, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, + 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x02, 0x52, 0x09, 0x74, 0x69, 0x6d, + 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x74, 0x75, 0x6e, 0x5f, 0x64, + 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x10, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0c, 0x73, + 0x74, 0x75, 0x6e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x73, + 0x6c, 0x6f, 0x77, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x11, 0x20, 0x01, + 0x28, 0x02, 0x52, 0x0c, 0x73, 0x6c, 0x6f, 0x77, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x2f, 0x0a, 0x14, 0x69, 0x73, 0x5f, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x74, + 0x6f, 0x67, 0x67, 0x6c, 0x65, 0x5f, 0x6f, 0x6e, 0x18, 0x12, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, + 0x69, 0x73, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x54, 0x6f, 0x67, 0x67, 0x6c, 0x65, 0x4f, + 0x6e, 0x12, 0x31, 0x0a, 0x15, 0x69, 0x73, 0x5f, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, + 0x74, 0x6f, 0x67, 0x67, 0x6c, 0x65, 0x5f, 0x6f, 0x66, 0x66, 0x18, 0x13, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x12, 0x69, 0x73, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x54, 0x6f, 0x67, 0x67, 0x6c, + 0x65, 0x4f, 0x66, 0x66, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, + 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x61, 0x62, 0x69, + 0x6c, 0x69, 0x74, 0x79, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x1d, 0x0a, 0x0a, 0x6c, 0x6f, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x78, 0x18, 0x15, 0x20, 0x01, 0x28, 0x02, 0x52, 0x09, 0x6c, + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x58, 0x12, 0x1d, 0x0a, 0x0a, 0x6c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x79, 0x18, 0x16, 0x20, 0x01, 0x28, 0x02, 0x52, 0x09, 0x6c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x59, 0x12, 0x1f, 0x0a, 0x0b, 0x67, 0x6f, 0x6c, 0x64, 0x5f, + 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x67, 0x6f, + 0x6c, 0x64, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x74, 0x69, 0x6d, 0x65, + 0x73, 0x74, 0x61, 0x6d, 0x70, 0x5f, 0x72, 0x61, 0x77, 0x18, 0x18, 0x20, 0x01, 0x28, 0x02, 0x52, + 0x0c, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x61, 0x77, 0x12, 0x2b, 0x0a, + 0x11, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x72, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x19, 0x20, 0x01, 0x28, 0x02, 0x52, 0x10, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, + 0x65, 0x72, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x78, 0x70, + 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x78, + 0x70, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x6c, 0x61, 0x73, 0x74, 0x5f, + 0x68, 0x69, 0x74, 0x73, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6c, 0x61, 0x73, 0x74, + 0x48, 0x69, 0x74, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x65, 0x72, + 0x5f, 0x74, 0x65, 0x61, 0x6d, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x61, 0x74, 0x74, + 0x61, 0x63, 0x6b, 0x65, 0x72, 0x54, 0x65, 0x61, 0x6d, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x61, 0x72, + 0x67, 0x65, 0x74, 0x5f, 0x74, 0x65, 0x61, 0x6d, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, + 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x54, 0x65, 0x61, 0x6d, 0x12, 0x28, 0x0a, 0x10, 0x6f, 0x62, + 0x73, 0x5f, 0x77, 0x61, 0x72, 0x64, 0x73, 0x5f, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x64, 0x18, 0x1e, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x6f, 0x62, 0x73, 0x57, 0x61, 0x72, 0x64, 0x73, 0x50, 0x6c, + 0x61, 0x63, 0x65, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x61, 0x73, 0x73, 0x69, 0x73, 0x74, 0x5f, 0x70, + 0x6c, 0x61, 0x79, 0x65, 0x72, 0x30, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x61, 0x73, + 0x73, 0x69, 0x73, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x30, 0x12, 0x25, 0x0a, 0x0e, 0x61, + 0x73, 0x73, 0x69, 0x73, 0x74, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x31, 0x18, 0x20, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x61, 0x73, 0x73, 0x69, 0x73, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, + 0x72, 0x31, 0x12, 0x25, 0x0a, 0x0e, 0x61, 0x73, 0x73, 0x69, 0x73, 0x74, 0x5f, 0x70, 0x6c, 0x61, + 0x79, 0x65, 0x72, 0x32, 0x18, 0x21, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x61, 0x73, 0x73, 0x69, + 0x73, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x32, 0x12, 0x25, 0x0a, 0x0e, 0x61, 0x73, 0x73, + 0x69, 0x73, 0x74, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x33, 0x18, 0x22, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x0d, 0x61, 0x73, 0x73, 0x69, 0x73, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x33, + 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, + 0x23, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x43, 0x6f, 0x75, 0x6e, + 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x68, 0x69, 0x64, 0x64, 0x65, 0x6e, 0x5f, 0x6d, 0x6f, 0x64, 0x69, + 0x66, 0x69, 0x65, 0x72, 0x18, 0x24, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x68, 0x69, 0x64, 0x64, + 0x65, 0x6e, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x2c, 0x0a, 0x12, 0x69, 0x73, + 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, + 0x18, 0x25, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x69, 0x73, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, + 0x42, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x2a, 0x0a, 0x11, 0x6e, 0x65, 0x75, 0x74, + 0x72, 0x61, 0x6c, 0x5f, 0x63, 0x61, 0x6d, 0x70, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x26, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x6e, 0x65, 0x75, 0x74, 0x72, 0x61, 0x6c, 0x43, 0x61, 0x6d, 0x70, + 0x54, 0x79, 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x75, 0x6e, 0x65, 0x5f, 0x74, 0x79, 0x70, + 0x65, 0x18, 0x27, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x72, 0x75, 0x6e, 0x65, 0x54, 0x79, 0x70, + 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x61, 0x73, 0x73, 0x69, 0x73, 0x74, 0x5f, 0x70, 0x6c, 0x61, 0x79, + 0x65, 0x72, 0x73, 0x18, 0x28, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0d, 0x61, 0x73, 0x73, 0x69, 0x73, + 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x12, 0x20, 0x0a, 0x0c, 0x69, 0x73, 0x5f, 0x68, + 0x65, 0x61, 0x6c, 0x5f, 0x73, 0x61, 0x76, 0x65, 0x18, 0x29, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, + 0x69, 0x73, 0x48, 0x65, 0x61, 0x6c, 0x53, 0x61, 0x76, 0x65, 0x12, 0x2e, 0x0a, 0x13, 0x69, 0x73, + 0x5f, 0x75, 0x6c, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x5f, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, + 0x79, 0x18, 0x2a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x69, 0x73, 0x55, 0x6c, 0x74, 0x69, 0x6d, + 0x61, 0x74, 0x65, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x2e, 0x0a, 0x13, 0x61, 0x74, + 0x74, 0x61, 0x63, 0x6b, 0x65, 0x72, 0x5f, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x6c, 0x65, 0x76, 0x65, + 0x6c, 0x18, 0x2b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x61, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x65, + 0x72, 0x48, 0x65, 0x72, 0x6f, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x2a, 0x0a, 0x11, 0x74, 0x61, + 0x72, 0x67, 0x65, 0x74, 0x5f, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, + 0x2c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x65, 0x72, + 0x6f, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x10, 0x0a, 0x03, 0x78, 0x70, 0x6d, 0x18, 0x2d, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x03, 0x78, 0x70, 0x6d, 0x12, 0x10, 0x0a, 0x03, 0x67, 0x70, 0x6d, 0x18, + 0x2e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x67, 0x70, 0x6d, 0x12, 0x25, 0x0a, 0x0e, 0x65, 0x76, + 0x65, 0x6e, 0x74, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x2f, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x0d, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x24, 0x0a, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x69, 0x73, 0x5f, 0x73, + 0x65, 0x6c, 0x66, 0x18, 0x30, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x74, 0x61, 0x72, 0x67, 0x65, + 0x74, 0x49, 0x73, 0x53, 0x65, 0x6c, 0x66, 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x61, 0x6d, 0x61, 0x67, + 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x31, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x64, 0x61, + 0x6d, 0x61, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x33, 0x0a, 0x15, 0x69, 0x6e, 0x76, 0x69, + 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, + 0x72, 0x18, 0x32, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x69, 0x6e, 0x76, 0x69, 0x73, 0x69, 0x62, + 0x69, 0x6c, 0x69, 0x74, 0x79, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x27, 0x0a, + 0x0f, 0x64, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, + 0x18, 0x33, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x64, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x43, 0x61, + 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x74, 0x68, 0x18, 0x34, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x74, 0x68, 0x12, 0x23, 0x0a, 0x0d, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x74, + 0x79, 0x70, 0x65, 0x18, 0x35, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x62, 0x75, 0x69, 0x6c, 0x64, + 0x69, 0x6e, 0x67, 0x54, 0x79, 0x70, 0x65, 0x12, 0x3a, 0x0a, 0x19, 0x6d, 0x6f, 0x64, 0x69, 0x66, + 0x69, 0x65, 0x72, 0x5f, 0x65, 0x6c, 0x61, 0x70, 0x73, 0x65, 0x64, 0x5f, 0x64, 0x75, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x36, 0x20, 0x01, 0x28, 0x02, 0x52, 0x17, 0x6d, 0x6f, 0x64, 0x69, + 0x66, 0x69, 0x65, 0x72, 0x45, 0x6c, 0x61, 0x70, 0x73, 0x65, 0x64, 0x44, 0x75, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x29, 0x0a, 0x10, 0x73, 0x69, 0x6c, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x6d, + 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x72, 0x18, 0x37, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x73, + 0x69, 0x6c, 0x65, 0x6e, 0x63, 0x65, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x2e, + 0x0a, 0x13, 0x68, 0x65, 0x61, 0x6c, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x6c, 0x69, 0x66, 0x65, + 0x73, 0x74, 0x65, 0x61, 0x6c, 0x18, 0x38, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x68, 0x65, 0x61, + 0x6c, 0x46, 0x72, 0x6f, 0x6d, 0x4c, 0x69, 0x66, 0x65, 0x73, 0x74, 0x65, 0x61, 0x6c, 0x12, 0x27, + 0x0a, 0x0f, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x72, 0x5f, 0x70, 0x75, 0x72, 0x67, 0x65, + 0x64, 0x18, 0x39, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, + 0x72, 0x50, 0x75, 0x72, 0x67, 0x65, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x70, 0x65, 0x6c, 0x6c, + 0x5f, 0x65, 0x76, 0x61, 0x64, 0x65, 0x64, 0x18, 0x3a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x73, + 0x70, 0x65, 0x6c, 0x6c, 0x45, 0x76, 0x61, 0x64, 0x65, 0x64, 0x12, 0x3c, 0x0a, 0x1a, 0x6d, 0x6f, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x5f, + 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x72, 0x18, 0x3b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x18, + 0x6d, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, + 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x26, 0x0a, 0x0f, 0x6c, 0x6f, 0x6e, 0x67, + 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x6b, 0x69, 0x6c, 0x6c, 0x18, 0x3c, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x0d, 0x6c, 0x6f, 0x6e, 0x67, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x4b, 0x69, 0x6c, 0x6c, + 0x12, 0x34, 0x0a, 0x16, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x72, 0x5f, 0x70, 0x75, 0x72, + 0x67, 0x65, 0x5f, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x3d, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x14, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x72, 0x50, 0x75, 0x72, 0x67, 0x65, 0x41, + 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x2c, 0x0a, 0x12, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, + 0x65, 0x72, 0x5f, 0x70, 0x75, 0x72, 0x67, 0x65, 0x5f, 0x6e, 0x70, 0x63, 0x18, 0x3e, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x10, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x72, 0x50, 0x75, 0x72, 0x67, + 0x65, 0x4e, 0x70, 0x63, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x6f, 0x6f, 0x74, 0x5f, 0x6d, 0x6f, 0x64, + 0x69, 0x66, 0x69, 0x65, 0x72, 0x18, 0x3f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x72, 0x6f, 0x6f, + 0x74, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x33, 0x0a, 0x16, 0x74, 0x6f, 0x74, + 0x61, 0x6c, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x5f, 0x64, 0x65, 0x61, 0x74, 0x68, 0x5f, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x18, 0x40, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x74, 0x6f, 0x74, 0x61, 0x6c, + 0x55, 0x6e, 0x69, 0x74, 0x44, 0x65, 0x61, 0x74, 0x68, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x23, + 0x0a, 0x0d, 0x61, 0x75, 0x72, 0x61, 0x5f, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x72, 0x18, + 0x41, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x61, 0x75, 0x72, 0x61, 0x4d, 0x6f, 0x64, 0x69, 0x66, + 0x69, 0x65, 0x72, 0x12, 0x32, 0x0a, 0x15, 0x61, 0x72, 0x6d, 0x6f, 0x72, 0x5f, 0x64, 0x65, 0x62, + 0x75, 0x66, 0x66, 0x5f, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x72, 0x18, 0x42, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x13, 0x61, 0x72, 0x6d, 0x6f, 0x72, 0x44, 0x65, 0x62, 0x75, 0x66, 0x66, 0x4d, + 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x3d, 0x0a, 0x1b, 0x6e, 0x6f, 0x5f, 0x70, 0x68, + 0x79, 0x73, 0x69, 0x63, 0x61, 0x6c, 0x5f, 0x64, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x6d, 0x6f, + 0x64, 0x69, 0x66, 0x69, 0x65, 0x72, 0x18, 0x43, 0x20, 0x01, 0x28, 0x08, 0x52, 0x18, 0x6e, 0x6f, + 0x50, 0x68, 0x79, 0x73, 0x69, 0x63, 0x61, 0x6c, 0x44, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x4d, 0x6f, + 0x64, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x29, 0x0a, 0x10, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, + 0x65, 0x72, 0x5f, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x44, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x0f, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x72, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, + 0x79, 0x12, 0x27, 0x0a, 0x0f, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x72, 0x5f, 0x68, 0x69, + 0x64, 0x64, 0x65, 0x6e, 0x18, 0x45, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x6d, 0x6f, 0x64, 0x69, + 0x66, 0x69, 0x65, 0x72, 0x48, 0x69, 0x64, 0x64, 0x65, 0x6e, 0x12, 0x3d, 0x0a, 0x1b, 0x69, 0x6e, + 0x66, 0x6c, 0x69, 0x63, 0x74, 0x6f, 0x72, 0x5f, 0x69, 0x73, 0x5f, 0x73, 0x74, 0x6f, 0x6c, 0x65, + 0x6e, 0x5f, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x46, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x18, 0x69, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x6f, 0x72, 0x49, 0x73, 0x53, 0x74, 0x6f, 0x6c, + 0x65, 0x6e, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x28, 0x0a, 0x10, 0x6b, 0x69, 0x6c, + 0x6c, 0x5f, 0x65, 0x61, 0x74, 0x65, 0x72, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x47, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x6b, 0x69, 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x45, 0x76, + 0x65, 0x6e, 0x74, 0x12, 0x2a, 0x0a, 0x11, 0x75, 0x6e, 0x69, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x48, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, + 0x75, 0x6e, 0x69, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x12, + 0x34, 0x0a, 0x16, 0x73, 0x70, 0x65, 0x6c, 0x6c, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, + 0x65, 0x64, 0x5f, 0x61, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x18, 0x49, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x14, 0x73, 0x70, 0x65, 0x6c, 0x6c, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x41, + 0x74, 0x74, 0x61, 0x63, 0x6b, 0x12, 0x22, 0x0a, 0x0d, 0x61, 0x74, 0x5f, 0x6e, 0x69, 0x67, 0x68, + 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x4a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x61, 0x74, + 0x4e, 0x69, 0x67, 0x68, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x30, 0x0a, 0x14, 0x61, 0x74, 0x74, + 0x61, 0x63, 0x6b, 0x65, 0x72, 0x5f, 0x68, 0x61, 0x73, 0x5f, 0x73, 0x63, 0x65, 0x70, 0x74, 0x65, + 0x72, 0x18, 0x4b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x61, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x65, + 0x72, 0x48, 0x61, 0x73, 0x53, 0x63, 0x65, 0x70, 0x74, 0x65, 0x72, 0x22, 0x9f, 0x02, 0x0a, 0x15, + 0x43, 0x4d, 0x73, 0x67, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x45, 0x76, 0x65, 0x6e, 0x74, + 0x41, 0x77, 0x61, 0x72, 0x64, 0x12, 0x31, 0x0a, 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x07, 0x2e, 0x45, 0x45, 0x76, 0x65, 0x6e, 0x74, + 0x3a, 0x0d, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x49, 0x44, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x52, + 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x61, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0c, 0x6e, 0x75, 0x6d, 0x5f, 0x74, 0x6f, 0x5f, + 0x67, 0x72, 0x61, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x6e, 0x75, 0x6d, + 0x54, 0x6f, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x12, 0x52, 0x0a, 0x0a, 0x73, 0x63, 0x6f, 0x72, 0x65, + 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x45, 0x45, + 0x76, 0x65, 0x6e, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x4d, + 0x6f, 0x64, 0x65, 0x3a, 0x1b, 0x6b, 0x5f, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x41, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x5f, 0x41, 0x64, 0x64, + 0x52, 0x09, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x61, + 0x75, 0x64, 0x69, 0x74, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x0b, 0x61, 0x75, 0x64, 0x69, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1d, + 0x0a, 0x0a, 0x61, 0x75, 0x64, 0x69, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x09, 0x61, 0x75, 0x64, 0x69, 0x74, 0x44, 0x61, 0x74, 0x61, 0x2a, 0x9a, 0x05, + 0x0a, 0x0d, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x12, + 0x16, 0x0a, 0x12, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x47, 0x41, 0x4d, 0x45, 0x4d, 0x4f, 0x44, 0x45, + 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, 0x44, 0x4f, 0x54, 0x41, 0x5f, + 0x47, 0x41, 0x4d, 0x45, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x41, 0x50, 0x10, 0x01, 0x12, 0x14, 0x0a, + 0x10, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x47, 0x41, 0x4d, 0x45, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x43, + 0x4d, 0x10, 0x02, 0x12, 0x14, 0x0a, 0x10, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x47, 0x41, 0x4d, 0x45, + 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x44, 0x10, 0x03, 0x12, 0x14, 0x0a, 0x10, 0x44, 0x4f, 0x54, + 0x41, 0x5f, 0x47, 0x41, 0x4d, 0x45, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x53, 0x44, 0x10, 0x04, 0x12, + 0x14, 0x0a, 0x10, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x47, 0x41, 0x4d, 0x45, 0x4d, 0x4f, 0x44, 0x45, + 0x5f, 0x41, 0x52, 0x10, 0x05, 0x12, 0x17, 0x0a, 0x13, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x47, 0x41, + 0x4d, 0x45, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x49, 0x4e, 0x54, 0x52, 0x4f, 0x10, 0x06, 0x12, 0x14, + 0x0a, 0x10, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x47, 0x41, 0x4d, 0x45, 0x4d, 0x4f, 0x44, 0x45, 0x5f, + 0x48, 0x57, 0x10, 0x07, 0x12, 0x1c, 0x0a, 0x18, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x47, 0x41, 0x4d, + 0x45, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x56, 0x45, 0x52, 0x53, 0x45, 0x5f, 0x43, 0x4d, + 0x10, 0x08, 0x12, 0x16, 0x0a, 0x12, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x47, 0x41, 0x4d, 0x45, 0x4d, + 0x4f, 0x44, 0x45, 0x5f, 0x58, 0x4d, 0x41, 0x53, 0x10, 0x09, 0x12, 0x1a, 0x0a, 0x16, 0x44, 0x4f, + 0x54, 0x41, 0x5f, 0x47, 0x41, 0x4d, 0x45, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x54, 0x55, 0x54, 0x4f, + 0x52, 0x49, 0x41, 0x4c, 0x10, 0x0a, 0x12, 0x14, 0x0a, 0x10, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x47, + 0x41, 0x4d, 0x45, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x4d, 0x4f, 0x10, 0x0b, 0x12, 0x14, 0x0a, 0x10, + 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x47, 0x41, 0x4d, 0x45, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x4c, 0x50, + 0x10, 0x0c, 0x12, 0x17, 0x0a, 0x13, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x47, 0x41, 0x4d, 0x45, 0x4d, + 0x4f, 0x44, 0x45, 0x5f, 0x50, 0x4f, 0x4f, 0x4c, 0x31, 0x10, 0x0d, 0x12, 0x14, 0x0a, 0x10, 0x44, + 0x4f, 0x54, 0x41, 0x5f, 0x47, 0x41, 0x4d, 0x45, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x46, 0x48, 0x10, + 0x0e, 0x12, 0x18, 0x0a, 0x14, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x47, 0x41, 0x4d, 0x45, 0x4d, 0x4f, + 0x44, 0x45, 0x5f, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x10, 0x0f, 0x12, 0x14, 0x0a, 0x10, 0x44, + 0x4f, 0x54, 0x41, 0x5f, 0x47, 0x41, 0x4d, 0x45, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x43, 0x44, 0x10, + 0x10, 0x12, 0x14, 0x0a, 0x10, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x47, 0x41, 0x4d, 0x45, 0x4d, 0x4f, + 0x44, 0x45, 0x5f, 0x42, 0x44, 0x10, 0x11, 0x12, 0x1f, 0x0a, 0x1b, 0x44, 0x4f, 0x54, 0x41, 0x5f, + 0x47, 0x41, 0x4d, 0x45, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, + 0x5f, 0x44, 0x52, 0x41, 0x46, 0x54, 0x10, 0x12, 0x12, 0x17, 0x0a, 0x13, 0x44, 0x4f, 0x54, 0x41, + 0x5f, 0x47, 0x41, 0x4d, 0x45, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x10, + 0x13, 0x12, 0x16, 0x0a, 0x12, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x47, 0x41, 0x4d, 0x45, 0x4d, 0x4f, + 0x44, 0x45, 0x5f, 0x41, 0x52, 0x44, 0x4d, 0x10, 0x14, 0x12, 0x18, 0x0a, 0x14, 0x44, 0x4f, 0x54, + 0x41, 0x5f, 0x47, 0x41, 0x4d, 0x45, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x31, 0x56, 0x31, 0x4d, 0x49, + 0x44, 0x10, 0x15, 0x12, 0x1b, 0x0a, 0x17, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x47, 0x41, 0x4d, 0x45, + 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x41, 0x4c, 0x4c, 0x5f, 0x44, 0x52, 0x41, 0x46, 0x54, 0x10, 0x16, + 0x12, 0x17, 0x0a, 0x13, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x47, 0x41, 0x4d, 0x45, 0x4d, 0x4f, 0x44, + 0x45, 0x5f, 0x54, 0x55, 0x52, 0x42, 0x4f, 0x10, 0x17, 0x12, 0x1a, 0x0a, 0x16, 0x44, 0x4f, 0x54, + 0x41, 0x5f, 0x47, 0x41, 0x4d, 0x45, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x4d, 0x55, 0x54, 0x41, 0x54, + 0x49, 0x4f, 0x4e, 0x10, 0x18, 0x12, 0x23, 0x0a, 0x1f, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x47, 0x41, + 0x4d, 0x45, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x43, 0x4f, 0x41, 0x43, 0x48, 0x45, 0x53, 0x5f, 0x43, + 0x48, 0x41, 0x4c, 0x4c, 0x45, 0x4e, 0x47, 0x45, 0x10, 0x19, 0x2a, 0x95, 0x04, 0x0a, 0x0e, 0x44, + 0x4f, 0x54, 0x41, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1d, 0x0a, + 0x19, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x47, 0x41, 0x4d, 0x45, 0x52, 0x55, 0x4c, 0x45, 0x53, 0x5f, + 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x49, 0x4e, 0x49, 0x54, 0x10, 0x00, 0x12, 0x31, 0x0a, 0x2d, + 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x47, 0x41, 0x4d, 0x45, 0x52, 0x55, 0x4c, 0x45, 0x53, 0x5f, 0x53, + 0x54, 0x41, 0x54, 0x45, 0x5f, 0x57, 0x41, 0x49, 0x54, 0x5f, 0x46, 0x4f, 0x52, 0x5f, 0x50, 0x4c, + 0x41, 0x59, 0x45, 0x52, 0x53, 0x5f, 0x54, 0x4f, 0x5f, 0x4c, 0x4f, 0x41, 0x44, 0x10, 0x01, 0x12, + 0x27, 0x0a, 0x23, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x47, 0x41, 0x4d, 0x45, 0x52, 0x55, 0x4c, 0x45, + 0x53, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x48, 0x45, 0x52, 0x4f, 0x5f, 0x53, 0x45, 0x4c, + 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x02, 0x12, 0x26, 0x0a, 0x22, 0x44, 0x4f, 0x54, 0x41, + 0x5f, 0x47, 0x41, 0x4d, 0x45, 0x52, 0x55, 0x4c, 0x45, 0x53, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, + 0x5f, 0x53, 0x54, 0x52, 0x41, 0x54, 0x45, 0x47, 0x59, 0x5f, 0x54, 0x49, 0x4d, 0x45, 0x10, 0x03, + 0x12, 0x21, 0x0a, 0x1d, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x47, 0x41, 0x4d, 0x45, 0x52, 0x55, 0x4c, + 0x45, 0x53, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x50, 0x52, 0x45, 0x5f, 0x47, 0x41, 0x4d, + 0x45, 0x10, 0x04, 0x12, 0x29, 0x0a, 0x25, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x47, 0x41, 0x4d, 0x45, + 0x52, 0x55, 0x4c, 0x45, 0x53, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x47, 0x41, 0x4d, 0x45, + 0x5f, 0x49, 0x4e, 0x5f, 0x50, 0x52, 0x4f, 0x47, 0x52, 0x45, 0x53, 0x53, 0x10, 0x05, 0x12, 0x22, + 0x0a, 0x1e, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x47, 0x41, 0x4d, 0x45, 0x52, 0x55, 0x4c, 0x45, 0x53, + 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x50, 0x4f, 0x53, 0x54, 0x5f, 0x47, 0x41, 0x4d, 0x45, + 0x10, 0x06, 0x12, 0x23, 0x0a, 0x1f, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x47, 0x41, 0x4d, 0x45, 0x52, + 0x55, 0x4c, 0x45, 0x53, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x44, 0x49, 0x53, 0x43, 0x4f, + 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x10, 0x07, 0x12, 0x26, 0x0a, 0x22, 0x44, 0x4f, 0x54, 0x41, 0x5f, + 0x47, 0x41, 0x4d, 0x45, 0x52, 0x55, 0x4c, 0x45, 0x53, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, + 0x54, 0x45, 0x41, 0x4d, 0x5f, 0x53, 0x48, 0x4f, 0x57, 0x43, 0x41, 0x53, 0x45, 0x10, 0x08, 0x12, + 0x2a, 0x0a, 0x26, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x47, 0x41, 0x4d, 0x45, 0x52, 0x55, 0x4c, 0x45, + 0x53, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x5f, 0x47, + 0x41, 0x4d, 0x45, 0x5f, 0x53, 0x45, 0x54, 0x55, 0x50, 0x10, 0x09, 0x12, 0x2d, 0x0a, 0x29, 0x44, + 0x4f, 0x54, 0x41, 0x5f, 0x47, 0x41, 0x4d, 0x45, 0x52, 0x55, 0x4c, 0x45, 0x53, 0x5f, 0x53, 0x54, + 0x41, 0x54, 0x45, 0x5f, 0x57, 0x41, 0x49, 0x54, 0x5f, 0x46, 0x4f, 0x52, 0x5f, 0x4d, 0x41, 0x50, + 0x5f, 0x54, 0x4f, 0x5f, 0x4c, 0x4f, 0x41, 0x44, 0x10, 0x0a, 0x12, 0x27, 0x0a, 0x23, 0x44, 0x4f, + 0x54, 0x41, 0x5f, 0x47, 0x41, 0x4d, 0x45, 0x52, 0x55, 0x4c, 0x45, 0x53, 0x5f, 0x53, 0x54, 0x41, + 0x54, 0x45, 0x5f, 0x53, 0x43, 0x45, 0x4e, 0x41, 0x52, 0x49, 0x4f, 0x5f, 0x53, 0x45, 0x54, 0x55, + 0x50, 0x10, 0x0b, 0x12, 0x1d, 0x0a, 0x19, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x47, 0x41, 0x4d, 0x45, + 0x52, 0x55, 0x4c, 0x45, 0x53, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x4c, 0x41, 0x53, 0x54, + 0x10, 0x0c, 0x2a, 0xa9, 0x03, 0x0a, 0x0c, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x47, 0x43, 0x5f, 0x54, + 0x45, 0x41, 0x4d, 0x12, 0x1a, 0x0a, 0x16, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x47, 0x43, 0x5f, 0x54, + 0x45, 0x41, 0x4d, 0x5f, 0x47, 0x4f, 0x4f, 0x44, 0x5f, 0x47, 0x55, 0x59, 0x53, 0x10, 0x00, 0x12, + 0x19, 0x0a, 0x15, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x47, 0x43, 0x5f, 0x54, 0x45, 0x41, 0x4d, 0x5f, + 0x42, 0x41, 0x44, 0x5f, 0x47, 0x55, 0x59, 0x53, 0x10, 0x01, 0x12, 0x1c, 0x0a, 0x18, 0x44, 0x4f, + 0x54, 0x41, 0x5f, 0x47, 0x43, 0x5f, 0x54, 0x45, 0x41, 0x4d, 0x5f, 0x42, 0x52, 0x4f, 0x41, 0x44, + 0x43, 0x41, 0x53, 0x54, 0x45, 0x52, 0x10, 0x02, 0x12, 0x1a, 0x0a, 0x16, 0x44, 0x4f, 0x54, 0x41, + 0x5f, 0x47, 0x43, 0x5f, 0x54, 0x45, 0x41, 0x4d, 0x5f, 0x53, 0x50, 0x45, 0x43, 0x54, 0x41, 0x54, + 0x4f, 0x52, 0x10, 0x03, 0x12, 0x1c, 0x0a, 0x18, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x47, 0x43, 0x5f, + 0x54, 0x45, 0x41, 0x4d, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x5f, 0x50, 0x4f, 0x4f, 0x4c, + 0x10, 0x04, 0x12, 0x17, 0x0a, 0x13, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x47, 0x43, 0x5f, 0x54, 0x45, + 0x41, 0x4d, 0x5f, 0x4e, 0x4f, 0x54, 0x45, 0x41, 0x4d, 0x10, 0x05, 0x12, 0x19, 0x0a, 0x15, 0x44, + 0x4f, 0x54, 0x41, 0x5f, 0x47, 0x43, 0x5f, 0x54, 0x45, 0x41, 0x4d, 0x5f, 0x43, 0x55, 0x53, 0x54, + 0x4f, 0x4d, 0x5f, 0x31, 0x10, 0x06, 0x12, 0x19, 0x0a, 0x15, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x47, + 0x43, 0x5f, 0x54, 0x45, 0x41, 0x4d, 0x5f, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x5f, 0x32, 0x10, + 0x07, 0x12, 0x19, 0x0a, 0x15, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x47, 0x43, 0x5f, 0x54, 0x45, 0x41, + 0x4d, 0x5f, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x5f, 0x33, 0x10, 0x08, 0x12, 0x19, 0x0a, 0x15, + 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x47, 0x43, 0x5f, 0x54, 0x45, 0x41, 0x4d, 0x5f, 0x43, 0x55, 0x53, + 0x54, 0x4f, 0x4d, 0x5f, 0x34, 0x10, 0x09, 0x12, 0x19, 0x0a, 0x15, 0x44, 0x4f, 0x54, 0x41, 0x5f, + 0x47, 0x43, 0x5f, 0x54, 0x45, 0x41, 0x4d, 0x5f, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x5f, 0x35, + 0x10, 0x0a, 0x12, 0x19, 0x0a, 0x15, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x47, 0x43, 0x5f, 0x54, 0x45, + 0x41, 0x4d, 0x5f, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x5f, 0x36, 0x10, 0x0b, 0x12, 0x19, 0x0a, + 0x15, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x47, 0x43, 0x5f, 0x54, 0x45, 0x41, 0x4d, 0x5f, 0x43, 0x55, + 0x53, 0x54, 0x4f, 0x4d, 0x5f, 0x37, 0x10, 0x0c, 0x12, 0x19, 0x0a, 0x15, 0x44, 0x4f, 0x54, 0x41, + 0x5f, 0x47, 0x43, 0x5f, 0x54, 0x45, 0x41, 0x4d, 0x5f, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x5f, + 0x38, 0x10, 0x0d, 0x12, 0x19, 0x0a, 0x15, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x47, 0x43, 0x5f, 0x54, + 0x45, 0x41, 0x4d, 0x5f, 0x4e, 0x45, 0x55, 0x54, 0x52, 0x41, 0x4c, 0x53, 0x10, 0x0e, 0x2a, 0xa2, + 0x09, 0x0a, 0x06, 0x45, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x11, 0x0a, 0x0d, 0x45, 0x56, 0x45, + 0x4e, 0x54, 0x5f, 0x49, 0x44, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x15, 0x0a, 0x11, + 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x49, 0x44, 0x5f, 0x44, 0x49, 0x52, 0x45, 0x54, 0x49, 0x44, + 0x45, 0x10, 0x01, 0x12, 0x1c, 0x0a, 0x18, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x49, 0x44, 0x5f, + 0x53, 0x50, 0x52, 0x49, 0x4e, 0x47, 0x5f, 0x46, 0x45, 0x53, 0x54, 0x49, 0x56, 0x41, 0x4c, 0x10, + 0x02, 0x12, 0x1b, 0x0a, 0x17, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x49, 0x44, 0x5f, 0x46, 0x52, + 0x4f, 0x53, 0x54, 0x49, 0x56, 0x55, 0x53, 0x5f, 0x32, 0x30, 0x31, 0x33, 0x10, 0x03, 0x12, 0x1c, + 0x0a, 0x18, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x49, 0x44, 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x45, + 0x4e, 0x44, 0x49, 0x55, 0x4d, 0x5f, 0x32, 0x30, 0x31, 0x34, 0x10, 0x04, 0x12, 0x1a, 0x0a, 0x16, + 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x49, 0x44, 0x5f, 0x4e, 0x45, 0x58, 0x4f, 0x4e, 0x5f, 0x50, + 0x43, 0x5f, 0x42, 0x41, 0x4e, 0x47, 0x10, 0x05, 0x12, 0x1a, 0x0a, 0x16, 0x45, 0x56, 0x45, 0x4e, + 0x54, 0x5f, 0x49, 0x44, 0x5f, 0x50, 0x57, 0x52, 0x44, 0x5f, 0x44, 0x41, 0x43, 0x5f, 0x32, 0x30, + 0x31, 0x35, 0x10, 0x06, 0x12, 0x1b, 0x0a, 0x17, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x49, 0x44, + 0x5f, 0x4e, 0x45, 0x57, 0x5f, 0x42, 0x4c, 0x4f, 0x4f, 0x4d, 0x5f, 0x32, 0x30, 0x31, 0x35, 0x10, + 0x07, 0x12, 0x1f, 0x0a, 0x1b, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x49, 0x44, 0x5f, 0x49, 0x4e, + 0x54, 0x45, 0x52, 0x4e, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x41, 0x4c, 0x5f, 0x32, 0x30, 0x31, 0x35, + 0x10, 0x08, 0x12, 0x1c, 0x0a, 0x18, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x49, 0x44, 0x5f, 0x46, + 0x41, 0x4c, 0x4c, 0x5f, 0x4d, 0x41, 0x4a, 0x4f, 0x52, 0x5f, 0x32, 0x30, 0x31, 0x35, 0x10, 0x09, + 0x12, 0x16, 0x0a, 0x12, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x49, 0x44, 0x5f, 0x4f, 0x52, 0x41, + 0x43, 0x4c, 0x45, 0x5f, 0x50, 0x41, 0x10, 0x0a, 0x12, 0x24, 0x0a, 0x20, 0x45, 0x56, 0x45, 0x4e, + 0x54, 0x5f, 0x49, 0x44, 0x5f, 0x4e, 0x45, 0x57, 0x5f, 0x42, 0x4c, 0x4f, 0x4f, 0x4d, 0x5f, 0x32, + 0x30, 0x31, 0x35, 0x5f, 0x50, 0x52, 0x45, 0x42, 0x45, 0x41, 0x53, 0x54, 0x10, 0x0b, 0x12, 0x16, + 0x0a, 0x12, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x49, 0x44, 0x5f, 0x46, 0x52, 0x4f, 0x53, 0x54, + 0x49, 0x56, 0x55, 0x53, 0x10, 0x0c, 0x12, 0x1e, 0x0a, 0x1a, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, + 0x49, 0x44, 0x5f, 0x57, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x5f, 0x4d, 0x41, 0x4a, 0x4f, 0x52, 0x5f, + 0x32, 0x30, 0x31, 0x36, 0x10, 0x0d, 0x12, 0x1f, 0x0a, 0x1b, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, + 0x49, 0x44, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x41, 0x4c, + 0x5f, 0x32, 0x30, 0x31, 0x36, 0x10, 0x0e, 0x12, 0x1c, 0x0a, 0x18, 0x45, 0x56, 0x45, 0x4e, 0x54, + 0x5f, 0x49, 0x44, 0x5f, 0x46, 0x41, 0x4c, 0x4c, 0x5f, 0x4d, 0x41, 0x4a, 0x4f, 0x52, 0x5f, 0x32, + 0x30, 0x31, 0x36, 0x10, 0x0f, 0x12, 0x1e, 0x0a, 0x1a, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x49, + 0x44, 0x5f, 0x57, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x5f, 0x4d, 0x41, 0x4a, 0x4f, 0x52, 0x5f, 0x32, + 0x30, 0x31, 0x37, 0x10, 0x10, 0x12, 0x1b, 0x0a, 0x17, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x49, + 0x44, 0x5f, 0x4e, 0x45, 0x57, 0x5f, 0x42, 0x4c, 0x4f, 0x4f, 0x4d, 0x5f, 0x32, 0x30, 0x31, 0x37, + 0x10, 0x11, 0x12, 0x1f, 0x0a, 0x1b, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x49, 0x44, 0x5f, 0x49, + 0x4e, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x41, 0x4c, 0x5f, 0x32, 0x30, 0x31, + 0x37, 0x10, 0x12, 0x12, 0x1e, 0x0a, 0x1a, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x49, 0x44, 0x5f, + 0x50, 0x4c, 0x55, 0x53, 0x5f, 0x53, 0x55, 0x42, 0x53, 0x43, 0x52, 0x49, 0x50, 0x54, 0x49, 0x4f, + 0x4e, 0x10, 0x13, 0x12, 0x1d, 0x0a, 0x19, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x49, 0x44, 0x5f, + 0x53, 0x49, 0x4e, 0x47, 0x4c, 0x45, 0x53, 0x5f, 0x44, 0x41, 0x59, 0x5f, 0x32, 0x30, 0x31, 0x37, + 0x10, 0x14, 0x12, 0x1b, 0x0a, 0x17, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x49, 0x44, 0x5f, 0x46, + 0x52, 0x4f, 0x53, 0x54, 0x49, 0x56, 0x55, 0x53, 0x5f, 0x32, 0x30, 0x31, 0x37, 0x10, 0x15, 0x12, + 0x1f, 0x0a, 0x1b, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x49, 0x44, 0x5f, 0x49, 0x4e, 0x54, 0x45, + 0x52, 0x4e, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x41, 0x4c, 0x5f, 0x32, 0x30, 0x31, 0x38, 0x10, 0x16, + 0x12, 0x1b, 0x0a, 0x17, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x49, 0x44, 0x5f, 0x46, 0x52, 0x4f, + 0x53, 0x54, 0x49, 0x56, 0x55, 0x53, 0x5f, 0x32, 0x30, 0x31, 0x38, 0x10, 0x17, 0x12, 0x1b, 0x0a, + 0x17, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x49, 0x44, 0x5f, 0x4e, 0x45, 0x57, 0x5f, 0x42, 0x4c, + 0x4f, 0x4f, 0x4d, 0x5f, 0x32, 0x30, 0x31, 0x39, 0x10, 0x18, 0x12, 0x1f, 0x0a, 0x1b, 0x45, 0x56, + 0x45, 0x4e, 0x54, 0x5f, 0x49, 0x44, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x54, 0x49, + 0x4f, 0x4e, 0x41, 0x4c, 0x5f, 0x32, 0x30, 0x31, 0x39, 0x10, 0x19, 0x12, 0x22, 0x0a, 0x1e, 0x45, + 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x49, 0x44, 0x5f, 0x4e, 0x45, 0x57, 0x5f, 0x50, 0x4c, 0x41, 0x59, + 0x45, 0x52, 0x5f, 0x45, 0x58, 0x50, 0x45, 0x52, 0x49, 0x45, 0x4e, 0x43, 0x45, 0x10, 0x1a, 0x12, + 0x1b, 0x0a, 0x17, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x49, 0x44, 0x5f, 0x46, 0x52, 0x4f, 0x53, + 0x54, 0x49, 0x56, 0x55, 0x53, 0x5f, 0x32, 0x30, 0x31, 0x39, 0x10, 0x1b, 0x12, 0x1b, 0x0a, 0x17, + 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x49, 0x44, 0x5f, 0x4e, 0x45, 0x57, 0x5f, 0x42, 0x4c, 0x4f, + 0x4f, 0x4d, 0x5f, 0x32, 0x30, 0x32, 0x30, 0x10, 0x1c, 0x12, 0x1f, 0x0a, 0x1b, 0x45, 0x56, 0x45, + 0x4e, 0x54, 0x5f, 0x49, 0x44, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x54, 0x49, 0x4f, + 0x4e, 0x41, 0x4c, 0x5f, 0x32, 0x30, 0x32, 0x30, 0x10, 0x1d, 0x12, 0x18, 0x0a, 0x14, 0x45, 0x56, + 0x45, 0x4e, 0x54, 0x5f, 0x49, 0x44, 0x5f, 0x54, 0x45, 0x41, 0x4d, 0x5f, 0x46, 0x41, 0x4e, 0x44, + 0x4f, 0x4d, 0x10, 0x1e, 0x12, 0x1a, 0x0a, 0x16, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x49, 0x44, + 0x5f, 0x44, 0x49, 0x52, 0x45, 0x54, 0x49, 0x44, 0x45, 0x5f, 0x32, 0x30, 0x32, 0x30, 0x10, 0x1f, + 0x12, 0x18, 0x0a, 0x14, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x49, 0x44, 0x5f, 0x53, 0x50, 0x52, + 0x49, 0x4e, 0x47, 0x5f, 0x32, 0x30, 0x32, 0x31, 0x10, 0x20, 0x12, 0x16, 0x0a, 0x12, 0x45, 0x56, + 0x45, 0x4e, 0x54, 0x5f, 0x49, 0x44, 0x5f, 0x46, 0x41, 0x4c, 0x4c, 0x5f, 0x32, 0x30, 0x32, 0x31, + 0x10, 0x21, 0x12, 0x22, 0x0a, 0x1e, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x49, 0x44, 0x5f, 0x54, + 0x45, 0x41, 0x4d, 0x5f, 0x46, 0x41, 0x4e, 0x44, 0x4f, 0x4d, 0x5f, 0x46, 0x41, 0x4c, 0x4c, 0x5f, + 0x32, 0x30, 0x32, 0x31, 0x10, 0x22, 0x12, 0x21, 0x0a, 0x1d, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, + 0x49, 0x44, 0x5f, 0x54, 0x45, 0x41, 0x4d, 0x5f, 0x32, 0x30, 0x32, 0x31, 0x5f, 0x32, 0x30, 0x32, + 0x32, 0x5f, 0x54, 0x4f, 0x55, 0x52, 0x32, 0x10, 0x23, 0x12, 0x1f, 0x0a, 0x1b, 0x45, 0x56, 0x45, + 0x4e, 0x54, 0x5f, 0x49, 0x44, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x54, 0x49, 0x4f, + 0x4e, 0x41, 0x4c, 0x5f, 0x32, 0x30, 0x32, 0x32, 0x10, 0x24, 0x12, 0x21, 0x0a, 0x1d, 0x45, 0x56, + 0x45, 0x4e, 0x54, 0x5f, 0x49, 0x44, 0x5f, 0x54, 0x45, 0x41, 0x4d, 0x5f, 0x32, 0x30, 0x32, 0x31, + 0x5f, 0x32, 0x30, 0x32, 0x32, 0x5f, 0x54, 0x4f, 0x55, 0x52, 0x33, 0x10, 0x25, 0x12, 0x24, 0x0a, + 0x20, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x49, 0x44, 0x5f, 0x54, 0x45, 0x41, 0x4d, 0x5f, 0x49, + 0x4e, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x41, 0x4c, 0x5f, 0x32, 0x30, 0x32, + 0x32, 0x10, 0x26, 0x2a, 0xa8, 0x02, 0x0a, 0x12, 0x44, 0x4f, 0x54, 0x41, 0x4c, 0x65, 0x61, 0x76, + 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x74, 0x12, 0x14, 0x0a, 0x10, 0x44, 0x4f, + 0x54, 0x41, 0x5f, 0x4c, 0x45, 0x41, 0x56, 0x45, 0x52, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, + 0x12, 0x1c, 0x0a, 0x18, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x4c, 0x45, 0x41, 0x56, 0x45, 0x52, 0x5f, + 0x44, 0x49, 0x53, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x45, 0x44, 0x10, 0x01, 0x12, 0x25, + 0x0a, 0x21, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x4c, 0x45, 0x41, 0x56, 0x45, 0x52, 0x5f, 0x44, 0x49, + 0x53, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x45, 0x44, 0x5f, 0x54, 0x4f, 0x4f, 0x5f, 0x4c, + 0x4f, 0x4e, 0x47, 0x10, 0x02, 0x12, 0x19, 0x0a, 0x15, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x4c, 0x45, + 0x41, 0x56, 0x45, 0x52, 0x5f, 0x41, 0x42, 0x41, 0x4e, 0x44, 0x4f, 0x4e, 0x45, 0x44, 0x10, 0x03, + 0x12, 0x13, 0x0a, 0x0f, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x4c, 0x45, 0x41, 0x56, 0x45, 0x52, 0x5f, + 0x41, 0x46, 0x4b, 0x10, 0x04, 0x12, 0x1f, 0x0a, 0x1b, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x4c, 0x45, + 0x41, 0x56, 0x45, 0x52, 0x5f, 0x4e, 0x45, 0x56, 0x45, 0x52, 0x5f, 0x43, 0x4f, 0x4e, 0x4e, 0x45, + 0x43, 0x54, 0x45, 0x44, 0x10, 0x05, 0x12, 0x28, 0x0a, 0x24, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x4c, + 0x45, 0x41, 0x56, 0x45, 0x52, 0x5f, 0x4e, 0x45, 0x56, 0x45, 0x52, 0x5f, 0x43, 0x4f, 0x4e, 0x4e, + 0x45, 0x43, 0x54, 0x45, 0x44, 0x5f, 0x54, 0x4f, 0x4f, 0x5f, 0x4c, 0x4f, 0x4e, 0x47, 0x10, 0x06, + 0x12, 0x22, 0x0a, 0x1e, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x4c, 0x45, 0x41, 0x56, 0x45, 0x52, 0x5f, + 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x5f, 0x54, 0x4f, 0x5f, 0x52, 0x45, 0x41, 0x44, 0x59, 0x5f, + 0x55, 0x50, 0x10, 0x07, 0x12, 0x18, 0x0a, 0x14, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x4c, 0x45, 0x41, + 0x56, 0x45, 0x52, 0x5f, 0x44, 0x45, 0x43, 0x4c, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x08, 0x2a, 0x9e, + 0x02, 0x0a, 0x15, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x12, 0x21, 0x0a, 0x1d, 0x44, 0x4f, 0x54, 0x41, + 0x5f, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, + 0x45, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x2b, 0x0a, 0x27, 0x44, + 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, + 0x54, 0x41, 0x54, 0x45, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x59, 0x45, 0x54, 0x5f, 0x43, 0x4f, 0x4e, + 0x4e, 0x45, 0x43, 0x54, 0x45, 0x44, 0x10, 0x01, 0x12, 0x23, 0x0a, 0x1f, 0x44, 0x4f, 0x54, 0x41, + 0x5f, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, + 0x45, 0x5f, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x45, 0x44, 0x10, 0x02, 0x12, 0x26, 0x0a, + 0x22, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, + 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x44, 0x49, 0x53, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, + 0x54, 0x45, 0x44, 0x10, 0x03, 0x12, 0x23, 0x0a, 0x1f, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4f, + 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x41, + 0x42, 0x41, 0x4e, 0x44, 0x4f, 0x4e, 0x45, 0x44, 0x10, 0x04, 0x12, 0x21, 0x0a, 0x1d, 0x44, 0x4f, + 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, + 0x41, 0x54, 0x45, 0x5f, 0x4c, 0x4f, 0x41, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x05, 0x12, 0x20, 0x0a, + 0x1c, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, + 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x06, 0x2a, + 0x8c, 0x01, 0x0a, 0x0d, 0x46, 0x61, 0x6e, 0x74, 0x61, 0x73, 0x79, 0x5f, 0x52, 0x6f, 0x6c, 0x65, + 0x73, 0x12, 0x1a, 0x0a, 0x16, 0x46, 0x41, 0x4e, 0x54, 0x41, 0x53, 0x59, 0x5f, 0x52, 0x4f, 0x4c, + 0x45, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x15, 0x0a, + 0x11, 0x46, 0x41, 0x4e, 0x54, 0x41, 0x53, 0x59, 0x5f, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x43, 0x4f, + 0x52, 0x45, 0x10, 0x01, 0x12, 0x18, 0x0a, 0x14, 0x46, 0x41, 0x4e, 0x54, 0x41, 0x53, 0x59, 0x5f, + 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x53, 0x55, 0x50, 0x50, 0x4f, 0x52, 0x54, 0x10, 0x02, 0x12, 0x18, + 0x0a, 0x14, 0x46, 0x41, 0x4e, 0x54, 0x41, 0x53, 0x59, 0x5f, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x4f, + 0x46, 0x46, 0x4c, 0x41, 0x4e, 0x45, 0x10, 0x03, 0x12, 0x14, 0x0a, 0x10, 0x46, 0x41, 0x4e, 0x54, + 0x41, 0x53, 0x59, 0x5f, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x4d, 0x49, 0x44, 0x10, 0x04, 0x2a, 0x8a, + 0x01, 0x0a, 0x12, 0x46, 0x61, 0x6e, 0x74, 0x61, 0x73, 0x79, 0x5f, 0x54, 0x65, 0x61, 0x6d, 0x5f, + 0x53, 0x6c, 0x6f, 0x74, 0x73, 0x12, 0x15, 0x0a, 0x11, 0x46, 0x41, 0x4e, 0x54, 0x41, 0x53, 0x59, + 0x5f, 0x53, 0x4c, 0x4f, 0x54, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x15, 0x0a, 0x11, + 0x46, 0x41, 0x4e, 0x54, 0x41, 0x53, 0x59, 0x5f, 0x53, 0x4c, 0x4f, 0x54, 0x5f, 0x43, 0x4f, 0x52, + 0x45, 0x10, 0x01, 0x12, 0x18, 0x0a, 0x14, 0x46, 0x41, 0x4e, 0x54, 0x41, 0x53, 0x59, 0x5f, 0x53, + 0x4c, 0x4f, 0x54, 0x5f, 0x53, 0x55, 0x50, 0x50, 0x4f, 0x52, 0x54, 0x10, 0x02, 0x12, 0x14, 0x0a, + 0x10, 0x46, 0x41, 0x4e, 0x54, 0x41, 0x53, 0x59, 0x5f, 0x53, 0x4c, 0x4f, 0x54, 0x5f, 0x41, 0x4e, + 0x59, 0x10, 0x03, 0x12, 0x16, 0x0a, 0x12, 0x46, 0x41, 0x4e, 0x54, 0x41, 0x53, 0x59, 0x5f, 0x53, + 0x4c, 0x4f, 0x54, 0x5f, 0x42, 0x45, 0x4e, 0x43, 0x48, 0x10, 0x04, 0x2a, 0xdd, 0x02, 0x0a, 0x16, + 0x46, 0x61, 0x6e, 0x74, 0x61, 0x73, 0x79, 0x5f, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x1d, 0x0a, 0x19, 0x46, 0x41, 0x4e, 0x54, 0x41, 0x53, + 0x59, 0x5f, 0x53, 0x45, 0x4c, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x49, 0x4e, 0x56, 0x41, + 0x4c, 0x49, 0x44, 0x10, 0x00, 0x12, 0x1c, 0x0a, 0x18, 0x46, 0x41, 0x4e, 0x54, 0x41, 0x53, 0x59, + 0x5f, 0x53, 0x45, 0x4c, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4c, 0x4f, 0x43, 0x4b, 0x45, + 0x44, 0x10, 0x01, 0x12, 0x1d, 0x0a, 0x19, 0x46, 0x41, 0x4e, 0x54, 0x41, 0x53, 0x59, 0x5f, 0x53, + 0x45, 0x4c, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x48, 0x55, 0x46, 0x46, 0x4c, 0x45, + 0x10, 0x02, 0x12, 0x1f, 0x0a, 0x1b, 0x46, 0x41, 0x4e, 0x54, 0x41, 0x53, 0x59, 0x5f, 0x53, 0x45, + 0x4c, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x46, 0x52, 0x45, 0x45, 0x5f, 0x50, 0x49, 0x43, + 0x4b, 0x10, 0x03, 0x12, 0x1b, 0x0a, 0x17, 0x46, 0x41, 0x4e, 0x54, 0x41, 0x53, 0x59, 0x5f, 0x53, + 0x45, 0x4c, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x45, 0x4e, 0x44, 0x45, 0x44, 0x10, 0x04, + 0x12, 0x20, 0x0a, 0x1c, 0x46, 0x41, 0x4e, 0x54, 0x41, 0x53, 0x59, 0x5f, 0x53, 0x45, 0x4c, 0x45, + 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x50, 0x52, 0x45, 0x5f, 0x53, 0x45, 0x41, 0x53, 0x4f, 0x4e, + 0x10, 0x05, 0x12, 0x1f, 0x0a, 0x1b, 0x46, 0x41, 0x4e, 0x54, 0x41, 0x53, 0x59, 0x5f, 0x53, 0x45, + 0x4c, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x50, 0x52, 0x45, 0x5f, 0x44, 0x52, 0x41, 0x46, + 0x54, 0x10, 0x06, 0x12, 0x1e, 0x0a, 0x1a, 0x46, 0x41, 0x4e, 0x54, 0x41, 0x53, 0x59, 0x5f, 0x53, + 0x45, 0x4c, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x44, 0x52, 0x41, 0x46, 0x54, 0x49, 0x4e, + 0x47, 0x10, 0x07, 0x12, 0x24, 0x0a, 0x20, 0x46, 0x41, 0x4e, 0x54, 0x41, 0x53, 0x59, 0x5f, 0x53, + 0x45, 0x4c, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x45, 0x47, 0x55, 0x4c, 0x41, 0x52, + 0x5f, 0x53, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x10, 0x08, 0x12, 0x20, 0x0a, 0x1c, 0x46, 0x41, 0x4e, + 0x54, 0x41, 0x53, 0x59, 0x5f, 0x53, 0x45, 0x4c, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x43, + 0x41, 0x52, 0x44, 0x5f, 0x42, 0x41, 0x53, 0x45, 0x44, 0x10, 0x09, 0x2a, 0x82, 0x06, 0x0a, 0x15, + 0x44, 0x4f, 0x54, 0x41, 0x43, 0x68, 0x61, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, + 0x79, 0x70, 0x65, 0x5f, 0x74, 0x12, 0x1c, 0x0a, 0x18, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x68, 0x61, + 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x61, + 0x6c, 0x10, 0x00, 0x12, 0x1a, 0x0a, 0x16, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x68, 0x61, 0x6e, 0x6e, + 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x10, 0x01, 0x12, + 0x19, 0x0a, 0x15, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, + 0x70, 0x65, 0x5f, 0x50, 0x61, 0x72, 0x74, 0x79, 0x10, 0x02, 0x12, 0x19, 0x0a, 0x15, 0x44, 0x4f, + 0x54, 0x41, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x4c, 0x6f, + 0x62, 0x62, 0x79, 0x10, 0x03, 0x12, 0x18, 0x0a, 0x14, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x68, 0x61, + 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x54, 0x65, 0x61, 0x6d, 0x10, 0x04, 0x12, + 0x19, 0x0a, 0x15, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, + 0x70, 0x65, 0x5f, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x10, 0x05, 0x12, 0x1b, 0x0a, 0x17, 0x44, 0x4f, + 0x54, 0x41, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x46, 0x61, + 0x6e, 0x74, 0x61, 0x73, 0x79, 0x10, 0x06, 0x12, 0x1b, 0x0a, 0x17, 0x44, 0x4f, 0x54, 0x41, 0x43, + 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x57, 0x68, 0x69, 0x73, 0x70, + 0x65, 0x72, 0x10, 0x07, 0x12, 0x1b, 0x0a, 0x17, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x68, 0x61, 0x6e, + 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x43, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x10, + 0x08, 0x12, 0x17, 0x0a, 0x13, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, + 0x54, 0x79, 0x70, 0x65, 0x5f, 0x54, 0x61, 0x62, 0x10, 0x09, 0x12, 0x1b, 0x0a, 0x17, 0x44, 0x4f, + 0x54, 0x41, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x49, 0x6e, + 0x76, 0x61, 0x6c, 0x69, 0x64, 0x10, 0x0a, 0x12, 0x1b, 0x0a, 0x17, 0x44, 0x4f, 0x54, 0x41, 0x43, + 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x41, + 0x6c, 0x6c, 0x10, 0x0b, 0x12, 0x1e, 0x0a, 0x1a, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x68, 0x61, 0x6e, + 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x41, 0x6c, 0x6c, 0x69, + 0x65, 0x73, 0x10, 0x0c, 0x12, 0x21, 0x0a, 0x1d, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x68, 0x61, 0x6e, + 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x53, 0x70, 0x65, 0x63, + 0x74, 0x61, 0x74, 0x6f, 0x72, 0x10, 0x0d, 0x12, 0x20, 0x0a, 0x1c, 0x44, 0x4f, 0x54, 0x41, 0x43, + 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x43, + 0x6f, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x10, 0x0e, 0x12, 0x18, 0x0a, 0x14, 0x44, 0x4f, 0x54, + 0x41, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x43, 0x61, 0x66, + 0x65, 0x10, 0x0f, 0x12, 0x1e, 0x0a, 0x1a, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x68, 0x61, 0x6e, 0x6e, + 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x47, 0x61, 0x6d, + 0x65, 0x10, 0x10, 0x12, 0x1b, 0x0a, 0x17, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x68, 0x61, 0x6e, 0x6e, + 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x10, 0x11, + 0x12, 0x1c, 0x0a, 0x18, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, + 0x79, 0x70, 0x65, 0x5f, 0x50, 0x6f, 0x73, 0x74, 0x47, 0x61, 0x6d, 0x65, 0x10, 0x12, 0x12, 0x1d, + 0x0a, 0x19, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, + 0x65, 0x5f, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x43, 0x75, 0x70, 0x10, 0x13, 0x12, 0x21, 0x0a, + 0x1d, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, + 0x5f, 0x48, 0x4c, 0x54, 0x56, 0x53, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x6f, 0x72, 0x10, 0x14, + 0x12, 0x1e, 0x0a, 0x1a, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, + 0x79, 0x70, 0x65, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x10, 0x15, + 0x12, 0x1a, 0x0a, 0x16, 0x44, 0x4f, 0x54, 0x41, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, + 0x79, 0x70, 0x65, 0x5f, 0x54, 0x72, 0x69, 0x76, 0x69, 0x61, 0x10, 0x16, 0x12, 0x1d, 0x0a, 0x19, + 0x44, 0x4f, 0x54, 0x41, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x5f, + 0x4e, 0x65, 0x77, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x10, 0x17, 0x12, 0x23, 0x0a, 0x1f, 0x44, + 0x4f, 0x54, 0x41, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x50, + 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x10, 0x18, + 0x2a, 0x90, 0x01, 0x0a, 0x16, 0x45, 0x43, 0x68, 0x61, 0x74, 0x53, 0x70, 0x65, 0x63, 0x69, 0x61, + 0x6c, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x73, 0x12, 0x21, 0x0a, 0x1d, 0x6b, + 0x5f, 0x45, 0x43, 0x68, 0x61, 0x74, 0x53, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x50, 0x72, 0x69, + 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x73, 0x5f, 0x4e, 0x6f, 0x6e, 0x65, 0x10, 0x00, 0x12, 0x26, + 0x0a, 0x22, 0x6b, 0x5f, 0x45, 0x43, 0x68, 0x61, 0x74, 0x53, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, + 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x73, 0x5f, 0x4d, 0x6f, 0x64, 0x65, 0x72, + 0x61, 0x74, 0x6f, 0x72, 0x10, 0x01, 0x12, 0x2b, 0x0a, 0x27, 0x6b, 0x5f, 0x45, 0x43, 0x68, 0x61, + 0x74, 0x53, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, + 0x65, 0x73, 0x5f, 0x53, 0x75, 0x70, 0x65, 0x72, 0x4d, 0x6f, 0x64, 0x65, 0x72, 0x61, 0x74, 0x6f, + 0x72, 0x10, 0x02, 0x2a, 0x84, 0x02, 0x0a, 0x14, 0x45, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, + 0x43, 0x61, 0x72, 0x64, 0x53, 0x6c, 0x6f, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, 0x1c, + 0x6b, 0x5f, 0x45, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x43, 0x61, 0x72, 0x64, 0x53, 0x6c, + 0x6f, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x10, 0x00, 0x12, 0x1f, + 0x0a, 0x1b, 0x6b, 0x5f, 0x45, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x43, 0x61, 0x72, 0x64, + 0x53, 0x6c, 0x6f, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x53, 0x74, 0x61, 0x74, 0x10, 0x01, 0x12, + 0x21, 0x0a, 0x1d, 0x6b, 0x5f, 0x45, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x43, 0x61, 0x72, + 0x64, 0x53, 0x6c, 0x6f, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x54, 0x72, 0x6f, 0x70, 0x68, 0x79, + 0x10, 0x02, 0x12, 0x1f, 0x0a, 0x1b, 0x6b, 0x5f, 0x45, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, + 0x43, 0x61, 0x72, 0x64, 0x53, 0x6c, 0x6f, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x49, 0x74, 0x65, + 0x6d, 0x10, 0x03, 0x12, 0x1f, 0x0a, 0x1b, 0x6b, 0x5f, 0x45, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, + 0x65, 0x43, 0x61, 0x72, 0x64, 0x53, 0x6c, 0x6f, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x48, 0x65, + 0x72, 0x6f, 0x10, 0x04, 0x12, 0x23, 0x0a, 0x1f, 0x6b, 0x5f, 0x45, 0x50, 0x72, 0x6f, 0x66, 0x69, + 0x6c, 0x65, 0x43, 0x61, 0x72, 0x64, 0x53, 0x6c, 0x6f, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x45, + 0x6d, 0x6f, 0x74, 0x69, 0x63, 0x6f, 0x6e, 0x10, 0x05, 0x12, 0x1f, 0x0a, 0x1b, 0x6b, 0x5f, 0x45, + 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x43, 0x61, 0x72, 0x64, 0x53, 0x6c, 0x6f, 0x74, 0x54, + 0x79, 0x70, 0x65, 0x5f, 0x54, 0x65, 0x61, 0x6d, 0x10, 0x06, 0x2a, 0x95, 0x01, 0x0a, 0x17, 0x45, + 0x4d, 0x61, 0x74, 0x63, 0x68, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x20, 0x0a, 0x1c, 0x6b, 0x5f, 0x45, 0x4d, 0x61, 0x74, + 0x63, 0x68, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x5f, 0x4f, 0x4b, 0x10, 0x00, 0x12, 0x31, 0x0a, 0x2d, 0x6b, 0x5f, 0x45, 0x4d, + 0x61, 0x74, 0x63, 0x68, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x64, 0x41, 0x76, 0x61, + 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x10, 0x01, 0x12, 0x25, 0x0a, 0x21, 0x6b, + 0x5f, 0x45, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x53, 0x65, 0x72, 0x76, + 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x4f, 0x66, 0x66, 0x6c, 0x69, 0x6e, 0x65, + 0x10, 0x02, 0x2a, 0x4f, 0x0a, 0x0c, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, 0x5f, 0x50, 0x49, + 0x43, 0x4b, 0x12, 0x12, 0x0a, 0x0e, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, 0x5f, 0x52, 0x41, + 0x4e, 0x44, 0x4f, 0x4d, 0x10, 0x00, 0x12, 0x15, 0x0a, 0x11, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, + 0x4d, 0x5f, 0x47, 0x4f, 0x4f, 0x44, 0x5f, 0x47, 0x55, 0x59, 0x53, 0x10, 0x01, 0x12, 0x14, 0x0a, + 0x10, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4d, 0x5f, 0x42, 0x41, 0x44, 0x5f, 0x47, 0x55, 0x59, + 0x53, 0x10, 0x02, 0x2a, 0xb4, 0x01, 0x0a, 0x16, 0x44, 0x4f, 0x54, 0x41, 0x4c, 0x6f, 0x77, 0x50, + 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x42, 0x61, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x21, + 0x0a, 0x1d, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x4c, 0x4f, 0x57, 0x5f, 0x50, 0x52, 0x49, 0x4f, 0x52, + 0x49, 0x54, 0x59, 0x5f, 0x42, 0x41, 0x4e, 0x5f, 0x41, 0x42, 0x41, 0x4e, 0x44, 0x4f, 0x4e, 0x10, + 0x00, 0x12, 0x21, 0x0a, 0x1d, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x4c, 0x4f, 0x57, 0x5f, 0x50, 0x52, + 0x49, 0x4f, 0x52, 0x49, 0x54, 0x59, 0x5f, 0x42, 0x41, 0x4e, 0x5f, 0x52, 0x45, 0x50, 0x4f, 0x52, + 0x54, 0x53, 0x10, 0x01, 0x12, 0x2b, 0x0a, 0x27, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x4c, 0x4f, 0x57, + 0x5f, 0x50, 0x52, 0x49, 0x4f, 0x52, 0x49, 0x54, 0x59, 0x5f, 0x42, 0x41, 0x4e, 0x5f, 0x53, 0x45, + 0x43, 0x4f, 0x4e, 0x44, 0x41, 0x52, 0x59, 0x5f, 0x41, 0x42, 0x41, 0x4e, 0x44, 0x4f, 0x4e, 0x10, + 0x02, 0x12, 0x27, 0x0a, 0x23, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x4c, 0x4f, 0x57, 0x5f, 0x50, 0x52, + 0x49, 0x4f, 0x52, 0x49, 0x54, 0x59, 0x5f, 0x42, 0x41, 0x4e, 0x5f, 0x50, 0x52, 0x45, 0x5f, 0x47, + 0x41, 0x4d, 0x45, 0x5f, 0x52, 0x4f, 0x4c, 0x45, 0x10, 0x03, 0x2a, 0x7d, 0x0a, 0x13, 0x44, 0x4f, + 0x54, 0x41, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x52, 0x65, 0x61, 0x64, 0x79, 0x53, 0x74, 0x61, 0x74, + 0x65, 0x12, 0x22, 0x0a, 0x1e, 0x44, 0x4f, 0x54, 0x41, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x52, 0x65, + 0x61, 0x64, 0x79, 0x53, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x43, 0x4c, 0x41, + 0x52, 0x45, 0x44, 0x10, 0x00, 0x12, 0x20, 0x0a, 0x1c, 0x44, 0x4f, 0x54, 0x41, 0x4c, 0x6f, 0x62, + 0x62, 0x79, 0x52, 0x65, 0x61, 0x64, 0x79, 0x53, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x41, 0x43, 0x43, + 0x45, 0x50, 0x54, 0x45, 0x44, 0x10, 0x01, 0x12, 0x20, 0x0a, 0x1c, 0x44, 0x4f, 0x54, 0x41, 0x4c, + 0x6f, 0x62, 0x62, 0x79, 0x52, 0x65, 0x61, 0x64, 0x79, 0x53, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x44, + 0x45, 0x43, 0x4c, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x02, 0x2a, 0x44, 0x0a, 0x0f, 0x44, 0x4f, 0x54, + 0x41, 0x47, 0x61, 0x6d, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x14, + 0x47, 0x41, 0x4d, 0x45, 0x5f, 0x56, 0x45, 0x52, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x43, 0x55, 0x52, + 0x52, 0x45, 0x4e, 0x54, 0x10, 0x00, 0x12, 0x17, 0x0a, 0x13, 0x47, 0x41, 0x4d, 0x45, 0x5f, 0x56, + 0x45, 0x52, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x01, 0x2a, + 0xba, 0x04, 0x0a, 0x13, 0x44, 0x4f, 0x54, 0x41, 0x4a, 0x6f, 0x69, 0x6e, 0x4c, 0x6f, 0x62, 0x62, + 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x1c, 0x0a, 0x18, 0x44, 0x4f, 0x54, 0x41, 0x5f, + 0x4a, 0x4f, 0x49, 0x4e, 0x5f, 0x52, 0x45, 0x53, 0x55, 0x4c, 0x54, 0x5f, 0x53, 0x55, 0x43, 0x43, + 0x45, 0x53, 0x53, 0x10, 0x00, 0x12, 0x24, 0x0a, 0x20, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x4a, 0x4f, + 0x49, 0x4e, 0x5f, 0x52, 0x45, 0x53, 0x55, 0x4c, 0x54, 0x5f, 0x41, 0x4c, 0x52, 0x45, 0x41, 0x44, + 0x59, 0x5f, 0x49, 0x4e, 0x5f, 0x47, 0x41, 0x4d, 0x45, 0x10, 0x01, 0x12, 0x22, 0x0a, 0x1e, 0x44, + 0x4f, 0x54, 0x41, 0x5f, 0x4a, 0x4f, 0x49, 0x4e, 0x5f, 0x52, 0x45, 0x53, 0x55, 0x4c, 0x54, 0x5f, + 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x4c, 0x4f, 0x42, 0x42, 0x59, 0x10, 0x02, 0x12, + 0x27, 0x0a, 0x23, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x4a, 0x4f, 0x49, 0x4e, 0x5f, 0x52, 0x45, 0x53, + 0x55, 0x4c, 0x54, 0x5f, 0x49, 0x4e, 0x43, 0x4f, 0x52, 0x52, 0x45, 0x43, 0x54, 0x5f, 0x50, 0x41, + 0x53, 0x53, 0x57, 0x4f, 0x52, 0x44, 0x10, 0x03, 0x12, 0x22, 0x0a, 0x1e, 0x44, 0x4f, 0x54, 0x41, + 0x5f, 0x4a, 0x4f, 0x49, 0x4e, 0x5f, 0x52, 0x45, 0x53, 0x55, 0x4c, 0x54, 0x5f, 0x41, 0x43, 0x43, + 0x45, 0x53, 0x53, 0x5f, 0x44, 0x45, 0x4e, 0x49, 0x45, 0x44, 0x10, 0x04, 0x12, 0x22, 0x0a, 0x1e, + 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x4a, 0x4f, 0x49, 0x4e, 0x5f, 0x52, 0x45, 0x53, 0x55, 0x4c, 0x54, + 0x5f, 0x47, 0x45, 0x4e, 0x45, 0x52, 0x49, 0x43, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x05, + 0x12, 0x26, 0x0a, 0x22, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x4a, 0x4f, 0x49, 0x4e, 0x5f, 0x52, 0x45, + 0x53, 0x55, 0x4c, 0x54, 0x5f, 0x49, 0x4e, 0x43, 0x4f, 0x52, 0x52, 0x45, 0x43, 0x54, 0x5f, 0x56, + 0x45, 0x52, 0x53, 0x49, 0x4f, 0x4e, 0x10, 0x06, 0x12, 0x22, 0x0a, 0x1e, 0x44, 0x4f, 0x54, 0x41, + 0x5f, 0x4a, 0x4f, 0x49, 0x4e, 0x5f, 0x52, 0x45, 0x53, 0x55, 0x4c, 0x54, 0x5f, 0x49, 0x4e, 0x5f, + 0x54, 0x45, 0x41, 0x4d, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x59, 0x10, 0x07, 0x12, 0x23, 0x0a, 0x1f, + 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x4a, 0x4f, 0x49, 0x4e, 0x5f, 0x52, 0x45, 0x53, 0x55, 0x4c, 0x54, + 0x5f, 0x4e, 0x4f, 0x5f, 0x4c, 0x4f, 0x42, 0x42, 0x59, 0x5f, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, + 0x08, 0x12, 0x1f, 0x0a, 0x1b, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x4a, 0x4f, 0x49, 0x4e, 0x5f, 0x52, + 0x45, 0x53, 0x55, 0x4c, 0x54, 0x5f, 0x4c, 0x4f, 0x42, 0x42, 0x59, 0x5f, 0x46, 0x55, 0x4c, 0x4c, + 0x10, 0x09, 0x12, 0x32, 0x0a, 0x2e, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x4a, 0x4f, 0x49, 0x4e, 0x5f, + 0x52, 0x45, 0x53, 0x55, 0x4c, 0x54, 0x5f, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x5f, 0x47, 0x41, + 0x4d, 0x45, 0x5f, 0x49, 0x4e, 0x43, 0x4f, 0x52, 0x52, 0x45, 0x43, 0x54, 0x5f, 0x56, 0x45, 0x52, + 0x53, 0x49, 0x4f, 0x4e, 0x10, 0x0a, 0x12, 0x1c, 0x0a, 0x18, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x4a, + 0x4f, 0x49, 0x4e, 0x5f, 0x52, 0x45, 0x53, 0x55, 0x4c, 0x54, 0x5f, 0x54, 0x49, 0x4d, 0x45, 0x4f, + 0x55, 0x54, 0x10, 0x0b, 0x12, 0x29, 0x0a, 0x25, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x4a, 0x4f, 0x49, + 0x4e, 0x5f, 0x52, 0x45, 0x53, 0x55, 0x4c, 0x54, 0x5f, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x5f, + 0x47, 0x41, 0x4d, 0x45, 0x5f, 0x43, 0x4f, 0x4f, 0x4c, 0x44, 0x4f, 0x57, 0x4e, 0x10, 0x0c, 0x12, + 0x19, 0x0a, 0x15, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x4a, 0x4f, 0x49, 0x4e, 0x5f, 0x52, 0x45, 0x53, + 0x55, 0x4c, 0x54, 0x5f, 0x42, 0x55, 0x53, 0x59, 0x10, 0x0d, 0x12, 0x20, 0x0a, 0x1c, 0x44, 0x4f, + 0x54, 0x41, 0x5f, 0x4a, 0x4f, 0x49, 0x4e, 0x5f, 0x52, 0x45, 0x53, 0x55, 0x4c, 0x54, 0x5f, 0x4e, + 0x4f, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x54, 0x49, 0x4d, 0x45, 0x10, 0x0e, 0x2a, 0x71, 0x0a, 0x1a, + 0x44, 0x4f, 0x54, 0x41, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x69, + 0x6f, 0x72, 0x69, 0x74, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x27, 0x0a, 0x23, 0x6b, 0x5f, + 0x44, 0x4f, 0x54, 0x41, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x69, + 0x6f, 0x72, 0x69, 0x74, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x5f, 0x4d, 0x61, 0x6e, 0x75, 0x61, + 0x6c, 0x10, 0x00, 0x12, 0x2a, 0x0a, 0x26, 0x6b, 0x5f, 0x44, 0x4f, 0x54, 0x41, 0x53, 0x65, 0x6c, + 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x52, 0x75, + 0x6c, 0x65, 0x73, 0x5f, 0x41, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x63, 0x10, 0x01, 0x2a, + 0xf6, 0x01, 0x0a, 0x1b, 0x44, 0x4f, 0x54, 0x41, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x12, + 0x29, 0x0a, 0x25, 0x6b, 0x5f, 0x44, 0x4f, 0x54, 0x41, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, + 0x5f, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x10, 0x00, 0x12, 0x2b, 0x0a, 0x27, 0x6b, 0x5f, + 0x44, 0x4f, 0x54, 0x41, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x69, + 0x6f, 0x72, 0x69, 0x74, 0x79, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x5f, 0x46, 0x69, 0x72, 0x73, + 0x74, 0x50, 0x69, 0x63, 0x6b, 0x10, 0x01, 0x12, 0x2c, 0x0a, 0x28, 0x6b, 0x5f, 0x44, 0x4f, 0x54, + 0x41, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, + 0x74, 0x79, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x5f, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x50, + 0x69, 0x63, 0x6b, 0x10, 0x02, 0x12, 0x29, 0x0a, 0x25, 0x6b, 0x5f, 0x44, 0x4f, 0x54, 0x41, 0x53, + 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, + 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x5f, 0x52, 0x61, 0x64, 0x69, 0x61, 0x6e, 0x74, 0x10, 0x03, + 0x12, 0x26, 0x0a, 0x22, 0x6b, 0x5f, 0x44, 0x4f, 0x54, 0x41, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x43, 0x68, 0x6f, 0x69, 0x63, + 0x65, 0x5f, 0x44, 0x69, 0x72, 0x65, 0x10, 0x04, 0x2a, 0x62, 0x0a, 0x0d, 0x44, 0x4f, 0x54, 0x41, + 0x4d, 0x61, 0x74, 0x63, 0x68, 0x56, 0x6f, 0x74, 0x65, 0x12, 0x19, 0x0a, 0x15, 0x44, 0x4f, 0x54, + 0x41, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x56, 0x6f, 0x74, 0x65, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, + 0x49, 0x44, 0x10, 0x00, 0x12, 0x1a, 0x0a, 0x16, 0x44, 0x4f, 0x54, 0x41, 0x4d, 0x61, 0x74, 0x63, + 0x68, 0x56, 0x6f, 0x74, 0x65, 0x5f, 0x50, 0x4f, 0x53, 0x49, 0x54, 0x49, 0x56, 0x45, 0x10, 0x01, + 0x12, 0x1a, 0x0a, 0x16, 0x44, 0x4f, 0x54, 0x41, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x56, 0x6f, 0x74, + 0x65, 0x5f, 0x4e, 0x45, 0x47, 0x41, 0x54, 0x49, 0x56, 0x45, 0x10, 0x02, 0x2a, 0x78, 0x0a, 0x13, + 0x44, 0x4f, 0x54, 0x41, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x56, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, + 0x69, 0x74, 0x79, 0x12, 0x1e, 0x0a, 0x1a, 0x44, 0x4f, 0x54, 0x41, 0x4c, 0x6f, 0x62, 0x62, 0x79, + 0x56, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x50, 0x75, 0x62, 0x6c, 0x69, + 0x63, 0x10, 0x00, 0x12, 0x1f, 0x0a, 0x1b, 0x44, 0x4f, 0x54, 0x41, 0x4c, 0x6f, 0x62, 0x62, 0x79, + 0x56, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x46, 0x72, 0x69, 0x65, 0x6e, + 0x64, 0x73, 0x10, 0x01, 0x12, 0x20, 0x0a, 0x1c, 0x44, 0x4f, 0x54, 0x41, 0x4c, 0x6f, 0x62, 0x62, + 0x79, 0x56, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x55, 0x6e, 0x6c, 0x69, + 0x73, 0x74, 0x65, 0x64, 0x10, 0x02, 0x2a, 0xe9, 0x01, 0x0a, 0x12, 0x45, 0x44, 0x4f, 0x54, 0x41, + 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4d, 0x4d, 0x52, 0x54, 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, + 0x1c, 0x6b, 0x5f, 0x45, 0x44, 0x4f, 0x54, 0x41, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4d, 0x4d, + 0x52, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x10, 0x00, 0x12, + 0x26, 0x0a, 0x22, 0x6b, 0x5f, 0x45, 0x44, 0x4f, 0x54, 0x41, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, + 0x4d, 0x4d, 0x52, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x48, + 0x69, 0x64, 0x64, 0x65, 0x6e, 0x10, 0x01, 0x12, 0x2b, 0x0a, 0x27, 0x6b, 0x5f, 0x45, 0x44, 0x4f, + 0x54, 0x41, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4d, 0x4d, 0x52, 0x54, 0x79, 0x70, 0x65, 0x5f, + 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x43, 0x6f, 0x6d, 0x70, 0x65, 0x74, 0x69, 0x74, 0x69, + 0x76, 0x65, 0x10, 0x03, 0x12, 0x2c, 0x0a, 0x28, 0x6b, 0x5f, 0x45, 0x44, 0x4f, 0x54, 0x41, 0x50, + 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4d, 0x4d, 0x52, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x53, 0x6f, 0x6c, + 0x6f, 0x43, 0x6f, 0x6d, 0x70, 0x65, 0x74, 0x69, 0x74, 0x69, 0x76, 0x65, 0x32, 0x30, 0x31, 0x39, + 0x10, 0x04, 0x12, 0x2e, 0x0a, 0x2a, 0x6b, 0x5f, 0x45, 0x44, 0x4f, 0x54, 0x41, 0x50, 0x6c, 0x61, + 0x79, 0x65, 0x72, 0x4d, 0x4d, 0x52, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x31, 0x76, 0x31, 0x43, 0x6f, + 0x6d, 0x70, 0x65, 0x74, 0x69, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x55, 0x4e, 0x55, 0x53, 0x45, 0x44, + 0x10, 0x05, 0x2a, 0x73, 0x0a, 0x11, 0x45, 0x44, 0x4f, 0x54, 0x41, 0x4d, 0x4d, 0x52, 0x42, 0x6f, + 0x6f, 0x73, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x18, 0x6b, 0x5f, 0x45, 0x44, 0x4f, + 0x54, 0x41, 0x4d, 0x4d, 0x52, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x4e, + 0x6f, 0x6e, 0x65, 0x10, 0x00, 0x12, 0x1e, 0x0a, 0x1a, 0x6b, 0x5f, 0x45, 0x44, 0x4f, 0x54, 0x41, + 0x4d, 0x4d, 0x52, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x4c, 0x65, 0x61, + 0x64, 0x65, 0x72, 0x10, 0x01, 0x12, 0x20, 0x0a, 0x1c, 0x6b, 0x5f, 0x45, 0x44, 0x4f, 0x54, 0x41, + 0x4d, 0x4d, 0x52, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x46, 0x6f, 0x6c, + 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x10, 0x02, 0x2a, 0xc0, 0x03, 0x0a, 0x09, 0x4d, 0x61, 0x74, 0x63, + 0x68, 0x54, 0x79, 0x70, 0x65, 0x12, 0x15, 0x0a, 0x11, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x5f, 0x54, + 0x59, 0x50, 0x45, 0x5f, 0x43, 0x41, 0x53, 0x55, 0x41, 0x4c, 0x10, 0x00, 0x12, 0x18, 0x0a, 0x14, + 0x4d, 0x41, 0x54, 0x43, 0x48, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x43, 0x4f, 0x4f, 0x50, 0x5f, + 0x42, 0x4f, 0x54, 0x53, 0x10, 0x01, 0x12, 0x21, 0x0a, 0x1d, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x5f, + 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4c, 0x45, 0x47, 0x41, 0x43, 0x59, 0x5f, 0x54, 0x45, 0x41, 0x4d, + 0x5f, 0x52, 0x41, 0x4e, 0x4b, 0x45, 0x44, 0x10, 0x02, 0x12, 0x20, 0x0a, 0x1c, 0x4d, 0x41, 0x54, + 0x43, 0x48, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4c, 0x45, 0x47, 0x41, 0x43, 0x59, 0x5f, 0x53, + 0x4f, 0x4c, 0x4f, 0x5f, 0x51, 0x55, 0x45, 0x55, 0x45, 0x10, 0x03, 0x12, 0x1a, 0x0a, 0x16, 0x4d, + 0x41, 0x54, 0x43, 0x48, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x45, 0x54, + 0x49, 0x54, 0x49, 0x56, 0x45, 0x10, 0x04, 0x12, 0x1e, 0x0a, 0x1a, 0x4d, 0x41, 0x54, 0x43, 0x48, + 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x57, 0x45, 0x45, 0x4b, 0x45, 0x4e, 0x44, 0x5f, 0x54, 0x4f, + 0x55, 0x52, 0x4e, 0x45, 0x59, 0x10, 0x05, 0x12, 0x19, 0x0a, 0x15, 0x4d, 0x41, 0x54, 0x43, 0x48, + 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x43, 0x41, 0x53, 0x55, 0x41, 0x4c, 0x5f, 0x31, 0x56, 0x31, + 0x10, 0x06, 0x12, 0x14, 0x0a, 0x10, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x5f, 0x54, 0x59, 0x50, 0x45, + 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x10, 0x07, 0x12, 0x1e, 0x0a, 0x1a, 0x4d, 0x41, 0x54, 0x43, + 0x48, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x41, 0x4c, 0x5f, + 0x52, 0x41, 0x4e, 0x4b, 0x45, 0x44, 0x10, 0x08, 0x12, 0x20, 0x0a, 0x1c, 0x4d, 0x41, 0x54, 0x43, + 0x48, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4c, 0x4f, 0x57, 0x50, 0x52, 0x49, 0x5f, 0x44, 0x45, + 0x50, 0x52, 0x45, 0x43, 0x41, 0x54, 0x45, 0x44, 0x10, 0x09, 0x12, 0x1a, 0x0a, 0x16, 0x4d, 0x41, + 0x54, 0x43, 0x48, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x54, 0x45, 0x41, 0x4d, 0x5f, 0x47, + 0x52, 0x4f, 0x55, 0x50, 0x10, 0x0a, 0x12, 0x17, 0x0a, 0x13, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x5f, + 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4d, 0x55, 0x54, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x0b, 0x12, + 0x20, 0x0a, 0x1c, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x43, 0x4f, + 0x41, 0x43, 0x48, 0x45, 0x53, 0x5f, 0x43, 0x48, 0x41, 0x4c, 0x4c, 0x45, 0x4e, 0x47, 0x45, 0x10, + 0x0c, 0x12, 0x17, 0x0a, 0x13, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, + 0x47, 0x41, 0x55, 0x4e, 0x54, 0x4c, 0x45, 0x54, 0x10, 0x0d, 0x12, 0x1e, 0x0a, 0x1a, 0x4d, 0x41, + 0x54, 0x43, 0x48, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4e, 0x45, 0x57, 0x5f, 0x50, 0x4c, 0x41, + 0x59, 0x45, 0x52, 0x5f, 0x50, 0x4f, 0x4f, 0x4c, 0x10, 0x0e, 0x2a, 0x9c, 0x02, 0x0a, 0x11, 0x44, + 0x4f, 0x54, 0x41, 0x42, 0x6f, 0x74, 0x44, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, + 0x12, 0x1a, 0x0a, 0x16, 0x42, 0x4f, 0x54, 0x5f, 0x44, 0x49, 0x46, 0x46, 0x49, 0x43, 0x55, 0x4c, + 0x54, 0x59, 0x5f, 0x50, 0x41, 0x53, 0x53, 0x49, 0x56, 0x45, 0x10, 0x00, 0x12, 0x17, 0x0a, 0x13, + 0x42, 0x4f, 0x54, 0x5f, 0x44, 0x49, 0x46, 0x46, 0x49, 0x43, 0x55, 0x4c, 0x54, 0x59, 0x5f, 0x45, + 0x41, 0x53, 0x59, 0x10, 0x01, 0x12, 0x19, 0x0a, 0x15, 0x42, 0x4f, 0x54, 0x5f, 0x44, 0x49, 0x46, + 0x46, 0x49, 0x43, 0x55, 0x4c, 0x54, 0x59, 0x5f, 0x4d, 0x45, 0x44, 0x49, 0x55, 0x4d, 0x10, 0x02, + 0x12, 0x17, 0x0a, 0x13, 0x42, 0x4f, 0x54, 0x5f, 0x44, 0x49, 0x46, 0x46, 0x49, 0x43, 0x55, 0x4c, + 0x54, 0x59, 0x5f, 0x48, 0x41, 0x52, 0x44, 0x10, 0x03, 0x12, 0x19, 0x0a, 0x15, 0x42, 0x4f, 0x54, + 0x5f, 0x44, 0x49, 0x46, 0x46, 0x49, 0x43, 0x55, 0x4c, 0x54, 0x59, 0x5f, 0x55, 0x4e, 0x46, 0x41, + 0x49, 0x52, 0x10, 0x04, 0x12, 0x1a, 0x0a, 0x16, 0x42, 0x4f, 0x54, 0x5f, 0x44, 0x49, 0x46, 0x46, + 0x49, 0x43, 0x55, 0x4c, 0x54, 0x59, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0x05, + 0x12, 0x19, 0x0a, 0x15, 0x42, 0x4f, 0x54, 0x5f, 0x44, 0x49, 0x46, 0x46, 0x49, 0x43, 0x55, 0x4c, + 0x54, 0x59, 0x5f, 0x45, 0x58, 0x54, 0x52, 0x41, 0x31, 0x10, 0x06, 0x12, 0x19, 0x0a, 0x15, 0x42, + 0x4f, 0x54, 0x5f, 0x44, 0x49, 0x46, 0x46, 0x49, 0x43, 0x55, 0x4c, 0x54, 0x59, 0x5f, 0x45, 0x58, + 0x54, 0x52, 0x41, 0x32, 0x10, 0x07, 0x12, 0x19, 0x0a, 0x15, 0x42, 0x4f, 0x54, 0x5f, 0x44, 0x49, + 0x46, 0x46, 0x49, 0x43, 0x55, 0x4c, 0x54, 0x59, 0x5f, 0x45, 0x58, 0x54, 0x52, 0x41, 0x33, 0x10, + 0x08, 0x12, 0x16, 0x0a, 0x12, 0x42, 0x4f, 0x54, 0x5f, 0x44, 0x49, 0x46, 0x46, 0x49, 0x43, 0x55, + 0x4c, 0x54, 0x59, 0x5f, 0x4e, 0x50, 0x58, 0x10, 0x09, 0x2a, 0xae, 0x06, 0x0a, 0x0d, 0x44, 0x4f, + 0x54, 0x41, 0x5f, 0x42, 0x4f, 0x54, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x12, 0x16, 0x0a, 0x12, 0x44, + 0x4f, 0x54, 0x41, 0x5f, 0x42, 0x4f, 0x54, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x4e, 0x4f, 0x4e, + 0x45, 0x10, 0x00, 0x12, 0x18, 0x0a, 0x14, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x42, 0x4f, 0x54, 0x5f, + 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x4c, 0x41, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x18, 0x0a, + 0x14, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x42, 0x4f, 0x54, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x41, + 0x54, 0x54, 0x41, 0x43, 0x4b, 0x10, 0x02, 0x12, 0x16, 0x0a, 0x12, 0x44, 0x4f, 0x54, 0x41, 0x5f, + 0x42, 0x4f, 0x54, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x4f, 0x41, 0x4d, 0x10, 0x03, 0x12, + 0x19, 0x0a, 0x15, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x42, 0x4f, 0x54, 0x5f, 0x4d, 0x4f, 0x44, 0x45, + 0x5f, 0x52, 0x45, 0x54, 0x52, 0x45, 0x41, 0x54, 0x10, 0x04, 0x12, 0x1d, 0x0a, 0x19, 0x44, 0x4f, + 0x54, 0x41, 0x5f, 0x42, 0x4f, 0x54, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x53, 0x45, 0x43, 0x52, + 0x45, 0x54, 0x5f, 0x53, 0x48, 0x4f, 0x50, 0x10, 0x05, 0x12, 0x1b, 0x0a, 0x17, 0x44, 0x4f, 0x54, + 0x41, 0x5f, 0x42, 0x4f, 0x54, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x53, 0x49, 0x44, 0x45, 0x5f, + 0x53, 0x48, 0x4f, 0x50, 0x10, 0x06, 0x12, 0x16, 0x0a, 0x12, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x42, + 0x4f, 0x54, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x55, 0x4e, 0x45, 0x10, 0x07, 0x12, 0x20, + 0x0a, 0x1c, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x42, 0x4f, 0x54, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, + 0x50, 0x55, 0x53, 0x48, 0x5f, 0x54, 0x4f, 0x57, 0x45, 0x52, 0x5f, 0x54, 0x4f, 0x50, 0x10, 0x08, + 0x12, 0x20, 0x0a, 0x1c, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x42, 0x4f, 0x54, 0x5f, 0x4d, 0x4f, 0x44, + 0x45, 0x5f, 0x50, 0x55, 0x53, 0x48, 0x5f, 0x54, 0x4f, 0x57, 0x45, 0x52, 0x5f, 0x4d, 0x49, 0x44, + 0x10, 0x09, 0x12, 0x20, 0x0a, 0x1c, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x42, 0x4f, 0x54, 0x5f, 0x4d, + 0x4f, 0x44, 0x45, 0x5f, 0x50, 0x55, 0x53, 0x48, 0x5f, 0x54, 0x4f, 0x57, 0x45, 0x52, 0x5f, 0x42, + 0x4f, 0x54, 0x10, 0x0a, 0x12, 0x22, 0x0a, 0x1e, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x42, 0x4f, 0x54, + 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x44, 0x45, 0x46, 0x45, 0x4e, 0x44, 0x5f, 0x54, 0x4f, 0x57, + 0x45, 0x52, 0x5f, 0x54, 0x4f, 0x50, 0x10, 0x0b, 0x12, 0x22, 0x0a, 0x1e, 0x44, 0x4f, 0x54, 0x41, + 0x5f, 0x42, 0x4f, 0x54, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x44, 0x45, 0x46, 0x45, 0x4e, 0x44, + 0x5f, 0x54, 0x4f, 0x57, 0x45, 0x52, 0x5f, 0x4d, 0x49, 0x44, 0x10, 0x0c, 0x12, 0x22, 0x0a, 0x1e, + 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x42, 0x4f, 0x54, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x44, 0x45, + 0x46, 0x45, 0x4e, 0x44, 0x5f, 0x54, 0x4f, 0x57, 0x45, 0x52, 0x5f, 0x42, 0x4f, 0x54, 0x10, 0x0d, + 0x12, 0x1a, 0x0a, 0x16, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x42, 0x4f, 0x54, 0x5f, 0x4d, 0x4f, 0x44, + 0x45, 0x5f, 0x41, 0x53, 0x53, 0x45, 0x4d, 0x42, 0x4c, 0x45, 0x10, 0x0e, 0x12, 0x26, 0x0a, 0x22, + 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x42, 0x4f, 0x54, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x41, 0x53, + 0x53, 0x45, 0x4d, 0x42, 0x4c, 0x45, 0x5f, 0x57, 0x49, 0x54, 0x48, 0x5f, 0x48, 0x55, 0x4d, 0x41, + 0x4e, 0x53, 0x10, 0x0f, 0x12, 0x1b, 0x0a, 0x17, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x42, 0x4f, 0x54, + 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x54, 0x45, 0x41, 0x4d, 0x5f, 0x52, 0x4f, 0x41, 0x4d, 0x10, + 0x10, 0x12, 0x16, 0x0a, 0x12, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x42, 0x4f, 0x54, 0x5f, 0x4d, 0x4f, + 0x44, 0x45, 0x5f, 0x46, 0x41, 0x52, 0x4d, 0x10, 0x11, 0x12, 0x1d, 0x0a, 0x19, 0x44, 0x4f, 0x54, + 0x41, 0x5f, 0x42, 0x4f, 0x54, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x44, 0x45, 0x46, 0x45, 0x4e, + 0x44, 0x5f, 0x41, 0x4c, 0x4c, 0x59, 0x10, 0x12, 0x12, 0x23, 0x0a, 0x1f, 0x44, 0x4f, 0x54, 0x41, + 0x5f, 0x42, 0x4f, 0x54, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x45, 0x56, 0x41, 0x53, 0x49, 0x56, + 0x45, 0x5f, 0x4d, 0x41, 0x4e, 0x45, 0x55, 0x56, 0x45, 0x52, 0x53, 0x10, 0x13, 0x12, 0x18, 0x0a, + 0x14, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x42, 0x4f, 0x54, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x52, + 0x4f, 0x53, 0x48, 0x41, 0x4e, 0x10, 0x14, 0x12, 0x16, 0x0a, 0x12, 0x44, 0x4f, 0x54, 0x41, 0x5f, + 0x42, 0x4f, 0x54, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x49, 0x54, 0x45, 0x4d, 0x10, 0x15, 0x12, + 0x16, 0x0a, 0x12, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x42, 0x4f, 0x54, 0x5f, 0x4d, 0x4f, 0x44, 0x45, + 0x5f, 0x57, 0x41, 0x52, 0x44, 0x10, 0x16, 0x12, 0x1b, 0x0a, 0x17, 0x44, 0x4f, 0x54, 0x41, 0x5f, + 0x42, 0x4f, 0x54, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x41, 0x4e, 0x49, + 0x4f, 0x4e, 0x10, 0x17, 0x12, 0x1f, 0x0a, 0x1b, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x42, 0x4f, 0x54, + 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x54, 0x55, 0x54, 0x4f, 0x52, 0x49, 0x41, 0x4c, 0x5f, 0x42, + 0x4f, 0x53, 0x53, 0x10, 0x18, 0x12, 0x18, 0x0a, 0x14, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x42, 0x4f, + 0x54, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x4d, 0x49, 0x4e, 0x49, 0x4f, 0x4e, 0x10, 0x19, 0x12, + 0x19, 0x0a, 0x15, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x42, 0x4f, 0x54, 0x5f, 0x4d, 0x4f, 0x44, 0x45, + 0x5f, 0x4f, 0x55, 0x54, 0x50, 0x4f, 0x53, 0x54, 0x10, 0x1a, 0x2a, 0xf3, 0x01, 0x0a, 0x0e, 0x4d, + 0x61, 0x74, 0x63, 0x68, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x73, 0x12, 0x1a, 0x0a, + 0x16, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x5f, 0x4c, 0x41, 0x4e, 0x47, 0x55, 0x41, 0x47, 0x45, 0x5f, + 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0x00, 0x12, 0x1a, 0x0a, 0x16, 0x4d, 0x41, 0x54, + 0x43, 0x48, 0x5f, 0x4c, 0x41, 0x4e, 0x47, 0x55, 0x41, 0x47, 0x45, 0x5f, 0x45, 0x4e, 0x47, 0x4c, + 0x49, 0x53, 0x48, 0x10, 0x01, 0x12, 0x1a, 0x0a, 0x16, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x5f, 0x4c, + 0x41, 0x4e, 0x47, 0x55, 0x41, 0x47, 0x45, 0x5f, 0x52, 0x55, 0x53, 0x53, 0x49, 0x41, 0x4e, 0x10, + 0x02, 0x12, 0x1a, 0x0a, 0x16, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x5f, 0x4c, 0x41, 0x4e, 0x47, 0x55, + 0x41, 0x47, 0x45, 0x5f, 0x43, 0x48, 0x49, 0x4e, 0x45, 0x53, 0x45, 0x10, 0x03, 0x12, 0x19, 0x0a, + 0x15, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x5f, 0x4c, 0x41, 0x4e, 0x47, 0x55, 0x41, 0x47, 0x45, 0x5f, + 0x4b, 0x4f, 0x52, 0x45, 0x41, 0x4e, 0x10, 0x04, 0x12, 0x1a, 0x0a, 0x16, 0x4d, 0x41, 0x54, 0x43, + 0x48, 0x5f, 0x4c, 0x41, 0x4e, 0x47, 0x55, 0x41, 0x47, 0x45, 0x5f, 0x53, 0x50, 0x41, 0x4e, 0x49, + 0x53, 0x48, 0x10, 0x05, 0x12, 0x1d, 0x0a, 0x19, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x5f, 0x4c, 0x41, + 0x4e, 0x47, 0x55, 0x41, 0x47, 0x45, 0x5f, 0x50, 0x4f, 0x52, 0x54, 0x55, 0x47, 0x55, 0x45, 0x53, + 0x45, 0x10, 0x06, 0x12, 0x1b, 0x0a, 0x17, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x5f, 0x4c, 0x41, 0x4e, + 0x47, 0x55, 0x41, 0x47, 0x45, 0x5f, 0x45, 0x4e, 0x47, 0x4c, 0x49, 0x53, 0x48, 0x32, 0x10, 0x07, + 0x2a, 0xd8, 0x02, 0x0a, 0x1a, 0x45, 0x54, 0x6f, 0x75, 0x72, 0x6e, 0x65, 0x79, 0x51, 0x75, 0x65, + 0x75, 0x65, 0x44, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, + 0x27, 0x0a, 0x23, 0x6b, 0x5f, 0x45, 0x54, 0x6f, 0x75, 0x72, 0x6e, 0x65, 0x79, 0x51, 0x75, 0x65, + 0x75, 0x65, 0x44, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x5f, + 0x4e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x10, 0x00, 0x12, 0x27, 0x0a, 0x23, 0x6b, 0x5f, 0x45, 0x54, + 0x6f, 0x75, 0x72, 0x6e, 0x65, 0x79, 0x51, 0x75, 0x65, 0x75, 0x65, 0x44, 0x65, 0x61, 0x64, 0x6c, + 0x69, 0x6e, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x4d, 0x69, 0x73, 0x73, 0x65, 0x64, 0x10, + 0x01, 0x12, 0x2a, 0x0a, 0x26, 0x6b, 0x5f, 0x45, 0x54, 0x6f, 0x75, 0x72, 0x6e, 0x65, 0x79, 0x51, + 0x75, 0x65, 0x75, 0x65, 0x44, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x74, 0x61, 0x74, + 0x65, 0x5f, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x64, 0x4f, 0x4b, 0x10, 0x02, 0x12, 0x2b, 0x0a, + 0x27, 0x6b, 0x5f, 0x45, 0x54, 0x6f, 0x75, 0x72, 0x6e, 0x65, 0x79, 0x51, 0x75, 0x65, 0x75, 0x65, + 0x44, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x53, 0x65, + 0x65, 0x6b, 0x69, 0x6e, 0x67, 0x42, 0x79, 0x65, 0x10, 0x03, 0x12, 0x32, 0x0a, 0x2e, 0x6b, 0x5f, + 0x45, 0x54, 0x6f, 0x75, 0x72, 0x6e, 0x65, 0x79, 0x51, 0x75, 0x65, 0x75, 0x65, 0x44, 0x65, 0x61, + 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x45, 0x6c, 0x69, 0x67, 0x69, + 0x62, 0x6c, 0x65, 0x46, 0x6f, 0x72, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x10, 0x04, 0x12, 0x2c, + 0x0a, 0x1f, 0x6b, 0x5f, 0x45, 0x54, 0x6f, 0x75, 0x72, 0x6e, 0x65, 0x79, 0x51, 0x75, 0x65, 0x75, + 0x65, 0x44, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x4e, + 0x41, 0x10, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x01, 0x12, 0x2d, 0x0a, 0x29, + 0x6b, 0x5f, 0x45, 0x54, 0x6f, 0x75, 0x72, 0x6e, 0x65, 0x79, 0x51, 0x75, 0x65, 0x75, 0x65, 0x44, + 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x45, 0x78, 0x70, + 0x69, 0x72, 0x69, 0x6e, 0x67, 0x53, 0x6f, 0x6f, 0x6e, 0x10, 0x65, 0x2a, 0xd7, 0x05, 0x0a, 0x0d, + 0x45, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x12, 0x1b, 0x0a, + 0x17, 0x6b, 0x5f, 0x45, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, + 0x5f, 0x55, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x10, 0x00, 0x12, 0x1e, 0x0a, 0x1a, 0x6b, 0x5f, + 0x45, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x5f, 0x52, 0x61, + 0x64, 0x56, 0x69, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x10, 0x02, 0x12, 0x1f, 0x0a, 0x1b, 0x6b, 0x5f, + 0x45, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x5f, 0x44, 0x69, + 0x72, 0x65, 0x56, 0x69, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x10, 0x03, 0x12, 0x22, 0x0a, 0x1e, 0x6b, + 0x5f, 0x45, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x5f, 0x4e, + 0x65, 0x75, 0x74, 0x72, 0x61, 0x6c, 0x56, 0x69, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x10, 0x04, 0x12, + 0x20, 0x0a, 0x1c, 0x6b, 0x5f, 0x45, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x75, 0x74, 0x63, 0x6f, + 0x6d, 0x65, 0x5f, 0x4e, 0x6f, 0x54, 0x65, 0x61, 0x6d, 0x57, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x10, + 0x05, 0x12, 0x22, 0x0a, 0x1e, 0x6b, 0x5f, 0x45, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x75, 0x74, + 0x63, 0x6f, 0x6d, 0x65, 0x5f, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x31, 0x56, 0x69, 0x63, 0x74, + 0x6f, 0x72, 0x79, 0x10, 0x06, 0x12, 0x22, 0x0a, 0x1e, 0x6b, 0x5f, 0x45, 0x4d, 0x61, 0x74, 0x63, + 0x68, 0x4f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x5f, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x32, + 0x56, 0x69, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x10, 0x07, 0x12, 0x22, 0x0a, 0x1e, 0x6b, 0x5f, 0x45, + 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x5f, 0x43, 0x75, 0x73, + 0x74, 0x6f, 0x6d, 0x33, 0x56, 0x69, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x10, 0x08, 0x12, 0x22, 0x0a, + 0x1e, 0x6b, 0x5f, 0x45, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, + 0x5f, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x34, 0x56, 0x69, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x10, + 0x09, 0x12, 0x22, 0x0a, 0x1e, 0x6b, 0x5f, 0x45, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x75, 0x74, + 0x63, 0x6f, 0x6d, 0x65, 0x5f, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x35, 0x56, 0x69, 0x63, 0x74, + 0x6f, 0x72, 0x79, 0x10, 0x0a, 0x12, 0x22, 0x0a, 0x1e, 0x6b, 0x5f, 0x45, 0x4d, 0x61, 0x74, 0x63, + 0x68, 0x4f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x5f, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x36, + 0x56, 0x69, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x10, 0x0b, 0x12, 0x22, 0x0a, 0x1e, 0x6b, 0x5f, 0x45, + 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x5f, 0x43, 0x75, 0x73, + 0x74, 0x6f, 0x6d, 0x37, 0x56, 0x69, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x10, 0x0c, 0x12, 0x22, 0x0a, + 0x1e, 0x6b, 0x5f, 0x45, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, + 0x5f, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x38, 0x56, 0x69, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x10, + 0x0d, 0x12, 0x33, 0x0a, 0x2f, 0x6b, 0x5f, 0x45, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x75, 0x74, + 0x63, 0x6f, 0x6d, 0x65, 0x5f, 0x4e, 0x6f, 0x74, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x64, 0x5f, 0x50, + 0x6f, 0x6f, 0x72, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x10, 0x40, 0x12, 0x24, 0x0a, 0x20, 0x6b, 0x5f, 0x45, 0x4d, 0x61, 0x74, + 0x63, 0x68, 0x4f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x5f, 0x4e, 0x6f, 0x74, 0x53, 0x63, 0x6f, + 0x72, 0x65, 0x64, 0x5f, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x72, 0x10, 0x41, 0x12, 0x29, 0x0a, 0x25, + 0x6b, 0x5f, 0x45, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x5f, + 0x4e, 0x6f, 0x74, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x64, 0x5f, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, + 0x43, 0x72, 0x61, 0x73, 0x68, 0x10, 0x42, 0x12, 0x2a, 0x0a, 0x26, 0x6b, 0x5f, 0x45, 0x4d, 0x61, + 0x74, 0x63, 0x68, 0x4f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x5f, 0x4e, 0x6f, 0x74, 0x53, 0x63, + 0x6f, 0x72, 0x65, 0x64, 0x5f, 0x4e, 0x65, 0x76, 0x65, 0x72, 0x53, 0x74, 0x61, 0x72, 0x74, 0x65, + 0x64, 0x10, 0x43, 0x12, 0x26, 0x0a, 0x22, 0x6b, 0x5f, 0x45, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4f, + 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x5f, 0x4e, 0x6f, 0x74, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x64, + 0x5f, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x65, 0x64, 0x10, 0x44, 0x12, 0x28, 0x0a, 0x24, 0x6b, + 0x5f, 0x45, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x5f, 0x4e, + 0x6f, 0x74, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x64, 0x5f, 0x53, 0x75, 0x73, 0x70, 0x69, 0x63, 0x69, + 0x6f, 0x75, 0x73, 0x10, 0x45, 0x2a, 0x86, 0x01, 0x0a, 0x09, 0x45, 0x4c, 0x61, 0x6e, 0x65, 0x54, + 0x79, 0x70, 0x65, 0x12, 0x15, 0x0a, 0x11, 0x4c, 0x41, 0x4e, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, + 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x12, 0x0a, 0x0e, 0x4c, 0x41, + 0x4e, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x41, 0x46, 0x45, 0x10, 0x01, 0x12, 0x11, + 0x0a, 0x0d, 0x4c, 0x41, 0x4e, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4f, 0x46, 0x46, 0x10, + 0x02, 0x12, 0x11, 0x0a, 0x0d, 0x4c, 0x41, 0x4e, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4d, + 0x49, 0x44, 0x10, 0x03, 0x12, 0x14, 0x0a, 0x10, 0x4c, 0x41, 0x4e, 0x45, 0x5f, 0x54, 0x59, 0x50, + 0x45, 0x5f, 0x4a, 0x55, 0x4e, 0x47, 0x4c, 0x45, 0x10, 0x04, 0x12, 0x12, 0x0a, 0x0e, 0x4c, 0x41, + 0x4e, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x52, 0x4f, 0x41, 0x4d, 0x10, 0x05, 0x2a, 0xd7, + 0x01, 0x0a, 0x0a, 0x45, 0x42, 0x61, 0x64, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, + 0x18, 0x6b, 0x5f, 0x45, 0x42, 0x61, 0x64, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x54, 0x49, + 0x37, 0x5f, 0x4d, 0x69, 0x64, 0x77, 0x65, 0x65, 0x6b, 0x10, 0x01, 0x12, 0x1b, 0x0a, 0x17, 0x6b, + 0x5f, 0x45, 0x42, 0x61, 0x64, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x54, 0x49, 0x37, 0x5f, + 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x73, 0x10, 0x02, 0x12, 0x1d, 0x0a, 0x19, 0x6b, 0x5f, 0x45, 0x42, + 0x61, 0x64, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x54, 0x49, 0x37, 0x5f, 0x41, 0x6c, 0x6c, + 0x45, 0x76, 0x65, 0x6e, 0x74, 0x10, 0x03, 0x12, 0x1c, 0x0a, 0x18, 0x6b, 0x5f, 0x45, 0x42, 0x61, + 0x64, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x54, 0x49, 0x38, 0x5f, 0x4d, 0x69, 0x64, 0x77, + 0x65, 0x65, 0x6b, 0x10, 0x04, 0x12, 0x1b, 0x0a, 0x17, 0x6b, 0x5f, 0x45, 0x42, 0x61, 0x64, 0x67, + 0x65, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x54, 0x49, 0x38, 0x5f, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x73, + 0x10, 0x05, 0x12, 0x1d, 0x0a, 0x19, 0x6b, 0x5f, 0x45, 0x42, 0x61, 0x64, 0x67, 0x65, 0x54, 0x79, + 0x70, 0x65, 0x5f, 0x54, 0x49, 0x38, 0x5f, 0x41, 0x6c, 0x6c, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x10, + 0x06, 0x12, 0x15, 0x0a, 0x11, 0x6b, 0x5f, 0x45, 0x42, 0x61, 0x64, 0x67, 0x65, 0x54, 0x79, 0x70, + 0x65, 0x5f, 0x54, 0x49, 0x31, 0x30, 0x10, 0x07, 0x2a, 0xd4, 0x01, 0x0a, 0x0d, 0x45, 0x4c, 0x65, + 0x61, 0x67, 0x75, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x17, 0x0a, 0x13, 0x4c, 0x45, + 0x41, 0x47, 0x55, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x53, 0x45, + 0x54, 0x10, 0x00, 0x12, 0x1d, 0x0a, 0x19, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x53, 0x54, + 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x53, 0x55, 0x42, 0x4d, 0x49, 0x54, 0x54, 0x45, 0x44, + 0x10, 0x01, 0x12, 0x1b, 0x0a, 0x17, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x53, 0x54, 0x41, + 0x54, 0x55, 0x53, 0x5f, 0x53, 0x55, 0x42, 0x4d, 0x49, 0x54, 0x54, 0x45, 0x44, 0x10, 0x02, 0x12, + 0x1a, 0x0a, 0x16, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, + 0x5f, 0x41, 0x43, 0x43, 0x45, 0x50, 0x54, 0x45, 0x44, 0x10, 0x03, 0x12, 0x1a, 0x0a, 0x16, 0x4c, + 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x52, 0x45, 0x4a, + 0x45, 0x43, 0x54, 0x45, 0x44, 0x10, 0x04, 0x12, 0x1b, 0x0a, 0x17, 0x4c, 0x45, 0x41, 0x47, 0x55, + 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x43, 0x4f, 0x4e, 0x43, 0x4c, 0x55, 0x44, + 0x45, 0x44, 0x10, 0x05, 0x12, 0x19, 0x0a, 0x15, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x53, + 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x44, 0x10, 0x06, 0x2a, + 0xb2, 0x01, 0x0a, 0x0d, 0x45, 0x4c, 0x65, 0x61, 0x67, 0x75, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, + 0x6e, 0x12, 0x17, 0x0a, 0x13, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x52, 0x45, 0x47, 0x49, + 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x45, 0x54, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, 0x4c, 0x45, + 0x41, 0x47, 0x55, 0x45, 0x5f, 0x52, 0x45, 0x47, 0x49, 0x4f, 0x4e, 0x5f, 0x4e, 0x41, 0x10, 0x01, + 0x12, 0x14, 0x0a, 0x10, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x52, 0x45, 0x47, 0x49, 0x4f, + 0x4e, 0x5f, 0x53, 0x41, 0x10, 0x02, 0x12, 0x15, 0x0a, 0x11, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, + 0x5f, 0x52, 0x45, 0x47, 0x49, 0x4f, 0x4e, 0x5f, 0x57, 0x45, 0x55, 0x10, 0x03, 0x12, 0x15, 0x0a, + 0x11, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x52, 0x45, 0x47, 0x49, 0x4f, 0x4e, 0x5f, 0x45, + 0x45, 0x55, 0x10, 0x04, 0x12, 0x17, 0x0a, 0x13, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x52, + 0x45, 0x47, 0x49, 0x4f, 0x4e, 0x5f, 0x43, 0x48, 0x49, 0x4e, 0x41, 0x10, 0x05, 0x12, 0x15, 0x0a, + 0x11, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x52, 0x45, 0x47, 0x49, 0x4f, 0x4e, 0x5f, 0x53, + 0x45, 0x41, 0x10, 0x06, 0x2a, 0xac, 0x02, 0x0a, 0x0b, 0x45, 0x4c, 0x65, 0x61, 0x67, 0x75, 0x65, + 0x54, 0x69, 0x65, 0x72, 0x12, 0x15, 0x0a, 0x11, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x54, + 0x49, 0x45, 0x52, 0x5f, 0x55, 0x4e, 0x53, 0x45, 0x54, 0x10, 0x00, 0x12, 0x17, 0x0a, 0x13, 0x4c, + 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x54, 0x49, 0x45, 0x52, 0x5f, 0x41, 0x4d, 0x41, 0x54, 0x45, + 0x55, 0x52, 0x10, 0x01, 0x12, 0x1c, 0x0a, 0x18, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x54, + 0x49, 0x45, 0x52, 0x5f, 0x50, 0x52, 0x4f, 0x46, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x41, 0x4c, + 0x10, 0x02, 0x12, 0x15, 0x0a, 0x11, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x54, 0x49, 0x45, + 0x52, 0x5f, 0x4d, 0x49, 0x4e, 0x4f, 0x52, 0x10, 0x03, 0x12, 0x15, 0x0a, 0x11, 0x4c, 0x45, 0x41, + 0x47, 0x55, 0x45, 0x5f, 0x54, 0x49, 0x45, 0x52, 0x5f, 0x4d, 0x41, 0x4a, 0x4f, 0x52, 0x10, 0x04, + 0x12, 0x1d, 0x0a, 0x19, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x54, 0x49, 0x45, 0x52, 0x5f, + 0x49, 0x4e, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x41, 0x4c, 0x10, 0x05, 0x12, + 0x1d, 0x0a, 0x19, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x54, 0x49, 0x45, 0x52, 0x5f, 0x44, + 0x50, 0x43, 0x5f, 0x51, 0x55, 0x41, 0x4c, 0x49, 0x46, 0x49, 0x45, 0x52, 0x10, 0x06, 0x12, 0x24, + 0x0a, 0x20, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x54, 0x49, 0x45, 0x52, 0x5f, 0x44, 0x50, + 0x43, 0x5f, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x51, 0x55, 0x41, 0x4c, 0x49, 0x46, 0x49, + 0x45, 0x52, 0x10, 0x07, 0x12, 0x1a, 0x0a, 0x16, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x54, + 0x49, 0x45, 0x52, 0x5f, 0x44, 0x50, 0x43, 0x5f, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x10, 0x08, + 0x12, 0x21, 0x0a, 0x1d, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x54, 0x49, 0x45, 0x52, 0x5f, + 0x44, 0x50, 0x43, 0x5f, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x46, 0x49, 0x4e, 0x41, 0x4c, + 0x53, 0x10, 0x09, 0x2a, 0x7c, 0x0a, 0x13, 0x45, 0x4c, 0x65, 0x61, 0x67, 0x75, 0x65, 0x54, 0x69, + 0x65, 0x72, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x20, 0x0a, 0x1c, 0x4c, 0x45, + 0x41, 0x47, 0x55, 0x45, 0x5f, 0x54, 0x49, 0x45, 0x52, 0x5f, 0x43, 0x41, 0x54, 0x45, 0x47, 0x4f, + 0x52, 0x59, 0x5f, 0x41, 0x4d, 0x41, 0x54, 0x45, 0x55, 0x52, 0x10, 0x01, 0x12, 0x25, 0x0a, 0x21, + 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x54, 0x49, 0x45, 0x52, 0x5f, 0x43, 0x41, 0x54, 0x45, + 0x47, 0x4f, 0x52, 0x59, 0x5f, 0x50, 0x52, 0x4f, 0x46, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x41, + 0x4c, 0x10, 0x02, 0x12, 0x1c, 0x0a, 0x18, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x54, 0x49, + 0x45, 0x52, 0x5f, 0x43, 0x41, 0x54, 0x45, 0x47, 0x4f, 0x52, 0x59, 0x5f, 0x44, 0x50, 0x43, 0x10, + 0x03, 0x2a, 0x5b, 0x0a, 0x0f, 0x45, 0x4c, 0x65, 0x61, 0x67, 0x75, 0x65, 0x44, 0x69, 0x76, 0x69, + 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x19, 0x0a, 0x15, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x44, + 0x49, 0x56, 0x49, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x45, 0x54, 0x10, 0x00, 0x12, + 0x15, 0x0a, 0x11, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x44, 0x49, 0x56, 0x49, 0x53, 0x49, + 0x4f, 0x4e, 0x5f, 0x49, 0x10, 0x01, 0x12, 0x16, 0x0a, 0x12, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, + 0x5f, 0x44, 0x49, 0x56, 0x49, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x49, 0x49, 0x10, 0x02, 0x2a, 0xab, + 0x01, 0x0a, 0x18, 0x45, 0x4c, 0x65, 0x61, 0x67, 0x75, 0x65, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, + 0x61, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x1c, 0x0a, 0x18, 0x4c, + 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x42, 0x52, 0x4f, 0x41, 0x44, 0x43, 0x41, 0x53, 0x54, 0x5f, + 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x1a, 0x0a, 0x16, 0x4c, 0x45, 0x41, + 0x47, 0x55, 0x45, 0x5f, 0x42, 0x52, 0x4f, 0x41, 0x44, 0x43, 0x41, 0x53, 0x54, 0x5f, 0x53, 0x54, + 0x45, 0x41, 0x4d, 0x10, 0x01, 0x12, 0x1b, 0x0a, 0x17, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, + 0x42, 0x52, 0x4f, 0x41, 0x44, 0x43, 0x41, 0x53, 0x54, 0x5f, 0x54, 0x57, 0x49, 0x54, 0x43, 0x48, + 0x10, 0x02, 0x12, 0x1c, 0x0a, 0x18, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x42, 0x52, 0x4f, + 0x41, 0x44, 0x43, 0x41, 0x53, 0x54, 0x5f, 0x59, 0x4f, 0x55, 0x54, 0x55, 0x42, 0x45, 0x10, 0x03, + 0x12, 0x1a, 0x0a, 0x16, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x42, 0x52, 0x4f, 0x41, 0x44, + 0x43, 0x41, 0x53, 0x54, 0x5f, 0x4f, 0x54, 0x48, 0x45, 0x52, 0x10, 0x64, 0x2a, 0x86, 0x01, 0x0a, + 0x0c, 0x45, 0x4c, 0x65, 0x61, 0x67, 0x75, 0x65, 0x50, 0x68, 0x61, 0x73, 0x65, 0x12, 0x16, 0x0a, + 0x12, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x50, 0x48, 0x41, 0x53, 0x45, 0x5f, 0x55, 0x4e, + 0x53, 0x45, 0x54, 0x10, 0x00, 0x12, 0x23, 0x0a, 0x1f, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, + 0x50, 0x48, 0x41, 0x53, 0x45, 0x5f, 0x52, 0x45, 0x47, 0x49, 0x4f, 0x4e, 0x41, 0x4c, 0x5f, 0x51, + 0x55, 0x41, 0x4c, 0x49, 0x46, 0x49, 0x45, 0x52, 0x10, 0x01, 0x12, 0x1c, 0x0a, 0x18, 0x4c, 0x45, + 0x41, 0x47, 0x55, 0x45, 0x5f, 0x50, 0x48, 0x41, 0x53, 0x45, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, + 0x5f, 0x53, 0x54, 0x41, 0x47, 0x45, 0x10, 0x02, 0x12, 0x1b, 0x0a, 0x17, 0x4c, 0x45, 0x41, 0x47, + 0x55, 0x45, 0x5f, 0x50, 0x48, 0x41, 0x53, 0x45, 0x5f, 0x4d, 0x41, 0x49, 0x4e, 0x5f, 0x45, 0x56, + 0x45, 0x4e, 0x54, 0x10, 0x03, 0x2a, 0xda, 0x0e, 0x0a, 0x12, 0x45, 0x4c, 0x65, 0x61, 0x67, 0x75, + 0x65, 0x41, 0x75, 0x64, 0x69, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x1b, + 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x41, 0x55, 0x44, 0x49, 0x54, 0x5f, 0x41, 0x43, 0x54, + 0x49, 0x4f, 0x4e, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0x00, 0x12, 0x25, 0x0a, + 0x21, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x41, 0x55, 0x44, 0x49, 0x54, 0x5f, 0x41, 0x43, + 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x43, 0x52, 0x45, 0x41, + 0x54, 0x45, 0x10, 0x01, 0x12, 0x23, 0x0a, 0x1f, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x41, + 0x55, 0x44, 0x49, 0x54, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4c, 0x45, 0x41, 0x47, + 0x55, 0x45, 0x5f, 0x45, 0x44, 0x49, 0x54, 0x10, 0x02, 0x12, 0x25, 0x0a, 0x21, 0x4c, 0x45, 0x41, + 0x47, 0x55, 0x45, 0x5f, 0x41, 0x55, 0x44, 0x49, 0x54, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, + 0x5f, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x10, 0x03, + 0x12, 0x28, 0x0a, 0x24, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x41, 0x55, 0x44, 0x49, 0x54, + 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x41, + 0x44, 0x4d, 0x49, 0x4e, 0x5f, 0x41, 0x44, 0x44, 0x10, 0x04, 0x12, 0x2b, 0x0a, 0x27, 0x4c, 0x45, + 0x41, 0x47, 0x55, 0x45, 0x5f, 0x41, 0x55, 0x44, 0x49, 0x54, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, + 0x4e, 0x5f, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x41, 0x44, 0x4d, 0x49, 0x4e, 0x5f, 0x52, + 0x45, 0x56, 0x4f, 0x4b, 0x45, 0x10, 0x05, 0x12, 0x2c, 0x0a, 0x28, 0x4c, 0x45, 0x41, 0x47, 0x55, + 0x45, 0x5f, 0x41, 0x55, 0x44, 0x49, 0x54, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4c, + 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x41, 0x44, 0x4d, 0x49, 0x4e, 0x5f, 0x50, 0x52, 0x4f, 0x4d, + 0x4f, 0x54, 0x45, 0x10, 0x06, 0x12, 0x29, 0x0a, 0x25, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, + 0x41, 0x55, 0x44, 0x49, 0x54, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4c, 0x45, 0x41, + 0x47, 0x55, 0x45, 0x5f, 0x53, 0x54, 0x52, 0x45, 0x41, 0x4d, 0x5f, 0x41, 0x44, 0x44, 0x10, 0x07, + 0x12, 0x2c, 0x0a, 0x28, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x41, 0x55, 0x44, 0x49, 0x54, + 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x53, + 0x54, 0x52, 0x45, 0x41, 0x4d, 0x5f, 0x52, 0x45, 0x4d, 0x4f, 0x56, 0x45, 0x10, 0x08, 0x12, 0x2c, + 0x0a, 0x28, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x41, 0x55, 0x44, 0x49, 0x54, 0x5f, 0x41, + 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x49, 0x4d, 0x41, + 0x47, 0x45, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x44, 0x10, 0x09, 0x12, 0x2c, 0x0a, 0x28, + 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x41, 0x55, 0x44, 0x49, 0x54, 0x5f, 0x41, 0x43, 0x54, + 0x49, 0x4f, 0x4e, 0x5f, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, + 0x47, 0x45, 0x5f, 0x41, 0x44, 0x44, 0x45, 0x44, 0x10, 0x0a, 0x12, 0x28, 0x0a, 0x24, 0x4c, 0x45, + 0x41, 0x47, 0x55, 0x45, 0x5f, 0x41, 0x55, 0x44, 0x49, 0x54, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, + 0x4e, 0x5f, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x53, 0x55, 0x42, 0x4d, 0x49, 0x54, 0x54, + 0x45, 0x44, 0x10, 0x0b, 0x12, 0x2d, 0x0a, 0x29, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x41, + 0x55, 0x44, 0x49, 0x54, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4c, 0x45, 0x41, 0x47, + 0x55, 0x45, 0x5f, 0x53, 0x45, 0x54, 0x5f, 0x50, 0x52, 0x49, 0x5a, 0x45, 0x5f, 0x50, 0x4f, 0x4f, + 0x4c, 0x10, 0x0c, 0x12, 0x32, 0x0a, 0x2e, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x41, 0x55, + 0x44, 0x49, 0x54, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4c, 0x45, 0x41, 0x47, 0x55, + 0x45, 0x5f, 0x41, 0x44, 0x44, 0x5f, 0x50, 0x52, 0x49, 0x5a, 0x45, 0x5f, 0x50, 0x4f, 0x4f, 0x4c, + 0x5f, 0x49, 0x54, 0x45, 0x4d, 0x10, 0x0d, 0x12, 0x35, 0x0a, 0x31, 0x4c, 0x45, 0x41, 0x47, 0x55, + 0x45, 0x5f, 0x41, 0x55, 0x44, 0x49, 0x54, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4c, + 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x52, 0x45, 0x4d, 0x4f, 0x56, 0x45, 0x5f, 0x50, 0x52, 0x49, + 0x5a, 0x45, 0x5f, 0x50, 0x4f, 0x4f, 0x4c, 0x5f, 0x49, 0x54, 0x45, 0x4d, 0x10, 0x0e, 0x12, 0x2a, + 0x0a, 0x26, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x41, 0x55, 0x44, 0x49, 0x54, 0x5f, 0x41, + 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x4d, 0x41, 0x54, + 0x43, 0x48, 0x5f, 0x53, 0x54, 0x41, 0x52, 0x54, 0x10, 0x0f, 0x12, 0x28, 0x0a, 0x24, 0x4c, 0x45, + 0x41, 0x47, 0x55, 0x45, 0x5f, 0x41, 0x55, 0x44, 0x49, 0x54, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, + 0x4e, 0x5f, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x5f, 0x45, + 0x4e, 0x44, 0x10, 0x10, 0x12, 0x2f, 0x0a, 0x2b, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x41, + 0x55, 0x44, 0x49, 0x54, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4c, 0x45, 0x41, 0x47, + 0x55, 0x45, 0x5f, 0x41, 0x44, 0x44, 0x5f, 0x49, 0x4e, 0x56, 0x49, 0x54, 0x45, 0x44, 0x5f, 0x54, + 0x45, 0x41, 0x4d, 0x10, 0x11, 0x12, 0x32, 0x0a, 0x2e, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, + 0x41, 0x55, 0x44, 0x49, 0x54, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4c, 0x45, 0x41, + 0x47, 0x55, 0x45, 0x5f, 0x52, 0x45, 0x4d, 0x4f, 0x56, 0x45, 0x5f, 0x49, 0x4e, 0x56, 0x49, 0x54, + 0x45, 0x44, 0x5f, 0x54, 0x45, 0x41, 0x4d, 0x10, 0x12, 0x12, 0x2d, 0x0a, 0x29, 0x4c, 0x45, 0x41, + 0x47, 0x55, 0x45, 0x5f, 0x41, 0x55, 0x44, 0x49, 0x54, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, + 0x5f, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x43, + 0x48, 0x41, 0x4e, 0x47, 0x45, 0x44, 0x10, 0x13, 0x12, 0x2a, 0x0a, 0x26, 0x4c, 0x45, 0x41, 0x47, + 0x55, 0x45, 0x5f, 0x41, 0x55, 0x44, 0x49, 0x54, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, + 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x53, 0x54, 0x52, 0x45, 0x41, 0x4d, 0x5f, 0x45, 0x44, + 0x49, 0x54, 0x10, 0x14, 0x12, 0x28, 0x0a, 0x24, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x41, + 0x55, 0x44, 0x49, 0x54, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4c, 0x45, 0x41, 0x47, + 0x55, 0x45, 0x5f, 0x54, 0x45, 0x41, 0x4d, 0x5f, 0x53, 0x57, 0x41, 0x50, 0x10, 0x15, 0x12, 0x28, + 0x0a, 0x24, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x41, 0x55, 0x44, 0x49, 0x54, 0x5f, 0x41, + 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4e, 0x4f, 0x44, 0x45, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, + 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x10, 0x64, 0x12, 0x29, 0x0a, 0x25, 0x4c, 0x45, 0x41, 0x47, + 0x55, 0x45, 0x5f, 0x41, 0x55, 0x44, 0x49, 0x54, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, + 0x4e, 0x4f, 0x44, 0x45, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x44, 0x45, 0x53, 0x54, 0x52, 0x4f, + 0x59, 0x10, 0x65, 0x12, 0x2a, 0x0a, 0x26, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x41, 0x55, + 0x44, 0x49, 0x54, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4e, 0x4f, 0x44, 0x45, 0x47, + 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x41, 0x44, 0x44, 0x5f, 0x54, 0x45, 0x41, 0x4d, 0x10, 0x66, 0x12, + 0x2d, 0x0a, 0x29, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x41, 0x55, 0x44, 0x49, 0x54, 0x5f, + 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4e, 0x4f, 0x44, 0x45, 0x47, 0x52, 0x4f, 0x55, 0x50, + 0x5f, 0x52, 0x45, 0x4d, 0x4f, 0x56, 0x45, 0x5f, 0x54, 0x45, 0x41, 0x4d, 0x10, 0x67, 0x12, 0x2f, + 0x0a, 0x2b, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x41, 0x55, 0x44, 0x49, 0x54, 0x5f, 0x41, + 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4e, 0x4f, 0x44, 0x45, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, + 0x53, 0x45, 0x54, 0x5f, 0x41, 0x44, 0x56, 0x41, 0x4e, 0x43, 0x49, 0x4e, 0x47, 0x10, 0x68, 0x12, + 0x26, 0x0a, 0x22, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x41, 0x55, 0x44, 0x49, 0x54, 0x5f, + 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4e, 0x4f, 0x44, 0x45, 0x47, 0x52, 0x4f, 0x55, 0x50, + 0x5f, 0x45, 0x44, 0x49, 0x54, 0x10, 0x69, 0x12, 0x2a, 0x0a, 0x26, 0x4c, 0x45, 0x41, 0x47, 0x55, + 0x45, 0x5f, 0x41, 0x55, 0x44, 0x49, 0x54, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4e, + 0x4f, 0x44, 0x45, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x50, 0x4f, 0x50, 0x55, 0x4c, 0x41, 0x54, + 0x45, 0x10, 0x6a, 0x12, 0x2b, 0x0a, 0x27, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x41, 0x55, + 0x44, 0x49, 0x54, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4e, 0x4f, 0x44, 0x45, 0x47, + 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x4c, 0x45, 0x54, 0x45, 0x44, 0x10, 0x6b, + 0x12, 0x39, 0x0a, 0x35, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x41, 0x55, 0x44, 0x49, 0x54, + 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4e, 0x4f, 0x44, 0x45, 0x47, 0x52, 0x4f, 0x55, + 0x50, 0x5f, 0x53, 0x45, 0x54, 0x5f, 0x53, 0x45, 0x43, 0x4f, 0x4e, 0x44, 0x41, 0x52, 0x59, 0x5f, + 0x41, 0x44, 0x56, 0x41, 0x4e, 0x43, 0x49, 0x4e, 0x47, 0x10, 0x6c, 0x12, 0x38, 0x0a, 0x34, 0x4c, + 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x41, 0x55, 0x44, 0x49, 0x54, 0x5f, 0x41, 0x43, 0x54, 0x49, + 0x4f, 0x4e, 0x5f, 0x4e, 0x4f, 0x44, 0x45, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x53, 0x45, 0x54, + 0x5f, 0x54, 0x45, 0x52, 0x54, 0x49, 0x41, 0x52, 0x59, 0x5f, 0x41, 0x44, 0x56, 0x41, 0x4e, 0x43, + 0x49, 0x4e, 0x47, 0x10, 0x6d, 0x12, 0x24, 0x0a, 0x1f, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, + 0x41, 0x55, 0x44, 0x49, 0x54, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4e, 0x4f, 0x44, + 0x45, 0x5f, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x10, 0xc8, 0x01, 0x12, 0x25, 0x0a, 0x20, 0x4c, + 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x41, 0x55, 0x44, 0x49, 0x54, 0x5f, 0x41, 0x43, 0x54, 0x49, + 0x4f, 0x4e, 0x5f, 0x4e, 0x4f, 0x44, 0x45, 0x5f, 0x44, 0x45, 0x53, 0x54, 0x52, 0x4f, 0x59, 0x10, + 0xc9, 0x01, 0x12, 0x28, 0x0a, 0x23, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x41, 0x55, 0x44, + 0x49, 0x54, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4e, 0x4f, 0x44, 0x45, 0x5f, 0x41, + 0x55, 0x54, 0x4f, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x10, 0xca, 0x01, 0x12, 0x26, 0x0a, 0x21, + 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x41, 0x55, 0x44, 0x49, 0x54, 0x5f, 0x41, 0x43, 0x54, + 0x49, 0x4f, 0x4e, 0x5f, 0x4e, 0x4f, 0x44, 0x45, 0x5f, 0x53, 0x45, 0x54, 0x5f, 0x54, 0x45, 0x41, + 0x4d, 0x10, 0xcb, 0x01, 0x12, 0x2b, 0x0a, 0x26, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x41, + 0x55, 0x44, 0x49, 0x54, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4e, 0x4f, 0x44, 0x45, + 0x5f, 0x53, 0x45, 0x54, 0x5f, 0x53, 0x45, 0x52, 0x49, 0x45, 0x53, 0x5f, 0x49, 0x44, 0x10, 0xcc, + 0x01, 0x12, 0x2b, 0x0a, 0x26, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x41, 0x55, 0x44, 0x49, + 0x54, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4e, 0x4f, 0x44, 0x45, 0x5f, 0x53, 0x45, + 0x54, 0x5f, 0x41, 0x44, 0x56, 0x41, 0x4e, 0x43, 0x49, 0x4e, 0x47, 0x10, 0xcd, 0x01, 0x12, 0x26, + 0x0a, 0x21, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x41, 0x55, 0x44, 0x49, 0x54, 0x5f, 0x41, + 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4e, 0x4f, 0x44, 0x45, 0x5f, 0x53, 0x45, 0x54, 0x5f, 0x54, + 0x49, 0x4d, 0x45, 0x10, 0xce, 0x01, 0x12, 0x2d, 0x0a, 0x28, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, + 0x5f, 0x41, 0x55, 0x44, 0x49, 0x54, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4e, 0x4f, + 0x44, 0x45, 0x5f, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x4c, 0x45, 0x54, + 0x45, 0x44, 0x10, 0xcf, 0x01, 0x12, 0x27, 0x0a, 0x22, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, + 0x41, 0x55, 0x44, 0x49, 0x54, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4e, 0x4f, 0x44, + 0x45, 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x4c, 0x45, 0x54, 0x45, 0x44, 0x10, 0xd0, 0x01, 0x12, 0x22, + 0x0a, 0x1d, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x5f, 0x41, 0x55, 0x44, 0x49, 0x54, 0x5f, 0x41, + 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4e, 0x4f, 0x44, 0x45, 0x5f, 0x45, 0x44, 0x49, 0x54, 0x10, + 0xd1, 0x01, 0x2a, 0xbf, 0x0b, 0x0a, 0x14, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4d, 0x42, + 0x41, 0x54, 0x4c, 0x4f, 0x47, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x53, 0x12, 0x23, 0x0a, 0x16, 0x44, + 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4d, 0x42, 0x41, 0x54, 0x4c, 0x4f, 0x47, 0x5f, 0x49, 0x4e, + 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x01, + 0x12, 0x19, 0x0a, 0x15, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4d, 0x42, 0x41, 0x54, 0x4c, + 0x4f, 0x47, 0x5f, 0x44, 0x41, 0x4d, 0x41, 0x47, 0x45, 0x10, 0x00, 0x12, 0x17, 0x0a, 0x13, 0x44, + 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4d, 0x42, 0x41, 0x54, 0x4c, 0x4f, 0x47, 0x5f, 0x48, 0x45, + 0x41, 0x4c, 0x10, 0x01, 0x12, 0x1f, 0x0a, 0x1b, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4d, + 0x42, 0x41, 0x54, 0x4c, 0x4f, 0x47, 0x5f, 0x4d, 0x4f, 0x44, 0x49, 0x46, 0x49, 0x45, 0x52, 0x5f, + 0x41, 0x44, 0x44, 0x10, 0x02, 0x12, 0x22, 0x0a, 0x1e, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4f, + 0x4d, 0x42, 0x41, 0x54, 0x4c, 0x4f, 0x47, 0x5f, 0x4d, 0x4f, 0x44, 0x49, 0x46, 0x49, 0x45, 0x52, + 0x5f, 0x52, 0x45, 0x4d, 0x4f, 0x56, 0x45, 0x10, 0x03, 0x12, 0x18, 0x0a, 0x14, 0x44, 0x4f, 0x54, + 0x41, 0x5f, 0x43, 0x4f, 0x4d, 0x42, 0x41, 0x54, 0x4c, 0x4f, 0x47, 0x5f, 0x44, 0x45, 0x41, 0x54, + 0x48, 0x10, 0x04, 0x12, 0x1a, 0x0a, 0x16, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4d, 0x42, + 0x41, 0x54, 0x4c, 0x4f, 0x47, 0x5f, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x10, 0x05, 0x12, + 0x17, 0x0a, 0x13, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4d, 0x42, 0x41, 0x54, 0x4c, 0x4f, + 0x47, 0x5f, 0x49, 0x54, 0x45, 0x4d, 0x10, 0x06, 0x12, 0x1b, 0x0a, 0x17, 0x44, 0x4f, 0x54, 0x41, + 0x5f, 0x43, 0x4f, 0x4d, 0x42, 0x41, 0x54, 0x4c, 0x4f, 0x47, 0x5f, 0x4c, 0x4f, 0x43, 0x41, 0x54, + 0x49, 0x4f, 0x4e, 0x10, 0x07, 0x12, 0x17, 0x0a, 0x13, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4f, + 0x4d, 0x42, 0x41, 0x54, 0x4c, 0x4f, 0x47, 0x5f, 0x47, 0x4f, 0x4c, 0x44, 0x10, 0x08, 0x12, 0x1d, + 0x0a, 0x19, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4d, 0x42, 0x41, 0x54, 0x4c, 0x4f, 0x47, + 0x5f, 0x47, 0x41, 0x4d, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x10, 0x09, 0x12, 0x15, 0x0a, + 0x11, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4d, 0x42, 0x41, 0x54, 0x4c, 0x4f, 0x47, 0x5f, + 0x58, 0x50, 0x10, 0x0a, 0x12, 0x1b, 0x0a, 0x17, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4d, + 0x42, 0x41, 0x54, 0x4c, 0x4f, 0x47, 0x5f, 0x50, 0x55, 0x52, 0x43, 0x48, 0x41, 0x53, 0x45, 0x10, + 0x0b, 0x12, 0x1a, 0x0a, 0x16, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4d, 0x42, 0x41, 0x54, + 0x4c, 0x4f, 0x47, 0x5f, 0x42, 0x55, 0x59, 0x42, 0x41, 0x43, 0x4b, 0x10, 0x0c, 0x12, 0x22, 0x0a, + 0x1e, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4d, 0x42, 0x41, 0x54, 0x4c, 0x4f, 0x47, 0x5f, + 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x54, 0x52, 0x49, 0x47, 0x47, 0x45, 0x52, 0x10, + 0x0d, 0x12, 0x1e, 0x0a, 0x1a, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4d, 0x42, 0x41, 0x54, + 0x4c, 0x4f, 0x47, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x53, 0x54, 0x41, 0x54, 0x53, 0x10, + 0x0e, 0x12, 0x1c, 0x0a, 0x18, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4d, 0x42, 0x41, 0x54, + 0x4c, 0x4f, 0x47, 0x5f, 0x4d, 0x55, 0x4c, 0x54, 0x49, 0x4b, 0x49, 0x4c, 0x4c, 0x10, 0x0f, 0x12, + 0x1d, 0x0a, 0x19, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4d, 0x42, 0x41, 0x54, 0x4c, 0x4f, + 0x47, 0x5f, 0x4b, 0x49, 0x4c, 0x4c, 0x53, 0x54, 0x52, 0x45, 0x41, 0x4b, 0x10, 0x10, 0x12, 0x25, + 0x0a, 0x21, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4d, 0x42, 0x41, 0x54, 0x4c, 0x4f, 0x47, + 0x5f, 0x54, 0x45, 0x41, 0x4d, 0x5f, 0x42, 0x55, 0x49, 0x4c, 0x44, 0x49, 0x4e, 0x47, 0x5f, 0x4b, + 0x49, 0x4c, 0x4c, 0x10, 0x11, 0x12, 0x1e, 0x0a, 0x1a, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4f, + 0x4d, 0x42, 0x41, 0x54, 0x4c, 0x4f, 0x47, 0x5f, 0x46, 0x49, 0x52, 0x53, 0x54, 0x5f, 0x42, 0x4c, + 0x4f, 0x4f, 0x44, 0x10, 0x12, 0x12, 0x27, 0x0a, 0x23, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4f, + 0x4d, 0x42, 0x41, 0x54, 0x4c, 0x4f, 0x47, 0x5f, 0x4d, 0x4f, 0x44, 0x49, 0x46, 0x49, 0x45, 0x52, + 0x5f, 0x53, 0x54, 0x41, 0x43, 0x4b, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x10, 0x13, 0x12, 0x25, + 0x0a, 0x21, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4d, 0x42, 0x41, 0x54, 0x4c, 0x4f, 0x47, + 0x5f, 0x4e, 0x45, 0x55, 0x54, 0x52, 0x41, 0x4c, 0x5f, 0x43, 0x41, 0x4d, 0x50, 0x5f, 0x53, 0x54, + 0x41, 0x43, 0x4b, 0x10, 0x14, 0x12, 0x1e, 0x0a, 0x1a, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4f, + 0x4d, 0x42, 0x41, 0x54, 0x4c, 0x4f, 0x47, 0x5f, 0x50, 0x49, 0x43, 0x4b, 0x55, 0x50, 0x5f, 0x52, + 0x55, 0x4e, 0x45, 0x10, 0x15, 0x12, 0x25, 0x0a, 0x21, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4f, + 0x4d, 0x42, 0x41, 0x54, 0x4c, 0x4f, 0x47, 0x5f, 0x52, 0x45, 0x56, 0x45, 0x41, 0x4c, 0x45, 0x44, + 0x5f, 0x49, 0x4e, 0x56, 0x49, 0x53, 0x49, 0x42, 0x4c, 0x45, 0x10, 0x16, 0x12, 0x1d, 0x0a, 0x19, + 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4d, 0x42, 0x41, 0x54, 0x4c, 0x4f, 0x47, 0x5f, 0x48, + 0x45, 0x52, 0x4f, 0x5f, 0x53, 0x41, 0x56, 0x45, 0x44, 0x10, 0x17, 0x12, 0x20, 0x0a, 0x1c, 0x44, + 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4d, 0x42, 0x41, 0x54, 0x4c, 0x4f, 0x47, 0x5f, 0x4d, 0x41, + 0x4e, 0x41, 0x5f, 0x52, 0x45, 0x53, 0x54, 0x4f, 0x52, 0x45, 0x44, 0x10, 0x18, 0x12, 0x1f, 0x0a, + 0x1b, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4d, 0x42, 0x41, 0x54, 0x4c, 0x4f, 0x47, 0x5f, + 0x48, 0x45, 0x52, 0x4f, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x55, 0x50, 0x10, 0x19, 0x12, 0x23, + 0x0a, 0x1f, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4d, 0x42, 0x41, 0x54, 0x4c, 0x4f, 0x47, + 0x5f, 0x42, 0x4f, 0x54, 0x54, 0x4c, 0x45, 0x5f, 0x48, 0x45, 0x41, 0x4c, 0x5f, 0x41, 0x4c, 0x4c, + 0x59, 0x10, 0x1a, 0x12, 0x20, 0x0a, 0x1c, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4d, 0x42, + 0x41, 0x54, 0x4c, 0x4f, 0x47, 0x5f, 0x45, 0x4e, 0x44, 0x47, 0x41, 0x4d, 0x45, 0x5f, 0x53, 0x54, + 0x41, 0x54, 0x53, 0x10, 0x1b, 0x12, 0x24, 0x0a, 0x20, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4f, + 0x4d, 0x42, 0x41, 0x54, 0x4c, 0x4f, 0x47, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x52, 0x55, 0x50, + 0x54, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x4e, 0x45, 0x4c, 0x10, 0x1c, 0x12, 0x1e, 0x0a, 0x1a, 0x44, + 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4d, 0x42, 0x41, 0x54, 0x4c, 0x4f, 0x47, 0x5f, 0x41, 0x4c, + 0x4c, 0x49, 0x45, 0x44, 0x5f, 0x47, 0x4f, 0x4c, 0x44, 0x10, 0x1d, 0x12, 0x1e, 0x0a, 0x1a, 0x44, + 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4d, 0x42, 0x41, 0x54, 0x4c, 0x4f, 0x47, 0x5f, 0x41, 0x45, + 0x47, 0x49, 0x53, 0x5f, 0x54, 0x41, 0x4b, 0x45, 0x4e, 0x10, 0x1e, 0x12, 0x1e, 0x0a, 0x1a, 0x44, + 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4d, 0x42, 0x41, 0x54, 0x4c, 0x4f, 0x47, 0x5f, 0x4d, 0x41, + 0x4e, 0x41, 0x5f, 0x44, 0x41, 0x4d, 0x41, 0x47, 0x45, 0x10, 0x1f, 0x12, 0x2c, 0x0a, 0x28, 0x44, + 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4d, 0x42, 0x41, 0x54, 0x4c, 0x4f, 0x47, 0x5f, 0x50, 0x48, + 0x59, 0x53, 0x49, 0x43, 0x41, 0x4c, 0x5f, 0x44, 0x41, 0x4d, 0x41, 0x47, 0x45, 0x5f, 0x50, 0x52, + 0x45, 0x56, 0x45, 0x4e, 0x54, 0x45, 0x44, 0x10, 0x20, 0x12, 0x20, 0x0a, 0x1c, 0x44, 0x4f, 0x54, + 0x41, 0x5f, 0x43, 0x4f, 0x4d, 0x42, 0x41, 0x54, 0x4c, 0x4f, 0x47, 0x5f, 0x55, 0x4e, 0x49, 0x54, + 0x5f, 0x53, 0x55, 0x4d, 0x4d, 0x4f, 0x4e, 0x45, 0x44, 0x10, 0x21, 0x12, 0x1f, 0x0a, 0x1b, 0x44, + 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4d, 0x42, 0x41, 0x54, 0x4c, 0x4f, 0x47, 0x5f, 0x41, 0x54, + 0x54, 0x41, 0x43, 0x4b, 0x5f, 0x45, 0x56, 0x41, 0x44, 0x45, 0x10, 0x22, 0x12, 0x1b, 0x0a, 0x17, + 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4d, 0x42, 0x41, 0x54, 0x4c, 0x4f, 0x47, 0x5f, 0x54, + 0x52, 0x45, 0x45, 0x5f, 0x43, 0x55, 0x54, 0x10, 0x23, 0x12, 0x22, 0x0a, 0x1e, 0x44, 0x4f, 0x54, + 0x41, 0x5f, 0x43, 0x4f, 0x4d, 0x42, 0x41, 0x54, 0x4c, 0x4f, 0x47, 0x5f, 0x53, 0x55, 0x43, 0x43, + 0x45, 0x53, 0x53, 0x46, 0x55, 0x4c, 0x5f, 0x53, 0x43, 0x41, 0x4e, 0x10, 0x24, 0x12, 0x21, 0x0a, + 0x1d, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4d, 0x42, 0x41, 0x54, 0x4c, 0x4f, 0x47, 0x5f, + 0x45, 0x4e, 0x44, 0x5f, 0x4b, 0x49, 0x4c, 0x4c, 0x53, 0x54, 0x52, 0x45, 0x41, 0x4b, 0x10, 0x25, + 0x12, 0x24, 0x0a, 0x20, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4d, 0x42, 0x41, 0x54, 0x4c, + 0x4f, 0x47, 0x5f, 0x42, 0x4c, 0x4f, 0x4f, 0x44, 0x53, 0x54, 0x4f, 0x4e, 0x45, 0x5f, 0x43, 0x48, + 0x41, 0x52, 0x47, 0x45, 0x10, 0x26, 0x12, 0x22, 0x0a, 0x1e, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, + 0x4f, 0x4d, 0x42, 0x41, 0x54, 0x4c, 0x4f, 0x47, 0x5f, 0x43, 0x52, 0x49, 0x54, 0x49, 0x43, 0x41, + 0x4c, 0x5f, 0x44, 0x41, 0x4d, 0x41, 0x47, 0x45, 0x10, 0x27, 0x12, 0x1f, 0x0a, 0x1b, 0x44, 0x4f, + 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4d, 0x42, 0x41, 0x54, 0x4c, 0x4f, 0x47, 0x5f, 0x53, 0x50, 0x45, + 0x4c, 0x4c, 0x5f, 0x41, 0x42, 0x53, 0x4f, 0x52, 0x42, 0x10, 0x28, 0x12, 0x22, 0x0a, 0x1e, 0x44, + 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4d, 0x42, 0x41, 0x54, 0x4c, 0x4f, 0x47, 0x5f, 0x55, 0x4e, + 0x49, 0x54, 0x5f, 0x54, 0x45, 0x4c, 0x45, 0x50, 0x4f, 0x52, 0x54, 0x45, 0x44, 0x10, 0x29, 0x12, + 0x23, 0x0a, 0x1f, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4d, 0x42, 0x41, 0x54, 0x4c, 0x4f, + 0x47, 0x5f, 0x4b, 0x49, 0x4c, 0x4c, 0x5f, 0x45, 0x41, 0x54, 0x45, 0x52, 0x5f, 0x45, 0x56, 0x45, + 0x4e, 0x54, 0x10, 0x2a, 0x2a, 0x75, 0x0a, 0x10, 0x45, 0x44, 0x50, 0x43, 0x46, 0x61, 0x76, 0x6f, + 0x72, 0x69, 0x74, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x15, 0x0a, 0x11, 0x46, 0x41, 0x56, 0x4f, + 0x52, 0x49, 0x54, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x41, 0x4c, 0x4c, 0x10, 0x00, 0x12, + 0x18, 0x0a, 0x14, 0x46, 0x41, 0x56, 0x4f, 0x52, 0x49, 0x54, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, + 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x10, 0x01, 0x12, 0x16, 0x0a, 0x12, 0x46, 0x41, 0x56, + 0x4f, 0x52, 0x49, 0x54, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x54, 0x45, 0x41, 0x4d, 0x10, + 0x02, 0x12, 0x18, 0x0a, 0x14, 0x46, 0x41, 0x56, 0x4f, 0x52, 0x49, 0x54, 0x45, 0x5f, 0x54, 0x59, + 0x50, 0x45, 0x5f, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x10, 0x03, 0x2a, 0xa8, 0x04, 0x0a, 0x14, + 0x45, 0x44, 0x50, 0x43, 0x50, 0x75, 0x73, 0x68, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x24, 0x44, 0x50, 0x43, 0x5f, 0x50, 0x55, 0x53, 0x48, + 0x5f, 0x4e, 0x4f, 0x54, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4d, 0x41, + 0x54, 0x43, 0x48, 0x5f, 0x53, 0x54, 0x41, 0x52, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x2a, + 0x0a, 0x26, 0x44, 0x50, 0x43, 0x5f, 0x50, 0x55, 0x53, 0x48, 0x5f, 0x4e, 0x4f, 0x54, 0x49, 0x46, + 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x5f, 0x4c, + 0x45, 0x46, 0x54, 0x5f, 0x54, 0x45, 0x41, 0x4d, 0x10, 0x0a, 0x12, 0x2c, 0x0a, 0x28, 0x44, 0x50, + 0x43, 0x5f, 0x50, 0x55, 0x53, 0x48, 0x5f, 0x4e, 0x4f, 0x54, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, + 0x49, 0x4f, 0x4e, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x5f, 0x4a, 0x4f, 0x49, 0x4e, 0x45, + 0x44, 0x5f, 0x54, 0x45, 0x41, 0x4d, 0x10, 0x0b, 0x12, 0x35, 0x0a, 0x31, 0x44, 0x50, 0x43, 0x5f, + 0x50, 0x55, 0x53, 0x48, 0x5f, 0x4e, 0x4f, 0x54, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, + 0x4e, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x5f, 0x4a, 0x4f, 0x49, 0x4e, 0x45, 0x44, 0x5f, + 0x54, 0x45, 0x41, 0x4d, 0x5f, 0x41, 0x53, 0x5f, 0x43, 0x4f, 0x41, 0x43, 0x48, 0x10, 0x0c, 0x12, + 0x33, 0x0a, 0x2f, 0x44, 0x50, 0x43, 0x5f, 0x50, 0x55, 0x53, 0x48, 0x5f, 0x4e, 0x4f, 0x54, 0x49, + 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x5f, + 0x4c, 0x45, 0x46, 0x54, 0x5f, 0x54, 0x45, 0x41, 0x4d, 0x5f, 0x41, 0x53, 0x5f, 0x43, 0x4f, 0x41, + 0x43, 0x48, 0x10, 0x0d, 0x12, 0x27, 0x0a, 0x23, 0x44, 0x50, 0x43, 0x5f, 0x50, 0x55, 0x53, 0x48, + 0x5f, 0x4e, 0x4f, 0x54, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4c, 0x45, + 0x41, 0x47, 0x55, 0x45, 0x5f, 0x52, 0x45, 0x53, 0x55, 0x4c, 0x54, 0x10, 0x14, 0x12, 0x36, 0x0a, + 0x32, 0x44, 0x50, 0x43, 0x5f, 0x50, 0x55, 0x53, 0x48, 0x5f, 0x4e, 0x4f, 0x54, 0x49, 0x46, 0x49, + 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x50, 0x52, 0x45, 0x44, 0x49, 0x43, 0x54, 0x49, 0x4f, + 0x4e, 0x5f, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x45, 0x53, 0x5f, 0x41, 0x56, 0x41, 0x49, 0x4c, 0x41, + 0x42, 0x4c, 0x45, 0x10, 0x1e, 0x12, 0x2b, 0x0a, 0x27, 0x44, 0x50, 0x43, 0x5f, 0x50, 0x55, 0x53, + 0x48, 0x5f, 0x4e, 0x4f, 0x54, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x50, + 0x52, 0x45, 0x44, 0x49, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x45, 0x53, 0x55, 0x4c, 0x54, + 0x10, 0x1f, 0x12, 0x30, 0x0a, 0x2c, 0x44, 0x50, 0x43, 0x5f, 0x50, 0x55, 0x53, 0x48, 0x5f, 0x4e, + 0x4f, 0x54, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x46, 0x41, 0x4e, 0x54, + 0x41, 0x53, 0x59, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x5f, 0x43, 0x4c, 0x45, 0x41, 0x52, + 0x45, 0x44, 0x10, 0x28, 0x12, 0x2f, 0x0a, 0x2b, 0x44, 0x50, 0x43, 0x5f, 0x50, 0x55, 0x53, 0x48, + 0x5f, 0x4e, 0x4f, 0x54, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x46, 0x41, + 0x4e, 0x54, 0x41, 0x53, 0x59, 0x5f, 0x44, 0x41, 0x49, 0x4c, 0x59, 0x5f, 0x53, 0x55, 0x4d, 0x4d, + 0x41, 0x52, 0x59, 0x10, 0x29, 0x12, 0x2f, 0x0a, 0x2b, 0x44, 0x50, 0x43, 0x5f, 0x50, 0x55, 0x53, + 0x48, 0x5f, 0x4e, 0x4f, 0x54, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x46, + 0x41, 0x4e, 0x54, 0x41, 0x53, 0x59, 0x5f, 0x46, 0x49, 0x4e, 0x41, 0x4c, 0x5f, 0x52, 0x45, 0x53, + 0x55, 0x4c, 0x54, 0x53, 0x10, 0x2a, 0x2a, 0x59, 0x0a, 0x15, 0x45, 0x45, 0x76, 0x65, 0x6e, 0x74, + 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x12, + 0x1f, 0x0a, 0x1b, 0x6b, 0x5f, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x5f, 0x41, 0x64, 0x64, 0x10, 0x00, + 0x12, 0x1f, 0x0a, 0x1b, 0x6b, 0x5f, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x41, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x5f, 0x4d, 0x69, 0x6e, 0x10, + 0x01, 0x2a, 0xce, 0x02, 0x0a, 0x1b, 0x45, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x68, 0x61, + 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x54, 0x79, 0x70, + 0x65, 0x12, 0x29, 0x0a, 0x25, 0x6b, 0x5f, 0x45, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x68, + 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x54, 0x79, + 0x70, 0x65, 0x5f, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x10, 0x00, 0x12, 0x2b, 0x0a, 0x27, + 0x6b, 0x5f, 0x45, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, + 0x67, 0x65, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x4b, 0x69, + 0x6c, 0x6c, 0x45, 0x61, 0x74, 0x65, 0x72, 0x10, 0x01, 0x12, 0x2f, 0x0a, 0x2b, 0x6b, 0x5f, 0x45, + 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x48, + 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x44, 0x6f, 0x74, 0x61, 0x50, + 0x6c, 0x75, 0x73, 0x52, 0x65, 0x6c, 0x69, 0x63, 0x10, 0x02, 0x12, 0x3d, 0x0a, 0x39, 0x6b, 0x5f, + 0x45, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, + 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x44, 0x6f, 0x74, 0x61, + 0x50, 0x6c, 0x75, 0x73, 0x48, 0x65, 0x72, 0x6f, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x68, + 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x10, 0x03, 0x12, 0x36, 0x0a, 0x32, 0x6b, 0x5f, 0x45, + 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x48, + 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x49, 0x6e, 0x47, 0x61, 0x6d, + 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x10, + 0x04, 0x12, 0x2f, 0x0a, 0x2b, 0x6b, 0x5f, 0x45, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x68, + 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x54, 0x79, + 0x70, 0x65, 0x5f, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, + 0x10, 0x05, 0x2a, 0x86, 0x02, 0x0a, 0x16, 0x45, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x61, 0x74, 0x63, + 0x68, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x24, 0x0a, + 0x20, 0x6b, 0x5f, 0x45, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, + 0x6f, 0x72, 0x74, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x5f, 0x55, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, + 0x6e, 0x10, 0x00, 0x12, 0x25, 0x0a, 0x21, 0x6b, 0x5f, 0x45, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x61, + 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x5f, + 0x43, 0x68, 0x65, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x10, 0x01, 0x12, 0x24, 0x0a, 0x20, 0x6b, 0x5f, + 0x45, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, + 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x5f, 0x46, 0x65, 0x65, 0x64, 0x69, 0x6e, 0x67, 0x10, 0x02, + 0x12, 0x25, 0x0a, 0x21, 0x6b, 0x5f, 0x45, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x61, 0x74, 0x63, 0x68, + 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x5f, 0x47, 0x72, 0x69, + 0x65, 0x66, 0x69, 0x6e, 0x67, 0x10, 0x03, 0x12, 0x27, 0x0a, 0x23, 0x6b, 0x5f, 0x45, 0x4f, 0x76, + 0x65, 0x72, 0x77, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x61, + 0x73, 0x6f, 0x6e, 0x5f, 0x53, 0x75, 0x73, 0x70, 0x69, 0x63, 0x69, 0x6f, 0x75, 0x73, 0x10, 0x04, + 0x12, 0x29, 0x0a, 0x25, 0x6b, 0x5f, 0x45, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x61, 0x74, 0x63, 0x68, + 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x5f, 0x41, 0x62, 0x69, + 0x6c, 0x69, 0x74, 0x79, 0x41, 0x62, 0x75, 0x73, 0x65, 0x10, 0x05, 0x42, 0x0d, 0x48, 0x01, 0x5a, + 0x06, 0x2e, 0x2f, 0x64, 0x65, 0x6d, 0x6f, 0x80, 0x01, 0x00, +} + +var ( + file_dota_shared_enums_proto_rawDescOnce sync.Once + file_dota_shared_enums_proto_rawDescData = file_dota_shared_enums_proto_rawDesc +) + +func file_dota_shared_enums_proto_rawDescGZIP() []byte { + file_dota_shared_enums_proto_rawDescOnce.Do(func() { + file_dota_shared_enums_proto_rawDescData = protoimpl.X.CompressGZIP(file_dota_shared_enums_proto_rawDescData) + }) + return file_dota_shared_enums_proto_rawDescData +} + +var file_dota_shared_enums_proto_enumTypes = make([]protoimpl.EnumInfo, 46) +var file_dota_shared_enums_proto_msgTypes = make([]protoimpl.MessageInfo, 7) +var file_dota_shared_enums_proto_goTypes = []interface{}{ + (DOTA_GameMode)(0), // 0: DOTA_GameMode + (DOTA_GameState)(0), // 1: DOTA_GameState + (DOTA_GC_TEAM)(0), // 2: DOTA_GC_TEAM + (EEvent)(0), // 3: EEvent + (DOTALeaverStatusT)(0), // 4: DOTALeaverStatus_t + (DOTAConnectionStateT)(0), // 5: DOTAConnectionState_t + (Fantasy_Roles)(0), // 6: Fantasy_Roles + (Fantasy_Team_Slots)(0), // 7: Fantasy_Team_Slots + (Fantasy_Selection_Mode)(0), // 8: Fantasy_Selection_Mode + (DOTAChatChannelTypeT)(0), // 9: DOTAChatChannelType_t + (EChatSpecialPrivileges)(0), // 10: EChatSpecialPrivileges + (EProfileCardSlotType)(0), // 11: EProfileCardSlotType + (EMatchGroupServerStatus)(0), // 12: EMatchGroupServerStatus + (DOTA_CM_PICK)(0), // 13: DOTA_CM_PICK + (DOTALowPriorityBanType)(0), // 14: DOTALowPriorityBanType + (DOTALobbyReadyState)(0), // 15: DOTALobbyReadyState + (DOTAGameVersion)(0), // 16: DOTAGameVersion + (DOTAJoinLobbyResult)(0), // 17: DOTAJoinLobbyResult + (DOTASelectionPriorityRules)(0), // 18: DOTASelectionPriorityRules + (DOTASelectionPriorityChoice)(0), // 19: DOTASelectionPriorityChoice + (DOTAMatchVote)(0), // 20: DOTAMatchVote + (DOTALobbyVisibility)(0), // 21: DOTALobbyVisibility + (EDOTAPlayerMMRType)(0), // 22: EDOTAPlayerMMRType + (EDOTAMMRBoostType)(0), // 23: EDOTAMMRBoostType + (MatchType)(0), // 24: MatchType + (DOTABotDifficulty)(0), // 25: DOTABotDifficulty + (DOTA_BOT_MODE)(0), // 26: DOTA_BOT_MODE + (MatchLanguages)(0), // 27: MatchLanguages + (ETourneyQueueDeadlineState)(0), // 28: ETourneyQueueDeadlineState + (EMatchOutcome)(0), // 29: EMatchOutcome + (ELaneType)(0), // 30: ELaneType + (EBadgeType)(0), // 31: EBadgeType + (ELeagueStatus)(0), // 32: ELeagueStatus + (ELeagueRegion)(0), // 33: ELeagueRegion + (ELeagueTier)(0), // 34: ELeagueTier + (ELeagueTierCategory)(0), // 35: ELeagueTierCategory + (ELeagueDivision)(0), // 36: ELeagueDivision + (ELeagueBroadcastProvider)(0), // 37: ELeagueBroadcastProvider + (ELeaguePhase)(0), // 38: ELeaguePhase + (ELeagueAuditAction)(0), // 39: ELeagueAuditAction + (DOTA_COMBATLOG_TYPES)(0), // 40: DOTA_COMBATLOG_TYPES + (EDPCFavoriteType)(0), // 41: EDPCFavoriteType + (EDPCPushNotification)(0), // 42: EDPCPushNotification + (EEventActionScoreMode)(0), // 43: EEventActionScoreMode + (EPlayerChallengeHistoryType)(0), // 44: EPlayerChallengeHistoryType + (EOverwatchReportReason)(0), // 45: EOverwatchReportReason + (*CDOTAClientHardwareSpecs)(nil), // 46: CDOTAClientHardwareSpecs + (*CDOTASaveGame)(nil), // 47: CDOTASaveGame + (*CMsgDOTACombatLogEntry)(nil), // 48: CMsgDOTACombatLogEntry + (*CMsgPendingEventAward)(nil), // 49: CMsgPendingEventAward + (*CDOTASaveGame_Player)(nil), // 50: CDOTASaveGame.Player + (*CDOTASaveGame_SaveInstance)(nil), // 51: CDOTASaveGame.SaveInstance + (*CDOTASaveGame_SaveInstance_PlayerPositions)(nil), // 52: CDOTASaveGame.SaveInstance.PlayerPositions +} +var file_dota_shared_enums_proto_depIdxs = []int32{ + 50, // 0: CDOTASaveGame.players:type_name -> CDOTASaveGame.Player + 51, // 1: CDOTASaveGame.save_instances:type_name -> CDOTASaveGame.SaveInstance + 40, // 2: CMsgDOTACombatLogEntry.type:type_name -> DOTA_COMBATLOG_TYPES + 3, // 3: CMsgPendingEventAward.event_id:type_name -> EEvent + 43, // 4: CMsgPendingEventAward.score_mode:type_name -> EEventActionScoreMode + 2, // 5: CDOTASaveGame.Player.team:type_name -> DOTA_GC_TEAM + 52, // 6: CDOTASaveGame.SaveInstance.player_positions:type_name -> CDOTASaveGame.SaveInstance.PlayerPositions + 7, // [7:7] is the sub-list for method output_type + 7, // [7:7] is the sub-list for method input_type + 7, // [7:7] is the sub-list for extension type_name + 7, // [7:7] is the sub-list for extension extendee + 0, // [0:7] is the sub-list for field type_name +} + +func init() { file_dota_shared_enums_proto_init() } +func file_dota_shared_enums_proto_init() { + if File_dota_shared_enums_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_dota_shared_enums_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAClientHardwareSpecs); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_shared_enums_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTASaveGame); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_shared_enums_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CMsgDOTACombatLogEntry); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_shared_enums_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CMsgPendingEventAward); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_shared_enums_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTASaveGame_Player); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_shared_enums_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTASaveGame_SaveInstance); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_shared_enums_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTASaveGame_SaveInstance_PlayerPositions); 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_dota_shared_enums_proto_rawDesc, + NumEnums: 46, + NumMessages: 7, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_dota_shared_enums_proto_goTypes, + DependencyIndexes: file_dota_shared_enums_proto_depIdxs, + EnumInfos: file_dota_shared_enums_proto_enumTypes, + MessageInfos: file_dota_shared_enums_proto_msgTypes, + }.Build() + File_dota_shared_enums_proto = out.File + file_dota_shared_enums_proto_rawDesc = nil + file_dota_shared_enums_proto_goTypes = nil + file_dota_shared_enums_proto_depIdxs = nil +} diff --git a/demo/dota_usermessages.pb.go b/demo/dota_usermessages.pb.go new file mode 100644 index 0000000..c86665e --- /dev/null +++ b/demo/dota_usermessages.pb.go @@ -0,0 +1,18724 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.0 +// protoc v3.21.2 +// source: dota_usermessages.proto + +package demo + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type EDotaUserMessages int32 + +const ( + EDotaUserMessages_DOTA_UM_AddUnitToSelection EDotaUserMessages = 464 + EDotaUserMessages_DOTA_UM_AIDebugLine EDotaUserMessages = 465 + EDotaUserMessages_DOTA_UM_ChatEvent EDotaUserMessages = 466 + EDotaUserMessages_DOTA_UM_CombatHeroPositions EDotaUserMessages = 467 + EDotaUserMessages_DOTA_UM_CombatLogData EDotaUserMessages = 468 + EDotaUserMessages_DOTA_UM_CombatLogBulkData EDotaUserMessages = 470 + EDotaUserMessages_DOTA_UM_CreateLinearProjectile EDotaUserMessages = 471 + EDotaUserMessages_DOTA_UM_DestroyLinearProjectile EDotaUserMessages = 472 + EDotaUserMessages_DOTA_UM_DodgeTrackingProjectiles EDotaUserMessages = 473 + EDotaUserMessages_DOTA_UM_GlobalLightColor EDotaUserMessages = 474 + EDotaUserMessages_DOTA_UM_GlobalLightDirection EDotaUserMessages = 475 + EDotaUserMessages_DOTA_UM_InvalidCommand EDotaUserMessages = 476 + EDotaUserMessages_DOTA_UM_LocationPing EDotaUserMessages = 477 + EDotaUserMessages_DOTA_UM_MapLine EDotaUserMessages = 478 + EDotaUserMessages_DOTA_UM_MiniKillCamInfo EDotaUserMessages = 479 + EDotaUserMessages_DOTA_UM_MinimapDebugPoint EDotaUserMessages = 480 + EDotaUserMessages_DOTA_UM_MinimapEvent EDotaUserMessages = 481 + EDotaUserMessages_DOTA_UM_NevermoreRequiem EDotaUserMessages = 482 + EDotaUserMessages_DOTA_UM_OverheadEvent EDotaUserMessages = 483 + EDotaUserMessages_DOTA_UM_SetNextAutobuyItem EDotaUserMessages = 484 + EDotaUserMessages_DOTA_UM_SharedCooldown EDotaUserMessages = 485 + EDotaUserMessages_DOTA_UM_SpectatorPlayerClick EDotaUserMessages = 486 + EDotaUserMessages_DOTA_UM_TutorialTipInfo EDotaUserMessages = 487 + EDotaUserMessages_DOTA_UM_UnitEvent EDotaUserMessages = 488 + EDotaUserMessages_DOTA_UM_ParticleManager EDotaUserMessages = 489 + EDotaUserMessages_DOTA_UM_BotChat EDotaUserMessages = 490 + EDotaUserMessages_DOTA_UM_HudError EDotaUserMessages = 491 + EDotaUserMessages_DOTA_UM_ItemPurchased EDotaUserMessages = 492 + EDotaUserMessages_DOTA_UM_Ping EDotaUserMessages = 493 + EDotaUserMessages_DOTA_UM_ItemFound EDotaUserMessages = 494 + EDotaUserMessages_DOTA_UM_CharacterSpeakConcept EDotaUserMessages = 495 + EDotaUserMessages_DOTA_UM_SwapVerify EDotaUserMessages = 496 + EDotaUserMessages_DOTA_UM_WorldLine EDotaUserMessages = 497 + EDotaUserMessages_DOTA_UM_TournamentDrop EDotaUserMessages = 498 + EDotaUserMessages_DOTA_UM_ItemAlert EDotaUserMessages = 499 + EDotaUserMessages_DOTA_UM_HalloweenDrops EDotaUserMessages = 500 + EDotaUserMessages_DOTA_UM_ChatWheel EDotaUserMessages = 501 + EDotaUserMessages_DOTA_UM_ReceivedXmasGift EDotaUserMessages = 502 + EDotaUserMessages_DOTA_UM_UpdateSharedContent EDotaUserMessages = 503 + EDotaUserMessages_DOTA_UM_TutorialRequestExp EDotaUserMessages = 504 + EDotaUserMessages_DOTA_UM_TutorialPingMinimap EDotaUserMessages = 505 + EDotaUserMessages_DOTA_UM_GamerulesStateChanged EDotaUserMessages = 506 + EDotaUserMessages_DOTA_UM_ShowSurvey EDotaUserMessages = 507 + EDotaUserMessages_DOTA_UM_TutorialFade EDotaUserMessages = 508 + EDotaUserMessages_DOTA_UM_AddQuestLogEntry EDotaUserMessages = 509 + EDotaUserMessages_DOTA_UM_SendStatPopup EDotaUserMessages = 510 + EDotaUserMessages_DOTA_UM_TutorialFinish EDotaUserMessages = 511 + EDotaUserMessages_DOTA_UM_SendRoshanPopup EDotaUserMessages = 512 + EDotaUserMessages_DOTA_UM_SendGenericToolTip EDotaUserMessages = 513 + EDotaUserMessages_DOTA_UM_SendFinalGold EDotaUserMessages = 514 + EDotaUserMessages_DOTA_UM_CustomMsg EDotaUserMessages = 515 + EDotaUserMessages_DOTA_UM_CoachHUDPing EDotaUserMessages = 516 + EDotaUserMessages_DOTA_UM_ClientLoadGridNav EDotaUserMessages = 517 + EDotaUserMessages_DOTA_UM_TE_Projectile EDotaUserMessages = 518 + EDotaUserMessages_DOTA_UM_TE_ProjectileLoc EDotaUserMessages = 519 + EDotaUserMessages_DOTA_UM_TE_DotaBloodImpact EDotaUserMessages = 520 + EDotaUserMessages_DOTA_UM_TE_UnitAnimation EDotaUserMessages = 521 + EDotaUserMessages_DOTA_UM_TE_UnitAnimationEnd EDotaUserMessages = 522 + EDotaUserMessages_DOTA_UM_AbilityPing EDotaUserMessages = 523 + EDotaUserMessages_DOTA_UM_ShowGenericPopup EDotaUserMessages = 524 + EDotaUserMessages_DOTA_UM_VoteStart EDotaUserMessages = 525 + EDotaUserMessages_DOTA_UM_VoteUpdate EDotaUserMessages = 526 + EDotaUserMessages_DOTA_UM_VoteEnd EDotaUserMessages = 527 + EDotaUserMessages_DOTA_UM_BoosterState EDotaUserMessages = 528 + EDotaUserMessages_DOTA_UM_WillPurchaseAlert EDotaUserMessages = 529 + EDotaUserMessages_DOTA_UM_TutorialMinimapPosition EDotaUserMessages = 530 + EDotaUserMessages_DOTA_UM_PlayerMMR EDotaUserMessages = 531 + EDotaUserMessages_DOTA_UM_AbilitySteal EDotaUserMessages = 532 + EDotaUserMessages_DOTA_UM_CourierKilledAlert EDotaUserMessages = 533 + EDotaUserMessages_DOTA_UM_EnemyItemAlert EDotaUserMessages = 534 + EDotaUserMessages_DOTA_UM_StatsMatchDetails EDotaUserMessages = 535 + EDotaUserMessages_DOTA_UM_MiniTaunt EDotaUserMessages = 536 + EDotaUserMessages_DOTA_UM_BuyBackStateAlert EDotaUserMessages = 537 + EDotaUserMessages_DOTA_UM_SpeechBubble EDotaUserMessages = 538 + EDotaUserMessages_DOTA_UM_CustomHeaderMessage EDotaUserMessages = 539 + EDotaUserMessages_DOTA_UM_QuickBuyAlert EDotaUserMessages = 540 + EDotaUserMessages_DOTA_UM_StatsHeroDetails EDotaUserMessages = 541 + EDotaUserMessages_DOTA_UM_PredictionResult EDotaUserMessages = 542 + EDotaUserMessages_DOTA_UM_ModifierAlert EDotaUserMessages = 543 + EDotaUserMessages_DOTA_UM_HPManaAlert EDotaUserMessages = 544 + EDotaUserMessages_DOTA_UM_GlyphAlert EDotaUserMessages = 545 + EDotaUserMessages_DOTA_UM_BeastChat EDotaUserMessages = 546 + EDotaUserMessages_DOTA_UM_SpectatorPlayerUnitOrders EDotaUserMessages = 547 + EDotaUserMessages_DOTA_UM_CustomHudElement_Create EDotaUserMessages = 548 + EDotaUserMessages_DOTA_UM_CustomHudElement_Modify EDotaUserMessages = 549 + EDotaUserMessages_DOTA_UM_CustomHudElement_Destroy EDotaUserMessages = 550 + EDotaUserMessages_DOTA_UM_CompendiumState EDotaUserMessages = 551 + EDotaUserMessages_DOTA_UM_ProjectionAbility EDotaUserMessages = 552 + EDotaUserMessages_DOTA_UM_ProjectionEvent EDotaUserMessages = 553 + EDotaUserMessages_DOTA_UM_CombatLogDataHLTV EDotaUserMessages = 554 + EDotaUserMessages_DOTA_UM_XPAlert EDotaUserMessages = 555 + EDotaUserMessages_DOTA_UM_UpdateQuestProgress EDotaUserMessages = 556 + EDotaUserMessages_DOTA_UM_MatchMetadata EDotaUserMessages = 557 + EDotaUserMessages_DOTA_UM_MatchDetails EDotaUserMessages = 558 + EDotaUserMessages_DOTA_UM_QuestStatus EDotaUserMessages = 559 + EDotaUserMessages_DOTA_UM_SuggestHeroPick EDotaUserMessages = 560 + EDotaUserMessages_DOTA_UM_SuggestHeroRole EDotaUserMessages = 561 + EDotaUserMessages_DOTA_UM_KillcamDamageTaken EDotaUserMessages = 562 + EDotaUserMessages_DOTA_UM_SelectPenaltyGold EDotaUserMessages = 563 + EDotaUserMessages_DOTA_UM_RollDiceResult EDotaUserMessages = 564 + EDotaUserMessages_DOTA_UM_FlipCoinResult EDotaUserMessages = 565 + EDotaUserMessages_DOTA_UM_RequestItemSuggestions EDotaUserMessages = 566 + EDotaUserMessages_DOTA_UM_TeamCaptainChanged EDotaUserMessages = 567 + EDotaUserMessages_DOTA_UM_SendRoshanSpectatorPhase EDotaUserMessages = 568 + EDotaUserMessages_DOTA_UM_ChatWheelCooldown EDotaUserMessages = 569 + EDotaUserMessages_DOTA_UM_DismissAllStatPopups EDotaUserMessages = 570 + EDotaUserMessages_DOTA_UM_TE_DestroyProjectile EDotaUserMessages = 571 + EDotaUserMessages_DOTA_UM_HeroRelicProgress EDotaUserMessages = 572 + EDotaUserMessages_DOTA_UM_AbilityDraftRequestAbility EDotaUserMessages = 573 + EDotaUserMessages_DOTA_UM_ItemSold EDotaUserMessages = 574 + EDotaUserMessages_DOTA_UM_DamageReport EDotaUserMessages = 575 + EDotaUserMessages_DOTA_UM_SalutePlayer EDotaUserMessages = 576 + EDotaUserMessages_DOTA_UM_TipAlert EDotaUserMessages = 577 + EDotaUserMessages_DOTA_UM_ReplaceQueryUnit EDotaUserMessages = 578 + EDotaUserMessages_DOTA_UM_EmptyTeleportAlert EDotaUserMessages = 579 + EDotaUserMessages_DOTA_UM_MarsArenaOfBloodAttack EDotaUserMessages = 580 + EDotaUserMessages_DOTA_UM_ESArcanaCombo EDotaUserMessages = 581 + EDotaUserMessages_DOTA_UM_ESArcanaComboSummary EDotaUserMessages = 582 + EDotaUserMessages_DOTA_UM_HighFiveLeftHanging EDotaUserMessages = 583 + EDotaUserMessages_DOTA_UM_HighFiveCompleted EDotaUserMessages = 584 + EDotaUserMessages_DOTA_UM_ShovelUnearth EDotaUserMessages = 585 + EDotaUserMessages_DOTA_EM_InvokerSpellCast EDotaUserMessages = 586 + EDotaUserMessages_DOTA_UM_RadarAlert EDotaUserMessages = 587 + EDotaUserMessages_DOTA_UM_AllStarEvent EDotaUserMessages = 588 + EDotaUserMessages_DOTA_UM_TalentTreeAlert EDotaUserMessages = 589 + EDotaUserMessages_DOTA_UM_QueuedOrderRemoved EDotaUserMessages = 590 + EDotaUserMessages_DOTA_UM_DebugChallenge EDotaUserMessages = 591 + EDotaUserMessages_DOTA_UM_OMArcanaCombo EDotaUserMessages = 592 + EDotaUserMessages_DOTA_UM_FoundNeutralItem EDotaUserMessages = 593 + EDotaUserMessages_DOTA_UM_OutpostCaptured EDotaUserMessages = 594 + EDotaUserMessages_DOTA_UM_OutpostGrantedXP EDotaUserMessages = 595 + EDotaUserMessages_DOTA_UM_MoveCameraToUnit EDotaUserMessages = 596 + EDotaUserMessages_DOTA_UM_PauseMinigameData EDotaUserMessages = 597 + EDotaUserMessages_DOTA_UM_VersusScene_PlayerBehavior EDotaUserMessages = 598 + EDotaUserMessages_DOTA_UM_QoP_ArcanaSummary EDotaUserMessages = 600 + EDotaUserMessages_DOTA_UM_HotPotato_Created EDotaUserMessages = 601 + EDotaUserMessages_DOTA_UM_HotPotato_Exploded EDotaUserMessages = 602 + EDotaUserMessages_DOTA_UM_WK_Arcana_Progress EDotaUserMessages = 603 + EDotaUserMessages_DOTA_UM_GuildChallenge_Progress EDotaUserMessages = 604 + EDotaUserMessages_DOTA_UM_WRArcanaProgress EDotaUserMessages = 605 + EDotaUserMessages_DOTA_UM_WRArcanaSummary EDotaUserMessages = 606 + EDotaUserMessages_DOTA_UM_EmptyItemSlotAlert EDotaUserMessages = 607 + EDotaUserMessages_DOTA_UM_AghsStatusAlert EDotaUserMessages = 608 + EDotaUserMessages_DOTA_UM_PingConfirmation EDotaUserMessages = 609 + EDotaUserMessages_DOTA_UM_MutedPlayers EDotaUserMessages = 610 + EDotaUserMessages_DOTA_UM_ContextualTip EDotaUserMessages = 611 + EDotaUserMessages_DOTA_UM_ChatMessage EDotaUserMessages = 612 +) + +// Enum value maps for EDotaUserMessages. +var ( + EDotaUserMessages_name = map[int32]string{ + 464: "DOTA_UM_AddUnitToSelection", + 465: "DOTA_UM_AIDebugLine", + 466: "DOTA_UM_ChatEvent", + 467: "DOTA_UM_CombatHeroPositions", + 468: "DOTA_UM_CombatLogData", + 470: "DOTA_UM_CombatLogBulkData", + 471: "DOTA_UM_CreateLinearProjectile", + 472: "DOTA_UM_DestroyLinearProjectile", + 473: "DOTA_UM_DodgeTrackingProjectiles", + 474: "DOTA_UM_GlobalLightColor", + 475: "DOTA_UM_GlobalLightDirection", + 476: "DOTA_UM_InvalidCommand", + 477: "DOTA_UM_LocationPing", + 478: "DOTA_UM_MapLine", + 479: "DOTA_UM_MiniKillCamInfo", + 480: "DOTA_UM_MinimapDebugPoint", + 481: "DOTA_UM_MinimapEvent", + 482: "DOTA_UM_NevermoreRequiem", + 483: "DOTA_UM_OverheadEvent", + 484: "DOTA_UM_SetNextAutobuyItem", + 485: "DOTA_UM_SharedCooldown", + 486: "DOTA_UM_SpectatorPlayerClick", + 487: "DOTA_UM_TutorialTipInfo", + 488: "DOTA_UM_UnitEvent", + 489: "DOTA_UM_ParticleManager", + 490: "DOTA_UM_BotChat", + 491: "DOTA_UM_HudError", + 492: "DOTA_UM_ItemPurchased", + 493: "DOTA_UM_Ping", + 494: "DOTA_UM_ItemFound", + 495: "DOTA_UM_CharacterSpeakConcept", + 496: "DOTA_UM_SwapVerify", + 497: "DOTA_UM_WorldLine", + 498: "DOTA_UM_TournamentDrop", + 499: "DOTA_UM_ItemAlert", + 500: "DOTA_UM_HalloweenDrops", + 501: "DOTA_UM_ChatWheel", + 502: "DOTA_UM_ReceivedXmasGift", + 503: "DOTA_UM_UpdateSharedContent", + 504: "DOTA_UM_TutorialRequestExp", + 505: "DOTA_UM_TutorialPingMinimap", + 506: "DOTA_UM_GamerulesStateChanged", + 507: "DOTA_UM_ShowSurvey", + 508: "DOTA_UM_TutorialFade", + 509: "DOTA_UM_AddQuestLogEntry", + 510: "DOTA_UM_SendStatPopup", + 511: "DOTA_UM_TutorialFinish", + 512: "DOTA_UM_SendRoshanPopup", + 513: "DOTA_UM_SendGenericToolTip", + 514: "DOTA_UM_SendFinalGold", + 515: "DOTA_UM_CustomMsg", + 516: "DOTA_UM_CoachHUDPing", + 517: "DOTA_UM_ClientLoadGridNav", + 518: "DOTA_UM_TE_Projectile", + 519: "DOTA_UM_TE_ProjectileLoc", + 520: "DOTA_UM_TE_DotaBloodImpact", + 521: "DOTA_UM_TE_UnitAnimation", + 522: "DOTA_UM_TE_UnitAnimationEnd", + 523: "DOTA_UM_AbilityPing", + 524: "DOTA_UM_ShowGenericPopup", + 525: "DOTA_UM_VoteStart", + 526: "DOTA_UM_VoteUpdate", + 527: "DOTA_UM_VoteEnd", + 528: "DOTA_UM_BoosterState", + 529: "DOTA_UM_WillPurchaseAlert", + 530: "DOTA_UM_TutorialMinimapPosition", + 531: "DOTA_UM_PlayerMMR", + 532: "DOTA_UM_AbilitySteal", + 533: "DOTA_UM_CourierKilledAlert", + 534: "DOTA_UM_EnemyItemAlert", + 535: "DOTA_UM_StatsMatchDetails", + 536: "DOTA_UM_MiniTaunt", + 537: "DOTA_UM_BuyBackStateAlert", + 538: "DOTA_UM_SpeechBubble", + 539: "DOTA_UM_CustomHeaderMessage", + 540: "DOTA_UM_QuickBuyAlert", + 541: "DOTA_UM_StatsHeroDetails", + 542: "DOTA_UM_PredictionResult", + 543: "DOTA_UM_ModifierAlert", + 544: "DOTA_UM_HPManaAlert", + 545: "DOTA_UM_GlyphAlert", + 546: "DOTA_UM_BeastChat", + 547: "DOTA_UM_SpectatorPlayerUnitOrders", + 548: "DOTA_UM_CustomHudElement_Create", + 549: "DOTA_UM_CustomHudElement_Modify", + 550: "DOTA_UM_CustomHudElement_Destroy", + 551: "DOTA_UM_CompendiumState", + 552: "DOTA_UM_ProjectionAbility", + 553: "DOTA_UM_ProjectionEvent", + 554: "DOTA_UM_CombatLogDataHLTV", + 555: "DOTA_UM_XPAlert", + 556: "DOTA_UM_UpdateQuestProgress", + 557: "DOTA_UM_MatchMetadata", + 558: "DOTA_UM_MatchDetails", + 559: "DOTA_UM_QuestStatus", + 560: "DOTA_UM_SuggestHeroPick", + 561: "DOTA_UM_SuggestHeroRole", + 562: "DOTA_UM_KillcamDamageTaken", + 563: "DOTA_UM_SelectPenaltyGold", + 564: "DOTA_UM_RollDiceResult", + 565: "DOTA_UM_FlipCoinResult", + 566: "DOTA_UM_RequestItemSuggestions", + 567: "DOTA_UM_TeamCaptainChanged", + 568: "DOTA_UM_SendRoshanSpectatorPhase", + 569: "DOTA_UM_ChatWheelCooldown", + 570: "DOTA_UM_DismissAllStatPopups", + 571: "DOTA_UM_TE_DestroyProjectile", + 572: "DOTA_UM_HeroRelicProgress", + 573: "DOTA_UM_AbilityDraftRequestAbility", + 574: "DOTA_UM_ItemSold", + 575: "DOTA_UM_DamageReport", + 576: "DOTA_UM_SalutePlayer", + 577: "DOTA_UM_TipAlert", + 578: "DOTA_UM_ReplaceQueryUnit", + 579: "DOTA_UM_EmptyTeleportAlert", + 580: "DOTA_UM_MarsArenaOfBloodAttack", + 581: "DOTA_UM_ESArcanaCombo", + 582: "DOTA_UM_ESArcanaComboSummary", + 583: "DOTA_UM_HighFiveLeftHanging", + 584: "DOTA_UM_HighFiveCompleted", + 585: "DOTA_UM_ShovelUnearth", + 586: "DOTA_EM_InvokerSpellCast", + 587: "DOTA_UM_RadarAlert", + 588: "DOTA_UM_AllStarEvent", + 589: "DOTA_UM_TalentTreeAlert", + 590: "DOTA_UM_QueuedOrderRemoved", + 591: "DOTA_UM_DebugChallenge", + 592: "DOTA_UM_OMArcanaCombo", + 593: "DOTA_UM_FoundNeutralItem", + 594: "DOTA_UM_OutpostCaptured", + 595: "DOTA_UM_OutpostGrantedXP", + 596: "DOTA_UM_MoveCameraToUnit", + 597: "DOTA_UM_PauseMinigameData", + 598: "DOTA_UM_VersusScene_PlayerBehavior", + 600: "DOTA_UM_QoP_ArcanaSummary", + 601: "DOTA_UM_HotPotato_Created", + 602: "DOTA_UM_HotPotato_Exploded", + 603: "DOTA_UM_WK_Arcana_Progress", + 604: "DOTA_UM_GuildChallenge_Progress", + 605: "DOTA_UM_WRArcanaProgress", + 606: "DOTA_UM_WRArcanaSummary", + 607: "DOTA_UM_EmptyItemSlotAlert", + 608: "DOTA_UM_AghsStatusAlert", + 609: "DOTA_UM_PingConfirmation", + 610: "DOTA_UM_MutedPlayers", + 611: "DOTA_UM_ContextualTip", + 612: "DOTA_UM_ChatMessage", + } + EDotaUserMessages_value = map[string]int32{ + "DOTA_UM_AddUnitToSelection": 464, + "DOTA_UM_AIDebugLine": 465, + "DOTA_UM_ChatEvent": 466, + "DOTA_UM_CombatHeroPositions": 467, + "DOTA_UM_CombatLogData": 468, + "DOTA_UM_CombatLogBulkData": 470, + "DOTA_UM_CreateLinearProjectile": 471, + "DOTA_UM_DestroyLinearProjectile": 472, + "DOTA_UM_DodgeTrackingProjectiles": 473, + "DOTA_UM_GlobalLightColor": 474, + "DOTA_UM_GlobalLightDirection": 475, + "DOTA_UM_InvalidCommand": 476, + "DOTA_UM_LocationPing": 477, + "DOTA_UM_MapLine": 478, + "DOTA_UM_MiniKillCamInfo": 479, + "DOTA_UM_MinimapDebugPoint": 480, + "DOTA_UM_MinimapEvent": 481, + "DOTA_UM_NevermoreRequiem": 482, + "DOTA_UM_OverheadEvent": 483, + "DOTA_UM_SetNextAutobuyItem": 484, + "DOTA_UM_SharedCooldown": 485, + "DOTA_UM_SpectatorPlayerClick": 486, + "DOTA_UM_TutorialTipInfo": 487, + "DOTA_UM_UnitEvent": 488, + "DOTA_UM_ParticleManager": 489, + "DOTA_UM_BotChat": 490, + "DOTA_UM_HudError": 491, + "DOTA_UM_ItemPurchased": 492, + "DOTA_UM_Ping": 493, + "DOTA_UM_ItemFound": 494, + "DOTA_UM_CharacterSpeakConcept": 495, + "DOTA_UM_SwapVerify": 496, + "DOTA_UM_WorldLine": 497, + "DOTA_UM_TournamentDrop": 498, + "DOTA_UM_ItemAlert": 499, + "DOTA_UM_HalloweenDrops": 500, + "DOTA_UM_ChatWheel": 501, + "DOTA_UM_ReceivedXmasGift": 502, + "DOTA_UM_UpdateSharedContent": 503, + "DOTA_UM_TutorialRequestExp": 504, + "DOTA_UM_TutorialPingMinimap": 505, + "DOTA_UM_GamerulesStateChanged": 506, + "DOTA_UM_ShowSurvey": 507, + "DOTA_UM_TutorialFade": 508, + "DOTA_UM_AddQuestLogEntry": 509, + "DOTA_UM_SendStatPopup": 510, + "DOTA_UM_TutorialFinish": 511, + "DOTA_UM_SendRoshanPopup": 512, + "DOTA_UM_SendGenericToolTip": 513, + "DOTA_UM_SendFinalGold": 514, + "DOTA_UM_CustomMsg": 515, + "DOTA_UM_CoachHUDPing": 516, + "DOTA_UM_ClientLoadGridNav": 517, + "DOTA_UM_TE_Projectile": 518, + "DOTA_UM_TE_ProjectileLoc": 519, + "DOTA_UM_TE_DotaBloodImpact": 520, + "DOTA_UM_TE_UnitAnimation": 521, + "DOTA_UM_TE_UnitAnimationEnd": 522, + "DOTA_UM_AbilityPing": 523, + "DOTA_UM_ShowGenericPopup": 524, + "DOTA_UM_VoteStart": 525, + "DOTA_UM_VoteUpdate": 526, + "DOTA_UM_VoteEnd": 527, + "DOTA_UM_BoosterState": 528, + "DOTA_UM_WillPurchaseAlert": 529, + "DOTA_UM_TutorialMinimapPosition": 530, + "DOTA_UM_PlayerMMR": 531, + "DOTA_UM_AbilitySteal": 532, + "DOTA_UM_CourierKilledAlert": 533, + "DOTA_UM_EnemyItemAlert": 534, + "DOTA_UM_StatsMatchDetails": 535, + "DOTA_UM_MiniTaunt": 536, + "DOTA_UM_BuyBackStateAlert": 537, + "DOTA_UM_SpeechBubble": 538, + "DOTA_UM_CustomHeaderMessage": 539, + "DOTA_UM_QuickBuyAlert": 540, + "DOTA_UM_StatsHeroDetails": 541, + "DOTA_UM_PredictionResult": 542, + "DOTA_UM_ModifierAlert": 543, + "DOTA_UM_HPManaAlert": 544, + "DOTA_UM_GlyphAlert": 545, + "DOTA_UM_BeastChat": 546, + "DOTA_UM_SpectatorPlayerUnitOrders": 547, + "DOTA_UM_CustomHudElement_Create": 548, + "DOTA_UM_CustomHudElement_Modify": 549, + "DOTA_UM_CustomHudElement_Destroy": 550, + "DOTA_UM_CompendiumState": 551, + "DOTA_UM_ProjectionAbility": 552, + "DOTA_UM_ProjectionEvent": 553, + "DOTA_UM_CombatLogDataHLTV": 554, + "DOTA_UM_XPAlert": 555, + "DOTA_UM_UpdateQuestProgress": 556, + "DOTA_UM_MatchMetadata": 557, + "DOTA_UM_MatchDetails": 558, + "DOTA_UM_QuestStatus": 559, + "DOTA_UM_SuggestHeroPick": 560, + "DOTA_UM_SuggestHeroRole": 561, + "DOTA_UM_KillcamDamageTaken": 562, + "DOTA_UM_SelectPenaltyGold": 563, + "DOTA_UM_RollDiceResult": 564, + "DOTA_UM_FlipCoinResult": 565, + "DOTA_UM_RequestItemSuggestions": 566, + "DOTA_UM_TeamCaptainChanged": 567, + "DOTA_UM_SendRoshanSpectatorPhase": 568, + "DOTA_UM_ChatWheelCooldown": 569, + "DOTA_UM_DismissAllStatPopups": 570, + "DOTA_UM_TE_DestroyProjectile": 571, + "DOTA_UM_HeroRelicProgress": 572, + "DOTA_UM_AbilityDraftRequestAbility": 573, + "DOTA_UM_ItemSold": 574, + "DOTA_UM_DamageReport": 575, + "DOTA_UM_SalutePlayer": 576, + "DOTA_UM_TipAlert": 577, + "DOTA_UM_ReplaceQueryUnit": 578, + "DOTA_UM_EmptyTeleportAlert": 579, + "DOTA_UM_MarsArenaOfBloodAttack": 580, + "DOTA_UM_ESArcanaCombo": 581, + "DOTA_UM_ESArcanaComboSummary": 582, + "DOTA_UM_HighFiveLeftHanging": 583, + "DOTA_UM_HighFiveCompleted": 584, + "DOTA_UM_ShovelUnearth": 585, + "DOTA_EM_InvokerSpellCast": 586, + "DOTA_UM_RadarAlert": 587, + "DOTA_UM_AllStarEvent": 588, + "DOTA_UM_TalentTreeAlert": 589, + "DOTA_UM_QueuedOrderRemoved": 590, + "DOTA_UM_DebugChallenge": 591, + "DOTA_UM_OMArcanaCombo": 592, + "DOTA_UM_FoundNeutralItem": 593, + "DOTA_UM_OutpostCaptured": 594, + "DOTA_UM_OutpostGrantedXP": 595, + "DOTA_UM_MoveCameraToUnit": 596, + "DOTA_UM_PauseMinigameData": 597, + "DOTA_UM_VersusScene_PlayerBehavior": 598, + "DOTA_UM_QoP_ArcanaSummary": 600, + "DOTA_UM_HotPotato_Created": 601, + "DOTA_UM_HotPotato_Exploded": 602, + "DOTA_UM_WK_Arcana_Progress": 603, + "DOTA_UM_GuildChallenge_Progress": 604, + "DOTA_UM_WRArcanaProgress": 605, + "DOTA_UM_WRArcanaSummary": 606, + "DOTA_UM_EmptyItemSlotAlert": 607, + "DOTA_UM_AghsStatusAlert": 608, + "DOTA_UM_PingConfirmation": 609, + "DOTA_UM_MutedPlayers": 610, + "DOTA_UM_ContextualTip": 611, + "DOTA_UM_ChatMessage": 612, + } +) + +func (x EDotaUserMessages) Enum() *EDotaUserMessages { + p := new(EDotaUserMessages) + *p = x + return p +} + +func (x EDotaUserMessages) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (EDotaUserMessages) Descriptor() protoreflect.EnumDescriptor { + return file_dota_usermessages_proto_enumTypes[0].Descriptor() +} + +func (EDotaUserMessages) Type() protoreflect.EnumType { + return &file_dota_usermessages_proto_enumTypes[0] +} + +func (x EDotaUserMessages) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Do not use. +func (x *EDotaUserMessages) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err + } + *x = EDotaUserMessages(num) + return nil +} + +// Deprecated: Use EDotaUserMessages.Descriptor instead. +func (EDotaUserMessages) EnumDescriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{0} +} + +type DOTA_CHAT_MESSAGE int32 + +const ( + DOTA_CHAT_MESSAGE_CHAT_MESSAGE_INVALID DOTA_CHAT_MESSAGE = -1 + DOTA_CHAT_MESSAGE_CHAT_MESSAGE_HERO_KILL DOTA_CHAT_MESSAGE = 0 + DOTA_CHAT_MESSAGE_CHAT_MESSAGE_HERO_DENY DOTA_CHAT_MESSAGE = 1 + DOTA_CHAT_MESSAGE_CHAT_MESSAGE_BARRACKS_KILL DOTA_CHAT_MESSAGE = 2 + DOTA_CHAT_MESSAGE_CHAT_MESSAGE_TOWER_KILL DOTA_CHAT_MESSAGE = 3 + DOTA_CHAT_MESSAGE_CHAT_MESSAGE_TOWER_DENY DOTA_CHAT_MESSAGE = 4 + DOTA_CHAT_MESSAGE_CHAT_MESSAGE_FIRSTBLOOD DOTA_CHAT_MESSAGE = 5 + DOTA_CHAT_MESSAGE_CHAT_MESSAGE_STREAK_KILL DOTA_CHAT_MESSAGE = 6 + DOTA_CHAT_MESSAGE_CHAT_MESSAGE_BUYBACK DOTA_CHAT_MESSAGE = 7 + DOTA_CHAT_MESSAGE_CHAT_MESSAGE_AEGIS DOTA_CHAT_MESSAGE = 8 + DOTA_CHAT_MESSAGE_CHAT_MESSAGE_ROSHAN_KILL DOTA_CHAT_MESSAGE = 9 + DOTA_CHAT_MESSAGE_CHAT_MESSAGE_COURIER_LOST DOTA_CHAT_MESSAGE = 10 + DOTA_CHAT_MESSAGE_CHAT_MESSAGE_COURIER_RESPAWNED DOTA_CHAT_MESSAGE = 11 + DOTA_CHAT_MESSAGE_CHAT_MESSAGE_GLYPH_USED DOTA_CHAT_MESSAGE = 12 + DOTA_CHAT_MESSAGE_CHAT_MESSAGE_ITEM_PURCHASE DOTA_CHAT_MESSAGE = 13 + DOTA_CHAT_MESSAGE_CHAT_MESSAGE_CONNECT DOTA_CHAT_MESSAGE = 14 + DOTA_CHAT_MESSAGE_CHAT_MESSAGE_DISCONNECT DOTA_CHAT_MESSAGE = 15 + DOTA_CHAT_MESSAGE_CHAT_MESSAGE_DISCONNECT_WAIT_FOR_RECONNECT DOTA_CHAT_MESSAGE = 16 + DOTA_CHAT_MESSAGE_CHAT_MESSAGE_DISCONNECT_TIME_REMAINING DOTA_CHAT_MESSAGE = 17 + DOTA_CHAT_MESSAGE_CHAT_MESSAGE_DISCONNECT_TIME_REMAINING_PLURAL DOTA_CHAT_MESSAGE = 18 + DOTA_CHAT_MESSAGE_CHAT_MESSAGE_RECONNECT DOTA_CHAT_MESSAGE = 19 + DOTA_CHAT_MESSAGE_CHAT_MESSAGE_PLAYER_LEFT DOTA_CHAT_MESSAGE = 20 + DOTA_CHAT_MESSAGE_CHAT_MESSAGE_SAFE_TO_LEAVE DOTA_CHAT_MESSAGE = 21 + DOTA_CHAT_MESSAGE_CHAT_MESSAGE_RUNE_PICKUP DOTA_CHAT_MESSAGE = 22 + DOTA_CHAT_MESSAGE_CHAT_MESSAGE_RUNE_BOTTLE DOTA_CHAT_MESSAGE = 23 + DOTA_CHAT_MESSAGE_CHAT_MESSAGE_RUNE_DENY DOTA_CHAT_MESSAGE = 114 + DOTA_CHAT_MESSAGE_CHAT_MESSAGE_INTHEBAG DOTA_CHAT_MESSAGE = 24 + DOTA_CHAT_MESSAGE_CHAT_MESSAGE_SECRETSHOP DOTA_CHAT_MESSAGE = 25 + DOTA_CHAT_MESSAGE_CHAT_MESSAGE_ITEM_AUTOPURCHASED DOTA_CHAT_MESSAGE = 26 + DOTA_CHAT_MESSAGE_CHAT_MESSAGE_ITEMS_COMBINED DOTA_CHAT_MESSAGE = 27 + DOTA_CHAT_MESSAGE_CHAT_MESSAGE_SUPER_CREEPS DOTA_CHAT_MESSAGE = 28 + DOTA_CHAT_MESSAGE_CHAT_MESSAGE_CANT_USE_ACTION_ITEM DOTA_CHAT_MESSAGE = 29 + DOTA_CHAT_MESSAGE_CHAT_MESSAGE_CANTPAUSE DOTA_CHAT_MESSAGE = 31 + DOTA_CHAT_MESSAGE_CHAT_MESSAGE_NOPAUSESLEFT DOTA_CHAT_MESSAGE = 32 + DOTA_CHAT_MESSAGE_CHAT_MESSAGE_CANTPAUSEYET DOTA_CHAT_MESSAGE = 33 + DOTA_CHAT_MESSAGE_CHAT_MESSAGE_PAUSED DOTA_CHAT_MESSAGE = 34 + DOTA_CHAT_MESSAGE_CHAT_MESSAGE_UNPAUSE_COUNTDOWN DOTA_CHAT_MESSAGE = 35 + DOTA_CHAT_MESSAGE_CHAT_MESSAGE_UNPAUSED DOTA_CHAT_MESSAGE = 36 + DOTA_CHAT_MESSAGE_CHAT_MESSAGE_AUTO_UNPAUSED DOTA_CHAT_MESSAGE = 37 + DOTA_CHAT_MESSAGE_CHAT_MESSAGE_YOUPAUSED DOTA_CHAT_MESSAGE = 38 + DOTA_CHAT_MESSAGE_CHAT_MESSAGE_CANTUNPAUSETEAM DOTA_CHAT_MESSAGE = 39 + DOTA_CHAT_MESSAGE_CHAT_MESSAGE_VOICE_TEXT_BANNED DOTA_CHAT_MESSAGE = 41 + DOTA_CHAT_MESSAGE_CHAT_MESSAGE_SPECTATORS_WATCHING_THIS_GAME DOTA_CHAT_MESSAGE = 42 + DOTA_CHAT_MESSAGE_CHAT_MESSAGE_REPORT_REMINDER DOTA_CHAT_MESSAGE = 43 + DOTA_CHAT_MESSAGE_CHAT_MESSAGE_ECON_ITEM DOTA_CHAT_MESSAGE = 44 + DOTA_CHAT_MESSAGE_CHAT_MESSAGE_TAUNT DOTA_CHAT_MESSAGE = 45 + DOTA_CHAT_MESSAGE_CHAT_MESSAGE_RANDOM DOTA_CHAT_MESSAGE = 46 + DOTA_CHAT_MESSAGE_CHAT_MESSAGE_RD_TURN DOTA_CHAT_MESSAGE = 47 + DOTA_CHAT_MESSAGE_CHAT_MESSAGE_DROP_RATE_BONUS DOTA_CHAT_MESSAGE = 49 + DOTA_CHAT_MESSAGE_CHAT_MESSAGE_NO_BATTLE_POINTS DOTA_CHAT_MESSAGE = 50 + DOTA_CHAT_MESSAGE_CHAT_MESSAGE_DENIED_AEGIS DOTA_CHAT_MESSAGE = 51 + DOTA_CHAT_MESSAGE_CHAT_MESSAGE_INFORMATIONAL DOTA_CHAT_MESSAGE = 52 + DOTA_CHAT_MESSAGE_CHAT_MESSAGE_AEGIS_STOLEN DOTA_CHAT_MESSAGE = 53 + DOTA_CHAT_MESSAGE_CHAT_MESSAGE_ROSHAN_CANDY DOTA_CHAT_MESSAGE = 54 + DOTA_CHAT_MESSAGE_CHAT_MESSAGE_ITEM_GIFTED DOTA_CHAT_MESSAGE = 55 + DOTA_CHAT_MESSAGE_CHAT_MESSAGE_HERO_KILL_WITH_GREEVIL DOTA_CHAT_MESSAGE = 56 + DOTA_CHAT_MESSAGE_CHAT_MESSAGE_HOLDOUT_TOWER_DESTROYED DOTA_CHAT_MESSAGE = 57 + DOTA_CHAT_MESSAGE_CHAT_MESSAGE_HOLDOUT_WALL_DESTROYED DOTA_CHAT_MESSAGE = 58 + DOTA_CHAT_MESSAGE_CHAT_MESSAGE_HOLDOUT_WALL_FINISHED DOTA_CHAT_MESSAGE = 59 + DOTA_CHAT_MESSAGE_CHAT_MESSAGE_PLAYER_LEFT_LIMITED_HERO DOTA_CHAT_MESSAGE = 62 + DOTA_CHAT_MESSAGE_CHAT_MESSAGE_ABANDON_LIMITED_HERO_EXPLANATION DOTA_CHAT_MESSAGE = 63 + DOTA_CHAT_MESSAGE_CHAT_MESSAGE_DISCONNECT_LIMITED_HERO DOTA_CHAT_MESSAGE = 64 + DOTA_CHAT_MESSAGE_CHAT_MESSAGE_LOW_PRIORITY_COMPLETED_EXPLANATION DOTA_CHAT_MESSAGE = 65 + DOTA_CHAT_MESSAGE_CHAT_MESSAGE_RECRUITMENT_DROP_RATE_BONUS DOTA_CHAT_MESSAGE = 66 + DOTA_CHAT_MESSAGE_CHAT_MESSAGE_FROSTIVUS_SHINING_BOOSTER_ACTIVE DOTA_CHAT_MESSAGE = 67 + DOTA_CHAT_MESSAGE_CHAT_MESSAGE_PLAYER_LEFT_AFK DOTA_CHAT_MESSAGE = 73 + DOTA_CHAT_MESSAGE_CHAT_MESSAGE_PLAYER_LEFT_DISCONNECTED_TOO_LONG DOTA_CHAT_MESSAGE = 74 + DOTA_CHAT_MESSAGE_CHAT_MESSAGE_PLAYER_ABANDONED DOTA_CHAT_MESSAGE = 75 + DOTA_CHAT_MESSAGE_CHAT_MESSAGE_PLAYER_ABANDONED_AFK DOTA_CHAT_MESSAGE = 76 + DOTA_CHAT_MESSAGE_CHAT_MESSAGE_PLAYER_ABANDONED_DISCONNECTED_TOO_LONG DOTA_CHAT_MESSAGE = 77 + DOTA_CHAT_MESSAGE_CHAT_MESSAGE_WILL_NOT_BE_SCORED DOTA_CHAT_MESSAGE = 78 + DOTA_CHAT_MESSAGE_CHAT_MESSAGE_WILL_NOT_BE_SCORED_RANKED DOTA_CHAT_MESSAGE = 79 + DOTA_CHAT_MESSAGE_CHAT_MESSAGE_WILL_NOT_BE_SCORED_NETWORK DOTA_CHAT_MESSAGE = 80 + DOTA_CHAT_MESSAGE_CHAT_MESSAGE_WILL_NOT_BE_SCORED_NETWORK_RANKED DOTA_CHAT_MESSAGE = 81 + DOTA_CHAT_MESSAGE_CHAT_MESSAGE_CAN_QUIT_WITHOUT_ABANDON DOTA_CHAT_MESSAGE = 82 + DOTA_CHAT_MESSAGE_CHAT_MESSAGE_RANKED_GAME_STILL_SCORED_LEAVERS_GET_LOSS DOTA_CHAT_MESSAGE = 83 + DOTA_CHAT_MESSAGE_CHAT_MESSAGE_ABANDON_RANKED_BEFORE_FIRST_BLOOD_PARTY DOTA_CHAT_MESSAGE = 84 + DOTA_CHAT_MESSAGE_CHAT_MESSAGE_COMPENDIUM_LEVEL DOTA_CHAT_MESSAGE = 85 + DOTA_CHAT_MESSAGE_CHAT_MESSAGE_VICTORY_PREDICTION_STREAK DOTA_CHAT_MESSAGE = 86 + DOTA_CHAT_MESSAGE_CHAT_MESSAGE_ASSASSIN_ANNOUNCE DOTA_CHAT_MESSAGE = 87 + DOTA_CHAT_MESSAGE_CHAT_MESSAGE_ASSASSIN_SUCCESS DOTA_CHAT_MESSAGE = 88 + DOTA_CHAT_MESSAGE_CHAT_MESSAGE_ASSASSIN_DENIED DOTA_CHAT_MESSAGE = 89 + DOTA_CHAT_MESSAGE_CHAT_MESSAGE_VICTORY_PREDICTION_SINGLE_USER_CONFIRM DOTA_CHAT_MESSAGE = 90 + DOTA_CHAT_MESSAGE_CHAT_MESSAGE_EFFIGY_KILL DOTA_CHAT_MESSAGE = 91 + DOTA_CHAT_MESSAGE_CHAT_MESSAGE_VOICE_TEXT_BANNED_OVERFLOW DOTA_CHAT_MESSAGE = 92 + DOTA_CHAT_MESSAGE_CHAT_MESSAGE_YEAR_BEAST_KILLED DOTA_CHAT_MESSAGE = 93 + DOTA_CHAT_MESSAGE_CHAT_MESSAGE_PAUSE_COUNTDOWN DOTA_CHAT_MESSAGE = 94 + DOTA_CHAT_MESSAGE_CHAT_MESSAGE_COINS_WAGERED DOTA_CHAT_MESSAGE = 95 + DOTA_CHAT_MESSAGE_CHAT_MESSAGE_HERO_NOMINATED_BAN DOTA_CHAT_MESSAGE = 96 + DOTA_CHAT_MESSAGE_CHAT_MESSAGE_HERO_BANNED DOTA_CHAT_MESSAGE = 97 + DOTA_CHAT_MESSAGE_CHAT_MESSAGE_HERO_BAN_COUNT DOTA_CHAT_MESSAGE = 98 + DOTA_CHAT_MESSAGE_CHAT_MESSAGE_RIVER_PAINTED DOTA_CHAT_MESSAGE = 99 + DOTA_CHAT_MESSAGE_CHAT_MESSAGE_SCAN_USED DOTA_CHAT_MESSAGE = 100 + DOTA_CHAT_MESSAGE_CHAT_MESSAGE_SHRINE_KILLED DOTA_CHAT_MESSAGE = 101 + DOTA_CHAT_MESSAGE_CHAT_MESSAGE_WAGER_TOKEN_SPENT DOTA_CHAT_MESSAGE = 102 + DOTA_CHAT_MESSAGE_CHAT_MESSAGE_RANK_WAGER DOTA_CHAT_MESSAGE = 103 + DOTA_CHAT_MESSAGE_CHAT_MESSAGE_NEW_PLAYER_REMINDER DOTA_CHAT_MESSAGE = 104 + DOTA_CHAT_MESSAGE_CHAT_MESSAGE_OBSERVER_WARD_KILLED DOTA_CHAT_MESSAGE = 105 + DOTA_CHAT_MESSAGE_CHAT_MESSAGE_SENTRY_WARD_KILLED DOTA_CHAT_MESSAGE = 106 + DOTA_CHAT_MESSAGE_CHAT_MESSAGE_ITEM_PLACED_IN_NEUTRAL_STASH DOTA_CHAT_MESSAGE = 107 + DOTA_CHAT_MESSAGE_CHAT_MESSAGE_HERO_CHOICE_INVALID DOTA_CHAT_MESSAGE = 108 + DOTA_CHAT_MESSAGE_CHAT_MESSAGE_BOUNTY DOTA_CHAT_MESSAGE = 109 + DOTA_CHAT_MESSAGE_CHAT_MESSAGE_ABILITY_DRAFT_START DOTA_CHAT_MESSAGE = 110 + DOTA_CHAT_MESSAGE_CHAT_MESSAGE_HERO_FOUND_CANDY DOTA_CHAT_MESSAGE = 111 + DOTA_CHAT_MESSAGE_CHAT_MESSAGE_ABILITY_DRAFT_RANDOMED DOTA_CHAT_MESSAGE = 112 + DOTA_CHAT_MESSAGE_CHAT_MESSAGE_PRIVATE_COACH_CONNECTED DOTA_CHAT_MESSAGE = 113 + DOTA_CHAT_MESSAGE_CHAT_MESSAGE_CANT_PAUSE_TOO_EARLY DOTA_CHAT_MESSAGE = 115 +) + +// Enum value maps for DOTA_CHAT_MESSAGE. +var ( + DOTA_CHAT_MESSAGE_name = map[int32]string{ + -1: "CHAT_MESSAGE_INVALID", + 0: "CHAT_MESSAGE_HERO_KILL", + 1: "CHAT_MESSAGE_HERO_DENY", + 2: "CHAT_MESSAGE_BARRACKS_KILL", + 3: "CHAT_MESSAGE_TOWER_KILL", + 4: "CHAT_MESSAGE_TOWER_DENY", + 5: "CHAT_MESSAGE_FIRSTBLOOD", + 6: "CHAT_MESSAGE_STREAK_KILL", + 7: "CHAT_MESSAGE_BUYBACK", + 8: "CHAT_MESSAGE_AEGIS", + 9: "CHAT_MESSAGE_ROSHAN_KILL", + 10: "CHAT_MESSAGE_COURIER_LOST", + 11: "CHAT_MESSAGE_COURIER_RESPAWNED", + 12: "CHAT_MESSAGE_GLYPH_USED", + 13: "CHAT_MESSAGE_ITEM_PURCHASE", + 14: "CHAT_MESSAGE_CONNECT", + 15: "CHAT_MESSAGE_DISCONNECT", + 16: "CHAT_MESSAGE_DISCONNECT_WAIT_FOR_RECONNECT", + 17: "CHAT_MESSAGE_DISCONNECT_TIME_REMAINING", + 18: "CHAT_MESSAGE_DISCONNECT_TIME_REMAINING_PLURAL", + 19: "CHAT_MESSAGE_RECONNECT", + 20: "CHAT_MESSAGE_PLAYER_LEFT", + 21: "CHAT_MESSAGE_SAFE_TO_LEAVE", + 22: "CHAT_MESSAGE_RUNE_PICKUP", + 23: "CHAT_MESSAGE_RUNE_BOTTLE", + 114: "CHAT_MESSAGE_RUNE_DENY", + 24: "CHAT_MESSAGE_INTHEBAG", + 25: "CHAT_MESSAGE_SECRETSHOP", + 26: "CHAT_MESSAGE_ITEM_AUTOPURCHASED", + 27: "CHAT_MESSAGE_ITEMS_COMBINED", + 28: "CHAT_MESSAGE_SUPER_CREEPS", + 29: "CHAT_MESSAGE_CANT_USE_ACTION_ITEM", + 31: "CHAT_MESSAGE_CANTPAUSE", + 32: "CHAT_MESSAGE_NOPAUSESLEFT", + 33: "CHAT_MESSAGE_CANTPAUSEYET", + 34: "CHAT_MESSAGE_PAUSED", + 35: "CHAT_MESSAGE_UNPAUSE_COUNTDOWN", + 36: "CHAT_MESSAGE_UNPAUSED", + 37: "CHAT_MESSAGE_AUTO_UNPAUSED", + 38: "CHAT_MESSAGE_YOUPAUSED", + 39: "CHAT_MESSAGE_CANTUNPAUSETEAM", + 41: "CHAT_MESSAGE_VOICE_TEXT_BANNED", + 42: "CHAT_MESSAGE_SPECTATORS_WATCHING_THIS_GAME", + 43: "CHAT_MESSAGE_REPORT_REMINDER", + 44: "CHAT_MESSAGE_ECON_ITEM", + 45: "CHAT_MESSAGE_TAUNT", + 46: "CHAT_MESSAGE_RANDOM", + 47: "CHAT_MESSAGE_RD_TURN", + 49: "CHAT_MESSAGE_DROP_RATE_BONUS", + 50: "CHAT_MESSAGE_NO_BATTLE_POINTS", + 51: "CHAT_MESSAGE_DENIED_AEGIS", + 52: "CHAT_MESSAGE_INFORMATIONAL", + 53: "CHAT_MESSAGE_AEGIS_STOLEN", + 54: "CHAT_MESSAGE_ROSHAN_CANDY", + 55: "CHAT_MESSAGE_ITEM_GIFTED", + 56: "CHAT_MESSAGE_HERO_KILL_WITH_GREEVIL", + 57: "CHAT_MESSAGE_HOLDOUT_TOWER_DESTROYED", + 58: "CHAT_MESSAGE_HOLDOUT_WALL_DESTROYED", + 59: "CHAT_MESSAGE_HOLDOUT_WALL_FINISHED", + 62: "CHAT_MESSAGE_PLAYER_LEFT_LIMITED_HERO", + 63: "CHAT_MESSAGE_ABANDON_LIMITED_HERO_EXPLANATION", + 64: "CHAT_MESSAGE_DISCONNECT_LIMITED_HERO", + 65: "CHAT_MESSAGE_LOW_PRIORITY_COMPLETED_EXPLANATION", + 66: "CHAT_MESSAGE_RECRUITMENT_DROP_RATE_BONUS", + 67: "CHAT_MESSAGE_FROSTIVUS_SHINING_BOOSTER_ACTIVE", + 73: "CHAT_MESSAGE_PLAYER_LEFT_AFK", + 74: "CHAT_MESSAGE_PLAYER_LEFT_DISCONNECTED_TOO_LONG", + 75: "CHAT_MESSAGE_PLAYER_ABANDONED", + 76: "CHAT_MESSAGE_PLAYER_ABANDONED_AFK", + 77: "CHAT_MESSAGE_PLAYER_ABANDONED_DISCONNECTED_TOO_LONG", + 78: "CHAT_MESSAGE_WILL_NOT_BE_SCORED", + 79: "CHAT_MESSAGE_WILL_NOT_BE_SCORED_RANKED", + 80: "CHAT_MESSAGE_WILL_NOT_BE_SCORED_NETWORK", + 81: "CHAT_MESSAGE_WILL_NOT_BE_SCORED_NETWORK_RANKED", + 82: "CHAT_MESSAGE_CAN_QUIT_WITHOUT_ABANDON", + 83: "CHAT_MESSAGE_RANKED_GAME_STILL_SCORED_LEAVERS_GET_LOSS", + 84: "CHAT_MESSAGE_ABANDON_RANKED_BEFORE_FIRST_BLOOD_PARTY", + 85: "CHAT_MESSAGE_COMPENDIUM_LEVEL", + 86: "CHAT_MESSAGE_VICTORY_PREDICTION_STREAK", + 87: "CHAT_MESSAGE_ASSASSIN_ANNOUNCE", + 88: "CHAT_MESSAGE_ASSASSIN_SUCCESS", + 89: "CHAT_MESSAGE_ASSASSIN_DENIED", + 90: "CHAT_MESSAGE_VICTORY_PREDICTION_SINGLE_USER_CONFIRM", + 91: "CHAT_MESSAGE_EFFIGY_KILL", + 92: "CHAT_MESSAGE_VOICE_TEXT_BANNED_OVERFLOW", + 93: "CHAT_MESSAGE_YEAR_BEAST_KILLED", + 94: "CHAT_MESSAGE_PAUSE_COUNTDOWN", + 95: "CHAT_MESSAGE_COINS_WAGERED", + 96: "CHAT_MESSAGE_HERO_NOMINATED_BAN", + 97: "CHAT_MESSAGE_HERO_BANNED", + 98: "CHAT_MESSAGE_HERO_BAN_COUNT", + 99: "CHAT_MESSAGE_RIVER_PAINTED", + 100: "CHAT_MESSAGE_SCAN_USED", + 101: "CHAT_MESSAGE_SHRINE_KILLED", + 102: "CHAT_MESSAGE_WAGER_TOKEN_SPENT", + 103: "CHAT_MESSAGE_RANK_WAGER", + 104: "CHAT_MESSAGE_NEW_PLAYER_REMINDER", + 105: "CHAT_MESSAGE_OBSERVER_WARD_KILLED", + 106: "CHAT_MESSAGE_SENTRY_WARD_KILLED", + 107: "CHAT_MESSAGE_ITEM_PLACED_IN_NEUTRAL_STASH", + 108: "CHAT_MESSAGE_HERO_CHOICE_INVALID", + 109: "CHAT_MESSAGE_BOUNTY", + 110: "CHAT_MESSAGE_ABILITY_DRAFT_START", + 111: "CHAT_MESSAGE_HERO_FOUND_CANDY", + 112: "CHAT_MESSAGE_ABILITY_DRAFT_RANDOMED", + 113: "CHAT_MESSAGE_PRIVATE_COACH_CONNECTED", + 115: "CHAT_MESSAGE_CANT_PAUSE_TOO_EARLY", + } + DOTA_CHAT_MESSAGE_value = map[string]int32{ + "CHAT_MESSAGE_INVALID": -1, + "CHAT_MESSAGE_HERO_KILL": 0, + "CHAT_MESSAGE_HERO_DENY": 1, + "CHAT_MESSAGE_BARRACKS_KILL": 2, + "CHAT_MESSAGE_TOWER_KILL": 3, + "CHAT_MESSAGE_TOWER_DENY": 4, + "CHAT_MESSAGE_FIRSTBLOOD": 5, + "CHAT_MESSAGE_STREAK_KILL": 6, + "CHAT_MESSAGE_BUYBACK": 7, + "CHAT_MESSAGE_AEGIS": 8, + "CHAT_MESSAGE_ROSHAN_KILL": 9, + "CHAT_MESSAGE_COURIER_LOST": 10, + "CHAT_MESSAGE_COURIER_RESPAWNED": 11, + "CHAT_MESSAGE_GLYPH_USED": 12, + "CHAT_MESSAGE_ITEM_PURCHASE": 13, + "CHAT_MESSAGE_CONNECT": 14, + "CHAT_MESSAGE_DISCONNECT": 15, + "CHAT_MESSAGE_DISCONNECT_WAIT_FOR_RECONNECT": 16, + "CHAT_MESSAGE_DISCONNECT_TIME_REMAINING": 17, + "CHAT_MESSAGE_DISCONNECT_TIME_REMAINING_PLURAL": 18, + "CHAT_MESSAGE_RECONNECT": 19, + "CHAT_MESSAGE_PLAYER_LEFT": 20, + "CHAT_MESSAGE_SAFE_TO_LEAVE": 21, + "CHAT_MESSAGE_RUNE_PICKUP": 22, + "CHAT_MESSAGE_RUNE_BOTTLE": 23, + "CHAT_MESSAGE_RUNE_DENY": 114, + "CHAT_MESSAGE_INTHEBAG": 24, + "CHAT_MESSAGE_SECRETSHOP": 25, + "CHAT_MESSAGE_ITEM_AUTOPURCHASED": 26, + "CHAT_MESSAGE_ITEMS_COMBINED": 27, + "CHAT_MESSAGE_SUPER_CREEPS": 28, + "CHAT_MESSAGE_CANT_USE_ACTION_ITEM": 29, + "CHAT_MESSAGE_CANTPAUSE": 31, + "CHAT_MESSAGE_NOPAUSESLEFT": 32, + "CHAT_MESSAGE_CANTPAUSEYET": 33, + "CHAT_MESSAGE_PAUSED": 34, + "CHAT_MESSAGE_UNPAUSE_COUNTDOWN": 35, + "CHAT_MESSAGE_UNPAUSED": 36, + "CHAT_MESSAGE_AUTO_UNPAUSED": 37, + "CHAT_MESSAGE_YOUPAUSED": 38, + "CHAT_MESSAGE_CANTUNPAUSETEAM": 39, + "CHAT_MESSAGE_VOICE_TEXT_BANNED": 41, + "CHAT_MESSAGE_SPECTATORS_WATCHING_THIS_GAME": 42, + "CHAT_MESSAGE_REPORT_REMINDER": 43, + "CHAT_MESSAGE_ECON_ITEM": 44, + "CHAT_MESSAGE_TAUNT": 45, + "CHAT_MESSAGE_RANDOM": 46, + "CHAT_MESSAGE_RD_TURN": 47, + "CHAT_MESSAGE_DROP_RATE_BONUS": 49, + "CHAT_MESSAGE_NO_BATTLE_POINTS": 50, + "CHAT_MESSAGE_DENIED_AEGIS": 51, + "CHAT_MESSAGE_INFORMATIONAL": 52, + "CHAT_MESSAGE_AEGIS_STOLEN": 53, + "CHAT_MESSAGE_ROSHAN_CANDY": 54, + "CHAT_MESSAGE_ITEM_GIFTED": 55, + "CHAT_MESSAGE_HERO_KILL_WITH_GREEVIL": 56, + "CHAT_MESSAGE_HOLDOUT_TOWER_DESTROYED": 57, + "CHAT_MESSAGE_HOLDOUT_WALL_DESTROYED": 58, + "CHAT_MESSAGE_HOLDOUT_WALL_FINISHED": 59, + "CHAT_MESSAGE_PLAYER_LEFT_LIMITED_HERO": 62, + "CHAT_MESSAGE_ABANDON_LIMITED_HERO_EXPLANATION": 63, + "CHAT_MESSAGE_DISCONNECT_LIMITED_HERO": 64, + "CHAT_MESSAGE_LOW_PRIORITY_COMPLETED_EXPLANATION": 65, + "CHAT_MESSAGE_RECRUITMENT_DROP_RATE_BONUS": 66, + "CHAT_MESSAGE_FROSTIVUS_SHINING_BOOSTER_ACTIVE": 67, + "CHAT_MESSAGE_PLAYER_LEFT_AFK": 73, + "CHAT_MESSAGE_PLAYER_LEFT_DISCONNECTED_TOO_LONG": 74, + "CHAT_MESSAGE_PLAYER_ABANDONED": 75, + "CHAT_MESSAGE_PLAYER_ABANDONED_AFK": 76, + "CHAT_MESSAGE_PLAYER_ABANDONED_DISCONNECTED_TOO_LONG": 77, + "CHAT_MESSAGE_WILL_NOT_BE_SCORED": 78, + "CHAT_MESSAGE_WILL_NOT_BE_SCORED_RANKED": 79, + "CHAT_MESSAGE_WILL_NOT_BE_SCORED_NETWORK": 80, + "CHAT_MESSAGE_WILL_NOT_BE_SCORED_NETWORK_RANKED": 81, + "CHAT_MESSAGE_CAN_QUIT_WITHOUT_ABANDON": 82, + "CHAT_MESSAGE_RANKED_GAME_STILL_SCORED_LEAVERS_GET_LOSS": 83, + "CHAT_MESSAGE_ABANDON_RANKED_BEFORE_FIRST_BLOOD_PARTY": 84, + "CHAT_MESSAGE_COMPENDIUM_LEVEL": 85, + "CHAT_MESSAGE_VICTORY_PREDICTION_STREAK": 86, + "CHAT_MESSAGE_ASSASSIN_ANNOUNCE": 87, + "CHAT_MESSAGE_ASSASSIN_SUCCESS": 88, + "CHAT_MESSAGE_ASSASSIN_DENIED": 89, + "CHAT_MESSAGE_VICTORY_PREDICTION_SINGLE_USER_CONFIRM": 90, + "CHAT_MESSAGE_EFFIGY_KILL": 91, + "CHAT_MESSAGE_VOICE_TEXT_BANNED_OVERFLOW": 92, + "CHAT_MESSAGE_YEAR_BEAST_KILLED": 93, + "CHAT_MESSAGE_PAUSE_COUNTDOWN": 94, + "CHAT_MESSAGE_COINS_WAGERED": 95, + "CHAT_MESSAGE_HERO_NOMINATED_BAN": 96, + "CHAT_MESSAGE_HERO_BANNED": 97, + "CHAT_MESSAGE_HERO_BAN_COUNT": 98, + "CHAT_MESSAGE_RIVER_PAINTED": 99, + "CHAT_MESSAGE_SCAN_USED": 100, + "CHAT_MESSAGE_SHRINE_KILLED": 101, + "CHAT_MESSAGE_WAGER_TOKEN_SPENT": 102, + "CHAT_MESSAGE_RANK_WAGER": 103, + "CHAT_MESSAGE_NEW_PLAYER_REMINDER": 104, + "CHAT_MESSAGE_OBSERVER_WARD_KILLED": 105, + "CHAT_MESSAGE_SENTRY_WARD_KILLED": 106, + "CHAT_MESSAGE_ITEM_PLACED_IN_NEUTRAL_STASH": 107, + "CHAT_MESSAGE_HERO_CHOICE_INVALID": 108, + "CHAT_MESSAGE_BOUNTY": 109, + "CHAT_MESSAGE_ABILITY_DRAFT_START": 110, + "CHAT_MESSAGE_HERO_FOUND_CANDY": 111, + "CHAT_MESSAGE_ABILITY_DRAFT_RANDOMED": 112, + "CHAT_MESSAGE_PRIVATE_COACH_CONNECTED": 113, + "CHAT_MESSAGE_CANT_PAUSE_TOO_EARLY": 115, + } +) + +func (x DOTA_CHAT_MESSAGE) Enum() *DOTA_CHAT_MESSAGE { + p := new(DOTA_CHAT_MESSAGE) + *p = x + return p +} + +func (x DOTA_CHAT_MESSAGE) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (DOTA_CHAT_MESSAGE) Descriptor() protoreflect.EnumDescriptor { + return file_dota_usermessages_proto_enumTypes[1].Descriptor() +} + +func (DOTA_CHAT_MESSAGE) Type() protoreflect.EnumType { + return &file_dota_usermessages_proto_enumTypes[1] +} + +func (x DOTA_CHAT_MESSAGE) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Do not use. +func (x *DOTA_CHAT_MESSAGE) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err + } + *x = DOTA_CHAT_MESSAGE(num) + return nil +} + +// Deprecated: Use DOTA_CHAT_MESSAGE.Descriptor instead. +func (DOTA_CHAT_MESSAGE) EnumDescriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{1} +} + +type DOTA_NO_BATTLE_POINTS_REASONS int32 + +const ( + DOTA_NO_BATTLE_POINTS_REASONS_NO_BATTLE_POINTS_WRONG_LOBBY_TYPE DOTA_NO_BATTLE_POINTS_REASONS = 1 + DOTA_NO_BATTLE_POINTS_REASONS_NO_BATTLE_POINTS_PRACTICE_BOTS DOTA_NO_BATTLE_POINTS_REASONS = 2 + DOTA_NO_BATTLE_POINTS_REASONS_NO_BATTLE_POINTS_CHEATS_ENABLED DOTA_NO_BATTLE_POINTS_REASONS = 3 + DOTA_NO_BATTLE_POINTS_REASONS_NO_BATTLE_POINTS_LOW_PRIORITY DOTA_NO_BATTLE_POINTS_REASONS = 4 +) + +// Enum value maps for DOTA_NO_BATTLE_POINTS_REASONS. +var ( + DOTA_NO_BATTLE_POINTS_REASONS_name = map[int32]string{ + 1: "NO_BATTLE_POINTS_WRONG_LOBBY_TYPE", + 2: "NO_BATTLE_POINTS_PRACTICE_BOTS", + 3: "NO_BATTLE_POINTS_CHEATS_ENABLED", + 4: "NO_BATTLE_POINTS_LOW_PRIORITY", + } + DOTA_NO_BATTLE_POINTS_REASONS_value = map[string]int32{ + "NO_BATTLE_POINTS_WRONG_LOBBY_TYPE": 1, + "NO_BATTLE_POINTS_PRACTICE_BOTS": 2, + "NO_BATTLE_POINTS_CHEATS_ENABLED": 3, + "NO_BATTLE_POINTS_LOW_PRIORITY": 4, + } +) + +func (x DOTA_NO_BATTLE_POINTS_REASONS) Enum() *DOTA_NO_BATTLE_POINTS_REASONS { + p := new(DOTA_NO_BATTLE_POINTS_REASONS) + *p = x + return p +} + +func (x DOTA_NO_BATTLE_POINTS_REASONS) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (DOTA_NO_BATTLE_POINTS_REASONS) Descriptor() protoreflect.EnumDescriptor { + return file_dota_usermessages_proto_enumTypes[2].Descriptor() +} + +func (DOTA_NO_BATTLE_POINTS_REASONS) Type() protoreflect.EnumType { + return &file_dota_usermessages_proto_enumTypes[2] +} + +func (x DOTA_NO_BATTLE_POINTS_REASONS) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Do not use. +func (x *DOTA_NO_BATTLE_POINTS_REASONS) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err + } + *x = DOTA_NO_BATTLE_POINTS_REASONS(num) + return nil +} + +// Deprecated: Use DOTA_NO_BATTLE_POINTS_REASONS.Descriptor instead. +func (DOTA_NO_BATTLE_POINTS_REASONS) EnumDescriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{2} +} + +type DOTA_CHAT_INFORMATIONAL int32 + +const ( + DOTA_CHAT_INFORMATIONAL_INFO_COOP_BATTLE_POINTS_RULES DOTA_CHAT_INFORMATIONAL = 1 + DOTA_CHAT_INFORMATIONAL_INFO_FROSTIVUS_ABANDON_REMINDER DOTA_CHAT_INFORMATIONAL = 2 + DOTA_CHAT_INFORMATIONAL_INFO_RANKED_REMINDER DOTA_CHAT_INFORMATIONAL = 3 + DOTA_CHAT_INFORMATIONAL_INFO_COOP_LOW_PRIORITY_PASSIVE_REMINDER DOTA_CHAT_INFORMATIONAL = 4 + DOTA_CHAT_INFORMATIONAL_INFO_CUSTOM_GAME_PENALTY_REMINDER DOTA_CHAT_INFORMATIONAL = 5 +) + +// Enum value maps for DOTA_CHAT_INFORMATIONAL. +var ( + DOTA_CHAT_INFORMATIONAL_name = map[int32]string{ + 1: "INFO_COOP_BATTLE_POINTS_RULES", + 2: "INFO_FROSTIVUS_ABANDON_REMINDER", + 3: "INFO_RANKED_REMINDER", + 4: "INFO_COOP_LOW_PRIORITY_PASSIVE_REMINDER", + 5: "INFO_CUSTOM_GAME_PENALTY_REMINDER", + } + DOTA_CHAT_INFORMATIONAL_value = map[string]int32{ + "INFO_COOP_BATTLE_POINTS_RULES": 1, + "INFO_FROSTIVUS_ABANDON_REMINDER": 2, + "INFO_RANKED_REMINDER": 3, + "INFO_COOP_LOW_PRIORITY_PASSIVE_REMINDER": 4, + "INFO_CUSTOM_GAME_PENALTY_REMINDER": 5, + } +) + +func (x DOTA_CHAT_INFORMATIONAL) Enum() *DOTA_CHAT_INFORMATIONAL { + p := new(DOTA_CHAT_INFORMATIONAL) + *p = x + return p +} + +func (x DOTA_CHAT_INFORMATIONAL) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (DOTA_CHAT_INFORMATIONAL) Descriptor() protoreflect.EnumDescriptor { + return file_dota_usermessages_proto_enumTypes[3].Descriptor() +} + +func (DOTA_CHAT_INFORMATIONAL) Type() protoreflect.EnumType { + return &file_dota_usermessages_proto_enumTypes[3] +} + +func (x DOTA_CHAT_INFORMATIONAL) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Do not use. +func (x *DOTA_CHAT_INFORMATIONAL) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err + } + *x = DOTA_CHAT_INFORMATIONAL(num) + return nil +} + +// Deprecated: Use DOTA_CHAT_INFORMATIONAL.Descriptor instead. +func (DOTA_CHAT_INFORMATIONAL) EnumDescriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{3} +} + +type DOTA_ABILITY_PING_TYPE int32 + +const ( + DOTA_ABILITY_PING_TYPE_ABILITY_PING_READY DOTA_ABILITY_PING_TYPE = 1 + DOTA_ABILITY_PING_TYPE_ABILITY_PING_MANA DOTA_ABILITY_PING_TYPE = 2 + DOTA_ABILITY_PING_TYPE_ABILITY_PING_COOLDOWN DOTA_ABILITY_PING_TYPE = 3 + DOTA_ABILITY_PING_TYPE_ABILITY_PING_ENEMY DOTA_ABILITY_PING_TYPE = 4 + DOTA_ABILITY_PING_TYPE_ABILITY_PING_UNLEARNED DOTA_ABILITY_PING_TYPE = 5 + DOTA_ABILITY_PING_TYPE_ABILITY_PING_INBACKPACK DOTA_ABILITY_PING_TYPE = 6 + DOTA_ABILITY_PING_TYPE_ABILITY_PING_INSTASH DOTA_ABILITY_PING_TYPE = 7 + DOTA_ABILITY_PING_TYPE_ABILITY_PING_ONCOURIER DOTA_ABILITY_PING_TYPE = 8 + DOTA_ABILITY_PING_TYPE_ABILITY_PING_ALLY DOTA_ABILITY_PING_TYPE = 9 + DOTA_ABILITY_PING_TYPE_ABILITY_PING_LEARN_READY DOTA_ABILITY_PING_TYPE = 10 + DOTA_ABILITY_PING_TYPE_ABILITY_PING_WILL_LEARN DOTA_ABILITY_PING_TYPE = 11 + DOTA_ABILITY_PING_TYPE_ABILITY_PING_FUTURE_LEARN DOTA_ABILITY_PING_TYPE = 12 + DOTA_ABILITY_PING_TYPE_ABILITY_PING_NEUTRAL_OFFER DOTA_ABILITY_PING_TYPE = 13 + DOTA_ABILITY_PING_TYPE_ABILITY_PING_NEUTRAL_REQUEST DOTA_ABILITY_PING_TYPE = 14 + DOTA_ABILITY_PING_TYPE_ABILITY_PING_NEUTRAL_EQUIP DOTA_ABILITY_PING_TYPE = 15 +) + +// Enum value maps for DOTA_ABILITY_PING_TYPE. +var ( + DOTA_ABILITY_PING_TYPE_name = map[int32]string{ + 1: "ABILITY_PING_READY", + 2: "ABILITY_PING_MANA", + 3: "ABILITY_PING_COOLDOWN", + 4: "ABILITY_PING_ENEMY", + 5: "ABILITY_PING_UNLEARNED", + 6: "ABILITY_PING_INBACKPACK", + 7: "ABILITY_PING_INSTASH", + 8: "ABILITY_PING_ONCOURIER", + 9: "ABILITY_PING_ALLY", + 10: "ABILITY_PING_LEARN_READY", + 11: "ABILITY_PING_WILL_LEARN", + 12: "ABILITY_PING_FUTURE_LEARN", + 13: "ABILITY_PING_NEUTRAL_OFFER", + 14: "ABILITY_PING_NEUTRAL_REQUEST", + 15: "ABILITY_PING_NEUTRAL_EQUIP", + } + DOTA_ABILITY_PING_TYPE_value = map[string]int32{ + "ABILITY_PING_READY": 1, + "ABILITY_PING_MANA": 2, + "ABILITY_PING_COOLDOWN": 3, + "ABILITY_PING_ENEMY": 4, + "ABILITY_PING_UNLEARNED": 5, + "ABILITY_PING_INBACKPACK": 6, + "ABILITY_PING_INSTASH": 7, + "ABILITY_PING_ONCOURIER": 8, + "ABILITY_PING_ALLY": 9, + "ABILITY_PING_LEARN_READY": 10, + "ABILITY_PING_WILL_LEARN": 11, + "ABILITY_PING_FUTURE_LEARN": 12, + "ABILITY_PING_NEUTRAL_OFFER": 13, + "ABILITY_PING_NEUTRAL_REQUEST": 14, + "ABILITY_PING_NEUTRAL_EQUIP": 15, + } +) + +func (x DOTA_ABILITY_PING_TYPE) Enum() *DOTA_ABILITY_PING_TYPE { + p := new(DOTA_ABILITY_PING_TYPE) + *p = x + return p +} + +func (x DOTA_ABILITY_PING_TYPE) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (DOTA_ABILITY_PING_TYPE) Descriptor() protoreflect.EnumDescriptor { + return file_dota_usermessages_proto_enumTypes[4].Descriptor() +} + +func (DOTA_ABILITY_PING_TYPE) Type() protoreflect.EnumType { + return &file_dota_usermessages_proto_enumTypes[4] +} + +func (x DOTA_ABILITY_PING_TYPE) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Do not use. +func (x *DOTA_ABILITY_PING_TYPE) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err + } + *x = DOTA_ABILITY_PING_TYPE(num) + return nil +} + +// Deprecated: Use DOTA_ABILITY_PING_TYPE.Descriptor instead. +func (DOTA_ABILITY_PING_TYPE) EnumDescriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{4} +} + +type DOTA_REPLAY_STATE_EVENT int32 + +const ( + DOTA_REPLAY_STATE_EVENT_DOTA_REPLAY_STATE_EVENT_GAME_START DOTA_REPLAY_STATE_EVENT = 1 + DOTA_REPLAY_STATE_EVENT_DOTA_REPLAY_STATE_EVENT_STARTING_HORN DOTA_REPLAY_STATE_EVENT = 2 + DOTA_REPLAY_STATE_EVENT_DOTA_REPLAY_STATE_EVENT_FIRST_BLOOD DOTA_REPLAY_STATE_EVENT = 3 + DOTA_REPLAY_STATE_EVENT_DOTA_REPLAY_STATE_EVENT_SHOWCASE DOTA_REPLAY_STATE_EVENT = 4 + DOTA_REPLAY_STATE_EVENT_DOTA_REPLAY_STATE_EVENT_POST_GAME DOTA_REPLAY_STATE_EVENT = 5 + DOTA_REPLAY_STATE_EVENT_DOTA_REPLAY_STATE_EVENT_WAIT_FOR_MAP DOTA_REPLAY_STATE_EVENT = 6 +) + +// Enum value maps for DOTA_REPLAY_STATE_EVENT. +var ( + DOTA_REPLAY_STATE_EVENT_name = map[int32]string{ + 1: "DOTA_REPLAY_STATE_EVENT_GAME_START", + 2: "DOTA_REPLAY_STATE_EVENT_STARTING_HORN", + 3: "DOTA_REPLAY_STATE_EVENT_FIRST_BLOOD", + 4: "DOTA_REPLAY_STATE_EVENT_SHOWCASE", + 5: "DOTA_REPLAY_STATE_EVENT_POST_GAME", + 6: "DOTA_REPLAY_STATE_EVENT_WAIT_FOR_MAP", + } + DOTA_REPLAY_STATE_EVENT_value = map[string]int32{ + "DOTA_REPLAY_STATE_EVENT_GAME_START": 1, + "DOTA_REPLAY_STATE_EVENT_STARTING_HORN": 2, + "DOTA_REPLAY_STATE_EVENT_FIRST_BLOOD": 3, + "DOTA_REPLAY_STATE_EVENT_SHOWCASE": 4, + "DOTA_REPLAY_STATE_EVENT_POST_GAME": 5, + "DOTA_REPLAY_STATE_EVENT_WAIT_FOR_MAP": 6, + } +) + +func (x DOTA_REPLAY_STATE_EVENT) Enum() *DOTA_REPLAY_STATE_EVENT { + p := new(DOTA_REPLAY_STATE_EVENT) + *p = x + return p +} + +func (x DOTA_REPLAY_STATE_EVENT) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (DOTA_REPLAY_STATE_EVENT) Descriptor() protoreflect.EnumDescriptor { + return file_dota_usermessages_proto_enumTypes[5].Descriptor() +} + +func (DOTA_REPLAY_STATE_EVENT) Type() protoreflect.EnumType { + return &file_dota_usermessages_proto_enumTypes[5] +} + +func (x DOTA_REPLAY_STATE_EVENT) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Do not use. +func (x *DOTA_REPLAY_STATE_EVENT) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err + } + *x = DOTA_REPLAY_STATE_EVENT(num) + return nil +} + +// Deprecated: Use DOTA_REPLAY_STATE_EVENT.Descriptor instead. +func (DOTA_REPLAY_STATE_EVENT) EnumDescriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{5} +} + +type EDotaEntityMessages int32 + +const ( + EDotaEntityMessages_DOTA_UNIT_SPEECH EDotaEntityMessages = 0 + EDotaEntityMessages_DOTA_UNIT_SPEECH_MUTE EDotaEntityMessages = 1 + EDotaEntityMessages_DOTA_UNIT_ADD_GESTURE EDotaEntityMessages = 2 + EDotaEntityMessages_DOTA_UNIT_REMOVE_GESTURE EDotaEntityMessages = 3 + EDotaEntityMessages_DOTA_UNIT_REMOVE_ALL_GESTURES EDotaEntityMessages = 4 + EDotaEntityMessages_DOTA_UNIT_FADE_GESTURE EDotaEntityMessages = 6 + EDotaEntityMessages_DOTA_UNIT_SPEECH_CLIENTSIDE_RULES EDotaEntityMessages = 7 +) + +// Enum value maps for EDotaEntityMessages. +var ( + EDotaEntityMessages_name = map[int32]string{ + 0: "DOTA_UNIT_SPEECH", + 1: "DOTA_UNIT_SPEECH_MUTE", + 2: "DOTA_UNIT_ADD_GESTURE", + 3: "DOTA_UNIT_REMOVE_GESTURE", + 4: "DOTA_UNIT_REMOVE_ALL_GESTURES", + 6: "DOTA_UNIT_FADE_GESTURE", + 7: "DOTA_UNIT_SPEECH_CLIENTSIDE_RULES", + } + EDotaEntityMessages_value = map[string]int32{ + "DOTA_UNIT_SPEECH": 0, + "DOTA_UNIT_SPEECH_MUTE": 1, + "DOTA_UNIT_ADD_GESTURE": 2, + "DOTA_UNIT_REMOVE_GESTURE": 3, + "DOTA_UNIT_REMOVE_ALL_GESTURES": 4, + "DOTA_UNIT_FADE_GESTURE": 6, + "DOTA_UNIT_SPEECH_CLIENTSIDE_RULES": 7, + } +) + +func (x EDotaEntityMessages) Enum() *EDotaEntityMessages { + p := new(EDotaEntityMessages) + *p = x + return p +} + +func (x EDotaEntityMessages) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (EDotaEntityMessages) Descriptor() protoreflect.EnumDescriptor { + return file_dota_usermessages_proto_enumTypes[6].Descriptor() +} + +func (EDotaEntityMessages) Type() protoreflect.EnumType { + return &file_dota_usermessages_proto_enumTypes[6] +} + +func (x EDotaEntityMessages) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Do not use. +func (x *EDotaEntityMessages) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err + } + *x = EDotaEntityMessages(num) + return nil +} + +// Deprecated: Use EDotaEntityMessages.Descriptor instead. +func (EDotaEntityMessages) EnumDescriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{6} +} + +type DOTA_OVERHEAD_ALERT int32 + +const ( + DOTA_OVERHEAD_ALERT_OVERHEAD_ALERT_GOLD DOTA_OVERHEAD_ALERT = 0 + DOTA_OVERHEAD_ALERT_OVERHEAD_ALERT_DENY DOTA_OVERHEAD_ALERT = 1 + DOTA_OVERHEAD_ALERT_OVERHEAD_ALERT_CRITICAL DOTA_OVERHEAD_ALERT = 2 + DOTA_OVERHEAD_ALERT_OVERHEAD_ALERT_XP DOTA_OVERHEAD_ALERT = 3 + DOTA_OVERHEAD_ALERT_OVERHEAD_ALERT_BONUS_SPELL_DAMAGE DOTA_OVERHEAD_ALERT = 4 + DOTA_OVERHEAD_ALERT_OVERHEAD_ALERT_MISS DOTA_OVERHEAD_ALERT = 5 + DOTA_OVERHEAD_ALERT_OVERHEAD_ALERT_DAMAGE DOTA_OVERHEAD_ALERT = 6 + DOTA_OVERHEAD_ALERT_OVERHEAD_ALERT_EVADE DOTA_OVERHEAD_ALERT = 7 + DOTA_OVERHEAD_ALERT_OVERHEAD_ALERT_BLOCK DOTA_OVERHEAD_ALERT = 8 + DOTA_OVERHEAD_ALERT_OVERHEAD_ALERT_BONUS_POISON_DAMAGE DOTA_OVERHEAD_ALERT = 9 + DOTA_OVERHEAD_ALERT_OVERHEAD_ALERT_HEAL DOTA_OVERHEAD_ALERT = 10 + DOTA_OVERHEAD_ALERT_OVERHEAD_ALERT_MANA_ADD DOTA_OVERHEAD_ALERT = 11 + DOTA_OVERHEAD_ALERT_OVERHEAD_ALERT_MANA_LOSS DOTA_OVERHEAD_ALERT = 12 + DOTA_OVERHEAD_ALERT_OVERHEAD_ALERT_LAST_HIT_EARLY DOTA_OVERHEAD_ALERT = 13 + DOTA_OVERHEAD_ALERT_OVERHEAD_ALERT_LAST_HIT_CLOSE DOTA_OVERHEAD_ALERT = 14 + DOTA_OVERHEAD_ALERT_OVERHEAD_ALERT_LAST_HIT_MISS DOTA_OVERHEAD_ALERT = 15 + DOTA_OVERHEAD_ALERT_OVERHEAD_ALERT_MAGICAL_BLOCK DOTA_OVERHEAD_ALERT = 16 + DOTA_OVERHEAD_ALERT_OVERHEAD_ALERT_INCOMING_DAMAGE DOTA_OVERHEAD_ALERT = 17 + DOTA_OVERHEAD_ALERT_OVERHEAD_ALERT_OUTGOING_DAMAGE DOTA_OVERHEAD_ALERT = 18 + DOTA_OVERHEAD_ALERT_OVERHEAD_ALERT_DISABLE_RESIST DOTA_OVERHEAD_ALERT = 19 + DOTA_OVERHEAD_ALERT_OVERHEAD_ALERT_DEATH DOTA_OVERHEAD_ALERT = 20 + DOTA_OVERHEAD_ALERT_OVERHEAD_ALERT_BLOCKED DOTA_OVERHEAD_ALERT = 21 + DOTA_OVERHEAD_ALERT_OVERHEAD_ALERT_ITEM_RECEIVED DOTA_OVERHEAD_ALERT = 22 + DOTA_OVERHEAD_ALERT_OVERHEAD_ALERT_SHARD DOTA_OVERHEAD_ALERT = 23 + DOTA_OVERHEAD_ALERT_OVERHEAD_ALERT_DEADLY_BLOW DOTA_OVERHEAD_ALERT = 24 +) + +// Enum value maps for DOTA_OVERHEAD_ALERT. +var ( + DOTA_OVERHEAD_ALERT_name = map[int32]string{ + 0: "OVERHEAD_ALERT_GOLD", + 1: "OVERHEAD_ALERT_DENY", + 2: "OVERHEAD_ALERT_CRITICAL", + 3: "OVERHEAD_ALERT_XP", + 4: "OVERHEAD_ALERT_BONUS_SPELL_DAMAGE", + 5: "OVERHEAD_ALERT_MISS", + 6: "OVERHEAD_ALERT_DAMAGE", + 7: "OVERHEAD_ALERT_EVADE", + 8: "OVERHEAD_ALERT_BLOCK", + 9: "OVERHEAD_ALERT_BONUS_POISON_DAMAGE", + 10: "OVERHEAD_ALERT_HEAL", + 11: "OVERHEAD_ALERT_MANA_ADD", + 12: "OVERHEAD_ALERT_MANA_LOSS", + 13: "OVERHEAD_ALERT_LAST_HIT_EARLY", + 14: "OVERHEAD_ALERT_LAST_HIT_CLOSE", + 15: "OVERHEAD_ALERT_LAST_HIT_MISS", + 16: "OVERHEAD_ALERT_MAGICAL_BLOCK", + 17: "OVERHEAD_ALERT_INCOMING_DAMAGE", + 18: "OVERHEAD_ALERT_OUTGOING_DAMAGE", + 19: "OVERHEAD_ALERT_DISABLE_RESIST", + 20: "OVERHEAD_ALERT_DEATH", + 21: "OVERHEAD_ALERT_BLOCKED", + 22: "OVERHEAD_ALERT_ITEM_RECEIVED", + 23: "OVERHEAD_ALERT_SHARD", + 24: "OVERHEAD_ALERT_DEADLY_BLOW", + } + DOTA_OVERHEAD_ALERT_value = map[string]int32{ + "OVERHEAD_ALERT_GOLD": 0, + "OVERHEAD_ALERT_DENY": 1, + "OVERHEAD_ALERT_CRITICAL": 2, + "OVERHEAD_ALERT_XP": 3, + "OVERHEAD_ALERT_BONUS_SPELL_DAMAGE": 4, + "OVERHEAD_ALERT_MISS": 5, + "OVERHEAD_ALERT_DAMAGE": 6, + "OVERHEAD_ALERT_EVADE": 7, + "OVERHEAD_ALERT_BLOCK": 8, + "OVERHEAD_ALERT_BONUS_POISON_DAMAGE": 9, + "OVERHEAD_ALERT_HEAL": 10, + "OVERHEAD_ALERT_MANA_ADD": 11, + "OVERHEAD_ALERT_MANA_LOSS": 12, + "OVERHEAD_ALERT_LAST_HIT_EARLY": 13, + "OVERHEAD_ALERT_LAST_HIT_CLOSE": 14, + "OVERHEAD_ALERT_LAST_HIT_MISS": 15, + "OVERHEAD_ALERT_MAGICAL_BLOCK": 16, + "OVERHEAD_ALERT_INCOMING_DAMAGE": 17, + "OVERHEAD_ALERT_OUTGOING_DAMAGE": 18, + "OVERHEAD_ALERT_DISABLE_RESIST": 19, + "OVERHEAD_ALERT_DEATH": 20, + "OVERHEAD_ALERT_BLOCKED": 21, + "OVERHEAD_ALERT_ITEM_RECEIVED": 22, + "OVERHEAD_ALERT_SHARD": 23, + "OVERHEAD_ALERT_DEADLY_BLOW": 24, + } +) + +func (x DOTA_OVERHEAD_ALERT) Enum() *DOTA_OVERHEAD_ALERT { + p := new(DOTA_OVERHEAD_ALERT) + *p = x + return p +} + +func (x DOTA_OVERHEAD_ALERT) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (DOTA_OVERHEAD_ALERT) Descriptor() protoreflect.EnumDescriptor { + return file_dota_usermessages_proto_enumTypes[7].Descriptor() +} + +func (DOTA_OVERHEAD_ALERT) Type() protoreflect.EnumType { + return &file_dota_usermessages_proto_enumTypes[7] +} + +func (x DOTA_OVERHEAD_ALERT) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Do not use. +func (x *DOTA_OVERHEAD_ALERT) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err + } + *x = DOTA_OVERHEAD_ALERT(num) + return nil +} + +// Deprecated: Use DOTA_OVERHEAD_ALERT.Descriptor instead. +func (DOTA_OVERHEAD_ALERT) EnumDescriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{7} +} + +type DOTA_ROSHAN_PHASE int32 + +const ( + DOTA_ROSHAN_PHASE_k_SRSP_ROSHAN_ALIVE DOTA_ROSHAN_PHASE = 0 + DOTA_ROSHAN_PHASE_k_SRSP_ROSHAN_BASE_TIMER DOTA_ROSHAN_PHASE = 1 + DOTA_ROSHAN_PHASE_k_SRSP_ROSHAN_VISIBLE_TIMER DOTA_ROSHAN_PHASE = 2 +) + +// Enum value maps for DOTA_ROSHAN_PHASE. +var ( + DOTA_ROSHAN_PHASE_name = map[int32]string{ + 0: "k_SRSP_ROSHAN_ALIVE", + 1: "k_SRSP_ROSHAN_BASE_TIMER", + 2: "k_SRSP_ROSHAN_VISIBLE_TIMER", + } + DOTA_ROSHAN_PHASE_value = map[string]int32{ + "k_SRSP_ROSHAN_ALIVE": 0, + "k_SRSP_ROSHAN_BASE_TIMER": 1, + "k_SRSP_ROSHAN_VISIBLE_TIMER": 2, + } +) + +func (x DOTA_ROSHAN_PHASE) Enum() *DOTA_ROSHAN_PHASE { + p := new(DOTA_ROSHAN_PHASE) + *p = x + return p +} + +func (x DOTA_ROSHAN_PHASE) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (DOTA_ROSHAN_PHASE) Descriptor() protoreflect.EnumDescriptor { + return file_dota_usermessages_proto_enumTypes[8].Descriptor() +} + +func (DOTA_ROSHAN_PHASE) Type() protoreflect.EnumType { + return &file_dota_usermessages_proto_enumTypes[8] +} + +func (x DOTA_ROSHAN_PHASE) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Do not use. +func (x *DOTA_ROSHAN_PHASE) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err + } + *x = DOTA_ROSHAN_PHASE(num) + return nil +} + +// Deprecated: Use DOTA_ROSHAN_PHASE.Descriptor instead. +func (DOTA_ROSHAN_PHASE) EnumDescriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{8} +} + +type DOTA_POSITION_CATEGORY int32 + +const ( + DOTA_POSITION_CATEGORY_DOTA_POSITION_NONE DOTA_POSITION_CATEGORY = 0 + DOTA_POSITION_CATEGORY_DOTA_POSITION_BOTTOM_LANE DOTA_POSITION_CATEGORY = 1 + DOTA_POSITION_CATEGORY_DOTA_POSITION_MID_LANE DOTA_POSITION_CATEGORY = 2 + DOTA_POSITION_CATEGORY_DOTA_POSITION_TOP_LANE DOTA_POSITION_CATEGORY = 3 + DOTA_POSITION_CATEGORY_DOTA_POSITION_RADIANT_JUNGLE DOTA_POSITION_CATEGORY = 4 + DOTA_POSITION_CATEGORY_DOTA_POSITION_DIRE_JUNGLE DOTA_POSITION_CATEGORY = 5 + DOTA_POSITION_CATEGORY_DOTA_POSITION_RADIANT_ANCIENTS DOTA_POSITION_CATEGORY = 6 + DOTA_POSITION_CATEGORY_DOTA_POSITION_DIRE_ANCIENTS DOTA_POSITION_CATEGORY = 7 + DOTA_POSITION_CATEGORY_DOTA_POSITION_RADIANT_SECRET_SHOP DOTA_POSITION_CATEGORY = 8 + DOTA_POSITION_CATEGORY_DOTA_POSITION_DIRE_SECRET_SHOP DOTA_POSITION_CATEGORY = 9 + DOTA_POSITION_CATEGORY_DOTA_POSITION_RIVER DOTA_POSITION_CATEGORY = 10 + DOTA_POSITION_CATEGORY_DOTA_POSITION_ROSHAN_PIT DOTA_POSITION_CATEGORY = 11 + DOTA_POSITION_CATEGORY_DOTA_POSITION_RADIANT_BASE DOTA_POSITION_CATEGORY = 12 + DOTA_POSITION_CATEGORY_DOTA_POSITION_DIRE_BASE DOTA_POSITION_CATEGORY = 13 + DOTA_POSITION_CATEGORY_DOTA_POSITION_FOUNTAIN DOTA_POSITION_CATEGORY = 14 + DOTA_POSITION_CATEGORY_DOTA_POSITION_OTHER DOTA_POSITION_CATEGORY = 15 +) + +// Enum value maps for DOTA_POSITION_CATEGORY. +var ( + DOTA_POSITION_CATEGORY_name = map[int32]string{ + 0: "DOTA_POSITION_NONE", + 1: "DOTA_POSITION_BOTTOM_LANE", + 2: "DOTA_POSITION_MID_LANE", + 3: "DOTA_POSITION_TOP_LANE", + 4: "DOTA_POSITION_RADIANT_JUNGLE", + 5: "DOTA_POSITION_DIRE_JUNGLE", + 6: "DOTA_POSITION_RADIANT_ANCIENTS", + 7: "DOTA_POSITION_DIRE_ANCIENTS", + 8: "DOTA_POSITION_RADIANT_SECRET_SHOP", + 9: "DOTA_POSITION_DIRE_SECRET_SHOP", + 10: "DOTA_POSITION_RIVER", + 11: "DOTA_POSITION_ROSHAN_PIT", + 12: "DOTA_POSITION_RADIANT_BASE", + 13: "DOTA_POSITION_DIRE_BASE", + 14: "DOTA_POSITION_FOUNTAIN", + 15: "DOTA_POSITION_OTHER", + } + DOTA_POSITION_CATEGORY_value = map[string]int32{ + "DOTA_POSITION_NONE": 0, + "DOTA_POSITION_BOTTOM_LANE": 1, + "DOTA_POSITION_MID_LANE": 2, + "DOTA_POSITION_TOP_LANE": 3, + "DOTA_POSITION_RADIANT_JUNGLE": 4, + "DOTA_POSITION_DIRE_JUNGLE": 5, + "DOTA_POSITION_RADIANT_ANCIENTS": 6, + "DOTA_POSITION_DIRE_ANCIENTS": 7, + "DOTA_POSITION_RADIANT_SECRET_SHOP": 8, + "DOTA_POSITION_DIRE_SECRET_SHOP": 9, + "DOTA_POSITION_RIVER": 10, + "DOTA_POSITION_ROSHAN_PIT": 11, + "DOTA_POSITION_RADIANT_BASE": 12, + "DOTA_POSITION_DIRE_BASE": 13, + "DOTA_POSITION_FOUNTAIN": 14, + "DOTA_POSITION_OTHER": 15, + } +) + +func (x DOTA_POSITION_CATEGORY) Enum() *DOTA_POSITION_CATEGORY { + p := new(DOTA_POSITION_CATEGORY) + *p = x + return p +} + +func (x DOTA_POSITION_CATEGORY) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (DOTA_POSITION_CATEGORY) Descriptor() protoreflect.EnumDescriptor { + return file_dota_usermessages_proto_enumTypes[9].Descriptor() +} + +func (DOTA_POSITION_CATEGORY) Type() protoreflect.EnumType { + return &file_dota_usermessages_proto_enumTypes[9] +} + +func (x DOTA_POSITION_CATEGORY) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Do not use. +func (x *DOTA_POSITION_CATEGORY) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err + } + *x = DOTA_POSITION_CATEGORY(num) + return nil +} + +// Deprecated: Use DOTA_POSITION_CATEGORY.Descriptor instead. +func (DOTA_POSITION_CATEGORY) EnumDescriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{9} +} + +type DOTA_ABILITY_TARGET_TYPE int32 + +const ( + DOTA_ABILITY_TARGET_TYPE_DOTA_ABILITY_TARGET_NONE DOTA_ABILITY_TARGET_TYPE = 0 + DOTA_ABILITY_TARGET_TYPE_DOTA_ABILITY_TARGET_SELF DOTA_ABILITY_TARGET_TYPE = 1 + DOTA_ABILITY_TARGET_TYPE_DOTA_ABILITY_TARGET_ALLY_HERO DOTA_ABILITY_TARGET_TYPE = 2 + DOTA_ABILITY_TARGET_TYPE_DOTA_ABILITY_TARGET_ALLY_CREEP DOTA_ABILITY_TARGET_TYPE = 3 + DOTA_ABILITY_TARGET_TYPE_DOTA_ABILITY_TARGET_ENEMY_HERO DOTA_ABILITY_TARGET_TYPE = 4 + DOTA_ABILITY_TARGET_TYPE_DOTA_ABILITY_TARGET_ENEMY_CREEP DOTA_ABILITY_TARGET_TYPE = 5 +) + +// Enum value maps for DOTA_ABILITY_TARGET_TYPE. +var ( + DOTA_ABILITY_TARGET_TYPE_name = map[int32]string{ + 0: "DOTA_ABILITY_TARGET_NONE", + 1: "DOTA_ABILITY_TARGET_SELF", + 2: "DOTA_ABILITY_TARGET_ALLY_HERO", + 3: "DOTA_ABILITY_TARGET_ALLY_CREEP", + 4: "DOTA_ABILITY_TARGET_ENEMY_HERO", + 5: "DOTA_ABILITY_TARGET_ENEMY_CREEP", + } + DOTA_ABILITY_TARGET_TYPE_value = map[string]int32{ + "DOTA_ABILITY_TARGET_NONE": 0, + "DOTA_ABILITY_TARGET_SELF": 1, + "DOTA_ABILITY_TARGET_ALLY_HERO": 2, + "DOTA_ABILITY_TARGET_ALLY_CREEP": 3, + "DOTA_ABILITY_TARGET_ENEMY_HERO": 4, + "DOTA_ABILITY_TARGET_ENEMY_CREEP": 5, + } +) + +func (x DOTA_ABILITY_TARGET_TYPE) Enum() *DOTA_ABILITY_TARGET_TYPE { + p := new(DOTA_ABILITY_TARGET_TYPE) + *p = x + return p +} + +func (x DOTA_ABILITY_TARGET_TYPE) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (DOTA_ABILITY_TARGET_TYPE) Descriptor() protoreflect.EnumDescriptor { + return file_dota_usermessages_proto_enumTypes[10].Descriptor() +} + +func (DOTA_ABILITY_TARGET_TYPE) Type() protoreflect.EnumType { + return &file_dota_usermessages_proto_enumTypes[10] +} + +func (x DOTA_ABILITY_TARGET_TYPE) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Do not use. +func (x *DOTA_ABILITY_TARGET_TYPE) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err + } + *x = DOTA_ABILITY_TARGET_TYPE(num) + return nil +} + +// Deprecated: Use DOTA_ABILITY_TARGET_TYPE.Descriptor instead. +func (DOTA_ABILITY_TARGET_TYPE) EnumDescriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{10} +} + +type EHeroStatType int32 + +const ( + EHeroStatType_k_EHeroStatType_None EHeroStatType = 0 + EHeroStatType_k_EHeroStatType_AxeTotalDamage EHeroStatType = 2000 + EHeroStatType_k_EHeroStatType_BattleHungerDamage EHeroStatType = 2001 + EHeroStatType_k_EHeroStatType_CounterHelixDamage EHeroStatType = 2002 + EHeroStatType_k_EHeroStatType_CullingBladeDamage EHeroStatType = 2003 + EHeroStatType_k_EHeroStatType_BerserkersCallCastCount EHeroStatType = 2004 + EHeroStatType_k_EHeroStatType_BerserkersCallHeroesHitAverage EHeroStatType = 2005 + EHeroStatType_k_EHeroStatType_BerserkersCallOtherUnitsHit EHeroStatType = 2006 + EHeroStatType_k_EHeroStatType_BerserkersCallHeroAttacksTaken EHeroStatType = 2007 + EHeroStatType_k_EHeroStatType_BerserkersCallOtherAttacksTaken EHeroStatType = 2008 + EHeroStatType_k_EHeroStatType_BattleHungerCastCount EHeroStatType = 2009 + EHeroStatType_k_EHeroStatType_BattleHungerPotentialDuration EHeroStatType = 2010 + EHeroStatType_k_EHeroStatType_BattleHungerAverageDuration EHeroStatType = 2011 + EHeroStatType_k_EHeroStatType_CounterHelixProcCount EHeroStatType = 2012 + EHeroStatType_k_EHeroStatType_CounterHelixHeroProcCount EHeroStatType = 2013 + EHeroStatType_k_EHeroStatType_CounterHelixHeroesHitAverage EHeroStatType = 2014 + EHeroStatType_k_EHeroStatType_CounterHelixOtherUnitsHitCount EHeroStatType = 2015 + EHeroStatType_k_EHeroStatType_CullingBladeCastCount EHeroStatType = 2016 + EHeroStatType_k_EHeroStatType_CullingBladeKillCount EHeroStatType = 2017 + EHeroStatType_k_EHeroStatType_CullingBladeAverageHealthCulled EHeroStatType = 2018 + EHeroStatType_k_EHeroStatType_CullingBladeAverageDamageAvailable EHeroStatType = 2019 + EHeroStatType_k_EHeroStatType_CullingBladeHeroBuffAverage EHeroStatType = 2020 +) + +// Enum value maps for EHeroStatType. +var ( + EHeroStatType_name = map[int32]string{ + 0: "k_EHeroStatType_None", + 2000: "k_EHeroStatType_AxeTotalDamage", + 2001: "k_EHeroStatType_BattleHungerDamage", + 2002: "k_EHeroStatType_CounterHelixDamage", + 2003: "k_EHeroStatType_CullingBladeDamage", + 2004: "k_EHeroStatType_BerserkersCallCastCount", + 2005: "k_EHeroStatType_BerserkersCallHeroesHitAverage", + 2006: "k_EHeroStatType_BerserkersCallOtherUnitsHit", + 2007: "k_EHeroStatType_BerserkersCallHeroAttacksTaken", + 2008: "k_EHeroStatType_BerserkersCallOtherAttacksTaken", + 2009: "k_EHeroStatType_BattleHungerCastCount", + 2010: "k_EHeroStatType_BattleHungerPotentialDuration", + 2011: "k_EHeroStatType_BattleHungerAverageDuration", + 2012: "k_EHeroStatType_CounterHelixProcCount", + 2013: "k_EHeroStatType_CounterHelixHeroProcCount", + 2014: "k_EHeroStatType_CounterHelixHeroesHitAverage", + 2015: "k_EHeroStatType_CounterHelixOtherUnitsHitCount", + 2016: "k_EHeroStatType_CullingBladeCastCount", + 2017: "k_EHeroStatType_CullingBladeKillCount", + 2018: "k_EHeroStatType_CullingBladeAverageHealthCulled", + 2019: "k_EHeroStatType_CullingBladeAverageDamageAvailable", + 2020: "k_EHeroStatType_CullingBladeHeroBuffAverage", + } + EHeroStatType_value = map[string]int32{ + "k_EHeroStatType_None": 0, + "k_EHeroStatType_AxeTotalDamage": 2000, + "k_EHeroStatType_BattleHungerDamage": 2001, + "k_EHeroStatType_CounterHelixDamage": 2002, + "k_EHeroStatType_CullingBladeDamage": 2003, + "k_EHeroStatType_BerserkersCallCastCount": 2004, + "k_EHeroStatType_BerserkersCallHeroesHitAverage": 2005, + "k_EHeroStatType_BerserkersCallOtherUnitsHit": 2006, + "k_EHeroStatType_BerserkersCallHeroAttacksTaken": 2007, + "k_EHeroStatType_BerserkersCallOtherAttacksTaken": 2008, + "k_EHeroStatType_BattleHungerCastCount": 2009, + "k_EHeroStatType_BattleHungerPotentialDuration": 2010, + "k_EHeroStatType_BattleHungerAverageDuration": 2011, + "k_EHeroStatType_CounterHelixProcCount": 2012, + "k_EHeroStatType_CounterHelixHeroProcCount": 2013, + "k_EHeroStatType_CounterHelixHeroesHitAverage": 2014, + "k_EHeroStatType_CounterHelixOtherUnitsHitCount": 2015, + "k_EHeroStatType_CullingBladeCastCount": 2016, + "k_EHeroStatType_CullingBladeKillCount": 2017, + "k_EHeroStatType_CullingBladeAverageHealthCulled": 2018, + "k_EHeroStatType_CullingBladeAverageDamageAvailable": 2019, + "k_EHeroStatType_CullingBladeHeroBuffAverage": 2020, + } +) + +func (x EHeroStatType) Enum() *EHeroStatType { + p := new(EHeroStatType) + *p = x + return p +} + +func (x EHeroStatType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (EHeroStatType) Descriptor() protoreflect.EnumDescriptor { + return file_dota_usermessages_proto_enumTypes[11].Descriptor() +} + +func (EHeroStatType) Type() protoreflect.EnumType { + return &file_dota_usermessages_proto_enumTypes[11] +} + +func (x EHeroStatType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Do not use. +func (x *EHeroStatType) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err + } + *x = EHeroStatType(num) + return nil +} + +// Deprecated: Use EHeroStatType.Descriptor instead. +func (EHeroStatType) EnumDescriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{11} +} + +type EPlayerVoiceListenState int32 + +const ( + EPlayerVoiceListenState_kPVLS_None EPlayerVoiceListenState = 0 + EPlayerVoiceListenState_kPVLS_DeniedChatBanned EPlayerVoiceListenState = 1 + EPlayerVoiceListenState_kPVLS_DeniedPartner EPlayerVoiceListenState = 2 + EPlayerVoiceListenState_kPVLS_DeniedHLTVTalkerNotSpectator EPlayerVoiceListenState = 3 + EPlayerVoiceListenState_kPVLS_DeniedHLTVNoTalkerPlayerID EPlayerVoiceListenState = 4 + EPlayerVoiceListenState_kPVLS_DeniedHLTVTalkerNotBroadcaster EPlayerVoiceListenState = 5 + EPlayerVoiceListenState_kPVLS_DeniedTeamSpectator EPlayerVoiceListenState = 6 + EPlayerVoiceListenState_kPVLS_DeniedStudent EPlayerVoiceListenState = 8 + EPlayerVoiceListenState_kPVLS_DeniedPrivateCoach EPlayerVoiceListenState = 9 + EPlayerVoiceListenState_kPVLS_Denied EPlayerVoiceListenState = 64 + EPlayerVoiceListenState_kPVLS_AllowHLTVTalkerIsBroadcaster EPlayerVoiceListenState = 65 + EPlayerVoiceListenState_kPVLS_AllowCoBroadcaster EPlayerVoiceListenState = 66 + EPlayerVoiceListenState_kPVLS_AllowAllChat EPlayerVoiceListenState = 67 + EPlayerVoiceListenState_kPVLS_AllowStudentToCoach EPlayerVoiceListenState = 68 + EPlayerVoiceListenState_kPVLS_AllowFellowStudent EPlayerVoiceListenState = 69 + EPlayerVoiceListenState_kPVLS_AllowTalkerIsCoach EPlayerVoiceListenState = 70 + EPlayerVoiceListenState_kPVLS_AllowCoachHearTeam EPlayerVoiceListenState = 71 + EPlayerVoiceListenState_kPVLS_AllowSameTeam EPlayerVoiceListenState = 72 + EPlayerVoiceListenState_kPVLS_AllowShowcase EPlayerVoiceListenState = 73 + EPlayerVoiceListenState_kPVLS_AllowPrivateCoach EPlayerVoiceListenState = 74 +) + +// Enum value maps for EPlayerVoiceListenState. +var ( + EPlayerVoiceListenState_name = map[int32]string{ + 0: "kPVLS_None", + 1: "kPVLS_DeniedChatBanned", + 2: "kPVLS_DeniedPartner", + 3: "kPVLS_DeniedHLTVTalkerNotSpectator", + 4: "kPVLS_DeniedHLTVNoTalkerPlayerID", + 5: "kPVLS_DeniedHLTVTalkerNotBroadcaster", + 6: "kPVLS_DeniedTeamSpectator", + 8: "kPVLS_DeniedStudent", + 9: "kPVLS_DeniedPrivateCoach", + 64: "kPVLS_Denied", + 65: "kPVLS_AllowHLTVTalkerIsBroadcaster", + 66: "kPVLS_AllowCoBroadcaster", + 67: "kPVLS_AllowAllChat", + 68: "kPVLS_AllowStudentToCoach", + 69: "kPVLS_AllowFellowStudent", + 70: "kPVLS_AllowTalkerIsCoach", + 71: "kPVLS_AllowCoachHearTeam", + 72: "kPVLS_AllowSameTeam", + 73: "kPVLS_AllowShowcase", + 74: "kPVLS_AllowPrivateCoach", + } + EPlayerVoiceListenState_value = map[string]int32{ + "kPVLS_None": 0, + "kPVLS_DeniedChatBanned": 1, + "kPVLS_DeniedPartner": 2, + "kPVLS_DeniedHLTVTalkerNotSpectator": 3, + "kPVLS_DeniedHLTVNoTalkerPlayerID": 4, + "kPVLS_DeniedHLTVTalkerNotBroadcaster": 5, + "kPVLS_DeniedTeamSpectator": 6, + "kPVLS_DeniedStudent": 8, + "kPVLS_DeniedPrivateCoach": 9, + "kPVLS_Denied": 64, + "kPVLS_AllowHLTVTalkerIsBroadcaster": 65, + "kPVLS_AllowCoBroadcaster": 66, + "kPVLS_AllowAllChat": 67, + "kPVLS_AllowStudentToCoach": 68, + "kPVLS_AllowFellowStudent": 69, + "kPVLS_AllowTalkerIsCoach": 70, + "kPVLS_AllowCoachHearTeam": 71, + "kPVLS_AllowSameTeam": 72, + "kPVLS_AllowShowcase": 73, + "kPVLS_AllowPrivateCoach": 74, + } +) + +func (x EPlayerVoiceListenState) Enum() *EPlayerVoiceListenState { + p := new(EPlayerVoiceListenState) + *p = x + return p +} + +func (x EPlayerVoiceListenState) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (EPlayerVoiceListenState) Descriptor() protoreflect.EnumDescriptor { + return file_dota_usermessages_proto_enumTypes[12].Descriptor() +} + +func (EPlayerVoiceListenState) Type() protoreflect.EnumType { + return &file_dota_usermessages_proto_enumTypes[12] +} + +func (x EPlayerVoiceListenState) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Do not use. +func (x *EPlayerVoiceListenState) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err + } + *x = EPlayerVoiceListenState(num) + return nil +} + +// Deprecated: Use EPlayerVoiceListenState.Descriptor instead. +func (EPlayerVoiceListenState) EnumDescriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{12} +} + +type EProjectionEvent int32 + +const ( + EProjectionEvent_ePE_FirstBlood EProjectionEvent = 0 + EProjectionEvent_ePE_Killstreak_godlike EProjectionEvent = 1 +) + +// Enum value maps for EProjectionEvent. +var ( + EProjectionEvent_name = map[int32]string{ + 0: "ePE_FirstBlood", + 1: "ePE_Killstreak_godlike", + } + EProjectionEvent_value = map[string]int32{ + "ePE_FirstBlood": 0, + "ePE_Killstreak_godlike": 1, + } +) + +func (x EProjectionEvent) Enum() *EProjectionEvent { + p := new(EProjectionEvent) + *p = x + return p +} + +func (x EProjectionEvent) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (EProjectionEvent) Descriptor() protoreflect.EnumDescriptor { + return file_dota_usermessages_proto_enumTypes[13].Descriptor() +} + +func (EProjectionEvent) Type() protoreflect.EnumType { + return &file_dota_usermessages_proto_enumTypes[13] +} + +func (x EProjectionEvent) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Do not use. +func (x *EProjectionEvent) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err + } + *x = EProjectionEvent(num) + return nil +} + +// Deprecated: Use EProjectionEvent.Descriptor instead. +func (EProjectionEvent) EnumDescriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{13} +} + +type CDOTAUserMsg_PredictionResult_Prediction_EResult int32 + +const ( + CDOTAUserMsg_PredictionResult_Prediction_k_eResult_ItemGranted CDOTAUserMsg_PredictionResult_Prediction_EResult = 1 + CDOTAUserMsg_PredictionResult_Prediction_k_eResult_Destroyed CDOTAUserMsg_PredictionResult_Prediction_EResult = 2 +) + +// Enum value maps for CDOTAUserMsg_PredictionResult_Prediction_EResult. +var ( + CDOTAUserMsg_PredictionResult_Prediction_EResult_name = map[int32]string{ + 1: "k_eResult_ItemGranted", + 2: "k_eResult_Destroyed", + } + CDOTAUserMsg_PredictionResult_Prediction_EResult_value = map[string]int32{ + "k_eResult_ItemGranted": 1, + "k_eResult_Destroyed": 2, + } +) + +func (x CDOTAUserMsg_PredictionResult_Prediction_EResult) Enum() *CDOTAUserMsg_PredictionResult_Prediction_EResult { + p := new(CDOTAUserMsg_PredictionResult_Prediction_EResult) + *p = x + return p +} + +func (x CDOTAUserMsg_PredictionResult_Prediction_EResult) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (CDOTAUserMsg_PredictionResult_Prediction_EResult) Descriptor() protoreflect.EnumDescriptor { + return file_dota_usermessages_proto_enumTypes[14].Descriptor() +} + +func (CDOTAUserMsg_PredictionResult_Prediction_EResult) Type() protoreflect.EnumType { + return &file_dota_usermessages_proto_enumTypes[14] +} + +func (x CDOTAUserMsg_PredictionResult_Prediction_EResult) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Do not use. +func (x *CDOTAUserMsg_PredictionResult_Prediction_EResult) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err + } + *x = CDOTAUserMsg_PredictionResult_Prediction_EResult(num) + return nil +} + +// Deprecated: Use CDOTAUserMsg_PredictionResult_Prediction_EResult.Descriptor instead. +func (CDOTAUserMsg_PredictionResult_Prediction_EResult) EnumDescriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{40, 0, 0} +} + +type CDOTAResponseQuerySerialized_Fact_ValueType int32 + +const ( + CDOTAResponseQuerySerialized_Fact_NUMERIC CDOTAResponseQuerySerialized_Fact_ValueType = 1 + CDOTAResponseQuerySerialized_Fact_STRING CDOTAResponseQuerySerialized_Fact_ValueType = 2 + CDOTAResponseQuerySerialized_Fact_STRINGTABLE_INDEX CDOTAResponseQuerySerialized_Fact_ValueType = 3 + CDOTAResponseQuerySerialized_Fact_INT_NUMERIC CDOTAResponseQuerySerialized_Fact_ValueType = 4 +) + +// Enum value maps for CDOTAResponseQuerySerialized_Fact_ValueType. +var ( + CDOTAResponseQuerySerialized_Fact_ValueType_name = map[int32]string{ + 1: "NUMERIC", + 2: "STRING", + 3: "STRINGTABLE_INDEX", + 4: "INT_NUMERIC", + } + CDOTAResponseQuerySerialized_Fact_ValueType_value = map[string]int32{ + "NUMERIC": 1, + "STRING": 2, + "STRINGTABLE_INDEX": 3, + "INT_NUMERIC": 4, + } +) + +func (x CDOTAResponseQuerySerialized_Fact_ValueType) Enum() *CDOTAResponseQuerySerialized_Fact_ValueType { + p := new(CDOTAResponseQuerySerialized_Fact_ValueType) + *p = x + return p +} + +func (x CDOTAResponseQuerySerialized_Fact_ValueType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (CDOTAResponseQuerySerialized_Fact_ValueType) Descriptor() protoreflect.EnumDescriptor { + return file_dota_usermessages_proto_enumTypes[15].Descriptor() +} + +func (CDOTAResponseQuerySerialized_Fact_ValueType) Type() protoreflect.EnumType { + return &file_dota_usermessages_proto_enumTypes[15] +} + +func (x CDOTAResponseQuerySerialized_Fact_ValueType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Do not use. +func (x *CDOTAResponseQuerySerialized_Fact_ValueType) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err + } + *x = CDOTAResponseQuerySerialized_Fact_ValueType(num) + return nil +} + +// Deprecated: Use CDOTAResponseQuerySerialized_Fact_ValueType.Descriptor instead. +func (CDOTAResponseQuerySerialized_Fact_ValueType) EnumDescriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{41, 0, 0} +} + +type CDOTAUserMsg_GuildChallenge_Progress_EChallengeType int32 + +const ( + CDOTAUserMsg_GuildChallenge_Progress_k_EChallengeType_Invalid CDOTAUserMsg_GuildChallenge_Progress_EChallengeType = 0 + CDOTAUserMsg_GuildChallenge_Progress_k_EChallengeType_Cooperative CDOTAUserMsg_GuildChallenge_Progress_EChallengeType = 1 + CDOTAUserMsg_GuildChallenge_Progress_k_EChallengeType_Contract CDOTAUserMsg_GuildChallenge_Progress_EChallengeType = 2 +) + +// Enum value maps for CDOTAUserMsg_GuildChallenge_Progress_EChallengeType. +var ( + CDOTAUserMsg_GuildChallenge_Progress_EChallengeType_name = map[int32]string{ + 0: "k_EChallengeType_Invalid", + 1: "k_EChallengeType_Cooperative", + 2: "k_EChallengeType_Contract", + } + CDOTAUserMsg_GuildChallenge_Progress_EChallengeType_value = map[string]int32{ + "k_EChallengeType_Invalid": 0, + "k_EChallengeType_Cooperative": 1, + "k_EChallengeType_Contract": 2, + } +) + +func (x CDOTAUserMsg_GuildChallenge_Progress_EChallengeType) Enum() *CDOTAUserMsg_GuildChallenge_Progress_EChallengeType { + p := new(CDOTAUserMsg_GuildChallenge_Progress_EChallengeType) + *p = x + return p +} + +func (x CDOTAUserMsg_GuildChallenge_Progress_EChallengeType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (CDOTAUserMsg_GuildChallenge_Progress_EChallengeType) Descriptor() protoreflect.EnumDescriptor { + return file_dota_usermessages_proto_enumTypes[16].Descriptor() +} + +func (CDOTAUserMsg_GuildChallenge_Progress_EChallengeType) Type() protoreflect.EnumType { + return &file_dota_usermessages_proto_enumTypes[16] +} + +func (x CDOTAUserMsg_GuildChallenge_Progress_EChallengeType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Do not use. +func (x *CDOTAUserMsg_GuildChallenge_Progress_EChallengeType) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err + } + *x = CDOTAUserMsg_GuildChallenge_Progress_EChallengeType(num) + return nil +} + +// Deprecated: Use CDOTAUserMsg_GuildChallenge_Progress_EChallengeType.Descriptor instead. +func (CDOTAUserMsg_GuildChallenge_Progress_EChallengeType) EnumDescriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{144, 0} +} + +type CDOTAUserMsg_AIDebugLine struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Message *string `protobuf:"bytes,1,opt,name=message" json:"message,omitempty"` +} + +func (x *CDOTAUserMsg_AIDebugLine) Reset() { + *x = CDOTAUserMsg_AIDebugLine{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_AIDebugLine) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_AIDebugLine) ProtoMessage() {} + +func (x *CDOTAUserMsg_AIDebugLine) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CDOTAUserMsg_AIDebugLine.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_AIDebugLine) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{0} +} + +func (x *CDOTAUserMsg_AIDebugLine) GetMessage() string { + if x != nil && x.Message != nil { + return *x.Message + } + return "" +} + +type CDOTAUserMsg_Ping struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Ping *uint32 `protobuf:"varint,2,opt,name=ping" json:"ping,omitempty"` + Loss *uint32 `protobuf:"varint,3,opt,name=loss" json:"loss,omitempty"` +} + +func (x *CDOTAUserMsg_Ping) Reset() { + *x = CDOTAUserMsg_Ping{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_Ping) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_Ping) ProtoMessage() {} + +func (x *CDOTAUserMsg_Ping) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CDOTAUserMsg_Ping.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_Ping) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{1} +} + +func (x *CDOTAUserMsg_Ping) GetPing() uint32 { + if x != nil && x.Ping != nil { + return *x.Ping + } + return 0 +} + +func (x *CDOTAUserMsg_Ping) GetLoss() uint32 { + if x != nil && x.Loss != nil { + return *x.Loss + } + return 0 +} + +type CDOTAUserMsg_SwapVerify struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + PlayerId *int32 `protobuf:"varint,1,opt,name=player_id,json=playerId" json:"player_id,omitempty"` +} + +func (x *CDOTAUserMsg_SwapVerify) Reset() { + *x = CDOTAUserMsg_SwapVerify{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_SwapVerify) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_SwapVerify) ProtoMessage() {} + +func (x *CDOTAUserMsg_SwapVerify) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CDOTAUserMsg_SwapVerify.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_SwapVerify) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{2} +} + +func (x *CDOTAUserMsg_SwapVerify) GetPlayerId() int32 { + if x != nil && x.PlayerId != nil { + return *x.PlayerId + } + return 0 +} + +type CDOTAUserMsg_ChatEvent struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Type *DOTA_CHAT_MESSAGE `protobuf:"varint,1,req,name=type,enum=DOTA_CHAT_MESSAGE,def=-1" json:"type,omitempty"` + Value *uint32 `protobuf:"varint,2,opt,name=value" json:"value,omitempty"` + Playerid_1 *int32 `protobuf:"zigzag32,3,opt,name=playerid_1,json=playerid1,def=-1" json:"playerid_1,omitempty"` + Playerid_2 *int32 `protobuf:"zigzag32,4,opt,name=playerid_2,json=playerid2,def=-1" json:"playerid_2,omitempty"` + Playerid_3 *int32 `protobuf:"zigzag32,5,opt,name=playerid_3,json=playerid3,def=-1" json:"playerid_3,omitempty"` + Playerid_4 *int32 `protobuf:"zigzag32,6,opt,name=playerid_4,json=playerid4,def=-1" json:"playerid_4,omitempty"` + Playerid_5 *int32 `protobuf:"zigzag32,7,opt,name=playerid_5,json=playerid5,def=-1" json:"playerid_5,omitempty"` + Playerid_6 *int32 `protobuf:"zigzag32,8,opt,name=playerid_6,json=playerid6,def=-1" json:"playerid_6,omitempty"` + Value2 *uint32 `protobuf:"varint,9,opt,name=value2" json:"value2,omitempty"` + Value3 *uint32 `protobuf:"varint,10,opt,name=value3" json:"value3,omitempty"` +} + +// Default values for CDOTAUserMsg_ChatEvent fields. +const ( + Default_CDOTAUserMsg_ChatEvent_Type = DOTA_CHAT_MESSAGE_CHAT_MESSAGE_INVALID + Default_CDOTAUserMsg_ChatEvent_Playerid_1 = int32(-1) + Default_CDOTAUserMsg_ChatEvent_Playerid_2 = int32(-1) + Default_CDOTAUserMsg_ChatEvent_Playerid_3 = int32(-1) + Default_CDOTAUserMsg_ChatEvent_Playerid_4 = int32(-1) + Default_CDOTAUserMsg_ChatEvent_Playerid_5 = int32(-1) + Default_CDOTAUserMsg_ChatEvent_Playerid_6 = int32(-1) +) + +func (x *CDOTAUserMsg_ChatEvent) Reset() { + *x = CDOTAUserMsg_ChatEvent{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_ChatEvent) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_ChatEvent) ProtoMessage() {} + +func (x *CDOTAUserMsg_ChatEvent) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CDOTAUserMsg_ChatEvent.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_ChatEvent) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{3} +} + +func (x *CDOTAUserMsg_ChatEvent) GetType() DOTA_CHAT_MESSAGE { + if x != nil && x.Type != nil { + return *x.Type + } + return Default_CDOTAUserMsg_ChatEvent_Type +} + +func (x *CDOTAUserMsg_ChatEvent) GetValue() uint32 { + if x != nil && x.Value != nil { + return *x.Value + } + return 0 +} + +func (x *CDOTAUserMsg_ChatEvent) GetPlayerid_1() int32 { + if x != nil && x.Playerid_1 != nil { + return *x.Playerid_1 + } + return Default_CDOTAUserMsg_ChatEvent_Playerid_1 +} + +func (x *CDOTAUserMsg_ChatEvent) GetPlayerid_2() int32 { + if x != nil && x.Playerid_2 != nil { + return *x.Playerid_2 + } + return Default_CDOTAUserMsg_ChatEvent_Playerid_2 +} + +func (x *CDOTAUserMsg_ChatEvent) GetPlayerid_3() int32 { + if x != nil && x.Playerid_3 != nil { + return *x.Playerid_3 + } + return Default_CDOTAUserMsg_ChatEvent_Playerid_3 +} + +func (x *CDOTAUserMsg_ChatEvent) GetPlayerid_4() int32 { + if x != nil && x.Playerid_4 != nil { + return *x.Playerid_4 + } + return Default_CDOTAUserMsg_ChatEvent_Playerid_4 +} + +func (x *CDOTAUserMsg_ChatEvent) GetPlayerid_5() int32 { + if x != nil && x.Playerid_5 != nil { + return *x.Playerid_5 + } + return Default_CDOTAUserMsg_ChatEvent_Playerid_5 +} + +func (x *CDOTAUserMsg_ChatEvent) GetPlayerid_6() int32 { + if x != nil && x.Playerid_6 != nil { + return *x.Playerid_6 + } + return Default_CDOTAUserMsg_ChatEvent_Playerid_6 +} + +func (x *CDOTAUserMsg_ChatEvent) GetValue2() uint32 { + if x != nil && x.Value2 != nil { + return *x.Value2 + } + return 0 +} + +func (x *CDOTAUserMsg_ChatEvent) GetValue3() uint32 { + if x != nil && x.Value3 != nil { + return *x.Value3 + } + return 0 +} + +type CDOTAUserMsg_BotChat struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + PlayerId *int32 `protobuf:"varint,1,opt,name=player_id,json=playerId" json:"player_id,omitempty"` + Message *string `protobuf:"bytes,3,opt,name=message" json:"message,omitempty"` + Target *string `protobuf:"bytes,4,opt,name=target" json:"target,omitempty"` + TeamOnly *bool `protobuf:"varint,5,opt,name=team_only,json=teamOnly" json:"team_only,omitempty"` +} + +func (x *CDOTAUserMsg_BotChat) Reset() { + *x = CDOTAUserMsg_BotChat{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_BotChat) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_BotChat) ProtoMessage() {} + +func (x *CDOTAUserMsg_BotChat) ProtoReflect() protoreflect.Message { + mi := &file_dota_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 CDOTAUserMsg_BotChat.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_BotChat) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{4} +} + +func (x *CDOTAUserMsg_BotChat) GetPlayerId() int32 { + if x != nil && x.PlayerId != nil { + return *x.PlayerId + } + return 0 +} + +func (x *CDOTAUserMsg_BotChat) GetMessage() string { + if x != nil && x.Message != nil { + return *x.Message + } + return "" +} + +func (x *CDOTAUserMsg_BotChat) GetTarget() string { + if x != nil && x.Target != nil { + return *x.Target + } + return "" +} + +func (x *CDOTAUserMsg_BotChat) GetTeamOnly() bool { + if x != nil && x.TeamOnly != nil { + return *x.TeamOnly + } + return false +} + +type CDOTAUserMsg_CombatHeroPositions struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Index *uint32 `protobuf:"varint,1,opt,name=index" json:"index,omitempty"` + Time *int32 `protobuf:"varint,2,opt,name=time" json:"time,omitempty"` + WorldPos *CMsgVector2D `protobuf:"bytes,3,opt,name=world_pos,json=worldPos" json:"world_pos,omitempty"` + Health *int32 `protobuf:"varint,4,opt,name=health" json:"health,omitempty"` +} + +func (x *CDOTAUserMsg_CombatHeroPositions) Reset() { + *x = CDOTAUserMsg_CombatHeroPositions{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_CombatHeroPositions) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_CombatHeroPositions) ProtoMessage() {} + +func (x *CDOTAUserMsg_CombatHeroPositions) ProtoReflect() protoreflect.Message { + mi := &file_dota_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 CDOTAUserMsg_CombatHeroPositions.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_CombatHeroPositions) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{5} +} + +func (x *CDOTAUserMsg_CombatHeroPositions) GetIndex() uint32 { + if x != nil && x.Index != nil { + return *x.Index + } + return 0 +} + +func (x *CDOTAUserMsg_CombatHeroPositions) GetTime() int32 { + if x != nil && x.Time != nil { + return *x.Time + } + return 0 +} + +func (x *CDOTAUserMsg_CombatHeroPositions) GetWorldPos() *CMsgVector2D { + if x != nil { + return x.WorldPos + } + return nil +} + +func (x *CDOTAUserMsg_CombatHeroPositions) GetHealth() int32 { + if x != nil && x.Health != nil { + return *x.Health + } + return 0 +} + +type CDOTAUserMsg_CombatLogBulkData struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + CombatEntries []*CMsgDOTACombatLogEntry `protobuf:"bytes,1,rep,name=combat_entries,json=combatEntries" json:"combat_entries,omitempty"` + Timestamp *float32 `protobuf:"fixed32,2,opt,name=timestamp" json:"timestamp,omitempty"` + Duration *float32 `protobuf:"fixed32,3,opt,name=duration" json:"duration,omitempty"` + PlayerId *int32 `protobuf:"varint,4,opt,name=player_id,json=playerId" json:"player_id,omitempty"` +} + +func (x *CDOTAUserMsg_CombatLogBulkData) Reset() { + *x = CDOTAUserMsg_CombatLogBulkData{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_CombatLogBulkData) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_CombatLogBulkData) ProtoMessage() {} + +func (x *CDOTAUserMsg_CombatLogBulkData) ProtoReflect() protoreflect.Message { + mi := &file_dota_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 CDOTAUserMsg_CombatLogBulkData.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_CombatLogBulkData) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{6} +} + +func (x *CDOTAUserMsg_CombatLogBulkData) GetCombatEntries() []*CMsgDOTACombatLogEntry { + if x != nil { + return x.CombatEntries + } + return nil +} + +func (x *CDOTAUserMsg_CombatLogBulkData) GetTimestamp() float32 { + if x != nil && x.Timestamp != nil { + return *x.Timestamp + } + return 0 +} + +func (x *CDOTAUserMsg_CombatLogBulkData) GetDuration() float32 { + if x != nil && x.Duration != nil { + return *x.Duration + } + return 0 +} + +func (x *CDOTAUserMsg_CombatLogBulkData) GetPlayerId() int32 { + if x != nil && x.PlayerId != nil { + return *x.PlayerId + } + return 0 +} + +type CDOTAUserMsg_ProjectileParticleCPData struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ControlPoint *int32 `protobuf:"varint,1,opt,name=control_point,json=controlPoint" json:"control_point,omitempty"` + Vector *CMsgVector `protobuf:"bytes,2,opt,name=vector" json:"vector,omitempty"` +} + +func (x *CDOTAUserMsg_ProjectileParticleCPData) Reset() { + *x = CDOTAUserMsg_ProjectileParticleCPData{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_ProjectileParticleCPData) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_ProjectileParticleCPData) ProtoMessage() {} + +func (x *CDOTAUserMsg_ProjectileParticleCPData) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_proto_msgTypes[7] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CDOTAUserMsg_ProjectileParticleCPData.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_ProjectileParticleCPData) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{7} +} + +func (x *CDOTAUserMsg_ProjectileParticleCPData) GetControlPoint() int32 { + if x != nil && x.ControlPoint != nil { + return *x.ControlPoint + } + return 0 +} + +func (x *CDOTAUserMsg_ProjectileParticleCPData) GetVector() *CMsgVector { + if x != nil { + return x.Vector + } + return nil +} + +type CDOTAUserMsg_MiniKillCamInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Attackers []*CDOTAUserMsg_MiniKillCamInfo_Attacker `protobuf:"bytes,1,rep,name=attackers" json:"attackers,omitempty"` +} + +func (x *CDOTAUserMsg_MiniKillCamInfo) Reset() { + *x = CDOTAUserMsg_MiniKillCamInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_MiniKillCamInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_MiniKillCamInfo) ProtoMessage() {} + +func (x *CDOTAUserMsg_MiniKillCamInfo) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_proto_msgTypes[8] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CDOTAUserMsg_MiniKillCamInfo.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_MiniKillCamInfo) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{8} +} + +func (x *CDOTAUserMsg_MiniKillCamInfo) GetAttackers() []*CDOTAUserMsg_MiniKillCamInfo_Attacker { + if x != nil { + return x.Attackers + } + return nil +} + +type CDOTAUserMsg_GlobalLightColor struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Color *uint32 `protobuf:"varint,1,opt,name=color" json:"color,omitempty"` + Duration *float32 `protobuf:"fixed32,2,opt,name=duration" json:"duration,omitempty"` +} + +func (x *CDOTAUserMsg_GlobalLightColor) Reset() { + *x = CDOTAUserMsg_GlobalLightColor{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_GlobalLightColor) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_GlobalLightColor) ProtoMessage() {} + +func (x *CDOTAUserMsg_GlobalLightColor) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_proto_msgTypes[9] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CDOTAUserMsg_GlobalLightColor.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_GlobalLightColor) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{9} +} + +func (x *CDOTAUserMsg_GlobalLightColor) GetColor() uint32 { + if x != nil && x.Color != nil { + return *x.Color + } + return 0 +} + +func (x *CDOTAUserMsg_GlobalLightColor) GetDuration() float32 { + if x != nil && x.Duration != nil { + return *x.Duration + } + return 0 +} + +type CDOTAUserMsg_GlobalLightDirection struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Direction *CMsgVector `protobuf:"bytes,1,opt,name=direction" json:"direction,omitempty"` + Duration *float32 `protobuf:"fixed32,2,opt,name=duration" json:"duration,omitempty"` +} + +func (x *CDOTAUserMsg_GlobalLightDirection) Reset() { + *x = CDOTAUserMsg_GlobalLightDirection{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_GlobalLightDirection) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_GlobalLightDirection) ProtoMessage() {} + +func (x *CDOTAUserMsg_GlobalLightDirection) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_proto_msgTypes[10] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CDOTAUserMsg_GlobalLightDirection.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_GlobalLightDirection) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{10} +} + +func (x *CDOTAUserMsg_GlobalLightDirection) GetDirection() *CMsgVector { + if x != nil { + return x.Direction + } + return nil +} + +func (x *CDOTAUserMsg_GlobalLightDirection) GetDuration() float32 { + if x != nil && x.Duration != nil { + return *x.Duration + } + return 0 +} + +type CDOTAUserMsg_LocationPing struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + PlayerId *int32 `protobuf:"varint,1,opt,name=player_id,json=playerId" json:"player_id,omitempty"` + LocationPing *CDOTAMsg_LocationPing `protobuf:"bytes,2,opt,name=location_ping,json=locationPing" json:"location_ping,omitempty"` +} + +func (x *CDOTAUserMsg_LocationPing) Reset() { + *x = CDOTAUserMsg_LocationPing{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_LocationPing) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_LocationPing) ProtoMessage() {} + +func (x *CDOTAUserMsg_LocationPing) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_proto_msgTypes[11] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CDOTAUserMsg_LocationPing.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_LocationPing) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{11} +} + +func (x *CDOTAUserMsg_LocationPing) GetPlayerId() int32 { + if x != nil && x.PlayerId != nil { + return *x.PlayerId + } + return 0 +} + +func (x *CDOTAUserMsg_LocationPing) GetLocationPing() *CDOTAMsg_LocationPing { + if x != nil { + return x.LocationPing + } + return nil +} + +type CDOTAUserMsg_PingConfirmation struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + PlayerIdOfOriginalPinger *int32 `protobuf:"varint,1,opt,name=player_id_of_original_pinger,json=playerIdOfOriginalPinger" json:"player_id_of_original_pinger,omitempty"` + EntityIndex *uint32 `protobuf:"varint,2,opt,name=entity_index,json=entityIndex" json:"entity_index,omitempty"` + IconType *uint32 `protobuf:"varint,3,opt,name=icon_type,json=iconType" json:"icon_type,omitempty"` + Location *CMsgVector `protobuf:"bytes,4,opt,name=location" json:"location,omitempty"` +} + +func (x *CDOTAUserMsg_PingConfirmation) Reset() { + *x = CDOTAUserMsg_PingConfirmation{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_PingConfirmation) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_PingConfirmation) ProtoMessage() {} + +func (x *CDOTAUserMsg_PingConfirmation) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_proto_msgTypes[12] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CDOTAUserMsg_PingConfirmation.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_PingConfirmation) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{12} +} + +func (x *CDOTAUserMsg_PingConfirmation) GetPlayerIdOfOriginalPinger() int32 { + if x != nil && x.PlayerIdOfOriginalPinger != nil { + return *x.PlayerIdOfOriginalPinger + } + return 0 +} + +func (x *CDOTAUserMsg_PingConfirmation) GetEntityIndex() uint32 { + if x != nil && x.EntityIndex != nil { + return *x.EntityIndex + } + return 0 +} + +func (x *CDOTAUserMsg_PingConfirmation) GetIconType() uint32 { + if x != nil && x.IconType != nil { + return *x.IconType + } + return 0 +} + +func (x *CDOTAUserMsg_PingConfirmation) GetLocation() *CMsgVector { + if x != nil { + return x.Location + } + return nil +} + +type CDOTAUserMsg_ItemAlert struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + PlayerId *int32 `protobuf:"varint,1,opt,name=player_id,json=playerId" json:"player_id,omitempty"` + ItemAlert *CDOTAMsg_ItemAlert `protobuf:"bytes,2,opt,name=item_alert,json=itemAlert" json:"item_alert,omitempty"` +} + +func (x *CDOTAUserMsg_ItemAlert) Reset() { + *x = CDOTAUserMsg_ItemAlert{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_ItemAlert) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_ItemAlert) ProtoMessage() {} + +func (x *CDOTAUserMsg_ItemAlert) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_proto_msgTypes[13] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CDOTAUserMsg_ItemAlert.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_ItemAlert) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{13} +} + +func (x *CDOTAUserMsg_ItemAlert) GetPlayerId() int32 { + if x != nil && x.PlayerId != nil { + return *x.PlayerId + } + return 0 +} + +func (x *CDOTAUserMsg_ItemAlert) GetItemAlert() *CDOTAMsg_ItemAlert { + if x != nil { + return x.ItemAlert + } + return nil +} + +type CDOTAUserMsg_EnemyItemAlert struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + PlayerId *int32 `protobuf:"varint,1,opt,name=player_id,json=playerId" json:"player_id,omitempty"` + TargetPlayerId *int32 `protobuf:"varint,2,opt,name=target_player_id,json=targetPlayerId" json:"target_player_id,omitempty"` + ItemAbilityId *int32 `protobuf:"varint,3,opt,name=item_ability_id,json=itemAbilityId" json:"item_ability_id,omitempty"` + RuneType *int32 `protobuf:"varint,4,opt,name=rune_type,json=runeType,def=-1" json:"rune_type,omitempty"` + EntityId *int32 `protobuf:"varint,5,opt,name=entity_id,json=entityId" json:"entity_id,omitempty"` + ItemLevel *int32 `protobuf:"varint,6,opt,name=item_level,json=itemLevel,def=-1" json:"item_level,omitempty"` + PrimaryCharges *int32 `protobuf:"varint,7,opt,name=primary_charges,json=primaryCharges,def=-1" json:"primary_charges,omitempty"` + SecondaryCharges *int32 `protobuf:"varint,8,opt,name=secondary_charges,json=secondaryCharges,def=-1" json:"secondary_charges,omitempty"` +} + +// Default values for CDOTAUserMsg_EnemyItemAlert fields. +const ( + Default_CDOTAUserMsg_EnemyItemAlert_RuneType = int32(-1) + Default_CDOTAUserMsg_EnemyItemAlert_ItemLevel = int32(-1) + Default_CDOTAUserMsg_EnemyItemAlert_PrimaryCharges = int32(-1) + Default_CDOTAUserMsg_EnemyItemAlert_SecondaryCharges = int32(-1) +) + +func (x *CDOTAUserMsg_EnemyItemAlert) Reset() { + *x = CDOTAUserMsg_EnemyItemAlert{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_EnemyItemAlert) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_EnemyItemAlert) ProtoMessage() {} + +func (x *CDOTAUserMsg_EnemyItemAlert) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_proto_msgTypes[14] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CDOTAUserMsg_EnemyItemAlert.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_EnemyItemAlert) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{14} +} + +func (x *CDOTAUserMsg_EnemyItemAlert) GetPlayerId() int32 { + if x != nil && x.PlayerId != nil { + return *x.PlayerId + } + return 0 +} + +func (x *CDOTAUserMsg_EnemyItemAlert) GetTargetPlayerId() int32 { + if x != nil && x.TargetPlayerId != nil { + return *x.TargetPlayerId + } + return 0 +} + +func (x *CDOTAUserMsg_EnemyItemAlert) GetItemAbilityId() int32 { + if x != nil && x.ItemAbilityId != nil { + return *x.ItemAbilityId + } + return 0 +} + +func (x *CDOTAUserMsg_EnemyItemAlert) GetRuneType() int32 { + if x != nil && x.RuneType != nil { + return *x.RuneType + } + return Default_CDOTAUserMsg_EnemyItemAlert_RuneType +} + +func (x *CDOTAUserMsg_EnemyItemAlert) GetEntityId() int32 { + if x != nil && x.EntityId != nil { + return *x.EntityId + } + return 0 +} + +func (x *CDOTAUserMsg_EnemyItemAlert) GetItemLevel() int32 { + if x != nil && x.ItemLevel != nil { + return *x.ItemLevel + } + return Default_CDOTAUserMsg_EnemyItemAlert_ItemLevel +} + +func (x *CDOTAUserMsg_EnemyItemAlert) GetPrimaryCharges() int32 { + if x != nil && x.PrimaryCharges != nil { + return *x.PrimaryCharges + } + return Default_CDOTAUserMsg_EnemyItemAlert_PrimaryCharges +} + +func (x *CDOTAUserMsg_EnemyItemAlert) GetSecondaryCharges() int32 { + if x != nil && x.SecondaryCharges != nil { + return *x.SecondaryCharges + } + return Default_CDOTAUserMsg_EnemyItemAlert_SecondaryCharges +} + +type CDOTAUserMsg_ModifierAlert struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + PlayerId *int32 `protobuf:"varint,1,opt,name=player_id,json=playerId" json:"player_id,omitempty"` + ClassName *string `protobuf:"bytes,2,opt,name=class_name,json=className" json:"class_name,omitempty"` + StackCount *uint32 `protobuf:"varint,3,opt,name=stack_count,json=stackCount" json:"stack_count,omitempty"` + IsDebuff *bool `protobuf:"varint,4,opt,name=is_debuff,json=isDebuff" json:"is_debuff,omitempty"` + TargetEntindex *int32 `protobuf:"varint,5,opt,name=target_entindex,json=targetEntindex" json:"target_entindex,omitempty"` + SecondsRemaining *float32 `protobuf:"fixed32,6,opt,name=seconds_remaining,json=secondsRemaining" json:"seconds_remaining,omitempty"` +} + +func (x *CDOTAUserMsg_ModifierAlert) Reset() { + *x = CDOTAUserMsg_ModifierAlert{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_ModifierAlert) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_ModifierAlert) ProtoMessage() {} + +func (x *CDOTAUserMsg_ModifierAlert) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_proto_msgTypes[15] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CDOTAUserMsg_ModifierAlert.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_ModifierAlert) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{15} +} + +func (x *CDOTAUserMsg_ModifierAlert) GetPlayerId() int32 { + if x != nil && x.PlayerId != nil { + return *x.PlayerId + } + return 0 +} + +func (x *CDOTAUserMsg_ModifierAlert) GetClassName() string { + if x != nil && x.ClassName != nil { + return *x.ClassName + } + return "" +} + +func (x *CDOTAUserMsg_ModifierAlert) GetStackCount() uint32 { + if x != nil && x.StackCount != nil { + return *x.StackCount + } + return 0 +} + +func (x *CDOTAUserMsg_ModifierAlert) GetIsDebuff() bool { + if x != nil && x.IsDebuff != nil { + return *x.IsDebuff + } + return false +} + +func (x *CDOTAUserMsg_ModifierAlert) GetTargetEntindex() int32 { + if x != nil && x.TargetEntindex != nil { + return *x.TargetEntindex + } + return 0 +} + +func (x *CDOTAUserMsg_ModifierAlert) GetSecondsRemaining() float32 { + if x != nil && x.SecondsRemaining != nil { + return *x.SecondsRemaining + } + return 0 +} + +type CDOTAUserMsg_HPManaAlert struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + PlayerId *int32 `protobuf:"varint,1,opt,name=player_id,json=playerId" json:"player_id,omitempty"` + TargetEntindex *int32 `protobuf:"varint,2,opt,name=target_entindex,json=targetEntindex" json:"target_entindex,omitempty"` + ShowRawValues *bool `protobuf:"varint,3,opt,name=show_raw_values,json=showRawValues" json:"show_raw_values,omitempty"` +} + +func (x *CDOTAUserMsg_HPManaAlert) Reset() { + *x = CDOTAUserMsg_HPManaAlert{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_HPManaAlert) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_HPManaAlert) ProtoMessage() {} + +func (x *CDOTAUserMsg_HPManaAlert) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_proto_msgTypes[16] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CDOTAUserMsg_HPManaAlert.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_HPManaAlert) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{16} +} + +func (x *CDOTAUserMsg_HPManaAlert) GetPlayerId() int32 { + if x != nil && x.PlayerId != nil { + return *x.PlayerId + } + return 0 +} + +func (x *CDOTAUserMsg_HPManaAlert) GetTargetEntindex() int32 { + if x != nil && x.TargetEntindex != nil { + return *x.TargetEntindex + } + return 0 +} + +func (x *CDOTAUserMsg_HPManaAlert) GetShowRawValues() bool { + if x != nil && x.ShowRawValues != nil { + return *x.ShowRawValues + } + return false +} + +type CDOTAUserMsg_GlyphAlert struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + PlayerId *int32 `protobuf:"varint,1,opt,name=player_id,json=playerId" json:"player_id,omitempty"` + Negative *bool `protobuf:"varint,2,opt,name=negative" json:"negative,omitempty"` +} + +func (x *CDOTAUserMsg_GlyphAlert) Reset() { + *x = CDOTAUserMsg_GlyphAlert{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_GlyphAlert) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_GlyphAlert) ProtoMessage() {} + +func (x *CDOTAUserMsg_GlyphAlert) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_proto_msgTypes[17] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CDOTAUserMsg_GlyphAlert.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_GlyphAlert) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{17} +} + +func (x *CDOTAUserMsg_GlyphAlert) GetPlayerId() int32 { + if x != nil && x.PlayerId != nil { + return *x.PlayerId + } + return 0 +} + +func (x *CDOTAUserMsg_GlyphAlert) GetNegative() bool { + if x != nil && x.Negative != nil { + return *x.Negative + } + return false +} + +type CDOTAUserMsg_RadarAlert struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + PlayerId *int32 `protobuf:"varint,1,opt,name=player_id,json=playerId" json:"player_id,omitempty"` + Negative *bool `protobuf:"varint,2,opt,name=negative" json:"negative,omitempty"` +} + +func (x *CDOTAUserMsg_RadarAlert) Reset() { + *x = CDOTAUserMsg_RadarAlert{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_RadarAlert) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_RadarAlert) ProtoMessage() {} + +func (x *CDOTAUserMsg_RadarAlert) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_proto_msgTypes[18] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CDOTAUserMsg_RadarAlert.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_RadarAlert) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{18} +} + +func (x *CDOTAUserMsg_RadarAlert) GetPlayerId() int32 { + if x != nil && x.PlayerId != nil { + return *x.PlayerId + } + return 0 +} + +func (x *CDOTAUserMsg_RadarAlert) GetNegative() bool { + if x != nil && x.Negative != nil { + return *x.Negative + } + return false +} + +type CDOTAUserMsg_WillPurchaseAlert struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ItemAbilityId *int32 `protobuf:"varint,1,opt,name=item_ability_id,json=itemAbilityId" json:"item_ability_id,omitempty"` + PlayerId *int32 `protobuf:"varint,2,opt,name=player_id,json=playerId" json:"player_id,omitempty"` + GoldRemaining *uint32 `protobuf:"varint,3,opt,name=gold_remaining,json=goldRemaining" json:"gold_remaining,omitempty"` + SuggestionPlayerId *int32 `protobuf:"varint,4,opt,name=suggestion_player_id,json=suggestionPlayerId" json:"suggestion_player_id,omitempty"` +} + +func (x *CDOTAUserMsg_WillPurchaseAlert) Reset() { + *x = CDOTAUserMsg_WillPurchaseAlert{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_WillPurchaseAlert) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_WillPurchaseAlert) ProtoMessage() {} + +func (x *CDOTAUserMsg_WillPurchaseAlert) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_proto_msgTypes[19] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CDOTAUserMsg_WillPurchaseAlert.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_WillPurchaseAlert) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{19} +} + +func (x *CDOTAUserMsg_WillPurchaseAlert) GetItemAbilityId() int32 { + if x != nil && x.ItemAbilityId != nil { + return *x.ItemAbilityId + } + return 0 +} + +func (x *CDOTAUserMsg_WillPurchaseAlert) GetPlayerId() int32 { + if x != nil && x.PlayerId != nil { + return *x.PlayerId + } + return 0 +} + +func (x *CDOTAUserMsg_WillPurchaseAlert) GetGoldRemaining() uint32 { + if x != nil && x.GoldRemaining != nil { + return *x.GoldRemaining + } + return 0 +} + +func (x *CDOTAUserMsg_WillPurchaseAlert) GetSuggestionPlayerId() int32 { + if x != nil && x.SuggestionPlayerId != nil { + return *x.SuggestionPlayerId + } + return 0 +} + +type CDOTAUserMsg_EmptyTeleportAlert struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + SourcePlayerId *int32 `protobuf:"varint,1,opt,name=source_player_id,json=sourcePlayerId" json:"source_player_id,omitempty"` + TargetPlayerId *int32 `protobuf:"varint,2,opt,name=target_player_id,json=targetPlayerId" json:"target_player_id,omitempty"` + CooldownSeconds *int32 `protobuf:"varint,3,opt,name=cooldown_seconds,json=cooldownSeconds" json:"cooldown_seconds,omitempty"` +} + +func (x *CDOTAUserMsg_EmptyTeleportAlert) Reset() { + *x = CDOTAUserMsg_EmptyTeleportAlert{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_EmptyTeleportAlert) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_EmptyTeleportAlert) ProtoMessage() {} + +func (x *CDOTAUserMsg_EmptyTeleportAlert) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_proto_msgTypes[20] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CDOTAUserMsg_EmptyTeleportAlert.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_EmptyTeleportAlert) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{20} +} + +func (x *CDOTAUserMsg_EmptyTeleportAlert) GetSourcePlayerId() int32 { + if x != nil && x.SourcePlayerId != nil { + return *x.SourcePlayerId + } + return 0 +} + +func (x *CDOTAUserMsg_EmptyTeleportAlert) GetTargetPlayerId() int32 { + if x != nil && x.TargetPlayerId != nil { + return *x.TargetPlayerId + } + return 0 +} + +func (x *CDOTAUserMsg_EmptyTeleportAlert) GetCooldownSeconds() int32 { + if x != nil && x.CooldownSeconds != nil { + return *x.CooldownSeconds + } + return 0 +} + +type CDOTAUserMsg_MarsArenaOfBloodAttack struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + SourceEhandle *uint32 `protobuf:"varint,1,opt,name=source_ehandle,json=sourceEhandle" json:"source_ehandle,omitempty"` + TargetEhandle *uint32 `protobuf:"varint,2,opt,name=target_ehandle,json=targetEhandle" json:"target_ehandle,omitempty"` + WarriorIndex *int32 `protobuf:"varint,3,opt,name=warrior_index,json=warriorIndex" json:"warrior_index,omitempty"` +} + +func (x *CDOTAUserMsg_MarsArenaOfBloodAttack) Reset() { + *x = CDOTAUserMsg_MarsArenaOfBloodAttack{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_MarsArenaOfBloodAttack) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_MarsArenaOfBloodAttack) ProtoMessage() {} + +func (x *CDOTAUserMsg_MarsArenaOfBloodAttack) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_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 CDOTAUserMsg_MarsArenaOfBloodAttack.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_MarsArenaOfBloodAttack) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{21} +} + +func (x *CDOTAUserMsg_MarsArenaOfBloodAttack) GetSourceEhandle() uint32 { + if x != nil && x.SourceEhandle != nil { + return *x.SourceEhandle + } + return 0 +} + +func (x *CDOTAUserMsg_MarsArenaOfBloodAttack) GetTargetEhandle() uint32 { + if x != nil && x.TargetEhandle != nil { + return *x.TargetEhandle + } + return 0 +} + +func (x *CDOTAUserMsg_MarsArenaOfBloodAttack) GetWarriorIndex() int32 { + if x != nil && x.WarriorIndex != nil { + return *x.WarriorIndex + } + return 0 +} + +type CDOTAEntityMsg_InvokerSpellCast struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + EntityMsg *CEntityMsg `protobuf:"bytes,1,opt,name=entity_msg,json=entityMsg" json:"entity_msg,omitempty"` + CastActivity *int32 `protobuf:"varint,2,opt,name=cast_activity,json=castActivity" json:"cast_activity,omitempty"` +} + +func (x *CDOTAEntityMsg_InvokerSpellCast) Reset() { + *x = CDOTAEntityMsg_InvokerSpellCast{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[22] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAEntityMsg_InvokerSpellCast) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAEntityMsg_InvokerSpellCast) ProtoMessage() {} + +func (x *CDOTAEntityMsg_InvokerSpellCast) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_proto_msgTypes[22] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CDOTAEntityMsg_InvokerSpellCast.ProtoReflect.Descriptor instead. +func (*CDOTAEntityMsg_InvokerSpellCast) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{22} +} + +func (x *CDOTAEntityMsg_InvokerSpellCast) GetEntityMsg() *CEntityMsg { + if x != nil { + return x.EntityMsg + } + return nil +} + +func (x *CDOTAEntityMsg_InvokerSpellCast) GetCastActivity() int32 { + if x != nil && x.CastActivity != nil { + return *x.CastActivity + } + return 0 +} + +type CDOTAUserMsg_BuyBackStateAlert struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + PlayerId *int32 `protobuf:"varint,1,opt,name=player_id,json=playerId" json:"player_id,omitempty"` +} + +func (x *CDOTAUserMsg_BuyBackStateAlert) Reset() { + *x = CDOTAUserMsg_BuyBackStateAlert{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[23] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_BuyBackStateAlert) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_BuyBackStateAlert) ProtoMessage() {} + +func (x *CDOTAUserMsg_BuyBackStateAlert) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_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 CDOTAUserMsg_BuyBackStateAlert.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_BuyBackStateAlert) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{23} +} + +func (x *CDOTAUserMsg_BuyBackStateAlert) GetPlayerId() int32 { + if x != nil && x.PlayerId != nil { + return *x.PlayerId + } + return 0 +} + +type CDOTAUserMsg_QuickBuyAlert struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + PlayerId *int32 `protobuf:"varint,1,opt,name=player_id,json=playerId" json:"player_id,omitempty"` + ItemAbilityId *int32 `protobuf:"varint,2,opt,name=item_ability_id,json=itemAbilityId" json:"item_ability_id,omitempty"` + GoldCost *int32 `protobuf:"varint,3,opt,name=gold_cost,json=goldCost" json:"gold_cost,omitempty"` + ItemCooldownSeconds *int32 `protobuf:"varint,4,opt,name=item_cooldown_seconds,json=itemCooldownSeconds" json:"item_cooldown_seconds,omitempty"` + ShowBuyback *bool `protobuf:"varint,5,opt,name=show_buyback,json=showBuyback" json:"show_buyback,omitempty"` +} + +func (x *CDOTAUserMsg_QuickBuyAlert) Reset() { + *x = CDOTAUserMsg_QuickBuyAlert{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[24] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_QuickBuyAlert) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_QuickBuyAlert) ProtoMessage() {} + +func (x *CDOTAUserMsg_QuickBuyAlert) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_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 CDOTAUserMsg_QuickBuyAlert.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_QuickBuyAlert) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{24} +} + +func (x *CDOTAUserMsg_QuickBuyAlert) GetPlayerId() int32 { + if x != nil && x.PlayerId != nil { + return *x.PlayerId + } + return 0 +} + +func (x *CDOTAUserMsg_QuickBuyAlert) GetItemAbilityId() int32 { + if x != nil && x.ItemAbilityId != nil { + return *x.ItemAbilityId + } + return 0 +} + +func (x *CDOTAUserMsg_QuickBuyAlert) GetGoldCost() int32 { + if x != nil && x.GoldCost != nil { + return *x.GoldCost + } + return 0 +} + +func (x *CDOTAUserMsg_QuickBuyAlert) GetItemCooldownSeconds() int32 { + if x != nil && x.ItemCooldownSeconds != nil { + return *x.ItemCooldownSeconds + } + return 0 +} + +func (x *CDOTAUserMsg_QuickBuyAlert) GetShowBuyback() bool { + if x != nil && x.ShowBuyback != nil { + return *x.ShowBuyback + } + return false +} + +type CDOTAUserMsg_CourierKilledAlert struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Team *uint32 `protobuf:"varint,1,opt,name=team" json:"team,omitempty"` + GoldValue *uint32 `protobuf:"varint,2,opt,name=gold_value,json=goldValue" json:"gold_value,omitempty"` + EntityHandle *uint32 `protobuf:"varint,3,opt,name=entity_handle,json=entityHandle" json:"entity_handle,omitempty"` + Timestamp *int32 `protobuf:"varint,4,opt,name=timestamp" json:"timestamp,omitempty"` + LostItems []*CDOTAUserMsg_CourierKilledAlert_LostItem `protobuf:"bytes,5,rep,name=lost_items,json=lostItems" json:"lost_items,omitempty"` + KillerPlayerId *int32 `protobuf:"varint,6,opt,name=killer_player_id,json=killerPlayerId" json:"killer_player_id,omitempty"` + OwningPlayerId *int32 `protobuf:"varint,7,opt,name=owning_player_id,json=owningPlayerId" json:"owning_player_id,omitempty"` +} + +func (x *CDOTAUserMsg_CourierKilledAlert) Reset() { + *x = CDOTAUserMsg_CourierKilledAlert{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[25] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_CourierKilledAlert) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_CourierKilledAlert) ProtoMessage() {} + +func (x *CDOTAUserMsg_CourierKilledAlert) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_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 CDOTAUserMsg_CourierKilledAlert.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_CourierKilledAlert) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{25} +} + +func (x *CDOTAUserMsg_CourierKilledAlert) GetTeam() uint32 { + if x != nil && x.Team != nil { + return *x.Team + } + return 0 +} + +func (x *CDOTAUserMsg_CourierKilledAlert) GetGoldValue() uint32 { + if x != nil && x.GoldValue != nil { + return *x.GoldValue + } + return 0 +} + +func (x *CDOTAUserMsg_CourierKilledAlert) GetEntityHandle() uint32 { + if x != nil && x.EntityHandle != nil { + return *x.EntityHandle + } + return 0 +} + +func (x *CDOTAUserMsg_CourierKilledAlert) GetTimestamp() int32 { + if x != nil && x.Timestamp != nil { + return *x.Timestamp + } + return 0 +} + +func (x *CDOTAUserMsg_CourierKilledAlert) GetLostItems() []*CDOTAUserMsg_CourierKilledAlert_LostItem { + if x != nil { + return x.LostItems + } + return nil +} + +func (x *CDOTAUserMsg_CourierKilledAlert) GetKillerPlayerId() int32 { + if x != nil && x.KillerPlayerId != nil { + return *x.KillerPlayerId + } + return 0 +} + +func (x *CDOTAUserMsg_CourierKilledAlert) GetOwningPlayerId() int32 { + if x != nil && x.OwningPlayerId != nil { + return *x.OwningPlayerId + } + return 0 +} + +type CDOTAUserMsg_MinimapEvent struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + EventType *int32 `protobuf:"varint,1,opt,name=event_type,json=eventType" json:"event_type,omitempty"` + EntityHandle *uint32 `protobuf:"varint,2,opt,name=entity_handle,json=entityHandle" json:"entity_handle,omitempty"` + X *int32 `protobuf:"varint,3,opt,name=x" json:"x,omitempty"` + Y *int32 `protobuf:"varint,4,opt,name=y" json:"y,omitempty"` + Duration *int32 `protobuf:"varint,5,opt,name=duration" json:"duration,omitempty"` + TargetEntityHandle *uint32 `protobuf:"varint,6,opt,name=target_entity_handle,json=targetEntityHandle" json:"target_entity_handle,omitempty"` +} + +func (x *CDOTAUserMsg_MinimapEvent) Reset() { + *x = CDOTAUserMsg_MinimapEvent{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[26] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_MinimapEvent) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_MinimapEvent) ProtoMessage() {} + +func (x *CDOTAUserMsg_MinimapEvent) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_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 CDOTAUserMsg_MinimapEvent.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_MinimapEvent) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{26} +} + +func (x *CDOTAUserMsg_MinimapEvent) GetEventType() int32 { + if x != nil && x.EventType != nil { + return *x.EventType + } + return 0 +} + +func (x *CDOTAUserMsg_MinimapEvent) GetEntityHandle() uint32 { + if x != nil && x.EntityHandle != nil { + return *x.EntityHandle + } + return 0 +} + +func (x *CDOTAUserMsg_MinimapEvent) GetX() int32 { + if x != nil && x.X != nil { + return *x.X + } + return 0 +} + +func (x *CDOTAUserMsg_MinimapEvent) GetY() int32 { + if x != nil && x.Y != nil { + return *x.Y + } + return 0 +} + +func (x *CDOTAUserMsg_MinimapEvent) GetDuration() int32 { + if x != nil && x.Duration != nil { + return *x.Duration + } + return 0 +} + +func (x *CDOTAUserMsg_MinimapEvent) GetTargetEntityHandle() uint32 { + if x != nil && x.TargetEntityHandle != nil { + return *x.TargetEntityHandle + } + return 0 +} + +type CDOTAUserMsg_MapLine struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + PlayerId *int32 `protobuf:"varint,1,opt,name=player_id,json=playerId" json:"player_id,omitempty"` + Mapline *CDOTAMsg_MapLine `protobuf:"bytes,2,opt,name=mapline" json:"mapline,omitempty"` +} + +func (x *CDOTAUserMsg_MapLine) Reset() { + *x = CDOTAUserMsg_MapLine{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[27] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_MapLine) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_MapLine) ProtoMessage() {} + +func (x *CDOTAUserMsg_MapLine) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_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 CDOTAUserMsg_MapLine.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_MapLine) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{27} +} + +func (x *CDOTAUserMsg_MapLine) GetPlayerId() int32 { + if x != nil && x.PlayerId != nil { + return *x.PlayerId + } + return 0 +} + +func (x *CDOTAUserMsg_MapLine) GetMapline() *CDOTAMsg_MapLine { + if x != nil { + return x.Mapline + } + return nil +} + +type CDOTAUserMsg_MinimapDebugPoint struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Location *CMsgVector `protobuf:"bytes,1,opt,name=location" json:"location,omitempty"` + Color *uint32 `protobuf:"varint,2,opt,name=color" json:"color,omitempty"` + Size *int32 `protobuf:"varint,3,opt,name=size" json:"size,omitempty"` + Duration *float32 `protobuf:"fixed32,4,opt,name=duration" json:"duration,omitempty"` + Index *int32 `protobuf:"varint,5,opt,name=index" json:"index,omitempty"` +} + +func (x *CDOTAUserMsg_MinimapDebugPoint) Reset() { + *x = CDOTAUserMsg_MinimapDebugPoint{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[28] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_MinimapDebugPoint) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_MinimapDebugPoint) ProtoMessage() {} + +func (x *CDOTAUserMsg_MinimapDebugPoint) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_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 CDOTAUserMsg_MinimapDebugPoint.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_MinimapDebugPoint) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{28} +} + +func (x *CDOTAUserMsg_MinimapDebugPoint) GetLocation() *CMsgVector { + if x != nil { + return x.Location + } + return nil +} + +func (x *CDOTAUserMsg_MinimapDebugPoint) GetColor() uint32 { + if x != nil && x.Color != nil { + return *x.Color + } + return 0 +} + +func (x *CDOTAUserMsg_MinimapDebugPoint) GetSize() int32 { + if x != nil && x.Size != nil { + return *x.Size + } + return 0 +} + +func (x *CDOTAUserMsg_MinimapDebugPoint) GetDuration() float32 { + if x != nil && x.Duration != nil { + return *x.Duration + } + return 0 +} + +func (x *CDOTAUserMsg_MinimapDebugPoint) GetIndex() int32 { + if x != nil && x.Index != nil { + return *x.Index + } + return 0 +} + +type CDOTAUserMsg_CreateLinearProjectile struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Origin *CMsgVector `protobuf:"bytes,1,opt,name=origin" json:"origin,omitempty"` + Velocity *CMsgVector2D `protobuf:"bytes,2,opt,name=velocity" json:"velocity,omitempty"` + Entindex *int32 `protobuf:"varint,4,opt,name=entindex" json:"entindex,omitempty"` + ParticleIndex *uint64 `protobuf:"varint,5,opt,name=particle_index,json=particleIndex" json:"particle_index,omitempty"` + Handle *int32 `protobuf:"varint,6,opt,name=handle" json:"handle,omitempty"` + Acceleration *CMsgVector2D `protobuf:"bytes,7,opt,name=acceleration" json:"acceleration,omitempty"` + MaxSpeed *float32 `protobuf:"fixed32,8,opt,name=max_speed,json=maxSpeed" json:"max_speed,omitempty"` + FowRadius *float32 `protobuf:"fixed32,9,opt,name=fow_radius,json=fowRadius" json:"fow_radius,omitempty"` + StickyFowReveal *bool `protobuf:"varint,10,opt,name=sticky_fow_reveal,json=stickyFowReveal" json:"sticky_fow_reveal,omitempty"` + Distance *float32 `protobuf:"fixed32,11,opt,name=distance" json:"distance,omitempty"` + Colorgemcolor *uint32 `protobuf:"fixed32,12,opt,name=colorgemcolor" json:"colorgemcolor,omitempty"` + ParticleCpData []*CDOTAUserMsg_ProjectileParticleCPData `protobuf:"bytes,13,rep,name=particle_cp_data,json=particleCpData" json:"particle_cp_data,omitempty"` +} + +func (x *CDOTAUserMsg_CreateLinearProjectile) Reset() { + *x = CDOTAUserMsg_CreateLinearProjectile{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[29] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_CreateLinearProjectile) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_CreateLinearProjectile) ProtoMessage() {} + +func (x *CDOTAUserMsg_CreateLinearProjectile) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_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 CDOTAUserMsg_CreateLinearProjectile.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_CreateLinearProjectile) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{29} +} + +func (x *CDOTAUserMsg_CreateLinearProjectile) GetOrigin() *CMsgVector { + if x != nil { + return x.Origin + } + return nil +} + +func (x *CDOTAUserMsg_CreateLinearProjectile) GetVelocity() *CMsgVector2D { + if x != nil { + return x.Velocity + } + return nil +} + +func (x *CDOTAUserMsg_CreateLinearProjectile) GetEntindex() int32 { + if x != nil && x.Entindex != nil { + return *x.Entindex + } + return 0 +} + +func (x *CDOTAUserMsg_CreateLinearProjectile) GetParticleIndex() uint64 { + if x != nil && x.ParticleIndex != nil { + return *x.ParticleIndex + } + return 0 +} + +func (x *CDOTAUserMsg_CreateLinearProjectile) GetHandle() int32 { + if x != nil && x.Handle != nil { + return *x.Handle + } + return 0 +} + +func (x *CDOTAUserMsg_CreateLinearProjectile) GetAcceleration() *CMsgVector2D { + if x != nil { + return x.Acceleration + } + return nil +} + +func (x *CDOTAUserMsg_CreateLinearProjectile) GetMaxSpeed() float32 { + if x != nil && x.MaxSpeed != nil { + return *x.MaxSpeed + } + return 0 +} + +func (x *CDOTAUserMsg_CreateLinearProjectile) GetFowRadius() float32 { + if x != nil && x.FowRadius != nil { + return *x.FowRadius + } + return 0 +} + +func (x *CDOTAUserMsg_CreateLinearProjectile) GetStickyFowReveal() bool { + if x != nil && x.StickyFowReveal != nil { + return *x.StickyFowReveal + } + return false +} + +func (x *CDOTAUserMsg_CreateLinearProjectile) GetDistance() float32 { + if x != nil && x.Distance != nil { + return *x.Distance + } + return 0 +} + +func (x *CDOTAUserMsg_CreateLinearProjectile) GetColorgemcolor() uint32 { + if x != nil && x.Colorgemcolor != nil { + return *x.Colorgemcolor + } + return 0 +} + +func (x *CDOTAUserMsg_CreateLinearProjectile) GetParticleCpData() []*CDOTAUserMsg_ProjectileParticleCPData { + if x != nil { + return x.ParticleCpData + } + return nil +} + +type CDOTAUserMsg_DestroyLinearProjectile struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Handle *int32 `protobuf:"varint,1,opt,name=handle" json:"handle,omitempty"` +} + +func (x *CDOTAUserMsg_DestroyLinearProjectile) Reset() { + *x = CDOTAUserMsg_DestroyLinearProjectile{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[30] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_DestroyLinearProjectile) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_DestroyLinearProjectile) ProtoMessage() {} + +func (x *CDOTAUserMsg_DestroyLinearProjectile) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_proto_msgTypes[30] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CDOTAUserMsg_DestroyLinearProjectile.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_DestroyLinearProjectile) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{30} +} + +func (x *CDOTAUserMsg_DestroyLinearProjectile) GetHandle() int32 { + if x != nil && x.Handle != nil { + return *x.Handle + } + return 0 +} + +type CDOTAUserMsg_DodgeTrackingProjectiles struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Entindex *int32 `protobuf:"varint,1,req,name=entindex" json:"entindex,omitempty"` + AttacksOnly *bool `protobuf:"varint,2,opt,name=attacks_only,json=attacksOnly" json:"attacks_only,omitempty"` +} + +func (x *CDOTAUserMsg_DodgeTrackingProjectiles) Reset() { + *x = CDOTAUserMsg_DodgeTrackingProjectiles{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[31] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_DodgeTrackingProjectiles) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_DodgeTrackingProjectiles) ProtoMessage() {} + +func (x *CDOTAUserMsg_DodgeTrackingProjectiles) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_proto_msgTypes[31] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CDOTAUserMsg_DodgeTrackingProjectiles.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_DodgeTrackingProjectiles) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{31} +} + +func (x *CDOTAUserMsg_DodgeTrackingProjectiles) GetEntindex() int32 { + if x != nil && x.Entindex != nil { + return *x.Entindex + } + return 0 +} + +func (x *CDOTAUserMsg_DodgeTrackingProjectiles) GetAttacksOnly() bool { + if x != nil && x.AttacksOnly != nil { + return *x.AttacksOnly + } + return false +} + +type CDOTAUserMsg_SpectatorPlayerClick struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Entindex *int32 `protobuf:"varint,1,req,name=entindex" json:"entindex,omitempty"` + OrderType *int32 `protobuf:"varint,2,opt,name=order_type,json=orderType" json:"order_type,omitempty"` + TargetIndex *int32 `protobuf:"varint,3,opt,name=target_index,json=targetIndex" json:"target_index,omitempty"` +} + +func (x *CDOTAUserMsg_SpectatorPlayerClick) Reset() { + *x = CDOTAUserMsg_SpectatorPlayerClick{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[32] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_SpectatorPlayerClick) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_SpectatorPlayerClick) ProtoMessage() {} + +func (x *CDOTAUserMsg_SpectatorPlayerClick) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_proto_msgTypes[32] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CDOTAUserMsg_SpectatorPlayerClick.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_SpectatorPlayerClick) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{32} +} + +func (x *CDOTAUserMsg_SpectatorPlayerClick) GetEntindex() int32 { + if x != nil && x.Entindex != nil { + return *x.Entindex + } + return 0 +} + +func (x *CDOTAUserMsg_SpectatorPlayerClick) GetOrderType() int32 { + if x != nil && x.OrderType != nil { + return *x.OrderType + } + return 0 +} + +func (x *CDOTAUserMsg_SpectatorPlayerClick) GetTargetIndex() int32 { + if x != nil && x.TargetIndex != nil { + return *x.TargetIndex + } + return 0 +} + +type CDOTAUserMsg_SpectatorPlayerUnitOrders struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Entindex *int32 `protobuf:"varint,1,opt,name=entindex" json:"entindex,omitempty"` + OrderType *int32 `protobuf:"varint,2,opt,name=order_type,json=orderType" json:"order_type,omitempty"` + Units []int32 `protobuf:"varint,3,rep,name=units" json:"units,omitempty"` + TargetIndex *int32 `protobuf:"varint,4,opt,name=target_index,json=targetIndex" json:"target_index,omitempty"` + AbilityId *int32 `protobuf:"varint,5,opt,name=ability_id,json=abilityId" json:"ability_id,omitempty"` + Position *CMsgVector `protobuf:"bytes,6,opt,name=position" json:"position,omitempty"` + Queue *bool `protobuf:"varint,7,opt,name=queue" json:"queue,omitempty"` + SequenceNumber *int32 `protobuf:"varint,8,opt,name=sequence_number,json=sequenceNumber" json:"sequence_number,omitempty"` + Flags *uint32 `protobuf:"varint,9,opt,name=flags" json:"flags,omitempty"` +} + +func (x *CDOTAUserMsg_SpectatorPlayerUnitOrders) Reset() { + *x = CDOTAUserMsg_SpectatorPlayerUnitOrders{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[33] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_SpectatorPlayerUnitOrders) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_SpectatorPlayerUnitOrders) ProtoMessage() {} + +func (x *CDOTAUserMsg_SpectatorPlayerUnitOrders) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_proto_msgTypes[33] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CDOTAUserMsg_SpectatorPlayerUnitOrders.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_SpectatorPlayerUnitOrders) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{33} +} + +func (x *CDOTAUserMsg_SpectatorPlayerUnitOrders) GetEntindex() int32 { + if x != nil && x.Entindex != nil { + return *x.Entindex + } + return 0 +} + +func (x *CDOTAUserMsg_SpectatorPlayerUnitOrders) GetOrderType() int32 { + if x != nil && x.OrderType != nil { + return *x.OrderType + } + return 0 +} + +func (x *CDOTAUserMsg_SpectatorPlayerUnitOrders) GetUnits() []int32 { + if x != nil { + return x.Units + } + return nil +} + +func (x *CDOTAUserMsg_SpectatorPlayerUnitOrders) GetTargetIndex() int32 { + if x != nil && x.TargetIndex != nil { + return *x.TargetIndex + } + return 0 +} + +func (x *CDOTAUserMsg_SpectatorPlayerUnitOrders) GetAbilityId() int32 { + if x != nil && x.AbilityId != nil { + return *x.AbilityId + } + return 0 +} + +func (x *CDOTAUserMsg_SpectatorPlayerUnitOrders) GetPosition() *CMsgVector { + if x != nil { + return x.Position + } + return nil +} + +func (x *CDOTAUserMsg_SpectatorPlayerUnitOrders) GetQueue() bool { + if x != nil && x.Queue != nil { + return *x.Queue + } + return false +} + +func (x *CDOTAUserMsg_SpectatorPlayerUnitOrders) GetSequenceNumber() int32 { + if x != nil && x.SequenceNumber != nil { + return *x.SequenceNumber + } + return 0 +} + +func (x *CDOTAUserMsg_SpectatorPlayerUnitOrders) GetFlags() uint32 { + if x != nil && x.Flags != nil { + return *x.Flags + } + return 0 +} + +type CDOTAUserMsg_NevermoreRequiem struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + EntityHandle *uint32 `protobuf:"varint,1,opt,name=entity_handle,json=entityHandle" json:"entity_handle,omitempty"` + Lines *int32 `protobuf:"varint,2,opt,name=lines" json:"lines,omitempty"` + Origin *CMsgVector `protobuf:"bytes,3,opt,name=origin" json:"origin,omitempty"` + Reverse *bool `protobuf:"varint,4,opt,name=reverse" json:"reverse,omitempty"` +} + +func (x *CDOTAUserMsg_NevermoreRequiem) Reset() { + *x = CDOTAUserMsg_NevermoreRequiem{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[34] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_NevermoreRequiem) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_NevermoreRequiem) ProtoMessage() {} + +func (x *CDOTAUserMsg_NevermoreRequiem) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_proto_msgTypes[34] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CDOTAUserMsg_NevermoreRequiem.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_NevermoreRequiem) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{34} +} + +func (x *CDOTAUserMsg_NevermoreRequiem) GetEntityHandle() uint32 { + if x != nil && x.EntityHandle != nil { + return *x.EntityHandle + } + return 0 +} + +func (x *CDOTAUserMsg_NevermoreRequiem) GetLines() int32 { + if x != nil && x.Lines != nil { + return *x.Lines + } + return 0 +} + +func (x *CDOTAUserMsg_NevermoreRequiem) GetOrigin() *CMsgVector { + if x != nil { + return x.Origin + } + return nil +} + +func (x *CDOTAUserMsg_NevermoreRequiem) GetReverse() bool { + if x != nil && x.Reverse != nil { + return *x.Reverse + } + return false +} + +type CDOTAUserMsg_InvalidCommand struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Message *string `protobuf:"bytes,1,opt,name=message" json:"message,omitempty"` + SequenceNumber *int32 `protobuf:"varint,2,opt,name=sequence_number,json=sequenceNumber" json:"sequence_number,omitempty"` +} + +func (x *CDOTAUserMsg_InvalidCommand) Reset() { + *x = CDOTAUserMsg_InvalidCommand{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[35] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_InvalidCommand) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_InvalidCommand) ProtoMessage() {} + +func (x *CDOTAUserMsg_InvalidCommand) ProtoReflect() protoreflect.Message { + mi := &file_dota_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 CDOTAUserMsg_InvalidCommand.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_InvalidCommand) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{35} +} + +func (x *CDOTAUserMsg_InvalidCommand) GetMessage() string { + if x != nil && x.Message != nil { + return *x.Message + } + return "" +} + +func (x *CDOTAUserMsg_InvalidCommand) GetSequenceNumber() int32 { + if x != nil && x.SequenceNumber != nil { + return *x.SequenceNumber + } + return 0 +} + +type CDOTAUserMsg_HudError struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + OrderId *int32 `protobuf:"varint,1,opt,name=order_id,json=orderId" json:"order_id,omitempty"` + SequenceNumber *int32 `protobuf:"varint,2,opt,name=sequence_number,json=sequenceNumber" json:"sequence_number,omitempty"` +} + +func (x *CDOTAUserMsg_HudError) Reset() { + *x = CDOTAUserMsg_HudError{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[36] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_HudError) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_HudError) ProtoMessage() {} + +func (x *CDOTAUserMsg_HudError) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_proto_msgTypes[36] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CDOTAUserMsg_HudError.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_HudError) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{36} +} + +func (x *CDOTAUserMsg_HudError) GetOrderId() int32 { + if x != nil && x.OrderId != nil { + return *x.OrderId + } + return 0 +} + +func (x *CDOTAUserMsg_HudError) GetSequenceNumber() int32 { + if x != nil && x.SequenceNumber != nil { + return *x.SequenceNumber + } + return 0 +} + +type CDOTAUserMsg_SharedCooldown struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Entindex *int32 `protobuf:"varint,1,opt,name=entindex" json:"entindex,omitempty"` + Name *string `protobuf:"bytes,2,opt,name=name" json:"name,omitempty"` + Cooldown *float32 `protobuf:"fixed32,3,opt,name=cooldown" json:"cooldown,omitempty"` + NameIndex *int32 `protobuf:"varint,4,opt,name=name_index,json=nameIndex" json:"name_index,omitempty"` +} + +func (x *CDOTAUserMsg_SharedCooldown) Reset() { + *x = CDOTAUserMsg_SharedCooldown{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[37] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_SharedCooldown) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_SharedCooldown) ProtoMessage() {} + +func (x *CDOTAUserMsg_SharedCooldown) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_proto_msgTypes[37] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CDOTAUserMsg_SharedCooldown.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_SharedCooldown) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{37} +} + +func (x *CDOTAUserMsg_SharedCooldown) GetEntindex() int32 { + if x != nil && x.Entindex != nil { + return *x.Entindex + } + return 0 +} + +func (x *CDOTAUserMsg_SharedCooldown) GetName() string { + if x != nil && x.Name != nil { + return *x.Name + } + return "" +} + +func (x *CDOTAUserMsg_SharedCooldown) GetCooldown() float32 { + if x != nil && x.Cooldown != nil { + return *x.Cooldown + } + return 0 +} + +func (x *CDOTAUserMsg_SharedCooldown) GetNameIndex() int32 { + if x != nil && x.NameIndex != nil { + return *x.NameIndex + } + return 0 +} + +type CDOTAUserMsg_SetNextAutobuyItem struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"` +} + +func (x *CDOTAUserMsg_SetNextAutobuyItem) Reset() { + *x = CDOTAUserMsg_SetNextAutobuyItem{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[38] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_SetNextAutobuyItem) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_SetNextAutobuyItem) ProtoMessage() {} + +func (x *CDOTAUserMsg_SetNextAutobuyItem) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_proto_msgTypes[38] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CDOTAUserMsg_SetNextAutobuyItem.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_SetNextAutobuyItem) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{38} +} + +func (x *CDOTAUserMsg_SetNextAutobuyItem) GetName() string { + if x != nil && x.Name != nil { + return *x.Name + } + return "" +} + +type CDOTAUserMsg_HalloweenDrops struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ItemDefs []uint32 `protobuf:"varint,1,rep,name=item_defs,json=itemDefs" json:"item_defs,omitempty"` + PlayerIds []int32 `protobuf:"varint,2,rep,name=player_ids,json=playerIds" json:"player_ids,omitempty"` + PrizeList *uint32 `protobuf:"varint,3,opt,name=prize_list,json=prizeList" json:"prize_list,omitempty"` +} + +func (x *CDOTAUserMsg_HalloweenDrops) Reset() { + *x = CDOTAUserMsg_HalloweenDrops{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[39] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_HalloweenDrops) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_HalloweenDrops) ProtoMessage() {} + +func (x *CDOTAUserMsg_HalloweenDrops) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_proto_msgTypes[39] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CDOTAUserMsg_HalloweenDrops.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_HalloweenDrops) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{39} +} + +func (x *CDOTAUserMsg_HalloweenDrops) GetItemDefs() []uint32 { + if x != nil { + return x.ItemDefs + } + return nil +} + +func (x *CDOTAUserMsg_HalloweenDrops) GetPlayerIds() []int32 { + if x != nil { + return x.PlayerIds + } + return nil +} + +func (x *CDOTAUserMsg_HalloweenDrops) GetPrizeList() uint32 { + if x != nil && x.PrizeList != nil { + return *x.PrizeList + } + return 0 +} + +type CDOTAUserMsg_PredictionResult struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + AccountId *uint32 `protobuf:"varint,1,opt,name=account_id,json=accountId" json:"account_id,omitempty"` + MatchId *uint64 `protobuf:"varint,2,opt,name=match_id,json=matchId" json:"match_id,omitempty"` + Correct *bool `protobuf:"varint,3,opt,name=correct" json:"correct,omitempty"` + Predictions []*CDOTAUserMsg_PredictionResult_Prediction `protobuf:"bytes,4,rep,name=predictions" json:"predictions,omitempty"` +} + +func (x *CDOTAUserMsg_PredictionResult) Reset() { + *x = CDOTAUserMsg_PredictionResult{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[40] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_PredictionResult) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_PredictionResult) ProtoMessage() {} + +func (x *CDOTAUserMsg_PredictionResult) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_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 CDOTAUserMsg_PredictionResult.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_PredictionResult) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{40} +} + +func (x *CDOTAUserMsg_PredictionResult) GetAccountId() uint32 { + if x != nil && x.AccountId != nil { + return *x.AccountId + } + return 0 +} + +func (x *CDOTAUserMsg_PredictionResult) GetMatchId() uint64 { + if x != nil && x.MatchId != nil { + return *x.MatchId + } + return 0 +} + +func (x *CDOTAUserMsg_PredictionResult) GetCorrect() bool { + if x != nil && x.Correct != nil { + return *x.Correct + } + return false +} + +func (x *CDOTAUserMsg_PredictionResult) GetPredictions() []*CDOTAUserMsg_PredictionResult_Prediction { + if x != nil { + return x.Predictions + } + return nil +} + +type CDOTAResponseQuerySerialized struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Facts []*CDOTAResponseQuerySerialized_Fact `protobuf:"bytes,1,rep,name=facts" json:"facts,omitempty"` +} + +func (x *CDOTAResponseQuerySerialized) Reset() { + *x = CDOTAResponseQuerySerialized{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[41] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAResponseQuerySerialized) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAResponseQuerySerialized) ProtoMessage() {} + +func (x *CDOTAResponseQuerySerialized) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_proto_msgTypes[41] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CDOTAResponseQuerySerialized.ProtoReflect.Descriptor instead. +func (*CDOTAResponseQuerySerialized) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{41} +} + +func (x *CDOTAResponseQuerySerialized) GetFacts() []*CDOTAResponseQuerySerialized_Fact { + if x != nil { + return x.Facts + } + return nil +} + +type CDOTASpeechMatchOnClient struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + SpeechConcept *int32 `protobuf:"varint,1,opt,name=speech_concept,json=speechConcept" json:"speech_concept,omitempty"` + RecipientType *int32 `protobuf:"varint,2,opt,name=recipient_type,json=recipientType" json:"recipient_type,omitempty"` + Responsequery *CDOTAResponseQuerySerialized `protobuf:"bytes,3,opt,name=responsequery" json:"responsequery,omitempty"` + Randomseed *int32 `protobuf:"fixed32,4,opt,name=randomseed,def=0" json:"randomseed,omitempty"` +} + +// Default values for CDOTASpeechMatchOnClient fields. +const ( + Default_CDOTASpeechMatchOnClient_Randomseed = int32(0) +) + +func (x *CDOTASpeechMatchOnClient) Reset() { + *x = CDOTASpeechMatchOnClient{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[42] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTASpeechMatchOnClient) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTASpeechMatchOnClient) ProtoMessage() {} + +func (x *CDOTASpeechMatchOnClient) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_proto_msgTypes[42] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CDOTASpeechMatchOnClient.ProtoReflect.Descriptor instead. +func (*CDOTASpeechMatchOnClient) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{42} +} + +func (x *CDOTASpeechMatchOnClient) GetSpeechConcept() int32 { + if x != nil && x.SpeechConcept != nil { + return *x.SpeechConcept + } + return 0 +} + +func (x *CDOTASpeechMatchOnClient) GetRecipientType() int32 { + if x != nil && x.RecipientType != nil { + return *x.RecipientType + } + return 0 +} + +func (x *CDOTASpeechMatchOnClient) GetResponsequery() *CDOTAResponseQuerySerialized { + if x != nil { + return x.Responsequery + } + return nil +} + +func (x *CDOTASpeechMatchOnClient) GetRandomseed() int32 { + if x != nil && x.Randomseed != nil { + return *x.Randomseed + } + return Default_CDOTASpeechMatchOnClient_Randomseed +} + +type CDOTAUserMsg_UnitEvent struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + MsgType *EDotaEntityMessages `protobuf:"varint,1,req,name=msg_type,json=msgType,enum=EDotaEntityMessages,def=0" json:"msg_type,omitempty"` + EntityIndex *int32 `protobuf:"varint,2,req,name=entity_index,json=entityIndex" json:"entity_index,omitempty"` + Speech *CDOTAUserMsg_UnitEvent_Speech `protobuf:"bytes,3,opt,name=speech" json:"speech,omitempty"` + SpeechMute *CDOTAUserMsg_UnitEvent_SpeechMute `protobuf:"bytes,4,opt,name=speech_mute,json=speechMute" json:"speech_mute,omitempty"` + AddGesture *CDOTAUserMsg_UnitEvent_AddGesture `protobuf:"bytes,5,opt,name=add_gesture,json=addGesture" json:"add_gesture,omitempty"` + RemoveGesture *CDOTAUserMsg_UnitEvent_RemoveGesture `protobuf:"bytes,6,opt,name=remove_gesture,json=removeGesture" json:"remove_gesture,omitempty"` + BloodImpact *CDOTAUserMsg_UnitEvent_BloodImpact `protobuf:"bytes,7,opt,name=blood_impact,json=bloodImpact" json:"blood_impact,omitempty"` + FadeGesture *CDOTAUserMsg_UnitEvent_FadeGesture `protobuf:"bytes,8,opt,name=fade_gesture,json=fadeGesture" json:"fade_gesture,omitempty"` + SpeechMatchOnClient *CDOTASpeechMatchOnClient `protobuf:"bytes,9,opt,name=speech_match_on_client,json=speechMatchOnClient" json:"speech_match_on_client,omitempty"` +} + +// Default values for CDOTAUserMsg_UnitEvent fields. +const ( + Default_CDOTAUserMsg_UnitEvent_MsgType = EDotaEntityMessages_DOTA_UNIT_SPEECH +) + +func (x *CDOTAUserMsg_UnitEvent) Reset() { + *x = CDOTAUserMsg_UnitEvent{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[43] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_UnitEvent) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_UnitEvent) ProtoMessage() {} + +func (x *CDOTAUserMsg_UnitEvent) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_proto_msgTypes[43] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CDOTAUserMsg_UnitEvent.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_UnitEvent) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{43} +} + +func (x *CDOTAUserMsg_UnitEvent) GetMsgType() EDotaEntityMessages { + if x != nil && x.MsgType != nil { + return *x.MsgType + } + return Default_CDOTAUserMsg_UnitEvent_MsgType +} + +func (x *CDOTAUserMsg_UnitEvent) GetEntityIndex() int32 { + if x != nil && x.EntityIndex != nil { + return *x.EntityIndex + } + return 0 +} + +func (x *CDOTAUserMsg_UnitEvent) GetSpeech() *CDOTAUserMsg_UnitEvent_Speech { + if x != nil { + return x.Speech + } + return nil +} + +func (x *CDOTAUserMsg_UnitEvent) GetSpeechMute() *CDOTAUserMsg_UnitEvent_SpeechMute { + if x != nil { + return x.SpeechMute + } + return nil +} + +func (x *CDOTAUserMsg_UnitEvent) GetAddGesture() *CDOTAUserMsg_UnitEvent_AddGesture { + if x != nil { + return x.AddGesture + } + return nil +} + +func (x *CDOTAUserMsg_UnitEvent) GetRemoveGesture() *CDOTAUserMsg_UnitEvent_RemoveGesture { + if x != nil { + return x.RemoveGesture + } + return nil +} + +func (x *CDOTAUserMsg_UnitEvent) GetBloodImpact() *CDOTAUserMsg_UnitEvent_BloodImpact { + if x != nil { + return x.BloodImpact + } + return nil +} + +func (x *CDOTAUserMsg_UnitEvent) GetFadeGesture() *CDOTAUserMsg_UnitEvent_FadeGesture { + if x != nil { + return x.FadeGesture + } + return nil +} + +func (x *CDOTAUserMsg_UnitEvent) GetSpeechMatchOnClient() *CDOTASpeechMatchOnClient { + if x != nil { + return x.SpeechMatchOnClient + } + return nil +} + +type CDOTAUserMsg_ItemPurchased struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ItemAbilityId *int32 `protobuf:"varint,1,opt,name=item_ability_id,json=itemAbilityId" json:"item_ability_id,omitempty"` +} + +func (x *CDOTAUserMsg_ItemPurchased) Reset() { + *x = CDOTAUserMsg_ItemPurchased{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[44] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_ItemPurchased) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_ItemPurchased) ProtoMessage() {} + +func (x *CDOTAUserMsg_ItemPurchased) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_proto_msgTypes[44] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CDOTAUserMsg_ItemPurchased.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_ItemPurchased) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{44} +} + +func (x *CDOTAUserMsg_ItemPurchased) GetItemAbilityId() int32 { + if x != nil && x.ItemAbilityId != nil { + return *x.ItemAbilityId + } + return 0 +} + +type CDOTAUserMsg_ItemSold struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ItemAbilityId *int32 `protobuf:"varint,1,opt,name=item_ability_id,json=itemAbilityId" json:"item_ability_id,omitempty"` +} + +func (x *CDOTAUserMsg_ItemSold) Reset() { + *x = CDOTAUserMsg_ItemSold{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[45] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_ItemSold) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_ItemSold) ProtoMessage() {} + +func (x *CDOTAUserMsg_ItemSold) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_proto_msgTypes[45] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CDOTAUserMsg_ItemSold.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_ItemSold) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{45} +} + +func (x *CDOTAUserMsg_ItemSold) GetItemAbilityId() int32 { + if x != nil && x.ItemAbilityId != nil { + return *x.ItemAbilityId + } + return 0 +} + +type CDOTAUserMsg_ItemFound struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Player *int32 `protobuf:"varint,1,opt,name=player" json:"player,omitempty"` + Quality *int32 `protobuf:"varint,2,opt,name=quality" json:"quality,omitempty"` + Rarity *int32 `protobuf:"varint,3,opt,name=rarity" json:"rarity,omitempty"` + Method *int32 `protobuf:"varint,4,opt,name=method" json:"method,omitempty"` + Itemdef *uint32 `protobuf:"varint,5,opt,name=itemdef" json:"itemdef,omitempty"` +} + +func (x *CDOTAUserMsg_ItemFound) Reset() { + *x = CDOTAUserMsg_ItemFound{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[46] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_ItemFound) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_ItemFound) ProtoMessage() {} + +func (x *CDOTAUserMsg_ItemFound) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_proto_msgTypes[46] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CDOTAUserMsg_ItemFound.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_ItemFound) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{46} +} + +func (x *CDOTAUserMsg_ItemFound) GetPlayer() int32 { + if x != nil && x.Player != nil { + return *x.Player + } + return 0 +} + +func (x *CDOTAUserMsg_ItemFound) GetQuality() int32 { + if x != nil && x.Quality != nil { + return *x.Quality + } + return 0 +} + +func (x *CDOTAUserMsg_ItemFound) GetRarity() int32 { + if x != nil && x.Rarity != nil { + return *x.Rarity + } + return 0 +} + +func (x *CDOTAUserMsg_ItemFound) GetMethod() int32 { + if x != nil && x.Method != nil { + return *x.Method + } + return 0 +} + +func (x *CDOTAUserMsg_ItemFound) GetItemdef() uint32 { + if x != nil && x.Itemdef != nil { + return *x.Itemdef + } + return 0 +} + +type CDOTAUserMsg_OverheadEvent struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + MessageType *DOTA_OVERHEAD_ALERT `protobuf:"varint,1,req,name=message_type,json=messageType,enum=DOTA_OVERHEAD_ALERT,def=0" json:"message_type,omitempty"` + Value *int32 `protobuf:"varint,2,opt,name=value" json:"value,omitempty"` + TargetPlayerEntindex *int32 `protobuf:"varint,3,opt,name=target_player_entindex,json=targetPlayerEntindex" json:"target_player_entindex,omitempty"` + TargetEntindex *int32 `protobuf:"varint,4,opt,name=target_entindex,json=targetEntindex" json:"target_entindex,omitempty"` + SourcePlayerEntindex *int32 `protobuf:"varint,5,opt,name=source_player_entindex,json=sourcePlayerEntindex" json:"source_player_entindex,omitempty"` +} + +// Default values for CDOTAUserMsg_OverheadEvent fields. +const ( + Default_CDOTAUserMsg_OverheadEvent_MessageType = DOTA_OVERHEAD_ALERT_OVERHEAD_ALERT_GOLD +) + +func (x *CDOTAUserMsg_OverheadEvent) Reset() { + *x = CDOTAUserMsg_OverheadEvent{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[47] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_OverheadEvent) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_OverheadEvent) ProtoMessage() {} + +func (x *CDOTAUserMsg_OverheadEvent) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_proto_msgTypes[47] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CDOTAUserMsg_OverheadEvent.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_OverheadEvent) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{47} +} + +func (x *CDOTAUserMsg_OverheadEvent) GetMessageType() DOTA_OVERHEAD_ALERT { + if x != nil && x.MessageType != nil { + return *x.MessageType + } + return Default_CDOTAUserMsg_OverheadEvent_MessageType +} + +func (x *CDOTAUserMsg_OverheadEvent) GetValue() int32 { + if x != nil && x.Value != nil { + return *x.Value + } + return 0 +} + +func (x *CDOTAUserMsg_OverheadEvent) GetTargetPlayerEntindex() int32 { + if x != nil && x.TargetPlayerEntindex != nil { + return *x.TargetPlayerEntindex + } + return 0 +} + +func (x *CDOTAUserMsg_OverheadEvent) GetTargetEntindex() int32 { + if x != nil && x.TargetEntindex != nil { + return *x.TargetEntindex + } + return 0 +} + +func (x *CDOTAUserMsg_OverheadEvent) GetSourcePlayerEntindex() int32 { + if x != nil && x.SourcePlayerEntindex != nil { + return *x.SourcePlayerEntindex + } + return 0 +} + +type CDOTAUserMsg_TutorialTipInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"` + Progress *int32 `protobuf:"varint,2,opt,name=progress" json:"progress,omitempty"` +} + +func (x *CDOTAUserMsg_TutorialTipInfo) Reset() { + *x = CDOTAUserMsg_TutorialTipInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[48] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_TutorialTipInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_TutorialTipInfo) ProtoMessage() {} + +func (x *CDOTAUserMsg_TutorialTipInfo) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_proto_msgTypes[48] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CDOTAUserMsg_TutorialTipInfo.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_TutorialTipInfo) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{48} +} + +func (x *CDOTAUserMsg_TutorialTipInfo) GetName() string { + if x != nil && x.Name != nil { + return *x.Name + } + return "" +} + +func (x *CDOTAUserMsg_TutorialTipInfo) GetProgress() int32 { + if x != nil && x.Progress != nil { + return *x.Progress + } + return 0 +} + +type CDOTAUserMsg_TutorialFinish struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Heading *string `protobuf:"bytes,1,opt,name=heading" json:"heading,omitempty"` + Emblem *string `protobuf:"bytes,2,opt,name=emblem" json:"emblem,omitempty"` + Body *string `protobuf:"bytes,3,opt,name=body" json:"body,omitempty"` + Success *bool `protobuf:"varint,4,opt,name=success" json:"success,omitempty"` +} + +func (x *CDOTAUserMsg_TutorialFinish) Reset() { + *x = CDOTAUserMsg_TutorialFinish{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[49] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_TutorialFinish) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_TutorialFinish) ProtoMessage() {} + +func (x *CDOTAUserMsg_TutorialFinish) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_proto_msgTypes[49] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CDOTAUserMsg_TutorialFinish.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_TutorialFinish) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{49} +} + +func (x *CDOTAUserMsg_TutorialFinish) GetHeading() string { + if x != nil && x.Heading != nil { + return *x.Heading + } + return "" +} + +func (x *CDOTAUserMsg_TutorialFinish) GetEmblem() string { + if x != nil && x.Emblem != nil { + return *x.Emblem + } + return "" +} + +func (x *CDOTAUserMsg_TutorialFinish) GetBody() string { + if x != nil && x.Body != nil { + return *x.Body + } + return "" +} + +func (x *CDOTAUserMsg_TutorialFinish) GetSuccess() bool { + if x != nil && x.Success != nil { + return *x.Success + } + return false +} + +type CDOTAUserMsg_TutorialMinimapPosition struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *CDOTAUserMsg_TutorialMinimapPosition) Reset() { + *x = CDOTAUserMsg_TutorialMinimapPosition{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[50] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_TutorialMinimapPosition) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_TutorialMinimapPosition) ProtoMessage() {} + +func (x *CDOTAUserMsg_TutorialMinimapPosition) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_proto_msgTypes[50] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CDOTAUserMsg_TutorialMinimapPosition.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_TutorialMinimapPosition) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{50} +} + +type CDOTAUserMsg_SendGenericToolTip struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Title *string `protobuf:"bytes,1,opt,name=title" json:"title,omitempty"` + Text *string `protobuf:"bytes,2,opt,name=text" json:"text,omitempty"` + Entindex *int32 `protobuf:"varint,3,opt,name=entindex" json:"entindex,omitempty"` + Close *bool `protobuf:"varint,4,opt,name=close" json:"close,omitempty"` +} + +func (x *CDOTAUserMsg_SendGenericToolTip) Reset() { + *x = CDOTAUserMsg_SendGenericToolTip{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[51] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_SendGenericToolTip) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_SendGenericToolTip) ProtoMessage() {} + +func (x *CDOTAUserMsg_SendGenericToolTip) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_proto_msgTypes[51] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CDOTAUserMsg_SendGenericToolTip.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_SendGenericToolTip) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{51} +} + +func (x *CDOTAUserMsg_SendGenericToolTip) GetTitle() string { + if x != nil && x.Title != nil { + return *x.Title + } + return "" +} + +func (x *CDOTAUserMsg_SendGenericToolTip) GetText() string { + if x != nil && x.Text != nil { + return *x.Text + } + return "" +} + +func (x *CDOTAUserMsg_SendGenericToolTip) GetEntindex() int32 { + if x != nil && x.Entindex != nil { + return *x.Entindex + } + return 0 +} + +func (x *CDOTAUserMsg_SendGenericToolTip) GetClose() bool { + if x != nil && x.Close != nil { + return *x.Close + } + return false +} + +type CDOTAUserMsg_WorldLine struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + PlayerId *int32 `protobuf:"varint,1,opt,name=player_id,json=playerId" json:"player_id,omitempty"` + Worldline *CDOTAMsg_WorldLine `protobuf:"bytes,2,opt,name=worldline" json:"worldline,omitempty"` +} + +func (x *CDOTAUserMsg_WorldLine) Reset() { + *x = CDOTAUserMsg_WorldLine{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[52] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_WorldLine) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_WorldLine) ProtoMessage() {} + +func (x *CDOTAUserMsg_WorldLine) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_proto_msgTypes[52] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CDOTAUserMsg_WorldLine.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_WorldLine) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{52} +} + +func (x *CDOTAUserMsg_WorldLine) GetPlayerId() int32 { + if x != nil && x.PlayerId != nil { + return *x.PlayerId + } + return 0 +} + +func (x *CDOTAUserMsg_WorldLine) GetWorldline() *CDOTAMsg_WorldLine { + if x != nil { + return x.Worldline + } + return nil +} + +type CDOTAUserMsg_ChatWheel struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ChatMessageId *uint32 `protobuf:"varint,1,opt,name=chat_message_id,json=chatMessageId" json:"chat_message_id,omitempty"` + PlayerId *int32 `protobuf:"varint,2,opt,name=player_id,json=playerId" json:"player_id,omitempty"` + AccountId *uint32 `protobuf:"varint,3,opt,name=account_id,json=accountId" json:"account_id,omitempty"` + ParamHeroId *uint32 `protobuf:"varint,4,opt,name=param_hero_id,json=paramHeroId" json:"param_hero_id,omitempty"` + EmoticonId *uint32 `protobuf:"varint,5,opt,name=emoticon_id,json=emoticonId" json:"emoticon_id,omitempty"` +} + +func (x *CDOTAUserMsg_ChatWheel) Reset() { + *x = CDOTAUserMsg_ChatWheel{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[53] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_ChatWheel) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_ChatWheel) ProtoMessage() {} + +func (x *CDOTAUserMsg_ChatWheel) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_proto_msgTypes[53] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CDOTAUserMsg_ChatWheel.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_ChatWheel) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{53} +} + +func (x *CDOTAUserMsg_ChatWheel) GetChatMessageId() uint32 { + if x != nil && x.ChatMessageId != nil { + return *x.ChatMessageId + } + return 0 +} + +func (x *CDOTAUserMsg_ChatWheel) GetPlayerId() int32 { + if x != nil && x.PlayerId != nil { + return *x.PlayerId + } + return 0 +} + +func (x *CDOTAUserMsg_ChatWheel) GetAccountId() uint32 { + if x != nil && x.AccountId != nil { + return *x.AccountId + } + return 0 +} + +func (x *CDOTAUserMsg_ChatWheel) GetParamHeroId() uint32 { + if x != nil && x.ParamHeroId != nil { + return *x.ParamHeroId + } + return 0 +} + +func (x *CDOTAUserMsg_ChatWheel) GetEmoticonId() uint32 { + if x != nil && x.EmoticonId != nil { + return *x.EmoticonId + } + return 0 +} + +type CDOTAUserMsg_ReceivedXmasGift struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + PlayerId *int32 `protobuf:"varint,1,opt,name=player_id,json=playerId" json:"player_id,omitempty"` + ItemName *string `protobuf:"bytes,2,opt,name=item_name,json=itemName" json:"item_name,omitempty"` + InventorySlot *int32 `protobuf:"varint,3,opt,name=inventory_slot,json=inventorySlot" json:"inventory_slot,omitempty"` +} + +func (x *CDOTAUserMsg_ReceivedXmasGift) Reset() { + *x = CDOTAUserMsg_ReceivedXmasGift{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[54] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_ReceivedXmasGift) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_ReceivedXmasGift) ProtoMessage() {} + +func (x *CDOTAUserMsg_ReceivedXmasGift) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_proto_msgTypes[54] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CDOTAUserMsg_ReceivedXmasGift.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_ReceivedXmasGift) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{54} +} + +func (x *CDOTAUserMsg_ReceivedXmasGift) GetPlayerId() int32 { + if x != nil && x.PlayerId != nil { + return *x.PlayerId + } + return 0 +} + +func (x *CDOTAUserMsg_ReceivedXmasGift) GetItemName() string { + if x != nil && x.ItemName != nil { + return *x.ItemName + } + return "" +} + +func (x *CDOTAUserMsg_ReceivedXmasGift) GetInventorySlot() int32 { + if x != nil && x.InventorySlot != nil { + return *x.InventorySlot + } + return 0 +} + +type CDOTAUserMsg_ShowSurvey struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + SurveyId *int32 `protobuf:"varint,1,opt,name=survey_id,json=surveyId" json:"survey_id,omitempty"` + MatchId *uint64 `protobuf:"varint,2,opt,name=match_id,json=matchId" json:"match_id,omitempty"` + ResponseStyle *string `protobuf:"bytes,3,opt,name=response_style,json=responseStyle" json:"response_style,omitempty"` + TeammateHeroId *uint32 `protobuf:"varint,4,opt,name=teammate_hero_id,json=teammateHeroId" json:"teammate_hero_id,omitempty"` + TeammateName *string `protobuf:"bytes,5,opt,name=teammate_name,json=teammateName" json:"teammate_name,omitempty"` + TeammateAccountId *uint32 `protobuf:"varint,6,opt,name=teammate_account_id,json=teammateAccountId" json:"teammate_account_id,omitempty"` +} + +func (x *CDOTAUserMsg_ShowSurvey) Reset() { + *x = CDOTAUserMsg_ShowSurvey{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[55] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_ShowSurvey) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_ShowSurvey) ProtoMessage() {} + +func (x *CDOTAUserMsg_ShowSurvey) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_proto_msgTypes[55] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CDOTAUserMsg_ShowSurvey.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_ShowSurvey) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{55} +} + +func (x *CDOTAUserMsg_ShowSurvey) GetSurveyId() int32 { + if x != nil && x.SurveyId != nil { + return *x.SurveyId + } + return 0 +} + +func (x *CDOTAUserMsg_ShowSurvey) GetMatchId() uint64 { + if x != nil && x.MatchId != nil { + return *x.MatchId + } + return 0 +} + +func (x *CDOTAUserMsg_ShowSurvey) GetResponseStyle() string { + if x != nil && x.ResponseStyle != nil { + return *x.ResponseStyle + } + return "" +} + +func (x *CDOTAUserMsg_ShowSurvey) GetTeammateHeroId() uint32 { + if x != nil && x.TeammateHeroId != nil { + return *x.TeammateHeroId + } + return 0 +} + +func (x *CDOTAUserMsg_ShowSurvey) GetTeammateName() string { + if x != nil && x.TeammateName != nil { + return *x.TeammateName + } + return "" +} + +func (x *CDOTAUserMsg_ShowSurvey) GetTeammateAccountId() uint32 { + if x != nil && x.TeammateAccountId != nil { + return *x.TeammateAccountId + } + return 0 +} + +type CDOTAUserMsg_UpdateSharedContent struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + SlotType *int32 `protobuf:"varint,1,opt,name=slot_type,json=slotType" json:"slot_type,omitempty"` +} + +func (x *CDOTAUserMsg_UpdateSharedContent) Reset() { + *x = CDOTAUserMsg_UpdateSharedContent{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[56] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_UpdateSharedContent) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_UpdateSharedContent) ProtoMessage() {} + +func (x *CDOTAUserMsg_UpdateSharedContent) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_proto_msgTypes[56] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CDOTAUserMsg_UpdateSharedContent.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_UpdateSharedContent) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{56} +} + +func (x *CDOTAUserMsg_UpdateSharedContent) GetSlotType() int32 { + if x != nil && x.SlotType != nil { + return *x.SlotType + } + return 0 +} + +type CDOTAUserMsg_TutorialRequestExp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *CDOTAUserMsg_TutorialRequestExp) Reset() { + *x = CDOTAUserMsg_TutorialRequestExp{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[57] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_TutorialRequestExp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_TutorialRequestExp) ProtoMessage() {} + +func (x *CDOTAUserMsg_TutorialRequestExp) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_proto_msgTypes[57] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CDOTAUserMsg_TutorialRequestExp.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_TutorialRequestExp) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{57} +} + +type CDOTAUserMsg_TutorialFade struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + TgtAlpha *int32 `protobuf:"varint,1,opt,name=tgt_alpha,json=tgtAlpha" json:"tgt_alpha,omitempty"` +} + +func (x *CDOTAUserMsg_TutorialFade) Reset() { + *x = CDOTAUserMsg_TutorialFade{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[58] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_TutorialFade) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_TutorialFade) ProtoMessage() {} + +func (x *CDOTAUserMsg_TutorialFade) ProtoReflect() protoreflect.Message { + mi := &file_dota_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 CDOTAUserMsg_TutorialFade.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_TutorialFade) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{58} +} + +func (x *CDOTAUserMsg_TutorialFade) GetTgtAlpha() int32 { + if x != nil && x.TgtAlpha != nil { + return *x.TgtAlpha + } + return 0 +} + +type CDOTAUserMsg_TutorialPingMinimap struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + PlayerId *int32 `protobuf:"varint,1,opt,name=player_id,json=playerId" json:"player_id,omitempty"` + PosX *float32 `protobuf:"fixed32,2,opt,name=pos_x,json=posX" json:"pos_x,omitempty"` + PosY *float32 `protobuf:"fixed32,3,opt,name=pos_y,json=posY" json:"pos_y,omitempty"` + PosZ *float32 `protobuf:"fixed32,4,opt,name=pos_z,json=posZ" json:"pos_z,omitempty"` + EntityIndex *int32 `protobuf:"varint,5,opt,name=entity_index,json=entityIndex" json:"entity_index,omitempty"` +} + +func (x *CDOTAUserMsg_TutorialPingMinimap) Reset() { + *x = CDOTAUserMsg_TutorialPingMinimap{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[59] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_TutorialPingMinimap) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_TutorialPingMinimap) ProtoMessage() {} + +func (x *CDOTAUserMsg_TutorialPingMinimap) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_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 CDOTAUserMsg_TutorialPingMinimap.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_TutorialPingMinimap) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{59} +} + +func (x *CDOTAUserMsg_TutorialPingMinimap) GetPlayerId() int32 { + if x != nil && x.PlayerId != nil { + return *x.PlayerId + } + return 0 +} + +func (x *CDOTAUserMsg_TutorialPingMinimap) GetPosX() float32 { + if x != nil && x.PosX != nil { + return *x.PosX + } + return 0 +} + +func (x *CDOTAUserMsg_TutorialPingMinimap) GetPosY() float32 { + if x != nil && x.PosY != nil { + return *x.PosY + } + return 0 +} + +func (x *CDOTAUserMsg_TutorialPingMinimap) GetPosZ() float32 { + if x != nil && x.PosZ != nil { + return *x.PosZ + } + return 0 +} + +func (x *CDOTAUserMsg_TutorialPingMinimap) GetEntityIndex() int32 { + if x != nil && x.EntityIndex != nil { + return *x.EntityIndex + } + return 0 +} + +type CDOTAUserMsg_GamerulesStateChanged struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + State *uint32 `protobuf:"varint,1,opt,name=state" json:"state,omitempty"` +} + +func (x *CDOTAUserMsg_GamerulesStateChanged) Reset() { + *x = CDOTAUserMsg_GamerulesStateChanged{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[60] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_GamerulesStateChanged) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_GamerulesStateChanged) ProtoMessage() {} + +func (x *CDOTAUserMsg_GamerulesStateChanged) ProtoReflect() protoreflect.Message { + mi := &file_dota_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 CDOTAUserMsg_GamerulesStateChanged.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_GamerulesStateChanged) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{60} +} + +func (x *CDOTAUserMsg_GamerulesStateChanged) GetState() uint32 { + if x != nil && x.State != nil { + return *x.State + } + return 0 +} + +type CDOTAUserMsg_AddQuestLogEntry struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + NpcName *string `protobuf:"bytes,1,opt,name=npc_name,json=npcName" json:"npc_name,omitempty"` + NpcDialog *string `protobuf:"bytes,2,opt,name=npc_dialog,json=npcDialog" json:"npc_dialog,omitempty"` +} + +func (x *CDOTAUserMsg_AddQuestLogEntry) Reset() { + *x = CDOTAUserMsg_AddQuestLogEntry{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[61] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_AddQuestLogEntry) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_AddQuestLogEntry) ProtoMessage() {} + +func (x *CDOTAUserMsg_AddQuestLogEntry) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_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 CDOTAUserMsg_AddQuestLogEntry.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_AddQuestLogEntry) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{61} +} + +func (x *CDOTAUserMsg_AddQuestLogEntry) GetNpcName() string { + if x != nil && x.NpcName != nil { + return *x.NpcName + } + return "" +} + +func (x *CDOTAUserMsg_AddQuestLogEntry) GetNpcDialog() string { + if x != nil && x.NpcDialog != nil { + return *x.NpcDialog + } + return "" +} + +type CDOTAUserMsg_SendStatPopup struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + PlayerId *int32 `protobuf:"varint,1,opt,name=player_id,json=playerId" json:"player_id,omitempty"` + Statpopup *CDOTAMsg_SendStatPopup `protobuf:"bytes,2,opt,name=statpopup" json:"statpopup,omitempty"` +} + +func (x *CDOTAUserMsg_SendStatPopup) Reset() { + *x = CDOTAUserMsg_SendStatPopup{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[62] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_SendStatPopup) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_SendStatPopup) ProtoMessage() {} + +func (x *CDOTAUserMsg_SendStatPopup) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_proto_msgTypes[62] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CDOTAUserMsg_SendStatPopup.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_SendStatPopup) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{62} +} + +func (x *CDOTAUserMsg_SendStatPopup) GetPlayerId() int32 { + if x != nil && x.PlayerId != nil { + return *x.PlayerId + } + return 0 +} + +func (x *CDOTAUserMsg_SendStatPopup) GetStatpopup() *CDOTAMsg_SendStatPopup { + if x != nil { + return x.Statpopup + } + return nil +} + +type CDOTAUserMsg_DismissAllStatPopups struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Dismissallmsg *CDOTAMsg_DismissAllStatPopups `protobuf:"bytes,1,opt,name=dismissallmsg" json:"dismissallmsg,omitempty"` +} + +func (x *CDOTAUserMsg_DismissAllStatPopups) Reset() { + *x = CDOTAUserMsg_DismissAllStatPopups{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[63] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_DismissAllStatPopups) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_DismissAllStatPopups) ProtoMessage() {} + +func (x *CDOTAUserMsg_DismissAllStatPopups) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_proto_msgTypes[63] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CDOTAUserMsg_DismissAllStatPopups.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_DismissAllStatPopups) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{63} +} + +func (x *CDOTAUserMsg_DismissAllStatPopups) GetDismissallmsg() *CDOTAMsg_DismissAllStatPopups { + if x != nil { + return x.Dismissallmsg + } + return nil +} + +type CDOTAUserMsg_SendRoshanSpectatorPhase struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Phase *DOTA_ROSHAN_PHASE `protobuf:"varint,1,opt,name=phase,enum=DOTA_ROSHAN_PHASE,def=0" json:"phase,omitempty"` + PhaseStartTime *int32 `protobuf:"varint,2,opt,name=phase_start_time,json=phaseStartTime" json:"phase_start_time,omitempty"` + PhaseLength *int32 `protobuf:"varint,3,opt,name=phase_length,json=phaseLength" json:"phase_length,omitempty"` +} + +// Default values for CDOTAUserMsg_SendRoshanSpectatorPhase fields. +const ( + Default_CDOTAUserMsg_SendRoshanSpectatorPhase_Phase = DOTA_ROSHAN_PHASE_k_SRSP_ROSHAN_ALIVE +) + +func (x *CDOTAUserMsg_SendRoshanSpectatorPhase) Reset() { + *x = CDOTAUserMsg_SendRoshanSpectatorPhase{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[64] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_SendRoshanSpectatorPhase) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_SendRoshanSpectatorPhase) ProtoMessage() {} + +func (x *CDOTAUserMsg_SendRoshanSpectatorPhase) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_proto_msgTypes[64] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CDOTAUserMsg_SendRoshanSpectatorPhase.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_SendRoshanSpectatorPhase) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{64} +} + +func (x *CDOTAUserMsg_SendRoshanSpectatorPhase) GetPhase() DOTA_ROSHAN_PHASE { + if x != nil && x.Phase != nil { + return *x.Phase + } + return Default_CDOTAUserMsg_SendRoshanSpectatorPhase_Phase +} + +func (x *CDOTAUserMsg_SendRoshanSpectatorPhase) GetPhaseStartTime() int32 { + if x != nil && x.PhaseStartTime != nil { + return *x.PhaseStartTime + } + return 0 +} + +func (x *CDOTAUserMsg_SendRoshanSpectatorPhase) GetPhaseLength() int32 { + if x != nil && x.PhaseLength != nil { + return *x.PhaseLength + } + return 0 +} + +type CDOTAUserMsg_SendRoshanPopup struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Reclaimed *bool `protobuf:"varint,1,opt,name=reclaimed" json:"reclaimed,omitempty"` + Gametime *int32 `protobuf:"varint,2,opt,name=gametime" json:"gametime,omitempty"` +} + +func (x *CDOTAUserMsg_SendRoshanPopup) Reset() { + *x = CDOTAUserMsg_SendRoshanPopup{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[65] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_SendRoshanPopup) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_SendRoshanPopup) ProtoMessage() {} + +func (x *CDOTAUserMsg_SendRoshanPopup) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_proto_msgTypes[65] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CDOTAUserMsg_SendRoshanPopup.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_SendRoshanPopup) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{65} +} + +func (x *CDOTAUserMsg_SendRoshanPopup) GetReclaimed() bool { + if x != nil && x.Reclaimed != nil { + return *x.Reclaimed + } + return false +} + +func (x *CDOTAUserMsg_SendRoshanPopup) GetGametime() int32 { + if x != nil && x.Gametime != nil { + return *x.Gametime + } + return 0 +} + +type CDOTAUserMsg_SendFinalGold struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ReliableGold []uint32 `protobuf:"varint,1,rep,name=reliable_gold,json=reliableGold" json:"reliable_gold,omitempty"` + UnreliableGold []uint32 `protobuf:"varint,2,rep,name=unreliable_gold,json=unreliableGold" json:"unreliable_gold,omitempty"` +} + +func (x *CDOTAUserMsg_SendFinalGold) Reset() { + *x = CDOTAUserMsg_SendFinalGold{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[66] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_SendFinalGold) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_SendFinalGold) ProtoMessage() {} + +func (x *CDOTAUserMsg_SendFinalGold) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_proto_msgTypes[66] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CDOTAUserMsg_SendFinalGold.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_SendFinalGold) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{66} +} + +func (x *CDOTAUserMsg_SendFinalGold) GetReliableGold() []uint32 { + if x != nil { + return x.ReliableGold + } + return nil +} + +func (x *CDOTAUserMsg_SendFinalGold) GetUnreliableGold() []uint32 { + if x != nil { + return x.UnreliableGold + } + return nil +} + +type CDOTAUserMsg_CustomMsg struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Message *string `protobuf:"bytes,1,opt,name=message" json:"message,omitempty"` + PlayerId *int32 `protobuf:"varint,2,opt,name=player_id,json=playerId" json:"player_id,omitempty"` + Value *int32 `protobuf:"varint,3,opt,name=value" json:"value,omitempty"` +} + +func (x *CDOTAUserMsg_CustomMsg) Reset() { + *x = CDOTAUserMsg_CustomMsg{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[67] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_CustomMsg) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_CustomMsg) ProtoMessage() {} + +func (x *CDOTAUserMsg_CustomMsg) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_proto_msgTypes[67] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CDOTAUserMsg_CustomMsg.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_CustomMsg) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{67} +} + +func (x *CDOTAUserMsg_CustomMsg) GetMessage() string { + if x != nil && x.Message != nil { + return *x.Message + } + return "" +} + +func (x *CDOTAUserMsg_CustomMsg) GetPlayerId() int32 { + if x != nil && x.PlayerId != nil { + return *x.PlayerId + } + return 0 +} + +func (x *CDOTAUserMsg_CustomMsg) GetValue() int32 { + if x != nil && x.Value != nil { + return *x.Value + } + return 0 +} + +type CDOTAUserMsg_CoachHUDPing struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + PlayerId *int32 `protobuf:"varint,1,opt,name=player_id,json=playerId" json:"player_id,omitempty"` + HudPing *CDOTAMsg_CoachHUDPing `protobuf:"bytes,2,opt,name=hud_ping,json=hudPing" json:"hud_ping,omitempty"` +} + +func (x *CDOTAUserMsg_CoachHUDPing) Reset() { + *x = CDOTAUserMsg_CoachHUDPing{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[68] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_CoachHUDPing) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_CoachHUDPing) ProtoMessage() {} + +func (x *CDOTAUserMsg_CoachHUDPing) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_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 CDOTAUserMsg_CoachHUDPing.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_CoachHUDPing) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{68} +} + +func (x *CDOTAUserMsg_CoachHUDPing) GetPlayerId() int32 { + if x != nil && x.PlayerId != nil { + return *x.PlayerId + } + return 0 +} + +func (x *CDOTAUserMsg_CoachHUDPing) GetHudPing() *CDOTAMsg_CoachHUDPing { + if x != nil { + return x.HudPing + } + return nil +} + +type CDOTAUserMsg_ClientLoadGridNav struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *CDOTAUserMsg_ClientLoadGridNav) Reset() { + *x = CDOTAUserMsg_ClientLoadGridNav{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[69] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_ClientLoadGridNav) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_ClientLoadGridNav) ProtoMessage() {} + +func (x *CDOTAUserMsg_ClientLoadGridNav) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_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 CDOTAUserMsg_ClientLoadGridNav.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_ClientLoadGridNav) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{69} +} + +type CDOTAUserMsg_TE_Projectile struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Source *uint32 `protobuf:"varint,1,opt,name=source" json:"source,omitempty"` + Target *uint32 `protobuf:"varint,2,opt,name=target" json:"target,omitempty"` + MoveSpeed *int32 `protobuf:"varint,3,opt,name=move_speed,json=moveSpeed" json:"move_speed,omitempty"` + SourceAttachment *int32 `protobuf:"varint,4,opt,name=source_attachment,json=sourceAttachment" json:"source_attachment,omitempty"` + ParticleSystemHandle *int64 `protobuf:"varint,5,opt,name=particle_system_handle,json=particleSystemHandle" json:"particle_system_handle,omitempty"` + Dodgeable *bool `protobuf:"varint,6,opt,name=dodgeable" json:"dodgeable,omitempty"` + IsAttack *bool `protobuf:"varint,7,opt,name=is_attack,json=isAttack" json:"is_attack,omitempty"` + ExpireTime *float32 `protobuf:"fixed32,9,opt,name=expire_time,json=expireTime" json:"expire_time,omitempty"` + Maximpacttime *float32 `protobuf:"fixed32,10,opt,name=maximpacttime" json:"maximpacttime,omitempty"` + Colorgemcolor *uint32 `protobuf:"fixed32,11,opt,name=colorgemcolor" json:"colorgemcolor,omitempty"` + LaunchTick *int32 `protobuf:"varint,12,opt,name=launch_tick,json=launchTick" json:"launch_tick,omitempty"` + Handle *int32 `protobuf:"varint,13,opt,name=handle" json:"handle,omitempty"` + TargetLoc *CMsgVector `protobuf:"bytes,14,opt,name=target_loc,json=targetLoc" json:"target_loc,omitempty"` + ParticleCpData []*CDOTAUserMsg_ProjectileParticleCPData `protobuf:"bytes,15,rep,name=particle_cp_data,json=particleCpData" json:"particle_cp_data,omitempty"` +} + +func (x *CDOTAUserMsg_TE_Projectile) Reset() { + *x = CDOTAUserMsg_TE_Projectile{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[70] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_TE_Projectile) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_TE_Projectile) ProtoMessage() {} + +func (x *CDOTAUserMsg_TE_Projectile) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_proto_msgTypes[70] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CDOTAUserMsg_TE_Projectile.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_TE_Projectile) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{70} +} + +func (x *CDOTAUserMsg_TE_Projectile) GetSource() uint32 { + if x != nil && x.Source != nil { + return *x.Source + } + return 0 +} + +func (x *CDOTAUserMsg_TE_Projectile) GetTarget() uint32 { + if x != nil && x.Target != nil { + return *x.Target + } + return 0 +} + +func (x *CDOTAUserMsg_TE_Projectile) GetMoveSpeed() int32 { + if x != nil && x.MoveSpeed != nil { + return *x.MoveSpeed + } + return 0 +} + +func (x *CDOTAUserMsg_TE_Projectile) GetSourceAttachment() int32 { + if x != nil && x.SourceAttachment != nil { + return *x.SourceAttachment + } + return 0 +} + +func (x *CDOTAUserMsg_TE_Projectile) GetParticleSystemHandle() int64 { + if x != nil && x.ParticleSystemHandle != nil { + return *x.ParticleSystemHandle + } + return 0 +} + +func (x *CDOTAUserMsg_TE_Projectile) GetDodgeable() bool { + if x != nil && x.Dodgeable != nil { + return *x.Dodgeable + } + return false +} + +func (x *CDOTAUserMsg_TE_Projectile) GetIsAttack() bool { + if x != nil && x.IsAttack != nil { + return *x.IsAttack + } + return false +} + +func (x *CDOTAUserMsg_TE_Projectile) GetExpireTime() float32 { + if x != nil && x.ExpireTime != nil { + return *x.ExpireTime + } + return 0 +} + +func (x *CDOTAUserMsg_TE_Projectile) GetMaximpacttime() float32 { + if x != nil && x.Maximpacttime != nil { + return *x.Maximpacttime + } + return 0 +} + +func (x *CDOTAUserMsg_TE_Projectile) GetColorgemcolor() uint32 { + if x != nil && x.Colorgemcolor != nil { + return *x.Colorgemcolor + } + return 0 +} + +func (x *CDOTAUserMsg_TE_Projectile) GetLaunchTick() int32 { + if x != nil && x.LaunchTick != nil { + return *x.LaunchTick + } + return 0 +} + +func (x *CDOTAUserMsg_TE_Projectile) GetHandle() int32 { + if x != nil && x.Handle != nil { + return *x.Handle + } + return 0 +} + +func (x *CDOTAUserMsg_TE_Projectile) GetTargetLoc() *CMsgVector { + if x != nil { + return x.TargetLoc + } + return nil +} + +func (x *CDOTAUserMsg_TE_Projectile) GetParticleCpData() []*CDOTAUserMsg_ProjectileParticleCPData { + if x != nil { + return x.ParticleCpData + } + return nil +} + +type CDOTAUserMsg_TE_ProjectileLoc struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + SourceLoc *CMsgVector `protobuf:"bytes,1,opt,name=source_loc,json=sourceLoc" json:"source_loc,omitempty"` + Target *uint32 `protobuf:"varint,2,opt,name=target" json:"target,omitempty"` + MoveSpeed *int32 `protobuf:"varint,3,opt,name=move_speed,json=moveSpeed" json:"move_speed,omitempty"` + ParticleSystemHandle *int64 `protobuf:"varint,4,opt,name=particle_system_handle,json=particleSystemHandle" json:"particle_system_handle,omitempty"` + Dodgeable *bool `protobuf:"varint,5,opt,name=dodgeable" json:"dodgeable,omitempty"` + IsAttack *bool `protobuf:"varint,6,opt,name=is_attack,json=isAttack" json:"is_attack,omitempty"` + ExpireTime *float32 `protobuf:"fixed32,9,opt,name=expire_time,json=expireTime" json:"expire_time,omitempty"` + TargetLoc *CMsgVector `protobuf:"bytes,10,opt,name=target_loc,json=targetLoc" json:"target_loc,omitempty"` + Colorgemcolor *uint32 `protobuf:"fixed32,11,opt,name=colorgemcolor" json:"colorgemcolor,omitempty"` + LaunchTick *int32 `protobuf:"varint,12,opt,name=launch_tick,json=launchTick" json:"launch_tick,omitempty"` + Handle *int32 `protobuf:"varint,13,opt,name=handle" json:"handle,omitempty"` + Source *uint32 `protobuf:"varint,14,opt,name=source" json:"source,omitempty"` + SourceAttachment *int32 `protobuf:"varint,15,opt,name=source_attachment,json=sourceAttachment" json:"source_attachment,omitempty"` + ParticleCpData []*CDOTAUserMsg_ProjectileParticleCPData `protobuf:"bytes,16,rep,name=particle_cp_data,json=particleCpData" json:"particle_cp_data,omitempty"` +} + +func (x *CDOTAUserMsg_TE_ProjectileLoc) Reset() { + *x = CDOTAUserMsg_TE_ProjectileLoc{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[71] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_TE_ProjectileLoc) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_TE_ProjectileLoc) ProtoMessage() {} + +func (x *CDOTAUserMsg_TE_ProjectileLoc) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_proto_msgTypes[71] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CDOTAUserMsg_TE_ProjectileLoc.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_TE_ProjectileLoc) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{71} +} + +func (x *CDOTAUserMsg_TE_ProjectileLoc) GetSourceLoc() *CMsgVector { + if x != nil { + return x.SourceLoc + } + return nil +} + +func (x *CDOTAUserMsg_TE_ProjectileLoc) GetTarget() uint32 { + if x != nil && x.Target != nil { + return *x.Target + } + return 0 +} + +func (x *CDOTAUserMsg_TE_ProjectileLoc) GetMoveSpeed() int32 { + if x != nil && x.MoveSpeed != nil { + return *x.MoveSpeed + } + return 0 +} + +func (x *CDOTAUserMsg_TE_ProjectileLoc) GetParticleSystemHandle() int64 { + if x != nil && x.ParticleSystemHandle != nil { + return *x.ParticleSystemHandle + } + return 0 +} + +func (x *CDOTAUserMsg_TE_ProjectileLoc) GetDodgeable() bool { + if x != nil && x.Dodgeable != nil { + return *x.Dodgeable + } + return false +} + +func (x *CDOTAUserMsg_TE_ProjectileLoc) GetIsAttack() bool { + if x != nil && x.IsAttack != nil { + return *x.IsAttack + } + return false +} + +func (x *CDOTAUserMsg_TE_ProjectileLoc) GetExpireTime() float32 { + if x != nil && x.ExpireTime != nil { + return *x.ExpireTime + } + return 0 +} + +func (x *CDOTAUserMsg_TE_ProjectileLoc) GetTargetLoc() *CMsgVector { + if x != nil { + return x.TargetLoc + } + return nil +} + +func (x *CDOTAUserMsg_TE_ProjectileLoc) GetColorgemcolor() uint32 { + if x != nil && x.Colorgemcolor != nil { + return *x.Colorgemcolor + } + return 0 +} + +func (x *CDOTAUserMsg_TE_ProjectileLoc) GetLaunchTick() int32 { + if x != nil && x.LaunchTick != nil { + return *x.LaunchTick + } + return 0 +} + +func (x *CDOTAUserMsg_TE_ProjectileLoc) GetHandle() int32 { + if x != nil && x.Handle != nil { + return *x.Handle + } + return 0 +} + +func (x *CDOTAUserMsg_TE_ProjectileLoc) GetSource() uint32 { + if x != nil && x.Source != nil { + return *x.Source + } + return 0 +} + +func (x *CDOTAUserMsg_TE_ProjectileLoc) GetSourceAttachment() int32 { + if x != nil && x.SourceAttachment != nil { + return *x.SourceAttachment + } + return 0 +} + +func (x *CDOTAUserMsg_TE_ProjectileLoc) GetParticleCpData() []*CDOTAUserMsg_ProjectileParticleCPData { + if x != nil { + return x.ParticleCpData + } + return nil +} + +type CDOTAUserMsg_TE_DestroyProjectile struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Handle *int32 `protobuf:"varint,1,opt,name=handle" json:"handle,omitempty"` +} + +func (x *CDOTAUserMsg_TE_DestroyProjectile) Reset() { + *x = CDOTAUserMsg_TE_DestroyProjectile{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[72] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_TE_DestroyProjectile) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_TE_DestroyProjectile) ProtoMessage() {} + +func (x *CDOTAUserMsg_TE_DestroyProjectile) ProtoReflect() protoreflect.Message { + mi := &file_dota_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 CDOTAUserMsg_TE_DestroyProjectile.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_TE_DestroyProjectile) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{72} +} + +func (x *CDOTAUserMsg_TE_DestroyProjectile) GetHandle() int32 { + if x != nil && x.Handle != nil { + return *x.Handle + } + return 0 +} + +type CDOTAUserMsg_TE_DotaBloodImpact struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Entity *uint32 `protobuf:"varint,1,opt,name=entity" json:"entity,omitempty"` + Scale *float32 `protobuf:"fixed32,2,opt,name=scale" json:"scale,omitempty"` + Xnormal *float32 `protobuf:"fixed32,3,opt,name=xnormal" json:"xnormal,omitempty"` + Ynormal *float32 `protobuf:"fixed32,4,opt,name=ynormal" json:"ynormal,omitempty"` +} + +func (x *CDOTAUserMsg_TE_DotaBloodImpact) Reset() { + *x = CDOTAUserMsg_TE_DotaBloodImpact{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[73] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_TE_DotaBloodImpact) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_TE_DotaBloodImpact) ProtoMessage() {} + +func (x *CDOTAUserMsg_TE_DotaBloodImpact) ProtoReflect() protoreflect.Message { + mi := &file_dota_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 CDOTAUserMsg_TE_DotaBloodImpact.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_TE_DotaBloodImpact) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{73} +} + +func (x *CDOTAUserMsg_TE_DotaBloodImpact) GetEntity() uint32 { + if x != nil && x.Entity != nil { + return *x.Entity + } + return 0 +} + +func (x *CDOTAUserMsg_TE_DotaBloodImpact) GetScale() float32 { + if x != nil && x.Scale != nil { + return *x.Scale + } + return 0 +} + +func (x *CDOTAUserMsg_TE_DotaBloodImpact) GetXnormal() float32 { + if x != nil && x.Xnormal != nil { + return *x.Xnormal + } + return 0 +} + +func (x *CDOTAUserMsg_TE_DotaBloodImpact) GetYnormal() float32 { + if x != nil && x.Ynormal != nil { + return *x.Ynormal + } + return 0 +} + +type CDOTAUserMsg_AbilityPing struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + PlayerId *int32 `protobuf:"varint,1,opt,name=player_id,json=playerId" json:"player_id,omitempty"` + AbilityId *uint32 `protobuf:"varint,2,opt,name=ability_id,json=abilityId" json:"ability_id,omitempty"` + Type *DOTA_ABILITY_PING_TYPE `protobuf:"varint,3,opt,name=type,enum=DOTA_ABILITY_PING_TYPE,def=1" json:"type,omitempty"` + CooldownSeconds *uint32 `protobuf:"varint,4,opt,name=cooldown_seconds,json=cooldownSeconds" json:"cooldown_seconds,omitempty"` + Level *uint32 `protobuf:"varint,5,opt,name=level" json:"level,omitempty"` + Passive *bool `protobuf:"varint,6,opt,name=passive" json:"passive,omitempty"` + ManaNeeded *uint32 `protobuf:"varint,7,opt,name=mana_needed,json=manaNeeded" json:"mana_needed,omitempty"` + EntityId *uint32 `protobuf:"varint,8,opt,name=entity_id,json=entityId" json:"entity_id,omitempty"` + PrimaryCharges *int32 `protobuf:"varint,9,opt,name=primary_charges,json=primaryCharges" json:"primary_charges,omitempty"` + SecondaryCharges *int32 `protobuf:"varint,10,opt,name=secondary_charges,json=secondaryCharges" json:"secondary_charges,omitempty"` + CtrlHeld *bool `protobuf:"varint,12,opt,name=ctrl_held,json=ctrlHeld" json:"ctrl_held,omitempty"` + ReclaimTime *float32 `protobuf:"fixed32,13,opt,name=reclaim_time,json=reclaimTime" json:"reclaim_time,omitempty"` +} + +// Default values for CDOTAUserMsg_AbilityPing fields. +const ( + Default_CDOTAUserMsg_AbilityPing_Type = DOTA_ABILITY_PING_TYPE_ABILITY_PING_READY +) + +func (x *CDOTAUserMsg_AbilityPing) Reset() { + *x = CDOTAUserMsg_AbilityPing{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[74] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_AbilityPing) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_AbilityPing) ProtoMessage() {} + +func (x *CDOTAUserMsg_AbilityPing) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_proto_msgTypes[74] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CDOTAUserMsg_AbilityPing.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_AbilityPing) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{74} +} + +func (x *CDOTAUserMsg_AbilityPing) GetPlayerId() int32 { + if x != nil && x.PlayerId != nil { + return *x.PlayerId + } + return 0 +} + +func (x *CDOTAUserMsg_AbilityPing) GetAbilityId() uint32 { + if x != nil && x.AbilityId != nil { + return *x.AbilityId + } + return 0 +} + +func (x *CDOTAUserMsg_AbilityPing) GetType() DOTA_ABILITY_PING_TYPE { + if x != nil && x.Type != nil { + return *x.Type + } + return Default_CDOTAUserMsg_AbilityPing_Type +} + +func (x *CDOTAUserMsg_AbilityPing) GetCooldownSeconds() uint32 { + if x != nil && x.CooldownSeconds != nil { + return *x.CooldownSeconds + } + return 0 +} + +func (x *CDOTAUserMsg_AbilityPing) GetLevel() uint32 { + if x != nil && x.Level != nil { + return *x.Level + } + return 0 +} + +func (x *CDOTAUserMsg_AbilityPing) GetPassive() bool { + if x != nil && x.Passive != nil { + return *x.Passive + } + return false +} + +func (x *CDOTAUserMsg_AbilityPing) GetManaNeeded() uint32 { + if x != nil && x.ManaNeeded != nil { + return *x.ManaNeeded + } + return 0 +} + +func (x *CDOTAUserMsg_AbilityPing) GetEntityId() uint32 { + if x != nil && x.EntityId != nil { + return *x.EntityId + } + return 0 +} + +func (x *CDOTAUserMsg_AbilityPing) GetPrimaryCharges() int32 { + if x != nil && x.PrimaryCharges != nil { + return *x.PrimaryCharges + } + return 0 +} + +func (x *CDOTAUserMsg_AbilityPing) GetSecondaryCharges() int32 { + if x != nil && x.SecondaryCharges != nil { + return *x.SecondaryCharges + } + return 0 +} + +func (x *CDOTAUserMsg_AbilityPing) GetCtrlHeld() bool { + if x != nil && x.CtrlHeld != nil { + return *x.CtrlHeld + } + return false +} + +func (x *CDOTAUserMsg_AbilityPing) GetReclaimTime() float32 { + if x != nil && x.ReclaimTime != nil { + return *x.ReclaimTime + } + return 0 +} + +type CDOTAUserMsg_TE_UnitAnimation struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Entity *uint32 `protobuf:"varint,1,opt,name=entity" json:"entity,omitempty"` + SequenceVariant *int32 `protobuf:"varint,2,opt,name=sequence_variant,json=sequenceVariant" json:"sequence_variant,omitempty"` + Playbackrate *float32 `protobuf:"fixed32,3,opt,name=playbackrate" json:"playbackrate,omitempty"` + Castpoint *float32 `protobuf:"fixed32,4,opt,name=castpoint" json:"castpoint,omitempty"` + Type *int32 `protobuf:"varint,5,opt,name=type" json:"type,omitempty"` + Activity *int32 `protobuf:"varint,6,opt,name=activity" json:"activity,omitempty"` + LagCompensationTime *float32 `protobuf:"fixed32,7,opt,name=lag_compensation_time,json=lagCompensationTime" json:"lag_compensation_time,omitempty"` +} + +func (x *CDOTAUserMsg_TE_UnitAnimation) Reset() { + *x = CDOTAUserMsg_TE_UnitAnimation{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[75] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_TE_UnitAnimation) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_TE_UnitAnimation) ProtoMessage() {} + +func (x *CDOTAUserMsg_TE_UnitAnimation) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_proto_msgTypes[75] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CDOTAUserMsg_TE_UnitAnimation.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_TE_UnitAnimation) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{75} +} + +func (x *CDOTAUserMsg_TE_UnitAnimation) GetEntity() uint32 { + if x != nil && x.Entity != nil { + return *x.Entity + } + return 0 +} + +func (x *CDOTAUserMsg_TE_UnitAnimation) GetSequenceVariant() int32 { + if x != nil && x.SequenceVariant != nil { + return *x.SequenceVariant + } + return 0 +} + +func (x *CDOTAUserMsg_TE_UnitAnimation) GetPlaybackrate() float32 { + if x != nil && x.Playbackrate != nil { + return *x.Playbackrate + } + return 0 +} + +func (x *CDOTAUserMsg_TE_UnitAnimation) GetCastpoint() float32 { + if x != nil && x.Castpoint != nil { + return *x.Castpoint + } + return 0 +} + +func (x *CDOTAUserMsg_TE_UnitAnimation) GetType() int32 { + if x != nil && x.Type != nil { + return *x.Type + } + return 0 +} + +func (x *CDOTAUserMsg_TE_UnitAnimation) GetActivity() int32 { + if x != nil && x.Activity != nil { + return *x.Activity + } + return 0 +} + +func (x *CDOTAUserMsg_TE_UnitAnimation) GetLagCompensationTime() float32 { + if x != nil && x.LagCompensationTime != nil { + return *x.LagCompensationTime + } + return 0 +} + +type CDOTAUserMsg_TE_UnitAnimationEnd struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Entity *uint32 `protobuf:"varint,1,opt,name=entity" json:"entity,omitempty"` + Snap *bool `protobuf:"varint,2,opt,name=snap" json:"snap,omitempty"` +} + +func (x *CDOTAUserMsg_TE_UnitAnimationEnd) Reset() { + *x = CDOTAUserMsg_TE_UnitAnimationEnd{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[76] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_TE_UnitAnimationEnd) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_TE_UnitAnimationEnd) ProtoMessage() {} + +func (x *CDOTAUserMsg_TE_UnitAnimationEnd) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_proto_msgTypes[76] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CDOTAUserMsg_TE_UnitAnimationEnd.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_TE_UnitAnimationEnd) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{76} +} + +func (x *CDOTAUserMsg_TE_UnitAnimationEnd) GetEntity() uint32 { + if x != nil && x.Entity != nil { + return *x.Entity + } + return 0 +} + +func (x *CDOTAUserMsg_TE_UnitAnimationEnd) GetSnap() bool { + if x != nil && x.Snap != nil { + return *x.Snap + } + return false +} + +type CDOTAUserMsg_ShowGenericPopup struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Header *string `protobuf:"bytes,1,req,name=header" json:"header,omitempty"` + Body *string `protobuf:"bytes,2,req,name=body" json:"body,omitempty"` + Param1 *string `protobuf:"bytes,3,opt,name=param1" json:"param1,omitempty"` + Param2 *string `protobuf:"bytes,4,opt,name=param2" json:"param2,omitempty"` + TintScreen *bool `protobuf:"varint,5,opt,name=tint_screen,json=tintScreen" json:"tint_screen,omitempty"` + ShowNoOtherDialogs *bool `protobuf:"varint,6,opt,name=show_no_other_dialogs,json=showNoOtherDialogs" json:"show_no_other_dialogs,omitempty"` +} + +func (x *CDOTAUserMsg_ShowGenericPopup) Reset() { + *x = CDOTAUserMsg_ShowGenericPopup{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[77] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_ShowGenericPopup) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_ShowGenericPopup) ProtoMessage() {} + +func (x *CDOTAUserMsg_ShowGenericPopup) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_proto_msgTypes[77] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CDOTAUserMsg_ShowGenericPopup.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_ShowGenericPopup) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{77} +} + +func (x *CDOTAUserMsg_ShowGenericPopup) GetHeader() string { + if x != nil && x.Header != nil { + return *x.Header + } + return "" +} + +func (x *CDOTAUserMsg_ShowGenericPopup) GetBody() string { + if x != nil && x.Body != nil { + return *x.Body + } + return "" +} + +func (x *CDOTAUserMsg_ShowGenericPopup) GetParam1() string { + if x != nil && x.Param1 != nil { + return *x.Param1 + } + return "" +} + +func (x *CDOTAUserMsg_ShowGenericPopup) GetParam2() string { + if x != nil && x.Param2 != nil { + return *x.Param2 + } + return "" +} + +func (x *CDOTAUserMsg_ShowGenericPopup) GetTintScreen() bool { + if x != nil && x.TintScreen != nil { + return *x.TintScreen + } + return false +} + +func (x *CDOTAUserMsg_ShowGenericPopup) GetShowNoOtherDialogs() bool { + if x != nil && x.ShowNoOtherDialogs != nil { + return *x.ShowNoOtherDialogs + } + return false +} + +type CDOTAUserMsg_VoteStart struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Title *string `protobuf:"bytes,1,opt,name=title" json:"title,omitempty"` + Duration *float32 `protobuf:"fixed32,2,opt,name=duration" json:"duration,omitempty"` + ChoiceCount *int32 `protobuf:"varint,3,opt,name=choice_count,json=choiceCount" json:"choice_count,omitempty"` + Choices []string `protobuf:"bytes,4,rep,name=choices" json:"choices,omitempty"` +} + +func (x *CDOTAUserMsg_VoteStart) Reset() { + *x = CDOTAUserMsg_VoteStart{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[78] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_VoteStart) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_VoteStart) ProtoMessage() {} + +func (x *CDOTAUserMsg_VoteStart) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_proto_msgTypes[78] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CDOTAUserMsg_VoteStart.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_VoteStart) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{78} +} + +func (x *CDOTAUserMsg_VoteStart) GetTitle() string { + if x != nil && x.Title != nil { + return *x.Title + } + return "" +} + +func (x *CDOTAUserMsg_VoteStart) GetDuration() float32 { + if x != nil && x.Duration != nil { + return *x.Duration + } + return 0 +} + +func (x *CDOTAUserMsg_VoteStart) GetChoiceCount() int32 { + if x != nil && x.ChoiceCount != nil { + return *x.ChoiceCount + } + return 0 +} + +func (x *CDOTAUserMsg_VoteStart) GetChoices() []string { + if x != nil { + return x.Choices + } + return nil +} + +type CDOTAUserMsg_VoteUpdate struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ChoiceCounts []int32 `protobuf:"varint,1,rep,name=choice_counts,json=choiceCounts" json:"choice_counts,omitempty"` +} + +func (x *CDOTAUserMsg_VoteUpdate) Reset() { + *x = CDOTAUserMsg_VoteUpdate{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[79] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_VoteUpdate) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_VoteUpdate) ProtoMessage() {} + +func (x *CDOTAUserMsg_VoteUpdate) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_proto_msgTypes[79] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CDOTAUserMsg_VoteUpdate.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_VoteUpdate) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{79} +} + +func (x *CDOTAUserMsg_VoteUpdate) GetChoiceCounts() []int32 { + if x != nil { + return x.ChoiceCounts + } + return nil +} + +type CDOTAUserMsg_VoteEnd struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + SelectedChoice *int32 `protobuf:"varint,1,opt,name=selected_choice,json=selectedChoice" json:"selected_choice,omitempty"` +} + +func (x *CDOTAUserMsg_VoteEnd) Reset() { + *x = CDOTAUserMsg_VoteEnd{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[80] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_VoteEnd) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_VoteEnd) ProtoMessage() {} + +func (x *CDOTAUserMsg_VoteEnd) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_proto_msgTypes[80] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CDOTAUserMsg_VoteEnd.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_VoteEnd) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{80} +} + +func (x *CDOTAUserMsg_VoteEnd) GetSelectedChoice() int32 { + if x != nil && x.SelectedChoice != nil { + return *x.SelectedChoice + } + return 0 +} + +type CDOTAUserMsg_BoosterStatePlayer struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + PlayerId *int32 `protobuf:"varint,1,opt,name=player_id,json=playerId" json:"player_id,omitempty"` + Bonus *float32 `protobuf:"fixed32,2,opt,name=bonus" json:"bonus,omitempty"` + EventBonus *float32 `protobuf:"fixed32,3,opt,name=event_bonus,json=eventBonus" json:"event_bonus,omitempty"` + BonusItemId *uint32 `protobuf:"varint,4,opt,name=bonus_item_id,json=bonusItemId" json:"bonus_item_id,omitempty"` + EventBonusItemId *uint32 `protobuf:"varint,5,opt,name=event_bonus_item_id,json=eventBonusItemId" json:"event_bonus_item_id,omitempty"` +} + +func (x *CDOTAUserMsg_BoosterStatePlayer) Reset() { + *x = CDOTAUserMsg_BoosterStatePlayer{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[81] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_BoosterStatePlayer) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_BoosterStatePlayer) ProtoMessage() {} + +func (x *CDOTAUserMsg_BoosterStatePlayer) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_proto_msgTypes[81] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CDOTAUserMsg_BoosterStatePlayer.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_BoosterStatePlayer) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{81} +} + +func (x *CDOTAUserMsg_BoosterStatePlayer) GetPlayerId() int32 { + if x != nil && x.PlayerId != nil { + return *x.PlayerId + } + return 0 +} + +func (x *CDOTAUserMsg_BoosterStatePlayer) GetBonus() float32 { + if x != nil && x.Bonus != nil { + return *x.Bonus + } + return 0 +} + +func (x *CDOTAUserMsg_BoosterStatePlayer) GetEventBonus() float32 { + if x != nil && x.EventBonus != nil { + return *x.EventBonus + } + return 0 +} + +func (x *CDOTAUserMsg_BoosterStatePlayer) GetBonusItemId() uint32 { + if x != nil && x.BonusItemId != nil { + return *x.BonusItemId + } + return 0 +} + +func (x *CDOTAUserMsg_BoosterStatePlayer) GetEventBonusItemId() uint32 { + if x != nil && x.EventBonusItemId != nil { + return *x.EventBonusItemId + } + return 0 +} + +type CDOTAUserMsg_BoosterState struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + BoostedPlayers []*CDOTAUserMsg_BoosterStatePlayer `protobuf:"bytes,1,rep,name=boosted_players,json=boostedPlayers" json:"boosted_players,omitempty"` +} + +func (x *CDOTAUserMsg_BoosterState) Reset() { + *x = CDOTAUserMsg_BoosterState{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[82] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_BoosterState) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_BoosterState) ProtoMessage() {} + +func (x *CDOTAUserMsg_BoosterState) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_proto_msgTypes[82] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CDOTAUserMsg_BoosterState.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_BoosterState) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{82} +} + +func (x *CDOTAUserMsg_BoosterState) GetBoostedPlayers() []*CDOTAUserMsg_BoosterStatePlayer { + if x != nil { + return x.BoostedPlayers + } + return nil +} + +type CDOTAUserMsg_PlayerMMR struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Mmr []int32 `protobuf:"zigzag32,1,rep,packed,name=mmr" json:"mmr,omitempty"` +} + +func (x *CDOTAUserMsg_PlayerMMR) Reset() { + *x = CDOTAUserMsg_PlayerMMR{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[83] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_PlayerMMR) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_PlayerMMR) ProtoMessage() {} + +func (x *CDOTAUserMsg_PlayerMMR) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_proto_msgTypes[83] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CDOTAUserMsg_PlayerMMR.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_PlayerMMR) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{83} +} + +func (x *CDOTAUserMsg_PlayerMMR) GetMmr() []int32 { + if x != nil { + return x.Mmr + } + return nil +} + +type CDOTAUserMsg_AbilitySteal struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + PlayerId *int32 `protobuf:"varint,1,opt,name=player_id,json=playerId" json:"player_id,omitempty"` + AbilityId *uint32 `protobuf:"varint,2,opt,name=ability_id,json=abilityId" json:"ability_id,omitempty"` + AbilityLevel *uint32 `protobuf:"varint,3,opt,name=ability_level,json=abilityLevel" json:"ability_level,omitempty"` +} + +func (x *CDOTAUserMsg_AbilitySteal) Reset() { + *x = CDOTAUserMsg_AbilitySteal{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[84] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_AbilitySteal) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_AbilitySteal) ProtoMessage() {} + +func (x *CDOTAUserMsg_AbilitySteal) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_proto_msgTypes[84] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CDOTAUserMsg_AbilitySteal.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_AbilitySteal) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{84} +} + +func (x *CDOTAUserMsg_AbilitySteal) GetPlayerId() int32 { + if x != nil && x.PlayerId != nil { + return *x.PlayerId + } + return 0 +} + +func (x *CDOTAUserMsg_AbilitySteal) GetAbilityId() uint32 { + if x != nil && x.AbilityId != nil { + return *x.AbilityId + } + return 0 +} + +func (x *CDOTAUserMsg_AbilitySteal) GetAbilityLevel() uint32 { + if x != nil && x.AbilityLevel != nil { + return *x.AbilityLevel + } + return 0 +} + +type CDOTAUserMsg_StatsHeroLookup struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + PlayerId *int32 `protobuf:"varint,1,opt,name=player_id,json=playerId" json:"player_id,omitempty"` + HeroId *int32 `protobuf:"varint,2,opt,name=hero_id,json=heroId" json:"hero_id,omitempty"` + HeroName *string `protobuf:"bytes,3,opt,name=hero_name,json=heroName" json:"hero_name,omitempty"` + Persona *string `protobuf:"bytes,4,opt,name=persona" json:"persona,omitempty"` +} + +func (x *CDOTAUserMsg_StatsHeroLookup) Reset() { + *x = CDOTAUserMsg_StatsHeroLookup{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[85] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_StatsHeroLookup) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_StatsHeroLookup) ProtoMessage() {} + +func (x *CDOTAUserMsg_StatsHeroLookup) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_proto_msgTypes[85] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CDOTAUserMsg_StatsHeroLookup.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_StatsHeroLookup) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{85} +} + +func (x *CDOTAUserMsg_StatsHeroLookup) GetPlayerId() int32 { + if x != nil && x.PlayerId != nil { + return *x.PlayerId + } + return 0 +} + +func (x *CDOTAUserMsg_StatsHeroLookup) GetHeroId() int32 { + if x != nil && x.HeroId != nil { + return *x.HeroId + } + return 0 +} + +func (x *CDOTAUserMsg_StatsHeroLookup) GetHeroName() string { + if x != nil && x.HeroName != nil { + return *x.HeroName + } + return "" +} + +func (x *CDOTAUserMsg_StatsHeroLookup) GetPersona() string { + if x != nil && x.Persona != nil { + return *x.Persona + } + return "" +} + +type CDOTAUserMsg_StatsHeroPositionInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + AveragePosition *float32 `protobuf:"fixed32,1,opt,name=average_position,json=averagePosition" json:"average_position,omitempty"` + PositionDetails []*CDOTAUserMsg_StatsHeroPositionInfo_PositionPair `protobuf:"bytes,2,rep,name=position_details,json=positionDetails" json:"position_details,omitempty"` +} + +func (x *CDOTAUserMsg_StatsHeroPositionInfo) Reset() { + *x = CDOTAUserMsg_StatsHeroPositionInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[86] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_StatsHeroPositionInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_StatsHeroPositionInfo) ProtoMessage() {} + +func (x *CDOTAUserMsg_StatsHeroPositionInfo) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_proto_msgTypes[86] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CDOTAUserMsg_StatsHeroPositionInfo.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_StatsHeroPositionInfo) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{86} +} + +func (x *CDOTAUserMsg_StatsHeroPositionInfo) GetAveragePosition() float32 { + if x != nil && x.AveragePosition != nil { + return *x.AveragePosition + } + return 0 +} + +func (x *CDOTAUserMsg_StatsHeroPositionInfo) GetPositionDetails() []*CDOTAUserMsg_StatsHeroPositionInfo_PositionPair { + if x != nil { + return x.PositionDetails + } + return nil +} + +type CDOTAUserMsg_StatsHeroMinuteDetails struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + LastHits *uint32 `protobuf:"varint,1,opt,name=last_hits,json=lastHits" json:"last_hits,omitempty"` + HeroKills *uint32 `protobuf:"varint,2,opt,name=hero_kills,json=heroKills" json:"hero_kills,omitempty"` + HeroDamage *uint32 `protobuf:"varint,3,opt,name=hero_damage,json=heroDamage" json:"hero_damage,omitempty"` + TowerDamage *uint32 `protobuf:"varint,4,opt,name=tower_damage,json=towerDamage" json:"tower_damage,omitempty"` + PositionInfo *CDOTAUserMsg_StatsHeroPositionInfo `protobuf:"bytes,5,opt,name=position_info,json=positionInfo" json:"position_info,omitempty"` + TotalXp *uint32 `protobuf:"varint,6,opt,name=total_xp,json=totalXp" json:"total_xp,omitempty"` + NetWorth *uint32 `protobuf:"varint,7,opt,name=net_worth,json=netWorth" json:"net_worth,omitempty"` + HarvestedCreepGold *uint32 `protobuf:"varint,8,opt,name=harvested_creep_gold,json=harvestedCreepGold" json:"harvested_creep_gold,omitempty"` + ClaimedFarm *uint32 `protobuf:"varint,9,opt,name=claimed_farm,json=claimedFarm" json:"claimed_farm,omitempty"` + WardsPlaced *uint32 `protobuf:"varint,10,opt,name=wards_placed,json=wardsPlaced" json:"wards_placed,omitempty"` + RunesCollected *uint32 `protobuf:"varint,11,opt,name=runes_collected,json=runesCollected" json:"runes_collected,omitempty"` + TpsUsed *uint32 `protobuf:"varint,12,opt,name=tps_used,json=tpsUsed" json:"tps_used,omitempty"` + ManaSpent []uint32 `protobuf:"varint,13,rep,name=mana_spent,json=manaSpent" json:"mana_spent,omitempty"` + DamageAbsorbed []uint32 `protobuf:"varint,14,rep,name=damage_absorbed,json=damageAbsorbed" json:"damage_absorbed,omitempty"` + DamageDone []uint32 `protobuf:"varint,15,rep,name=damage_done,json=damageDone" json:"damage_done,omitempty"` +} + +func (x *CDOTAUserMsg_StatsHeroMinuteDetails) Reset() { + *x = CDOTAUserMsg_StatsHeroMinuteDetails{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[87] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_StatsHeroMinuteDetails) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_StatsHeroMinuteDetails) ProtoMessage() {} + +func (x *CDOTAUserMsg_StatsHeroMinuteDetails) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_proto_msgTypes[87] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CDOTAUserMsg_StatsHeroMinuteDetails.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_StatsHeroMinuteDetails) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{87} +} + +func (x *CDOTAUserMsg_StatsHeroMinuteDetails) GetLastHits() uint32 { + if x != nil && x.LastHits != nil { + return *x.LastHits + } + return 0 +} + +func (x *CDOTAUserMsg_StatsHeroMinuteDetails) GetHeroKills() uint32 { + if x != nil && x.HeroKills != nil { + return *x.HeroKills + } + return 0 +} + +func (x *CDOTAUserMsg_StatsHeroMinuteDetails) GetHeroDamage() uint32 { + if x != nil && x.HeroDamage != nil { + return *x.HeroDamage + } + return 0 +} + +func (x *CDOTAUserMsg_StatsHeroMinuteDetails) GetTowerDamage() uint32 { + if x != nil && x.TowerDamage != nil { + return *x.TowerDamage + } + return 0 +} + +func (x *CDOTAUserMsg_StatsHeroMinuteDetails) GetPositionInfo() *CDOTAUserMsg_StatsHeroPositionInfo { + if x != nil { + return x.PositionInfo + } + return nil +} + +func (x *CDOTAUserMsg_StatsHeroMinuteDetails) GetTotalXp() uint32 { + if x != nil && x.TotalXp != nil { + return *x.TotalXp + } + return 0 +} + +func (x *CDOTAUserMsg_StatsHeroMinuteDetails) GetNetWorth() uint32 { + if x != nil && x.NetWorth != nil { + return *x.NetWorth + } + return 0 +} + +func (x *CDOTAUserMsg_StatsHeroMinuteDetails) GetHarvestedCreepGold() uint32 { + if x != nil && x.HarvestedCreepGold != nil { + return *x.HarvestedCreepGold + } + return 0 +} + +func (x *CDOTAUserMsg_StatsHeroMinuteDetails) GetClaimedFarm() uint32 { + if x != nil && x.ClaimedFarm != nil { + return *x.ClaimedFarm + } + return 0 +} + +func (x *CDOTAUserMsg_StatsHeroMinuteDetails) GetWardsPlaced() uint32 { + if x != nil && x.WardsPlaced != nil { + return *x.WardsPlaced + } + return 0 +} + +func (x *CDOTAUserMsg_StatsHeroMinuteDetails) GetRunesCollected() uint32 { + if x != nil && x.RunesCollected != nil { + return *x.RunesCollected + } + return 0 +} + +func (x *CDOTAUserMsg_StatsHeroMinuteDetails) GetTpsUsed() uint32 { + if x != nil && x.TpsUsed != nil { + return *x.TpsUsed + } + return 0 +} + +func (x *CDOTAUserMsg_StatsHeroMinuteDetails) GetManaSpent() []uint32 { + if x != nil { + return x.ManaSpent + } + return nil +} + +func (x *CDOTAUserMsg_StatsHeroMinuteDetails) GetDamageAbsorbed() []uint32 { + if x != nil { + return x.DamageAbsorbed + } + return nil +} + +func (x *CDOTAUserMsg_StatsHeroMinuteDetails) GetDamageDone() []uint32 { + if x != nil { + return x.DamageDone + } + return nil +} + +type CDOTAUserMsg_StatsTeamMinuteDetails struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + PlayerStats []*CDOTAUserMsg_StatsHeroMinuteDetails `protobuf:"bytes,1,rep,name=player_stats,json=playerStats" json:"player_stats,omitempty"` + TowerKills *uint32 `protobuf:"varint,2,opt,name=tower_kills,json=towerKills" json:"tower_kills,omitempty"` + BarrackKills *uint32 `protobuf:"varint,3,opt,name=barrack_kills,json=barrackKills" json:"barrack_kills,omitempty"` + AvailableLaneCreepGold *uint32 `protobuf:"varint,4,opt,name=available_lane_creep_gold,json=availableLaneCreepGold" json:"available_lane_creep_gold,omitempty"` + BalanceKillValue *uint32 `protobuf:"varint,5,opt,name=balance_kill_value,json=balanceKillValue" json:"balance_kill_value,omitempty"` + BalanceTowerValue *uint32 `protobuf:"varint,6,opt,name=balance_tower_value,json=balanceTowerValue" json:"balance_tower_value,omitempty"` + BalanceBarracksValue *uint32 `protobuf:"varint,7,opt,name=balance_barracks_value,json=balanceBarracksValue" json:"balance_barracks_value,omitempty"` + BalanceGoldValue *uint32 `protobuf:"varint,8,opt,name=balance_gold_value,json=balanceGoldValue" json:"balance_gold_value,omitempty"` + BalanceXpValue *uint32 `protobuf:"varint,9,opt,name=balance_xp_value,json=balanceXpValue" json:"balance_xp_value,omitempty"` + LanePerformance []*CDOTAUserMsg_StatsTeamMinuteDetails_LocationPerformance `protobuf:"bytes,10,rep,name=lane_performance,json=lanePerformance" json:"lane_performance,omitempty"` +} + +func (x *CDOTAUserMsg_StatsTeamMinuteDetails) Reset() { + *x = CDOTAUserMsg_StatsTeamMinuteDetails{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[88] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_StatsTeamMinuteDetails) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_StatsTeamMinuteDetails) ProtoMessage() {} + +func (x *CDOTAUserMsg_StatsTeamMinuteDetails) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_proto_msgTypes[88] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CDOTAUserMsg_StatsTeamMinuteDetails.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_StatsTeamMinuteDetails) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{88} +} + +func (x *CDOTAUserMsg_StatsTeamMinuteDetails) GetPlayerStats() []*CDOTAUserMsg_StatsHeroMinuteDetails { + if x != nil { + return x.PlayerStats + } + return nil +} + +func (x *CDOTAUserMsg_StatsTeamMinuteDetails) GetTowerKills() uint32 { + if x != nil && x.TowerKills != nil { + return *x.TowerKills + } + return 0 +} + +func (x *CDOTAUserMsg_StatsTeamMinuteDetails) GetBarrackKills() uint32 { + if x != nil && x.BarrackKills != nil { + return *x.BarrackKills + } + return 0 +} + +func (x *CDOTAUserMsg_StatsTeamMinuteDetails) GetAvailableLaneCreepGold() uint32 { + if x != nil && x.AvailableLaneCreepGold != nil { + return *x.AvailableLaneCreepGold + } + return 0 +} + +func (x *CDOTAUserMsg_StatsTeamMinuteDetails) GetBalanceKillValue() uint32 { + if x != nil && x.BalanceKillValue != nil { + return *x.BalanceKillValue + } + return 0 +} + +func (x *CDOTAUserMsg_StatsTeamMinuteDetails) GetBalanceTowerValue() uint32 { + if x != nil && x.BalanceTowerValue != nil { + return *x.BalanceTowerValue + } + return 0 +} + +func (x *CDOTAUserMsg_StatsTeamMinuteDetails) GetBalanceBarracksValue() uint32 { + if x != nil && x.BalanceBarracksValue != nil { + return *x.BalanceBarracksValue + } + return 0 +} + +func (x *CDOTAUserMsg_StatsTeamMinuteDetails) GetBalanceGoldValue() uint32 { + if x != nil && x.BalanceGoldValue != nil { + return *x.BalanceGoldValue + } + return 0 +} + +func (x *CDOTAUserMsg_StatsTeamMinuteDetails) GetBalanceXpValue() uint32 { + if x != nil && x.BalanceXpValue != nil { + return *x.BalanceXpValue + } + return 0 +} + +func (x *CDOTAUserMsg_StatsTeamMinuteDetails) GetLanePerformance() []*CDOTAUserMsg_StatsTeamMinuteDetails_LocationPerformance { + if x != nil { + return x.LanePerformance + } + return nil +} + +type CDOTAUserMsg_StatsPlayerKillShare struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + PlayerId *int32 `protobuf:"varint,1,opt,name=player_id,json=playerId" json:"player_id,omitempty"` + KillSharePercent *float32 `protobuf:"fixed32,2,opt,name=kill_share_percent,json=killSharePercent" json:"kill_share_percent,omitempty"` + PlayerLocX *float32 `protobuf:"fixed32,3,opt,name=player_loc_x,json=playerLocX" json:"player_loc_x,omitempty"` + PlayerLocY *float32 `protobuf:"fixed32,4,opt,name=player_loc_y,json=playerLocY" json:"player_loc_y,omitempty"` + HealthPercent *float32 `protobuf:"fixed32,5,opt,name=health_percent,json=healthPercent" json:"health_percent,omitempty"` + ManaPercent *float32 `protobuf:"fixed32,6,opt,name=mana_percent,json=manaPercent" json:"mana_percent,omitempty"` +} + +func (x *CDOTAUserMsg_StatsPlayerKillShare) Reset() { + *x = CDOTAUserMsg_StatsPlayerKillShare{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[89] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_StatsPlayerKillShare) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_StatsPlayerKillShare) ProtoMessage() {} + +func (x *CDOTAUserMsg_StatsPlayerKillShare) ProtoReflect() protoreflect.Message { + mi := &file_dota_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 CDOTAUserMsg_StatsPlayerKillShare.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_StatsPlayerKillShare) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{89} +} + +func (x *CDOTAUserMsg_StatsPlayerKillShare) GetPlayerId() int32 { + if x != nil && x.PlayerId != nil { + return *x.PlayerId + } + return 0 +} + +func (x *CDOTAUserMsg_StatsPlayerKillShare) GetKillSharePercent() float32 { + if x != nil && x.KillSharePercent != nil { + return *x.KillSharePercent + } + return 0 +} + +func (x *CDOTAUserMsg_StatsPlayerKillShare) GetPlayerLocX() float32 { + if x != nil && x.PlayerLocX != nil { + return *x.PlayerLocX + } + return 0 +} + +func (x *CDOTAUserMsg_StatsPlayerKillShare) GetPlayerLocY() float32 { + if x != nil && x.PlayerLocY != nil { + return *x.PlayerLocY + } + return 0 +} + +func (x *CDOTAUserMsg_StatsPlayerKillShare) GetHealthPercent() float32 { + if x != nil && x.HealthPercent != nil { + return *x.HealthPercent + } + return 0 +} + +func (x *CDOTAUserMsg_StatsPlayerKillShare) GetManaPercent() float32 { + if x != nil && x.ManaPercent != nil { + return *x.ManaPercent + } + return 0 +} + +type CDOTAUserMsg_StatsKillDetails struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + VictimId *int32 `protobuf:"varint,1,opt,name=victim_id,json=victimId" json:"victim_id,omitempty"` + KillShares []*CDOTAUserMsg_StatsPlayerKillShare `protobuf:"bytes,2,rep,name=kill_shares,json=killShares" json:"kill_shares,omitempty"` + DamageToKill *uint32 `protobuf:"varint,3,opt,name=damage_to_kill,json=damageToKill" json:"damage_to_kill,omitempty"` + EffectiveHealth *uint32 `protobuf:"varint,4,opt,name=effective_health,json=effectiveHealth" json:"effective_health,omitempty"` + DeathTime *float32 `protobuf:"fixed32,5,opt,name=death_time,json=deathTime" json:"death_time,omitempty"` + KillerId *int32 `protobuf:"varint,6,opt,name=killer_id,json=killerId" json:"killer_id,omitempty"` +} + +func (x *CDOTAUserMsg_StatsKillDetails) Reset() { + *x = CDOTAUserMsg_StatsKillDetails{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[90] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_StatsKillDetails) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_StatsKillDetails) ProtoMessage() {} + +func (x *CDOTAUserMsg_StatsKillDetails) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_proto_msgTypes[90] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CDOTAUserMsg_StatsKillDetails.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_StatsKillDetails) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{90} +} + +func (x *CDOTAUserMsg_StatsKillDetails) GetVictimId() int32 { + if x != nil && x.VictimId != nil { + return *x.VictimId + } + return 0 +} + +func (x *CDOTAUserMsg_StatsKillDetails) GetKillShares() []*CDOTAUserMsg_StatsPlayerKillShare { + if x != nil { + return x.KillShares + } + return nil +} + +func (x *CDOTAUserMsg_StatsKillDetails) GetDamageToKill() uint32 { + if x != nil && x.DamageToKill != nil { + return *x.DamageToKill + } + return 0 +} + +func (x *CDOTAUserMsg_StatsKillDetails) GetEffectiveHealth() uint32 { + if x != nil && x.EffectiveHealth != nil { + return *x.EffectiveHealth + } + return 0 +} + +func (x *CDOTAUserMsg_StatsKillDetails) GetDeathTime() float32 { + if x != nil && x.DeathTime != nil { + return *x.DeathTime + } + return 0 +} + +func (x *CDOTAUserMsg_StatsKillDetails) GetKillerId() int32 { + if x != nil && x.KillerId != nil { + return *x.KillerId + } + return 0 +} + +type CDOTAUserMsg_StatsMatchDetails struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + HeroLookup []*CDOTAUserMsg_StatsHeroLookup `protobuf:"bytes,1,rep,name=hero_lookup,json=heroLookup" json:"hero_lookup,omitempty"` + RadiantStats []*CDOTAUserMsg_StatsTeamMinuteDetails `protobuf:"bytes,2,rep,name=radiant_stats,json=radiantStats" json:"radiant_stats,omitempty"` + DireStats []*CDOTAUserMsg_StatsTeamMinuteDetails `protobuf:"bytes,3,rep,name=dire_stats,json=direStats" json:"dire_stats,omitempty"` + RadiantKills []*CDOTAUserMsg_StatsKillDetails `protobuf:"bytes,4,rep,name=radiant_kills,json=radiantKills" json:"radiant_kills,omitempty"` + DireKills []*CDOTAUserMsg_StatsKillDetails `protobuf:"bytes,5,rep,name=dire_kills,json=direKills" json:"dire_kills,omitempty"` + FightDetails []*CDOTAUserMsg_StatsMatchDetails_CDOTAUserMsg_StatsFightDetails `protobuf:"bytes,6,rep,name=fight_details,json=fightDetails" json:"fight_details,omitempty"` +} + +func (x *CDOTAUserMsg_StatsMatchDetails) Reset() { + *x = CDOTAUserMsg_StatsMatchDetails{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[91] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_StatsMatchDetails) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_StatsMatchDetails) ProtoMessage() {} + +func (x *CDOTAUserMsg_StatsMatchDetails) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_proto_msgTypes[91] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CDOTAUserMsg_StatsMatchDetails.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_StatsMatchDetails) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{91} +} + +func (x *CDOTAUserMsg_StatsMatchDetails) GetHeroLookup() []*CDOTAUserMsg_StatsHeroLookup { + if x != nil { + return x.HeroLookup + } + return nil +} + +func (x *CDOTAUserMsg_StatsMatchDetails) GetRadiantStats() []*CDOTAUserMsg_StatsTeamMinuteDetails { + if x != nil { + return x.RadiantStats + } + return nil +} + +func (x *CDOTAUserMsg_StatsMatchDetails) GetDireStats() []*CDOTAUserMsg_StatsTeamMinuteDetails { + if x != nil { + return x.DireStats + } + return nil +} + +func (x *CDOTAUserMsg_StatsMatchDetails) GetRadiantKills() []*CDOTAUserMsg_StatsKillDetails { + if x != nil { + return x.RadiantKills + } + return nil +} + +func (x *CDOTAUserMsg_StatsMatchDetails) GetDireKills() []*CDOTAUserMsg_StatsKillDetails { + if x != nil { + return x.DireKills + } + return nil +} + +func (x *CDOTAUserMsg_StatsMatchDetails) GetFightDetails() []*CDOTAUserMsg_StatsMatchDetails_CDOTAUserMsg_StatsFightDetails { + if x != nil { + return x.FightDetails + } + return nil +} + +type CDOTAUserMsg_MiniTaunt struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + TauntingPlayerId *int32 `protobuf:"varint,1,opt,name=taunting_player_id,json=tauntingPlayerId" json:"taunting_player_id,omitempty"` +} + +func (x *CDOTAUserMsg_MiniTaunt) Reset() { + *x = CDOTAUserMsg_MiniTaunt{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[92] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_MiniTaunt) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_MiniTaunt) ProtoMessage() {} + +func (x *CDOTAUserMsg_MiniTaunt) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_proto_msgTypes[92] + 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 CDOTAUserMsg_MiniTaunt.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_MiniTaunt) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{92} +} + +func (x *CDOTAUserMsg_MiniTaunt) GetTauntingPlayerId() int32 { + if x != nil && x.TauntingPlayerId != nil { + return *x.TauntingPlayerId + } + return 0 +} + +type CDOTAUserMsg_SpeechBubble struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + DestroyAll *bool `protobuf:"varint,1,opt,name=destroy_all,json=destroyAll" json:"destroy_all,omitempty"` +} + +func (x *CDOTAUserMsg_SpeechBubble) Reset() { + *x = CDOTAUserMsg_SpeechBubble{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[93] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_SpeechBubble) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_SpeechBubble) ProtoMessage() {} + +func (x *CDOTAUserMsg_SpeechBubble) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_proto_msgTypes[93] + 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 CDOTAUserMsg_SpeechBubble.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_SpeechBubble) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{93} +} + +func (x *CDOTAUserMsg_SpeechBubble) GetDestroyAll() bool { + if x != nil && x.DestroyAll != nil { + return *x.DestroyAll + } + return false +} + +type CDOTAUserMsg_CustomHeaderMessage struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + PlayerId *int32 `protobuf:"varint,1,opt,name=player_id,json=playerId" json:"player_id,omitempty"` + Duration *float32 `protobuf:"fixed32,2,opt,name=duration" json:"duration,omitempty"` + Message *string `protobuf:"bytes,3,opt,name=message" json:"message,omitempty"` + Value *int32 `protobuf:"varint,4,opt,name=value" json:"value,omitempty"` +} + +func (x *CDOTAUserMsg_CustomHeaderMessage) Reset() { + *x = CDOTAUserMsg_CustomHeaderMessage{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[94] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_CustomHeaderMessage) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_CustomHeaderMessage) ProtoMessage() {} + +func (x *CDOTAUserMsg_CustomHeaderMessage) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_proto_msgTypes[94] + 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 CDOTAUserMsg_CustomHeaderMessage.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_CustomHeaderMessage) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{94} +} + +func (x *CDOTAUserMsg_CustomHeaderMessage) GetPlayerId() int32 { + if x != nil && x.PlayerId != nil { + return *x.PlayerId + } + return 0 +} + +func (x *CDOTAUserMsg_CustomHeaderMessage) GetDuration() float32 { + if x != nil && x.Duration != nil { + return *x.Duration + } + return 0 +} + +func (x *CDOTAUserMsg_CustomHeaderMessage) GetMessage() string { + if x != nil && x.Message != nil { + return *x.Message + } + return "" +} + +func (x *CDOTAUserMsg_CustomHeaderMessage) GetValue() int32 { + if x != nil && x.Value != nil { + return *x.Value + } + return 0 +} + +type CMsgHeroAbilityStat struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + StatType *EHeroStatType `protobuf:"varint,1,opt,name=stat_type,json=statType,enum=EHeroStatType,def=0" json:"stat_type,omitempty"` + IntValue *int32 `protobuf:"varint,2,opt,name=int_value,json=intValue" json:"int_value,omitempty"` + FloatValue *float32 `protobuf:"fixed32,3,opt,name=float_value,json=floatValue" json:"float_value,omitempty"` +} + +// Default values for CMsgHeroAbilityStat fields. +const ( + Default_CMsgHeroAbilityStat_StatType = EHeroStatType_k_EHeroStatType_None +) + +func (x *CMsgHeroAbilityStat) Reset() { + *x = CMsgHeroAbilityStat{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[95] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CMsgHeroAbilityStat) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CMsgHeroAbilityStat) ProtoMessage() {} + +func (x *CMsgHeroAbilityStat) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_proto_msgTypes[95] + 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 CMsgHeroAbilityStat.ProtoReflect.Descriptor instead. +func (*CMsgHeroAbilityStat) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{95} +} + +func (x *CMsgHeroAbilityStat) GetStatType() EHeroStatType { + if x != nil && x.StatType != nil { + return *x.StatType + } + return Default_CMsgHeroAbilityStat_StatType +} + +func (x *CMsgHeroAbilityStat) GetIntValue() int32 { + if x != nil && x.IntValue != nil { + return *x.IntValue + } + return 0 +} + +func (x *CMsgHeroAbilityStat) GetFloatValue() float32 { + if x != nil && x.FloatValue != nil { + return *x.FloatValue + } + return 0 +} + +type CMsgCombatAnalyzerPlayerStat struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + AccountId *uint32 `protobuf:"varint,1,opt,name=account_id,json=accountId" json:"account_id,omitempty"` + HeroAbilityStats []*CMsgHeroAbilityStat `protobuf:"bytes,2,rep,name=hero_ability_stats,json=heroAbilityStats" json:"hero_ability_stats,omitempty"` +} + +func (x *CMsgCombatAnalyzerPlayerStat) Reset() { + *x = CMsgCombatAnalyzerPlayerStat{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[96] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CMsgCombatAnalyzerPlayerStat) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CMsgCombatAnalyzerPlayerStat) ProtoMessage() {} + +func (x *CMsgCombatAnalyzerPlayerStat) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_proto_msgTypes[96] + 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 CMsgCombatAnalyzerPlayerStat.ProtoReflect.Descriptor instead. +func (*CMsgCombatAnalyzerPlayerStat) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{96} +} + +func (x *CMsgCombatAnalyzerPlayerStat) GetAccountId() uint32 { + if x != nil && x.AccountId != nil { + return *x.AccountId + } + return 0 +} + +func (x *CMsgCombatAnalyzerPlayerStat) GetHeroAbilityStats() []*CMsgHeroAbilityStat { + if x != nil { + return x.HeroAbilityStats + } + return nil +} + +type CMsgCombatAnalyzerStats struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + MatchId *uint64 `protobuf:"varint,1,opt,name=match_id,json=matchId" json:"match_id,omitempty"` + PlayerStats []*CMsgCombatAnalyzerPlayerStat `protobuf:"bytes,2,rep,name=player_stats,json=playerStats" json:"player_stats,omitempty"` +} + +func (x *CMsgCombatAnalyzerStats) Reset() { + *x = CMsgCombatAnalyzerStats{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[97] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CMsgCombatAnalyzerStats) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CMsgCombatAnalyzerStats) ProtoMessage() {} + +func (x *CMsgCombatAnalyzerStats) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_proto_msgTypes[97] + 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 CMsgCombatAnalyzerStats.ProtoReflect.Descriptor instead. +func (*CMsgCombatAnalyzerStats) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{97} +} + +func (x *CMsgCombatAnalyzerStats) GetMatchId() uint64 { + if x != nil && x.MatchId != nil { + return *x.MatchId + } + return 0 +} + +func (x *CMsgCombatAnalyzerStats) GetPlayerStats() []*CMsgCombatAnalyzerPlayerStat { + if x != nil { + return x.PlayerStats + } + return nil +} + +type CDOTAUserMsg_BeastChat struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Team *uint32 `protobuf:"varint,1,opt,name=team" json:"team,omitempty"` + Format *string `protobuf:"bytes,2,opt,name=format" json:"format,omitempty"` + Message *string `protobuf:"bytes,3,opt,name=message" json:"message,omitempty"` + Target *string `protobuf:"bytes,4,opt,name=target" json:"target,omitempty"` +} + +func (x *CDOTAUserMsg_BeastChat) Reset() { + *x = CDOTAUserMsg_BeastChat{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[98] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_BeastChat) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_BeastChat) ProtoMessage() {} + +func (x *CDOTAUserMsg_BeastChat) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_proto_msgTypes[98] + 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 CDOTAUserMsg_BeastChat.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_BeastChat) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{98} +} + +func (x *CDOTAUserMsg_BeastChat) GetTeam() uint32 { + if x != nil && x.Team != nil { + return *x.Team + } + return 0 +} + +func (x *CDOTAUserMsg_BeastChat) GetFormat() string { + if x != nil && x.Format != nil { + return *x.Format + } + return "" +} + +func (x *CDOTAUserMsg_BeastChat) GetMessage() string { + if x != nil && x.Message != nil { + return *x.Message + } + return "" +} + +func (x *CDOTAUserMsg_BeastChat) GetTarget() string { + if x != nil && x.Target != nil { + return *x.Target + } + return "" +} + +type CDOTAUserMsg_CustomHudElement_Create struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ElementId *string `protobuf:"bytes,1,opt,name=element_id,json=elementId" json:"element_id,omitempty"` + LayoutFilename *string `protobuf:"bytes,2,opt,name=layout_filename,json=layoutFilename" json:"layout_filename,omitempty"` + Data []byte `protobuf:"bytes,3,opt,name=data" json:"data,omitempty"` +} + +func (x *CDOTAUserMsg_CustomHudElement_Create) Reset() { + *x = CDOTAUserMsg_CustomHudElement_Create{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[99] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_CustomHudElement_Create) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_CustomHudElement_Create) ProtoMessage() {} + +func (x *CDOTAUserMsg_CustomHudElement_Create) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_proto_msgTypes[99] + 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 CDOTAUserMsg_CustomHudElement_Create.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_CustomHudElement_Create) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{99} +} + +func (x *CDOTAUserMsg_CustomHudElement_Create) GetElementId() string { + if x != nil && x.ElementId != nil { + return *x.ElementId + } + return "" +} + +func (x *CDOTAUserMsg_CustomHudElement_Create) GetLayoutFilename() string { + if x != nil && x.LayoutFilename != nil { + return *x.LayoutFilename + } + return "" +} + +func (x *CDOTAUserMsg_CustomHudElement_Create) GetData() []byte { + if x != nil { + return x.Data + } + return nil +} + +type CDOTAUserMsg_CustomHudElement_Modify struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ElementId *string `protobuf:"bytes,1,opt,name=element_id,json=elementId" json:"element_id,omitempty"` + ModifyVisible *bool `protobuf:"varint,2,opt,name=modify_visible,json=modifyVisible" json:"modify_visible,omitempty"` + Data []byte `protobuf:"bytes,3,opt,name=data" json:"data,omitempty"` +} + +func (x *CDOTAUserMsg_CustomHudElement_Modify) Reset() { + *x = CDOTAUserMsg_CustomHudElement_Modify{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[100] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_CustomHudElement_Modify) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_CustomHudElement_Modify) ProtoMessage() {} + +func (x *CDOTAUserMsg_CustomHudElement_Modify) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_proto_msgTypes[100] + 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 CDOTAUserMsg_CustomHudElement_Modify.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_CustomHudElement_Modify) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{100} +} + +func (x *CDOTAUserMsg_CustomHudElement_Modify) GetElementId() string { + if x != nil && x.ElementId != nil { + return *x.ElementId + } + return "" +} + +func (x *CDOTAUserMsg_CustomHudElement_Modify) GetModifyVisible() bool { + if x != nil && x.ModifyVisible != nil { + return *x.ModifyVisible + } + return false +} + +func (x *CDOTAUserMsg_CustomHudElement_Modify) GetData() []byte { + if x != nil { + return x.Data + } + return nil +} + +type CDOTAUserMsg_CustomHudElement_Destroy struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ElementId *string `protobuf:"bytes,1,opt,name=element_id,json=elementId" json:"element_id,omitempty"` +} + +func (x *CDOTAUserMsg_CustomHudElement_Destroy) Reset() { + *x = CDOTAUserMsg_CustomHudElement_Destroy{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[101] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_CustomHudElement_Destroy) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_CustomHudElement_Destroy) ProtoMessage() {} + +func (x *CDOTAUserMsg_CustomHudElement_Destroy) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_proto_msgTypes[101] + 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 CDOTAUserMsg_CustomHudElement_Destroy.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_CustomHudElement_Destroy) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{101} +} + +func (x *CDOTAUserMsg_CustomHudElement_Destroy) GetElementId() string { + if x != nil && x.ElementId != nil { + return *x.ElementId + } + return "" +} + +type CDOTAUserMsg_CompendiumStatePlayer struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + PlayerId *int32 `protobuf:"varint,1,opt,name=player_id,json=playerId" json:"player_id,omitempty"` + Level *uint32 `protobuf:"varint,2,opt,name=level" json:"level,omitempty"` +} + +func (x *CDOTAUserMsg_CompendiumStatePlayer) Reset() { + *x = CDOTAUserMsg_CompendiumStatePlayer{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[102] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_CompendiumStatePlayer) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_CompendiumStatePlayer) ProtoMessage() {} + +func (x *CDOTAUserMsg_CompendiumStatePlayer) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_proto_msgTypes[102] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CDOTAUserMsg_CompendiumStatePlayer.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_CompendiumStatePlayer) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{102} +} + +func (x *CDOTAUserMsg_CompendiumStatePlayer) GetPlayerId() int32 { + if x != nil && x.PlayerId != nil { + return *x.PlayerId + } + return 0 +} + +func (x *CDOTAUserMsg_CompendiumStatePlayer) GetLevel() uint32 { + if x != nil && x.Level != nil { + return *x.Level + } + return 0 +} + +type CDOTAUserMsg_CompendiumState struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + CompendiumPlayers []*CDOTAUserMsg_CompendiumStatePlayer `protobuf:"bytes,1,rep,name=compendium_players,json=compendiumPlayers" json:"compendium_players,omitempty"` +} + +func (x *CDOTAUserMsg_CompendiumState) Reset() { + *x = CDOTAUserMsg_CompendiumState{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[103] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_CompendiumState) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_CompendiumState) ProtoMessage() {} + +func (x *CDOTAUserMsg_CompendiumState) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_proto_msgTypes[103] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CDOTAUserMsg_CompendiumState.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_CompendiumState) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{103} +} + +func (x *CDOTAUserMsg_CompendiumState) GetCompendiumPlayers() []*CDOTAUserMsg_CompendiumStatePlayer { + if x != nil { + return x.CompendiumPlayers + } + return nil +} + +type CDOTAUserMsg_ProjectionAbility struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + AbilityId *uint32 `protobuf:"varint,1,opt,name=ability_id,json=abilityId" json:"ability_id,omitempty"` + CasterEntIndex *int32 `protobuf:"varint,2,opt,name=caster_ent_index,json=casterEntIndex" json:"caster_ent_index,omitempty"` + CasterTeam *int32 `protobuf:"varint,3,opt,name=caster_team,json=casterTeam" json:"caster_team,omitempty"` + ChannelEnd *bool `protobuf:"varint,4,opt,name=channel_end,json=channelEnd" json:"channel_end,omitempty"` + Origin *CMsgVector `protobuf:"bytes,5,opt,name=origin" json:"origin,omitempty"` + TrackCasterOnly *bool `protobuf:"varint,6,opt,name=track_caster_only,json=trackCasterOnly" json:"track_caster_only,omitempty"` + EndTime *float32 `protobuf:"fixed32,7,opt,name=end_time,json=endTime" json:"end_time,omitempty"` + VictimEntIndex *int32 `protobuf:"varint,8,opt,name=victim_ent_index,json=victimEntIndex" json:"victim_ent_index,omitempty"` +} + +func (x *CDOTAUserMsg_ProjectionAbility) Reset() { + *x = CDOTAUserMsg_ProjectionAbility{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[104] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_ProjectionAbility) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_ProjectionAbility) ProtoMessage() {} + +func (x *CDOTAUserMsg_ProjectionAbility) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_proto_msgTypes[104] + 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 CDOTAUserMsg_ProjectionAbility.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_ProjectionAbility) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{104} +} + +func (x *CDOTAUserMsg_ProjectionAbility) GetAbilityId() uint32 { + if x != nil && x.AbilityId != nil { + return *x.AbilityId + } + return 0 +} + +func (x *CDOTAUserMsg_ProjectionAbility) GetCasterEntIndex() int32 { + if x != nil && x.CasterEntIndex != nil { + return *x.CasterEntIndex + } + return 0 +} + +func (x *CDOTAUserMsg_ProjectionAbility) GetCasterTeam() int32 { + if x != nil && x.CasterTeam != nil { + return *x.CasterTeam + } + return 0 +} + +func (x *CDOTAUserMsg_ProjectionAbility) GetChannelEnd() bool { + if x != nil && x.ChannelEnd != nil { + return *x.ChannelEnd + } + return false +} + +func (x *CDOTAUserMsg_ProjectionAbility) GetOrigin() *CMsgVector { + if x != nil { + return x.Origin + } + return nil +} + +func (x *CDOTAUserMsg_ProjectionAbility) GetTrackCasterOnly() bool { + if x != nil && x.TrackCasterOnly != nil { + return *x.TrackCasterOnly + } + return false +} + +func (x *CDOTAUserMsg_ProjectionAbility) GetEndTime() float32 { + if x != nil && x.EndTime != nil { + return *x.EndTime + } + return 0 +} + +func (x *CDOTAUserMsg_ProjectionAbility) GetVictimEntIndex() int32 { + if x != nil && x.VictimEntIndex != nil { + return *x.VictimEntIndex + } + return 0 +} + +type CDOTAUserMsg_ProjectionEvent struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + EventId *EProjectionEvent `protobuf:"varint,1,opt,name=event_id,json=eventId,enum=EProjectionEvent,def=0" json:"event_id,omitempty"` + Team *uint32 `protobuf:"varint,2,opt,name=team" json:"team,omitempty"` +} + +// Default values for CDOTAUserMsg_ProjectionEvent fields. +const ( + Default_CDOTAUserMsg_ProjectionEvent_EventId = EProjectionEvent_ePE_FirstBlood +) + +func (x *CDOTAUserMsg_ProjectionEvent) Reset() { + *x = CDOTAUserMsg_ProjectionEvent{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[105] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_ProjectionEvent) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_ProjectionEvent) ProtoMessage() {} + +func (x *CDOTAUserMsg_ProjectionEvent) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_proto_msgTypes[105] + 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 CDOTAUserMsg_ProjectionEvent.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_ProjectionEvent) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{105} +} + +func (x *CDOTAUserMsg_ProjectionEvent) GetEventId() EProjectionEvent { + if x != nil && x.EventId != nil { + return *x.EventId + } + return Default_CDOTAUserMsg_ProjectionEvent_EventId +} + +func (x *CDOTAUserMsg_ProjectionEvent) GetTeam() uint32 { + if x != nil && x.Team != nil { + return *x.Team + } + return 0 +} + +type CDOTAUserMsg_XPAlert struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + PlayerId *int32 `protobuf:"varint,1,opt,name=player_id,json=playerId" json:"player_id,omitempty"` + TargetEntindex *int32 `protobuf:"varint,2,opt,name=target_entindex,json=targetEntindex" json:"target_entindex,omitempty"` +} + +func (x *CDOTAUserMsg_XPAlert) Reset() { + *x = CDOTAUserMsg_XPAlert{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[106] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_XPAlert) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_XPAlert) ProtoMessage() {} + +func (x *CDOTAUserMsg_XPAlert) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_proto_msgTypes[106] + 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 CDOTAUserMsg_XPAlert.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_XPAlert) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{106} +} + +func (x *CDOTAUserMsg_XPAlert) GetPlayerId() int32 { + if x != nil && x.PlayerId != nil { + return *x.PlayerId + } + return 0 +} + +func (x *CDOTAUserMsg_XPAlert) GetTargetEntindex() int32 { + if x != nil && x.TargetEntindex != nil { + return *x.TargetEntindex + } + return 0 +} + +type CDOTAUserMsg_TalentTreeAlert struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + PlayerId *int32 `protobuf:"varint,1,opt,name=player_id,json=playerId" json:"player_id,omitempty"` + TargetEntindex *int32 `protobuf:"varint,2,opt,name=target_entindex,json=targetEntindex" json:"target_entindex,omitempty"` + AbilityId *int32 `protobuf:"varint,3,opt,name=ability_id,json=abilityId" json:"ability_id,omitempty"` + Slot *int32 `protobuf:"varint,4,opt,name=slot" json:"slot,omitempty"` + Learned *bool `protobuf:"varint,5,opt,name=learned" json:"learned,omitempty"` +} + +func (x *CDOTAUserMsg_TalentTreeAlert) Reset() { + *x = CDOTAUserMsg_TalentTreeAlert{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[107] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_TalentTreeAlert) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_TalentTreeAlert) ProtoMessage() {} + +func (x *CDOTAUserMsg_TalentTreeAlert) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_proto_msgTypes[107] + 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 CDOTAUserMsg_TalentTreeAlert.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_TalentTreeAlert) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{107} +} + +func (x *CDOTAUserMsg_TalentTreeAlert) GetPlayerId() int32 { + if x != nil && x.PlayerId != nil { + return *x.PlayerId + } + return 0 +} + +func (x *CDOTAUserMsg_TalentTreeAlert) GetTargetEntindex() int32 { + if x != nil && x.TargetEntindex != nil { + return *x.TargetEntindex + } + return 0 +} + +func (x *CDOTAUserMsg_TalentTreeAlert) GetAbilityId() int32 { + if x != nil && x.AbilityId != nil { + return *x.AbilityId + } + return 0 +} + +func (x *CDOTAUserMsg_TalentTreeAlert) GetSlot() int32 { + if x != nil && x.Slot != nil { + return *x.Slot + } + return 0 +} + +func (x *CDOTAUserMsg_TalentTreeAlert) GetLearned() bool { + if x != nil && x.Learned != nil { + return *x.Learned + } + return false +} + +type CDOTAUserMsg_UpdateQuestProgress struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *CDOTAUserMsg_UpdateQuestProgress) Reset() { + *x = CDOTAUserMsg_UpdateQuestProgress{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[108] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_UpdateQuestProgress) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_UpdateQuestProgress) ProtoMessage() {} + +func (x *CDOTAUserMsg_UpdateQuestProgress) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_proto_msgTypes[108] + 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 CDOTAUserMsg_UpdateQuestProgress.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_UpdateQuestProgress) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{108} +} + +type CDOTAUserMsg_QuestStatus struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + PlayerId *int32 `protobuf:"varint,1,req,name=player_id,json=playerId" json:"player_id,omitempty"` + QuestId *uint32 `protobuf:"varint,2,opt,name=quest_id,json=questId" json:"quest_id,omitempty"` + ChallengeId *uint32 `protobuf:"varint,3,opt,name=challenge_id,json=challengeId" json:"challenge_id,omitempty"` + Progress *uint32 `protobuf:"varint,4,opt,name=progress" json:"progress,omitempty"` + Goal *uint32 `protobuf:"varint,5,opt,name=goal" json:"goal,omitempty"` + Query *uint32 `protobuf:"varint,6,opt,name=query" json:"query,omitempty"` + FailGametime *float32 `protobuf:"fixed32,7,opt,name=fail_gametime,json=failGametime" json:"fail_gametime,omitempty"` + ItemAbilityId *uint32 `protobuf:"varint,8,opt,name=item_ability_id,json=itemAbilityId" json:"item_ability_id,omitempty"` +} + +func (x *CDOTAUserMsg_QuestStatus) Reset() { + *x = CDOTAUserMsg_QuestStatus{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[109] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_QuestStatus) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_QuestStatus) ProtoMessage() {} + +func (x *CDOTAUserMsg_QuestStatus) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_proto_msgTypes[109] + 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 CDOTAUserMsg_QuestStatus.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_QuestStatus) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{109} +} + +func (x *CDOTAUserMsg_QuestStatus) GetPlayerId() int32 { + if x != nil && x.PlayerId != nil { + return *x.PlayerId + } + return 0 +} + +func (x *CDOTAUserMsg_QuestStatus) GetQuestId() uint32 { + if x != nil && x.QuestId != nil { + return *x.QuestId + } + return 0 +} + +func (x *CDOTAUserMsg_QuestStatus) GetChallengeId() uint32 { + if x != nil && x.ChallengeId != nil { + return *x.ChallengeId + } + return 0 +} + +func (x *CDOTAUserMsg_QuestStatus) GetProgress() uint32 { + if x != nil && x.Progress != nil { + return *x.Progress + } + return 0 +} + +func (x *CDOTAUserMsg_QuestStatus) GetGoal() uint32 { + if x != nil && x.Goal != nil { + return *x.Goal + } + return 0 +} + +func (x *CDOTAUserMsg_QuestStatus) GetQuery() uint32 { + if x != nil && x.Query != nil { + return *x.Query + } + return 0 +} + +func (x *CDOTAUserMsg_QuestStatus) GetFailGametime() float32 { + if x != nil && x.FailGametime != nil { + return *x.FailGametime + } + return 0 +} + +func (x *CDOTAUserMsg_QuestStatus) GetItemAbilityId() uint32 { + if x != nil && x.ItemAbilityId != nil { + return *x.ItemAbilityId + } + return 0 +} + +type CDOTAUserMsg_SuggestHeroPick struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + PlayerId *int32 `protobuf:"varint,1,req,name=player_id,json=playerId" json:"player_id,omitempty"` + HeroId *uint32 `protobuf:"varint,2,opt,name=hero_id,json=heroId" json:"hero_id,omitempty"` + Ban *bool `protobuf:"varint,3,opt,name=ban" json:"ban,omitempty"` +} + +func (x *CDOTAUserMsg_SuggestHeroPick) Reset() { + *x = CDOTAUserMsg_SuggestHeroPick{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[110] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_SuggestHeroPick) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_SuggestHeroPick) ProtoMessage() {} + +func (x *CDOTAUserMsg_SuggestHeroPick) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_proto_msgTypes[110] + 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 CDOTAUserMsg_SuggestHeroPick.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_SuggestHeroPick) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{110} +} + +func (x *CDOTAUserMsg_SuggestHeroPick) GetPlayerId() int32 { + if x != nil && x.PlayerId != nil { + return *x.PlayerId + } + return 0 +} + +func (x *CDOTAUserMsg_SuggestHeroPick) GetHeroId() uint32 { + if x != nil && x.HeroId != nil { + return *x.HeroId + } + return 0 +} + +func (x *CDOTAUserMsg_SuggestHeroPick) GetBan() bool { + if x != nil && x.Ban != nil { + return *x.Ban + } + return false +} + +type CDOTAUserMsg_SuggestHeroRole struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + PlayerId *int32 `protobuf:"varint,1,req,name=player_id,json=playerId" json:"player_id,omitempty"` + HeroRole *string `protobuf:"bytes,2,opt,name=hero_role,json=heroRole" json:"hero_role,omitempty"` +} + +func (x *CDOTAUserMsg_SuggestHeroRole) Reset() { + *x = CDOTAUserMsg_SuggestHeroRole{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[111] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_SuggestHeroRole) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_SuggestHeroRole) ProtoMessage() {} + +func (x *CDOTAUserMsg_SuggestHeroRole) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_proto_msgTypes[111] + 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 CDOTAUserMsg_SuggestHeroRole.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_SuggestHeroRole) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{111} +} + +func (x *CDOTAUserMsg_SuggestHeroRole) GetPlayerId() int32 { + if x != nil && x.PlayerId != nil { + return *x.PlayerId + } + return 0 +} + +func (x *CDOTAUserMsg_SuggestHeroRole) GetHeroRole() string { + if x != nil && x.HeroRole != nil { + return *x.HeroRole + } + return "" +} + +type CDOTAUserMsg_KillcamDamageTaken struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + PlayerId *int32 `protobuf:"varint,1,req,name=player_id,json=playerId" json:"player_id,omitempty"` + DamageTaken *uint32 `protobuf:"varint,2,opt,name=damage_taken,json=damageTaken" json:"damage_taken,omitempty"` + ItemType *uint32 `protobuf:"varint,3,opt,name=item_type,json=itemType" json:"item_type,omitempty"` + ItemAbilityId *uint32 `protobuf:"varint,4,opt,name=item_ability_id,json=itemAbilityId" json:"item_ability_id,omitempty"` + HeroName *string `protobuf:"bytes,5,opt,name=hero_name,json=heroName" json:"hero_name,omitempty"` + DamageColor *string `protobuf:"bytes,6,opt,name=damage_color,json=damageColor" json:"damage_color,omitempty"` +} + +func (x *CDOTAUserMsg_KillcamDamageTaken) Reset() { + *x = CDOTAUserMsg_KillcamDamageTaken{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[112] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_KillcamDamageTaken) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_KillcamDamageTaken) ProtoMessage() {} + +func (x *CDOTAUserMsg_KillcamDamageTaken) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_proto_msgTypes[112] + 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 CDOTAUserMsg_KillcamDamageTaken.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_KillcamDamageTaken) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{112} +} + +func (x *CDOTAUserMsg_KillcamDamageTaken) GetPlayerId() int32 { + if x != nil && x.PlayerId != nil { + return *x.PlayerId + } + return 0 +} + +func (x *CDOTAUserMsg_KillcamDamageTaken) GetDamageTaken() uint32 { + if x != nil && x.DamageTaken != nil { + return *x.DamageTaken + } + return 0 +} + +func (x *CDOTAUserMsg_KillcamDamageTaken) GetItemType() uint32 { + if x != nil && x.ItemType != nil { + return *x.ItemType + } + return 0 +} + +func (x *CDOTAUserMsg_KillcamDamageTaken) GetItemAbilityId() uint32 { + if x != nil && x.ItemAbilityId != nil { + return *x.ItemAbilityId + } + return 0 +} + +func (x *CDOTAUserMsg_KillcamDamageTaken) GetHeroName() string { + if x != nil && x.HeroName != nil { + return *x.HeroName + } + return "" +} + +func (x *CDOTAUserMsg_KillcamDamageTaken) GetDamageColor() string { + if x != nil && x.DamageColor != nil { + return *x.DamageColor + } + return "" +} + +type CDOTAUserMsg_SelectPenaltyGold struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + PlayerId *int32 `protobuf:"varint,1,req,name=player_id,json=playerId" json:"player_id,omitempty"` + Cost *int32 `protobuf:"zigzag32,2,opt,name=cost" json:"cost,omitempty"` +} + +func (x *CDOTAUserMsg_SelectPenaltyGold) Reset() { + *x = CDOTAUserMsg_SelectPenaltyGold{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[113] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_SelectPenaltyGold) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_SelectPenaltyGold) ProtoMessage() {} + +func (x *CDOTAUserMsg_SelectPenaltyGold) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_proto_msgTypes[113] + 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 CDOTAUserMsg_SelectPenaltyGold.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_SelectPenaltyGold) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{113} +} + +func (x *CDOTAUserMsg_SelectPenaltyGold) GetPlayerId() int32 { + if x != nil && x.PlayerId != nil { + return *x.PlayerId + } + return 0 +} + +func (x *CDOTAUserMsg_SelectPenaltyGold) GetCost() int32 { + if x != nil && x.Cost != nil { + return *x.Cost + } + return 0 +} + +type CDOTAUserMsg_RollDiceResult struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + PlayerId *int32 `protobuf:"varint,1,opt,name=player_id,json=playerId" json:"player_id,omitempty"` + ChannelType *uint32 `protobuf:"varint,2,opt,name=channel_type,json=channelType" json:"channel_type,omitempty"` + RollMin *uint32 `protobuf:"varint,3,opt,name=roll_min,json=rollMin" json:"roll_min,omitempty"` + RollMax *uint32 `protobuf:"varint,4,opt,name=roll_max,json=rollMax" json:"roll_max,omitempty"` + Result *uint32 `protobuf:"varint,5,opt,name=result" json:"result,omitempty"` +} + +func (x *CDOTAUserMsg_RollDiceResult) Reset() { + *x = CDOTAUserMsg_RollDiceResult{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[114] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_RollDiceResult) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_RollDiceResult) ProtoMessage() {} + +func (x *CDOTAUserMsg_RollDiceResult) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_proto_msgTypes[114] + 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 CDOTAUserMsg_RollDiceResult.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_RollDiceResult) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{114} +} + +func (x *CDOTAUserMsg_RollDiceResult) GetPlayerId() int32 { + if x != nil && x.PlayerId != nil { + return *x.PlayerId + } + return 0 +} + +func (x *CDOTAUserMsg_RollDiceResult) GetChannelType() uint32 { + if x != nil && x.ChannelType != nil { + return *x.ChannelType + } + return 0 +} + +func (x *CDOTAUserMsg_RollDiceResult) GetRollMin() uint32 { + if x != nil && x.RollMin != nil { + return *x.RollMin + } + return 0 +} + +func (x *CDOTAUserMsg_RollDiceResult) GetRollMax() uint32 { + if x != nil && x.RollMax != nil { + return *x.RollMax + } + return 0 +} + +func (x *CDOTAUserMsg_RollDiceResult) GetResult() uint32 { + if x != nil && x.Result != nil { + return *x.Result + } + return 0 +} + +type CDOTAUserMsg_FlipCoinResult struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + PlayerId *int32 `protobuf:"varint,1,opt,name=player_id,json=playerId" json:"player_id,omitempty"` + ChannelType *uint32 `protobuf:"varint,2,opt,name=channel_type,json=channelType" json:"channel_type,omitempty"` + Result *bool `protobuf:"varint,3,opt,name=result" json:"result,omitempty"` +} + +func (x *CDOTAUserMsg_FlipCoinResult) Reset() { + *x = CDOTAUserMsg_FlipCoinResult{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[115] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_FlipCoinResult) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_FlipCoinResult) ProtoMessage() {} + +func (x *CDOTAUserMsg_FlipCoinResult) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_proto_msgTypes[115] + 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 CDOTAUserMsg_FlipCoinResult.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_FlipCoinResult) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{115} +} + +func (x *CDOTAUserMsg_FlipCoinResult) GetPlayerId() int32 { + if x != nil && x.PlayerId != nil { + return *x.PlayerId + } + return 0 +} + +func (x *CDOTAUserMsg_FlipCoinResult) GetChannelType() uint32 { + if x != nil && x.ChannelType != nil { + return *x.ChannelType + } + return 0 +} + +func (x *CDOTAUserMsg_FlipCoinResult) GetResult() bool { + if x != nil && x.Result != nil { + return *x.Result + } + return false +} + +type CDOTAUserMessage_RequestItemSuggestions struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + PlayerId *int32 `protobuf:"varint,1,opt,name=player_id,json=playerId" json:"player_id,omitempty"` +} + +func (x *CDOTAUserMessage_RequestItemSuggestions) Reset() { + *x = CDOTAUserMessage_RequestItemSuggestions{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[116] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMessage_RequestItemSuggestions) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMessage_RequestItemSuggestions) ProtoMessage() {} + +func (x *CDOTAUserMessage_RequestItemSuggestions) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_proto_msgTypes[116] + 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 CDOTAUserMessage_RequestItemSuggestions.ProtoReflect.Descriptor instead. +func (*CDOTAUserMessage_RequestItemSuggestions) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{116} +} + +func (x *CDOTAUserMessage_RequestItemSuggestions) GetPlayerId() int32 { + if x != nil && x.PlayerId != nil { + return *x.PlayerId + } + return 0 +} + +type CDOTAUserMessage_TeamCaptainChanged struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Team *uint32 `protobuf:"varint,1,opt,name=team" json:"team,omitempty"` + CaptainPlayerId *int32 `protobuf:"varint,2,opt,name=captain_player_id,json=captainPlayerId" json:"captain_player_id,omitempty"` +} + +func (x *CDOTAUserMessage_TeamCaptainChanged) Reset() { + *x = CDOTAUserMessage_TeamCaptainChanged{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[117] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMessage_TeamCaptainChanged) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMessage_TeamCaptainChanged) ProtoMessage() {} + +func (x *CDOTAUserMessage_TeamCaptainChanged) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_proto_msgTypes[117] + 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 CDOTAUserMessage_TeamCaptainChanged.ProtoReflect.Descriptor instead. +func (*CDOTAUserMessage_TeamCaptainChanged) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{117} +} + +func (x *CDOTAUserMessage_TeamCaptainChanged) GetTeam() uint32 { + if x != nil && x.Team != nil { + return *x.Team + } + return 0 +} + +func (x *CDOTAUserMessage_TeamCaptainChanged) GetCaptainPlayerId() int32 { + if x != nil && x.CaptainPlayerId != nil { + return *x.CaptainPlayerId + } + return 0 +} + +type CDOTAUserMsg_ChatWheelCooldown struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + MessageId *uint32 `protobuf:"varint,1,opt,name=message_id,json=messageId" json:"message_id,omitempty"` + CooldownRemaining *float32 `protobuf:"fixed32,2,opt,name=cooldown_remaining,json=cooldownRemaining" json:"cooldown_remaining,omitempty"` +} + +func (x *CDOTAUserMsg_ChatWheelCooldown) Reset() { + *x = CDOTAUserMsg_ChatWheelCooldown{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[118] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_ChatWheelCooldown) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_ChatWheelCooldown) ProtoMessage() {} + +func (x *CDOTAUserMsg_ChatWheelCooldown) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_proto_msgTypes[118] + 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 CDOTAUserMsg_ChatWheelCooldown.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_ChatWheelCooldown) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{118} +} + +func (x *CDOTAUserMsg_ChatWheelCooldown) GetMessageId() uint32 { + if x != nil && x.MessageId != nil { + return *x.MessageId + } + return 0 +} + +func (x *CDOTAUserMsg_ChatWheelCooldown) GetCooldownRemaining() float32 { + if x != nil && x.CooldownRemaining != nil { + return *x.CooldownRemaining + } + return 0 +} + +type CDOTAUserMsg_HeroRelicProgress struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + HeroRelicType *uint32 `protobuf:"varint,1,opt,name=hero_relic_type,json=heroRelicType" json:"hero_relic_type,omitempty"` + Value *uint32 `protobuf:"varint,2,opt,name=value" json:"value,omitempty"` + Ehandle *uint32 `protobuf:"varint,3,opt,name=ehandle" json:"ehandle,omitempty"` + EventId *uint32 `protobuf:"varint,4,opt,name=event_id,json=eventId" json:"event_id,omitempty"` + ValueDisplay *float32 `protobuf:"fixed32,5,opt,name=value_display,json=valueDisplay" json:"value_display,omitempty"` +} + +func (x *CDOTAUserMsg_HeroRelicProgress) Reset() { + *x = CDOTAUserMsg_HeroRelicProgress{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[119] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_HeroRelicProgress) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_HeroRelicProgress) ProtoMessage() {} + +func (x *CDOTAUserMsg_HeroRelicProgress) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_proto_msgTypes[119] + 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 CDOTAUserMsg_HeroRelicProgress.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_HeroRelicProgress) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{119} +} + +func (x *CDOTAUserMsg_HeroRelicProgress) GetHeroRelicType() uint32 { + if x != nil && x.HeroRelicType != nil { + return *x.HeroRelicType + } + return 0 +} + +func (x *CDOTAUserMsg_HeroRelicProgress) GetValue() uint32 { + if x != nil && x.Value != nil { + return *x.Value + } + return 0 +} + +func (x *CDOTAUserMsg_HeroRelicProgress) GetEhandle() uint32 { + if x != nil && x.Ehandle != nil { + return *x.Ehandle + } + return 0 +} + +func (x *CDOTAUserMsg_HeroRelicProgress) GetEventId() uint32 { + if x != nil && x.EventId != nil { + return *x.EventId + } + return 0 +} + +func (x *CDOTAUserMsg_HeroRelicProgress) GetValueDisplay() float32 { + if x != nil && x.ValueDisplay != nil { + return *x.ValueDisplay + } + return 0 +} + +type CDOTAUserMsg_AbilityDraftRequestAbility struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + PlayerId *int32 `protobuf:"varint,1,opt,name=player_id,json=playerId" json:"player_id,omitempty"` + RequestedAbilityId *uint32 `protobuf:"varint,2,opt,name=requested_ability_id,json=requestedAbilityId" json:"requested_ability_id,omitempty"` + CtrlIsDown *bool `protobuf:"varint,3,opt,name=ctrl_is_down,json=ctrlIsDown" json:"ctrl_is_down,omitempty"` +} + +func (x *CDOTAUserMsg_AbilityDraftRequestAbility) Reset() { + *x = CDOTAUserMsg_AbilityDraftRequestAbility{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[120] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_AbilityDraftRequestAbility) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_AbilityDraftRequestAbility) ProtoMessage() {} + +func (x *CDOTAUserMsg_AbilityDraftRequestAbility) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_proto_msgTypes[120] + 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 CDOTAUserMsg_AbilityDraftRequestAbility.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_AbilityDraftRequestAbility) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{120} +} + +func (x *CDOTAUserMsg_AbilityDraftRequestAbility) GetPlayerId() int32 { + if x != nil && x.PlayerId != nil { + return *x.PlayerId + } + return 0 +} + +func (x *CDOTAUserMsg_AbilityDraftRequestAbility) GetRequestedAbilityId() uint32 { + if x != nil && x.RequestedAbilityId != nil { + return *x.RequestedAbilityId + } + return 0 +} + +func (x *CDOTAUserMsg_AbilityDraftRequestAbility) GetCtrlIsDown() bool { + if x != nil && x.CtrlIsDown != nil { + return *x.CtrlIsDown + } + return false +} + +type CDOTAUserMsg_DamageReport struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + PlayerId *int32 `protobuf:"varint,1,opt,name=player_id,json=playerId" json:"player_id,omitempty"` + TargetHeroId *uint32 `protobuf:"varint,2,opt,name=target_hero_id,json=targetHeroId" json:"target_hero_id,omitempty"` + SourceHeroId *uint32 `protobuf:"varint,3,opt,name=source_hero_id,json=sourceHeroId" json:"source_hero_id,omitempty"` + DamageAmount *int32 `protobuf:"varint,4,opt,name=damage_amount,json=damageAmount" json:"damage_amount,omitempty"` + Broadcast *bool `protobuf:"varint,5,opt,name=broadcast" json:"broadcast,omitempty"` +} + +func (x *CDOTAUserMsg_DamageReport) Reset() { + *x = CDOTAUserMsg_DamageReport{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[121] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_DamageReport) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_DamageReport) ProtoMessage() {} + +func (x *CDOTAUserMsg_DamageReport) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_proto_msgTypes[121] + 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 CDOTAUserMsg_DamageReport.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_DamageReport) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{121} +} + +func (x *CDOTAUserMsg_DamageReport) GetPlayerId() int32 { + if x != nil && x.PlayerId != nil { + return *x.PlayerId + } + return 0 +} + +func (x *CDOTAUserMsg_DamageReport) GetTargetHeroId() uint32 { + if x != nil && x.TargetHeroId != nil { + return *x.TargetHeroId + } + return 0 +} + +func (x *CDOTAUserMsg_DamageReport) GetSourceHeroId() uint32 { + if x != nil && x.SourceHeroId != nil { + return *x.SourceHeroId + } + return 0 +} + +func (x *CDOTAUserMsg_DamageReport) GetDamageAmount() int32 { + if x != nil && x.DamageAmount != nil { + return *x.DamageAmount + } + return 0 +} + +func (x *CDOTAUserMsg_DamageReport) GetBroadcast() bool { + if x != nil && x.Broadcast != nil { + return *x.Broadcast + } + return false +} + +type CDOTAUserMsg_SalutePlayer struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + SourcePlayerId *int32 `protobuf:"varint,1,opt,name=source_player_id,json=sourcePlayerId" json:"source_player_id,omitempty"` + TargetPlayerId *int32 `protobuf:"varint,2,opt,name=target_player_id,json=targetPlayerId" json:"target_player_id,omitempty"` + TipAmount *uint32 `protobuf:"varint,3,opt,name=tip_amount,json=tipAmount" json:"tip_amount,omitempty"` + EventId *uint32 `protobuf:"varint,4,opt,name=event_id,json=eventId" json:"event_id,omitempty"` +} + +func (x *CDOTAUserMsg_SalutePlayer) Reset() { + *x = CDOTAUserMsg_SalutePlayer{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[122] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_SalutePlayer) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_SalutePlayer) ProtoMessage() {} + +func (x *CDOTAUserMsg_SalutePlayer) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_proto_msgTypes[122] + 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 CDOTAUserMsg_SalutePlayer.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_SalutePlayer) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{122} +} + +func (x *CDOTAUserMsg_SalutePlayer) GetSourcePlayerId() int32 { + if x != nil && x.SourcePlayerId != nil { + return *x.SourcePlayerId + } + return 0 +} + +func (x *CDOTAUserMsg_SalutePlayer) GetTargetPlayerId() int32 { + if x != nil && x.TargetPlayerId != nil { + return *x.TargetPlayerId + } + return 0 +} + +func (x *CDOTAUserMsg_SalutePlayer) GetTipAmount() uint32 { + if x != nil && x.TipAmount != nil { + return *x.TipAmount + } + return 0 +} + +func (x *CDOTAUserMsg_SalutePlayer) GetEventId() uint32 { + if x != nil && x.EventId != nil { + return *x.EventId + } + return 0 +} + +type CDOTAUserMsg_TipAlert struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + PlayerId *int32 `protobuf:"varint,1,opt,name=player_id,json=playerId" json:"player_id,omitempty"` + TipText *string `protobuf:"bytes,2,opt,name=tip_text,json=tipText" json:"tip_text,omitempty"` +} + +func (x *CDOTAUserMsg_TipAlert) Reset() { + *x = CDOTAUserMsg_TipAlert{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[123] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_TipAlert) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_TipAlert) ProtoMessage() {} + +func (x *CDOTAUserMsg_TipAlert) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_proto_msgTypes[123] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CDOTAUserMsg_TipAlert.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_TipAlert) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{123} +} + +func (x *CDOTAUserMsg_TipAlert) GetPlayerId() int32 { + if x != nil && x.PlayerId != nil { + return *x.PlayerId + } + return 0 +} + +func (x *CDOTAUserMsg_TipAlert) GetTipText() string { + if x != nil && x.TipText != nil { + return *x.TipText + } + return "" +} + +type CDOTAUserMsg_ReplaceQueryUnit struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + PlayerId *int32 `protobuf:"varint,1,req,name=player_id,json=playerId" json:"player_id,omitempty"` + SourceEntindex *int32 `protobuf:"varint,2,opt,name=source_entindex,json=sourceEntindex" json:"source_entindex,omitempty"` + TargetEntindex *int32 `protobuf:"varint,3,opt,name=target_entindex,json=targetEntindex" json:"target_entindex,omitempty"` +} + +func (x *CDOTAUserMsg_ReplaceQueryUnit) Reset() { + *x = CDOTAUserMsg_ReplaceQueryUnit{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[124] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_ReplaceQueryUnit) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_ReplaceQueryUnit) ProtoMessage() {} + +func (x *CDOTAUserMsg_ReplaceQueryUnit) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_proto_msgTypes[124] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CDOTAUserMsg_ReplaceQueryUnit.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_ReplaceQueryUnit) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{124} +} + +func (x *CDOTAUserMsg_ReplaceQueryUnit) GetPlayerId() int32 { + if x != nil && x.PlayerId != nil { + return *x.PlayerId + } + return 0 +} + +func (x *CDOTAUserMsg_ReplaceQueryUnit) GetSourceEntindex() int32 { + if x != nil && x.SourceEntindex != nil { + return *x.SourceEntindex + } + return 0 +} + +func (x *CDOTAUserMsg_ReplaceQueryUnit) GetTargetEntindex() int32 { + if x != nil && x.TargetEntindex != nil { + return *x.TargetEntindex + } + return 0 +} + +type CDOTAUserMsg_ESArcanaCombo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Ehandle *uint32 `protobuf:"varint,1,opt,name=ehandle" json:"ehandle,omitempty"` + ComboCount *uint32 `protobuf:"varint,2,opt,name=combo_count,json=comboCount" json:"combo_count,omitempty"` + ArcanaLevel *uint32 `protobuf:"varint,3,opt,name=arcana_level,json=arcanaLevel" json:"arcana_level,omitempty"` +} + +func (x *CDOTAUserMsg_ESArcanaCombo) Reset() { + *x = CDOTAUserMsg_ESArcanaCombo{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[125] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_ESArcanaCombo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_ESArcanaCombo) ProtoMessage() {} + +func (x *CDOTAUserMsg_ESArcanaCombo) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_proto_msgTypes[125] + 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 CDOTAUserMsg_ESArcanaCombo.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_ESArcanaCombo) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{125} +} + +func (x *CDOTAUserMsg_ESArcanaCombo) GetEhandle() uint32 { + if x != nil && x.Ehandle != nil { + return *x.Ehandle + } + return 0 +} + +func (x *CDOTAUserMsg_ESArcanaCombo) GetComboCount() uint32 { + if x != nil && x.ComboCount != nil { + return *x.ComboCount + } + return 0 +} + +func (x *CDOTAUserMsg_ESArcanaCombo) GetArcanaLevel() uint32 { + if x != nil && x.ArcanaLevel != nil { + return *x.ArcanaLevel + } + return 0 +} + +type CDOTAUserMsg_ESArcanaComboSummary struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Ehandle *uint32 `protobuf:"varint,1,opt,name=ehandle" json:"ehandle,omitempty"` + ComboCount *uint32 `protobuf:"varint,2,opt,name=combo_count,json=comboCount" json:"combo_count,omitempty"` + DamageAmount *uint32 `protobuf:"varint,3,opt,name=damage_amount,json=damageAmount" json:"damage_amount,omitempty"` +} + +func (x *CDOTAUserMsg_ESArcanaComboSummary) Reset() { + *x = CDOTAUserMsg_ESArcanaComboSummary{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[126] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_ESArcanaComboSummary) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_ESArcanaComboSummary) ProtoMessage() {} + +func (x *CDOTAUserMsg_ESArcanaComboSummary) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_proto_msgTypes[126] + 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 CDOTAUserMsg_ESArcanaComboSummary.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_ESArcanaComboSummary) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{126} +} + +func (x *CDOTAUserMsg_ESArcanaComboSummary) GetEhandle() uint32 { + if x != nil && x.Ehandle != nil { + return *x.Ehandle + } + return 0 +} + +func (x *CDOTAUserMsg_ESArcanaComboSummary) GetComboCount() uint32 { + if x != nil && x.ComboCount != nil { + return *x.ComboCount + } + return 0 +} + +func (x *CDOTAUserMsg_ESArcanaComboSummary) GetDamageAmount() uint32 { + if x != nil && x.DamageAmount != nil { + return *x.DamageAmount + } + return 0 +} + +type CDOTAUserMsg_OMArcanaCombo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Ehandle *uint32 `protobuf:"varint,1,opt,name=ehandle" json:"ehandle,omitempty"` + MulticastAmount *uint32 `protobuf:"varint,2,opt,name=multicast_amount,json=multicastAmount" json:"multicast_amount,omitempty"` + ArcanaLevel *uint32 `protobuf:"varint,3,opt,name=arcana_level,json=arcanaLevel" json:"arcana_level,omitempty"` + MulticastChance *uint32 `protobuf:"varint,4,opt,name=multicast_chance,json=multicastChance" json:"multicast_chance,omitempty"` +} + +func (x *CDOTAUserMsg_OMArcanaCombo) Reset() { + *x = CDOTAUserMsg_OMArcanaCombo{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[127] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_OMArcanaCombo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_OMArcanaCombo) ProtoMessage() {} + +func (x *CDOTAUserMsg_OMArcanaCombo) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_proto_msgTypes[127] + 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 CDOTAUserMsg_OMArcanaCombo.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_OMArcanaCombo) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{127} +} + +func (x *CDOTAUserMsg_OMArcanaCombo) GetEhandle() uint32 { + if x != nil && x.Ehandle != nil { + return *x.Ehandle + } + return 0 +} + +func (x *CDOTAUserMsg_OMArcanaCombo) GetMulticastAmount() uint32 { + if x != nil && x.MulticastAmount != nil { + return *x.MulticastAmount + } + return 0 +} + +func (x *CDOTAUserMsg_OMArcanaCombo) GetArcanaLevel() uint32 { + if x != nil && x.ArcanaLevel != nil { + return *x.ArcanaLevel + } + return 0 +} + +func (x *CDOTAUserMsg_OMArcanaCombo) GetMulticastChance() uint32 { + if x != nil && x.MulticastChance != nil { + return *x.MulticastChance + } + return 0 +} + +type CDOTAUserMsg_HighFiveCompleted struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + PlayerId_1 *int32 `protobuf:"varint,1,opt,name=player_id_1,json=playerId1" json:"player_id_1,omitempty"` + PlayerId_2 *int32 `protobuf:"varint,2,opt,name=player_id_2,json=playerId2" json:"player_id_2,omitempty"` + SpecialHighFive *bool `protobuf:"varint,3,opt,name=special_high_five,json=specialHighFive" json:"special_high_five,omitempty"` +} + +func (x *CDOTAUserMsg_HighFiveCompleted) Reset() { + *x = CDOTAUserMsg_HighFiveCompleted{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[128] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_HighFiveCompleted) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_HighFiveCompleted) ProtoMessage() {} + +func (x *CDOTAUserMsg_HighFiveCompleted) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_proto_msgTypes[128] + 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 CDOTAUserMsg_HighFiveCompleted.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_HighFiveCompleted) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{128} +} + +func (x *CDOTAUserMsg_HighFiveCompleted) GetPlayerId_1() int32 { + if x != nil && x.PlayerId_1 != nil { + return *x.PlayerId_1 + } + return 0 +} + +func (x *CDOTAUserMsg_HighFiveCompleted) GetPlayerId_2() int32 { + if x != nil && x.PlayerId_2 != nil { + return *x.PlayerId_2 + } + return 0 +} + +func (x *CDOTAUserMsg_HighFiveCompleted) GetSpecialHighFive() bool { + if x != nil && x.SpecialHighFive != nil { + return *x.SpecialHighFive + } + return false +} + +type CDOTAUserMsg_HighFiveLeftHanging struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + PlayerId *int32 `protobuf:"varint,1,opt,name=player_id,json=playerId" json:"player_id,omitempty"` +} + +func (x *CDOTAUserMsg_HighFiveLeftHanging) Reset() { + *x = CDOTAUserMsg_HighFiveLeftHanging{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[129] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_HighFiveLeftHanging) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_HighFiveLeftHanging) ProtoMessage() {} + +func (x *CDOTAUserMsg_HighFiveLeftHanging) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_proto_msgTypes[129] + 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 CDOTAUserMsg_HighFiveLeftHanging.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_HighFiveLeftHanging) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{129} +} + +func (x *CDOTAUserMsg_HighFiveLeftHanging) GetPlayerId() int32 { + if x != nil && x.PlayerId != nil { + return *x.PlayerId + } + return 0 +} + +type CDOTAUserMsg_ShovelUnearth struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + PlayerId *int32 `protobuf:"varint,1,opt,name=player_id,json=playerId" json:"player_id,omitempty"` + AllChat *bool `protobuf:"varint,2,opt,name=all_chat,json=allChat" json:"all_chat,omitempty"` + Locstring *string `protobuf:"bytes,3,opt,name=locstring" json:"locstring,omitempty"` + Quantity *uint32 `protobuf:"varint,4,opt,name=quantity" json:"quantity,omitempty"` +} + +func (x *CDOTAUserMsg_ShovelUnearth) Reset() { + *x = CDOTAUserMsg_ShovelUnearth{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[130] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_ShovelUnearth) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_ShovelUnearth) ProtoMessage() {} + +func (x *CDOTAUserMsg_ShovelUnearth) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_proto_msgTypes[130] + 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 CDOTAUserMsg_ShovelUnearth.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_ShovelUnearth) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{130} +} + +func (x *CDOTAUserMsg_ShovelUnearth) GetPlayerId() int32 { + if x != nil && x.PlayerId != nil { + return *x.PlayerId + } + return 0 +} + +func (x *CDOTAUserMsg_ShovelUnearth) GetAllChat() bool { + if x != nil && x.AllChat != nil { + return *x.AllChat + } + return false +} + +func (x *CDOTAUserMsg_ShovelUnearth) GetLocstring() string { + if x != nil && x.Locstring != nil { + return *x.Locstring + } + return "" +} + +func (x *CDOTAUserMsg_ShovelUnearth) GetQuantity() uint32 { + if x != nil && x.Quantity != nil { + return *x.Quantity + } + return 0 +} + +type CDOTAUserMsg_AllStarEvent struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + SourcePlayerId *int32 `protobuf:"varint,1,opt,name=source_player_id,json=sourcePlayerId" json:"source_player_id,omitempty"` + TargetPlayerId *int32 `protobuf:"varint,2,opt,name=target_player_id,json=targetPlayerId" json:"target_player_id,omitempty"` + PointAmount *uint32 `protobuf:"varint,3,opt,name=point_amount,json=pointAmount" json:"point_amount,omitempty"` + EventId *uint32 `protobuf:"varint,4,opt,name=event_id,json=eventId" json:"event_id,omitempty"` + PlayerScores []*CDOTAUserMsg_AllStarEvent_PlayerScore `protobuf:"bytes,5,rep,name=player_scores,json=playerScores" json:"player_scores,omitempty"` +} + +func (x *CDOTAUserMsg_AllStarEvent) Reset() { + *x = CDOTAUserMsg_AllStarEvent{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[131] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_AllStarEvent) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_AllStarEvent) ProtoMessage() {} + +func (x *CDOTAUserMsg_AllStarEvent) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_proto_msgTypes[131] + 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 CDOTAUserMsg_AllStarEvent.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_AllStarEvent) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{131} +} + +func (x *CDOTAUserMsg_AllStarEvent) GetSourcePlayerId() int32 { + if x != nil && x.SourcePlayerId != nil { + return *x.SourcePlayerId + } + return 0 +} + +func (x *CDOTAUserMsg_AllStarEvent) GetTargetPlayerId() int32 { + if x != nil && x.TargetPlayerId != nil { + return *x.TargetPlayerId + } + return 0 +} + +func (x *CDOTAUserMsg_AllStarEvent) GetPointAmount() uint32 { + if x != nil && x.PointAmount != nil { + return *x.PointAmount + } + return 0 +} + +func (x *CDOTAUserMsg_AllStarEvent) GetEventId() uint32 { + if x != nil && x.EventId != nil { + return *x.EventId + } + return 0 +} + +func (x *CDOTAUserMsg_AllStarEvent) GetPlayerScores() []*CDOTAUserMsg_AllStarEvent_PlayerScore { + if x != nil { + return x.PlayerScores + } + return nil +} + +type CDOTAUserMsg_QueuedOrderRemoved struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + UnitOrderSequence []uint32 `protobuf:"varint,1,rep,name=unit_order_sequence,json=unitOrderSequence" json:"unit_order_sequence,omitempty"` +} + +func (x *CDOTAUserMsg_QueuedOrderRemoved) Reset() { + *x = CDOTAUserMsg_QueuedOrderRemoved{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[132] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_QueuedOrderRemoved) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_QueuedOrderRemoved) ProtoMessage() {} + +func (x *CDOTAUserMsg_QueuedOrderRemoved) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_proto_msgTypes[132] + 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 CDOTAUserMsg_QueuedOrderRemoved.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_QueuedOrderRemoved) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{132} +} + +func (x *CDOTAUserMsg_QueuedOrderRemoved) GetUnitOrderSequence() []uint32 { + if x != nil { + return x.UnitOrderSequence + } + return nil +} + +type CDOTAUserMsg_DebugChallenge struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ChallengeType *uint32 `protobuf:"varint,1,req,name=challenge_type,json=challengeType" json:"challenge_type,omitempty"` + ChallengeQueryId *uint32 `protobuf:"varint,2,req,name=challenge_query_id,json=challengeQueryId" json:"challenge_query_id,omitempty"` + EventId *uint32 `protobuf:"varint,3,req,name=event_id,json=eventId" json:"event_id,omitempty"` + InstanceId *uint32 `protobuf:"varint,4,opt,name=instance_id,json=instanceId" json:"instance_id,omitempty"` + ChallengeVar_0 *uint32 `protobuf:"varint,5,opt,name=challenge_var_0,json=challengeVar0" json:"challenge_var_0,omitempty"` + ChallengeVar_1 *uint32 `protobuf:"varint,6,opt,name=challenge_var_1,json=challengeVar1" json:"challenge_var_1,omitempty"` + ChallengeMaxRank *uint32 `protobuf:"varint,7,opt,name=challenge_max_rank,json=challengeMaxRank" json:"challenge_max_rank,omitempty"` +} + +func (x *CDOTAUserMsg_DebugChallenge) Reset() { + *x = CDOTAUserMsg_DebugChallenge{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[133] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_DebugChallenge) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_DebugChallenge) ProtoMessage() {} + +func (x *CDOTAUserMsg_DebugChallenge) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_proto_msgTypes[133] + 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 CDOTAUserMsg_DebugChallenge.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_DebugChallenge) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{133} +} + +func (x *CDOTAUserMsg_DebugChallenge) GetChallengeType() uint32 { + if x != nil && x.ChallengeType != nil { + return *x.ChallengeType + } + return 0 +} + +func (x *CDOTAUserMsg_DebugChallenge) GetChallengeQueryId() uint32 { + if x != nil && x.ChallengeQueryId != nil { + return *x.ChallengeQueryId + } + return 0 +} + +func (x *CDOTAUserMsg_DebugChallenge) GetEventId() uint32 { + if x != nil && x.EventId != nil { + return *x.EventId + } + return 0 +} + +func (x *CDOTAUserMsg_DebugChallenge) GetInstanceId() uint32 { + if x != nil && x.InstanceId != nil { + return *x.InstanceId + } + return 0 +} + +func (x *CDOTAUserMsg_DebugChallenge) GetChallengeVar_0() uint32 { + if x != nil && x.ChallengeVar_0 != nil { + return *x.ChallengeVar_0 + } + return 0 +} + +func (x *CDOTAUserMsg_DebugChallenge) GetChallengeVar_1() uint32 { + if x != nil && x.ChallengeVar_1 != nil { + return *x.ChallengeVar_1 + } + return 0 +} + +func (x *CDOTAUserMsg_DebugChallenge) GetChallengeMaxRank() uint32 { + if x != nil && x.ChallengeMaxRank != nil { + return *x.ChallengeMaxRank + } + return 0 +} + +type CDOTAUserMsg_FoundNeutralItem struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + PlayerId *int32 `protobuf:"varint,1,opt,name=player_id,json=playerId" json:"player_id,omitempty"` + ItemAbilityId *uint32 `protobuf:"varint,2,opt,name=item_ability_id,json=itemAbilityId" json:"item_ability_id,omitempty"` + ItemTier *uint32 `protobuf:"varint,3,opt,name=item_tier,json=itemTier" json:"item_tier,omitempty"` + TierItemCount *uint32 `protobuf:"varint,4,opt,name=tier_item_count,json=tierItemCount" json:"tier_item_count,omitempty"` +} + +func (x *CDOTAUserMsg_FoundNeutralItem) Reset() { + *x = CDOTAUserMsg_FoundNeutralItem{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[134] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_FoundNeutralItem) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_FoundNeutralItem) ProtoMessage() {} + +func (x *CDOTAUserMsg_FoundNeutralItem) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_proto_msgTypes[134] + 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 CDOTAUserMsg_FoundNeutralItem.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_FoundNeutralItem) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{134} +} + +func (x *CDOTAUserMsg_FoundNeutralItem) GetPlayerId() int32 { + if x != nil && x.PlayerId != nil { + return *x.PlayerId + } + return 0 +} + +func (x *CDOTAUserMsg_FoundNeutralItem) GetItemAbilityId() uint32 { + if x != nil && x.ItemAbilityId != nil { + return *x.ItemAbilityId + } + return 0 +} + +func (x *CDOTAUserMsg_FoundNeutralItem) GetItemTier() uint32 { + if x != nil && x.ItemTier != nil { + return *x.ItemTier + } + return 0 +} + +func (x *CDOTAUserMsg_FoundNeutralItem) GetTierItemCount() uint32 { + if x != nil && x.TierItemCount != nil { + return *x.TierItemCount + } + return 0 +} + +type CDOTAUserMsg_OutpostCaptured struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + OutpostEntindex *int32 `protobuf:"varint,1,opt,name=outpost_entindex,json=outpostEntindex" json:"outpost_entindex,omitempty"` + TeamId *uint32 `protobuf:"varint,2,opt,name=team_id,json=teamId" json:"team_id,omitempty"` +} + +func (x *CDOTAUserMsg_OutpostCaptured) Reset() { + *x = CDOTAUserMsg_OutpostCaptured{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[135] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_OutpostCaptured) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_OutpostCaptured) ProtoMessage() {} + +func (x *CDOTAUserMsg_OutpostCaptured) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_proto_msgTypes[135] + 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 CDOTAUserMsg_OutpostCaptured.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_OutpostCaptured) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{135} +} + +func (x *CDOTAUserMsg_OutpostCaptured) GetOutpostEntindex() int32 { + if x != nil && x.OutpostEntindex != nil { + return *x.OutpostEntindex + } + return 0 +} + +func (x *CDOTAUserMsg_OutpostCaptured) GetTeamId() uint32 { + if x != nil && x.TeamId != nil { + return *x.TeamId + } + return 0 +} + +type CDOTAUserMsg_OutpostGrantedXP struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + TeamId *uint32 `protobuf:"varint,1,opt,name=team_id,json=teamId" json:"team_id,omitempty"` + XpAmount *uint32 `protobuf:"varint,2,opt,name=xp_amount,json=xpAmount" json:"xp_amount,omitempty"` +} + +func (x *CDOTAUserMsg_OutpostGrantedXP) Reset() { + *x = CDOTAUserMsg_OutpostGrantedXP{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[136] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_OutpostGrantedXP) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_OutpostGrantedXP) ProtoMessage() {} + +func (x *CDOTAUserMsg_OutpostGrantedXP) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_proto_msgTypes[136] + 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 CDOTAUserMsg_OutpostGrantedXP.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_OutpostGrantedXP) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{136} +} + +func (x *CDOTAUserMsg_OutpostGrantedXP) GetTeamId() uint32 { + if x != nil && x.TeamId != nil { + return *x.TeamId + } + return 0 +} + +func (x *CDOTAUserMsg_OutpostGrantedXP) GetXpAmount() uint32 { + if x != nil && x.XpAmount != nil { + return *x.XpAmount + } + return 0 +} + +type CDOTAUserMsg_MoveCameraToUnit struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + UnitEhandle *uint32 `protobuf:"varint,1,opt,name=unit_ehandle,json=unitEhandle" json:"unit_ehandle,omitempty"` +} + +func (x *CDOTAUserMsg_MoveCameraToUnit) Reset() { + *x = CDOTAUserMsg_MoveCameraToUnit{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[137] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_MoveCameraToUnit) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_MoveCameraToUnit) ProtoMessage() {} + +func (x *CDOTAUserMsg_MoveCameraToUnit) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_proto_msgTypes[137] + 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 CDOTAUserMsg_MoveCameraToUnit.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_MoveCameraToUnit) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{137} +} + +func (x *CDOTAUserMsg_MoveCameraToUnit) GetUnitEhandle() uint32 { + if x != nil && x.UnitEhandle != nil { + return *x.UnitEhandle + } + return 0 +} + +type CDOTAUserMsg_PauseMinigameData struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + DataBits []*CDOTAUserMsg_PauseMinigameData_DataBit `protobuf:"bytes,1,rep,name=data_bits,json=dataBits" json:"data_bits,omitempty"` +} + +func (x *CDOTAUserMsg_PauseMinigameData) Reset() { + *x = CDOTAUserMsg_PauseMinigameData{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[138] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_PauseMinigameData) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_PauseMinigameData) ProtoMessage() {} + +func (x *CDOTAUserMsg_PauseMinigameData) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_proto_msgTypes[138] + 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 CDOTAUserMsg_PauseMinigameData.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_PauseMinigameData) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{138} +} + +func (x *CDOTAUserMsg_PauseMinigameData) GetDataBits() []*CDOTAUserMsg_PauseMinigameData_DataBit { + if x != nil { + return x.DataBits + } + return nil +} + +type CDOTAUserMsg_VersusScene_PlayerBehavior struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + PlayerId *int32 `protobuf:"varint,1,opt,name=player_id,json=playerId" json:"player_id,omitempty"` + Behavior *EDOTAVersusScenePlayerBehavior `protobuf:"varint,2,opt,name=behavior,enum=EDOTAVersusScenePlayerBehavior,def=1" json:"behavior,omitempty"` + PlayActivity *VersusScene_PlayActivity `protobuf:"bytes,3,opt,name=play_activity,json=playActivity" json:"play_activity,omitempty"` + ChatWheel *VersusScene_ChatWheel `protobuf:"bytes,4,opt,name=chat_wheel,json=chatWheel" json:"chat_wheel,omitempty"` + PlaybackRate *VersusScene_PlaybackRate `protobuf:"bytes,5,opt,name=playback_rate,json=playbackRate" json:"playback_rate,omitempty"` +} + +// Default values for CDOTAUserMsg_VersusScene_PlayerBehavior fields. +const ( + Default_CDOTAUserMsg_VersusScene_PlayerBehavior_Behavior = EDOTAVersusScenePlayerBehavior_VS_PLAYER_BEHAVIOR_PLAY_ACTIVITY +) + +func (x *CDOTAUserMsg_VersusScene_PlayerBehavior) Reset() { + *x = CDOTAUserMsg_VersusScene_PlayerBehavior{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[139] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_VersusScene_PlayerBehavior) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_VersusScene_PlayerBehavior) ProtoMessage() {} + +func (x *CDOTAUserMsg_VersusScene_PlayerBehavior) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_proto_msgTypes[139] + 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 CDOTAUserMsg_VersusScene_PlayerBehavior.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_VersusScene_PlayerBehavior) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{139} +} + +func (x *CDOTAUserMsg_VersusScene_PlayerBehavior) GetPlayerId() int32 { + if x != nil && x.PlayerId != nil { + return *x.PlayerId + } + return 0 +} + +func (x *CDOTAUserMsg_VersusScene_PlayerBehavior) GetBehavior() EDOTAVersusScenePlayerBehavior { + if x != nil && x.Behavior != nil { + return *x.Behavior + } + return Default_CDOTAUserMsg_VersusScene_PlayerBehavior_Behavior +} + +func (x *CDOTAUserMsg_VersusScene_PlayerBehavior) GetPlayActivity() *VersusScene_PlayActivity { + if x != nil { + return x.PlayActivity + } + return nil +} + +func (x *CDOTAUserMsg_VersusScene_PlayerBehavior) GetChatWheel() *VersusScene_ChatWheel { + if x != nil { + return x.ChatWheel + } + return nil +} + +func (x *CDOTAUserMsg_VersusScene_PlayerBehavior) GetPlaybackRate() *VersusScene_PlaybackRate { + if x != nil { + return x.PlaybackRate + } + return nil +} + +type CDOTAUserMsg_QoP_ArcanaSummary struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Ehandle *uint32 `protobuf:"varint,1,opt,name=ehandle" json:"ehandle,omitempty"` + ArcanaLevel *uint32 `protobuf:"varint,2,opt,name=arcana_level,json=arcanaLevel" json:"arcana_level,omitempty"` + PlayersHit *uint32 `protobuf:"varint,3,opt,name=players_hit,json=playersHit" json:"players_hit,omitempty"` + PlayersKilled *uint32 `protobuf:"varint,4,opt,name=players_killed,json=playersKilled" json:"players_killed,omitempty"` +} + +func (x *CDOTAUserMsg_QoP_ArcanaSummary) Reset() { + *x = CDOTAUserMsg_QoP_ArcanaSummary{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[140] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_QoP_ArcanaSummary) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_QoP_ArcanaSummary) ProtoMessage() {} + +func (x *CDOTAUserMsg_QoP_ArcanaSummary) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_proto_msgTypes[140] + 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 CDOTAUserMsg_QoP_ArcanaSummary.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_QoP_ArcanaSummary) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{140} +} + +func (x *CDOTAUserMsg_QoP_ArcanaSummary) GetEhandle() uint32 { + if x != nil && x.Ehandle != nil { + return *x.Ehandle + } + return 0 +} + +func (x *CDOTAUserMsg_QoP_ArcanaSummary) GetArcanaLevel() uint32 { + if x != nil && x.ArcanaLevel != nil { + return *x.ArcanaLevel + } + return 0 +} + +func (x *CDOTAUserMsg_QoP_ArcanaSummary) GetPlayersHit() uint32 { + if x != nil && x.PlayersHit != nil { + return *x.PlayersHit + } + return 0 +} + +func (x *CDOTAUserMsg_QoP_ArcanaSummary) GetPlayersKilled() uint32 { + if x != nil && x.PlayersKilled != nil { + return *x.PlayersKilled + } + return 0 +} + +type CDOTAUserMsg_HotPotato_Created struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + PlayerId_1 *int32 `protobuf:"varint,1,opt,name=player_id_1,json=playerId1" json:"player_id_1,omitempty"` + PlayerId_2 *int32 `protobuf:"varint,2,opt,name=player_id_2,json=playerId2" json:"player_id_2,omitempty"` +} + +func (x *CDOTAUserMsg_HotPotato_Created) Reset() { + *x = CDOTAUserMsg_HotPotato_Created{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[141] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_HotPotato_Created) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_HotPotato_Created) ProtoMessage() {} + +func (x *CDOTAUserMsg_HotPotato_Created) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_proto_msgTypes[141] + 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 CDOTAUserMsg_HotPotato_Created.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_HotPotato_Created) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{141} +} + +func (x *CDOTAUserMsg_HotPotato_Created) GetPlayerId_1() int32 { + if x != nil && x.PlayerId_1 != nil { + return *x.PlayerId_1 + } + return 0 +} + +func (x *CDOTAUserMsg_HotPotato_Created) GetPlayerId_2() int32 { + if x != nil && x.PlayerId_2 != nil { + return *x.PlayerId_2 + } + return 0 +} + +type CDOTAUserMsg_HotPotato_Exploded struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + PlayerId *int32 `protobuf:"varint,1,opt,name=player_id,json=playerId" json:"player_id,omitempty"` +} + +func (x *CDOTAUserMsg_HotPotato_Exploded) Reset() { + *x = CDOTAUserMsg_HotPotato_Exploded{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[142] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_HotPotato_Exploded) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_HotPotato_Exploded) ProtoMessage() {} + +func (x *CDOTAUserMsg_HotPotato_Exploded) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_proto_msgTypes[142] + 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 CDOTAUserMsg_HotPotato_Exploded.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_HotPotato_Exploded) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{142} +} + +func (x *CDOTAUserMsg_HotPotato_Exploded) GetPlayerId() int32 { + if x != nil && x.PlayerId != nil { + return *x.PlayerId + } + return 0 +} + +type CDOTAUserMsg_WK_Arcana_Progress struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Ehandle *uint32 `protobuf:"varint,1,opt,name=ehandle" json:"ehandle,omitempty"` + ArcanaLevel *uint32 `protobuf:"varint,2,opt,name=arcana_level,json=arcanaLevel" json:"arcana_level,omitempty"` + HeroId *uint32 `protobuf:"varint,3,opt,name=hero_id,json=heroId" json:"hero_id,omitempty"` +} + +func (x *CDOTAUserMsg_WK_Arcana_Progress) Reset() { + *x = CDOTAUserMsg_WK_Arcana_Progress{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[143] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_WK_Arcana_Progress) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_WK_Arcana_Progress) ProtoMessage() {} + +func (x *CDOTAUserMsg_WK_Arcana_Progress) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_proto_msgTypes[143] + 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 CDOTAUserMsg_WK_Arcana_Progress.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_WK_Arcana_Progress) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{143} +} + +func (x *CDOTAUserMsg_WK_Arcana_Progress) GetEhandle() uint32 { + if x != nil && x.Ehandle != nil { + return *x.Ehandle + } + return 0 +} + +func (x *CDOTAUserMsg_WK_Arcana_Progress) GetArcanaLevel() uint32 { + if x != nil && x.ArcanaLevel != nil { + return *x.ArcanaLevel + } + return 0 +} + +func (x *CDOTAUserMsg_WK_Arcana_Progress) GetHeroId() uint32 { + if x != nil && x.HeroId != nil { + return *x.HeroId + } + return 0 +} + +type CDOTAUserMsg_GuildChallenge_Progress struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + PlayerProgress []*CDOTAUserMsg_GuildChallenge_Progress_PlayerProgress `protobuf:"bytes,1,rep,name=player_progress,json=playerProgress" json:"player_progress,omitempty"` + GuildId *uint32 `protobuf:"varint,2,opt,name=guild_id,json=guildId" json:"guild_id,omitempty"` + ChallengeInstanceId *uint32 `protobuf:"varint,3,opt,name=challenge_instance_id,json=challengeInstanceId" json:"challenge_instance_id,omitempty"` + ChallengeParameter *uint32 `protobuf:"varint,4,opt,name=challenge_parameter,json=challengeParameter" json:"challenge_parameter,omitempty"` + ChallengeType *CDOTAUserMsg_GuildChallenge_Progress_EChallengeType `protobuf:"varint,5,opt,name=challenge_type,json=challengeType,enum=CDOTAUserMsg_GuildChallenge_Progress_EChallengeType,def=0" json:"challenge_type,omitempty"` + ChallengeProgressAtStart *uint32 `protobuf:"varint,7,opt,name=challenge_progress_at_start,json=challengeProgressAtStart" json:"challenge_progress_at_start,omitempty"` + Complete *bool `protobuf:"varint,8,opt,name=complete" json:"complete,omitempty"` +} + +// Default values for CDOTAUserMsg_GuildChallenge_Progress fields. +const ( + Default_CDOTAUserMsg_GuildChallenge_Progress_ChallengeType = CDOTAUserMsg_GuildChallenge_Progress_k_EChallengeType_Invalid +) + +func (x *CDOTAUserMsg_GuildChallenge_Progress) Reset() { + *x = CDOTAUserMsg_GuildChallenge_Progress{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[144] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_GuildChallenge_Progress) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_GuildChallenge_Progress) ProtoMessage() {} + +func (x *CDOTAUserMsg_GuildChallenge_Progress) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_proto_msgTypes[144] + 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 CDOTAUserMsg_GuildChallenge_Progress.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_GuildChallenge_Progress) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{144} +} + +func (x *CDOTAUserMsg_GuildChallenge_Progress) GetPlayerProgress() []*CDOTAUserMsg_GuildChallenge_Progress_PlayerProgress { + if x != nil { + return x.PlayerProgress + } + return nil +} + +func (x *CDOTAUserMsg_GuildChallenge_Progress) GetGuildId() uint32 { + if x != nil && x.GuildId != nil { + return *x.GuildId + } + return 0 +} + +func (x *CDOTAUserMsg_GuildChallenge_Progress) GetChallengeInstanceId() uint32 { + if x != nil && x.ChallengeInstanceId != nil { + return *x.ChallengeInstanceId + } + return 0 +} + +func (x *CDOTAUserMsg_GuildChallenge_Progress) GetChallengeParameter() uint32 { + if x != nil && x.ChallengeParameter != nil { + return *x.ChallengeParameter + } + return 0 +} + +func (x *CDOTAUserMsg_GuildChallenge_Progress) GetChallengeType() CDOTAUserMsg_GuildChallenge_Progress_EChallengeType { + if x != nil && x.ChallengeType != nil { + return *x.ChallengeType + } + return Default_CDOTAUserMsg_GuildChallenge_Progress_ChallengeType +} + +func (x *CDOTAUserMsg_GuildChallenge_Progress) GetChallengeProgressAtStart() uint32 { + if x != nil && x.ChallengeProgressAtStart != nil { + return *x.ChallengeProgressAtStart + } + return 0 +} + +func (x *CDOTAUserMsg_GuildChallenge_Progress) GetComplete() bool { + if x != nil && x.Complete != nil { + return *x.Complete + } + return false +} + +type CDOTAUserMsg_WRArcanaProgress struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Ehandle *uint32 `protobuf:"varint,1,opt,name=ehandle" json:"ehandle,omitempty"` + TargetEhandle *uint32 `protobuf:"varint,2,opt,name=target_ehandle,json=targetEhandle" json:"target_ehandle,omitempty"` + ArrowsLanded *uint32 `protobuf:"varint,3,opt,name=arrows_landed,json=arrowsLanded" json:"arrows_landed,omitempty"` + DamageDealt *uint32 `protobuf:"varint,4,opt,name=damage_dealt,json=damageDealt" json:"damage_dealt,omitempty"` + TargetHp *uint32 `protobuf:"varint,5,opt,name=target_hp,json=targetHp" json:"target_hp,omitempty"` + TargetMaxHp *uint32 `protobuf:"varint,6,opt,name=target_max_hp,json=targetMaxHp" json:"target_max_hp,omitempty"` + ArcanaLevel *uint32 `protobuf:"varint,7,opt,name=arcana_level,json=arcanaLevel" json:"arcana_level,omitempty"` +} + +func (x *CDOTAUserMsg_WRArcanaProgress) Reset() { + *x = CDOTAUserMsg_WRArcanaProgress{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[145] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_WRArcanaProgress) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_WRArcanaProgress) ProtoMessage() {} + +func (x *CDOTAUserMsg_WRArcanaProgress) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_proto_msgTypes[145] + 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 CDOTAUserMsg_WRArcanaProgress.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_WRArcanaProgress) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{145} +} + +func (x *CDOTAUserMsg_WRArcanaProgress) GetEhandle() uint32 { + if x != nil && x.Ehandle != nil { + return *x.Ehandle + } + return 0 +} + +func (x *CDOTAUserMsg_WRArcanaProgress) GetTargetEhandle() uint32 { + if x != nil && x.TargetEhandle != nil { + return *x.TargetEhandle + } + return 0 +} + +func (x *CDOTAUserMsg_WRArcanaProgress) GetArrowsLanded() uint32 { + if x != nil && x.ArrowsLanded != nil { + return *x.ArrowsLanded + } + return 0 +} + +func (x *CDOTAUserMsg_WRArcanaProgress) GetDamageDealt() uint32 { + if x != nil && x.DamageDealt != nil { + return *x.DamageDealt + } + return 0 +} + +func (x *CDOTAUserMsg_WRArcanaProgress) GetTargetHp() uint32 { + if x != nil && x.TargetHp != nil { + return *x.TargetHp + } + return 0 +} + +func (x *CDOTAUserMsg_WRArcanaProgress) GetTargetMaxHp() uint32 { + if x != nil && x.TargetMaxHp != nil { + return *x.TargetMaxHp + } + return 0 +} + +func (x *CDOTAUserMsg_WRArcanaProgress) GetArcanaLevel() uint32 { + if x != nil && x.ArcanaLevel != nil { + return *x.ArcanaLevel + } + return 0 +} + +type CDOTAUserMsg_WRArcanaSummary struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Ehandle *uint32 `protobuf:"varint,1,opt,name=ehandle" json:"ehandle,omitempty"` + TargetEhandle *uint32 `protobuf:"varint,2,opt,name=target_ehandle,json=targetEhandle" json:"target_ehandle,omitempty"` + ArrowsLanded *uint32 `protobuf:"varint,3,opt,name=arrows_landed,json=arrowsLanded" json:"arrows_landed,omitempty"` + DamageDealt *uint32 `protobuf:"varint,4,opt,name=damage_dealt,json=damageDealt" json:"damage_dealt,omitempty"` + TargetHp *uint32 `protobuf:"varint,5,opt,name=target_hp,json=targetHp" json:"target_hp,omitempty"` + TargetMaxHp *uint32 `protobuf:"varint,6,opt,name=target_max_hp,json=targetMaxHp" json:"target_max_hp,omitempty"` + ArcanaLevel *uint32 `protobuf:"varint,7,opt,name=arcana_level,json=arcanaLevel" json:"arcana_level,omitempty"` + Success *bool `protobuf:"varint,8,opt,name=success" json:"success,omitempty"` +} + +func (x *CDOTAUserMsg_WRArcanaSummary) Reset() { + *x = CDOTAUserMsg_WRArcanaSummary{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[146] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_WRArcanaSummary) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_WRArcanaSummary) ProtoMessage() {} + +func (x *CDOTAUserMsg_WRArcanaSummary) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_proto_msgTypes[146] + 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 CDOTAUserMsg_WRArcanaSummary.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_WRArcanaSummary) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{146} +} + +func (x *CDOTAUserMsg_WRArcanaSummary) GetEhandle() uint32 { + if x != nil && x.Ehandle != nil { + return *x.Ehandle + } + return 0 +} + +func (x *CDOTAUserMsg_WRArcanaSummary) GetTargetEhandle() uint32 { + if x != nil && x.TargetEhandle != nil { + return *x.TargetEhandle + } + return 0 +} + +func (x *CDOTAUserMsg_WRArcanaSummary) GetArrowsLanded() uint32 { + if x != nil && x.ArrowsLanded != nil { + return *x.ArrowsLanded + } + return 0 +} + +func (x *CDOTAUserMsg_WRArcanaSummary) GetDamageDealt() uint32 { + if x != nil && x.DamageDealt != nil { + return *x.DamageDealt + } + return 0 +} + +func (x *CDOTAUserMsg_WRArcanaSummary) GetTargetHp() uint32 { + if x != nil && x.TargetHp != nil { + return *x.TargetHp + } + return 0 +} + +func (x *CDOTAUserMsg_WRArcanaSummary) GetTargetMaxHp() uint32 { + if x != nil && x.TargetMaxHp != nil { + return *x.TargetMaxHp + } + return 0 +} + +func (x *CDOTAUserMsg_WRArcanaSummary) GetArcanaLevel() uint32 { + if x != nil && x.ArcanaLevel != nil { + return *x.ArcanaLevel + } + return 0 +} + +func (x *CDOTAUserMsg_WRArcanaSummary) GetSuccess() bool { + if x != nil && x.Success != nil { + return *x.Success + } + return false +} + +type CDOTAUserMsg_EmptyItemSlotAlert struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + SourcePlayerId *int32 `protobuf:"varint,1,opt,name=source_player_id,json=sourcePlayerId" json:"source_player_id,omitempty"` + TargetPlayerId *int32 `protobuf:"varint,2,opt,name=target_player_id,json=targetPlayerId" json:"target_player_id,omitempty"` + SlotIndex *int32 `protobuf:"varint,3,opt,name=slot_index,json=slotIndex" json:"slot_index,omitempty"` + CooldownSeconds *int32 `protobuf:"varint,4,opt,name=cooldown_seconds,json=cooldownSeconds" json:"cooldown_seconds,omitempty"` +} + +func (x *CDOTAUserMsg_EmptyItemSlotAlert) Reset() { + *x = CDOTAUserMsg_EmptyItemSlotAlert{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[147] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_EmptyItemSlotAlert) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_EmptyItemSlotAlert) ProtoMessage() {} + +func (x *CDOTAUserMsg_EmptyItemSlotAlert) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_proto_msgTypes[147] + 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 CDOTAUserMsg_EmptyItemSlotAlert.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_EmptyItemSlotAlert) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{147} +} + +func (x *CDOTAUserMsg_EmptyItemSlotAlert) GetSourcePlayerId() int32 { + if x != nil && x.SourcePlayerId != nil { + return *x.SourcePlayerId + } + return 0 +} + +func (x *CDOTAUserMsg_EmptyItemSlotAlert) GetTargetPlayerId() int32 { + if x != nil && x.TargetPlayerId != nil { + return *x.TargetPlayerId + } + return 0 +} + +func (x *CDOTAUserMsg_EmptyItemSlotAlert) GetSlotIndex() int32 { + if x != nil && x.SlotIndex != nil { + return *x.SlotIndex + } + return 0 +} + +func (x *CDOTAUserMsg_EmptyItemSlotAlert) GetCooldownSeconds() int32 { + if x != nil && x.CooldownSeconds != nil { + return *x.CooldownSeconds + } + return 0 +} + +type CDOTAUserMsg_AghsStatusAlert struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + SourcePlayerId *int32 `protobuf:"varint,1,opt,name=source_player_id,json=sourcePlayerId" json:"source_player_id,omitempty"` + TargetPlayerId *int32 `protobuf:"varint,2,opt,name=target_player_id,json=targetPlayerId" json:"target_player_id,omitempty"` + TargetEntindex *int32 `protobuf:"varint,3,opt,name=target_entindex,json=targetEntindex" json:"target_entindex,omitempty"` + AlertType *uint32 `protobuf:"varint,4,opt,name=alert_type,json=alertType" json:"alert_type,omitempty"` + HasScepter *bool `protobuf:"varint,5,opt,name=has_scepter,json=hasScepter" json:"has_scepter,omitempty"` + HasShard *bool `protobuf:"varint,6,opt,name=has_shard,json=hasShard" json:"has_shard,omitempty"` +} + +func (x *CDOTAUserMsg_AghsStatusAlert) Reset() { + *x = CDOTAUserMsg_AghsStatusAlert{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[148] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_AghsStatusAlert) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_AghsStatusAlert) ProtoMessage() {} + +func (x *CDOTAUserMsg_AghsStatusAlert) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_proto_msgTypes[148] + 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 CDOTAUserMsg_AghsStatusAlert.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_AghsStatusAlert) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{148} +} + +func (x *CDOTAUserMsg_AghsStatusAlert) GetSourcePlayerId() int32 { + if x != nil && x.SourcePlayerId != nil { + return *x.SourcePlayerId + } + return 0 +} + +func (x *CDOTAUserMsg_AghsStatusAlert) GetTargetPlayerId() int32 { + if x != nil && x.TargetPlayerId != nil { + return *x.TargetPlayerId + } + return 0 +} + +func (x *CDOTAUserMsg_AghsStatusAlert) GetTargetEntindex() int32 { + if x != nil && x.TargetEntindex != nil { + return *x.TargetEntindex + } + return 0 +} + +func (x *CDOTAUserMsg_AghsStatusAlert) GetAlertType() uint32 { + if x != nil && x.AlertType != nil { + return *x.AlertType + } + return 0 +} + +func (x *CDOTAUserMsg_AghsStatusAlert) GetHasScepter() bool { + if x != nil && x.HasScepter != nil { + return *x.HasScepter + } + return false +} + +func (x *CDOTAUserMsg_AghsStatusAlert) GetHasShard() bool { + if x != nil && x.HasShard != nil { + return *x.HasShard + } + return false +} + +type CDOTAUserMsg_MutedPlayers struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + TextMutedPlayerIds []int32 `protobuf:"varint,1,rep,name=text_muted_player_ids,json=textMutedPlayerIds" json:"text_muted_player_ids,omitempty"` + VoiceMutedPlayerIds []int32 `protobuf:"varint,2,rep,name=voice_muted_player_ids,json=voiceMutedPlayerIds" json:"voice_muted_player_ids,omitempty"` +} + +func (x *CDOTAUserMsg_MutedPlayers) Reset() { + *x = CDOTAUserMsg_MutedPlayers{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[149] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_MutedPlayers) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_MutedPlayers) ProtoMessage() {} + +func (x *CDOTAUserMsg_MutedPlayers) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_proto_msgTypes[149] + 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 CDOTAUserMsg_MutedPlayers.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_MutedPlayers) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{149} +} + +func (x *CDOTAUserMsg_MutedPlayers) GetTextMutedPlayerIds() []int32 { + if x != nil { + return x.TextMutedPlayerIds + } + return nil +} + +func (x *CDOTAUserMsg_MutedPlayers) GetVoiceMutedPlayerIds() []int32 { + if x != nil { + return x.VoiceMutedPlayerIds + } + return nil +} + +type CDOTAUserMsg_ContextualTip struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + TipId *int32 `protobuf:"varint,1,opt,name=tip_id,json=tipId" json:"tip_id,omitempty"` + ReferencedAbilities []string `protobuf:"bytes,2,rep,name=referenced_abilities,json=referencedAbilities" json:"referenced_abilities,omitempty"` + ReferencedUnits []string `protobuf:"bytes,3,rep,name=referenced_units,json=referencedUnits" json:"referenced_units,omitempty"` + PanoramaClasses []string `protobuf:"bytes,4,rep,name=panorama_classes,json=panoramaClasses" json:"panorama_classes,omitempty"` + ForceAnnotation *bool `protobuf:"varint,5,opt,name=force_annotation,json=forceAnnotation" json:"force_annotation,omitempty"` + Variant *int32 `protobuf:"varint,6,opt,name=variant" json:"variant,omitempty"` + IntParam *int32 `protobuf:"varint,7,opt,name=int_param,json=intParam" json:"int_param,omitempty"` + IntParam2 *int32 `protobuf:"varint,8,opt,name=int_param2,json=intParam2" json:"int_param2,omitempty"` + FloatParam *float32 `protobuf:"fixed32,9,opt,name=float_param,json=floatParam" json:"float_param,omitempty"` + FloatParam2 *float32 `protobuf:"fixed32,10,opt,name=float_param2,json=floatParam2" json:"float_param2,omitempty"` + StringParam *string `protobuf:"bytes,11,opt,name=string_param,json=stringParam" json:"string_param,omitempty"` + StringParam2 *string `protobuf:"bytes,12,opt,name=string_param2,json=stringParam2" json:"string_param2,omitempty"` + TipTextOverride *string `protobuf:"bytes,13,opt,name=tip_text_override,json=tipTextOverride" json:"tip_text_override,omitempty"` + TipAnnotationOverride *string `protobuf:"bytes,14,opt,name=tip_annotation_override,json=tipAnnotationOverride" json:"tip_annotation_override,omitempty"` + PanoramaSnippet *string `protobuf:"bytes,15,opt,name=panorama_snippet,json=panoramaSnippet" json:"panorama_snippet,omitempty"` +} + +func (x *CDOTAUserMsg_ContextualTip) Reset() { + *x = CDOTAUserMsg_ContextualTip{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[150] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_ContextualTip) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_ContextualTip) ProtoMessage() {} + +func (x *CDOTAUserMsg_ContextualTip) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_proto_msgTypes[150] + 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 CDOTAUserMsg_ContextualTip.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_ContextualTip) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{150} +} + +func (x *CDOTAUserMsg_ContextualTip) GetTipId() int32 { + if x != nil && x.TipId != nil { + return *x.TipId + } + return 0 +} + +func (x *CDOTAUserMsg_ContextualTip) GetReferencedAbilities() []string { + if x != nil { + return x.ReferencedAbilities + } + return nil +} + +func (x *CDOTAUserMsg_ContextualTip) GetReferencedUnits() []string { + if x != nil { + return x.ReferencedUnits + } + return nil +} + +func (x *CDOTAUserMsg_ContextualTip) GetPanoramaClasses() []string { + if x != nil { + return x.PanoramaClasses + } + return nil +} + +func (x *CDOTAUserMsg_ContextualTip) GetForceAnnotation() bool { + if x != nil && x.ForceAnnotation != nil { + return *x.ForceAnnotation + } + return false +} + +func (x *CDOTAUserMsg_ContextualTip) GetVariant() int32 { + if x != nil && x.Variant != nil { + return *x.Variant + } + return 0 +} + +func (x *CDOTAUserMsg_ContextualTip) GetIntParam() int32 { + if x != nil && x.IntParam != nil { + return *x.IntParam + } + return 0 +} + +func (x *CDOTAUserMsg_ContextualTip) GetIntParam2() int32 { + if x != nil && x.IntParam2 != nil { + return *x.IntParam2 + } + return 0 +} + +func (x *CDOTAUserMsg_ContextualTip) GetFloatParam() float32 { + if x != nil && x.FloatParam != nil { + return *x.FloatParam + } + return 0 +} + +func (x *CDOTAUserMsg_ContextualTip) GetFloatParam2() float32 { + if x != nil && x.FloatParam2 != nil { + return *x.FloatParam2 + } + return 0 +} + +func (x *CDOTAUserMsg_ContextualTip) GetStringParam() string { + if x != nil && x.StringParam != nil { + return *x.StringParam + } + return "" +} + +func (x *CDOTAUserMsg_ContextualTip) GetStringParam2() string { + if x != nil && x.StringParam2 != nil { + return *x.StringParam2 + } + return "" +} + +func (x *CDOTAUserMsg_ContextualTip) GetTipTextOverride() string { + if x != nil && x.TipTextOverride != nil { + return *x.TipTextOverride + } + return "" +} + +func (x *CDOTAUserMsg_ContextualTip) GetTipAnnotationOverride() string { + if x != nil && x.TipAnnotationOverride != nil { + return *x.TipAnnotationOverride + } + return "" +} + +func (x *CDOTAUserMsg_ContextualTip) GetPanoramaSnippet() string { + if x != nil && x.PanoramaSnippet != nil { + return *x.PanoramaSnippet + } + return "" +} + +type CDOTAUserMsg_ChatMessage struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + SourcePlayerId *int32 `protobuf:"varint,1,opt,name=source_player_id,json=sourcePlayerId" json:"source_player_id,omitempty"` + ChannelType *uint32 `protobuf:"varint,2,opt,name=channel_type,json=channelType" json:"channel_type,omitempty"` + MessageText *string `protobuf:"bytes,3,opt,name=message_text,json=messageText" json:"message_text,omitempty"` +} + +func (x *CDOTAUserMsg_ChatMessage) Reset() { + *x = CDOTAUserMsg_ChatMessage{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[151] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_ChatMessage) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_ChatMessage) ProtoMessage() {} + +func (x *CDOTAUserMsg_ChatMessage) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_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 CDOTAUserMsg_ChatMessage.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_ChatMessage) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{151} +} + +func (x *CDOTAUserMsg_ChatMessage) GetSourcePlayerId() int32 { + if x != nil && x.SourcePlayerId != nil { + return *x.SourcePlayerId + } + return 0 +} + +func (x *CDOTAUserMsg_ChatMessage) GetChannelType() uint32 { + if x != nil && x.ChannelType != nil { + return *x.ChannelType + } + return 0 +} + +func (x *CDOTAUserMsg_ChatMessage) GetMessageText() string { + if x != nil && x.MessageText != nil { + return *x.MessageText + } + return "" +} + +type CDOTAUserMsg_MiniKillCamInfo_Attacker struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Attacker *uint32 `protobuf:"varint,1,opt,name=attacker" json:"attacker,omitempty"` + TotalDamage *int32 `protobuf:"varint,2,opt,name=total_damage,json=totalDamage" json:"total_damage,omitempty"` + Abilities []*CDOTAUserMsg_MiniKillCamInfo_Attacker_Ability `protobuf:"bytes,3,rep,name=abilities" json:"abilities,omitempty"` + AttackerName *string `protobuf:"bytes,4,opt,name=attacker_name,json=attackerName" json:"attacker_name,omitempty"` +} + +func (x *CDOTAUserMsg_MiniKillCamInfo_Attacker) Reset() { + *x = CDOTAUserMsg_MiniKillCamInfo_Attacker{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[152] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_MiniKillCamInfo_Attacker) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_MiniKillCamInfo_Attacker) ProtoMessage() {} + +func (x *CDOTAUserMsg_MiniKillCamInfo_Attacker) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_proto_msgTypes[152] + 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 CDOTAUserMsg_MiniKillCamInfo_Attacker.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_MiniKillCamInfo_Attacker) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{8, 0} +} + +func (x *CDOTAUserMsg_MiniKillCamInfo_Attacker) GetAttacker() uint32 { + if x != nil && x.Attacker != nil { + return *x.Attacker + } + return 0 +} + +func (x *CDOTAUserMsg_MiniKillCamInfo_Attacker) GetTotalDamage() int32 { + if x != nil && x.TotalDamage != nil { + return *x.TotalDamage + } + return 0 +} + +func (x *CDOTAUserMsg_MiniKillCamInfo_Attacker) GetAbilities() []*CDOTAUserMsg_MiniKillCamInfo_Attacker_Ability { + if x != nil { + return x.Abilities + } + return nil +} + +func (x *CDOTAUserMsg_MiniKillCamInfo_Attacker) GetAttackerName() string { + if x != nil && x.AttackerName != nil { + return *x.AttackerName + } + return "" +} + +type CDOTAUserMsg_MiniKillCamInfo_Attacker_Ability struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + AbilityId *uint32 `protobuf:"varint,1,opt,name=ability_id,json=abilityId" json:"ability_id,omitempty"` + Damage *int32 `protobuf:"varint,2,opt,name=damage" json:"damage,omitempty"` +} + +func (x *CDOTAUserMsg_MiniKillCamInfo_Attacker_Ability) Reset() { + *x = CDOTAUserMsg_MiniKillCamInfo_Attacker_Ability{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[153] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_MiniKillCamInfo_Attacker_Ability) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_MiniKillCamInfo_Attacker_Ability) ProtoMessage() {} + +func (x *CDOTAUserMsg_MiniKillCamInfo_Attacker_Ability) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_proto_msgTypes[153] + 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 CDOTAUserMsg_MiniKillCamInfo_Attacker_Ability.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_MiniKillCamInfo_Attacker_Ability) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{8, 0, 0} +} + +func (x *CDOTAUserMsg_MiniKillCamInfo_Attacker_Ability) GetAbilityId() uint32 { + if x != nil && x.AbilityId != nil { + return *x.AbilityId + } + return 0 +} + +func (x *CDOTAUserMsg_MiniKillCamInfo_Attacker_Ability) GetDamage() int32 { + if x != nil && x.Damage != nil { + return *x.Damage + } + return 0 +} + +type CDOTAUserMsg_CourierKilledAlert_LostItem struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ItemAbilityId *int32 `protobuf:"varint,1,opt,name=item_ability_id,json=itemAbilityId" json:"item_ability_id,omitempty"` + Quantity *uint32 `protobuf:"varint,2,opt,name=quantity" json:"quantity,omitempty"` +} + +func (x *CDOTAUserMsg_CourierKilledAlert_LostItem) Reset() { + *x = CDOTAUserMsg_CourierKilledAlert_LostItem{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[154] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_CourierKilledAlert_LostItem) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_CourierKilledAlert_LostItem) ProtoMessage() {} + +func (x *CDOTAUserMsg_CourierKilledAlert_LostItem) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_proto_msgTypes[154] + 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 CDOTAUserMsg_CourierKilledAlert_LostItem.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_CourierKilledAlert_LostItem) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{25, 0} +} + +func (x *CDOTAUserMsg_CourierKilledAlert_LostItem) GetItemAbilityId() int32 { + if x != nil && x.ItemAbilityId != nil { + return *x.ItemAbilityId + } + return 0 +} + +func (x *CDOTAUserMsg_CourierKilledAlert_LostItem) GetQuantity() uint32 { + if x != nil && x.Quantity != nil { + return *x.Quantity + } + return 0 +} + +type CDOTAUserMsg_PredictionResult_Prediction struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ItemDef *uint32 `protobuf:"varint,1,opt,name=item_def,json=itemDef" json:"item_def,omitempty"` + NumCorrect *uint32 `protobuf:"varint,2,opt,name=num_correct,json=numCorrect" json:"num_correct,omitempty"` + NumFails *uint32 `protobuf:"varint,3,opt,name=num_fails,json=numFails" json:"num_fails,omitempty"` + Result *CDOTAUserMsg_PredictionResult_Prediction_EResult `protobuf:"varint,4,opt,name=result,enum=CDOTAUserMsg_PredictionResult_Prediction_EResult,def=1" json:"result,omitempty"` + GrantedItemDefs []uint32 `protobuf:"varint,6,rep,name=granted_item_defs,json=grantedItemDefs" json:"granted_item_defs,omitempty"` +} + +// Default values for CDOTAUserMsg_PredictionResult_Prediction fields. +const ( + Default_CDOTAUserMsg_PredictionResult_Prediction_Result = CDOTAUserMsg_PredictionResult_Prediction_k_eResult_ItemGranted +) + +func (x *CDOTAUserMsg_PredictionResult_Prediction) Reset() { + *x = CDOTAUserMsg_PredictionResult_Prediction{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[155] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_PredictionResult_Prediction) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_PredictionResult_Prediction) ProtoMessage() {} + +func (x *CDOTAUserMsg_PredictionResult_Prediction) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_proto_msgTypes[155] + 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 CDOTAUserMsg_PredictionResult_Prediction.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_PredictionResult_Prediction) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{40, 0} +} + +func (x *CDOTAUserMsg_PredictionResult_Prediction) GetItemDef() uint32 { + if x != nil && x.ItemDef != nil { + return *x.ItemDef + } + return 0 +} + +func (x *CDOTAUserMsg_PredictionResult_Prediction) GetNumCorrect() uint32 { + if x != nil && x.NumCorrect != nil { + return *x.NumCorrect + } + return 0 +} + +func (x *CDOTAUserMsg_PredictionResult_Prediction) GetNumFails() uint32 { + if x != nil && x.NumFails != nil { + return *x.NumFails + } + return 0 +} + +func (x *CDOTAUserMsg_PredictionResult_Prediction) GetResult() CDOTAUserMsg_PredictionResult_Prediction_EResult { + if x != nil && x.Result != nil { + return *x.Result + } + return Default_CDOTAUserMsg_PredictionResult_Prediction_Result +} + +func (x *CDOTAUserMsg_PredictionResult_Prediction) GetGrantedItemDefs() []uint32 { + if x != nil { + return x.GrantedItemDefs + } + return nil +} + +type CDOTAResponseQuerySerialized_Fact struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Key *int32 `protobuf:"varint,1,req,name=key" json:"key,omitempty"` + Valtype *CDOTAResponseQuerySerialized_Fact_ValueType `protobuf:"varint,2,req,name=valtype,enum=CDOTAResponseQuerySerialized_Fact_ValueType,def=1" json:"valtype,omitempty"` + ValNumeric *float32 `protobuf:"fixed32,3,opt,name=val_numeric,json=valNumeric" json:"val_numeric,omitempty"` + ValString *string `protobuf:"bytes,4,opt,name=val_string,json=valString" json:"val_string,omitempty"` + ValStringtableIndex *int32 `protobuf:"varint,5,opt,name=val_stringtable_index,json=valStringtableIndex" json:"val_stringtable_index,omitempty"` + ValIntNumeric *int32 `protobuf:"zigzag32,6,opt,name=val_int_numeric,json=valIntNumeric" json:"val_int_numeric,omitempty"` +} + +// Default values for CDOTAResponseQuerySerialized_Fact fields. +const ( + Default_CDOTAResponseQuerySerialized_Fact_Valtype = CDOTAResponseQuerySerialized_Fact_NUMERIC +) + +func (x *CDOTAResponseQuerySerialized_Fact) Reset() { + *x = CDOTAResponseQuerySerialized_Fact{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[156] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAResponseQuerySerialized_Fact) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAResponseQuerySerialized_Fact) ProtoMessage() {} + +func (x *CDOTAResponseQuerySerialized_Fact) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_proto_msgTypes[156] + 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 CDOTAResponseQuerySerialized_Fact.ProtoReflect.Descriptor instead. +func (*CDOTAResponseQuerySerialized_Fact) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{41, 0} +} + +func (x *CDOTAResponseQuerySerialized_Fact) GetKey() int32 { + if x != nil && x.Key != nil { + return *x.Key + } + return 0 +} + +func (x *CDOTAResponseQuerySerialized_Fact) GetValtype() CDOTAResponseQuerySerialized_Fact_ValueType { + if x != nil && x.Valtype != nil { + return *x.Valtype + } + return Default_CDOTAResponseQuerySerialized_Fact_Valtype +} + +func (x *CDOTAResponseQuerySerialized_Fact) GetValNumeric() float32 { + if x != nil && x.ValNumeric != nil { + return *x.ValNumeric + } + return 0 +} + +func (x *CDOTAResponseQuerySerialized_Fact) GetValString() string { + if x != nil && x.ValString != nil { + return *x.ValString + } + return "" +} + +func (x *CDOTAResponseQuerySerialized_Fact) GetValStringtableIndex() int32 { + if x != nil && x.ValStringtableIndex != nil { + return *x.ValStringtableIndex + } + return 0 +} + +func (x *CDOTAResponseQuerySerialized_Fact) GetValIntNumeric() int32 { + if x != nil && x.ValIntNumeric != nil { + return *x.ValIntNumeric + } + return 0 +} + +type CDOTAUserMsg_UnitEvent_Interval struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Start *float32 `protobuf:"fixed32,1,opt,name=start" json:"start,omitempty"` + Range *float32 `protobuf:"fixed32,2,opt,name=range" json:"range,omitempty"` +} + +func (x *CDOTAUserMsg_UnitEvent_Interval) Reset() { + *x = CDOTAUserMsg_UnitEvent_Interval{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[157] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_UnitEvent_Interval) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_UnitEvent_Interval) ProtoMessage() {} + +func (x *CDOTAUserMsg_UnitEvent_Interval) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_proto_msgTypes[157] + 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 CDOTAUserMsg_UnitEvent_Interval.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_UnitEvent_Interval) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{43, 0} +} + +func (x *CDOTAUserMsg_UnitEvent_Interval) GetStart() float32 { + if x != nil && x.Start != nil { + return *x.Start + } + return 0 +} + +func (x *CDOTAUserMsg_UnitEvent_Interval) GetRange() float32 { + if x != nil && x.Range != nil { + return *x.Range + } + return 0 +} + +type CDOTAUserMsg_UnitEvent_Speech struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + SpeechConcept *int32 `protobuf:"varint,1,opt,name=speech_concept,json=speechConcept" json:"speech_concept,omitempty"` + Response *string `protobuf:"bytes,2,opt,name=response" json:"response,omitempty"` + RecipientType *int32 `protobuf:"varint,3,opt,name=recipient_type,json=recipientType" json:"recipient_type,omitempty"` + Level *int32 `protobuf:"varint,4,opt,name=level" json:"level,omitempty"` + Muteable *bool `protobuf:"varint,5,opt,name=muteable,def=0" json:"muteable,omitempty"` + Predelay *CDOTAUserMsg_UnitEvent_Interval `protobuf:"bytes,6,opt,name=predelay" json:"predelay,omitempty"` + Flags *uint32 `protobuf:"varint,7,opt,name=flags" json:"flags,omitempty"` +} + +// Default values for CDOTAUserMsg_UnitEvent_Speech fields. +const ( + Default_CDOTAUserMsg_UnitEvent_Speech_Muteable = bool(false) +) + +func (x *CDOTAUserMsg_UnitEvent_Speech) Reset() { + *x = CDOTAUserMsg_UnitEvent_Speech{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[158] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_UnitEvent_Speech) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_UnitEvent_Speech) ProtoMessage() {} + +func (x *CDOTAUserMsg_UnitEvent_Speech) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_proto_msgTypes[158] + 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 CDOTAUserMsg_UnitEvent_Speech.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_UnitEvent_Speech) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{43, 1} +} + +func (x *CDOTAUserMsg_UnitEvent_Speech) GetSpeechConcept() int32 { + if x != nil && x.SpeechConcept != nil { + return *x.SpeechConcept + } + return 0 +} + +func (x *CDOTAUserMsg_UnitEvent_Speech) GetResponse() string { + if x != nil && x.Response != nil { + return *x.Response + } + return "" +} + +func (x *CDOTAUserMsg_UnitEvent_Speech) GetRecipientType() int32 { + if x != nil && x.RecipientType != nil { + return *x.RecipientType + } + return 0 +} + +func (x *CDOTAUserMsg_UnitEvent_Speech) GetLevel() int32 { + if x != nil && x.Level != nil { + return *x.Level + } + return 0 +} + +func (x *CDOTAUserMsg_UnitEvent_Speech) GetMuteable() bool { + if x != nil && x.Muteable != nil { + return *x.Muteable + } + return Default_CDOTAUserMsg_UnitEvent_Speech_Muteable +} + +func (x *CDOTAUserMsg_UnitEvent_Speech) GetPredelay() *CDOTAUserMsg_UnitEvent_Interval { + if x != nil { + return x.Predelay + } + return nil +} + +func (x *CDOTAUserMsg_UnitEvent_Speech) GetFlags() uint32 { + if x != nil && x.Flags != nil { + return *x.Flags + } + return 0 +} + +type CDOTAUserMsg_UnitEvent_SpeechMute struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Delay *float32 `protobuf:"fixed32,1,opt,name=delay,def=0.5" json:"delay,omitempty"` +} + +// Default values for CDOTAUserMsg_UnitEvent_SpeechMute fields. +const ( + Default_CDOTAUserMsg_UnitEvent_SpeechMute_Delay = float32(0.5) +) + +func (x *CDOTAUserMsg_UnitEvent_SpeechMute) Reset() { + *x = CDOTAUserMsg_UnitEvent_SpeechMute{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[159] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_UnitEvent_SpeechMute) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_UnitEvent_SpeechMute) ProtoMessage() {} + +func (x *CDOTAUserMsg_UnitEvent_SpeechMute) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_proto_msgTypes[159] + 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 CDOTAUserMsg_UnitEvent_SpeechMute.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_UnitEvent_SpeechMute) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{43, 2} +} + +func (x *CDOTAUserMsg_UnitEvent_SpeechMute) GetDelay() float32 { + if x != nil && x.Delay != nil { + return *x.Delay + } + return Default_CDOTAUserMsg_UnitEvent_SpeechMute_Delay +} + +type CDOTAUserMsg_UnitEvent_AddGesture struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Activity *int32 `protobuf:"varint,1,opt,name=activity" json:"activity,omitempty"` + Slot *int32 `protobuf:"varint,2,opt,name=slot" json:"slot,omitempty"` + FadeIn *float32 `protobuf:"fixed32,3,opt,name=fade_in,json=fadeIn,def=0" json:"fade_in,omitempty"` + FadeOut *float32 `protobuf:"fixed32,4,opt,name=fade_out,json=fadeOut,def=0.1" json:"fade_out,omitempty"` + PlaybackRate *float32 `protobuf:"fixed32,5,opt,name=playback_rate,json=playbackRate,def=1" json:"playback_rate,omitempty"` + SequenceVariant *int32 `protobuf:"varint,6,opt,name=sequence_variant,json=sequenceVariant" json:"sequence_variant,omitempty"` +} + +// Default values for CDOTAUserMsg_UnitEvent_AddGesture fields. +const ( + Default_CDOTAUserMsg_UnitEvent_AddGesture_FadeIn = float32(0) + Default_CDOTAUserMsg_UnitEvent_AddGesture_FadeOut = float32(0.10000000149011612) + Default_CDOTAUserMsg_UnitEvent_AddGesture_PlaybackRate = float32(1) +) + +func (x *CDOTAUserMsg_UnitEvent_AddGesture) Reset() { + *x = CDOTAUserMsg_UnitEvent_AddGesture{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[160] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_UnitEvent_AddGesture) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_UnitEvent_AddGesture) ProtoMessage() {} + +func (x *CDOTAUserMsg_UnitEvent_AddGesture) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_proto_msgTypes[160] + 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 CDOTAUserMsg_UnitEvent_AddGesture.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_UnitEvent_AddGesture) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{43, 3} +} + +func (x *CDOTAUserMsg_UnitEvent_AddGesture) GetActivity() int32 { + if x != nil && x.Activity != nil { + return *x.Activity + } + return 0 +} + +func (x *CDOTAUserMsg_UnitEvent_AddGesture) GetSlot() int32 { + if x != nil && x.Slot != nil { + return *x.Slot + } + return 0 +} + +func (x *CDOTAUserMsg_UnitEvent_AddGesture) GetFadeIn() float32 { + if x != nil && x.FadeIn != nil { + return *x.FadeIn + } + return Default_CDOTAUserMsg_UnitEvent_AddGesture_FadeIn +} + +func (x *CDOTAUserMsg_UnitEvent_AddGesture) GetFadeOut() float32 { + if x != nil && x.FadeOut != nil { + return *x.FadeOut + } + return Default_CDOTAUserMsg_UnitEvent_AddGesture_FadeOut +} + +func (x *CDOTAUserMsg_UnitEvent_AddGesture) GetPlaybackRate() float32 { + if x != nil && x.PlaybackRate != nil { + return *x.PlaybackRate + } + return Default_CDOTAUserMsg_UnitEvent_AddGesture_PlaybackRate +} + +func (x *CDOTAUserMsg_UnitEvent_AddGesture) GetSequenceVariant() int32 { + if x != nil && x.SequenceVariant != nil { + return *x.SequenceVariant + } + return 0 +} + +type CDOTAUserMsg_UnitEvent_RemoveGesture struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Activity *int32 `protobuf:"varint,1,opt,name=activity" json:"activity,omitempty"` +} + +func (x *CDOTAUserMsg_UnitEvent_RemoveGesture) Reset() { + *x = CDOTAUserMsg_UnitEvent_RemoveGesture{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[161] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_UnitEvent_RemoveGesture) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_UnitEvent_RemoveGesture) ProtoMessage() {} + +func (x *CDOTAUserMsg_UnitEvent_RemoveGesture) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_proto_msgTypes[161] + 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 CDOTAUserMsg_UnitEvent_RemoveGesture.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_UnitEvent_RemoveGesture) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{43, 4} +} + +func (x *CDOTAUserMsg_UnitEvent_RemoveGesture) GetActivity() int32 { + if x != nil && x.Activity != nil { + return *x.Activity + } + return 0 +} + +type CDOTAUserMsg_UnitEvent_BloodImpact struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Scale *int32 `protobuf:"varint,1,opt,name=scale" json:"scale,omitempty"` + XNormal *int32 `protobuf:"varint,2,opt,name=x_normal,json=xNormal" json:"x_normal,omitempty"` + YNormal *int32 `protobuf:"varint,3,opt,name=y_normal,json=yNormal" json:"y_normal,omitempty"` +} + +func (x *CDOTAUserMsg_UnitEvent_BloodImpact) Reset() { + *x = CDOTAUserMsg_UnitEvent_BloodImpact{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[162] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_UnitEvent_BloodImpact) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_UnitEvent_BloodImpact) ProtoMessage() {} + +func (x *CDOTAUserMsg_UnitEvent_BloodImpact) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_proto_msgTypes[162] + 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 CDOTAUserMsg_UnitEvent_BloodImpact.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_UnitEvent_BloodImpact) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{43, 5} +} + +func (x *CDOTAUserMsg_UnitEvent_BloodImpact) GetScale() int32 { + if x != nil && x.Scale != nil { + return *x.Scale + } + return 0 +} + +func (x *CDOTAUserMsg_UnitEvent_BloodImpact) GetXNormal() int32 { + if x != nil && x.XNormal != nil { + return *x.XNormal + } + return 0 +} + +func (x *CDOTAUserMsg_UnitEvent_BloodImpact) GetYNormal() int32 { + if x != nil && x.YNormal != nil { + return *x.YNormal + } + return 0 +} + +type CDOTAUserMsg_UnitEvent_FadeGesture struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Activity *int32 `protobuf:"varint,1,opt,name=activity" json:"activity,omitempty"` +} + +func (x *CDOTAUserMsg_UnitEvent_FadeGesture) Reset() { + *x = CDOTAUserMsg_UnitEvent_FadeGesture{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[163] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_UnitEvent_FadeGesture) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_UnitEvent_FadeGesture) ProtoMessage() {} + +func (x *CDOTAUserMsg_UnitEvent_FadeGesture) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_proto_msgTypes[163] + 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 CDOTAUserMsg_UnitEvent_FadeGesture.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_UnitEvent_FadeGesture) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{43, 6} +} + +func (x *CDOTAUserMsg_UnitEvent_FadeGesture) GetActivity() int32 { + if x != nil && x.Activity != nil { + return *x.Activity + } + return 0 +} + +type CDOTAUserMsg_StatsHeroPositionInfo_PositionPair struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + PositionCategory *DOTA_POSITION_CATEGORY `protobuf:"varint,1,opt,name=position_category,json=positionCategory,enum=DOTA_POSITION_CATEGORY,def=0" json:"position_category,omitempty"` + PositionCount *uint32 `protobuf:"varint,2,opt,name=position_count,json=positionCount" json:"position_count,omitempty"` +} + +// Default values for CDOTAUserMsg_StatsHeroPositionInfo_PositionPair fields. +const ( + Default_CDOTAUserMsg_StatsHeroPositionInfo_PositionPair_PositionCategory = DOTA_POSITION_CATEGORY_DOTA_POSITION_NONE +) + +func (x *CDOTAUserMsg_StatsHeroPositionInfo_PositionPair) Reset() { + *x = CDOTAUserMsg_StatsHeroPositionInfo_PositionPair{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[164] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_StatsHeroPositionInfo_PositionPair) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_StatsHeroPositionInfo_PositionPair) ProtoMessage() {} + +func (x *CDOTAUserMsg_StatsHeroPositionInfo_PositionPair) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_proto_msgTypes[164] + 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 CDOTAUserMsg_StatsHeroPositionInfo_PositionPair.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_StatsHeroPositionInfo_PositionPair) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{86, 0} +} + +func (x *CDOTAUserMsg_StatsHeroPositionInfo_PositionPair) GetPositionCategory() DOTA_POSITION_CATEGORY { + if x != nil && x.PositionCategory != nil { + return *x.PositionCategory + } + return Default_CDOTAUserMsg_StatsHeroPositionInfo_PositionPair_PositionCategory +} + +func (x *CDOTAUserMsg_StatsHeroPositionInfo_PositionPair) GetPositionCount() uint32 { + if x != nil && x.PositionCount != nil { + return *x.PositionCount + } + return 0 +} + +type CDOTAUserMsg_StatsTeamMinuteDetails_LocationPerformance struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + LocationCategory *uint32 `protobuf:"varint,1,opt,name=location_category,json=locationCategory" json:"location_category,omitempty"` + StatType *uint32 `protobuf:"varint,2,opt,name=stat_type,json=statType" json:"stat_type,omitempty"` + Value *uint32 `protobuf:"varint,3,opt,name=value" json:"value,omitempty"` +} + +func (x *CDOTAUserMsg_StatsTeamMinuteDetails_LocationPerformance) Reset() { + *x = CDOTAUserMsg_StatsTeamMinuteDetails_LocationPerformance{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[165] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_StatsTeamMinuteDetails_LocationPerformance) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_StatsTeamMinuteDetails_LocationPerformance) ProtoMessage() {} + +func (x *CDOTAUserMsg_StatsTeamMinuteDetails_LocationPerformance) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_proto_msgTypes[165] + 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 CDOTAUserMsg_StatsTeamMinuteDetails_LocationPerformance.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_StatsTeamMinuteDetails_LocationPerformance) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{88, 0} +} + +func (x *CDOTAUserMsg_StatsTeamMinuteDetails_LocationPerformance) GetLocationCategory() uint32 { + if x != nil && x.LocationCategory != nil { + return *x.LocationCategory + } + return 0 +} + +func (x *CDOTAUserMsg_StatsTeamMinuteDetails_LocationPerformance) GetStatType() uint32 { + if x != nil && x.StatType != nil { + return *x.StatType + } + return 0 +} + +func (x *CDOTAUserMsg_StatsTeamMinuteDetails_LocationPerformance) GetValue() uint32 { + if x != nil && x.Value != nil { + return *x.Value + } + return 0 +} + +type CDOTAUserMsg_StatsMatchDetails_CDOTAUserMsg_StatsFightTeamDetails struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Participants []int32 `protobuf:"varint,1,rep,name=participants" json:"participants,omitempty"` + Deaths []int32 `protobuf:"varint,2,rep,name=deaths" json:"deaths,omitempty"` + GoldDelta *uint32 `protobuf:"varint,3,opt,name=gold_delta,json=goldDelta" json:"gold_delta,omitempty"` + XpDelta *uint32 `protobuf:"varint,4,opt,name=xp_delta,json=xpDelta" json:"xp_delta,omitempty"` +} + +func (x *CDOTAUserMsg_StatsMatchDetails_CDOTAUserMsg_StatsFightTeamDetails) Reset() { + *x = CDOTAUserMsg_StatsMatchDetails_CDOTAUserMsg_StatsFightTeamDetails{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[166] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_StatsMatchDetails_CDOTAUserMsg_StatsFightTeamDetails) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_StatsMatchDetails_CDOTAUserMsg_StatsFightTeamDetails) ProtoMessage() {} + +func (x *CDOTAUserMsg_StatsMatchDetails_CDOTAUserMsg_StatsFightTeamDetails) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_proto_msgTypes[166] + 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 CDOTAUserMsg_StatsMatchDetails_CDOTAUserMsg_StatsFightTeamDetails.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_StatsMatchDetails_CDOTAUserMsg_StatsFightTeamDetails) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{91, 0} +} + +func (x *CDOTAUserMsg_StatsMatchDetails_CDOTAUserMsg_StatsFightTeamDetails) GetParticipants() []int32 { + if x != nil { + return x.Participants + } + return nil +} + +func (x *CDOTAUserMsg_StatsMatchDetails_CDOTAUserMsg_StatsFightTeamDetails) GetDeaths() []int32 { + if x != nil { + return x.Deaths + } + return nil +} + +func (x *CDOTAUserMsg_StatsMatchDetails_CDOTAUserMsg_StatsFightTeamDetails) GetGoldDelta() uint32 { + if x != nil && x.GoldDelta != nil { + return *x.GoldDelta + } + return 0 +} + +func (x *CDOTAUserMsg_StatsMatchDetails_CDOTAUserMsg_StatsFightTeamDetails) GetXpDelta() uint32 { + if x != nil && x.XpDelta != nil { + return *x.XpDelta + } + return 0 +} + +type CDOTAUserMsg_StatsMatchDetails_CDOTAUserMsg_StatsFightDetails struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + StartTime *float32 `protobuf:"fixed32,1,opt,name=start_time,json=startTime" json:"start_time,omitempty"` + EndTime *float32 `protobuf:"fixed32,2,opt,name=end_time,json=endTime" json:"end_time,omitempty"` + RadiantFightDetails *CDOTAUserMsg_StatsMatchDetails_CDOTAUserMsg_StatsFightTeamDetails `protobuf:"bytes,3,opt,name=radiant_fight_details,json=radiantFightDetails" json:"radiant_fight_details,omitempty"` + DireFightDetails *CDOTAUserMsg_StatsMatchDetails_CDOTAUserMsg_StatsFightTeamDetails `protobuf:"bytes,4,opt,name=dire_fight_details,json=direFightDetails" json:"dire_fight_details,omitempty"` +} + +func (x *CDOTAUserMsg_StatsMatchDetails_CDOTAUserMsg_StatsFightDetails) Reset() { + *x = CDOTAUserMsg_StatsMatchDetails_CDOTAUserMsg_StatsFightDetails{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[167] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_StatsMatchDetails_CDOTAUserMsg_StatsFightDetails) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_StatsMatchDetails_CDOTAUserMsg_StatsFightDetails) ProtoMessage() {} + +func (x *CDOTAUserMsg_StatsMatchDetails_CDOTAUserMsg_StatsFightDetails) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_proto_msgTypes[167] + 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 CDOTAUserMsg_StatsMatchDetails_CDOTAUserMsg_StatsFightDetails.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_StatsMatchDetails_CDOTAUserMsg_StatsFightDetails) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{91, 1} +} + +func (x *CDOTAUserMsg_StatsMatchDetails_CDOTAUserMsg_StatsFightDetails) GetStartTime() float32 { + if x != nil && x.StartTime != nil { + return *x.StartTime + } + return 0 +} + +func (x *CDOTAUserMsg_StatsMatchDetails_CDOTAUserMsg_StatsFightDetails) GetEndTime() float32 { + if x != nil && x.EndTime != nil { + return *x.EndTime + } + return 0 +} + +func (x *CDOTAUserMsg_StatsMatchDetails_CDOTAUserMsg_StatsFightDetails) GetRadiantFightDetails() *CDOTAUserMsg_StatsMatchDetails_CDOTAUserMsg_StatsFightTeamDetails { + if x != nil { + return x.RadiantFightDetails + } + return nil +} + +func (x *CDOTAUserMsg_StatsMatchDetails_CDOTAUserMsg_StatsFightDetails) GetDireFightDetails() *CDOTAUserMsg_StatsMatchDetails_CDOTAUserMsg_StatsFightTeamDetails { + if x != nil { + return x.DireFightDetails + } + return nil +} + +type CDOTAUserMsg_AllStarEvent_PlayerScore struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + PlayerId *int32 `protobuf:"varint,1,opt,name=player_id,json=playerId" json:"player_id,omitempty"` + ScoreSansKda *uint32 `protobuf:"varint,2,opt,name=score_sans_kda,json=scoreSansKda" json:"score_sans_kda,omitempty"` +} + +func (x *CDOTAUserMsg_AllStarEvent_PlayerScore) Reset() { + *x = CDOTAUserMsg_AllStarEvent_PlayerScore{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[168] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_AllStarEvent_PlayerScore) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_AllStarEvent_PlayerScore) ProtoMessage() {} + +func (x *CDOTAUserMsg_AllStarEvent_PlayerScore) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_proto_msgTypes[168] + 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 CDOTAUserMsg_AllStarEvent_PlayerScore.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_AllStarEvent_PlayerScore) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{131, 0} +} + +func (x *CDOTAUserMsg_AllStarEvent_PlayerScore) GetPlayerId() int32 { + if x != nil && x.PlayerId != nil { + return *x.PlayerId + } + return 0 +} + +func (x *CDOTAUserMsg_AllStarEvent_PlayerScore) GetScoreSansKda() uint32 { + if x != nil && x.ScoreSansKda != nil { + return *x.ScoreSansKda + } + return 0 +} + +type CDOTAUserMsg_PauseMinigameData_DataBit struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Index *uint32 `protobuf:"varint,1,opt,name=index" json:"index,omitempty"` + Data *int32 `protobuf:"varint,2,opt,name=data" json:"data,omitempty"` + DataExtra *int64 `protobuf:"varint,3,opt,name=data_extra,json=dataExtra" json:"data_extra,omitempty"` +} + +func (x *CDOTAUserMsg_PauseMinigameData_DataBit) Reset() { + *x = CDOTAUserMsg_PauseMinigameData_DataBit{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[169] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_PauseMinigameData_DataBit) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_PauseMinigameData_DataBit) ProtoMessage() {} + +func (x *CDOTAUserMsg_PauseMinigameData_DataBit) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_proto_msgTypes[169] + 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 CDOTAUserMsg_PauseMinigameData_DataBit.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_PauseMinigameData_DataBit) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{138, 0} +} + +func (x *CDOTAUserMsg_PauseMinigameData_DataBit) GetIndex() uint32 { + if x != nil && x.Index != nil { + return *x.Index + } + return 0 +} + +func (x *CDOTAUserMsg_PauseMinigameData_DataBit) GetData() int32 { + if x != nil && x.Data != nil { + return *x.Data + } + return 0 +} + +func (x *CDOTAUserMsg_PauseMinigameData_DataBit) GetDataExtra() int64 { + if x != nil && x.DataExtra != nil { + return *x.DataExtra + } + return 0 +} + +type CDOTAUserMsg_GuildChallenge_Progress_PlayerProgress struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + PlayerId *int32 `protobuf:"varint,1,opt,name=player_id,json=playerId" json:"player_id,omitempty"` + Progress *uint32 `protobuf:"varint,6,opt,name=progress" json:"progress,omitempty"` +} + +func (x *CDOTAUserMsg_GuildChallenge_Progress_PlayerProgress) Reset() { + *x = CDOTAUserMsg_GuildChallenge_Progress_PlayerProgress{} + if protoimpl.UnsafeEnabled { + mi := &file_dota_usermessages_proto_msgTypes[170] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CDOTAUserMsg_GuildChallenge_Progress_PlayerProgress) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CDOTAUserMsg_GuildChallenge_Progress_PlayerProgress) ProtoMessage() {} + +func (x *CDOTAUserMsg_GuildChallenge_Progress_PlayerProgress) ProtoReflect() protoreflect.Message { + mi := &file_dota_usermessages_proto_msgTypes[170] + 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 CDOTAUserMsg_GuildChallenge_Progress_PlayerProgress.ProtoReflect.Descriptor instead. +func (*CDOTAUserMsg_GuildChallenge_Progress_PlayerProgress) Descriptor() ([]byte, []int) { + return file_dota_usermessages_proto_rawDescGZIP(), []int{144, 0} +} + +func (x *CDOTAUserMsg_GuildChallenge_Progress_PlayerProgress) GetPlayerId() int32 { + if x != nil && x.PlayerId != nil { + return *x.PlayerId + } + return 0 +} + +func (x *CDOTAUserMsg_GuildChallenge_Progress_PlayerProgress) GetProgress() uint32 { + if x != nil && x.Progress != nil { + return *x.Progress + } + return 0 +} + +var File_dota_usermessages_proto protoreflect.FileDescriptor + +var file_dota_usermessages_proto_rawDesc = []byte{ + 0x0a, 0x17, 0x64, 0x6f, 0x74, 0x61, 0x5f, 0x75, 0x73, 0x65, 0x72, 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, 0x17, 0x64, 0x6f, 0x74, 0x61, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x65, 0x64, 0x5f, 0x65, + 0x6e, 0x75, 0x6d, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x64, 0x6f, 0x74, 0x61, + 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x34, 0x0a, 0x18, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, + 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x41, 0x49, 0x44, 0x65, 0x62, 0x75, 0x67, 0x4c, 0x69, 0x6e, + 0x65, 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, 0x3b, 0x0a, 0x11, 0x43, + 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x50, 0x69, 0x6e, 0x67, + 0x12, 0x12, 0x0a, 0x04, 0x70, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, + 0x70, 0x69, 0x6e, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x6f, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x04, 0x6c, 0x6f, 0x73, 0x73, 0x22, 0x36, 0x0a, 0x17, 0x43, 0x44, 0x4f, 0x54, + 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x77, 0x61, 0x70, 0x56, 0x65, 0x72, + 0x69, 0x66, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, + 0x22, 0xee, 0x02, 0x0a, 0x16, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, + 0x67, 0x5f, 0x43, 0x68, 0x61, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x3c, 0x0a, 0x04, 0x74, + 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x02, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x44, 0x4f, 0x54, 0x41, + 0x5f, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x3a, 0x14, 0x43, + 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x49, 0x4e, 0x56, 0x41, + 0x4c, 0x49, 0x44, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, + 0x21, 0x0a, 0x0a, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x69, 0x64, 0x5f, 0x31, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x11, 0x3a, 0x02, 0x2d, 0x31, 0x52, 0x09, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x69, + 0x64, 0x31, 0x12, 0x21, 0x0a, 0x0a, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x69, 0x64, 0x5f, 0x32, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x11, 0x3a, 0x02, 0x2d, 0x31, 0x52, 0x09, 0x70, 0x6c, 0x61, 0x79, + 0x65, 0x72, 0x69, 0x64, 0x32, 0x12, 0x21, 0x0a, 0x0a, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x69, + 0x64, 0x5f, 0x33, 0x18, 0x05, 0x20, 0x01, 0x28, 0x11, 0x3a, 0x02, 0x2d, 0x31, 0x52, 0x09, 0x70, + 0x6c, 0x61, 0x79, 0x65, 0x72, 0x69, 0x64, 0x33, 0x12, 0x21, 0x0a, 0x0a, 0x70, 0x6c, 0x61, 0x79, + 0x65, 0x72, 0x69, 0x64, 0x5f, 0x34, 0x18, 0x06, 0x20, 0x01, 0x28, 0x11, 0x3a, 0x02, 0x2d, 0x31, + 0x52, 0x09, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x69, 0x64, 0x34, 0x12, 0x21, 0x0a, 0x0a, 0x70, + 0x6c, 0x61, 0x79, 0x65, 0x72, 0x69, 0x64, 0x5f, 0x35, 0x18, 0x07, 0x20, 0x01, 0x28, 0x11, 0x3a, + 0x02, 0x2d, 0x31, 0x52, 0x09, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x69, 0x64, 0x35, 0x12, 0x21, + 0x0a, 0x0a, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x69, 0x64, 0x5f, 0x36, 0x18, 0x08, 0x20, 0x01, + 0x28, 0x11, 0x3a, 0x02, 0x2d, 0x31, 0x52, 0x09, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x69, 0x64, + 0x36, 0x12, 0x16, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x32, 0x18, 0x09, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x32, 0x12, 0x16, 0x0a, 0x06, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x33, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x33, 0x22, 0x82, 0x01, 0x0a, 0x14, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, + 0x73, 0x67, 0x5f, 0x42, 0x6f, 0x74, 0x43, 0x68, 0x61, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6c, + 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, + 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, + 0x65, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x65, 0x61, + 0x6d, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x74, 0x65, + 0x61, 0x6d, 0x4f, 0x6e, 0x6c, 0x79, 0x22, 0x90, 0x01, 0x0a, 0x20, 0x43, 0x44, 0x4f, 0x54, 0x41, + 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x43, 0x6f, 0x6d, 0x62, 0x61, 0x74, 0x48, 0x65, + 0x72, 0x6f, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x69, + 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, + 0x78, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x04, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x2a, 0x0a, 0x09, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x5f, 0x70, + 0x6f, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x56, + 0x65, 0x63, 0x74, 0x6f, 0x72, 0x32, 0x44, 0x52, 0x08, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x50, 0x6f, + 0x73, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x06, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x22, 0xb7, 0x01, 0x0a, 0x1e, 0x43, 0x44, + 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x43, 0x6f, 0x6d, 0x62, 0x61, + 0x74, 0x4c, 0x6f, 0x67, 0x42, 0x75, 0x6c, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x12, 0x3e, 0x0a, 0x0e, + 0x63, 0x6f, 0x6d, 0x62, 0x61, 0x74, 0x5f, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x43, + 0x6f, 0x6d, 0x62, 0x61, 0x74, 0x4c, 0x6f, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0d, 0x63, + 0x6f, 0x6d, 0x62, 0x61, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x12, 0x1c, 0x0a, 0x09, + 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, + 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 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, 0x1b, 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, + 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x79, 0x65, + 0x72, 0x49, 0x64, 0x22, 0x71, 0x0a, 0x25, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, + 0x4d, 0x73, 0x67, 0x5f, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6c, 0x65, 0x50, 0x61, + 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x43, 0x50, 0x44, 0x61, 0x74, 0x61, 0x12, 0x23, 0x0a, 0x0d, + 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x50, 0x6f, 0x69, 0x6e, + 0x74, 0x12, 0x23, 0x0a, 0x06, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x0b, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x06, + 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x22, 0xe5, 0x02, 0x0a, 0x1c, 0x43, 0x44, 0x4f, 0x54, 0x41, + 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x4d, 0x69, 0x6e, 0x69, 0x4b, 0x69, 0x6c, 0x6c, + 0x43, 0x61, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x44, 0x0a, 0x09, 0x61, 0x74, 0x74, 0x61, 0x63, + 0x6b, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x43, 0x44, 0x4f, + 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x4d, 0x69, 0x6e, 0x69, 0x4b, 0x69, + 0x6c, 0x6c, 0x43, 0x61, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x41, 0x74, 0x74, 0x61, 0x63, 0x6b, + 0x65, 0x72, 0x52, 0x09, 0x61, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x65, 0x72, 0x73, 0x1a, 0xfe, 0x01, + 0x0a, 0x08, 0x41, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x74, + 0x74, 0x61, 0x63, 0x6b, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x61, 0x74, + 0x74, 0x61, 0x63, 0x6b, 0x65, 0x72, 0x12, 0x21, 0x0a, 0x0c, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, + 0x64, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x74, 0x6f, + 0x74, 0x61, 0x6c, 0x44, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x4c, 0x0a, 0x09, 0x61, 0x62, 0x69, + 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x43, + 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x4d, 0x69, 0x6e, 0x69, + 0x4b, 0x69, 0x6c, 0x6c, 0x43, 0x61, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x41, 0x74, 0x74, 0x61, + 0x63, 0x6b, 0x65, 0x72, 0x2e, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x09, 0x61, 0x62, + 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x74, 0x74, 0x61, 0x63, + 0x6b, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, + 0x61, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x1a, 0x40, 0x0a, 0x07, + 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x62, 0x69, 0x6c, 0x69, + 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x62, 0x69, + 0x6c, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x61, 0x6d, 0x61, 0x67, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x64, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x22, 0x51, + 0x0a, 0x1d, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x47, + 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4c, 0x69, 0x67, 0x68, 0x74, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x12, + 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, + 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x22, 0x6a, 0x0a, 0x21, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, + 0x67, 0x5f, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4c, 0x69, 0x67, 0x68, 0x74, 0x44, 0x69, 0x72, + 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x29, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x43, 0x4d, 0x73, 0x67, + 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x02, 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x75, 0x0a, + 0x19, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x4c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x69, 0x6e, 0x67, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6c, + 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, + 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x12, 0x3b, 0x0a, 0x0d, 0x6c, 0x6f, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, + 0x2e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x4d, 0x73, 0x67, 0x5f, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x50, 0x69, 0x6e, 0x67, 0x52, 0x0c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x50, 0x69, 0x6e, 0x67, 0x22, 0xc8, 0x01, 0x0a, 0x1d, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, + 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x50, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, + 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3e, 0x0a, 0x1c, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, + 0x5f, 0x69, 0x64, 0x5f, 0x6f, 0x66, 0x5f, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x5f, + 0x70, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x18, 0x70, 0x6c, + 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x4f, 0x66, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, + 0x50, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x12, 0x21, 0x0a, 0x0c, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, + 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x65, 0x6e, + 0x74, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x63, 0x6f, + 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x69, 0x63, + 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x27, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x56, + 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, + 0x69, 0x0a, 0x16, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, + 0x49, 0x74, 0x65, 0x6d, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6c, 0x61, + 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x6c, + 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x12, 0x32, 0x0a, 0x0a, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x61, + 0x6c, 0x65, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x43, 0x44, 0x4f, + 0x54, 0x41, 0x4d, 0x73, 0x67, 0x5f, 0x49, 0x74, 0x65, 0x6d, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x52, + 0x09, 0x69, 0x74, 0x65, 0x6d, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x22, 0xcb, 0x02, 0x0a, 0x1b, 0x43, + 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x45, 0x6e, 0x65, 0x6d, + 0x79, 0x49, 0x74, 0x65, 0x6d, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6c, + 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, + 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x10, 0x74, 0x61, 0x72, 0x67, 0x65, + 0x74, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, + 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, + 0x79, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x69, 0x74, 0x65, 0x6d, + 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x09, 0x72, 0x75, 0x6e, + 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x3a, 0x02, 0x2d, 0x31, + 0x52, 0x08, 0x72, 0x75, 0x6e, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x6e, + 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x65, + 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0a, 0x69, 0x74, 0x65, 0x6d, 0x5f, + 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x3a, 0x02, 0x2d, 0x31, 0x52, + 0x09, 0x69, 0x74, 0x65, 0x6d, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x2b, 0x0a, 0x0f, 0x70, 0x72, + 0x69, 0x6d, 0x61, 0x72, 0x79, 0x5f, 0x63, 0x68, 0x61, 0x72, 0x67, 0x65, 0x73, 0x18, 0x07, 0x20, + 0x01, 0x28, 0x05, 0x3a, 0x02, 0x2d, 0x31, 0x52, 0x0e, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, + 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x73, 0x12, 0x2f, 0x0a, 0x11, 0x73, 0x65, 0x63, 0x6f, 0x6e, + 0x64, 0x61, 0x72, 0x79, 0x5f, 0x63, 0x68, 0x61, 0x72, 0x67, 0x65, 0x73, 0x18, 0x08, 0x20, 0x01, + 0x28, 0x05, 0x3a, 0x02, 0x2d, 0x31, 0x52, 0x10, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, + 0x79, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x73, 0x22, 0xec, 0x01, 0x0a, 0x1a, 0x43, 0x44, 0x4f, + 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x69, + 0x65, 0x72, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x79, 0x65, + 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x79, + 0x65, 0x72, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x4e, + 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x5f, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x43, + 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x64, 0x65, 0x62, 0x75, 0x66, + 0x66, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x44, 0x65, 0x62, 0x75, 0x66, + 0x66, 0x12, 0x27, 0x0a, 0x0f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x65, 0x6e, 0x74, 0x69, + 0x6e, 0x64, 0x65, 0x78, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x74, 0x61, 0x72, 0x67, + 0x65, 0x74, 0x45, 0x6e, 0x74, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x2b, 0x0a, 0x11, 0x73, 0x65, + 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x5f, 0x72, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x02, 0x52, 0x10, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x52, 0x65, + 0x6d, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0x88, 0x01, 0x0a, 0x18, 0x43, 0x44, 0x4f, 0x54, + 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x48, 0x50, 0x4d, 0x61, 0x6e, 0x61, 0x41, + 0x6c, 0x65, 0x72, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, + 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x65, 0x6e, 0x74, 0x69, + 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x74, 0x61, 0x72, 0x67, + 0x65, 0x74, 0x45, 0x6e, 0x74, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x26, 0x0a, 0x0f, 0x73, 0x68, + 0x6f, 0x77, 0x5f, 0x72, 0x61, 0x77, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x0d, 0x73, 0x68, 0x6f, 0x77, 0x52, 0x61, 0x77, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x73, 0x22, 0x52, 0x0a, 0x17, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, + 0x73, 0x67, 0x5f, 0x47, 0x6c, 0x79, 0x70, 0x68, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x12, 0x1b, 0x0a, + 0x09, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x08, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x65, + 0x67, 0x61, 0x74, 0x69, 0x76, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x6e, 0x65, + 0x67, 0x61, 0x74, 0x69, 0x76, 0x65, 0x22, 0x52, 0x0a, 0x17, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, + 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x52, 0x61, 0x64, 0x61, 0x72, 0x41, 0x6c, 0x65, 0x72, + 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1a, + 0x0a, 0x08, 0x6e, 0x65, 0x67, 0x61, 0x74, 0x69, 0x76, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x08, 0x6e, 0x65, 0x67, 0x61, 0x74, 0x69, 0x76, 0x65, 0x22, 0xbe, 0x01, 0x0a, 0x1e, 0x43, + 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x57, 0x69, 0x6c, 0x6c, + 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x12, 0x26, 0x0a, + 0x0f, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x69, 0x74, 0x65, 0x6d, 0x41, 0x62, 0x69, 0x6c, + 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, + 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, + 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x67, 0x6f, 0x6c, 0x64, 0x5f, 0x72, 0x65, 0x6d, 0x61, 0x69, + 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x67, 0x6f, 0x6c, 0x64, + 0x52, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x12, 0x30, 0x0a, 0x14, 0x73, 0x75, 0x67, + 0x67, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, + 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x12, 0x73, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, + 0x69, 0x6f, 0x6e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x22, 0xa0, 0x01, 0x0a, 0x1f, + 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x45, 0x6d, 0x70, + 0x74, 0x79, 0x54, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x12, + 0x28, 0x0a, 0x10, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, + 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x10, 0x74, 0x61, 0x72, + 0x67, 0x65, 0x74, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, + 0x72, 0x49, 0x64, 0x12, 0x29, 0x0a, 0x10, 0x63, 0x6f, 0x6f, 0x6c, 0x64, 0x6f, 0x77, 0x6e, 0x5f, + 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x63, + 0x6f, 0x6f, 0x6c, 0x64, 0x6f, 0x77, 0x6e, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x22, 0x98, + 0x01, 0x0a, 0x23, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, + 0x4d, 0x61, 0x72, 0x73, 0x41, 0x72, 0x65, 0x6e, 0x61, 0x4f, 0x66, 0x42, 0x6c, 0x6f, 0x6f, 0x64, + 0x41, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x5f, 0x65, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x45, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x12, 0x25, 0x0a, + 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x65, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x45, 0x68, 0x61, + 0x6e, 0x64, 0x6c, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x77, 0x61, 0x72, 0x72, 0x69, 0x6f, 0x72, 0x5f, + 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x77, 0x61, 0x72, + 0x72, 0x69, 0x6f, 0x72, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x22, 0x72, 0x0a, 0x1f, 0x43, 0x44, 0x4f, + 0x54, 0x41, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x4d, 0x73, 0x67, 0x5f, 0x49, 0x6e, 0x76, 0x6f, + 0x6b, 0x65, 0x72, 0x53, 0x70, 0x65, 0x6c, 0x6c, 0x43, 0x61, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x0a, + 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x0b, 0x2e, 0x43, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x4d, 0x73, 0x67, 0x52, 0x09, 0x65, + 0x6e, 0x74, 0x69, 0x74, 0x79, 0x4d, 0x73, 0x67, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x61, 0x73, 0x74, + 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x0c, 0x63, 0x61, 0x73, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x22, 0x3d, 0x0a, + 0x1e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x42, 0x75, + 0x79, 0x42, 0x61, 0x63, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x65, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x12, + 0x1b, 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x22, 0xd5, 0x01, 0x0a, + 0x1a, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x51, 0x75, + 0x69, 0x63, 0x6b, 0x42, 0x75, 0x79, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, + 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, + 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x69, 0x74, 0x65, 0x6d, + 0x5f, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x0d, 0x69, 0x74, 0x65, 0x6d, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x49, 0x64, + 0x12, 0x1b, 0x0a, 0x09, 0x67, 0x6f, 0x6c, 0x64, 0x5f, 0x63, 0x6f, 0x73, 0x74, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x08, 0x67, 0x6f, 0x6c, 0x64, 0x43, 0x6f, 0x73, 0x74, 0x12, 0x32, 0x0a, + 0x15, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x63, 0x6f, 0x6f, 0x6c, 0x64, 0x6f, 0x77, 0x6e, 0x5f, 0x73, + 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x13, 0x69, 0x74, + 0x65, 0x6d, 0x43, 0x6f, 0x6f, 0x6c, 0x64, 0x6f, 0x77, 0x6e, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, + 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x68, 0x6f, 0x77, 0x5f, 0x62, 0x75, 0x79, 0x62, 0x61, 0x63, + 0x6b, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x73, 0x68, 0x6f, 0x77, 0x42, 0x75, 0x79, + 0x62, 0x61, 0x63, 0x6b, 0x22, 0x85, 0x03, 0x0a, 0x1f, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, + 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x43, 0x6f, 0x75, 0x72, 0x69, 0x65, 0x72, 0x4b, 0x69, 0x6c, + 0x6c, 0x65, 0x64, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, 0x61, 0x6d, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x74, 0x65, 0x61, 0x6d, 0x12, 0x1d, 0x0a, 0x0a, + 0x67, 0x6f, 0x6c, 0x64, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x09, 0x67, 0x6f, 0x6c, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x65, + 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x0c, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, + 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x48, + 0x0a, 0x0a, 0x6c, 0x6f, 0x73, 0x74, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x05, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, + 0x67, 0x5f, 0x43, 0x6f, 0x75, 0x72, 0x69, 0x65, 0x72, 0x4b, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x41, + 0x6c, 0x65, 0x72, 0x74, 0x2e, 0x4c, 0x6f, 0x73, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x09, 0x6c, + 0x6f, 0x73, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x28, 0x0a, 0x10, 0x6b, 0x69, 0x6c, 0x6c, + 0x65, 0x72, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x0e, 0x6b, 0x69, 0x6c, 0x6c, 0x65, 0x72, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, + 0x49, 0x64, 0x12, 0x28, 0x0a, 0x10, 0x6f, 0x77, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x6c, 0x61, + 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x6f, 0x77, + 0x6e, 0x69, 0x6e, 0x67, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x1a, 0x4e, 0x0a, 0x08, + 0x4c, 0x6f, 0x73, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x26, 0x0a, 0x0f, 0x69, 0x74, 0x65, 0x6d, + 0x5f, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x0d, 0x69, 0x74, 0x65, 0x6d, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x49, 0x64, + 0x12, 0x1a, 0x0a, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x22, 0xc9, 0x01, 0x0a, + 0x19, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x4d, 0x69, + 0x6e, 0x69, 0x6d, 0x61, 0x70, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x65, 0x76, + 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, + 0x65, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x6e, 0x74, + 0x69, 0x74, 0x79, 0x5f, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x0c, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x12, 0x0c, + 0x0a, 0x01, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x01, 0x78, 0x12, 0x0c, 0x0a, 0x01, + 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x01, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x75, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x64, 0x75, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x30, 0x0a, 0x14, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, + 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x45, 0x6e, 0x74, 0x69, + 0x74, 0x79, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x22, 0x60, 0x0a, 0x14, 0x43, 0x44, 0x4f, 0x54, + 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x4d, 0x61, 0x70, 0x4c, 0x69, 0x6e, 0x65, + 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x12, 0x2b, 0x0a, + 0x07, 0x6d, 0x61, 0x70, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, + 0x2e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x4d, 0x73, 0x67, 0x5f, 0x4d, 0x61, 0x70, 0x4c, 0x69, 0x6e, + 0x65, 0x52, 0x07, 0x6d, 0x61, 0x70, 0x6c, 0x69, 0x6e, 0x65, 0x22, 0xa5, 0x01, 0x0a, 0x1e, 0x43, + 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x4d, 0x69, 0x6e, 0x69, + 0x6d, 0x61, 0x70, 0x44, 0x65, 0x62, 0x75, 0x67, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x27, 0x0a, + 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x0b, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x08, 0x6c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x12, 0x12, 0x0a, 0x04, + 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, + 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, 0x12, 0x14, 0x0a, 0x05, + 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x69, 0x6e, 0x64, + 0x65, 0x78, 0x22, 0xff, 0x03, 0x0a, 0x23, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, + 0x4d, 0x73, 0x67, 0x5f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6e, 0x65, 0x61, 0x72, + 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6c, 0x65, 0x12, 0x23, 0x0a, 0x06, 0x6f, 0x72, + 0x69, 0x67, 0x69, 0x6e, 0x18, 0x01, 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, + 0x29, 0x0a, 0x08, 0x76, 0x65, 0x6c, 0x6f, 0x63, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x0d, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x32, 0x44, + 0x52, 0x08, 0x76, 0x65, 0x6c, 0x6f, 0x63, 0x69, 0x74, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x6e, + 0x74, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x65, 0x6e, + 0x74, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x25, 0x0a, 0x0e, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, + 0x6c, 0x65, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, + 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x16, 0x0a, + 0x06, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x68, + 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x12, 0x31, 0x0a, 0x0c, 0x61, 0x63, 0x63, 0x65, 0x6c, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x43, 0x4d, + 0x73, 0x67, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x32, 0x44, 0x52, 0x0c, 0x61, 0x63, 0x63, 0x65, + 0x6c, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x78, 0x5f, + 0x73, 0x70, 0x65, 0x65, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x6d, 0x61, 0x78, + 0x53, 0x70, 0x65, 0x65, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x66, 0x6f, 0x77, 0x5f, 0x72, 0x61, 0x64, + 0x69, 0x75, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x02, 0x52, 0x09, 0x66, 0x6f, 0x77, 0x52, 0x61, + 0x64, 0x69, 0x75, 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x79, 0x5f, 0x66, + 0x6f, 0x77, 0x5f, 0x72, 0x65, 0x76, 0x65, 0x61, 0x6c, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x0f, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x79, 0x46, 0x6f, 0x77, 0x52, 0x65, 0x76, 0x65, 0x61, 0x6c, + 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x0b, 0x20, 0x01, + 0x28, 0x02, 0x52, 0x08, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x24, 0x0a, 0x0d, + 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x67, 0x65, 0x6d, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x18, 0x0c, 0x20, + 0x01, 0x28, 0x07, 0x52, 0x0d, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x67, 0x65, 0x6d, 0x63, 0x6f, 0x6c, + 0x6f, 0x72, 0x12, 0x50, 0x0a, 0x10, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x5f, 0x63, + 0x70, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x43, + 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x50, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x69, 0x6c, 0x65, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x43, 0x50, + 0x44, 0x61, 0x74, 0x61, 0x52, 0x0e, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x43, 0x70, + 0x44, 0x61, 0x74, 0x61, 0x22, 0x3e, 0x0a, 0x24, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, + 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x4c, 0x69, 0x6e, 0x65, + 0x61, 0x72, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6c, 0x65, 0x12, 0x16, 0x0a, 0x06, + 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x68, 0x61, + 0x6e, 0x64, 0x6c, 0x65, 0x22, 0x66, 0x0a, 0x25, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, + 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x44, 0x6f, 0x64, 0x67, 0x65, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x69, + 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6c, 0x65, 0x73, 0x12, 0x1a, 0x0a, + 0x08, 0x65, 0x6e, 0x74, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x02, 0x28, 0x05, 0x52, + 0x08, 0x65, 0x6e, 0x74, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x74, 0x74, + 0x61, 0x63, 0x6b, 0x73, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x0b, 0x61, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x73, 0x4f, 0x6e, 0x6c, 0x79, 0x22, 0x81, 0x01, 0x0a, + 0x21, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x70, + 0x65, 0x63, 0x74, 0x61, 0x74, 0x6f, 0x72, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x6c, 0x69, + 0x63, 0x6b, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x6e, 0x74, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, + 0x20, 0x02, 0x28, 0x05, 0x52, 0x08, 0x65, 0x6e, 0x74, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1d, + 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x21, 0x0a, + 0x0c, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x0b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, + 0x22, 0xb9, 0x02, 0x0a, 0x26, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, + 0x67, 0x5f, 0x53, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x6f, 0x72, 0x50, 0x6c, 0x61, 0x79, 0x65, + 0x72, 0x55, 0x6e, 0x69, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 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, 0x1d, 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, + 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x6f, 0x72, 0x64, + 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x75, 0x6e, 0x69, 0x74, 0x73, 0x18, + 0x03, 0x20, 0x03, 0x28, 0x05, 0x52, 0x05, 0x75, 0x6e, 0x69, 0x74, 0x73, 0x12, 0x21, 0x0a, 0x0c, + 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x0b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, + 0x1d, 0x0a, 0x0a, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x09, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x27, + 0x0a, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x0b, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x08, 0x70, + 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x75, 0x65, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x71, 0x75, 0x65, 0x75, 0x65, 0x12, 0x27, 0x0a, + 0x0f, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, + 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, + 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, + 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x22, 0x99, 0x01, 0x0a, + 0x1d, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x4e, 0x65, + 0x76, 0x65, 0x72, 0x6d, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x69, 0x65, 0x6d, 0x12, 0x23, + 0x0a, 0x0d, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x48, 0x61, 0x6e, + 0x64, 0x6c, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x05, 0x6c, 0x69, 0x6e, 0x65, 0x73, 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, 0x18, + 0x0a, 0x07, 0x72, 0x65, 0x76, 0x65, 0x72, 0x73, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x07, 0x72, 0x65, 0x76, 0x65, 0x72, 0x73, 0x65, 0x22, 0x60, 0x0a, 0x1b, 0x43, 0x44, 0x4f, 0x54, + 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, + 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 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, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x6e, 0x75, + 0x6d, 0x62, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x73, 0x65, 0x71, 0x75, + 0x65, 0x6e, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x22, 0x5b, 0x0a, 0x15, 0x43, 0x44, + 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x48, 0x75, 0x64, 0x45, 0x72, + 0x72, 0x6f, 0x72, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x64, 0x12, 0x27, + 0x0a, 0x0f, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, + 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, + 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x22, 0x88, 0x01, 0x0a, 0x1b, 0x43, 0x44, 0x4f, 0x54, + 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x68, 0x61, 0x72, 0x65, 0x64, 0x43, + 0x6f, 0x6f, 0x6c, 0x64, 0x6f, 0x77, 0x6e, 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, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x6f, 0x6f, 0x6c, 0x64, + 0x6f, 0x77, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x63, 0x6f, 0x6f, 0x6c, 0x64, + 0x6f, 0x77, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x69, 0x6e, 0x64, 0x65, + 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x49, 0x6e, 0x64, + 0x65, 0x78, 0x22, 0x35, 0x0a, 0x1f, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, + 0x73, 0x67, 0x5f, 0x53, 0x65, 0x74, 0x4e, 0x65, 0x78, 0x74, 0x41, 0x75, 0x74, 0x6f, 0x62, 0x75, + 0x79, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x78, 0x0a, 0x1b, 0x43, 0x44, 0x4f, + 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x48, 0x61, 0x6c, 0x6c, 0x6f, 0x77, + 0x65, 0x65, 0x6e, 0x44, 0x72, 0x6f, 0x70, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x74, 0x65, 0x6d, + 0x5f, 0x64, 0x65, 0x66, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x08, 0x69, 0x74, 0x65, + 0x6d, 0x44, 0x65, 0x66, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, + 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x05, 0x52, 0x09, 0x70, 0x6c, 0x61, 0x79, 0x65, + 0x72, 0x49, 0x64, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x69, 0x7a, 0x65, 0x5f, 0x6c, 0x69, + 0x73, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x70, 0x72, 0x69, 0x7a, 0x65, 0x4c, + 0x69, 0x73, 0x74, 0x22, 0xf5, 0x03, 0x0a, 0x1d, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, + 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, + 0x65, 0x73, 0x75, 0x6c, 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, 0x19, 0x0a, 0x08, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x69, 0x64, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x12, + 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x72, 0x72, 0x65, 0x63, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x07, 0x63, 0x6f, 0x72, 0x72, 0x65, 0x63, 0x74, 0x12, 0x4b, 0x0a, 0x0b, 0x70, 0x72, 0x65, + 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, + 0x2e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x50, 0x72, + 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x50, + 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x70, 0x72, 0x65, 0x64, 0x69, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0xb2, 0x02, 0x0a, 0x0a, 0x50, 0x72, 0x65, 0x64, 0x69, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x64, 0x65, + 0x66, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x69, 0x74, 0x65, 0x6d, 0x44, 0x65, 0x66, + 0x12, 0x1f, 0x0a, 0x0b, 0x6e, 0x75, 0x6d, 0x5f, 0x63, 0x6f, 0x72, 0x72, 0x65, 0x63, 0x74, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x6e, 0x75, 0x6d, 0x43, 0x6f, 0x72, 0x72, 0x65, 0x63, + 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x6e, 0x75, 0x6d, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6e, 0x75, 0x6d, 0x46, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x60, + 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x31, + 0x2e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x50, 0x72, + 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x50, + 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x45, 0x52, 0x65, 0x73, 0x75, 0x6c, + 0x74, 0x3a, 0x15, 0x6b, 0x5f, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x49, 0x74, 0x65, + 0x6d, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x65, 0x64, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, + 0x12, 0x2a, 0x0a, 0x11, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x65, 0x64, 0x5f, 0x69, 0x74, 0x65, 0x6d, + 0x5f, 0x64, 0x65, 0x66, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0f, 0x67, 0x72, 0x61, + 0x6e, 0x74, 0x65, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x44, 0x65, 0x66, 0x73, 0x22, 0x3d, 0x0a, 0x07, + 0x45, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x19, 0x0a, 0x15, 0x6b, 0x5f, 0x65, 0x52, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x49, 0x74, 0x65, 0x6d, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x65, 0x64, + 0x10, 0x01, 0x12, 0x17, 0x0a, 0x13, 0x6b, 0x5f, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, + 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x65, 0x64, 0x10, 0x02, 0x22, 0xae, 0x03, 0x0a, 0x1c, + 0x43, 0x44, 0x4f, 0x54, 0x41, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x51, 0x75, 0x65, + 0x72, 0x79, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x12, 0x38, 0x0a, 0x05, + 0x66, 0x61, 0x63, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x43, 0x44, + 0x4f, 0x54, 0x41, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x2e, 0x46, 0x61, 0x63, 0x74, 0x52, + 0x05, 0x66, 0x61, 0x63, 0x74, 0x73, 0x1a, 0xd3, 0x02, 0x0a, 0x04, 0x46, 0x61, 0x63, 0x74, 0x12, + 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x02, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, + 0x79, 0x12, 0x4f, 0x0a, 0x07, 0x76, 0x61, 0x6c, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x02, + 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, + 0x64, 0x2e, 0x46, 0x61, 0x63, 0x74, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x54, 0x79, 0x70, 0x65, + 0x3a, 0x07, 0x4e, 0x55, 0x4d, 0x45, 0x52, 0x49, 0x43, 0x52, 0x07, 0x76, 0x61, 0x6c, 0x74, 0x79, + 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x76, 0x61, 0x6c, 0x5f, 0x6e, 0x75, 0x6d, 0x65, 0x72, 0x69, + 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x76, 0x61, 0x6c, 0x4e, 0x75, 0x6d, 0x65, + 0x72, 0x69, 0x63, 0x12, 0x1d, 0x0a, 0x0a, 0x76, 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, + 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x76, 0x61, 0x6c, 0x53, 0x74, 0x72, 0x69, + 0x6e, 0x67, 0x12, 0x32, 0x0a, 0x15, 0x76, 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, + 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x13, 0x76, 0x61, 0x6c, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x74, 0x61, 0x62, 0x6c, + 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x26, 0x0a, 0x0f, 0x76, 0x61, 0x6c, 0x5f, 0x69, 0x6e, + 0x74, 0x5f, 0x6e, 0x75, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x18, 0x06, 0x20, 0x01, 0x28, 0x11, 0x52, + 0x0d, 0x76, 0x61, 0x6c, 0x49, 0x6e, 0x74, 0x4e, 0x75, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x22, 0x4c, + 0x0a, 0x09, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x4e, + 0x55, 0x4d, 0x45, 0x52, 0x49, 0x43, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x54, 0x52, 0x49, + 0x4e, 0x47, 0x10, 0x02, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x54, 0x52, 0x49, 0x4e, 0x47, 0x54, 0x41, + 0x42, 0x4c, 0x45, 0x5f, 0x49, 0x4e, 0x44, 0x45, 0x58, 0x10, 0x03, 0x12, 0x0f, 0x0a, 0x0b, 0x49, + 0x4e, 0x54, 0x5f, 0x4e, 0x55, 0x4d, 0x45, 0x52, 0x49, 0x43, 0x10, 0x04, 0x22, 0xd0, 0x01, 0x0a, + 0x18, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x53, 0x70, 0x65, 0x65, 0x63, 0x68, 0x4d, 0x61, 0x74, 0x63, + 0x68, 0x4f, 0x6e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x70, 0x65, + 0x65, 0x63, 0x68, 0x5f, 0x63, 0x6f, 0x6e, 0x63, 0x65, 0x70, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x0d, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x63, 0x65, 0x70, 0x74, + 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, + 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, + 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x43, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, + 0x2e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x51, 0x75, + 0x65, 0x72, 0x79, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x52, 0x0d, 0x72, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x71, 0x75, 0x65, 0x72, 0x79, 0x12, 0x21, 0x0a, 0x0a, + 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x73, 0x65, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0f, + 0x3a, 0x01, 0x30, 0x52, 0x0a, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x73, 0x65, 0x65, 0x64, 0x22, + 0xd2, 0x0a, 0x0a, 0x16, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, + 0x5f, 0x55, 0x6e, 0x69, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x41, 0x0a, 0x08, 0x6d, 0x73, + 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x02, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x45, + 0x44, 0x6f, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, + 0x65, 0x73, 0x3a, 0x10, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4e, 0x49, 0x54, 0x5f, 0x53, 0x50, + 0x45, 0x45, 0x43, 0x48, 0x52, 0x07, 0x6d, 0x73, 0x67, 0x54, 0x79, 0x70, 0x65, 0x12, 0x21, 0x0a, + 0x0c, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, + 0x02, 0x28, 0x05, 0x52, 0x0b, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x64, 0x65, 0x78, + 0x12, 0x36, 0x0a, 0x06, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1e, 0x2e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, + 0x55, 0x6e, 0x69, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x70, 0x65, 0x65, 0x63, 0x68, + 0x52, 0x06, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x12, 0x43, 0x0a, 0x0b, 0x73, 0x70, 0x65, 0x65, + 0x63, 0x68, 0x5f, 0x6d, 0x75, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, + 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x55, 0x6e, 0x69, + 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x70, 0x65, 0x65, 0x63, 0x68, 0x4d, 0x75, 0x74, + 0x65, 0x52, 0x0a, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x4d, 0x75, 0x74, 0x65, 0x12, 0x43, 0x0a, + 0x0b, 0x61, 0x64, 0x64, 0x5f, 0x67, 0x65, 0x73, 0x74, 0x75, 0x72, 0x65, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, + 0x67, 0x5f, 0x55, 0x6e, 0x69, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x41, 0x64, 0x64, 0x47, + 0x65, 0x73, 0x74, 0x75, 0x72, 0x65, 0x52, 0x0a, 0x61, 0x64, 0x64, 0x47, 0x65, 0x73, 0x74, 0x75, + 0x72, 0x65, 0x12, 0x4c, 0x0a, 0x0e, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x67, 0x65, 0x73, + 0x74, 0x75, 0x72, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x43, 0x44, 0x4f, + 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x55, 0x6e, 0x69, 0x74, 0x45, 0x76, + 0x65, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x47, 0x65, 0x73, 0x74, 0x75, 0x72, + 0x65, 0x52, 0x0d, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x47, 0x65, 0x73, 0x74, 0x75, 0x72, 0x65, + 0x12, 0x46, 0x0a, 0x0c, 0x62, 0x6c, 0x6f, 0x6f, 0x64, 0x5f, 0x69, 0x6d, 0x70, 0x61, 0x63, 0x74, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, + 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x55, 0x6e, 0x69, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, + 0x42, 0x6c, 0x6f, 0x6f, 0x64, 0x49, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x52, 0x0b, 0x62, 0x6c, 0x6f, + 0x6f, 0x64, 0x49, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x12, 0x46, 0x0a, 0x0c, 0x66, 0x61, 0x64, 0x65, + 0x5f, 0x67, 0x65, 0x73, 0x74, 0x75, 0x72, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, + 0x2e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x55, 0x6e, + 0x69, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x46, 0x61, 0x64, 0x65, 0x47, 0x65, 0x73, 0x74, + 0x75, 0x72, 0x65, 0x52, 0x0b, 0x66, 0x61, 0x64, 0x65, 0x47, 0x65, 0x73, 0x74, 0x75, 0x72, 0x65, + 0x12, 0x4e, 0x0a, 0x16, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, + 0x5f, 0x6f, 0x6e, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x19, 0x2e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x53, 0x70, 0x65, 0x65, 0x63, 0x68, 0x4d, 0x61, + 0x74, 0x63, 0x68, 0x4f, 0x6e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x13, 0x73, 0x70, 0x65, + 0x65, 0x63, 0x68, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x6e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, + 0x1a, 0x36, 0x0a, 0x08, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x14, 0x0a, 0x05, + 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x05, 0x73, 0x74, 0x61, + 0x72, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x02, 0x52, 0x05, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x1a, 0xff, 0x01, 0x0a, 0x06, 0x53, 0x70, 0x65, + 0x65, 0x63, 0x68, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x5f, 0x63, 0x6f, + 0x6e, 0x63, 0x65, 0x70, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x73, 0x70, 0x65, + 0x65, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x63, 0x65, 0x70, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, + 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, + 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, + 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x6c, 0x65, + 0x76, 0x65, 0x6c, 0x12, 0x21, 0x0a, 0x08, 0x6d, 0x75, 0x74, 0x65, 0x61, 0x62, 0x6c, 0x65, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x08, 0x3a, 0x05, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x52, 0x08, 0x6d, 0x75, + 0x74, 0x65, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x3c, 0x0a, 0x08, 0x70, 0x72, 0x65, 0x64, 0x65, 0x6c, + 0x61, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x43, 0x44, 0x4f, 0x54, 0x41, + 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x55, 0x6e, 0x69, 0x74, 0x45, 0x76, 0x65, 0x6e, + 0x74, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x52, 0x08, 0x70, 0x72, 0x65, 0x64, + 0x65, 0x6c, 0x61, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x07, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x1a, 0x27, 0x0a, 0x0a, 0x53, 0x70, + 0x65, 0x65, 0x63, 0x68, 0x4d, 0x75, 0x74, 0x65, 0x12, 0x19, 0x0a, 0x05, 0x64, 0x65, 0x6c, 0x61, + 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x3a, 0x03, 0x30, 0x2e, 0x35, 0x52, 0x05, 0x64, 0x65, + 0x6c, 0x61, 0x79, 0x1a, 0xcb, 0x01, 0x0a, 0x0a, 0x41, 0x64, 0x64, 0x47, 0x65, 0x73, 0x74, 0x75, + 0x72, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x12, 0x12, + 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x73, 0x6c, + 0x6f, 0x74, 0x12, 0x1a, 0x0a, 0x07, 0x66, 0x61, 0x64, 0x65, 0x5f, 0x69, 0x6e, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x02, 0x3a, 0x01, 0x30, 0x52, 0x06, 0x66, 0x61, 0x64, 0x65, 0x49, 0x6e, 0x12, 0x1e, + 0x0a, 0x08, 0x66, 0x61, 0x64, 0x65, 0x5f, 0x6f, 0x75, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, + 0x3a, 0x03, 0x30, 0x2e, 0x31, 0x52, 0x07, 0x66, 0x61, 0x64, 0x65, 0x4f, 0x75, 0x74, 0x12, 0x26, + 0x0a, 0x0d, 0x70, 0x6c, 0x61, 0x79, 0x62, 0x61, 0x63, 0x6b, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x02, 0x3a, 0x01, 0x31, 0x52, 0x0c, 0x70, 0x6c, 0x61, 0x79, 0x62, 0x61, + 0x63, 0x6b, 0x52, 0x61, 0x74, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, + 0x63, 0x65, 0x5f, 0x76, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x0f, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x56, 0x61, 0x72, 0x69, 0x61, 0x6e, + 0x74, 0x1a, 0x2b, 0x0a, 0x0d, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x47, 0x65, 0x73, 0x74, 0x75, + 0x72, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x1a, 0x59, + 0x0a, 0x0b, 0x42, 0x6c, 0x6f, 0x6f, 0x64, 0x49, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x12, 0x14, 0x0a, + 0x05, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x73, 0x63, + 0x61, 0x6c, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x78, 0x5f, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x78, 0x4e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x12, 0x19, + 0x0a, 0x08, 0x79, 0x5f, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x07, 0x79, 0x4e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x1a, 0x29, 0x0a, 0x0b, 0x46, 0x61, 0x64, + 0x65, 0x47, 0x65, 0x73, 0x74, 0x75, 0x72, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x63, 0x74, 0x69, + 0x76, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x61, 0x63, 0x74, 0x69, + 0x76, 0x69, 0x74, 0x79, 0x22, 0x44, 0x0a, 0x1a, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, + 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, + 0x65, 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x61, 0x62, 0x69, 0x6c, 0x69, + 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x69, 0x74, 0x65, + 0x6d, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x49, 0x64, 0x22, 0x3f, 0x0a, 0x15, 0x43, 0x44, + 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x49, 0x74, 0x65, 0x6d, 0x53, + 0x6f, 0x6c, 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x61, 0x62, 0x69, 0x6c, + 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x69, 0x74, + 0x65, 0x6d, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x49, 0x64, 0x22, 0x94, 0x01, 0x0a, 0x16, + 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x49, 0x74, 0x65, + 0x6d, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x12, 0x18, + 0x0a, 0x07, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x07, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x61, 0x72, 0x69, + 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x72, 0x61, 0x72, 0x69, 0x74, 0x79, + 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x69, 0x74, 0x65, 0x6d, + 0x64, 0x65, 0x66, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x69, 0x74, 0x65, 0x6d, 0x64, + 0x65, 0x66, 0x22, 0x95, 0x02, 0x0a, 0x1a, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, + 0x4d, 0x73, 0x67, 0x5f, 0x4f, 0x76, 0x65, 0x72, 0x68, 0x65, 0x61, 0x64, 0x45, 0x76, 0x65, 0x6e, + 0x74, 0x12, 0x4c, 0x0a, 0x0c, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x79, 0x70, + 0x65, 0x18, 0x01, 0x20, 0x02, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x4f, + 0x56, 0x45, 0x52, 0x48, 0x45, 0x41, 0x44, 0x5f, 0x41, 0x4c, 0x45, 0x52, 0x54, 0x3a, 0x13, 0x4f, + 0x56, 0x45, 0x52, 0x48, 0x45, 0x41, 0x44, 0x5f, 0x41, 0x4c, 0x45, 0x52, 0x54, 0x5f, 0x47, 0x4f, + 0x4c, 0x44, 0x52, 0x0b, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, + 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x34, 0x0a, 0x16, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, + 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x14, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6c, 0x61, + 0x79, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x27, 0x0a, 0x0f, 0x74, + 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x45, 0x6e, 0x74, 0x69, + 0x6e, 0x64, 0x65, 0x78, 0x12, 0x34, 0x0a, 0x16, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x70, + 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x14, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6c, 0x61, 0x79, + 0x65, 0x72, 0x45, 0x6e, 0x74, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x22, 0x4e, 0x0a, 0x1c, 0x43, 0x44, + 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x54, 0x75, 0x74, 0x6f, 0x72, + 0x69, 0x61, 0x6c, 0x54, 0x69, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, + 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x22, 0x7d, 0x0a, 0x1b, 0x43, 0x44, + 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x54, 0x75, 0x74, 0x6f, 0x72, + 0x69, 0x61, 0x6c, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x12, 0x18, 0x0a, 0x07, 0x68, 0x65, 0x61, + 0x64, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x68, 0x65, 0x61, 0x64, + 0x69, 0x6e, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x6d, 0x62, 0x6c, 0x65, 0x6d, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x06, 0x65, 0x6d, 0x62, 0x6c, 0x65, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x62, + 0x6f, 0x64, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x12, + 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0x26, 0x0a, 0x24, 0x43, 0x44, 0x4f, + 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x54, 0x75, 0x74, 0x6f, 0x72, 0x69, + 0x61, 0x6c, 0x4d, 0x69, 0x6e, 0x69, 0x6d, 0x61, 0x70, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, + 0x6e, 0x22, 0x7d, 0x0a, 0x1f, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, + 0x67, 0x5f, 0x53, 0x65, 0x6e, 0x64, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x54, 0x6f, 0x6f, + 0x6c, 0x54, 0x69, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, + 0x78, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x65, 0x78, 0x74, 0x12, 0x1a, + 0x0a, 0x08, 0x65, 0x6e, 0x74, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x08, 0x65, 0x6e, 0x74, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6c, + 0x6f, 0x73, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x63, 0x6c, 0x6f, 0x73, 0x65, + 0x22, 0x68, 0x0a, 0x16, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, + 0x5f, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x4c, 0x69, 0x6e, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6c, + 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, + 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x12, 0x31, 0x0a, 0x09, 0x77, 0x6f, 0x72, 0x6c, 0x64, + 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x43, 0x44, 0x4f, + 0x54, 0x41, 0x4d, 0x73, 0x67, 0x5f, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x4c, 0x69, 0x6e, 0x65, 0x52, + 0x09, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x22, 0xc1, 0x01, 0x0a, 0x16, 0x43, + 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x43, 0x68, 0x61, 0x74, + 0x57, 0x68, 0x65, 0x65, 0x6c, 0x12, 0x26, 0x0a, 0x0f, 0x63, 0x68, 0x61, 0x74, 0x5f, 0x6d, 0x65, + 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, + 0x63, 0x68, 0x61, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x64, 0x12, 0x1b, 0x0a, + 0x09, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x08, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0d, 0x70, 0x61, 0x72, + 0x61, 0x6d, 0x5f, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x0b, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x48, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x12, 0x1f, 0x0a, + 0x0b, 0x65, 0x6d, 0x6f, 0x74, 0x69, 0x63, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x0a, 0x65, 0x6d, 0x6f, 0x74, 0x69, 0x63, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x80, + 0x01, 0x0a, 0x1d, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, + 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x58, 0x6d, 0x61, 0x73, 0x47, 0x69, 0x66, 0x74, + 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1b, 0x0a, + 0x09, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x69, 0x74, 0x65, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x69, 0x6e, + 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x0d, 0x69, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x53, 0x6c, 0x6f, + 0x74, 0x22, 0xf7, 0x01, 0x0a, 0x17, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, + 0x73, 0x67, 0x5f, 0x53, 0x68, 0x6f, 0x77, 0x53, 0x75, 0x72, 0x76, 0x65, 0x79, 0x12, 0x1b, 0x0a, + 0x09, 0x73, 0x75, 0x72, 0x76, 0x65, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x08, 0x73, 0x75, 0x72, 0x76, 0x65, 0x79, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x61, + 0x74, 0x63, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x6d, 0x61, + 0x74, 0x63, 0x68, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x5f, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x72, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x53, 0x74, 0x79, 0x6c, 0x65, 0x12, 0x28, 0x0a, 0x10, + 0x74, 0x65, 0x61, 0x6d, 0x6d, 0x61, 0x74, 0x65, 0x5f, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, 0x64, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x74, 0x65, 0x61, 0x6d, 0x6d, 0x61, 0x74, 0x65, + 0x48, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x74, 0x65, 0x61, 0x6d, 0x6d, 0x61, + 0x74, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x74, + 0x65, 0x61, 0x6d, 0x6d, 0x61, 0x74, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2e, 0x0a, 0x13, 0x74, + 0x65, 0x61, 0x6d, 0x6d, 0x61, 0x74, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, + 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x74, 0x65, 0x61, 0x6d, 0x6d, 0x61, + 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x22, 0x3f, 0x0a, 0x20, 0x43, + 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, + 0x1b, 0x0a, 0x09, 0x73, 0x6c, 0x6f, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x08, 0x73, 0x6c, 0x6f, 0x74, 0x54, 0x79, 0x70, 0x65, 0x22, 0x21, 0x0a, 0x1f, + 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x54, 0x75, 0x74, + 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x45, 0x78, 0x70, 0x22, + 0x38, 0x0a, 0x19, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, + 0x54, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x46, 0x61, 0x64, 0x65, 0x12, 0x1b, 0x0a, 0x09, + 0x74, 0x67, 0x74, 0x5f, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x08, 0x74, 0x67, 0x74, 0x41, 0x6c, 0x70, 0x68, 0x61, 0x22, 0xa1, 0x01, 0x0a, 0x20, 0x43, 0x44, + 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x54, 0x75, 0x74, 0x6f, 0x72, + 0x69, 0x61, 0x6c, 0x50, 0x69, 0x6e, 0x67, 0x4d, 0x69, 0x6e, 0x69, 0x6d, 0x61, 0x70, 0x12, 0x1b, + 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x12, 0x13, 0x0a, 0x05, 0x70, + 0x6f, 0x73, 0x5f, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x04, 0x70, 0x6f, 0x73, 0x58, + 0x12, 0x13, 0x0a, 0x05, 0x70, 0x6f, 0x73, 0x5f, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, + 0x04, 0x70, 0x6f, 0x73, 0x59, 0x12, 0x13, 0x0a, 0x05, 0x70, 0x6f, 0x73, 0x5f, 0x7a, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x02, 0x52, 0x04, 0x70, 0x6f, 0x73, 0x5a, 0x12, 0x21, 0x0a, 0x0c, 0x65, 0x6e, + 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x0b, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x22, 0x3a, 0x0a, + 0x22, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x47, 0x61, + 0x6d, 0x65, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x53, 0x74, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x6e, + 0x67, 0x65, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x22, 0x59, 0x0a, 0x1d, 0x43, 0x44, 0x4f, + 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x41, 0x64, 0x64, 0x51, 0x75, 0x65, + 0x73, 0x74, 0x4c, 0x6f, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x19, 0x0a, 0x08, 0x6e, 0x70, + 0x63, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6e, 0x70, + 0x63, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6e, 0x70, 0x63, 0x5f, 0x64, 0x69, 0x61, + 0x6c, 0x6f, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x70, 0x63, 0x44, 0x69, + 0x61, 0x6c, 0x6f, 0x67, 0x22, 0x70, 0x0a, 0x1a, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, + 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x65, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x50, 0x6f, 0x70, + 0x75, 0x70, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x12, + 0x35, 0x0a, 0x09, 0x73, 0x74, 0x61, 0x74, 0x70, 0x6f, 0x70, 0x75, 0x70, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x65, + 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x50, 0x6f, 0x70, 0x75, 0x70, 0x52, 0x09, 0x73, 0x74, 0x61, + 0x74, 0x70, 0x6f, 0x70, 0x75, 0x70, 0x22, 0x69, 0x0a, 0x21, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, + 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x44, 0x69, 0x73, 0x6d, 0x69, 0x73, 0x73, 0x41, 0x6c, + 0x6c, 0x53, 0x74, 0x61, 0x74, 0x50, 0x6f, 0x70, 0x75, 0x70, 0x73, 0x12, 0x44, 0x0a, 0x0d, 0x64, + 0x69, 0x73, 0x6d, 0x69, 0x73, 0x73, 0x61, 0x6c, 0x6c, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x4d, 0x73, 0x67, 0x5f, 0x44, 0x69, + 0x73, 0x6d, 0x69, 0x73, 0x73, 0x41, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x50, 0x6f, 0x70, 0x75, + 0x70, 0x73, 0x52, 0x0d, 0x64, 0x69, 0x73, 0x6d, 0x69, 0x73, 0x73, 0x61, 0x6c, 0x6c, 0x6d, 0x73, + 0x67, 0x22, 0xb3, 0x01, 0x0a, 0x25, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, + 0x73, 0x67, 0x5f, 0x53, 0x65, 0x6e, 0x64, 0x52, 0x6f, 0x73, 0x68, 0x61, 0x6e, 0x53, 0x70, 0x65, + 0x63, 0x74, 0x61, 0x74, 0x6f, 0x72, 0x50, 0x68, 0x61, 0x73, 0x65, 0x12, 0x3d, 0x0a, 0x05, 0x70, + 0x68, 0x61, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x44, 0x4f, 0x54, + 0x41, 0x5f, 0x52, 0x4f, 0x53, 0x48, 0x41, 0x4e, 0x5f, 0x50, 0x48, 0x41, 0x53, 0x45, 0x3a, 0x13, + 0x6b, 0x5f, 0x53, 0x52, 0x53, 0x50, 0x5f, 0x52, 0x4f, 0x53, 0x48, 0x41, 0x4e, 0x5f, 0x41, 0x4c, + 0x49, 0x56, 0x45, 0x52, 0x05, 0x70, 0x68, 0x61, 0x73, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x70, 0x68, + 0x61, 0x73, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x70, 0x68, 0x61, 0x73, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, + 0x54, 0x69, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x68, 0x61, 0x73, 0x65, 0x5f, 0x6c, 0x65, + 0x6e, 0x67, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x70, 0x68, 0x61, 0x73, + 0x65, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x22, 0x58, 0x0a, 0x1c, 0x43, 0x44, 0x4f, 0x54, 0x41, + 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x65, 0x6e, 0x64, 0x52, 0x6f, 0x73, 0x68, + 0x61, 0x6e, 0x50, 0x6f, 0x70, 0x75, 0x70, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x63, 0x6c, 0x61, + 0x69, 0x6d, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x72, 0x65, 0x63, 0x6c, + 0x61, 0x69, 0x6d, 0x65, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x67, 0x61, 0x6d, 0x65, 0x74, 0x69, 0x6d, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x67, 0x61, 0x6d, 0x65, 0x74, 0x69, 0x6d, + 0x65, 0x22, 0x6a, 0x0a, 0x1a, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, + 0x67, 0x5f, 0x53, 0x65, 0x6e, 0x64, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x47, 0x6f, 0x6c, 0x64, 0x12, + 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x6c, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x67, 0x6f, 0x6c, 0x64, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0c, 0x72, 0x65, 0x6c, 0x69, 0x61, 0x62, 0x6c, 0x65, + 0x47, 0x6f, 0x6c, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x75, 0x6e, 0x72, 0x65, 0x6c, 0x69, 0x61, 0x62, + 0x6c, 0x65, 0x5f, 0x67, 0x6f, 0x6c, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0e, 0x75, + 0x6e, 0x72, 0x65, 0x6c, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x47, 0x6f, 0x6c, 0x64, 0x22, 0x65, 0x0a, + 0x16, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x43, 0x75, + 0x73, 0x74, 0x6f, 0x6d, 0x4d, 0x73, 0x67, 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, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x12, 0x14, + 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x22, 0x6b, 0x0a, 0x19, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, + 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x43, 0x6f, 0x61, 0x63, 0x68, 0x48, 0x55, 0x44, 0x50, 0x69, 0x6e, + 0x67, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x12, 0x31, + 0x0a, 0x08, 0x68, 0x75, 0x64, 0x5f, 0x70, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x16, 0x2e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x4d, 0x73, 0x67, 0x5f, 0x43, 0x6f, 0x61, 0x63, + 0x68, 0x48, 0x55, 0x44, 0x50, 0x69, 0x6e, 0x67, 0x52, 0x07, 0x68, 0x75, 0x64, 0x50, 0x69, 0x6e, + 0x67, 0x22, 0x20, 0x0a, 0x1e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, + 0x67, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4c, 0x6f, 0x61, 0x64, 0x47, 0x72, 0x69, 0x64, + 0x4e, 0x61, 0x76, 0x22, 0xad, 0x04, 0x0a, 0x1a, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, + 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x54, 0x45, 0x5f, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x69, + 0x6c, 0x65, 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, 0x16, 0x0a, 0x06, 0x74, 0x61, + 0x72, 0x67, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, + 0x65, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x65, 0x65, 0x64, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x6d, 0x6f, 0x76, 0x65, 0x53, 0x70, 0x65, 0x65, + 0x64, 0x12, 0x2b, 0x0a, 0x11, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x61, + 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x34, + 0x0a, 0x16, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x5f, 0x73, 0x79, 0x73, 0x74, 0x65, + 0x6d, 0x5f, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x14, + 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x48, 0x61, + 0x6e, 0x64, 0x6c, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x6f, 0x64, 0x67, 0x65, 0x61, 0x62, 0x6c, + 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x64, 0x6f, 0x64, 0x67, 0x65, 0x61, 0x62, + 0x6c, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x61, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x41, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x12, + 0x1f, 0x0a, 0x0b, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x09, + 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x54, 0x69, 0x6d, 0x65, + 0x12, 0x24, 0x0a, 0x0d, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x74, 0x69, 0x6d, + 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0d, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x70, 0x61, + 0x63, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x67, + 0x65, 0x6d, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x07, 0x52, 0x0d, 0x63, + 0x6f, 0x6c, 0x6f, 0x72, 0x67, 0x65, 0x6d, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x12, 0x1f, 0x0a, 0x0b, + 0x6c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x18, 0x0c, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x0a, 0x6c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x54, 0x69, 0x63, 0x6b, 0x12, 0x16, 0x0a, + 0x06, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x68, + 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x12, 0x2a, 0x0a, 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, + 0x6c, 0x6f, 0x63, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x43, 0x4d, 0x73, 0x67, + 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x09, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4c, 0x6f, + 0x63, 0x12, 0x50, 0x0a, 0x10, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x5f, 0x63, 0x70, + 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x43, 0x44, + 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x50, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x69, 0x6c, 0x65, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x43, 0x50, 0x44, + 0x61, 0x74, 0x61, 0x52, 0x0e, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x43, 0x70, 0x44, + 0x61, 0x74, 0x61, 0x22, 0xb6, 0x04, 0x0a, 0x1d, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, + 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x54, 0x45, 0x5f, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x69, + 0x6c, 0x65, 0x4c, 0x6f, 0x63, 0x12, 0x2a, 0x0a, 0x0a, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, + 0x6c, 0x6f, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x43, 0x4d, 0x73, 0x67, + 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x09, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4c, 0x6f, + 0x63, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x6f, 0x76, + 0x65, 0x5f, 0x73, 0x70, 0x65, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x6d, + 0x6f, 0x76, 0x65, 0x53, 0x70, 0x65, 0x65, 0x64, 0x12, 0x34, 0x0a, 0x16, 0x70, 0x61, 0x72, 0x74, + 0x69, 0x63, 0x6c, 0x65, 0x5f, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x5f, 0x68, 0x61, 0x6e, 0x64, + 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x14, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, + 0x6c, 0x65, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x12, 0x1c, + 0x0a, 0x09, 0x64, 0x6f, 0x64, 0x67, 0x65, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x09, 0x64, 0x6f, 0x64, 0x67, 0x65, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x1b, 0x0a, 0x09, + 0x69, 0x73, 0x5f, 0x61, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x08, 0x69, 0x73, 0x41, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x78, 0x70, + 0x69, 0x72, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, + 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x2a, 0x0a, 0x0a, 0x74, 0x61, + 0x72, 0x67, 0x65, 0x74, 0x5f, 0x6c, 0x6f, 0x63, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, + 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x09, 0x74, 0x61, 0x72, + 0x67, 0x65, 0x74, 0x4c, 0x6f, 0x63, 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x67, + 0x65, 0x6d, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x07, 0x52, 0x0d, 0x63, + 0x6f, 0x6c, 0x6f, 0x72, 0x67, 0x65, 0x6d, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x12, 0x1f, 0x0a, 0x0b, + 0x6c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x18, 0x0c, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x0a, 0x6c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x54, 0x69, 0x63, 0x6b, 0x12, 0x16, 0x0a, + 0x06, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x68, + 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, + 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2b, 0x0a, + 0x11, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, + 0x6e, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x50, 0x0a, 0x10, 0x70, 0x61, + 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x5f, 0x63, 0x70, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x10, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, + 0x4d, 0x73, 0x67, 0x5f, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6c, 0x65, 0x50, 0x61, + 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x43, 0x50, 0x44, 0x61, 0x74, 0x61, 0x52, 0x0e, 0x70, 0x61, + 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x43, 0x70, 0x44, 0x61, 0x74, 0x61, 0x22, 0x3b, 0x0a, 0x21, + 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x54, 0x45, 0x5f, + 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6c, + 0x65, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x06, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x22, 0x83, 0x01, 0x0a, 0x1f, 0x43, 0x44, + 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x54, 0x45, 0x5f, 0x44, 0x6f, + 0x74, 0x61, 0x42, 0x6c, 0x6f, 0x6f, 0x64, 0x49, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x12, 0x16, 0x0a, + 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x65, + 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x02, 0x52, 0x05, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x78, + 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x07, 0x78, 0x6e, + 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x79, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x07, 0x79, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x22, + 0xc6, 0x03, 0x0a, 0x18, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, + 0x5f, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x50, 0x69, 0x6e, 0x67, 0x12, 0x1b, 0x0a, 0x09, + 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x08, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x62, 0x69, + 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, + 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x3f, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x41, 0x42, + 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x50, 0x49, 0x4e, 0x47, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x3a, + 0x12, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x50, 0x49, 0x4e, 0x47, 0x5f, 0x52, 0x45, + 0x41, 0x44, 0x59, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x63, 0x6f, 0x6f, + 0x6c, 0x64, 0x6f, 0x77, 0x6e, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x63, 0x6f, 0x6f, 0x6c, 0x64, 0x6f, 0x77, 0x6e, 0x53, 0x65, 0x63, + 0x6f, 0x6e, 0x64, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x61, + 0x73, 0x73, 0x69, 0x76, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x70, 0x61, 0x73, + 0x73, 0x69, 0x76, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x61, 0x6e, 0x61, 0x5f, 0x6e, 0x65, 0x65, + 0x64, 0x65, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x6d, 0x61, 0x6e, 0x61, 0x4e, + 0x65, 0x65, 0x64, 0x65, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, + 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, + 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x5f, 0x63, 0x68, + 0x61, 0x72, 0x67, 0x65, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x70, 0x72, 0x69, + 0x6d, 0x61, 0x72, 0x79, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x73, + 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x5f, 0x63, 0x68, 0x61, 0x72, 0x67, 0x65, 0x73, + 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, + 0x79, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x74, 0x72, 0x6c, + 0x5f, 0x68, 0x65, 0x6c, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x63, 0x74, 0x72, + 0x6c, 0x48, 0x65, 0x6c, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x63, 0x6c, 0x61, 0x69, 0x6d, + 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0b, 0x72, 0x65, 0x63, + 0x6c, 0x61, 0x69, 0x6d, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x88, 0x02, 0x0a, 0x1d, 0x43, 0x44, 0x4f, + 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x54, 0x45, 0x5f, 0x55, 0x6e, 0x69, + 0x74, 0x41, 0x6e, 0x69, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x6e, + 0x74, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x65, 0x6e, 0x74, 0x69, + 0x74, 0x79, 0x12, 0x29, 0x0a, 0x10, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x76, + 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x73, 0x65, + 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x56, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x12, 0x22, 0x0a, + 0x0c, 0x70, 0x6c, 0x61, 0x79, 0x62, 0x61, 0x63, 0x6b, 0x72, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x02, 0x52, 0x0c, 0x70, 0x6c, 0x61, 0x79, 0x62, 0x61, 0x63, 0x6b, 0x72, 0x61, 0x74, + 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x61, 0x73, 0x74, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x02, 0x52, 0x09, 0x63, 0x61, 0x73, 0x74, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, + 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x74, + 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x12, + 0x32, 0x0a, 0x15, 0x6c, 0x61, 0x67, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x65, 0x6e, 0x73, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x02, 0x52, 0x13, + 0x6c, 0x61, 0x67, 0x43, 0x6f, 0x6d, 0x70, 0x65, 0x6e, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, + 0x69, 0x6d, 0x65, 0x22, 0x4e, 0x0a, 0x20, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, + 0x4d, 0x73, 0x67, 0x5f, 0x54, 0x45, 0x5f, 0x55, 0x6e, 0x69, 0x74, 0x41, 0x6e, 0x69, 0x6d, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, + 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, + 0x12, 0x0a, 0x04, 0x73, 0x6e, 0x61, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x73, + 0x6e, 0x61, 0x70, 0x22, 0xcf, 0x01, 0x0a, 0x1d, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, + 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x68, 0x6f, 0x77, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, + 0x50, 0x6f, 0x70, 0x75, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, + 0x01, 0x20, 0x02, 0x28, 0x09, 0x52, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x12, 0x0a, + 0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x02, 0x20, 0x02, 0x28, 0x09, 0x52, 0x04, 0x62, 0x6f, 0x64, + 0x79, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x31, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x31, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, 0x72, + 0x61, 0x6d, 0x32, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, + 0x32, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x69, 0x6e, 0x74, 0x5f, 0x73, 0x63, 0x72, 0x65, 0x65, 0x6e, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x74, 0x69, 0x6e, 0x74, 0x53, 0x63, 0x72, 0x65, + 0x65, 0x6e, 0x12, 0x31, 0x0a, 0x15, 0x73, 0x68, 0x6f, 0x77, 0x5f, 0x6e, 0x6f, 0x5f, 0x6f, 0x74, + 0x68, 0x65, 0x72, 0x5f, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x12, 0x73, 0x68, 0x6f, 0x77, 0x4e, 0x6f, 0x4f, 0x74, 0x68, 0x65, 0x72, 0x44, 0x69, + 0x61, 0x6c, 0x6f, 0x67, 0x73, 0x22, 0x87, 0x01, 0x0a, 0x16, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, + 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x56, 0x6f, 0x74, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, + 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, + 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x73, + 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x73, 0x22, + 0x3e, 0x0a, 0x17, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, + 0x56, 0x6f, 0x74, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x68, + 0x6f, 0x69, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x05, 0x52, 0x0c, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x22, + 0x3f, 0x0a, 0x14, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, + 0x56, 0x6f, 0x74, 0x65, 0x45, 0x6e, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x65, 0x6c, 0x65, 0x63, + 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x0e, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, + 0x22, 0xc8, 0x01, 0x0a, 0x1f, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, + 0x67, 0x5f, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x50, 0x6c, + 0x61, 0x79, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, + 0x64, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x6f, 0x6e, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, + 0x52, 0x05, 0x62, 0x6f, 0x6e, 0x75, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x76, 0x65, 0x6e, 0x74, + 0x5f, 0x62, 0x6f, 0x6e, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x65, 0x76, + 0x65, 0x6e, 0x74, 0x42, 0x6f, 0x6e, 0x75, 0x73, 0x12, 0x22, 0x0a, 0x0d, 0x62, 0x6f, 0x6e, 0x75, + 0x73, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x0b, 0x62, 0x6f, 0x6e, 0x75, 0x73, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x2d, 0x0a, 0x13, + 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x62, 0x6f, 0x6e, 0x75, 0x73, 0x5f, 0x69, 0x74, 0x65, 0x6d, + 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x65, 0x76, 0x65, 0x6e, 0x74, + 0x42, 0x6f, 0x6e, 0x75, 0x73, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x22, 0x66, 0x0a, 0x19, 0x43, + 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x42, 0x6f, 0x6f, 0x73, + 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x49, 0x0a, 0x0f, 0x62, 0x6f, 0x6f, 0x73, + 0x74, 0x65, 0x64, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x20, 0x2e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, + 0x5f, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x50, 0x6c, 0x61, + 0x79, 0x65, 0x72, 0x52, 0x0e, 0x62, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x64, 0x50, 0x6c, 0x61, 0x79, + 0x65, 0x72, 0x73, 0x22, 0x2e, 0x0a, 0x16, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, + 0x4d, 0x73, 0x67, 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4d, 0x4d, 0x52, 0x12, 0x14, 0x0a, + 0x03, 0x6d, 0x6d, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x11, 0x42, 0x02, 0x10, 0x01, 0x52, 0x03, + 0x6d, 0x6d, 0x72, 0x22, 0x7c, 0x0a, 0x19, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, + 0x4d, 0x73, 0x67, 0x5f, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x74, 0x65, 0x61, 0x6c, + 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1d, 0x0a, + 0x0a, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x09, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, + 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x4c, 0x65, 0x76, 0x65, + 0x6c, 0x22, 0x8b, 0x01, 0x0a, 0x1c, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, + 0x73, 0x67, 0x5f, 0x53, 0x74, 0x61, 0x74, 0x73, 0x48, 0x65, 0x72, 0x6f, 0x4c, 0x6f, 0x6f, 0x6b, + 0x75, 0x70, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x12, + 0x17, 0x0a, 0x07, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x68, 0x65, 0x72, 0x6f, + 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x68, 0x65, 0x72, + 0x6f, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x22, + 0xbe, 0x02, 0x0a, 0x22, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, + 0x5f, 0x53, 0x74, 0x61, 0x74, 0x73, 0x48, 0x65, 0x72, 0x6f, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x29, 0x0a, 0x10, 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, + 0x65, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, + 0x52, 0x0f, 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x5b, 0x0a, 0x10, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x65, + 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x43, 0x44, + 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x74, 0x61, 0x74, 0x73, + 0x48, 0x65, 0x72, 0x6f, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, + 0x2e, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x69, 0x72, 0x52, 0x0f, 0x70, + 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x1a, 0x8f, + 0x01, 0x0a, 0x0c, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x69, 0x72, 0x12, + 0x58, 0x0a, 0x11, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x61, 0x74, 0x65, + 0x67, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x44, 0x4f, 0x54, + 0x41, 0x5f, 0x50, 0x4f, 0x53, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x43, 0x41, 0x54, 0x45, 0x47, + 0x4f, 0x52, 0x59, 0x3a, 0x12, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x50, 0x4f, 0x53, 0x49, 0x54, 0x49, + 0x4f, 0x4e, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x52, 0x10, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, + 0x6e, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x25, 0x0a, 0x0e, 0x70, 0x6f, 0x73, + 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x0d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, + 0x22, 0xcc, 0x04, 0x0a, 0x23, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, + 0x67, 0x5f, 0x53, 0x74, 0x61, 0x74, 0x73, 0x48, 0x65, 0x72, 0x6f, 0x4d, 0x69, 0x6e, 0x75, 0x74, + 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x6c, 0x61, 0x73, 0x74, + 0x5f, 0x68, 0x69, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6c, 0x61, 0x73, + 0x74, 0x48, 0x69, 0x74, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x6b, 0x69, + 0x6c, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x68, 0x65, 0x72, 0x6f, 0x4b, + 0x69, 0x6c, 0x6c, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x64, 0x61, 0x6d, + 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x68, 0x65, 0x72, 0x6f, 0x44, + 0x61, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x74, 0x6f, 0x77, 0x65, 0x72, 0x5f, 0x64, + 0x61, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x74, 0x6f, 0x77, + 0x65, 0x72, 0x44, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x48, 0x0a, 0x0d, 0x70, 0x6f, 0x73, 0x69, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x23, 0x2e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x53, + 0x74, 0x61, 0x74, 0x73, 0x48, 0x65, 0x72, 0x6f, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0c, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, + 0x66, 0x6f, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x78, 0x70, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x58, 0x70, 0x12, 0x1b, 0x0a, + 0x09, 0x6e, 0x65, 0x74, 0x5f, 0x77, 0x6f, 0x72, 0x74, 0x68, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x08, 0x6e, 0x65, 0x74, 0x57, 0x6f, 0x72, 0x74, 0x68, 0x12, 0x30, 0x0a, 0x14, 0x68, 0x61, + 0x72, 0x76, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x72, 0x65, 0x65, 0x70, 0x5f, 0x67, 0x6f, + 0x6c, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x68, 0x61, 0x72, 0x76, 0x65, 0x73, + 0x74, 0x65, 0x64, 0x43, 0x72, 0x65, 0x65, 0x70, 0x47, 0x6f, 0x6c, 0x64, 0x12, 0x21, 0x0a, 0x0c, + 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x65, 0x64, 0x5f, 0x66, 0x61, 0x72, 0x6d, 0x18, 0x09, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x0b, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x65, 0x64, 0x46, 0x61, 0x72, 0x6d, 0x12, + 0x21, 0x0a, 0x0c, 0x77, 0x61, 0x72, 0x64, 0x73, 0x5f, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x64, 0x18, + 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x77, 0x61, 0x72, 0x64, 0x73, 0x50, 0x6c, 0x61, 0x63, + 0x65, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x72, 0x75, 0x6e, 0x65, 0x73, 0x5f, 0x63, 0x6f, 0x6c, 0x6c, + 0x65, 0x63, 0x74, 0x65, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x72, 0x75, 0x6e, + 0x65, 0x73, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x74, + 0x70, 0x73, 0x5f, 0x75, 0x73, 0x65, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x74, + 0x70, 0x73, 0x55, 0x73, 0x65, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x6e, 0x61, 0x5f, 0x73, + 0x70, 0x65, 0x6e, 0x74, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x09, 0x6d, 0x61, 0x6e, 0x61, + 0x53, 0x70, 0x65, 0x6e, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x64, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x5f, + 0x61, 0x62, 0x73, 0x6f, 0x72, 0x62, 0x65, 0x64, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0e, + 0x64, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x41, 0x62, 0x73, 0x6f, 0x72, 0x62, 0x65, 0x64, 0x12, 0x1f, + 0x0a, 0x0b, 0x64, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x64, 0x6f, 0x6e, 0x65, 0x18, 0x0f, 0x20, + 0x03, 0x28, 0x0d, 0x52, 0x0a, 0x64, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x44, 0x6f, 0x6e, 0x65, 0x22, + 0xb7, 0x05, 0x0a, 0x23, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, + 0x5f, 0x53, 0x74, 0x61, 0x74, 0x73, 0x54, 0x65, 0x61, 0x6d, 0x4d, 0x69, 0x6e, 0x75, 0x74, 0x65, + 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x47, 0x0a, 0x0c, 0x70, 0x6c, 0x61, 0x79, 0x65, + 0x72, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, + 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x74, 0x61, + 0x74, 0x73, 0x48, 0x65, 0x72, 0x6f, 0x4d, 0x69, 0x6e, 0x75, 0x74, 0x65, 0x44, 0x65, 0x74, 0x61, + 0x69, 0x6c, 0x73, 0x52, 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x73, + 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x6f, 0x77, 0x65, 0x72, 0x5f, 0x6b, 0x69, 0x6c, 0x6c, 0x73, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x74, 0x6f, 0x77, 0x65, 0x72, 0x4b, 0x69, 0x6c, 0x6c, + 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x62, 0x61, 0x72, 0x72, 0x61, 0x63, 0x6b, 0x5f, 0x6b, 0x69, 0x6c, + 0x6c, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x62, 0x61, 0x72, 0x72, 0x61, 0x63, + 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x73, 0x12, 0x39, 0x0a, 0x19, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, + 0x62, 0x6c, 0x65, 0x5f, 0x6c, 0x61, 0x6e, 0x65, 0x5f, 0x63, 0x72, 0x65, 0x65, 0x70, 0x5f, 0x67, + 0x6f, 0x6c, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x16, 0x61, 0x76, 0x61, 0x69, 0x6c, + 0x61, 0x62, 0x6c, 0x65, 0x4c, 0x61, 0x6e, 0x65, 0x43, 0x72, 0x65, 0x65, 0x70, 0x47, 0x6f, 0x6c, + 0x64, 0x12, 0x2c, 0x0a, 0x12, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x6b, 0x69, 0x6c, + 0x6c, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x62, + 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x4b, 0x69, 0x6c, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, + 0x2e, 0x0a, 0x13, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x74, 0x6f, 0x77, 0x65, 0x72, + 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x62, 0x61, + 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x6f, 0x77, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, + 0x34, 0x0a, 0x16, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x62, 0x61, 0x72, 0x72, 0x61, + 0x63, 0x6b, 0x73, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x14, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x42, 0x61, 0x72, 0x72, 0x61, 0x63, 0x6b, 0x73, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, + 0x5f, 0x67, 0x6f, 0x6c, 0x64, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x10, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x6f, 0x6c, 0x64, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x78, + 0x70, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x62, + 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x58, 0x70, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x63, 0x0a, + 0x10, 0x6c, 0x61, 0x6e, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, + 0x65, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, + 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x74, 0x61, 0x74, 0x73, 0x54, 0x65, 0x61, 0x6d, + 0x4d, 0x69, 0x6e, 0x75, 0x74, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x2e, 0x4c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, + 0x65, 0x52, 0x0f, 0x6c, 0x61, 0x6e, 0x65, 0x50, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, + 0x63, 0x65, 0x1a, 0x75, 0x0a, 0x13, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x65, + 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x6c, 0x6f, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x61, + 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x74, 0x61, 0x74, 0x5f, 0x74, + 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x73, 0x74, 0x61, 0x74, 0x54, + 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xfc, 0x01, 0x0a, 0x21, 0x43, 0x44, + 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x74, 0x61, 0x74, 0x73, + 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4b, 0x69, 0x6c, 0x6c, 0x53, 0x68, 0x61, 0x72, 0x65, 0x12, + 0x1b, 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x12, 0x2c, 0x0a, 0x12, + 0x6b, 0x69, 0x6c, 0x6c, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x63, 0x65, + 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x10, 0x6b, 0x69, 0x6c, 0x6c, 0x53, 0x68, + 0x61, 0x72, 0x65, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x0c, 0x70, 0x6c, + 0x61, 0x79, 0x65, 0x72, 0x5f, 0x6c, 0x6f, 0x63, 0x5f, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, + 0x52, 0x0a, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4c, 0x6f, 0x63, 0x58, 0x12, 0x20, 0x0a, 0x0c, + 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x6c, 0x6f, 0x63, 0x5f, 0x79, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x02, 0x52, 0x0a, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4c, 0x6f, 0x63, 0x59, 0x12, 0x25, + 0x0a, 0x0e, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0d, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x50, 0x65, + 0x72, 0x63, 0x65, 0x6e, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x6d, 0x61, 0x6e, 0x61, 0x5f, 0x70, 0x65, + 0x72, 0x63, 0x65, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0b, 0x6d, 0x61, 0x6e, + 0x61, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x22, 0x8e, 0x02, 0x0a, 0x1d, 0x43, 0x44, 0x4f, + 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x74, 0x61, 0x74, 0x73, 0x4b, + 0x69, 0x6c, 0x6c, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x76, 0x69, + 0x63, 0x74, 0x69, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x76, + 0x69, 0x63, 0x74, 0x69, 0x6d, 0x49, 0x64, 0x12, 0x43, 0x0a, 0x0b, 0x6b, 0x69, 0x6c, 0x6c, 0x5f, + 0x73, 0x68, 0x61, 0x72, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x43, + 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x74, 0x61, 0x74, + 0x73, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4b, 0x69, 0x6c, 0x6c, 0x53, 0x68, 0x61, 0x72, 0x65, + 0x52, 0x0a, 0x6b, 0x69, 0x6c, 0x6c, 0x53, 0x68, 0x61, 0x72, 0x65, 0x73, 0x12, 0x24, 0x0a, 0x0e, + 0x64, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x5f, 0x6b, 0x69, 0x6c, 0x6c, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x64, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x4b, 0x69, + 0x6c, 0x6c, 0x12, 0x29, 0x0a, 0x10, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, + 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x65, 0x66, + 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x12, 0x1d, 0x0a, + 0x0a, 0x64, 0x65, 0x61, 0x74, 0x68, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x02, 0x52, 0x09, 0x64, 0x65, 0x61, 0x74, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, + 0x6b, 0x69, 0x6c, 0x6c, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x08, 0x6b, 0x69, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x64, 0x22, 0xbd, 0x07, 0x0a, 0x1e, 0x43, 0x44, + 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x74, 0x61, 0x74, 0x73, + 0x4d, 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x3e, 0x0a, 0x0b, + 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x6c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x1d, 0x2e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, + 0x5f, 0x53, 0x74, 0x61, 0x74, 0x73, 0x48, 0x65, 0x72, 0x6f, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, + 0x52, 0x0a, 0x68, 0x65, 0x72, 0x6f, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x12, 0x49, 0x0a, 0x0d, + 0x72, 0x61, 0x64, 0x69, 0x61, 0x6e, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x02, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, + 0x73, 0x67, 0x5f, 0x53, 0x74, 0x61, 0x74, 0x73, 0x54, 0x65, 0x61, 0x6d, 0x4d, 0x69, 0x6e, 0x75, + 0x74, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x0c, 0x72, 0x61, 0x64, 0x69, 0x61, + 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x43, 0x0a, 0x0a, 0x64, 0x69, 0x72, 0x65, 0x5f, + 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x43, 0x44, + 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x74, 0x61, 0x74, 0x73, + 0x54, 0x65, 0x61, 0x6d, 0x4d, 0x69, 0x6e, 0x75, 0x74, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, + 0x73, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x43, 0x0a, 0x0d, + 0x72, 0x61, 0x64, 0x69, 0x61, 0x6e, 0x74, 0x5f, 0x6b, 0x69, 0x6c, 0x6c, 0x73, 0x18, 0x04, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, + 0x73, 0x67, 0x5f, 0x53, 0x74, 0x61, 0x74, 0x73, 0x4b, 0x69, 0x6c, 0x6c, 0x44, 0x65, 0x74, 0x61, + 0x69, 0x6c, 0x73, 0x52, 0x0c, 0x72, 0x61, 0x64, 0x69, 0x61, 0x6e, 0x74, 0x4b, 0x69, 0x6c, 0x6c, + 0x73, 0x12, 0x3d, 0x0a, 0x0a, 0x64, 0x69, 0x72, 0x65, 0x5f, 0x6b, 0x69, 0x6c, 0x6c, 0x73, 0x18, + 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, + 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x74, 0x61, 0x74, 0x73, 0x4b, 0x69, 0x6c, 0x6c, 0x44, 0x65, + 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x4b, 0x69, 0x6c, 0x6c, 0x73, + 0x12, 0x63, 0x0a, 0x0d, 0x66, 0x69, 0x67, 0x68, 0x74, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, + 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, + 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x74, 0x61, 0x74, 0x73, 0x4d, 0x61, 0x74, 0x63, + 0x68, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x2e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, + 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x74, 0x61, 0x74, 0x73, 0x46, 0x69, 0x67, 0x68, 0x74, + 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x0c, 0x66, 0x69, 0x67, 0x68, 0x74, 0x44, 0x65, + 0x74, 0x61, 0x69, 0x6c, 0x73, 0x1a, 0x9a, 0x01, 0x0a, 0x22, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, + 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x74, 0x61, 0x74, 0x73, 0x46, 0x69, 0x67, 0x68, + 0x74, 0x54, 0x65, 0x61, 0x6d, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x22, 0x0a, 0x0c, + 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x05, 0x52, 0x0c, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x73, + 0x12, 0x16, 0x0a, 0x06, 0x64, 0x65, 0x61, 0x74, 0x68, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x05, + 0x52, 0x06, 0x64, 0x65, 0x61, 0x74, 0x68, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x67, 0x6f, 0x6c, 0x64, + 0x5f, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x67, 0x6f, + 0x6c, 0x64, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x12, 0x19, 0x0a, 0x08, 0x78, 0x70, 0x5f, 0x64, 0x65, + 0x6c, 0x74, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x78, 0x70, 0x44, 0x65, 0x6c, + 0x74, 0x61, 0x1a, 0xc4, 0x02, 0x0a, 0x1e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, + 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x74, 0x61, 0x74, 0x73, 0x46, 0x69, 0x67, 0x68, 0x74, 0x44, 0x65, + 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, + 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, + 0x54, 0x69, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, + 0x76, 0x0a, 0x15, 0x72, 0x61, 0x64, 0x69, 0x61, 0x6e, 0x74, 0x5f, 0x66, 0x69, 0x67, 0x68, 0x74, + 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x42, + 0x2e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x74, + 0x61, 0x74, 0x73, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x2e, + 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x74, 0x61, + 0x74, 0x73, 0x46, 0x69, 0x67, 0x68, 0x74, 0x54, 0x65, 0x61, 0x6d, 0x44, 0x65, 0x74, 0x61, 0x69, + 0x6c, 0x73, 0x52, 0x13, 0x72, 0x61, 0x64, 0x69, 0x61, 0x6e, 0x74, 0x46, 0x69, 0x67, 0x68, 0x74, + 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x70, 0x0a, 0x12, 0x64, 0x69, 0x72, 0x65, 0x5f, + 0x66, 0x69, 0x67, 0x68, 0x74, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x42, 0x2e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, + 0x73, 0x67, 0x5f, 0x53, 0x74, 0x61, 0x74, 0x73, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, 0x74, + 0x61, 0x69, 0x6c, 0x73, 0x2e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, + 0x67, 0x5f, 0x53, 0x74, 0x61, 0x74, 0x73, 0x46, 0x69, 0x67, 0x68, 0x74, 0x54, 0x65, 0x61, 0x6d, + 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x10, 0x64, 0x69, 0x72, 0x65, 0x46, 0x69, 0x67, + 0x68, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, 0x46, 0x0a, 0x16, 0x43, 0x44, 0x4f, + 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x4d, 0x69, 0x6e, 0x69, 0x54, 0x61, + 0x75, 0x6e, 0x74, 0x12, 0x2c, 0x0a, 0x12, 0x74, 0x61, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x5f, + 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x10, 0x74, 0x61, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, + 0x64, 0x22, 0x3c, 0x0a, 0x19, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, + 0x67, 0x5f, 0x53, 0x70, 0x65, 0x65, 0x63, 0x68, 0x42, 0x75, 0x62, 0x62, 0x6c, 0x65, 0x12, 0x1f, + 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x5f, 0x61, 0x6c, 0x6c, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x0a, 0x64, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x41, 0x6c, 0x6c, 0x22, + 0x8b, 0x01, 0x0a, 0x20, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, + 0x5f, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4d, 0x65, 0x73, + 0x73, 0x61, 0x67, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, + 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x02, 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, + 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, + 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x96, 0x01, + 0x0a, 0x13, 0x43, 0x4d, 0x73, 0x67, 0x48, 0x65, 0x72, 0x6f, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, + 0x79, 0x53, 0x74, 0x61, 0x74, 0x12, 0x41, 0x0a, 0x09, 0x73, 0x74, 0x61, 0x74, 0x5f, 0x74, 0x79, + 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0e, 0x2e, 0x45, 0x48, 0x65, 0x72, 0x6f, + 0x53, 0x74, 0x61, 0x74, 0x54, 0x79, 0x70, 0x65, 0x3a, 0x14, 0x6b, 0x5f, 0x45, 0x48, 0x65, 0x72, + 0x6f, 0x53, 0x74, 0x61, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x4e, 0x6f, 0x6e, 0x65, 0x52, 0x08, + 0x73, 0x74, 0x61, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x6e, 0x74, 0x5f, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x69, 0x6e, 0x74, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x5f, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x66, 0x6c, 0x6f, 0x61, + 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x81, 0x01, 0x0a, 0x1c, 0x43, 0x4d, 0x73, 0x67, 0x43, + 0x6f, 0x6d, 0x62, 0x61, 0x74, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x7a, 0x65, 0x72, 0x50, 0x6c, 0x61, + 0x79, 0x65, 0x72, 0x53, 0x74, 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, 0x42, 0x0a, 0x12, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x61, + 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x48, 0x65, 0x72, 0x6f, 0x41, 0x62, 0x69, + 0x6c, 0x69, 0x74, 0x79, 0x53, 0x74, 0x61, 0x74, 0x52, 0x10, 0x68, 0x65, 0x72, 0x6f, 0x41, 0x62, + 0x69, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x74, 0x61, 0x74, 0x73, 0x22, 0x76, 0x0a, 0x17, 0x43, 0x4d, + 0x73, 0x67, 0x43, 0x6f, 0x6d, 0x62, 0x61, 0x74, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x7a, 0x65, 0x72, + 0x53, 0x74, 0x61, 0x74, 0x73, 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, 0x40, 0x0a, 0x0c, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, + 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x6d, + 0x62, 0x61, 0x74, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x7a, 0x65, 0x72, 0x50, 0x6c, 0x61, 0x79, 0x65, + 0x72, 0x53, 0x74, 0x61, 0x74, 0x52, 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x74, 0x61, + 0x74, 0x73, 0x22, 0x76, 0x0a, 0x16, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, + 0x73, 0x67, 0x5f, 0x42, 0x65, 0x61, 0x73, 0x74, 0x43, 0x68, 0x61, 0x74, 0x12, 0x12, 0x0a, 0x04, + 0x74, 0x65, 0x61, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x74, 0x65, 0x61, 0x6d, + 0x12, 0x16, 0x0a, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, + 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x22, 0x82, 0x01, 0x0a, 0x24, 0x43, + 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x43, 0x75, 0x73, 0x74, + 0x6f, 0x6d, 0x48, 0x75, 0x64, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, + 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x6c, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x5f, 0x66, 0x69, 0x6c, + 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6c, 0x61, 0x79, + 0x6f, 0x75, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, + 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, + 0x80, 0x01, 0x0a, 0x24, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, + 0x5f, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x48, 0x75, 0x64, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, + 0x74, 0x5f, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x65, 0x6c, 0x65, 0x6d, + 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x65, 0x6c, + 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x6d, 0x6f, 0x64, 0x69, 0x66, + 0x79, 0x5f, 0x76, 0x69, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x0d, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x56, 0x69, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x12, 0x12, + 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, + 0x74, 0x61, 0x22, 0x46, 0x0a, 0x25, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, + 0x73, 0x67, 0x5f, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x48, 0x75, 0x64, 0x45, 0x6c, 0x65, 0x6d, + 0x65, 0x6e, 0x74, 0x5f, 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x65, + 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x09, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x22, 0x57, 0x0a, 0x22, 0x43, 0x44, + 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x43, 0x6f, 0x6d, 0x70, 0x65, + 0x6e, 0x64, 0x69, 0x75, 0x6d, 0x53, 0x74, 0x61, 0x74, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, + 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x12, 0x14, 0x0a, + 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x6c, 0x65, + 0x76, 0x65, 0x6c, 0x22, 0x72, 0x0a, 0x1c, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, + 0x4d, 0x73, 0x67, 0x5f, 0x43, 0x6f, 0x6d, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x75, 0x6d, 0x53, 0x74, + 0x61, 0x74, 0x65, 0x12, 0x52, 0x0a, 0x12, 0x63, 0x6f, 0x6d, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x75, + 0x6d, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x23, 0x2e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x43, + 0x6f, 0x6d, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x75, 0x6d, 0x53, 0x74, 0x61, 0x74, 0x65, 0x50, 0x6c, + 0x61, 0x79, 0x65, 0x72, 0x52, 0x11, 0x63, 0x6f, 0x6d, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x75, 0x6d, + 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x22, 0xc1, 0x02, 0x0a, 0x1e, 0x43, 0x44, 0x4f, 0x54, + 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x62, + 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, + 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x10, 0x63, 0x61, 0x73, + 0x74, 0x65, 0x72, 0x5f, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x0e, 0x63, 0x61, 0x73, 0x74, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x49, 0x6e, + 0x64, 0x65, 0x78, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x61, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x74, 0x65, + 0x61, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x63, 0x61, 0x73, 0x74, 0x65, 0x72, + 0x54, 0x65, 0x61, 0x6d, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, + 0x65, 0x6e, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x6e, + 0x65, 0x6c, 0x45, 0x6e, 0x64, 0x12, 0x23, 0x0a, 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x18, + 0x05, 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, 0x11, 0x74, 0x72, + 0x61, 0x63, 0x6b, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x43, 0x61, 0x73, 0x74, + 0x65, 0x72, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, + 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x02, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, + 0x65, 0x12, 0x28, 0x0a, 0x10, 0x76, 0x69, 0x63, 0x74, 0x69, 0x6d, 0x5f, 0x65, 0x6e, 0x74, 0x5f, + 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x76, 0x69, 0x63, + 0x74, 0x69, 0x6d, 0x45, 0x6e, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x22, 0x70, 0x0a, 0x1c, 0x43, + 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x50, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x3c, 0x0a, 0x08, 0x65, + 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x11, 0x2e, + 0x45, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, + 0x3a, 0x0e, 0x65, 0x50, 0x45, 0x5f, 0x46, 0x69, 0x72, 0x73, 0x74, 0x42, 0x6c, 0x6f, 0x6f, 0x64, + 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, 0x61, + 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x74, 0x65, 0x61, 0x6d, 0x22, 0x5c, 0x0a, + 0x14, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x58, 0x50, + 0x41, 0x6c, 0x65, 0x72, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, + 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x65, 0x6e, 0x74, + 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x74, 0x61, 0x72, + 0x67, 0x65, 0x74, 0x45, 0x6e, 0x74, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x22, 0xb1, 0x01, 0x0a, 0x1c, + 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x54, 0x61, 0x6c, + 0x65, 0x6e, 0x74, 0x54, 0x72, 0x65, 0x65, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x12, 0x1b, 0x0a, 0x09, + 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x08, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x74, 0x61, 0x72, + 0x67, 0x65, 0x74, 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x45, 0x6e, 0x74, 0x69, 0x6e, 0x64, + 0x65, 0x78, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x49, + 0x64, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x6c, 0x65, 0x61, 0x72, 0x6e, 0x65, 0x64, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x6c, 0x65, 0x61, 0x72, 0x6e, 0x65, 0x64, 0x22, + 0x22, 0x0a, 0x20, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x51, 0x75, 0x65, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x67, 0x72, + 0x65, 0x73, 0x73, 0x22, 0x88, 0x02, 0x0a, 0x18, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, + 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x51, 0x75, 0x65, 0x73, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x02, 0x28, 0x05, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x12, 0x19, 0x0a, + 0x08, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x07, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x68, 0x61, 0x6c, + 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, + 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x70, + 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x70, + 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x67, 0x6f, 0x61, 0x6c, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x67, 0x6f, 0x61, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x66, 0x61, 0x69, 0x6c, 0x5f, 0x67, 0x61, 0x6d, 0x65, 0x74, 0x69, + 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0c, 0x66, 0x61, 0x69, 0x6c, 0x47, 0x61, + 0x6d, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x61, + 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x0d, 0x69, 0x74, 0x65, 0x6d, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x49, 0x64, 0x22, 0x66, + 0x0a, 0x1c, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x53, + 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x48, 0x65, 0x72, 0x6f, 0x50, 0x69, 0x63, 0x6b, 0x12, 0x1b, + 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x02, 0x28, + 0x05, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x68, + 0x65, 0x72, 0x6f, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x68, 0x65, + 0x72, 0x6f, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x62, 0x61, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x03, 0x62, 0x61, 0x6e, 0x22, 0x58, 0x0a, 0x1c, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, + 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x48, 0x65, + 0x72, 0x6f, 0x52, 0x6f, 0x6c, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, + 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x02, 0x28, 0x05, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x79, 0x65, + 0x72, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x72, 0x6f, 0x6c, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x68, 0x65, 0x72, 0x6f, 0x52, 0x6f, 0x6c, 0x65, + 0x22, 0xe6, 0x01, 0x0a, 0x1f, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, + 0x67, 0x5f, 0x4b, 0x69, 0x6c, 0x6c, 0x63, 0x61, 0x6d, 0x44, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x54, + 0x61, 0x6b, 0x65, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x02, 0x28, 0x05, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, + 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x61, 0x6b, 0x65, + 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x64, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x54, + 0x61, 0x6b, 0x65, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x74, 0x79, 0x70, + 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x69, 0x74, 0x65, 0x6d, 0x54, 0x79, 0x70, + 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, + 0x79, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x69, 0x74, 0x65, 0x6d, + 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x68, 0x65, 0x72, + 0x6f, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x68, 0x65, + 0x72, 0x6f, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x61, 0x6d, 0x61, 0x67, 0x65, + 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x61, + 0x6d, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x22, 0x51, 0x0a, 0x1e, 0x43, 0x44, 0x4f, + 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, + 0x50, 0x65, 0x6e, 0x61, 0x6c, 0x74, 0x79, 0x47, 0x6f, 0x6c, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x70, + 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x02, 0x28, 0x05, 0x52, 0x08, + 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x73, 0x74, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x11, 0x52, 0x04, 0x63, 0x6f, 0x73, 0x74, 0x22, 0xab, 0x01, 0x0a, + 0x1b, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x52, 0x6f, + 0x6c, 0x6c, 0x44, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x1b, 0x0a, 0x09, + 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x08, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x68, 0x61, + 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x12, 0x19, 0x0a, 0x08, + 0x72, 0x6f, 0x6c, 0x6c, 0x5f, 0x6d, 0x69, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, + 0x72, 0x6f, 0x6c, 0x6c, 0x4d, 0x69, 0x6e, 0x12, 0x19, 0x0a, 0x08, 0x72, 0x6f, 0x6c, 0x6c, 0x5f, + 0x6d, 0x61, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x72, 0x6f, 0x6c, 0x6c, 0x4d, + 0x61, 0x78, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x75, 0x0a, 0x1b, 0x43, 0x44, + 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x46, 0x6c, 0x69, 0x70, 0x43, + 0x6f, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6c, 0x61, + 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x6c, + 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x63, 0x68, + 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, + 0x74, 0x22, 0x46, 0x0a, 0x27, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x65, + 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x74, 0x65, + 0x6d, 0x53, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1b, 0x0a, 0x09, + 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x08, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x22, 0x65, 0x0a, 0x23, 0x43, 0x44, 0x4f, + 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x54, 0x65, + 0x61, 0x6d, 0x43, 0x61, 0x70, 0x74, 0x61, 0x69, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, + 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, 0x61, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, + 0x74, 0x65, 0x61, 0x6d, 0x12, 0x2a, 0x0a, 0x11, 0x63, 0x61, 0x70, 0x74, 0x61, 0x69, 0x6e, 0x5f, + 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x0f, 0x63, 0x61, 0x70, 0x74, 0x61, 0x69, 0x6e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, + 0x22, 0x6e, 0x0a, 0x1e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, + 0x5f, 0x43, 0x68, 0x61, 0x74, 0x57, 0x68, 0x65, 0x65, 0x6c, 0x43, 0x6f, 0x6f, 0x6c, 0x64, 0x6f, + 0x77, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, + 0x64, 0x12, 0x2d, 0x0a, 0x12, 0x63, 0x6f, 0x6f, 0x6c, 0x64, 0x6f, 0x77, 0x6e, 0x5f, 0x72, 0x65, + 0x6d, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x11, 0x63, + 0x6f, 0x6f, 0x6c, 0x64, 0x6f, 0x77, 0x6e, 0x52, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, + 0x22, 0xb8, 0x01, 0x0a, 0x1e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, + 0x67, 0x5f, 0x48, 0x65, 0x72, 0x6f, 0x52, 0x65, 0x6c, 0x69, 0x63, 0x50, 0x72, 0x6f, 0x67, 0x72, + 0x65, 0x73, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x72, 0x65, 0x6c, 0x69, + 0x63, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x68, 0x65, + 0x72, 0x6f, 0x52, 0x65, 0x6c, 0x69, 0x63, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x07, 0x65, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x65, + 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x65, + 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, + 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0c, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x22, 0x9a, 0x01, 0x0a, 0x27, + 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x41, 0x62, 0x69, + 0x6c, 0x69, 0x74, 0x79, 0x44, 0x72, 0x61, 0x66, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x79, 0x65, + 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x79, + 0x65, 0x72, 0x49, 0x64, 0x12, 0x30, 0x0a, 0x14, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, + 0x64, 0x5f, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x12, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x41, 0x62, 0x69, + 0x6c, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0c, 0x63, 0x74, 0x72, 0x6c, 0x5f, 0x69, + 0x73, 0x5f, 0x64, 0x6f, 0x77, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x63, 0x74, + 0x72, 0x6c, 0x49, 0x73, 0x44, 0x6f, 0x77, 0x6e, 0x22, 0xc7, 0x01, 0x0a, 0x19, 0x43, 0x44, 0x4f, + 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x44, 0x61, 0x6d, 0x61, 0x67, 0x65, + 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, + 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x79, 0x65, + 0x72, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x68, 0x65, + 0x72, 0x6f, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x74, 0x61, 0x72, + 0x67, 0x65, 0x74, 0x48, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0e, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x5f, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x0c, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x48, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x12, + 0x23, 0x0a, 0x0d, 0x64, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x64, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x41, 0x6d, + 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x62, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, + 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x62, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, + 0x73, 0x74, 0x22, 0xa9, 0x01, 0x0a, 0x19, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, + 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x61, 0x6c, 0x75, 0x74, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, + 0x12, 0x28, 0x0a, 0x10, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, + 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x10, 0x74, 0x61, + 0x72, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6c, 0x61, 0x79, + 0x65, 0x72, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x69, 0x70, 0x5f, 0x61, 0x6d, 0x6f, 0x75, + 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x74, 0x69, 0x70, 0x41, 0x6d, 0x6f, + 0x75, 0x6e, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x22, 0x4f, + 0x0a, 0x15, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x54, + 0x69, 0x70, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x79, 0x65, + 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x79, + 0x65, 0x72, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x69, 0x70, 0x5f, 0x74, 0x65, 0x78, 0x74, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x69, 0x70, 0x54, 0x65, 0x78, 0x74, 0x22, + 0x8e, 0x01, 0x0a, 0x1d, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, + 0x5f, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x51, 0x75, 0x65, 0x72, 0x79, 0x55, 0x6e, 0x69, + 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x02, 0x28, 0x05, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x12, 0x27, + 0x0a, 0x0f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x6e, 0x64, 0x65, + 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x45, + 0x6e, 0x74, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x27, 0x0a, 0x0f, 0x74, 0x61, 0x72, 0x67, 0x65, + 0x74, 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x45, 0x6e, 0x74, 0x69, 0x6e, 0x64, 0x65, 0x78, + 0x22, 0x7a, 0x0a, 0x1a, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, + 0x5f, 0x45, 0x53, 0x41, 0x72, 0x63, 0x61, 0x6e, 0x61, 0x43, 0x6f, 0x6d, 0x62, 0x6f, 0x12, 0x18, + 0x0a, 0x07, 0x65, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x07, 0x65, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6f, 0x6d, 0x62, + 0x6f, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x63, + 0x6f, 0x6d, 0x62, 0x6f, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x72, 0x63, + 0x61, 0x6e, 0x61, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x0b, 0x61, 0x72, 0x63, 0x61, 0x6e, 0x61, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x22, 0x83, 0x01, 0x0a, + 0x21, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x45, 0x53, + 0x41, 0x72, 0x63, 0x61, 0x6e, 0x61, 0x43, 0x6f, 0x6d, 0x62, 0x6f, 0x53, 0x75, 0x6d, 0x6d, 0x61, + 0x72, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x07, 0x65, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x12, 0x1f, 0x0a, 0x0b, + 0x63, 0x6f, 0x6d, 0x62, 0x6f, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x0a, 0x63, 0x6f, 0x6d, 0x62, 0x6f, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x23, 0x0a, + 0x0d, 0x64, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x64, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x41, 0x6d, 0x6f, 0x75, + 0x6e, 0x74, 0x22, 0xaf, 0x01, 0x0a, 0x1a, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, + 0x4d, 0x73, 0x67, 0x5f, 0x4f, 0x4d, 0x41, 0x72, 0x63, 0x61, 0x6e, 0x61, 0x43, 0x6f, 0x6d, 0x62, + 0x6f, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x07, 0x65, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x6d, + 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61, 0x73, 0x74, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61, 0x73, 0x74, + 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x72, 0x63, 0x61, 0x6e, 0x61, + 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x61, 0x72, + 0x63, 0x61, 0x6e, 0x61, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x29, 0x0a, 0x10, 0x6d, 0x75, 0x6c, + 0x74, 0x69, 0x63, 0x61, 0x73, 0x74, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61, 0x73, 0x74, 0x43, 0x68, + 0x61, 0x6e, 0x63, 0x65, 0x22, 0x8c, 0x01, 0x0a, 0x1e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, + 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x48, 0x69, 0x67, 0x68, 0x46, 0x69, 0x76, 0x65, 0x43, 0x6f, + 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x12, 0x1e, 0x0a, 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, + 0x72, 0x5f, 0x69, 0x64, 0x5f, 0x31, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x70, 0x6c, + 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x31, 0x12, 0x1e, 0x0a, 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, + 0x72, 0x5f, 0x69, 0x64, 0x5f, 0x32, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x70, 0x6c, + 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x32, 0x12, 0x2a, 0x0a, 0x11, 0x73, 0x70, 0x65, 0x63, 0x69, + 0x61, 0x6c, 0x5f, 0x68, 0x69, 0x67, 0x68, 0x5f, 0x66, 0x69, 0x76, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x0f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x48, 0x69, 0x67, 0x68, 0x46, + 0x69, 0x76, 0x65, 0x22, 0x3f, 0x0a, 0x20, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, + 0x4d, 0x73, 0x67, 0x5f, 0x48, 0x69, 0x67, 0x68, 0x46, 0x69, 0x76, 0x65, 0x4c, 0x65, 0x66, 0x74, + 0x48, 0x61, 0x6e, 0x67, 0x69, 0x6e, 0x67, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x79, 0x65, + 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x79, + 0x65, 0x72, 0x49, 0x64, 0x22, 0x8e, 0x01, 0x0a, 0x1a, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, + 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x68, 0x6f, 0x76, 0x65, 0x6c, 0x55, 0x6e, 0x65, 0x61, + 0x72, 0x74, 0x68, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, + 0x12, 0x19, 0x0a, 0x08, 0x61, 0x6c, 0x6c, 0x5f, 0x63, 0x68, 0x61, 0x74, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x07, 0x61, 0x6c, 0x6c, 0x43, 0x68, 0x61, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x6c, + 0x6f, 0x63, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, + 0x6c, 0x6f, 0x63, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x71, 0x75, 0x61, + 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x71, 0x75, 0x61, + 0x6e, 0x74, 0x69, 0x74, 0x79, 0x22, 0xcc, 0x02, 0x0a, 0x19, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, + 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x41, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x72, 0x45, 0x76, + 0x65, 0x6e, 0x74, 0x12, 0x28, 0x0a, 0x10, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x70, 0x6c, + 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x12, 0x28, 0x0a, + 0x10, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, + 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, + 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x76, + 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x65, 0x76, + 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x4b, 0x0a, 0x0d, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, + 0x73, 0x63, 0x6f, 0x72, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x43, + 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x41, 0x6c, 0x6c, 0x53, + 0x74, 0x61, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, + 0x63, 0x6f, 0x72, 0x65, 0x52, 0x0c, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x63, 0x6f, 0x72, + 0x65, 0x73, 0x1a, 0x50, 0x0a, 0x0b, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x63, 0x6f, 0x72, + 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x12, 0x24, + 0x0a, 0x0e, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x73, 0x61, 0x6e, 0x73, 0x5f, 0x6b, 0x64, 0x61, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x53, 0x61, 0x6e, + 0x73, 0x4b, 0x64, 0x61, 0x22, 0x51, 0x0a, 0x1f, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, + 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x51, 0x75, 0x65, 0x75, 0x65, 0x64, 0x4f, 0x72, 0x64, 0x65, 0x72, + 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x12, 0x2e, 0x0a, 0x13, 0x75, 0x6e, 0x69, 0x74, 0x5f, + 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x0d, 0x52, 0x11, 0x75, 0x6e, 0x69, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x53, + 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x22, 0xac, 0x02, 0x0a, 0x1b, 0x43, 0x44, 0x4f, 0x54, + 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x44, 0x65, 0x62, 0x75, 0x67, 0x43, 0x68, + 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x68, 0x61, 0x6c, 0x6c, + 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x02, 0x28, 0x0d, 0x52, + 0x0d, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2c, + 0x0a, 0x12, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x02, 0x28, 0x0d, 0x52, 0x10, 0x63, 0x68, 0x61, 0x6c, + 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x51, 0x75, 0x65, 0x72, 0x79, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, + 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x02, 0x28, 0x0d, 0x52, 0x07, + 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x69, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x63, 0x68, 0x61, 0x6c, + 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x76, 0x61, 0x72, 0x5f, 0x30, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x0d, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x56, 0x61, 0x72, 0x30, + 0x12, 0x26, 0x0a, 0x0f, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x76, 0x61, + 0x72, 0x5f, 0x31, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x63, 0x68, 0x61, 0x6c, 0x6c, + 0x65, 0x6e, 0x67, 0x65, 0x56, 0x61, 0x72, 0x31, 0x12, 0x2c, 0x0a, 0x12, 0x63, 0x68, 0x61, 0x6c, + 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x61, 0x6e, 0x6b, 0x18, 0x07, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x4d, + 0x61, 0x78, 0x52, 0x61, 0x6e, 0x6b, 0x22, 0xa9, 0x01, 0x0a, 0x1d, 0x43, 0x44, 0x4f, 0x54, 0x41, + 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x4e, 0x65, 0x75, + 0x74, 0x72, 0x61, 0x6c, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x79, + 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x6c, 0x61, + 0x79, 0x65, 0x72, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x61, 0x62, + 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, + 0x69, 0x74, 0x65, 0x6d, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x1b, 0x0a, + 0x09, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x74, 0x69, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x08, 0x69, 0x74, 0x65, 0x6d, 0x54, 0x69, 0x65, 0x72, 0x12, 0x26, 0x0a, 0x0f, 0x74, 0x69, + 0x65, 0x72, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x74, 0x69, 0x65, 0x72, 0x49, 0x74, 0x65, 0x6d, 0x43, 0x6f, 0x75, + 0x6e, 0x74, 0x22, 0x62, 0x0a, 0x1c, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, + 0x73, 0x67, 0x5f, 0x4f, 0x75, 0x74, 0x70, 0x6f, 0x73, 0x74, 0x43, 0x61, 0x70, 0x74, 0x75, 0x72, + 0x65, 0x64, 0x12, 0x29, 0x0a, 0x10, 0x6f, 0x75, 0x74, 0x70, 0x6f, 0x73, 0x74, 0x5f, 0x65, 0x6e, + 0x74, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x6f, 0x75, + 0x74, 0x70, 0x6f, 0x73, 0x74, 0x45, 0x6e, 0x74, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x17, 0x0a, + 0x07, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, + 0x74, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x22, 0x55, 0x0a, 0x1d, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, + 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x4f, 0x75, 0x74, 0x70, 0x6f, 0x73, 0x74, 0x47, 0x72, + 0x61, 0x6e, 0x74, 0x65, 0x64, 0x58, 0x50, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x65, 0x61, 0x6d, 0x5f, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x74, 0x65, 0x61, 0x6d, 0x49, 0x64, + 0x12, 0x1b, 0x0a, 0x09, 0x78, 0x70, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x08, 0x78, 0x70, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x42, 0x0a, + 0x1d, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x4d, 0x6f, + 0x76, 0x65, 0x43, 0x61, 0x6d, 0x65, 0x72, 0x61, 0x54, 0x6f, 0x55, 0x6e, 0x69, 0x74, 0x12, 0x21, + 0x0a, 0x0c, 0x75, 0x6e, 0x69, 0x74, 0x5f, 0x65, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x75, 0x6e, 0x69, 0x74, 0x45, 0x68, 0x61, 0x6e, 0x64, 0x6c, + 0x65, 0x22, 0xba, 0x01, 0x0a, 0x1e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, + 0x73, 0x67, 0x5f, 0x50, 0x61, 0x75, 0x73, 0x65, 0x4d, 0x69, 0x6e, 0x69, 0x67, 0x61, 0x6d, 0x65, + 0x44, 0x61, 0x74, 0x61, 0x12, 0x44, 0x0a, 0x09, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x62, 0x69, 0x74, + 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, + 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x50, 0x61, 0x75, 0x73, 0x65, 0x4d, 0x69, 0x6e, 0x69, + 0x67, 0x61, 0x6d, 0x65, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x42, 0x69, 0x74, + 0x52, 0x08, 0x64, 0x61, 0x74, 0x61, 0x42, 0x69, 0x74, 0x73, 0x1a, 0x52, 0x0a, 0x07, 0x44, 0x61, + 0x74, 0x61, 0x42, 0x69, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0d, 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, + 0x1d, 0x0a, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x65, 0x78, 0x74, 0x72, 0x61, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x03, 0x52, 0x09, 0x64, 0x61, 0x74, 0x61, 0x45, 0x78, 0x74, 0x72, 0x61, 0x22, 0xdc, + 0x02, 0x0a, 0x27, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, + 0x56, 0x65, 0x72, 0x73, 0x75, 0x73, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x5f, 0x50, 0x6c, 0x61, 0x79, + 0x65, 0x72, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6c, + 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, + 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x12, 0x5d, 0x0a, 0x08, 0x62, 0x65, 0x68, 0x61, 0x76, + 0x69, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1f, 0x2e, 0x45, 0x44, 0x4f, 0x54, + 0x41, 0x56, 0x65, 0x72, 0x73, 0x75, 0x73, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x50, 0x6c, 0x61, 0x79, + 0x65, 0x72, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x3a, 0x20, 0x56, 0x53, 0x5f, 0x50, + 0x4c, 0x41, 0x59, 0x45, 0x52, 0x5f, 0x42, 0x45, 0x48, 0x41, 0x56, 0x49, 0x4f, 0x52, 0x5f, 0x50, + 0x4c, 0x41, 0x59, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x49, 0x54, 0x59, 0x52, 0x08, 0x62, 0x65, + 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x12, 0x3e, 0x0a, 0x0d, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x61, + 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, + 0x56, 0x65, 0x72, 0x73, 0x75, 0x73, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x5f, 0x50, 0x6c, 0x61, 0x79, + 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x52, 0x0c, 0x70, 0x6c, 0x61, 0x79, 0x41, 0x63, + 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x12, 0x35, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x74, 0x5f, 0x77, + 0x68, 0x65, 0x65, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x56, 0x65, 0x72, + 0x73, 0x75, 0x73, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x5f, 0x43, 0x68, 0x61, 0x74, 0x57, 0x68, 0x65, + 0x65, 0x6c, 0x52, 0x09, 0x63, 0x68, 0x61, 0x74, 0x57, 0x68, 0x65, 0x65, 0x6c, 0x12, 0x3e, 0x0a, + 0x0d, 0x70, 0x6c, 0x61, 0x79, 0x62, 0x61, 0x63, 0x6b, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x75, 0x73, 0x53, 0x63, 0x65, + 0x6e, 0x65, 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x62, 0x61, 0x63, 0x6b, 0x52, 0x61, 0x74, 0x65, 0x52, + 0x0c, 0x70, 0x6c, 0x61, 0x79, 0x62, 0x61, 0x63, 0x6b, 0x52, 0x61, 0x74, 0x65, 0x22, 0xa5, 0x01, + 0x0a, 0x1e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x51, + 0x6f, 0x50, 0x5f, 0x41, 0x72, 0x63, 0x61, 0x6e, 0x61, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, + 0x12, 0x18, 0x0a, 0x07, 0x65, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x07, 0x65, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x72, + 0x63, 0x61, 0x6e, 0x61, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x0b, 0x61, 0x72, 0x63, 0x61, 0x6e, 0x61, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x1f, 0x0a, + 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x5f, 0x68, 0x69, 0x74, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x0a, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x48, 0x69, 0x74, 0x12, 0x25, + 0x0a, 0x0e, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x5f, 0x6b, 0x69, 0x6c, 0x6c, 0x65, 0x64, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x4b, + 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x22, 0x60, 0x0a, 0x1e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, + 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x48, 0x6f, 0x74, 0x50, 0x6f, 0x74, 0x61, 0x74, 0x6f, 0x5f, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x12, 0x1e, 0x0a, 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, + 0x72, 0x5f, 0x69, 0x64, 0x5f, 0x31, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x70, 0x6c, + 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x31, 0x12, 0x1e, 0x0a, 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, + 0x72, 0x5f, 0x69, 0x64, 0x5f, 0x32, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x70, 0x6c, + 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x32, 0x22, 0x3e, 0x0a, 0x1f, 0x43, 0x44, 0x4f, 0x54, 0x41, + 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x48, 0x6f, 0x74, 0x50, 0x6f, 0x74, 0x61, 0x74, + 0x6f, 0x5f, 0x45, 0x78, 0x70, 0x6c, 0x6f, 0x64, 0x65, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6c, + 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, + 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x22, 0x77, 0x0a, 0x1f, 0x43, 0x44, 0x4f, 0x54, 0x41, + 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x57, 0x4b, 0x5f, 0x41, 0x72, 0x63, 0x61, 0x6e, + 0x61, 0x5f, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x68, + 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x65, 0x68, 0x61, + 0x6e, 0x64, 0x6c, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x72, 0x63, 0x61, 0x6e, 0x61, 0x5f, 0x6c, + 0x65, 0x76, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x61, 0x72, 0x63, 0x61, + 0x6e, 0x61, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x17, 0x0a, 0x07, 0x68, 0x65, 0x72, 0x6f, 0x5f, + 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x49, 0x64, + 0x22, 0x93, 0x05, 0x0a, 0x24, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, + 0x67, 0x5f, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, + 0x5f, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x5d, 0x0a, 0x0f, 0x70, 0x6c, 0x61, + 0x79, 0x65, 0x72, 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, + 0x67, 0x5f, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, + 0x5f, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, + 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x52, 0x0e, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, + 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x75, 0x69, 0x6c, + 0x64, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x67, 0x75, 0x69, 0x6c, + 0x64, 0x49, 0x64, 0x12, 0x32, 0x0a, 0x15, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, + 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x13, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x49, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x12, 0x2f, 0x0a, 0x13, 0x63, 0x68, 0x61, 0x6c, 0x6c, + 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x50, + 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x12, 0x75, 0x0a, 0x0e, 0x63, 0x68, 0x61, 0x6c, + 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, + 0x32, 0x34, 0x2e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, + 0x47, 0x75, 0x69, 0x6c, 0x64, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x50, + 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x2e, 0x45, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, + 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x3a, 0x18, 0x6b, 0x5f, 0x45, 0x43, 0x68, 0x61, 0x6c, 0x6c, + 0x65, 0x6e, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, + 0x52, 0x0d, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, + 0x3d, 0x0a, 0x1b, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x70, 0x72, 0x6f, + 0x67, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x61, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x07, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x18, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x50, + 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x41, 0x74, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x1a, + 0x0a, 0x08, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x08, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x1a, 0x49, 0x0a, 0x0e, 0x50, 0x6c, + 0x61, 0x79, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1b, 0x0a, 0x09, + 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x08, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, + 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x70, 0x72, 0x6f, + 0x67, 0x72, 0x65, 0x73, 0x73, 0x22, 0x6f, 0x0a, 0x0e, 0x45, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, + 0x6e, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x18, 0x6b, 0x5f, 0x45, 0x43, 0x68, + 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x49, 0x6e, 0x76, 0x61, + 0x6c, 0x69, 0x64, 0x10, 0x00, 0x12, 0x20, 0x0a, 0x1c, 0x6b, 0x5f, 0x45, 0x43, 0x68, 0x61, 0x6c, + 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x43, 0x6f, 0x6f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x76, 0x65, 0x10, 0x01, 0x12, 0x1d, 0x0a, 0x19, 0x6b, 0x5f, 0x45, 0x43, 0x68, + 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x43, 0x6f, 0x6e, 0x74, + 0x72, 0x61, 0x63, 0x74, 0x10, 0x02, 0x22, 0x8c, 0x02, 0x0a, 0x1d, 0x43, 0x44, 0x4f, 0x54, 0x41, + 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x57, 0x52, 0x41, 0x72, 0x63, 0x61, 0x6e, 0x61, + 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x68, 0x61, 0x6e, + 0x64, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x65, 0x68, 0x61, 0x6e, 0x64, + 0x6c, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x65, 0x68, 0x61, + 0x6e, 0x64, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x74, 0x61, 0x72, 0x67, + 0x65, 0x74, 0x45, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x72, 0x72, + 0x6f, 0x77, 0x73, 0x5f, 0x6c, 0x61, 0x6e, 0x64, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x0c, 0x61, 0x72, 0x72, 0x6f, 0x77, 0x73, 0x4c, 0x61, 0x6e, 0x64, 0x65, 0x64, 0x12, 0x21, + 0x0a, 0x0c, 0x64, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x64, 0x65, 0x61, 0x6c, 0x74, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x64, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x44, 0x65, 0x61, 0x6c, + 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x68, 0x70, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x70, 0x12, 0x22, + 0x0a, 0x0d, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x68, 0x70, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4d, 0x61, 0x78, + 0x48, 0x70, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x72, 0x63, 0x61, 0x6e, 0x61, 0x5f, 0x6c, 0x65, 0x76, + 0x65, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x61, 0x72, 0x63, 0x61, 0x6e, 0x61, + 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x22, 0xa5, 0x02, 0x0a, 0x1c, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, + 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x57, 0x52, 0x41, 0x72, 0x63, 0x61, 0x6e, 0x61, 0x53, + 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x68, 0x61, 0x6e, 0x64, 0x6c, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x65, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, + 0x12, 0x25, 0x0a, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x65, 0x68, 0x61, 0x6e, 0x64, + 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, + 0x45, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x72, 0x72, 0x6f, 0x77, + 0x73, 0x5f, 0x6c, 0x61, 0x6e, 0x64, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, + 0x61, 0x72, 0x72, 0x6f, 0x77, 0x73, 0x4c, 0x61, 0x6e, 0x64, 0x65, 0x64, 0x12, 0x21, 0x0a, 0x0c, + 0x64, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x64, 0x65, 0x61, 0x6c, 0x74, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x0b, 0x64, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x44, 0x65, 0x61, 0x6c, 0x74, 0x12, + 0x1b, 0x0a, 0x09, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x68, 0x70, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x08, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x70, 0x12, 0x22, 0x0a, 0x0d, + 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x68, 0x70, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4d, 0x61, 0x78, 0x48, 0x70, + 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x72, 0x63, 0x61, 0x6e, 0x61, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x61, 0x72, 0x63, 0x61, 0x6e, 0x61, 0x4c, 0x65, + 0x76, 0x65, 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x08, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0xbf, 0x01, + 0x0a, 0x1f, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x45, + 0x6d, 0x70, 0x74, 0x79, 0x49, 0x74, 0x65, 0x6d, 0x53, 0x6c, 0x6f, 0x74, 0x41, 0x6c, 0x65, 0x72, + 0x74, 0x12, 0x28, 0x0a, 0x10, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x70, 0x6c, 0x61, 0x79, + 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x10, 0x74, + 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6c, 0x61, + 0x79, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x6c, 0x6f, 0x74, 0x5f, 0x69, 0x6e, + 0x64, 0x65, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x73, 0x6c, 0x6f, 0x74, 0x49, + 0x6e, 0x64, 0x65, 0x78, 0x12, 0x29, 0x0a, 0x10, 0x63, 0x6f, 0x6f, 0x6c, 0x64, 0x6f, 0x77, 0x6e, + 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, + 0x63, 0x6f, 0x6f, 0x6c, 0x64, 0x6f, 0x77, 0x6e, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x22, + 0xf8, 0x01, 0x0a, 0x1c, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, + 0x5f, 0x41, 0x67, 0x68, 0x73, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x41, 0x6c, 0x65, 0x72, 0x74, + 0x12, 0x28, 0x0a, 0x10, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, + 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x10, 0x74, 0x61, + 0x72, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6c, 0x61, 0x79, + 0x65, 0x72, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x65, + 0x6e, 0x74, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x74, + 0x61, 0x72, 0x67, 0x65, 0x74, 0x45, 0x6e, 0x74, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1d, 0x0a, + 0x0a, 0x61, 0x6c, 0x65, 0x72, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x09, 0x61, 0x6c, 0x65, 0x72, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x0b, + 0x68, 0x61, 0x73, 0x5f, 0x73, 0x63, 0x65, 0x70, 0x74, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x0a, 0x68, 0x61, 0x73, 0x53, 0x63, 0x65, 0x70, 0x74, 0x65, 0x72, 0x12, 0x1b, 0x0a, + 0x09, 0x68, 0x61, 0x73, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x08, 0x68, 0x61, 0x73, 0x53, 0x68, 0x61, 0x72, 0x64, 0x22, 0x83, 0x01, 0x0a, 0x19, 0x43, + 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x4d, 0x75, 0x74, 0x65, + 0x64, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x12, 0x31, 0x0a, 0x15, 0x74, 0x65, 0x78, 0x74, + 0x5f, 0x6d, 0x75, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, + 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x05, 0x52, 0x12, 0x74, 0x65, 0x78, 0x74, 0x4d, 0x75, 0x74, + 0x65, 0x64, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x73, 0x12, 0x33, 0x0a, 0x16, 0x76, + 0x6f, 0x69, 0x63, 0x65, 0x5f, 0x6d, 0x75, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, + 0x72, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x05, 0x52, 0x13, 0x76, 0x6f, 0x69, + 0x63, 0x65, 0x4d, 0x75, 0x74, 0x65, 0x64, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x73, + 0x22, 0xd8, 0x04, 0x0a, 0x1a, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, + 0x67, 0x5f, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x75, 0x61, 0x6c, 0x54, 0x69, 0x70, 0x12, + 0x15, 0x0a, 0x06, 0x74, 0x69, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x05, 0x74, 0x69, 0x70, 0x49, 0x64, 0x12, 0x31, 0x0a, 0x14, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, + 0x6e, 0x63, 0x65, 0x64, 0x5f, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x18, 0x02, + 0x20, 0x03, 0x28, 0x09, 0x52, 0x13, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x64, + 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x72, 0x65, 0x66, + 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x64, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x73, 0x18, 0x03, 0x20, + 0x03, 0x28, 0x09, 0x52, 0x0f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x64, 0x55, + 0x6e, 0x69, 0x74, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x70, 0x61, 0x6e, 0x6f, 0x72, 0x61, 0x6d, 0x61, + 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, + 0x70, 0x61, 0x6e, 0x6f, 0x72, 0x61, 0x6d, 0x61, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x12, + 0x29, 0x0a, 0x10, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x66, 0x6f, 0x72, 0x63, 0x65, + 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x61, + 0x72, 0x69, 0x61, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x76, 0x61, 0x72, + 0x69, 0x61, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x6e, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, + 0x6d, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x69, 0x6e, 0x74, 0x50, 0x61, 0x72, 0x61, + 0x6d, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x6e, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x32, 0x18, + 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x69, 0x6e, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x32, + 0x12, 0x1f, 0x0a, 0x0b, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x18, + 0x09, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x50, 0x61, 0x72, 0x61, + 0x6d, 0x12, 0x21, 0x0a, 0x0c, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, + 0x32, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0b, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x50, 0x61, + 0x72, 0x61, 0x6d, 0x32, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x70, + 0x61, 0x72, 0x61, 0x6d, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x74, 0x72, 0x69, + 0x6e, 0x67, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x74, 0x72, 0x69, 0x6e, + 0x67, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x32, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, + 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x32, 0x12, 0x2a, 0x0a, 0x11, + 0x74, 0x69, 0x70, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, + 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x74, 0x69, 0x70, 0x54, 0x65, 0x78, 0x74, + 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x12, 0x36, 0x0a, 0x17, 0x74, 0x69, 0x70, 0x5f, + 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x72, + 0x69, 0x64, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x15, 0x74, 0x69, 0x70, 0x41, 0x6e, + 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, + 0x12, 0x29, 0x0a, 0x10, 0x70, 0x61, 0x6e, 0x6f, 0x72, 0x61, 0x6d, 0x61, 0x5f, 0x73, 0x6e, 0x69, + 0x70, 0x70, 0x65, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x70, 0x61, 0x6e, 0x6f, + 0x72, 0x61, 0x6d, 0x61, 0x53, 0x6e, 0x69, 0x70, 0x70, 0x65, 0x74, 0x22, 0x8a, 0x01, 0x0a, 0x18, + 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x43, 0x68, 0x61, + 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x0e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, + 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x74, 0x79, + 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x54, 0x79, 0x70, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x5f, 0x74, 0x65, 0x78, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6d, 0x65, 0x73, + 0x73, 0x61, 0x67, 0x65, 0x54, 0x65, 0x78, 0x74, 0x2a, 0xe5, 0x22, 0x0a, 0x11, 0x45, 0x44, 0x6f, + 0x74, 0x61, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x12, 0x1f, + 0x0a, 0x1a, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x41, 0x64, 0x64, 0x55, 0x6e, 0x69, + 0x74, 0x54, 0x6f, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0xd0, 0x03, 0x12, + 0x18, 0x0a, 0x13, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x41, 0x49, 0x44, 0x65, 0x62, + 0x75, 0x67, 0x4c, 0x69, 0x6e, 0x65, 0x10, 0xd1, 0x03, 0x12, 0x16, 0x0a, 0x11, 0x44, 0x4f, 0x54, + 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x43, 0x68, 0x61, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x10, 0xd2, + 0x03, 0x12, 0x20, 0x0a, 0x1b, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x43, 0x6f, 0x6d, + 0x62, 0x61, 0x74, 0x48, 0x65, 0x72, 0x6f, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x10, 0xd3, 0x03, 0x12, 0x1a, 0x0a, 0x15, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x43, + 0x6f, 0x6d, 0x62, 0x61, 0x74, 0x4c, 0x6f, 0x67, 0x44, 0x61, 0x74, 0x61, 0x10, 0xd4, 0x03, 0x12, + 0x1e, 0x0a, 0x19, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x43, 0x6f, 0x6d, 0x62, 0x61, + 0x74, 0x4c, 0x6f, 0x67, 0x42, 0x75, 0x6c, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x10, 0xd6, 0x03, 0x12, + 0x23, 0x0a, 0x1e, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x4c, 0x69, 0x6e, 0x65, 0x61, 0x72, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6c, + 0x65, 0x10, 0xd7, 0x03, 0x12, 0x24, 0x0a, 0x1f, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, + 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x4c, 0x69, 0x6e, 0x65, 0x61, 0x72, 0x50, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6c, 0x65, 0x10, 0xd8, 0x03, 0x12, 0x25, 0x0a, 0x20, 0x44, 0x4f, + 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x44, 0x6f, 0x64, 0x67, 0x65, 0x54, 0x72, 0x61, 0x63, 0x6b, + 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6c, 0x65, 0x73, 0x10, 0xd9, + 0x03, 0x12, 0x1d, 0x0a, 0x18, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x47, 0x6c, 0x6f, + 0x62, 0x61, 0x6c, 0x4c, 0x69, 0x67, 0x68, 0x74, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x10, 0xda, 0x03, + 0x12, 0x21, 0x0a, 0x1c, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x47, 0x6c, 0x6f, 0x62, + 0x61, 0x6c, 0x4c, 0x69, 0x67, 0x68, 0x74, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x10, 0xdb, 0x03, 0x12, 0x1b, 0x0a, 0x16, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x49, + 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x10, 0xdc, 0x03, + 0x12, 0x19, 0x0a, 0x14, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x4c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x69, 0x6e, 0x67, 0x10, 0xdd, 0x03, 0x12, 0x14, 0x0a, 0x0f, 0x44, + 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x4d, 0x61, 0x70, 0x4c, 0x69, 0x6e, 0x65, 0x10, 0xde, + 0x03, 0x12, 0x1c, 0x0a, 0x17, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x4d, 0x69, 0x6e, + 0x69, 0x4b, 0x69, 0x6c, 0x6c, 0x43, 0x61, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x10, 0xdf, 0x03, 0x12, + 0x1e, 0x0a, 0x19, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x4d, 0x69, 0x6e, 0x69, 0x6d, + 0x61, 0x70, 0x44, 0x65, 0x62, 0x75, 0x67, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x10, 0xe0, 0x03, 0x12, + 0x19, 0x0a, 0x14, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x4d, 0x69, 0x6e, 0x69, 0x6d, + 0x61, 0x70, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x10, 0xe1, 0x03, 0x12, 0x1d, 0x0a, 0x18, 0x44, 0x4f, + 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x4e, 0x65, 0x76, 0x65, 0x72, 0x6d, 0x6f, 0x72, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x69, 0x65, 0x6d, 0x10, 0xe2, 0x03, 0x12, 0x1a, 0x0a, 0x15, 0x44, 0x4f, 0x54, + 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x4f, 0x76, 0x65, 0x72, 0x68, 0x65, 0x61, 0x64, 0x45, 0x76, 0x65, + 0x6e, 0x74, 0x10, 0xe3, 0x03, 0x12, 0x1f, 0x0a, 0x1a, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, + 0x5f, 0x53, 0x65, 0x74, 0x4e, 0x65, 0x78, 0x74, 0x41, 0x75, 0x74, 0x6f, 0x62, 0x75, 0x79, 0x49, + 0x74, 0x65, 0x6d, 0x10, 0xe4, 0x03, 0x12, 0x1b, 0x0a, 0x16, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, + 0x4d, 0x5f, 0x53, 0x68, 0x61, 0x72, 0x65, 0x64, 0x43, 0x6f, 0x6f, 0x6c, 0x64, 0x6f, 0x77, 0x6e, + 0x10, 0xe5, 0x03, 0x12, 0x21, 0x0a, 0x1c, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x53, + 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x6f, 0x72, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x6c, + 0x69, 0x63, 0x6b, 0x10, 0xe6, 0x03, 0x12, 0x1c, 0x0a, 0x17, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, + 0x4d, 0x5f, 0x54, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x54, 0x69, 0x70, 0x49, 0x6e, 0x66, + 0x6f, 0x10, 0xe7, 0x03, 0x12, 0x16, 0x0a, 0x11, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, + 0x55, 0x6e, 0x69, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x10, 0xe8, 0x03, 0x12, 0x1c, 0x0a, 0x17, + 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, + 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x10, 0xe9, 0x03, 0x12, 0x14, 0x0a, 0x0f, 0x44, 0x4f, + 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x42, 0x6f, 0x74, 0x43, 0x68, 0x61, 0x74, 0x10, 0xea, 0x03, + 0x12, 0x15, 0x0a, 0x10, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x48, 0x75, 0x64, 0x45, + 0x72, 0x72, 0x6f, 0x72, 0x10, 0xeb, 0x03, 0x12, 0x1a, 0x0a, 0x15, 0x44, 0x4f, 0x54, 0x41, 0x5f, + 0x55, 0x4d, 0x5f, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x64, + 0x10, 0xec, 0x03, 0x12, 0x11, 0x0a, 0x0c, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x50, + 0x69, 0x6e, 0x67, 0x10, 0xed, 0x03, 0x12, 0x16, 0x0a, 0x11, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, + 0x4d, 0x5f, 0x49, 0x74, 0x65, 0x6d, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x10, 0xee, 0x03, 0x12, 0x22, + 0x0a, 0x1d, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x43, 0x68, 0x61, 0x72, 0x61, 0x63, + 0x74, 0x65, 0x72, 0x53, 0x70, 0x65, 0x61, 0x6b, 0x43, 0x6f, 0x6e, 0x63, 0x65, 0x70, 0x74, 0x10, + 0xef, 0x03, 0x12, 0x17, 0x0a, 0x12, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x53, 0x77, + 0x61, 0x70, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x10, 0xf0, 0x03, 0x12, 0x16, 0x0a, 0x11, 0x44, + 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x4c, 0x69, 0x6e, 0x65, + 0x10, 0xf1, 0x03, 0x12, 0x1b, 0x0a, 0x16, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x54, + 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x44, 0x72, 0x6f, 0x70, 0x10, 0xf2, 0x03, + 0x12, 0x16, 0x0a, 0x11, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x49, 0x74, 0x65, 0x6d, + 0x41, 0x6c, 0x65, 0x72, 0x74, 0x10, 0xf3, 0x03, 0x12, 0x1b, 0x0a, 0x16, 0x44, 0x4f, 0x54, 0x41, + 0x5f, 0x55, 0x4d, 0x5f, 0x48, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x65, 0x6e, 0x44, 0x72, 0x6f, + 0x70, 0x73, 0x10, 0xf4, 0x03, 0x12, 0x16, 0x0a, 0x11, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, + 0x5f, 0x43, 0x68, 0x61, 0x74, 0x57, 0x68, 0x65, 0x65, 0x6c, 0x10, 0xf5, 0x03, 0x12, 0x1d, 0x0a, + 0x18, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, + 0x64, 0x58, 0x6d, 0x61, 0x73, 0x47, 0x69, 0x66, 0x74, 0x10, 0xf6, 0x03, 0x12, 0x20, 0x0a, 0x1b, + 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x68, + 0x61, 0x72, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x10, 0xf7, 0x03, 0x12, 0x1f, + 0x0a, 0x1a, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x54, 0x75, 0x74, 0x6f, 0x72, 0x69, + 0x61, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x45, 0x78, 0x70, 0x10, 0xf8, 0x03, 0x12, + 0x20, 0x0a, 0x1b, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x54, 0x75, 0x74, 0x6f, 0x72, + 0x69, 0x61, 0x6c, 0x50, 0x69, 0x6e, 0x67, 0x4d, 0x69, 0x6e, 0x69, 0x6d, 0x61, 0x70, 0x10, 0xf9, + 0x03, 0x12, 0x22, 0x0a, 0x1d, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x47, 0x61, 0x6d, + 0x65, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x53, 0x74, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, + 0x65, 0x64, 0x10, 0xfa, 0x03, 0x12, 0x17, 0x0a, 0x12, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, + 0x5f, 0x53, 0x68, 0x6f, 0x77, 0x53, 0x75, 0x72, 0x76, 0x65, 0x79, 0x10, 0xfb, 0x03, 0x12, 0x19, + 0x0a, 0x14, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x54, 0x75, 0x74, 0x6f, 0x72, 0x69, + 0x61, 0x6c, 0x46, 0x61, 0x64, 0x65, 0x10, 0xfc, 0x03, 0x12, 0x1d, 0x0a, 0x18, 0x44, 0x4f, 0x54, + 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x41, 0x64, 0x64, 0x51, 0x75, 0x65, 0x73, 0x74, 0x4c, 0x6f, 0x67, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x10, 0xfd, 0x03, 0x12, 0x1a, 0x0a, 0x15, 0x44, 0x4f, 0x54, 0x41, + 0x5f, 0x55, 0x4d, 0x5f, 0x53, 0x65, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x50, 0x6f, 0x70, 0x75, + 0x70, 0x10, 0xfe, 0x03, 0x12, 0x1b, 0x0a, 0x16, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, + 0x54, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x10, 0xff, + 0x03, 0x12, 0x1c, 0x0a, 0x17, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x53, 0x65, 0x6e, + 0x64, 0x52, 0x6f, 0x73, 0x68, 0x61, 0x6e, 0x50, 0x6f, 0x70, 0x75, 0x70, 0x10, 0x80, 0x04, 0x12, + 0x1f, 0x0a, 0x1a, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x53, 0x65, 0x6e, 0x64, 0x47, + 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x54, 0x6f, 0x6f, 0x6c, 0x54, 0x69, 0x70, 0x10, 0x81, 0x04, + 0x12, 0x1a, 0x0a, 0x15, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x53, 0x65, 0x6e, 0x64, + 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x47, 0x6f, 0x6c, 0x64, 0x10, 0x82, 0x04, 0x12, 0x16, 0x0a, 0x11, + 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4d, 0x73, + 0x67, 0x10, 0x83, 0x04, 0x12, 0x19, 0x0a, 0x14, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, + 0x43, 0x6f, 0x61, 0x63, 0x68, 0x48, 0x55, 0x44, 0x50, 0x69, 0x6e, 0x67, 0x10, 0x84, 0x04, 0x12, + 0x1e, 0x0a, 0x19, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, + 0x74, 0x4c, 0x6f, 0x61, 0x64, 0x47, 0x72, 0x69, 0x64, 0x4e, 0x61, 0x76, 0x10, 0x85, 0x04, 0x12, + 0x1a, 0x0a, 0x15, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x54, 0x45, 0x5f, 0x50, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6c, 0x65, 0x10, 0x86, 0x04, 0x12, 0x1d, 0x0a, 0x18, 0x44, + 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x54, 0x45, 0x5f, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x69, 0x6c, 0x65, 0x4c, 0x6f, 0x63, 0x10, 0x87, 0x04, 0x12, 0x1f, 0x0a, 0x1a, 0x44, 0x4f, + 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x54, 0x45, 0x5f, 0x44, 0x6f, 0x74, 0x61, 0x42, 0x6c, 0x6f, + 0x6f, 0x64, 0x49, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x10, 0x88, 0x04, 0x12, 0x1d, 0x0a, 0x18, 0x44, + 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x54, 0x45, 0x5f, 0x55, 0x6e, 0x69, 0x74, 0x41, 0x6e, + 0x69, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0x89, 0x04, 0x12, 0x20, 0x0a, 0x1b, 0x44, 0x4f, + 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x54, 0x45, 0x5f, 0x55, 0x6e, 0x69, 0x74, 0x41, 0x6e, 0x69, + 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x64, 0x10, 0x8a, 0x04, 0x12, 0x18, 0x0a, 0x13, + 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x50, + 0x69, 0x6e, 0x67, 0x10, 0x8b, 0x04, 0x12, 0x1d, 0x0a, 0x18, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, + 0x4d, 0x5f, 0x53, 0x68, 0x6f, 0x77, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x50, 0x6f, 0x70, + 0x75, 0x70, 0x10, 0x8c, 0x04, 0x12, 0x16, 0x0a, 0x11, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, + 0x5f, 0x56, 0x6f, 0x74, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x10, 0x8d, 0x04, 0x12, 0x17, 0x0a, + 0x12, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x56, 0x6f, 0x74, 0x65, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x10, 0x8e, 0x04, 0x12, 0x14, 0x0a, 0x0f, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, + 0x4d, 0x5f, 0x56, 0x6f, 0x74, 0x65, 0x45, 0x6e, 0x64, 0x10, 0x8f, 0x04, 0x12, 0x19, 0x0a, 0x14, + 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x53, + 0x74, 0x61, 0x74, 0x65, 0x10, 0x90, 0x04, 0x12, 0x1e, 0x0a, 0x19, 0x44, 0x4f, 0x54, 0x41, 0x5f, + 0x55, 0x4d, 0x5f, 0x57, 0x69, 0x6c, 0x6c, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x41, + 0x6c, 0x65, 0x72, 0x74, 0x10, 0x91, 0x04, 0x12, 0x24, 0x0a, 0x1f, 0x44, 0x4f, 0x54, 0x41, 0x5f, + 0x55, 0x4d, 0x5f, 0x54, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x4d, 0x69, 0x6e, 0x69, 0x6d, + 0x61, 0x70, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0x92, 0x04, 0x12, 0x16, 0x0a, + 0x11, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4d, + 0x4d, 0x52, 0x10, 0x93, 0x04, 0x12, 0x19, 0x0a, 0x14, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, + 0x5f, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x74, 0x65, 0x61, 0x6c, 0x10, 0x94, 0x04, + 0x12, 0x1f, 0x0a, 0x1a, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x43, 0x6f, 0x75, 0x72, + 0x69, 0x65, 0x72, 0x4b, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x10, 0x95, + 0x04, 0x12, 0x1b, 0x0a, 0x16, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x45, 0x6e, 0x65, + 0x6d, 0x79, 0x49, 0x74, 0x65, 0x6d, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x10, 0x96, 0x04, 0x12, 0x1e, + 0x0a, 0x19, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x53, 0x74, 0x61, 0x74, 0x73, 0x4d, + 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x10, 0x97, 0x04, 0x12, 0x16, + 0x0a, 0x11, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x4d, 0x69, 0x6e, 0x69, 0x54, 0x61, + 0x75, 0x6e, 0x74, 0x10, 0x98, 0x04, 0x12, 0x1e, 0x0a, 0x19, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, + 0x4d, 0x5f, 0x42, 0x75, 0x79, 0x42, 0x61, 0x63, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x65, 0x41, 0x6c, + 0x65, 0x72, 0x74, 0x10, 0x99, 0x04, 0x12, 0x19, 0x0a, 0x14, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, + 0x4d, 0x5f, 0x53, 0x70, 0x65, 0x65, 0x63, 0x68, 0x42, 0x75, 0x62, 0x62, 0x6c, 0x65, 0x10, 0x9a, + 0x04, 0x12, 0x20, 0x0a, 0x1b, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x43, 0x75, 0x73, + 0x74, 0x6f, 0x6d, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x10, 0x9b, 0x04, 0x12, 0x1a, 0x0a, 0x15, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x51, + 0x75, 0x69, 0x63, 0x6b, 0x42, 0x75, 0x79, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x10, 0x9c, 0x04, 0x12, + 0x1d, 0x0a, 0x18, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x53, 0x74, 0x61, 0x74, 0x73, + 0x48, 0x65, 0x72, 0x6f, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x10, 0x9d, 0x04, 0x12, 0x1d, + 0x0a, 0x18, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x10, 0x9e, 0x04, 0x12, 0x1a, 0x0a, + 0x15, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, + 0x72, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x10, 0x9f, 0x04, 0x12, 0x18, 0x0a, 0x13, 0x44, 0x4f, 0x54, + 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x48, 0x50, 0x4d, 0x61, 0x6e, 0x61, 0x41, 0x6c, 0x65, 0x72, 0x74, + 0x10, 0xa0, 0x04, 0x12, 0x17, 0x0a, 0x12, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x47, + 0x6c, 0x79, 0x70, 0x68, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x10, 0xa1, 0x04, 0x12, 0x16, 0x0a, 0x11, + 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x42, 0x65, 0x61, 0x73, 0x74, 0x43, 0x68, 0x61, + 0x74, 0x10, 0xa2, 0x04, 0x12, 0x26, 0x0a, 0x21, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, + 0x53, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x6f, 0x72, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x55, + 0x6e, 0x69, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x10, 0xa3, 0x04, 0x12, 0x24, 0x0a, 0x1f, + 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x48, 0x75, + 0x64, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x10, + 0xa4, 0x04, 0x12, 0x24, 0x0a, 0x1f, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x43, 0x75, + 0x73, 0x74, 0x6f, 0x6d, 0x48, 0x75, 0x64, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x4d, + 0x6f, 0x64, 0x69, 0x66, 0x79, 0x10, 0xa5, 0x04, 0x12, 0x25, 0x0a, 0x20, 0x44, 0x4f, 0x54, 0x41, + 0x5f, 0x55, 0x4d, 0x5f, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x48, 0x75, 0x64, 0x45, 0x6c, 0x65, + 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x10, 0xa6, 0x04, 0x12, + 0x1c, 0x0a, 0x17, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x43, 0x6f, 0x6d, 0x70, 0x65, + 0x6e, 0x64, 0x69, 0x75, 0x6d, 0x53, 0x74, 0x61, 0x74, 0x65, 0x10, 0xa7, 0x04, 0x12, 0x1e, 0x0a, + 0x19, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x10, 0xa8, 0x04, 0x12, 0x1c, 0x0a, + 0x17, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x10, 0xa9, 0x04, 0x12, 0x1e, 0x0a, 0x19, 0x44, + 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x43, 0x6f, 0x6d, 0x62, 0x61, 0x74, 0x4c, 0x6f, 0x67, + 0x44, 0x61, 0x74, 0x61, 0x48, 0x4c, 0x54, 0x56, 0x10, 0xaa, 0x04, 0x12, 0x14, 0x0a, 0x0f, 0x44, + 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x58, 0x50, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x10, 0xab, + 0x04, 0x12, 0x20, 0x0a, 0x1b, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x51, 0x75, 0x65, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, + 0x10, 0xac, 0x04, 0x12, 0x1a, 0x0a, 0x15, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x4d, + 0x61, 0x74, 0x63, 0x68, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x10, 0xad, 0x04, 0x12, + 0x19, 0x0a, 0x14, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x4d, 0x61, 0x74, 0x63, 0x68, + 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x10, 0xae, 0x04, 0x12, 0x18, 0x0a, 0x13, 0x44, 0x4f, + 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x51, 0x75, 0x65, 0x73, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x10, 0xaf, 0x04, 0x12, 0x1c, 0x0a, 0x17, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, + 0x53, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x48, 0x65, 0x72, 0x6f, 0x50, 0x69, 0x63, 0x6b, 0x10, + 0xb0, 0x04, 0x12, 0x1c, 0x0a, 0x17, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x53, 0x75, + 0x67, 0x67, 0x65, 0x73, 0x74, 0x48, 0x65, 0x72, 0x6f, 0x52, 0x6f, 0x6c, 0x65, 0x10, 0xb1, 0x04, + 0x12, 0x1f, 0x0a, 0x1a, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x4b, 0x69, 0x6c, 0x6c, + 0x63, 0x61, 0x6d, 0x44, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x54, 0x61, 0x6b, 0x65, 0x6e, 0x10, 0xb2, + 0x04, 0x12, 0x1e, 0x0a, 0x19, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x53, 0x65, 0x6c, + 0x65, 0x63, 0x74, 0x50, 0x65, 0x6e, 0x61, 0x6c, 0x74, 0x79, 0x47, 0x6f, 0x6c, 0x64, 0x10, 0xb3, + 0x04, 0x12, 0x1b, 0x0a, 0x16, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x52, 0x6f, 0x6c, + 0x6c, 0x44, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x10, 0xb4, 0x04, 0x12, 0x1b, + 0x0a, 0x16, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x46, 0x6c, 0x69, 0x70, 0x43, 0x6f, + 0x69, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x10, 0xb5, 0x04, 0x12, 0x23, 0x0a, 0x1e, 0x44, + 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x74, + 0x65, 0x6d, 0x53, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x10, 0xb6, 0x04, + 0x12, 0x1f, 0x0a, 0x1a, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x54, 0x65, 0x61, 0x6d, + 0x43, 0x61, 0x70, 0x74, 0x61, 0x69, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x10, 0xb7, + 0x04, 0x12, 0x25, 0x0a, 0x20, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x53, 0x65, 0x6e, + 0x64, 0x52, 0x6f, 0x73, 0x68, 0x61, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x6f, 0x72, + 0x50, 0x68, 0x61, 0x73, 0x65, 0x10, 0xb8, 0x04, 0x12, 0x1e, 0x0a, 0x19, 0x44, 0x4f, 0x54, 0x41, + 0x5f, 0x55, 0x4d, 0x5f, 0x43, 0x68, 0x61, 0x74, 0x57, 0x68, 0x65, 0x65, 0x6c, 0x43, 0x6f, 0x6f, + 0x6c, 0x64, 0x6f, 0x77, 0x6e, 0x10, 0xb9, 0x04, 0x12, 0x21, 0x0a, 0x1c, 0x44, 0x4f, 0x54, 0x41, + 0x5f, 0x55, 0x4d, 0x5f, 0x44, 0x69, 0x73, 0x6d, 0x69, 0x73, 0x73, 0x41, 0x6c, 0x6c, 0x53, 0x74, + 0x61, 0x74, 0x50, 0x6f, 0x70, 0x75, 0x70, 0x73, 0x10, 0xba, 0x04, 0x12, 0x21, 0x0a, 0x1c, 0x44, + 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x54, 0x45, 0x5f, 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, + 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6c, 0x65, 0x10, 0xbb, 0x04, 0x12, 0x1e, + 0x0a, 0x19, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x48, 0x65, 0x72, 0x6f, 0x52, 0x65, + 0x6c, 0x69, 0x63, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x10, 0xbc, 0x04, 0x12, 0x27, + 0x0a, 0x22, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, + 0x79, 0x44, 0x72, 0x61, 0x66, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x41, 0x62, 0x69, + 0x6c, 0x69, 0x74, 0x79, 0x10, 0xbd, 0x04, 0x12, 0x15, 0x0a, 0x10, 0x44, 0x4f, 0x54, 0x41, 0x5f, + 0x55, 0x4d, 0x5f, 0x49, 0x74, 0x65, 0x6d, 0x53, 0x6f, 0x6c, 0x64, 0x10, 0xbe, 0x04, 0x12, 0x19, + 0x0a, 0x14, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x44, 0x61, 0x6d, 0x61, 0x67, 0x65, + 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x10, 0xbf, 0x04, 0x12, 0x19, 0x0a, 0x14, 0x44, 0x4f, 0x54, + 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x53, 0x61, 0x6c, 0x75, 0x74, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x65, + 0x72, 0x10, 0xc0, 0x04, 0x12, 0x15, 0x0a, 0x10, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, + 0x54, 0x69, 0x70, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x10, 0xc1, 0x04, 0x12, 0x1d, 0x0a, 0x18, 0x44, + 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x51, 0x75, + 0x65, 0x72, 0x79, 0x55, 0x6e, 0x69, 0x74, 0x10, 0xc2, 0x04, 0x12, 0x1f, 0x0a, 0x1a, 0x44, 0x4f, + 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x54, 0x65, 0x6c, 0x65, 0x70, + 0x6f, 0x72, 0x74, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x10, 0xc3, 0x04, 0x12, 0x23, 0x0a, 0x1e, 0x44, + 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x4d, 0x61, 0x72, 0x73, 0x41, 0x72, 0x65, 0x6e, 0x61, + 0x4f, 0x66, 0x42, 0x6c, 0x6f, 0x6f, 0x64, 0x41, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x10, 0xc4, 0x04, + 0x12, 0x1a, 0x0a, 0x15, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x45, 0x53, 0x41, 0x72, + 0x63, 0x61, 0x6e, 0x61, 0x43, 0x6f, 0x6d, 0x62, 0x6f, 0x10, 0xc5, 0x04, 0x12, 0x21, 0x0a, 0x1c, + 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x45, 0x53, 0x41, 0x72, 0x63, 0x61, 0x6e, 0x61, + 0x43, 0x6f, 0x6d, 0x62, 0x6f, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x10, 0xc6, 0x04, 0x12, + 0x20, 0x0a, 0x1b, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x48, 0x69, 0x67, 0x68, 0x46, + 0x69, 0x76, 0x65, 0x4c, 0x65, 0x66, 0x74, 0x48, 0x61, 0x6e, 0x67, 0x69, 0x6e, 0x67, 0x10, 0xc7, + 0x04, 0x12, 0x1e, 0x0a, 0x19, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x48, 0x69, 0x67, + 0x68, 0x46, 0x69, 0x76, 0x65, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x10, 0xc8, + 0x04, 0x12, 0x1a, 0x0a, 0x15, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x53, 0x68, 0x6f, + 0x76, 0x65, 0x6c, 0x55, 0x6e, 0x65, 0x61, 0x72, 0x74, 0x68, 0x10, 0xc9, 0x04, 0x12, 0x1d, 0x0a, + 0x18, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x45, 0x4d, 0x5f, 0x49, 0x6e, 0x76, 0x6f, 0x6b, 0x65, 0x72, + 0x53, 0x70, 0x65, 0x6c, 0x6c, 0x43, 0x61, 0x73, 0x74, 0x10, 0xca, 0x04, 0x12, 0x17, 0x0a, 0x12, + 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x52, 0x61, 0x64, 0x61, 0x72, 0x41, 0x6c, 0x65, + 0x72, 0x74, 0x10, 0xcb, 0x04, 0x12, 0x19, 0x0a, 0x14, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, + 0x5f, 0x41, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x10, 0xcc, 0x04, + 0x12, 0x1c, 0x0a, 0x17, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x54, 0x61, 0x6c, 0x65, + 0x6e, 0x74, 0x54, 0x72, 0x65, 0x65, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x10, 0xcd, 0x04, 0x12, 0x1f, + 0x0a, 0x1a, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x51, 0x75, 0x65, 0x75, 0x65, 0x64, + 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x10, 0xce, 0x04, 0x12, + 0x1b, 0x0a, 0x16, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x44, 0x65, 0x62, 0x75, 0x67, + 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x10, 0xcf, 0x04, 0x12, 0x1a, 0x0a, 0x15, + 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x4f, 0x4d, 0x41, 0x72, 0x63, 0x61, 0x6e, 0x61, + 0x43, 0x6f, 0x6d, 0x62, 0x6f, 0x10, 0xd0, 0x04, 0x12, 0x1d, 0x0a, 0x18, 0x44, 0x4f, 0x54, 0x41, + 0x5f, 0x55, 0x4d, 0x5f, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x4e, 0x65, 0x75, 0x74, 0x72, 0x61, 0x6c, + 0x49, 0x74, 0x65, 0x6d, 0x10, 0xd1, 0x04, 0x12, 0x1c, 0x0a, 0x17, 0x44, 0x4f, 0x54, 0x41, 0x5f, + 0x55, 0x4d, 0x5f, 0x4f, 0x75, 0x74, 0x70, 0x6f, 0x73, 0x74, 0x43, 0x61, 0x70, 0x74, 0x75, 0x72, + 0x65, 0x64, 0x10, 0xd2, 0x04, 0x12, 0x1d, 0x0a, 0x18, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, + 0x5f, 0x4f, 0x75, 0x74, 0x70, 0x6f, 0x73, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x65, 0x64, 0x58, + 0x50, 0x10, 0xd3, 0x04, 0x12, 0x1d, 0x0a, 0x18, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, + 0x4d, 0x6f, 0x76, 0x65, 0x43, 0x61, 0x6d, 0x65, 0x72, 0x61, 0x54, 0x6f, 0x55, 0x6e, 0x69, 0x74, + 0x10, 0xd4, 0x04, 0x12, 0x1e, 0x0a, 0x19, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x50, + 0x61, 0x75, 0x73, 0x65, 0x4d, 0x69, 0x6e, 0x69, 0x67, 0x61, 0x6d, 0x65, 0x44, 0x61, 0x74, 0x61, + 0x10, 0xd5, 0x04, 0x12, 0x27, 0x0a, 0x22, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x56, + 0x65, 0x72, 0x73, 0x75, 0x73, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x65, + 0x72, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x10, 0xd6, 0x04, 0x12, 0x1e, 0x0a, 0x19, + 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x51, 0x6f, 0x50, 0x5f, 0x41, 0x72, 0x63, 0x61, + 0x6e, 0x61, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x10, 0xd8, 0x04, 0x12, 0x1e, 0x0a, 0x19, + 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x48, 0x6f, 0x74, 0x50, 0x6f, 0x74, 0x61, 0x74, + 0x6f, 0x5f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x10, 0xd9, 0x04, 0x12, 0x1f, 0x0a, 0x1a, + 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x48, 0x6f, 0x74, 0x50, 0x6f, 0x74, 0x61, 0x74, + 0x6f, 0x5f, 0x45, 0x78, 0x70, 0x6c, 0x6f, 0x64, 0x65, 0x64, 0x10, 0xda, 0x04, 0x12, 0x1f, 0x0a, + 0x1a, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x57, 0x4b, 0x5f, 0x41, 0x72, 0x63, 0x61, + 0x6e, 0x61, 0x5f, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x10, 0xdb, 0x04, 0x12, 0x24, + 0x0a, 0x1f, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x43, + 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, + 0x73, 0x10, 0xdc, 0x04, 0x12, 0x1d, 0x0a, 0x18, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, + 0x57, 0x52, 0x41, 0x72, 0x63, 0x61, 0x6e, 0x61, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, + 0x10, 0xdd, 0x04, 0x12, 0x1c, 0x0a, 0x17, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x57, + 0x52, 0x41, 0x72, 0x63, 0x61, 0x6e, 0x61, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x10, 0xde, + 0x04, 0x12, 0x1f, 0x0a, 0x1a, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x45, 0x6d, 0x70, + 0x74, 0x79, 0x49, 0x74, 0x65, 0x6d, 0x53, 0x6c, 0x6f, 0x74, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x10, + 0xdf, 0x04, 0x12, 0x1c, 0x0a, 0x17, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x41, 0x67, + 0x68, 0x73, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x10, 0xe0, 0x04, + 0x12, 0x1d, 0x0a, 0x18, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x50, 0x69, 0x6e, 0x67, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0xe1, 0x04, 0x12, + 0x19, 0x0a, 0x14, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x4d, 0x75, 0x74, 0x65, 0x64, + 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x10, 0xe2, 0x04, 0x12, 0x1a, 0x0a, 0x15, 0x44, 0x4f, + 0x54, 0x41, 0x5f, 0x55, 0x4d, 0x5f, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x75, 0x61, 0x6c, + 0x54, 0x69, 0x70, 0x10, 0xe3, 0x04, 0x12, 0x18, 0x0a, 0x13, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, + 0x4d, 0x5f, 0x43, 0x68, 0x61, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x10, 0xe4, 0x04, + 0x2a, 0x90, 0x1e, 0x0a, 0x11, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, + 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x12, 0x21, 0x0a, 0x14, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, + 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x01, 0x12, 0x1a, 0x0a, 0x16, 0x43, 0x48, 0x41, + 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x48, 0x45, 0x52, 0x4f, 0x5f, 0x4b, + 0x49, 0x4c, 0x4c, 0x10, 0x00, 0x12, 0x1a, 0x0a, 0x16, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, + 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x48, 0x45, 0x52, 0x4f, 0x5f, 0x44, 0x45, 0x4e, 0x59, 0x10, + 0x01, 0x12, 0x1e, 0x0a, 0x1a, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, + 0x45, 0x5f, 0x42, 0x41, 0x52, 0x52, 0x41, 0x43, 0x4b, 0x53, 0x5f, 0x4b, 0x49, 0x4c, 0x4c, 0x10, + 0x02, 0x12, 0x1b, 0x0a, 0x17, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, + 0x45, 0x5f, 0x54, 0x4f, 0x57, 0x45, 0x52, 0x5f, 0x4b, 0x49, 0x4c, 0x4c, 0x10, 0x03, 0x12, 0x1b, + 0x0a, 0x17, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x54, + 0x4f, 0x57, 0x45, 0x52, 0x5f, 0x44, 0x45, 0x4e, 0x59, 0x10, 0x04, 0x12, 0x1b, 0x0a, 0x17, 0x43, + 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x46, 0x49, 0x52, 0x53, + 0x54, 0x42, 0x4c, 0x4f, 0x4f, 0x44, 0x10, 0x05, 0x12, 0x1c, 0x0a, 0x18, 0x43, 0x48, 0x41, 0x54, + 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x53, 0x54, 0x52, 0x45, 0x41, 0x4b, 0x5f, + 0x4b, 0x49, 0x4c, 0x4c, 0x10, 0x06, 0x12, 0x18, 0x0a, 0x14, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, + 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x42, 0x55, 0x59, 0x42, 0x41, 0x43, 0x4b, 0x10, 0x07, + 0x12, 0x16, 0x0a, 0x12, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, + 0x5f, 0x41, 0x45, 0x47, 0x49, 0x53, 0x10, 0x08, 0x12, 0x1c, 0x0a, 0x18, 0x43, 0x48, 0x41, 0x54, + 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x52, 0x4f, 0x53, 0x48, 0x41, 0x4e, 0x5f, + 0x4b, 0x49, 0x4c, 0x4c, 0x10, 0x09, 0x12, 0x1d, 0x0a, 0x19, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, + 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x43, 0x4f, 0x55, 0x52, 0x49, 0x45, 0x52, 0x5f, 0x4c, + 0x4f, 0x53, 0x54, 0x10, 0x0a, 0x12, 0x22, 0x0a, 0x1e, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, + 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x43, 0x4f, 0x55, 0x52, 0x49, 0x45, 0x52, 0x5f, 0x52, 0x45, + 0x53, 0x50, 0x41, 0x57, 0x4e, 0x45, 0x44, 0x10, 0x0b, 0x12, 0x1b, 0x0a, 0x17, 0x43, 0x48, 0x41, + 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x47, 0x4c, 0x59, 0x50, 0x48, 0x5f, + 0x55, 0x53, 0x45, 0x44, 0x10, 0x0c, 0x12, 0x1e, 0x0a, 0x1a, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, + 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x49, 0x54, 0x45, 0x4d, 0x5f, 0x50, 0x55, 0x52, 0x43, + 0x48, 0x41, 0x53, 0x45, 0x10, 0x0d, 0x12, 0x18, 0x0a, 0x14, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, + 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x10, 0x0e, + 0x12, 0x1b, 0x0a, 0x17, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, + 0x5f, 0x44, 0x49, 0x53, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x10, 0x0f, 0x12, 0x2e, 0x0a, + 0x2a, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x44, 0x49, + 0x53, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x57, 0x41, 0x49, 0x54, 0x5f, 0x46, 0x4f, + 0x52, 0x5f, 0x52, 0x45, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x10, 0x10, 0x12, 0x2a, 0x0a, + 0x26, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x44, 0x49, + 0x53, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x54, 0x49, 0x4d, 0x45, 0x5f, 0x52, 0x45, + 0x4d, 0x41, 0x49, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x11, 0x12, 0x31, 0x0a, 0x2d, 0x43, 0x48, 0x41, + 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x44, 0x49, 0x53, 0x43, 0x4f, 0x4e, + 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x54, 0x49, 0x4d, 0x45, 0x5f, 0x52, 0x45, 0x4d, 0x41, 0x49, 0x4e, + 0x49, 0x4e, 0x47, 0x5f, 0x50, 0x4c, 0x55, 0x52, 0x41, 0x4c, 0x10, 0x12, 0x12, 0x1a, 0x0a, 0x16, + 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x52, 0x45, 0x43, + 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x10, 0x13, 0x12, 0x1c, 0x0a, 0x18, 0x43, 0x48, 0x41, 0x54, + 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x5f, + 0x4c, 0x45, 0x46, 0x54, 0x10, 0x14, 0x12, 0x1e, 0x0a, 0x1a, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, + 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x53, 0x41, 0x46, 0x45, 0x5f, 0x54, 0x4f, 0x5f, 0x4c, + 0x45, 0x41, 0x56, 0x45, 0x10, 0x15, 0x12, 0x1c, 0x0a, 0x18, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, + 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x52, 0x55, 0x4e, 0x45, 0x5f, 0x50, 0x49, 0x43, 0x4b, + 0x55, 0x50, 0x10, 0x16, 0x12, 0x1c, 0x0a, 0x18, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, + 0x53, 0x41, 0x47, 0x45, 0x5f, 0x52, 0x55, 0x4e, 0x45, 0x5f, 0x42, 0x4f, 0x54, 0x54, 0x4c, 0x45, + 0x10, 0x17, 0x12, 0x1a, 0x0a, 0x16, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, + 0x47, 0x45, 0x5f, 0x52, 0x55, 0x4e, 0x45, 0x5f, 0x44, 0x45, 0x4e, 0x59, 0x10, 0x72, 0x12, 0x19, + 0x0a, 0x15, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x49, + 0x4e, 0x54, 0x48, 0x45, 0x42, 0x41, 0x47, 0x10, 0x18, 0x12, 0x1b, 0x0a, 0x17, 0x43, 0x48, 0x41, + 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x53, 0x45, 0x43, 0x52, 0x45, 0x54, + 0x53, 0x48, 0x4f, 0x50, 0x10, 0x19, 0x12, 0x23, 0x0a, 0x1f, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, + 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x49, 0x54, 0x45, 0x4d, 0x5f, 0x41, 0x55, 0x54, 0x4f, + 0x50, 0x55, 0x52, 0x43, 0x48, 0x41, 0x53, 0x45, 0x44, 0x10, 0x1a, 0x12, 0x1f, 0x0a, 0x1b, 0x43, + 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x49, 0x54, 0x45, 0x4d, + 0x53, 0x5f, 0x43, 0x4f, 0x4d, 0x42, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x1b, 0x12, 0x1d, 0x0a, 0x19, + 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x53, 0x55, 0x50, + 0x45, 0x52, 0x5f, 0x43, 0x52, 0x45, 0x45, 0x50, 0x53, 0x10, 0x1c, 0x12, 0x25, 0x0a, 0x21, 0x43, + 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x43, 0x41, 0x4e, 0x54, + 0x5f, 0x55, 0x53, 0x45, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x49, 0x54, 0x45, 0x4d, + 0x10, 0x1d, 0x12, 0x1a, 0x0a, 0x16, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, + 0x47, 0x45, 0x5f, 0x43, 0x41, 0x4e, 0x54, 0x50, 0x41, 0x55, 0x53, 0x45, 0x10, 0x1f, 0x12, 0x1d, + 0x0a, 0x19, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x4e, + 0x4f, 0x50, 0x41, 0x55, 0x53, 0x45, 0x53, 0x4c, 0x45, 0x46, 0x54, 0x10, 0x20, 0x12, 0x1d, 0x0a, + 0x19, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x43, 0x41, + 0x4e, 0x54, 0x50, 0x41, 0x55, 0x53, 0x45, 0x59, 0x45, 0x54, 0x10, 0x21, 0x12, 0x17, 0x0a, 0x13, + 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x50, 0x41, 0x55, + 0x53, 0x45, 0x44, 0x10, 0x22, 0x12, 0x22, 0x0a, 0x1e, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, + 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x55, 0x4e, 0x50, 0x41, 0x55, 0x53, 0x45, 0x5f, 0x43, 0x4f, + 0x55, 0x4e, 0x54, 0x44, 0x4f, 0x57, 0x4e, 0x10, 0x23, 0x12, 0x19, 0x0a, 0x15, 0x43, 0x48, 0x41, + 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x55, 0x4e, 0x50, 0x41, 0x55, 0x53, + 0x45, 0x44, 0x10, 0x24, 0x12, 0x1e, 0x0a, 0x1a, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, + 0x53, 0x41, 0x47, 0x45, 0x5f, 0x41, 0x55, 0x54, 0x4f, 0x5f, 0x55, 0x4e, 0x50, 0x41, 0x55, 0x53, + 0x45, 0x44, 0x10, 0x25, 0x12, 0x1a, 0x0a, 0x16, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, + 0x53, 0x41, 0x47, 0x45, 0x5f, 0x59, 0x4f, 0x55, 0x50, 0x41, 0x55, 0x53, 0x45, 0x44, 0x10, 0x26, + 0x12, 0x20, 0x0a, 0x1c, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, + 0x5f, 0x43, 0x41, 0x4e, 0x54, 0x55, 0x4e, 0x50, 0x41, 0x55, 0x53, 0x45, 0x54, 0x45, 0x41, 0x4d, + 0x10, 0x27, 0x12, 0x22, 0x0a, 0x1e, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, + 0x47, 0x45, 0x5f, 0x56, 0x4f, 0x49, 0x43, 0x45, 0x5f, 0x54, 0x45, 0x58, 0x54, 0x5f, 0x42, 0x41, + 0x4e, 0x4e, 0x45, 0x44, 0x10, 0x29, 0x12, 0x2e, 0x0a, 0x2a, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, + 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x53, 0x50, 0x45, 0x43, 0x54, 0x41, 0x54, 0x4f, 0x52, + 0x53, 0x5f, 0x57, 0x41, 0x54, 0x43, 0x48, 0x49, 0x4e, 0x47, 0x5f, 0x54, 0x48, 0x49, 0x53, 0x5f, + 0x47, 0x41, 0x4d, 0x45, 0x10, 0x2a, 0x12, 0x20, 0x0a, 0x1c, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, + 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x52, 0x45, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x52, 0x45, + 0x4d, 0x49, 0x4e, 0x44, 0x45, 0x52, 0x10, 0x2b, 0x12, 0x1a, 0x0a, 0x16, 0x43, 0x48, 0x41, 0x54, + 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x45, 0x43, 0x4f, 0x4e, 0x5f, 0x49, 0x54, + 0x45, 0x4d, 0x10, 0x2c, 0x12, 0x16, 0x0a, 0x12, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, + 0x53, 0x41, 0x47, 0x45, 0x5f, 0x54, 0x41, 0x55, 0x4e, 0x54, 0x10, 0x2d, 0x12, 0x17, 0x0a, 0x13, + 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x52, 0x41, 0x4e, + 0x44, 0x4f, 0x4d, 0x10, 0x2e, 0x12, 0x18, 0x0a, 0x14, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, + 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x52, 0x44, 0x5f, 0x54, 0x55, 0x52, 0x4e, 0x10, 0x2f, 0x12, + 0x20, 0x0a, 0x1c, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, + 0x44, 0x52, 0x4f, 0x50, 0x5f, 0x52, 0x41, 0x54, 0x45, 0x5f, 0x42, 0x4f, 0x4e, 0x55, 0x53, 0x10, + 0x31, 0x12, 0x21, 0x0a, 0x1d, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, + 0x45, 0x5f, 0x4e, 0x4f, 0x5f, 0x42, 0x41, 0x54, 0x54, 0x4c, 0x45, 0x5f, 0x50, 0x4f, 0x49, 0x4e, + 0x54, 0x53, 0x10, 0x32, 0x12, 0x1d, 0x0a, 0x19, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, + 0x53, 0x41, 0x47, 0x45, 0x5f, 0x44, 0x45, 0x4e, 0x49, 0x45, 0x44, 0x5f, 0x41, 0x45, 0x47, 0x49, + 0x53, 0x10, 0x33, 0x12, 0x1e, 0x0a, 0x1a, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, + 0x41, 0x47, 0x45, 0x5f, 0x49, 0x4e, 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x41, + 0x4c, 0x10, 0x34, 0x12, 0x1d, 0x0a, 0x19, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, + 0x41, 0x47, 0x45, 0x5f, 0x41, 0x45, 0x47, 0x49, 0x53, 0x5f, 0x53, 0x54, 0x4f, 0x4c, 0x45, 0x4e, + 0x10, 0x35, 0x12, 0x1d, 0x0a, 0x19, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, + 0x47, 0x45, 0x5f, 0x52, 0x4f, 0x53, 0x48, 0x41, 0x4e, 0x5f, 0x43, 0x41, 0x4e, 0x44, 0x59, 0x10, + 0x36, 0x12, 0x1c, 0x0a, 0x18, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, + 0x45, 0x5f, 0x49, 0x54, 0x45, 0x4d, 0x5f, 0x47, 0x49, 0x46, 0x54, 0x45, 0x44, 0x10, 0x37, 0x12, + 0x27, 0x0a, 0x23, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, + 0x48, 0x45, 0x52, 0x4f, 0x5f, 0x4b, 0x49, 0x4c, 0x4c, 0x5f, 0x57, 0x49, 0x54, 0x48, 0x5f, 0x47, + 0x52, 0x45, 0x45, 0x56, 0x49, 0x4c, 0x10, 0x38, 0x12, 0x28, 0x0a, 0x24, 0x43, 0x48, 0x41, 0x54, + 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x48, 0x4f, 0x4c, 0x44, 0x4f, 0x55, 0x54, + 0x5f, 0x54, 0x4f, 0x57, 0x45, 0x52, 0x5f, 0x44, 0x45, 0x53, 0x54, 0x52, 0x4f, 0x59, 0x45, 0x44, + 0x10, 0x39, 0x12, 0x27, 0x0a, 0x23, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, + 0x47, 0x45, 0x5f, 0x48, 0x4f, 0x4c, 0x44, 0x4f, 0x55, 0x54, 0x5f, 0x57, 0x41, 0x4c, 0x4c, 0x5f, + 0x44, 0x45, 0x53, 0x54, 0x52, 0x4f, 0x59, 0x45, 0x44, 0x10, 0x3a, 0x12, 0x26, 0x0a, 0x22, 0x43, + 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x48, 0x4f, 0x4c, 0x44, + 0x4f, 0x55, 0x54, 0x5f, 0x57, 0x41, 0x4c, 0x4c, 0x5f, 0x46, 0x49, 0x4e, 0x49, 0x53, 0x48, 0x45, + 0x44, 0x10, 0x3b, 0x12, 0x29, 0x0a, 0x25, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, + 0x41, 0x47, 0x45, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x5f, 0x4c, 0x45, 0x46, 0x54, 0x5f, + 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x45, 0x44, 0x5f, 0x48, 0x45, 0x52, 0x4f, 0x10, 0x3e, 0x12, 0x31, + 0x0a, 0x2d, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x41, + 0x42, 0x41, 0x4e, 0x44, 0x4f, 0x4e, 0x5f, 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x45, 0x44, 0x5f, 0x48, + 0x45, 0x52, 0x4f, 0x5f, 0x45, 0x58, 0x50, 0x4c, 0x41, 0x4e, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, + 0x3f, 0x12, 0x28, 0x0a, 0x24, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, + 0x45, 0x5f, 0x44, 0x49, 0x53, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x4c, 0x49, 0x4d, + 0x49, 0x54, 0x45, 0x44, 0x5f, 0x48, 0x45, 0x52, 0x4f, 0x10, 0x40, 0x12, 0x33, 0x0a, 0x2f, 0x43, + 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x4c, 0x4f, 0x57, 0x5f, + 0x50, 0x52, 0x49, 0x4f, 0x52, 0x49, 0x54, 0x59, 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x4c, 0x45, 0x54, + 0x45, 0x44, 0x5f, 0x45, 0x58, 0x50, 0x4c, 0x41, 0x4e, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x41, + 0x12, 0x2c, 0x0a, 0x28, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, + 0x5f, 0x52, 0x45, 0x43, 0x52, 0x55, 0x49, 0x54, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x44, 0x52, 0x4f, + 0x50, 0x5f, 0x52, 0x41, 0x54, 0x45, 0x5f, 0x42, 0x4f, 0x4e, 0x55, 0x53, 0x10, 0x42, 0x12, 0x31, + 0x0a, 0x2d, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x46, + 0x52, 0x4f, 0x53, 0x54, 0x49, 0x56, 0x55, 0x53, 0x5f, 0x53, 0x48, 0x49, 0x4e, 0x49, 0x4e, 0x47, + 0x5f, 0x42, 0x4f, 0x4f, 0x53, 0x54, 0x45, 0x52, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, + 0x43, 0x12, 0x20, 0x0a, 0x1c, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, + 0x45, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x5f, 0x4c, 0x45, 0x46, 0x54, 0x5f, 0x41, 0x46, + 0x4b, 0x10, 0x49, 0x12, 0x32, 0x0a, 0x2e, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, + 0x41, 0x47, 0x45, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x5f, 0x4c, 0x45, 0x46, 0x54, 0x5f, + 0x44, 0x49, 0x53, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x45, 0x44, 0x5f, 0x54, 0x4f, 0x4f, + 0x5f, 0x4c, 0x4f, 0x4e, 0x47, 0x10, 0x4a, 0x12, 0x21, 0x0a, 0x1d, 0x43, 0x48, 0x41, 0x54, 0x5f, + 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x5f, 0x41, + 0x42, 0x41, 0x4e, 0x44, 0x4f, 0x4e, 0x45, 0x44, 0x10, 0x4b, 0x12, 0x25, 0x0a, 0x21, 0x43, 0x48, + 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x45, + 0x52, 0x5f, 0x41, 0x42, 0x41, 0x4e, 0x44, 0x4f, 0x4e, 0x45, 0x44, 0x5f, 0x41, 0x46, 0x4b, 0x10, + 0x4c, 0x12, 0x37, 0x0a, 0x33, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, + 0x45, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x5f, 0x41, 0x42, 0x41, 0x4e, 0x44, 0x4f, 0x4e, + 0x45, 0x44, 0x5f, 0x44, 0x49, 0x53, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x45, 0x44, 0x5f, + 0x54, 0x4f, 0x4f, 0x5f, 0x4c, 0x4f, 0x4e, 0x47, 0x10, 0x4d, 0x12, 0x23, 0x0a, 0x1f, 0x43, 0x48, + 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x57, 0x49, 0x4c, 0x4c, 0x5f, + 0x4e, 0x4f, 0x54, 0x5f, 0x42, 0x45, 0x5f, 0x53, 0x43, 0x4f, 0x52, 0x45, 0x44, 0x10, 0x4e, 0x12, + 0x2a, 0x0a, 0x26, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, + 0x57, 0x49, 0x4c, 0x4c, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x42, 0x45, 0x5f, 0x53, 0x43, 0x4f, 0x52, + 0x45, 0x44, 0x5f, 0x52, 0x41, 0x4e, 0x4b, 0x45, 0x44, 0x10, 0x4f, 0x12, 0x2b, 0x0a, 0x27, 0x43, + 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x57, 0x49, 0x4c, 0x4c, + 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x42, 0x45, 0x5f, 0x53, 0x43, 0x4f, 0x52, 0x45, 0x44, 0x5f, 0x4e, + 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x10, 0x50, 0x12, 0x32, 0x0a, 0x2e, 0x43, 0x48, 0x41, 0x54, + 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x57, 0x49, 0x4c, 0x4c, 0x5f, 0x4e, 0x4f, + 0x54, 0x5f, 0x42, 0x45, 0x5f, 0x53, 0x43, 0x4f, 0x52, 0x45, 0x44, 0x5f, 0x4e, 0x45, 0x54, 0x57, + 0x4f, 0x52, 0x4b, 0x5f, 0x52, 0x41, 0x4e, 0x4b, 0x45, 0x44, 0x10, 0x51, 0x12, 0x29, 0x0a, 0x25, + 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x43, 0x41, 0x4e, + 0x5f, 0x51, 0x55, 0x49, 0x54, 0x5f, 0x57, 0x49, 0x54, 0x48, 0x4f, 0x55, 0x54, 0x5f, 0x41, 0x42, + 0x41, 0x4e, 0x44, 0x4f, 0x4e, 0x10, 0x52, 0x12, 0x3a, 0x0a, 0x36, 0x43, 0x48, 0x41, 0x54, 0x5f, + 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x52, 0x41, 0x4e, 0x4b, 0x45, 0x44, 0x5f, 0x47, + 0x41, 0x4d, 0x45, 0x5f, 0x53, 0x54, 0x49, 0x4c, 0x4c, 0x5f, 0x53, 0x43, 0x4f, 0x52, 0x45, 0x44, + 0x5f, 0x4c, 0x45, 0x41, 0x56, 0x45, 0x52, 0x53, 0x5f, 0x47, 0x45, 0x54, 0x5f, 0x4c, 0x4f, 0x53, + 0x53, 0x10, 0x53, 0x12, 0x38, 0x0a, 0x34, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, + 0x41, 0x47, 0x45, 0x5f, 0x41, 0x42, 0x41, 0x4e, 0x44, 0x4f, 0x4e, 0x5f, 0x52, 0x41, 0x4e, 0x4b, + 0x45, 0x44, 0x5f, 0x42, 0x45, 0x46, 0x4f, 0x52, 0x45, 0x5f, 0x46, 0x49, 0x52, 0x53, 0x54, 0x5f, + 0x42, 0x4c, 0x4f, 0x4f, 0x44, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x59, 0x10, 0x54, 0x12, 0x21, 0x0a, + 0x1d, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x43, 0x4f, + 0x4d, 0x50, 0x45, 0x4e, 0x44, 0x49, 0x55, 0x4d, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x10, 0x55, + 0x12, 0x2a, 0x0a, 0x26, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, + 0x5f, 0x56, 0x49, 0x43, 0x54, 0x4f, 0x52, 0x59, 0x5f, 0x50, 0x52, 0x45, 0x44, 0x49, 0x43, 0x54, + 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x52, 0x45, 0x41, 0x4b, 0x10, 0x56, 0x12, 0x22, 0x0a, 0x1e, + 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x41, 0x53, 0x53, + 0x41, 0x53, 0x53, 0x49, 0x4e, 0x5f, 0x41, 0x4e, 0x4e, 0x4f, 0x55, 0x4e, 0x43, 0x45, 0x10, 0x57, + 0x12, 0x21, 0x0a, 0x1d, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, + 0x5f, 0x41, 0x53, 0x53, 0x41, 0x53, 0x53, 0x49, 0x4e, 0x5f, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, + 0x53, 0x10, 0x58, 0x12, 0x20, 0x0a, 0x1c, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, + 0x41, 0x47, 0x45, 0x5f, 0x41, 0x53, 0x53, 0x41, 0x53, 0x53, 0x49, 0x4e, 0x5f, 0x44, 0x45, 0x4e, + 0x49, 0x45, 0x44, 0x10, 0x59, 0x12, 0x37, 0x0a, 0x33, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, + 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x56, 0x49, 0x43, 0x54, 0x4f, 0x52, 0x59, 0x5f, 0x50, 0x52, + 0x45, 0x44, 0x49, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x49, 0x4e, 0x47, 0x4c, 0x45, 0x5f, + 0x55, 0x53, 0x45, 0x52, 0x5f, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x52, 0x4d, 0x10, 0x5a, 0x12, 0x1c, + 0x0a, 0x18, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x45, + 0x46, 0x46, 0x49, 0x47, 0x59, 0x5f, 0x4b, 0x49, 0x4c, 0x4c, 0x10, 0x5b, 0x12, 0x2b, 0x0a, 0x27, + 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x56, 0x4f, 0x49, + 0x43, 0x45, 0x5f, 0x54, 0x45, 0x58, 0x54, 0x5f, 0x42, 0x41, 0x4e, 0x4e, 0x45, 0x44, 0x5f, 0x4f, + 0x56, 0x45, 0x52, 0x46, 0x4c, 0x4f, 0x57, 0x10, 0x5c, 0x12, 0x22, 0x0a, 0x1e, 0x43, 0x48, 0x41, + 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x59, 0x45, 0x41, 0x52, 0x5f, 0x42, + 0x45, 0x41, 0x53, 0x54, 0x5f, 0x4b, 0x49, 0x4c, 0x4c, 0x45, 0x44, 0x10, 0x5d, 0x12, 0x20, 0x0a, + 0x1c, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x50, 0x41, + 0x55, 0x53, 0x45, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x44, 0x4f, 0x57, 0x4e, 0x10, 0x5e, 0x12, + 0x1e, 0x0a, 0x1a, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, + 0x43, 0x4f, 0x49, 0x4e, 0x53, 0x5f, 0x57, 0x41, 0x47, 0x45, 0x52, 0x45, 0x44, 0x10, 0x5f, 0x12, + 0x23, 0x0a, 0x1f, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, + 0x48, 0x45, 0x52, 0x4f, 0x5f, 0x4e, 0x4f, 0x4d, 0x49, 0x4e, 0x41, 0x54, 0x45, 0x44, 0x5f, 0x42, + 0x41, 0x4e, 0x10, 0x60, 0x12, 0x1c, 0x0a, 0x18, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, + 0x53, 0x41, 0x47, 0x45, 0x5f, 0x48, 0x45, 0x52, 0x4f, 0x5f, 0x42, 0x41, 0x4e, 0x4e, 0x45, 0x44, + 0x10, 0x61, 0x12, 0x1f, 0x0a, 0x1b, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, + 0x47, 0x45, 0x5f, 0x48, 0x45, 0x52, 0x4f, 0x5f, 0x42, 0x41, 0x4e, 0x5f, 0x43, 0x4f, 0x55, 0x4e, + 0x54, 0x10, 0x62, 0x12, 0x1e, 0x0a, 0x1a, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, + 0x41, 0x47, 0x45, 0x5f, 0x52, 0x49, 0x56, 0x45, 0x52, 0x5f, 0x50, 0x41, 0x49, 0x4e, 0x54, 0x45, + 0x44, 0x10, 0x63, 0x12, 0x1a, 0x0a, 0x16, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, + 0x41, 0x47, 0x45, 0x5f, 0x53, 0x43, 0x41, 0x4e, 0x5f, 0x55, 0x53, 0x45, 0x44, 0x10, 0x64, 0x12, + 0x1e, 0x0a, 0x1a, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, + 0x53, 0x48, 0x52, 0x49, 0x4e, 0x45, 0x5f, 0x4b, 0x49, 0x4c, 0x4c, 0x45, 0x44, 0x10, 0x65, 0x12, + 0x22, 0x0a, 0x1e, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, + 0x57, 0x41, 0x47, 0x45, 0x52, 0x5f, 0x54, 0x4f, 0x4b, 0x45, 0x4e, 0x5f, 0x53, 0x50, 0x45, 0x4e, + 0x54, 0x10, 0x66, 0x12, 0x1b, 0x0a, 0x17, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, + 0x41, 0x47, 0x45, 0x5f, 0x52, 0x41, 0x4e, 0x4b, 0x5f, 0x57, 0x41, 0x47, 0x45, 0x52, 0x10, 0x67, + 0x12, 0x24, 0x0a, 0x20, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, + 0x5f, 0x4e, 0x45, 0x57, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x5f, 0x52, 0x45, 0x4d, 0x49, + 0x4e, 0x44, 0x45, 0x52, 0x10, 0x68, 0x12, 0x25, 0x0a, 0x21, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, + 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x4f, 0x42, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x5f, + 0x57, 0x41, 0x52, 0x44, 0x5f, 0x4b, 0x49, 0x4c, 0x4c, 0x45, 0x44, 0x10, 0x69, 0x12, 0x23, 0x0a, + 0x1f, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x53, 0x45, + 0x4e, 0x54, 0x52, 0x59, 0x5f, 0x57, 0x41, 0x52, 0x44, 0x5f, 0x4b, 0x49, 0x4c, 0x4c, 0x45, 0x44, + 0x10, 0x6a, 0x12, 0x2d, 0x0a, 0x29, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, + 0x47, 0x45, 0x5f, 0x49, 0x54, 0x45, 0x4d, 0x5f, 0x50, 0x4c, 0x41, 0x43, 0x45, 0x44, 0x5f, 0x49, + 0x4e, 0x5f, 0x4e, 0x45, 0x55, 0x54, 0x52, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x53, 0x48, 0x10, + 0x6b, 0x12, 0x24, 0x0a, 0x20, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, + 0x45, 0x5f, 0x48, 0x45, 0x52, 0x4f, 0x5f, 0x43, 0x48, 0x4f, 0x49, 0x43, 0x45, 0x5f, 0x49, 0x4e, + 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0x6c, 0x12, 0x17, 0x0a, 0x13, 0x43, 0x48, 0x41, 0x54, 0x5f, + 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x42, 0x4f, 0x55, 0x4e, 0x54, 0x59, 0x10, 0x6d, + 0x12, 0x24, 0x0a, 0x20, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, + 0x5f, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x44, 0x52, 0x41, 0x46, 0x54, 0x5f, 0x53, + 0x54, 0x41, 0x52, 0x54, 0x10, 0x6e, 0x12, 0x21, 0x0a, 0x1d, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, + 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x48, 0x45, 0x52, 0x4f, 0x5f, 0x46, 0x4f, 0x55, 0x4e, + 0x44, 0x5f, 0x43, 0x41, 0x4e, 0x44, 0x59, 0x10, 0x6f, 0x12, 0x27, 0x0a, 0x23, 0x43, 0x48, 0x41, + 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, + 0x59, 0x5f, 0x44, 0x52, 0x41, 0x46, 0x54, 0x5f, 0x52, 0x41, 0x4e, 0x44, 0x4f, 0x4d, 0x45, 0x44, + 0x10, 0x70, 0x12, 0x28, 0x0a, 0x24, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, + 0x47, 0x45, 0x5f, 0x50, 0x52, 0x49, 0x56, 0x41, 0x54, 0x45, 0x5f, 0x43, 0x4f, 0x41, 0x43, 0x48, + 0x5f, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x45, 0x44, 0x10, 0x71, 0x12, 0x25, 0x0a, 0x21, + 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x43, 0x41, 0x4e, + 0x54, 0x5f, 0x50, 0x41, 0x55, 0x53, 0x45, 0x5f, 0x54, 0x4f, 0x4f, 0x5f, 0x45, 0x41, 0x52, 0x4c, + 0x59, 0x10, 0x73, 0x2a, 0xb2, 0x01, 0x0a, 0x1d, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x4e, 0x4f, 0x5f, + 0x42, 0x41, 0x54, 0x54, 0x4c, 0x45, 0x5f, 0x50, 0x4f, 0x49, 0x4e, 0x54, 0x53, 0x5f, 0x52, 0x45, + 0x41, 0x53, 0x4f, 0x4e, 0x53, 0x12, 0x25, 0x0a, 0x21, 0x4e, 0x4f, 0x5f, 0x42, 0x41, 0x54, 0x54, + 0x4c, 0x45, 0x5f, 0x50, 0x4f, 0x49, 0x4e, 0x54, 0x53, 0x5f, 0x57, 0x52, 0x4f, 0x4e, 0x47, 0x5f, + 0x4c, 0x4f, 0x42, 0x42, 0x59, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0x01, 0x12, 0x22, 0x0a, 0x1e, + 0x4e, 0x4f, 0x5f, 0x42, 0x41, 0x54, 0x54, 0x4c, 0x45, 0x5f, 0x50, 0x4f, 0x49, 0x4e, 0x54, 0x53, + 0x5f, 0x50, 0x52, 0x41, 0x43, 0x54, 0x49, 0x43, 0x45, 0x5f, 0x42, 0x4f, 0x54, 0x53, 0x10, 0x02, + 0x12, 0x23, 0x0a, 0x1f, 0x4e, 0x4f, 0x5f, 0x42, 0x41, 0x54, 0x54, 0x4c, 0x45, 0x5f, 0x50, 0x4f, + 0x49, 0x4e, 0x54, 0x53, 0x5f, 0x43, 0x48, 0x45, 0x41, 0x54, 0x53, 0x5f, 0x45, 0x4e, 0x41, 0x42, + 0x4c, 0x45, 0x44, 0x10, 0x03, 0x12, 0x21, 0x0a, 0x1d, 0x4e, 0x4f, 0x5f, 0x42, 0x41, 0x54, 0x54, + 0x4c, 0x45, 0x5f, 0x50, 0x4f, 0x49, 0x4e, 0x54, 0x53, 0x5f, 0x4c, 0x4f, 0x57, 0x5f, 0x50, 0x52, + 0x49, 0x4f, 0x52, 0x49, 0x54, 0x59, 0x10, 0x04, 0x2a, 0xcf, 0x01, 0x0a, 0x17, 0x44, 0x4f, 0x54, + 0x41, 0x5f, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x49, 0x4e, 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x49, + 0x4f, 0x4e, 0x41, 0x4c, 0x12, 0x21, 0x0a, 0x1d, 0x49, 0x4e, 0x46, 0x4f, 0x5f, 0x43, 0x4f, 0x4f, + 0x50, 0x5f, 0x42, 0x41, 0x54, 0x54, 0x4c, 0x45, 0x5f, 0x50, 0x4f, 0x49, 0x4e, 0x54, 0x53, 0x5f, + 0x52, 0x55, 0x4c, 0x45, 0x53, 0x10, 0x01, 0x12, 0x23, 0x0a, 0x1f, 0x49, 0x4e, 0x46, 0x4f, 0x5f, + 0x46, 0x52, 0x4f, 0x53, 0x54, 0x49, 0x56, 0x55, 0x53, 0x5f, 0x41, 0x42, 0x41, 0x4e, 0x44, 0x4f, + 0x4e, 0x5f, 0x52, 0x45, 0x4d, 0x49, 0x4e, 0x44, 0x45, 0x52, 0x10, 0x02, 0x12, 0x18, 0x0a, 0x14, + 0x49, 0x4e, 0x46, 0x4f, 0x5f, 0x52, 0x41, 0x4e, 0x4b, 0x45, 0x44, 0x5f, 0x52, 0x45, 0x4d, 0x49, + 0x4e, 0x44, 0x45, 0x52, 0x10, 0x03, 0x12, 0x2b, 0x0a, 0x27, 0x49, 0x4e, 0x46, 0x4f, 0x5f, 0x43, + 0x4f, 0x4f, 0x50, 0x5f, 0x4c, 0x4f, 0x57, 0x5f, 0x50, 0x52, 0x49, 0x4f, 0x52, 0x49, 0x54, 0x59, + 0x5f, 0x50, 0x41, 0x53, 0x53, 0x49, 0x56, 0x45, 0x5f, 0x52, 0x45, 0x4d, 0x49, 0x4e, 0x44, 0x45, + 0x52, 0x10, 0x04, 0x12, 0x25, 0x0a, 0x21, 0x49, 0x4e, 0x46, 0x4f, 0x5f, 0x43, 0x55, 0x53, 0x54, + 0x4f, 0x4d, 0x5f, 0x47, 0x41, 0x4d, 0x45, 0x5f, 0x50, 0x45, 0x4e, 0x41, 0x4c, 0x54, 0x59, 0x5f, + 0x52, 0x45, 0x4d, 0x49, 0x4e, 0x44, 0x45, 0x52, 0x10, 0x05, 0x2a, 0xbc, 0x03, 0x0a, 0x16, 0x44, + 0x4f, 0x54, 0x41, 0x5f, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x50, 0x49, 0x4e, 0x47, + 0x5f, 0x54, 0x59, 0x50, 0x45, 0x12, 0x16, 0x0a, 0x12, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, + 0x5f, 0x50, 0x49, 0x4e, 0x47, 0x5f, 0x52, 0x45, 0x41, 0x44, 0x59, 0x10, 0x01, 0x12, 0x15, 0x0a, + 0x11, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x50, 0x49, 0x4e, 0x47, 0x5f, 0x4d, 0x41, + 0x4e, 0x41, 0x10, 0x02, 0x12, 0x19, 0x0a, 0x15, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, + 0x50, 0x49, 0x4e, 0x47, 0x5f, 0x43, 0x4f, 0x4f, 0x4c, 0x44, 0x4f, 0x57, 0x4e, 0x10, 0x03, 0x12, + 0x16, 0x0a, 0x12, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x50, 0x49, 0x4e, 0x47, 0x5f, + 0x45, 0x4e, 0x45, 0x4d, 0x59, 0x10, 0x04, 0x12, 0x1a, 0x0a, 0x16, 0x41, 0x42, 0x49, 0x4c, 0x49, + 0x54, 0x59, 0x5f, 0x50, 0x49, 0x4e, 0x47, 0x5f, 0x55, 0x4e, 0x4c, 0x45, 0x41, 0x52, 0x4e, 0x45, + 0x44, 0x10, 0x05, 0x12, 0x1b, 0x0a, 0x17, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x50, + 0x49, 0x4e, 0x47, 0x5f, 0x49, 0x4e, 0x42, 0x41, 0x43, 0x4b, 0x50, 0x41, 0x43, 0x4b, 0x10, 0x06, + 0x12, 0x18, 0x0a, 0x14, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x50, 0x49, 0x4e, 0x47, + 0x5f, 0x49, 0x4e, 0x53, 0x54, 0x41, 0x53, 0x48, 0x10, 0x07, 0x12, 0x1a, 0x0a, 0x16, 0x41, 0x42, + 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x50, 0x49, 0x4e, 0x47, 0x5f, 0x4f, 0x4e, 0x43, 0x4f, 0x55, + 0x52, 0x49, 0x45, 0x52, 0x10, 0x08, 0x12, 0x15, 0x0a, 0x11, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, + 0x59, 0x5f, 0x50, 0x49, 0x4e, 0x47, 0x5f, 0x41, 0x4c, 0x4c, 0x59, 0x10, 0x09, 0x12, 0x1c, 0x0a, + 0x18, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x50, 0x49, 0x4e, 0x47, 0x5f, 0x4c, 0x45, + 0x41, 0x52, 0x4e, 0x5f, 0x52, 0x45, 0x41, 0x44, 0x59, 0x10, 0x0a, 0x12, 0x1b, 0x0a, 0x17, 0x41, + 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x50, 0x49, 0x4e, 0x47, 0x5f, 0x57, 0x49, 0x4c, 0x4c, + 0x5f, 0x4c, 0x45, 0x41, 0x52, 0x4e, 0x10, 0x0b, 0x12, 0x1d, 0x0a, 0x19, 0x41, 0x42, 0x49, 0x4c, + 0x49, 0x54, 0x59, 0x5f, 0x50, 0x49, 0x4e, 0x47, 0x5f, 0x46, 0x55, 0x54, 0x55, 0x52, 0x45, 0x5f, + 0x4c, 0x45, 0x41, 0x52, 0x4e, 0x10, 0x0c, 0x12, 0x1e, 0x0a, 0x1a, 0x41, 0x42, 0x49, 0x4c, 0x49, + 0x54, 0x59, 0x5f, 0x50, 0x49, 0x4e, 0x47, 0x5f, 0x4e, 0x45, 0x55, 0x54, 0x52, 0x41, 0x4c, 0x5f, + 0x4f, 0x46, 0x46, 0x45, 0x52, 0x10, 0x0d, 0x12, 0x20, 0x0a, 0x1c, 0x41, 0x42, 0x49, 0x4c, 0x49, + 0x54, 0x59, 0x5f, 0x50, 0x49, 0x4e, 0x47, 0x5f, 0x4e, 0x45, 0x55, 0x54, 0x52, 0x41, 0x4c, 0x5f, + 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x10, 0x0e, 0x12, 0x1e, 0x0a, 0x1a, 0x41, 0x42, 0x49, + 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x50, 0x49, 0x4e, 0x47, 0x5f, 0x4e, 0x45, 0x55, 0x54, 0x52, 0x41, + 0x4c, 0x5f, 0x45, 0x51, 0x55, 0x49, 0x50, 0x10, 0x0f, 0x2a, 0x8c, 0x02, 0x0a, 0x17, 0x44, 0x4f, + 0x54, 0x41, 0x5f, 0x52, 0x45, 0x50, 0x4c, 0x41, 0x59, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, + 0x45, 0x56, 0x45, 0x4e, 0x54, 0x12, 0x26, 0x0a, 0x22, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x52, 0x45, + 0x50, 0x4c, 0x41, 0x59, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, + 0x5f, 0x47, 0x41, 0x4d, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x52, 0x54, 0x10, 0x01, 0x12, 0x29, 0x0a, + 0x25, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x52, 0x45, 0x50, 0x4c, 0x41, 0x59, 0x5f, 0x53, 0x54, 0x41, + 0x54, 0x45, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x52, 0x54, 0x49, 0x4e, + 0x47, 0x5f, 0x48, 0x4f, 0x52, 0x4e, 0x10, 0x02, 0x12, 0x27, 0x0a, 0x23, 0x44, 0x4f, 0x54, 0x41, + 0x5f, 0x52, 0x45, 0x50, 0x4c, 0x41, 0x59, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x45, 0x56, + 0x45, 0x4e, 0x54, 0x5f, 0x46, 0x49, 0x52, 0x53, 0x54, 0x5f, 0x42, 0x4c, 0x4f, 0x4f, 0x44, 0x10, + 0x03, 0x12, 0x24, 0x0a, 0x20, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x52, 0x45, 0x50, 0x4c, 0x41, 0x59, + 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x53, 0x48, 0x4f, + 0x57, 0x43, 0x41, 0x53, 0x45, 0x10, 0x04, 0x12, 0x25, 0x0a, 0x21, 0x44, 0x4f, 0x54, 0x41, 0x5f, + 0x52, 0x45, 0x50, 0x4c, 0x41, 0x59, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x45, 0x56, 0x45, + 0x4e, 0x54, 0x5f, 0x50, 0x4f, 0x53, 0x54, 0x5f, 0x47, 0x41, 0x4d, 0x45, 0x10, 0x05, 0x12, 0x28, + 0x0a, 0x24, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x52, 0x45, 0x50, 0x4c, 0x41, 0x59, 0x5f, 0x53, 0x54, + 0x41, 0x54, 0x45, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x57, 0x41, 0x49, 0x54, 0x5f, 0x46, + 0x4f, 0x52, 0x5f, 0x4d, 0x41, 0x50, 0x10, 0x06, 0x2a, 0xe5, 0x01, 0x0a, 0x13, 0x45, 0x44, 0x6f, + 0x74, 0x61, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, + 0x12, 0x14, 0x0a, 0x10, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4e, 0x49, 0x54, 0x5f, 0x53, 0x50, + 0x45, 0x45, 0x43, 0x48, 0x10, 0x00, 0x12, 0x19, 0x0a, 0x15, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, + 0x4e, 0x49, 0x54, 0x5f, 0x53, 0x50, 0x45, 0x45, 0x43, 0x48, 0x5f, 0x4d, 0x55, 0x54, 0x45, 0x10, + 0x01, 0x12, 0x19, 0x0a, 0x15, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4e, 0x49, 0x54, 0x5f, 0x41, + 0x44, 0x44, 0x5f, 0x47, 0x45, 0x53, 0x54, 0x55, 0x52, 0x45, 0x10, 0x02, 0x12, 0x1c, 0x0a, 0x18, + 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4e, 0x49, 0x54, 0x5f, 0x52, 0x45, 0x4d, 0x4f, 0x56, 0x45, + 0x5f, 0x47, 0x45, 0x53, 0x54, 0x55, 0x52, 0x45, 0x10, 0x03, 0x12, 0x21, 0x0a, 0x1d, 0x44, 0x4f, + 0x54, 0x41, 0x5f, 0x55, 0x4e, 0x49, 0x54, 0x5f, 0x52, 0x45, 0x4d, 0x4f, 0x56, 0x45, 0x5f, 0x41, + 0x4c, 0x4c, 0x5f, 0x47, 0x45, 0x53, 0x54, 0x55, 0x52, 0x45, 0x53, 0x10, 0x04, 0x12, 0x1a, 0x0a, + 0x16, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4e, 0x49, 0x54, 0x5f, 0x46, 0x41, 0x44, 0x45, 0x5f, + 0x47, 0x45, 0x53, 0x54, 0x55, 0x52, 0x45, 0x10, 0x06, 0x12, 0x25, 0x0a, 0x21, 0x44, 0x4f, 0x54, + 0x41, 0x5f, 0x55, 0x4e, 0x49, 0x54, 0x5f, 0x53, 0x50, 0x45, 0x45, 0x43, 0x48, 0x5f, 0x43, 0x4c, + 0x49, 0x45, 0x4e, 0x54, 0x53, 0x49, 0x44, 0x45, 0x5f, 0x52, 0x55, 0x4c, 0x45, 0x53, 0x10, 0x07, + 0x2a, 0x8d, 0x06, 0x0a, 0x13, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x4f, 0x56, 0x45, 0x52, 0x48, 0x45, + 0x41, 0x44, 0x5f, 0x41, 0x4c, 0x45, 0x52, 0x54, 0x12, 0x17, 0x0a, 0x13, 0x4f, 0x56, 0x45, 0x52, + 0x48, 0x45, 0x41, 0x44, 0x5f, 0x41, 0x4c, 0x45, 0x52, 0x54, 0x5f, 0x47, 0x4f, 0x4c, 0x44, 0x10, + 0x00, 0x12, 0x17, 0x0a, 0x13, 0x4f, 0x56, 0x45, 0x52, 0x48, 0x45, 0x41, 0x44, 0x5f, 0x41, 0x4c, + 0x45, 0x52, 0x54, 0x5f, 0x44, 0x45, 0x4e, 0x59, 0x10, 0x01, 0x12, 0x1b, 0x0a, 0x17, 0x4f, 0x56, + 0x45, 0x52, 0x48, 0x45, 0x41, 0x44, 0x5f, 0x41, 0x4c, 0x45, 0x52, 0x54, 0x5f, 0x43, 0x52, 0x49, + 0x54, 0x49, 0x43, 0x41, 0x4c, 0x10, 0x02, 0x12, 0x15, 0x0a, 0x11, 0x4f, 0x56, 0x45, 0x52, 0x48, + 0x45, 0x41, 0x44, 0x5f, 0x41, 0x4c, 0x45, 0x52, 0x54, 0x5f, 0x58, 0x50, 0x10, 0x03, 0x12, 0x25, + 0x0a, 0x21, 0x4f, 0x56, 0x45, 0x52, 0x48, 0x45, 0x41, 0x44, 0x5f, 0x41, 0x4c, 0x45, 0x52, 0x54, + 0x5f, 0x42, 0x4f, 0x4e, 0x55, 0x53, 0x5f, 0x53, 0x50, 0x45, 0x4c, 0x4c, 0x5f, 0x44, 0x41, 0x4d, + 0x41, 0x47, 0x45, 0x10, 0x04, 0x12, 0x17, 0x0a, 0x13, 0x4f, 0x56, 0x45, 0x52, 0x48, 0x45, 0x41, + 0x44, 0x5f, 0x41, 0x4c, 0x45, 0x52, 0x54, 0x5f, 0x4d, 0x49, 0x53, 0x53, 0x10, 0x05, 0x12, 0x19, + 0x0a, 0x15, 0x4f, 0x56, 0x45, 0x52, 0x48, 0x45, 0x41, 0x44, 0x5f, 0x41, 0x4c, 0x45, 0x52, 0x54, + 0x5f, 0x44, 0x41, 0x4d, 0x41, 0x47, 0x45, 0x10, 0x06, 0x12, 0x18, 0x0a, 0x14, 0x4f, 0x56, 0x45, + 0x52, 0x48, 0x45, 0x41, 0x44, 0x5f, 0x41, 0x4c, 0x45, 0x52, 0x54, 0x5f, 0x45, 0x56, 0x41, 0x44, + 0x45, 0x10, 0x07, 0x12, 0x18, 0x0a, 0x14, 0x4f, 0x56, 0x45, 0x52, 0x48, 0x45, 0x41, 0x44, 0x5f, + 0x41, 0x4c, 0x45, 0x52, 0x54, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x10, 0x08, 0x12, 0x26, 0x0a, + 0x22, 0x4f, 0x56, 0x45, 0x52, 0x48, 0x45, 0x41, 0x44, 0x5f, 0x41, 0x4c, 0x45, 0x52, 0x54, 0x5f, + 0x42, 0x4f, 0x4e, 0x55, 0x53, 0x5f, 0x50, 0x4f, 0x49, 0x53, 0x4f, 0x4e, 0x5f, 0x44, 0x41, 0x4d, + 0x41, 0x47, 0x45, 0x10, 0x09, 0x12, 0x17, 0x0a, 0x13, 0x4f, 0x56, 0x45, 0x52, 0x48, 0x45, 0x41, + 0x44, 0x5f, 0x41, 0x4c, 0x45, 0x52, 0x54, 0x5f, 0x48, 0x45, 0x41, 0x4c, 0x10, 0x0a, 0x12, 0x1b, + 0x0a, 0x17, 0x4f, 0x56, 0x45, 0x52, 0x48, 0x45, 0x41, 0x44, 0x5f, 0x41, 0x4c, 0x45, 0x52, 0x54, + 0x5f, 0x4d, 0x41, 0x4e, 0x41, 0x5f, 0x41, 0x44, 0x44, 0x10, 0x0b, 0x12, 0x1c, 0x0a, 0x18, 0x4f, + 0x56, 0x45, 0x52, 0x48, 0x45, 0x41, 0x44, 0x5f, 0x41, 0x4c, 0x45, 0x52, 0x54, 0x5f, 0x4d, 0x41, + 0x4e, 0x41, 0x5f, 0x4c, 0x4f, 0x53, 0x53, 0x10, 0x0c, 0x12, 0x21, 0x0a, 0x1d, 0x4f, 0x56, 0x45, + 0x52, 0x48, 0x45, 0x41, 0x44, 0x5f, 0x41, 0x4c, 0x45, 0x52, 0x54, 0x5f, 0x4c, 0x41, 0x53, 0x54, + 0x5f, 0x48, 0x49, 0x54, 0x5f, 0x45, 0x41, 0x52, 0x4c, 0x59, 0x10, 0x0d, 0x12, 0x21, 0x0a, 0x1d, + 0x4f, 0x56, 0x45, 0x52, 0x48, 0x45, 0x41, 0x44, 0x5f, 0x41, 0x4c, 0x45, 0x52, 0x54, 0x5f, 0x4c, + 0x41, 0x53, 0x54, 0x5f, 0x48, 0x49, 0x54, 0x5f, 0x43, 0x4c, 0x4f, 0x53, 0x45, 0x10, 0x0e, 0x12, + 0x20, 0x0a, 0x1c, 0x4f, 0x56, 0x45, 0x52, 0x48, 0x45, 0x41, 0x44, 0x5f, 0x41, 0x4c, 0x45, 0x52, + 0x54, 0x5f, 0x4c, 0x41, 0x53, 0x54, 0x5f, 0x48, 0x49, 0x54, 0x5f, 0x4d, 0x49, 0x53, 0x53, 0x10, + 0x0f, 0x12, 0x20, 0x0a, 0x1c, 0x4f, 0x56, 0x45, 0x52, 0x48, 0x45, 0x41, 0x44, 0x5f, 0x41, 0x4c, + 0x45, 0x52, 0x54, 0x5f, 0x4d, 0x41, 0x47, 0x49, 0x43, 0x41, 0x4c, 0x5f, 0x42, 0x4c, 0x4f, 0x43, + 0x4b, 0x10, 0x10, 0x12, 0x22, 0x0a, 0x1e, 0x4f, 0x56, 0x45, 0x52, 0x48, 0x45, 0x41, 0x44, 0x5f, + 0x41, 0x4c, 0x45, 0x52, 0x54, 0x5f, 0x49, 0x4e, 0x43, 0x4f, 0x4d, 0x49, 0x4e, 0x47, 0x5f, 0x44, + 0x41, 0x4d, 0x41, 0x47, 0x45, 0x10, 0x11, 0x12, 0x22, 0x0a, 0x1e, 0x4f, 0x56, 0x45, 0x52, 0x48, + 0x45, 0x41, 0x44, 0x5f, 0x41, 0x4c, 0x45, 0x52, 0x54, 0x5f, 0x4f, 0x55, 0x54, 0x47, 0x4f, 0x49, + 0x4e, 0x47, 0x5f, 0x44, 0x41, 0x4d, 0x41, 0x47, 0x45, 0x10, 0x12, 0x12, 0x21, 0x0a, 0x1d, 0x4f, + 0x56, 0x45, 0x52, 0x48, 0x45, 0x41, 0x44, 0x5f, 0x41, 0x4c, 0x45, 0x52, 0x54, 0x5f, 0x44, 0x49, + 0x53, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x52, 0x45, 0x53, 0x49, 0x53, 0x54, 0x10, 0x13, 0x12, 0x18, + 0x0a, 0x14, 0x4f, 0x56, 0x45, 0x52, 0x48, 0x45, 0x41, 0x44, 0x5f, 0x41, 0x4c, 0x45, 0x52, 0x54, + 0x5f, 0x44, 0x45, 0x41, 0x54, 0x48, 0x10, 0x14, 0x12, 0x1a, 0x0a, 0x16, 0x4f, 0x56, 0x45, 0x52, + 0x48, 0x45, 0x41, 0x44, 0x5f, 0x41, 0x4c, 0x45, 0x52, 0x54, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, + 0x45, 0x44, 0x10, 0x15, 0x12, 0x20, 0x0a, 0x1c, 0x4f, 0x56, 0x45, 0x52, 0x48, 0x45, 0x41, 0x44, + 0x5f, 0x41, 0x4c, 0x45, 0x52, 0x54, 0x5f, 0x49, 0x54, 0x45, 0x4d, 0x5f, 0x52, 0x45, 0x43, 0x45, + 0x49, 0x56, 0x45, 0x44, 0x10, 0x16, 0x12, 0x18, 0x0a, 0x14, 0x4f, 0x56, 0x45, 0x52, 0x48, 0x45, + 0x41, 0x44, 0x5f, 0x41, 0x4c, 0x45, 0x52, 0x54, 0x5f, 0x53, 0x48, 0x41, 0x52, 0x44, 0x10, 0x17, + 0x12, 0x1e, 0x0a, 0x1a, 0x4f, 0x56, 0x45, 0x52, 0x48, 0x45, 0x41, 0x44, 0x5f, 0x41, 0x4c, 0x45, + 0x52, 0x54, 0x5f, 0x44, 0x45, 0x41, 0x44, 0x4c, 0x59, 0x5f, 0x42, 0x4c, 0x4f, 0x57, 0x10, 0x18, + 0x2a, 0x6b, 0x0a, 0x11, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x52, 0x4f, 0x53, 0x48, 0x41, 0x4e, 0x5f, + 0x50, 0x48, 0x41, 0x53, 0x45, 0x12, 0x17, 0x0a, 0x13, 0x6b, 0x5f, 0x53, 0x52, 0x53, 0x50, 0x5f, + 0x52, 0x4f, 0x53, 0x48, 0x41, 0x4e, 0x5f, 0x41, 0x4c, 0x49, 0x56, 0x45, 0x10, 0x00, 0x12, 0x1c, + 0x0a, 0x18, 0x6b, 0x5f, 0x53, 0x52, 0x53, 0x50, 0x5f, 0x52, 0x4f, 0x53, 0x48, 0x41, 0x4e, 0x5f, + 0x42, 0x41, 0x53, 0x45, 0x5f, 0x54, 0x49, 0x4d, 0x45, 0x52, 0x10, 0x01, 0x12, 0x1f, 0x0a, 0x1b, + 0x6b, 0x5f, 0x53, 0x52, 0x53, 0x50, 0x5f, 0x52, 0x4f, 0x53, 0x48, 0x41, 0x4e, 0x5f, 0x56, 0x49, + 0x53, 0x49, 0x42, 0x4c, 0x45, 0x5f, 0x54, 0x49, 0x4d, 0x45, 0x52, 0x10, 0x02, 0x2a, 0x81, 0x04, + 0x0a, 0x16, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x50, 0x4f, 0x53, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x5f, + 0x43, 0x41, 0x54, 0x45, 0x47, 0x4f, 0x52, 0x59, 0x12, 0x16, 0x0a, 0x12, 0x44, 0x4f, 0x54, 0x41, + 0x5f, 0x50, 0x4f, 0x53, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, + 0x12, 0x1d, 0x0a, 0x19, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x50, 0x4f, 0x53, 0x49, 0x54, 0x49, 0x4f, + 0x4e, 0x5f, 0x42, 0x4f, 0x54, 0x54, 0x4f, 0x4d, 0x5f, 0x4c, 0x41, 0x4e, 0x45, 0x10, 0x01, 0x12, + 0x1a, 0x0a, 0x16, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x50, 0x4f, 0x53, 0x49, 0x54, 0x49, 0x4f, 0x4e, + 0x5f, 0x4d, 0x49, 0x44, 0x5f, 0x4c, 0x41, 0x4e, 0x45, 0x10, 0x02, 0x12, 0x1a, 0x0a, 0x16, 0x44, + 0x4f, 0x54, 0x41, 0x5f, 0x50, 0x4f, 0x53, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x4f, 0x50, + 0x5f, 0x4c, 0x41, 0x4e, 0x45, 0x10, 0x03, 0x12, 0x20, 0x0a, 0x1c, 0x44, 0x4f, 0x54, 0x41, 0x5f, + 0x50, 0x4f, 0x53, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x41, 0x44, 0x49, 0x41, 0x4e, 0x54, + 0x5f, 0x4a, 0x55, 0x4e, 0x47, 0x4c, 0x45, 0x10, 0x04, 0x12, 0x1d, 0x0a, 0x19, 0x44, 0x4f, 0x54, + 0x41, 0x5f, 0x50, 0x4f, 0x53, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x44, 0x49, 0x52, 0x45, 0x5f, + 0x4a, 0x55, 0x4e, 0x47, 0x4c, 0x45, 0x10, 0x05, 0x12, 0x22, 0x0a, 0x1e, 0x44, 0x4f, 0x54, 0x41, + 0x5f, 0x50, 0x4f, 0x53, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x41, 0x44, 0x49, 0x41, 0x4e, + 0x54, 0x5f, 0x41, 0x4e, 0x43, 0x49, 0x45, 0x4e, 0x54, 0x53, 0x10, 0x06, 0x12, 0x1f, 0x0a, 0x1b, + 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x50, 0x4f, 0x53, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x44, 0x49, + 0x52, 0x45, 0x5f, 0x41, 0x4e, 0x43, 0x49, 0x45, 0x4e, 0x54, 0x53, 0x10, 0x07, 0x12, 0x25, 0x0a, + 0x21, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x50, 0x4f, 0x53, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x52, + 0x41, 0x44, 0x49, 0x41, 0x4e, 0x54, 0x5f, 0x53, 0x45, 0x43, 0x52, 0x45, 0x54, 0x5f, 0x53, 0x48, + 0x4f, 0x50, 0x10, 0x08, 0x12, 0x22, 0x0a, 0x1e, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x50, 0x4f, 0x53, + 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x44, 0x49, 0x52, 0x45, 0x5f, 0x53, 0x45, 0x43, 0x52, 0x45, + 0x54, 0x5f, 0x53, 0x48, 0x4f, 0x50, 0x10, 0x09, 0x12, 0x17, 0x0a, 0x13, 0x44, 0x4f, 0x54, 0x41, + 0x5f, 0x50, 0x4f, 0x53, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x49, 0x56, 0x45, 0x52, 0x10, + 0x0a, 0x12, 0x1c, 0x0a, 0x18, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x50, 0x4f, 0x53, 0x49, 0x54, 0x49, + 0x4f, 0x4e, 0x5f, 0x52, 0x4f, 0x53, 0x48, 0x41, 0x4e, 0x5f, 0x50, 0x49, 0x54, 0x10, 0x0b, 0x12, + 0x1e, 0x0a, 0x1a, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x50, 0x4f, 0x53, 0x49, 0x54, 0x49, 0x4f, 0x4e, + 0x5f, 0x52, 0x41, 0x44, 0x49, 0x41, 0x4e, 0x54, 0x5f, 0x42, 0x41, 0x53, 0x45, 0x10, 0x0c, 0x12, + 0x1b, 0x0a, 0x17, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x50, 0x4f, 0x53, 0x49, 0x54, 0x49, 0x4f, 0x4e, + 0x5f, 0x44, 0x49, 0x52, 0x45, 0x5f, 0x42, 0x41, 0x53, 0x45, 0x10, 0x0d, 0x12, 0x1a, 0x0a, 0x16, + 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x50, 0x4f, 0x53, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x46, 0x4f, + 0x55, 0x4e, 0x54, 0x41, 0x49, 0x4e, 0x10, 0x0e, 0x12, 0x17, 0x0a, 0x13, 0x44, 0x4f, 0x54, 0x41, + 0x5f, 0x50, 0x4f, 0x53, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4f, 0x54, 0x48, 0x45, 0x52, 0x10, + 0x0f, 0x2a, 0xe6, 0x01, 0x0a, 0x18, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x41, 0x42, 0x49, 0x4c, 0x49, + 0x54, 0x59, 0x5f, 0x54, 0x41, 0x52, 0x47, 0x45, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x12, 0x1c, + 0x0a, 0x18, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x54, + 0x41, 0x52, 0x47, 0x45, 0x54, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x1c, 0x0a, 0x18, + 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x54, 0x41, 0x52, + 0x47, 0x45, 0x54, 0x5f, 0x53, 0x45, 0x4c, 0x46, 0x10, 0x01, 0x12, 0x21, 0x0a, 0x1d, 0x44, 0x4f, + 0x54, 0x41, 0x5f, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x54, 0x41, 0x52, 0x47, 0x45, + 0x54, 0x5f, 0x41, 0x4c, 0x4c, 0x59, 0x5f, 0x48, 0x45, 0x52, 0x4f, 0x10, 0x02, 0x12, 0x22, 0x0a, + 0x1e, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x54, 0x41, + 0x52, 0x47, 0x45, 0x54, 0x5f, 0x41, 0x4c, 0x4c, 0x59, 0x5f, 0x43, 0x52, 0x45, 0x45, 0x50, 0x10, + 0x03, 0x12, 0x22, 0x0a, 0x1e, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, + 0x59, 0x5f, 0x54, 0x41, 0x52, 0x47, 0x45, 0x54, 0x5f, 0x45, 0x4e, 0x45, 0x4d, 0x59, 0x5f, 0x48, + 0x45, 0x52, 0x4f, 0x10, 0x04, 0x12, 0x23, 0x0a, 0x1f, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x41, 0x42, + 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x54, 0x41, 0x52, 0x47, 0x45, 0x54, 0x5f, 0x45, 0x4e, 0x45, + 0x4d, 0x59, 0x5f, 0x43, 0x52, 0x45, 0x45, 0x50, 0x10, 0x05, 0x2a, 0x98, 0x08, 0x0a, 0x0d, 0x45, + 0x48, 0x65, 0x72, 0x6f, 0x53, 0x74, 0x61, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x14, + 0x6b, 0x5f, 0x45, 0x48, 0x65, 0x72, 0x6f, 0x53, 0x74, 0x61, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, + 0x4e, 0x6f, 0x6e, 0x65, 0x10, 0x00, 0x12, 0x23, 0x0a, 0x1e, 0x6b, 0x5f, 0x45, 0x48, 0x65, 0x72, + 0x6f, 0x53, 0x74, 0x61, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x41, 0x78, 0x65, 0x54, 0x6f, 0x74, + 0x61, 0x6c, 0x44, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x10, 0xd0, 0x0f, 0x12, 0x27, 0x0a, 0x22, 0x6b, + 0x5f, 0x45, 0x48, 0x65, 0x72, 0x6f, 0x53, 0x74, 0x61, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x42, + 0x61, 0x74, 0x74, 0x6c, 0x65, 0x48, 0x75, 0x6e, 0x67, 0x65, 0x72, 0x44, 0x61, 0x6d, 0x61, 0x67, + 0x65, 0x10, 0xd1, 0x0f, 0x12, 0x27, 0x0a, 0x22, 0x6b, 0x5f, 0x45, 0x48, 0x65, 0x72, 0x6f, 0x53, + 0x74, 0x61, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x48, + 0x65, 0x6c, 0x69, 0x78, 0x44, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x10, 0xd2, 0x0f, 0x12, 0x27, 0x0a, + 0x22, 0x6b, 0x5f, 0x45, 0x48, 0x65, 0x72, 0x6f, 0x53, 0x74, 0x61, 0x74, 0x54, 0x79, 0x70, 0x65, + 0x5f, 0x43, 0x75, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x42, 0x6c, 0x61, 0x64, 0x65, 0x44, 0x61, 0x6d, + 0x61, 0x67, 0x65, 0x10, 0xd3, 0x0f, 0x12, 0x2c, 0x0a, 0x27, 0x6b, 0x5f, 0x45, 0x48, 0x65, 0x72, + 0x6f, 0x53, 0x74, 0x61, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x42, 0x65, 0x72, 0x73, 0x65, 0x72, + 0x6b, 0x65, 0x72, 0x73, 0x43, 0x61, 0x6c, 0x6c, 0x43, 0x61, 0x73, 0x74, 0x43, 0x6f, 0x75, 0x6e, + 0x74, 0x10, 0xd4, 0x0f, 0x12, 0x33, 0x0a, 0x2e, 0x6b, 0x5f, 0x45, 0x48, 0x65, 0x72, 0x6f, 0x53, + 0x74, 0x61, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x42, 0x65, 0x72, 0x73, 0x65, 0x72, 0x6b, 0x65, + 0x72, 0x73, 0x43, 0x61, 0x6c, 0x6c, 0x48, 0x65, 0x72, 0x6f, 0x65, 0x73, 0x48, 0x69, 0x74, 0x41, + 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x10, 0xd5, 0x0f, 0x12, 0x30, 0x0a, 0x2b, 0x6b, 0x5f, 0x45, + 0x48, 0x65, 0x72, 0x6f, 0x53, 0x74, 0x61, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x42, 0x65, 0x72, + 0x73, 0x65, 0x72, 0x6b, 0x65, 0x72, 0x73, 0x43, 0x61, 0x6c, 0x6c, 0x4f, 0x74, 0x68, 0x65, 0x72, + 0x55, 0x6e, 0x69, 0x74, 0x73, 0x48, 0x69, 0x74, 0x10, 0xd6, 0x0f, 0x12, 0x33, 0x0a, 0x2e, 0x6b, + 0x5f, 0x45, 0x48, 0x65, 0x72, 0x6f, 0x53, 0x74, 0x61, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x42, + 0x65, 0x72, 0x73, 0x65, 0x72, 0x6b, 0x65, 0x72, 0x73, 0x43, 0x61, 0x6c, 0x6c, 0x48, 0x65, 0x72, + 0x6f, 0x41, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x73, 0x54, 0x61, 0x6b, 0x65, 0x6e, 0x10, 0xd7, 0x0f, + 0x12, 0x34, 0x0a, 0x2f, 0x6b, 0x5f, 0x45, 0x48, 0x65, 0x72, 0x6f, 0x53, 0x74, 0x61, 0x74, 0x54, + 0x79, 0x70, 0x65, 0x5f, 0x42, 0x65, 0x72, 0x73, 0x65, 0x72, 0x6b, 0x65, 0x72, 0x73, 0x43, 0x61, + 0x6c, 0x6c, 0x4f, 0x74, 0x68, 0x65, 0x72, 0x41, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x73, 0x54, 0x61, + 0x6b, 0x65, 0x6e, 0x10, 0xd8, 0x0f, 0x12, 0x2a, 0x0a, 0x25, 0x6b, 0x5f, 0x45, 0x48, 0x65, 0x72, + 0x6f, 0x53, 0x74, 0x61, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, + 0x48, 0x75, 0x6e, 0x67, 0x65, 0x72, 0x43, 0x61, 0x73, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x10, + 0xd9, 0x0f, 0x12, 0x32, 0x0a, 0x2d, 0x6b, 0x5f, 0x45, 0x48, 0x65, 0x72, 0x6f, 0x53, 0x74, 0x61, + 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x48, 0x75, 0x6e, 0x67, + 0x65, 0x72, 0x50, 0x6f, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x44, 0x75, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x10, 0xda, 0x0f, 0x12, 0x30, 0x0a, 0x2b, 0x6b, 0x5f, 0x45, 0x48, 0x65, 0x72, + 0x6f, 0x53, 0x74, 0x61, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, + 0x48, 0x75, 0x6e, 0x67, 0x65, 0x72, 0x41, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x44, 0x75, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0xdb, 0x0f, 0x12, 0x2a, 0x0a, 0x25, 0x6b, 0x5f, 0x45, 0x48, + 0x65, 0x72, 0x6f, 0x53, 0x74, 0x61, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x43, 0x6f, 0x75, 0x6e, + 0x74, 0x65, 0x72, 0x48, 0x65, 0x6c, 0x69, 0x78, 0x50, 0x72, 0x6f, 0x63, 0x43, 0x6f, 0x75, 0x6e, + 0x74, 0x10, 0xdc, 0x0f, 0x12, 0x2e, 0x0a, 0x29, 0x6b, 0x5f, 0x45, 0x48, 0x65, 0x72, 0x6f, 0x53, + 0x74, 0x61, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x48, + 0x65, 0x6c, 0x69, 0x78, 0x48, 0x65, 0x72, 0x6f, 0x50, 0x72, 0x6f, 0x63, 0x43, 0x6f, 0x75, 0x6e, + 0x74, 0x10, 0xdd, 0x0f, 0x12, 0x31, 0x0a, 0x2c, 0x6b, 0x5f, 0x45, 0x48, 0x65, 0x72, 0x6f, 0x53, + 0x74, 0x61, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x48, + 0x65, 0x6c, 0x69, 0x78, 0x48, 0x65, 0x72, 0x6f, 0x65, 0x73, 0x48, 0x69, 0x74, 0x41, 0x76, 0x65, + 0x72, 0x61, 0x67, 0x65, 0x10, 0xde, 0x0f, 0x12, 0x33, 0x0a, 0x2e, 0x6b, 0x5f, 0x45, 0x48, 0x65, + 0x72, 0x6f, 0x53, 0x74, 0x61, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x43, 0x6f, 0x75, 0x6e, 0x74, + 0x65, 0x72, 0x48, 0x65, 0x6c, 0x69, 0x78, 0x4f, 0x74, 0x68, 0x65, 0x72, 0x55, 0x6e, 0x69, 0x74, + 0x73, 0x48, 0x69, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x10, 0xdf, 0x0f, 0x12, 0x2a, 0x0a, 0x25, + 0x6b, 0x5f, 0x45, 0x48, 0x65, 0x72, 0x6f, 0x53, 0x74, 0x61, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, + 0x43, 0x75, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x42, 0x6c, 0x61, 0x64, 0x65, 0x43, 0x61, 0x73, 0x74, + 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x10, 0xe0, 0x0f, 0x12, 0x2a, 0x0a, 0x25, 0x6b, 0x5f, 0x45, 0x48, + 0x65, 0x72, 0x6f, 0x53, 0x74, 0x61, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x43, 0x75, 0x6c, 0x6c, + 0x69, 0x6e, 0x67, 0x42, 0x6c, 0x61, 0x64, 0x65, 0x4b, 0x69, 0x6c, 0x6c, 0x43, 0x6f, 0x75, 0x6e, + 0x74, 0x10, 0xe1, 0x0f, 0x12, 0x34, 0x0a, 0x2f, 0x6b, 0x5f, 0x45, 0x48, 0x65, 0x72, 0x6f, 0x53, + 0x74, 0x61, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x43, 0x75, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x42, + 0x6c, 0x61, 0x64, 0x65, 0x41, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x48, 0x65, 0x61, 0x6c, 0x74, + 0x68, 0x43, 0x75, 0x6c, 0x6c, 0x65, 0x64, 0x10, 0xe2, 0x0f, 0x12, 0x37, 0x0a, 0x32, 0x6b, 0x5f, + 0x45, 0x48, 0x65, 0x72, 0x6f, 0x53, 0x74, 0x61, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x43, 0x75, + 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x42, 0x6c, 0x61, 0x64, 0x65, 0x41, 0x76, 0x65, 0x72, 0x61, 0x67, + 0x65, 0x44, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, + 0x10, 0xe3, 0x0f, 0x12, 0x30, 0x0a, 0x2b, 0x6b, 0x5f, 0x45, 0x48, 0x65, 0x72, 0x6f, 0x53, 0x74, + 0x61, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x43, 0x75, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x42, 0x6c, + 0x61, 0x64, 0x65, 0x48, 0x65, 0x72, 0x6f, 0x42, 0x75, 0x66, 0x66, 0x41, 0x76, 0x65, 0x72, 0x61, + 0x67, 0x65, 0x10, 0xe4, 0x0f, 0x2a, 0xe4, 0x04, 0x0a, 0x17, 0x45, 0x50, 0x6c, 0x61, 0x79, 0x65, + 0x72, 0x56, 0x6f, 0x69, 0x63, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x53, 0x74, 0x61, 0x74, + 0x65, 0x12, 0x0e, 0x0a, 0x0a, 0x6b, 0x50, 0x56, 0x4c, 0x53, 0x5f, 0x4e, 0x6f, 0x6e, 0x65, 0x10, + 0x00, 0x12, 0x1a, 0x0a, 0x16, 0x6b, 0x50, 0x56, 0x4c, 0x53, 0x5f, 0x44, 0x65, 0x6e, 0x69, 0x65, + 0x64, 0x43, 0x68, 0x61, 0x74, 0x42, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x10, 0x01, 0x12, 0x17, 0x0a, + 0x13, 0x6b, 0x50, 0x56, 0x4c, 0x53, 0x5f, 0x44, 0x65, 0x6e, 0x69, 0x65, 0x64, 0x50, 0x61, 0x72, + 0x74, 0x6e, 0x65, 0x72, 0x10, 0x02, 0x12, 0x26, 0x0a, 0x22, 0x6b, 0x50, 0x56, 0x4c, 0x53, 0x5f, + 0x44, 0x65, 0x6e, 0x69, 0x65, 0x64, 0x48, 0x4c, 0x54, 0x56, 0x54, 0x61, 0x6c, 0x6b, 0x65, 0x72, + 0x4e, 0x6f, 0x74, 0x53, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x6f, 0x72, 0x10, 0x03, 0x12, 0x24, + 0x0a, 0x20, 0x6b, 0x50, 0x56, 0x4c, 0x53, 0x5f, 0x44, 0x65, 0x6e, 0x69, 0x65, 0x64, 0x48, 0x4c, + 0x54, 0x56, 0x4e, 0x6f, 0x54, 0x61, 0x6c, 0x6b, 0x65, 0x72, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, + 0x49, 0x44, 0x10, 0x04, 0x12, 0x28, 0x0a, 0x24, 0x6b, 0x50, 0x56, 0x4c, 0x53, 0x5f, 0x44, 0x65, + 0x6e, 0x69, 0x65, 0x64, 0x48, 0x4c, 0x54, 0x56, 0x54, 0x61, 0x6c, 0x6b, 0x65, 0x72, 0x4e, 0x6f, + 0x74, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x65, 0x72, 0x10, 0x05, 0x12, 0x1d, + 0x0a, 0x19, 0x6b, 0x50, 0x56, 0x4c, 0x53, 0x5f, 0x44, 0x65, 0x6e, 0x69, 0x65, 0x64, 0x54, 0x65, + 0x61, 0x6d, 0x53, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x6f, 0x72, 0x10, 0x06, 0x12, 0x17, 0x0a, + 0x13, 0x6b, 0x50, 0x56, 0x4c, 0x53, 0x5f, 0x44, 0x65, 0x6e, 0x69, 0x65, 0x64, 0x53, 0x74, 0x75, + 0x64, 0x65, 0x6e, 0x74, 0x10, 0x08, 0x12, 0x1c, 0x0a, 0x18, 0x6b, 0x50, 0x56, 0x4c, 0x53, 0x5f, + 0x44, 0x65, 0x6e, 0x69, 0x65, 0x64, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x61, + 0x63, 0x68, 0x10, 0x09, 0x12, 0x10, 0x0a, 0x0c, 0x6b, 0x50, 0x56, 0x4c, 0x53, 0x5f, 0x44, 0x65, + 0x6e, 0x69, 0x65, 0x64, 0x10, 0x40, 0x12, 0x26, 0x0a, 0x22, 0x6b, 0x50, 0x56, 0x4c, 0x53, 0x5f, + 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x48, 0x4c, 0x54, 0x56, 0x54, 0x61, 0x6c, 0x6b, 0x65, 0x72, 0x49, + 0x73, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x65, 0x72, 0x10, 0x41, 0x12, 0x1c, + 0x0a, 0x18, 0x6b, 0x50, 0x56, 0x4c, 0x53, 0x5f, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x43, 0x6f, 0x42, + 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x65, 0x72, 0x10, 0x42, 0x12, 0x16, 0x0a, 0x12, + 0x6b, 0x50, 0x56, 0x4c, 0x53, 0x5f, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x41, 0x6c, 0x6c, 0x43, 0x68, + 0x61, 0x74, 0x10, 0x43, 0x12, 0x1d, 0x0a, 0x19, 0x6b, 0x50, 0x56, 0x4c, 0x53, 0x5f, 0x41, 0x6c, + 0x6c, 0x6f, 0x77, 0x53, 0x74, 0x75, 0x64, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x43, 0x6f, 0x61, 0x63, + 0x68, 0x10, 0x44, 0x12, 0x1c, 0x0a, 0x18, 0x6b, 0x50, 0x56, 0x4c, 0x53, 0x5f, 0x41, 0x6c, 0x6c, + 0x6f, 0x77, 0x46, 0x65, 0x6c, 0x6c, 0x6f, 0x77, 0x53, 0x74, 0x75, 0x64, 0x65, 0x6e, 0x74, 0x10, + 0x45, 0x12, 0x1c, 0x0a, 0x18, 0x6b, 0x50, 0x56, 0x4c, 0x53, 0x5f, 0x41, 0x6c, 0x6c, 0x6f, 0x77, + 0x54, 0x61, 0x6c, 0x6b, 0x65, 0x72, 0x49, 0x73, 0x43, 0x6f, 0x61, 0x63, 0x68, 0x10, 0x46, 0x12, + 0x1c, 0x0a, 0x18, 0x6b, 0x50, 0x56, 0x4c, 0x53, 0x5f, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x43, 0x6f, + 0x61, 0x63, 0x68, 0x48, 0x65, 0x61, 0x72, 0x54, 0x65, 0x61, 0x6d, 0x10, 0x47, 0x12, 0x17, 0x0a, + 0x13, 0x6b, 0x50, 0x56, 0x4c, 0x53, 0x5f, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x53, 0x61, 0x6d, 0x65, + 0x54, 0x65, 0x61, 0x6d, 0x10, 0x48, 0x12, 0x17, 0x0a, 0x13, 0x6b, 0x50, 0x56, 0x4c, 0x53, 0x5f, + 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x53, 0x68, 0x6f, 0x77, 0x63, 0x61, 0x73, 0x65, 0x10, 0x49, 0x12, + 0x1b, 0x0a, 0x17, 0x6b, 0x50, 0x56, 0x4c, 0x53, 0x5f, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x50, 0x72, + 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x61, 0x63, 0x68, 0x10, 0x4a, 0x2a, 0x42, 0x0a, 0x10, + 0x45, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, + 0x12, 0x12, 0x0a, 0x0e, 0x65, 0x50, 0x45, 0x5f, 0x46, 0x69, 0x72, 0x73, 0x74, 0x42, 0x6c, 0x6f, + 0x6f, 0x64, 0x10, 0x00, 0x12, 0x1a, 0x0a, 0x16, 0x65, 0x50, 0x45, 0x5f, 0x4b, 0x69, 0x6c, 0x6c, + 0x73, 0x74, 0x72, 0x65, 0x61, 0x6b, 0x5f, 0x67, 0x6f, 0x64, 0x6c, 0x69, 0x6b, 0x65, 0x10, 0x01, + 0x42, 0x0d, 0x48, 0x01, 0x5a, 0x06, 0x2e, 0x2f, 0x64, 0x65, 0x6d, 0x6f, 0x80, 0x01, 0x00, +} + +var ( + file_dota_usermessages_proto_rawDescOnce sync.Once + file_dota_usermessages_proto_rawDescData = file_dota_usermessages_proto_rawDesc +) + +func file_dota_usermessages_proto_rawDescGZIP() []byte { + file_dota_usermessages_proto_rawDescOnce.Do(func() { + file_dota_usermessages_proto_rawDescData = protoimpl.X.CompressGZIP(file_dota_usermessages_proto_rawDescData) + }) + return file_dota_usermessages_proto_rawDescData +} + +var file_dota_usermessages_proto_enumTypes = make([]protoimpl.EnumInfo, 17) +var file_dota_usermessages_proto_msgTypes = make([]protoimpl.MessageInfo, 171) +var file_dota_usermessages_proto_goTypes = []interface{}{ + (EDotaUserMessages)(0), // 0: EDotaUserMessages + (DOTA_CHAT_MESSAGE)(0), // 1: DOTA_CHAT_MESSAGE + (DOTA_NO_BATTLE_POINTS_REASONS)(0), // 2: DOTA_NO_BATTLE_POINTS_REASONS + (DOTA_CHAT_INFORMATIONAL)(0), // 3: DOTA_CHAT_INFORMATIONAL + (DOTA_ABILITY_PING_TYPE)(0), // 4: DOTA_ABILITY_PING_TYPE + (DOTA_REPLAY_STATE_EVENT)(0), // 5: DOTA_REPLAY_STATE_EVENT + (EDotaEntityMessages)(0), // 6: EDotaEntityMessages + (DOTA_OVERHEAD_ALERT)(0), // 7: DOTA_OVERHEAD_ALERT + (DOTA_ROSHAN_PHASE)(0), // 8: DOTA_ROSHAN_PHASE + (DOTA_POSITION_CATEGORY)(0), // 9: DOTA_POSITION_CATEGORY + (DOTA_ABILITY_TARGET_TYPE)(0), // 10: DOTA_ABILITY_TARGET_TYPE + (EHeroStatType)(0), // 11: EHeroStatType + (EPlayerVoiceListenState)(0), // 12: EPlayerVoiceListenState + (EProjectionEvent)(0), // 13: EProjectionEvent + (CDOTAUserMsg_PredictionResult_Prediction_EResult)(0), // 14: CDOTAUserMsg_PredictionResult.Prediction.EResult + (CDOTAResponseQuerySerialized_Fact_ValueType)(0), // 15: CDOTAResponseQuerySerialized.Fact.ValueType + (CDOTAUserMsg_GuildChallenge_Progress_EChallengeType)(0), // 16: CDOTAUserMsg_GuildChallenge_Progress.EChallengeType + (*CDOTAUserMsg_AIDebugLine)(nil), // 17: CDOTAUserMsg_AIDebugLine + (*CDOTAUserMsg_Ping)(nil), // 18: CDOTAUserMsg_Ping + (*CDOTAUserMsg_SwapVerify)(nil), // 19: CDOTAUserMsg_SwapVerify + (*CDOTAUserMsg_ChatEvent)(nil), // 20: CDOTAUserMsg_ChatEvent + (*CDOTAUserMsg_BotChat)(nil), // 21: CDOTAUserMsg_BotChat + (*CDOTAUserMsg_CombatHeroPositions)(nil), // 22: CDOTAUserMsg_CombatHeroPositions + (*CDOTAUserMsg_CombatLogBulkData)(nil), // 23: CDOTAUserMsg_CombatLogBulkData + (*CDOTAUserMsg_ProjectileParticleCPData)(nil), // 24: CDOTAUserMsg_ProjectileParticleCPData + (*CDOTAUserMsg_MiniKillCamInfo)(nil), // 25: CDOTAUserMsg_MiniKillCamInfo + (*CDOTAUserMsg_GlobalLightColor)(nil), // 26: CDOTAUserMsg_GlobalLightColor + (*CDOTAUserMsg_GlobalLightDirection)(nil), // 27: CDOTAUserMsg_GlobalLightDirection + (*CDOTAUserMsg_LocationPing)(nil), // 28: CDOTAUserMsg_LocationPing + (*CDOTAUserMsg_PingConfirmation)(nil), // 29: CDOTAUserMsg_PingConfirmation + (*CDOTAUserMsg_ItemAlert)(nil), // 30: CDOTAUserMsg_ItemAlert + (*CDOTAUserMsg_EnemyItemAlert)(nil), // 31: CDOTAUserMsg_EnemyItemAlert + (*CDOTAUserMsg_ModifierAlert)(nil), // 32: CDOTAUserMsg_ModifierAlert + (*CDOTAUserMsg_HPManaAlert)(nil), // 33: CDOTAUserMsg_HPManaAlert + (*CDOTAUserMsg_GlyphAlert)(nil), // 34: CDOTAUserMsg_GlyphAlert + (*CDOTAUserMsg_RadarAlert)(nil), // 35: CDOTAUserMsg_RadarAlert + (*CDOTAUserMsg_WillPurchaseAlert)(nil), // 36: CDOTAUserMsg_WillPurchaseAlert + (*CDOTAUserMsg_EmptyTeleportAlert)(nil), // 37: CDOTAUserMsg_EmptyTeleportAlert + (*CDOTAUserMsg_MarsArenaOfBloodAttack)(nil), // 38: CDOTAUserMsg_MarsArenaOfBloodAttack + (*CDOTAEntityMsg_InvokerSpellCast)(nil), // 39: CDOTAEntityMsg_InvokerSpellCast + (*CDOTAUserMsg_BuyBackStateAlert)(nil), // 40: CDOTAUserMsg_BuyBackStateAlert + (*CDOTAUserMsg_QuickBuyAlert)(nil), // 41: CDOTAUserMsg_QuickBuyAlert + (*CDOTAUserMsg_CourierKilledAlert)(nil), // 42: CDOTAUserMsg_CourierKilledAlert + (*CDOTAUserMsg_MinimapEvent)(nil), // 43: CDOTAUserMsg_MinimapEvent + (*CDOTAUserMsg_MapLine)(nil), // 44: CDOTAUserMsg_MapLine + (*CDOTAUserMsg_MinimapDebugPoint)(nil), // 45: CDOTAUserMsg_MinimapDebugPoint + (*CDOTAUserMsg_CreateLinearProjectile)(nil), // 46: CDOTAUserMsg_CreateLinearProjectile + (*CDOTAUserMsg_DestroyLinearProjectile)(nil), // 47: CDOTAUserMsg_DestroyLinearProjectile + (*CDOTAUserMsg_DodgeTrackingProjectiles)(nil), // 48: CDOTAUserMsg_DodgeTrackingProjectiles + (*CDOTAUserMsg_SpectatorPlayerClick)(nil), // 49: CDOTAUserMsg_SpectatorPlayerClick + (*CDOTAUserMsg_SpectatorPlayerUnitOrders)(nil), // 50: CDOTAUserMsg_SpectatorPlayerUnitOrders + (*CDOTAUserMsg_NevermoreRequiem)(nil), // 51: CDOTAUserMsg_NevermoreRequiem + (*CDOTAUserMsg_InvalidCommand)(nil), // 52: CDOTAUserMsg_InvalidCommand + (*CDOTAUserMsg_HudError)(nil), // 53: CDOTAUserMsg_HudError + (*CDOTAUserMsg_SharedCooldown)(nil), // 54: CDOTAUserMsg_SharedCooldown + (*CDOTAUserMsg_SetNextAutobuyItem)(nil), // 55: CDOTAUserMsg_SetNextAutobuyItem + (*CDOTAUserMsg_HalloweenDrops)(nil), // 56: CDOTAUserMsg_HalloweenDrops + (*CDOTAUserMsg_PredictionResult)(nil), // 57: CDOTAUserMsg_PredictionResult + (*CDOTAResponseQuerySerialized)(nil), // 58: CDOTAResponseQuerySerialized + (*CDOTASpeechMatchOnClient)(nil), // 59: CDOTASpeechMatchOnClient + (*CDOTAUserMsg_UnitEvent)(nil), // 60: CDOTAUserMsg_UnitEvent + (*CDOTAUserMsg_ItemPurchased)(nil), // 61: CDOTAUserMsg_ItemPurchased + (*CDOTAUserMsg_ItemSold)(nil), // 62: CDOTAUserMsg_ItemSold + (*CDOTAUserMsg_ItemFound)(nil), // 63: CDOTAUserMsg_ItemFound + (*CDOTAUserMsg_OverheadEvent)(nil), // 64: CDOTAUserMsg_OverheadEvent + (*CDOTAUserMsg_TutorialTipInfo)(nil), // 65: CDOTAUserMsg_TutorialTipInfo + (*CDOTAUserMsg_TutorialFinish)(nil), // 66: CDOTAUserMsg_TutorialFinish + (*CDOTAUserMsg_TutorialMinimapPosition)(nil), // 67: CDOTAUserMsg_TutorialMinimapPosition + (*CDOTAUserMsg_SendGenericToolTip)(nil), // 68: CDOTAUserMsg_SendGenericToolTip + (*CDOTAUserMsg_WorldLine)(nil), // 69: CDOTAUserMsg_WorldLine + (*CDOTAUserMsg_ChatWheel)(nil), // 70: CDOTAUserMsg_ChatWheel + (*CDOTAUserMsg_ReceivedXmasGift)(nil), // 71: CDOTAUserMsg_ReceivedXmasGift + (*CDOTAUserMsg_ShowSurvey)(nil), // 72: CDOTAUserMsg_ShowSurvey + (*CDOTAUserMsg_UpdateSharedContent)(nil), // 73: CDOTAUserMsg_UpdateSharedContent + (*CDOTAUserMsg_TutorialRequestExp)(nil), // 74: CDOTAUserMsg_TutorialRequestExp + (*CDOTAUserMsg_TutorialFade)(nil), // 75: CDOTAUserMsg_TutorialFade + (*CDOTAUserMsg_TutorialPingMinimap)(nil), // 76: CDOTAUserMsg_TutorialPingMinimap + (*CDOTAUserMsg_GamerulesStateChanged)(nil), // 77: CDOTAUserMsg_GamerulesStateChanged + (*CDOTAUserMsg_AddQuestLogEntry)(nil), // 78: CDOTAUserMsg_AddQuestLogEntry + (*CDOTAUserMsg_SendStatPopup)(nil), // 79: CDOTAUserMsg_SendStatPopup + (*CDOTAUserMsg_DismissAllStatPopups)(nil), // 80: CDOTAUserMsg_DismissAllStatPopups + (*CDOTAUserMsg_SendRoshanSpectatorPhase)(nil), // 81: CDOTAUserMsg_SendRoshanSpectatorPhase + (*CDOTAUserMsg_SendRoshanPopup)(nil), // 82: CDOTAUserMsg_SendRoshanPopup + (*CDOTAUserMsg_SendFinalGold)(nil), // 83: CDOTAUserMsg_SendFinalGold + (*CDOTAUserMsg_CustomMsg)(nil), // 84: CDOTAUserMsg_CustomMsg + (*CDOTAUserMsg_CoachHUDPing)(nil), // 85: CDOTAUserMsg_CoachHUDPing + (*CDOTAUserMsg_ClientLoadGridNav)(nil), // 86: CDOTAUserMsg_ClientLoadGridNav + (*CDOTAUserMsg_TE_Projectile)(nil), // 87: CDOTAUserMsg_TE_Projectile + (*CDOTAUserMsg_TE_ProjectileLoc)(nil), // 88: CDOTAUserMsg_TE_ProjectileLoc + (*CDOTAUserMsg_TE_DestroyProjectile)(nil), // 89: CDOTAUserMsg_TE_DestroyProjectile + (*CDOTAUserMsg_TE_DotaBloodImpact)(nil), // 90: CDOTAUserMsg_TE_DotaBloodImpact + (*CDOTAUserMsg_AbilityPing)(nil), // 91: CDOTAUserMsg_AbilityPing + (*CDOTAUserMsg_TE_UnitAnimation)(nil), // 92: CDOTAUserMsg_TE_UnitAnimation + (*CDOTAUserMsg_TE_UnitAnimationEnd)(nil), // 93: CDOTAUserMsg_TE_UnitAnimationEnd + (*CDOTAUserMsg_ShowGenericPopup)(nil), // 94: CDOTAUserMsg_ShowGenericPopup + (*CDOTAUserMsg_VoteStart)(nil), // 95: CDOTAUserMsg_VoteStart + (*CDOTAUserMsg_VoteUpdate)(nil), // 96: CDOTAUserMsg_VoteUpdate + (*CDOTAUserMsg_VoteEnd)(nil), // 97: CDOTAUserMsg_VoteEnd + (*CDOTAUserMsg_BoosterStatePlayer)(nil), // 98: CDOTAUserMsg_BoosterStatePlayer + (*CDOTAUserMsg_BoosterState)(nil), // 99: CDOTAUserMsg_BoosterState + (*CDOTAUserMsg_PlayerMMR)(nil), // 100: CDOTAUserMsg_PlayerMMR + (*CDOTAUserMsg_AbilitySteal)(nil), // 101: CDOTAUserMsg_AbilitySteal + (*CDOTAUserMsg_StatsHeroLookup)(nil), // 102: CDOTAUserMsg_StatsHeroLookup + (*CDOTAUserMsg_StatsHeroPositionInfo)(nil), // 103: CDOTAUserMsg_StatsHeroPositionInfo + (*CDOTAUserMsg_StatsHeroMinuteDetails)(nil), // 104: CDOTAUserMsg_StatsHeroMinuteDetails + (*CDOTAUserMsg_StatsTeamMinuteDetails)(nil), // 105: CDOTAUserMsg_StatsTeamMinuteDetails + (*CDOTAUserMsg_StatsPlayerKillShare)(nil), // 106: CDOTAUserMsg_StatsPlayerKillShare + (*CDOTAUserMsg_StatsKillDetails)(nil), // 107: CDOTAUserMsg_StatsKillDetails + (*CDOTAUserMsg_StatsMatchDetails)(nil), // 108: CDOTAUserMsg_StatsMatchDetails + (*CDOTAUserMsg_MiniTaunt)(nil), // 109: CDOTAUserMsg_MiniTaunt + (*CDOTAUserMsg_SpeechBubble)(nil), // 110: CDOTAUserMsg_SpeechBubble + (*CDOTAUserMsg_CustomHeaderMessage)(nil), // 111: CDOTAUserMsg_CustomHeaderMessage + (*CMsgHeroAbilityStat)(nil), // 112: CMsgHeroAbilityStat + (*CMsgCombatAnalyzerPlayerStat)(nil), // 113: CMsgCombatAnalyzerPlayerStat + (*CMsgCombatAnalyzerStats)(nil), // 114: CMsgCombatAnalyzerStats + (*CDOTAUserMsg_BeastChat)(nil), // 115: CDOTAUserMsg_BeastChat + (*CDOTAUserMsg_CustomHudElement_Create)(nil), // 116: CDOTAUserMsg_CustomHudElement_Create + (*CDOTAUserMsg_CustomHudElement_Modify)(nil), // 117: CDOTAUserMsg_CustomHudElement_Modify + (*CDOTAUserMsg_CustomHudElement_Destroy)(nil), // 118: CDOTAUserMsg_CustomHudElement_Destroy + (*CDOTAUserMsg_CompendiumStatePlayer)(nil), // 119: CDOTAUserMsg_CompendiumStatePlayer + (*CDOTAUserMsg_CompendiumState)(nil), // 120: CDOTAUserMsg_CompendiumState + (*CDOTAUserMsg_ProjectionAbility)(nil), // 121: CDOTAUserMsg_ProjectionAbility + (*CDOTAUserMsg_ProjectionEvent)(nil), // 122: CDOTAUserMsg_ProjectionEvent + (*CDOTAUserMsg_XPAlert)(nil), // 123: CDOTAUserMsg_XPAlert + (*CDOTAUserMsg_TalentTreeAlert)(nil), // 124: CDOTAUserMsg_TalentTreeAlert + (*CDOTAUserMsg_UpdateQuestProgress)(nil), // 125: CDOTAUserMsg_UpdateQuestProgress + (*CDOTAUserMsg_QuestStatus)(nil), // 126: CDOTAUserMsg_QuestStatus + (*CDOTAUserMsg_SuggestHeroPick)(nil), // 127: CDOTAUserMsg_SuggestHeroPick + (*CDOTAUserMsg_SuggestHeroRole)(nil), // 128: CDOTAUserMsg_SuggestHeroRole + (*CDOTAUserMsg_KillcamDamageTaken)(nil), // 129: CDOTAUserMsg_KillcamDamageTaken + (*CDOTAUserMsg_SelectPenaltyGold)(nil), // 130: CDOTAUserMsg_SelectPenaltyGold + (*CDOTAUserMsg_RollDiceResult)(nil), // 131: CDOTAUserMsg_RollDiceResult + (*CDOTAUserMsg_FlipCoinResult)(nil), // 132: CDOTAUserMsg_FlipCoinResult + (*CDOTAUserMessage_RequestItemSuggestions)(nil), // 133: CDOTAUserMessage_RequestItemSuggestions + (*CDOTAUserMessage_TeamCaptainChanged)(nil), // 134: CDOTAUserMessage_TeamCaptainChanged + (*CDOTAUserMsg_ChatWheelCooldown)(nil), // 135: CDOTAUserMsg_ChatWheelCooldown + (*CDOTAUserMsg_HeroRelicProgress)(nil), // 136: CDOTAUserMsg_HeroRelicProgress + (*CDOTAUserMsg_AbilityDraftRequestAbility)(nil), // 137: CDOTAUserMsg_AbilityDraftRequestAbility + (*CDOTAUserMsg_DamageReport)(nil), // 138: CDOTAUserMsg_DamageReport + (*CDOTAUserMsg_SalutePlayer)(nil), // 139: CDOTAUserMsg_SalutePlayer + (*CDOTAUserMsg_TipAlert)(nil), // 140: CDOTAUserMsg_TipAlert + (*CDOTAUserMsg_ReplaceQueryUnit)(nil), // 141: CDOTAUserMsg_ReplaceQueryUnit + (*CDOTAUserMsg_ESArcanaCombo)(nil), // 142: CDOTAUserMsg_ESArcanaCombo + (*CDOTAUserMsg_ESArcanaComboSummary)(nil), // 143: CDOTAUserMsg_ESArcanaComboSummary + (*CDOTAUserMsg_OMArcanaCombo)(nil), // 144: CDOTAUserMsg_OMArcanaCombo + (*CDOTAUserMsg_HighFiveCompleted)(nil), // 145: CDOTAUserMsg_HighFiveCompleted + (*CDOTAUserMsg_HighFiveLeftHanging)(nil), // 146: CDOTAUserMsg_HighFiveLeftHanging + (*CDOTAUserMsg_ShovelUnearth)(nil), // 147: CDOTAUserMsg_ShovelUnearth + (*CDOTAUserMsg_AllStarEvent)(nil), // 148: CDOTAUserMsg_AllStarEvent + (*CDOTAUserMsg_QueuedOrderRemoved)(nil), // 149: CDOTAUserMsg_QueuedOrderRemoved + (*CDOTAUserMsg_DebugChallenge)(nil), // 150: CDOTAUserMsg_DebugChallenge + (*CDOTAUserMsg_FoundNeutralItem)(nil), // 151: CDOTAUserMsg_FoundNeutralItem + (*CDOTAUserMsg_OutpostCaptured)(nil), // 152: CDOTAUserMsg_OutpostCaptured + (*CDOTAUserMsg_OutpostGrantedXP)(nil), // 153: CDOTAUserMsg_OutpostGrantedXP + (*CDOTAUserMsg_MoveCameraToUnit)(nil), // 154: CDOTAUserMsg_MoveCameraToUnit + (*CDOTAUserMsg_PauseMinigameData)(nil), // 155: CDOTAUserMsg_PauseMinigameData + (*CDOTAUserMsg_VersusScene_PlayerBehavior)(nil), // 156: CDOTAUserMsg_VersusScene_PlayerBehavior + (*CDOTAUserMsg_QoP_ArcanaSummary)(nil), // 157: CDOTAUserMsg_QoP_ArcanaSummary + (*CDOTAUserMsg_HotPotato_Created)(nil), // 158: CDOTAUserMsg_HotPotato_Created + (*CDOTAUserMsg_HotPotato_Exploded)(nil), // 159: CDOTAUserMsg_HotPotato_Exploded + (*CDOTAUserMsg_WK_Arcana_Progress)(nil), // 160: CDOTAUserMsg_WK_Arcana_Progress + (*CDOTAUserMsg_GuildChallenge_Progress)(nil), // 161: CDOTAUserMsg_GuildChallenge_Progress + (*CDOTAUserMsg_WRArcanaProgress)(nil), // 162: CDOTAUserMsg_WRArcanaProgress + (*CDOTAUserMsg_WRArcanaSummary)(nil), // 163: CDOTAUserMsg_WRArcanaSummary + (*CDOTAUserMsg_EmptyItemSlotAlert)(nil), // 164: CDOTAUserMsg_EmptyItemSlotAlert + (*CDOTAUserMsg_AghsStatusAlert)(nil), // 165: CDOTAUserMsg_AghsStatusAlert + (*CDOTAUserMsg_MutedPlayers)(nil), // 166: CDOTAUserMsg_MutedPlayers + (*CDOTAUserMsg_ContextualTip)(nil), // 167: CDOTAUserMsg_ContextualTip + (*CDOTAUserMsg_ChatMessage)(nil), // 168: CDOTAUserMsg_ChatMessage + (*CDOTAUserMsg_MiniKillCamInfo_Attacker)(nil), // 169: CDOTAUserMsg_MiniKillCamInfo.Attacker + (*CDOTAUserMsg_MiniKillCamInfo_Attacker_Ability)(nil), // 170: CDOTAUserMsg_MiniKillCamInfo.Attacker.Ability + (*CDOTAUserMsg_CourierKilledAlert_LostItem)(nil), // 171: CDOTAUserMsg_CourierKilledAlert.LostItem + (*CDOTAUserMsg_PredictionResult_Prediction)(nil), // 172: CDOTAUserMsg_PredictionResult.Prediction + (*CDOTAResponseQuerySerialized_Fact)(nil), // 173: CDOTAResponseQuerySerialized.Fact + (*CDOTAUserMsg_UnitEvent_Interval)(nil), // 174: CDOTAUserMsg_UnitEvent.Interval + (*CDOTAUserMsg_UnitEvent_Speech)(nil), // 175: CDOTAUserMsg_UnitEvent.Speech + (*CDOTAUserMsg_UnitEvent_SpeechMute)(nil), // 176: CDOTAUserMsg_UnitEvent.SpeechMute + (*CDOTAUserMsg_UnitEvent_AddGesture)(nil), // 177: CDOTAUserMsg_UnitEvent.AddGesture + (*CDOTAUserMsg_UnitEvent_RemoveGesture)(nil), // 178: CDOTAUserMsg_UnitEvent.RemoveGesture + (*CDOTAUserMsg_UnitEvent_BloodImpact)(nil), // 179: CDOTAUserMsg_UnitEvent.BloodImpact + (*CDOTAUserMsg_UnitEvent_FadeGesture)(nil), // 180: CDOTAUserMsg_UnitEvent.FadeGesture + (*CDOTAUserMsg_StatsHeroPositionInfo_PositionPair)(nil), // 181: CDOTAUserMsg_StatsHeroPositionInfo.PositionPair + (*CDOTAUserMsg_StatsTeamMinuteDetails_LocationPerformance)(nil), // 182: CDOTAUserMsg_StatsTeamMinuteDetails.LocationPerformance + (*CDOTAUserMsg_StatsMatchDetails_CDOTAUserMsg_StatsFightTeamDetails)(nil), // 183: CDOTAUserMsg_StatsMatchDetails.CDOTAUserMsg_StatsFightTeamDetails + (*CDOTAUserMsg_StatsMatchDetails_CDOTAUserMsg_StatsFightDetails)(nil), // 184: CDOTAUserMsg_StatsMatchDetails.CDOTAUserMsg_StatsFightDetails + (*CDOTAUserMsg_AllStarEvent_PlayerScore)(nil), // 185: CDOTAUserMsg_AllStarEvent.PlayerScore + (*CDOTAUserMsg_PauseMinigameData_DataBit)(nil), // 186: CDOTAUserMsg_PauseMinigameData.DataBit + (*CDOTAUserMsg_GuildChallenge_Progress_PlayerProgress)(nil), // 187: CDOTAUserMsg_GuildChallenge_Progress.PlayerProgress + (*CMsgVector2D)(nil), // 188: CMsgVector2D + (*CMsgDOTACombatLogEntry)(nil), // 189: CMsgDOTACombatLogEntry + (*CMsgVector)(nil), // 190: CMsgVector + (*CDOTAMsg_LocationPing)(nil), // 191: CDOTAMsg_LocationPing + (*CDOTAMsg_ItemAlert)(nil), // 192: CDOTAMsg_ItemAlert + (*CEntityMsg)(nil), // 193: CEntityMsg + (*CDOTAMsg_MapLine)(nil), // 194: CDOTAMsg_MapLine + (*CDOTAMsg_WorldLine)(nil), // 195: CDOTAMsg_WorldLine + (*CDOTAMsg_SendStatPopup)(nil), // 196: CDOTAMsg_SendStatPopup + (*CDOTAMsg_DismissAllStatPopups)(nil), // 197: CDOTAMsg_DismissAllStatPopups + (*CDOTAMsg_CoachHUDPing)(nil), // 198: CDOTAMsg_CoachHUDPing + (EDOTAVersusScenePlayerBehavior)(0), // 199: EDOTAVersusScenePlayerBehavior + (*VersusScene_PlayActivity)(nil), // 200: VersusScene_PlayActivity + (*VersusScene_ChatWheel)(nil), // 201: VersusScene_ChatWheel + (*VersusScene_PlaybackRate)(nil), // 202: VersusScene_PlaybackRate +} +var file_dota_usermessages_proto_depIdxs = []int32{ + 1, // 0: CDOTAUserMsg_ChatEvent.type:type_name -> DOTA_CHAT_MESSAGE + 188, // 1: CDOTAUserMsg_CombatHeroPositions.world_pos:type_name -> CMsgVector2D + 189, // 2: CDOTAUserMsg_CombatLogBulkData.combat_entries:type_name -> CMsgDOTACombatLogEntry + 190, // 3: CDOTAUserMsg_ProjectileParticleCPData.vector:type_name -> CMsgVector + 169, // 4: CDOTAUserMsg_MiniKillCamInfo.attackers:type_name -> CDOTAUserMsg_MiniKillCamInfo.Attacker + 190, // 5: CDOTAUserMsg_GlobalLightDirection.direction:type_name -> CMsgVector + 191, // 6: CDOTAUserMsg_LocationPing.location_ping:type_name -> CDOTAMsg_LocationPing + 190, // 7: CDOTAUserMsg_PingConfirmation.location:type_name -> CMsgVector + 192, // 8: CDOTAUserMsg_ItemAlert.item_alert:type_name -> CDOTAMsg_ItemAlert + 193, // 9: CDOTAEntityMsg_InvokerSpellCast.entity_msg:type_name -> CEntityMsg + 171, // 10: CDOTAUserMsg_CourierKilledAlert.lost_items:type_name -> CDOTAUserMsg_CourierKilledAlert.LostItem + 194, // 11: CDOTAUserMsg_MapLine.mapline:type_name -> CDOTAMsg_MapLine + 190, // 12: CDOTAUserMsg_MinimapDebugPoint.location:type_name -> CMsgVector + 190, // 13: CDOTAUserMsg_CreateLinearProjectile.origin:type_name -> CMsgVector + 188, // 14: CDOTAUserMsg_CreateLinearProjectile.velocity:type_name -> CMsgVector2D + 188, // 15: CDOTAUserMsg_CreateLinearProjectile.acceleration:type_name -> CMsgVector2D + 24, // 16: CDOTAUserMsg_CreateLinearProjectile.particle_cp_data:type_name -> CDOTAUserMsg_ProjectileParticleCPData + 190, // 17: CDOTAUserMsg_SpectatorPlayerUnitOrders.position:type_name -> CMsgVector + 190, // 18: CDOTAUserMsg_NevermoreRequiem.origin:type_name -> CMsgVector + 172, // 19: CDOTAUserMsg_PredictionResult.predictions:type_name -> CDOTAUserMsg_PredictionResult.Prediction + 173, // 20: CDOTAResponseQuerySerialized.facts:type_name -> CDOTAResponseQuerySerialized.Fact + 58, // 21: CDOTASpeechMatchOnClient.responsequery:type_name -> CDOTAResponseQuerySerialized + 6, // 22: CDOTAUserMsg_UnitEvent.msg_type:type_name -> EDotaEntityMessages + 175, // 23: CDOTAUserMsg_UnitEvent.speech:type_name -> CDOTAUserMsg_UnitEvent.Speech + 176, // 24: CDOTAUserMsg_UnitEvent.speech_mute:type_name -> CDOTAUserMsg_UnitEvent.SpeechMute + 177, // 25: CDOTAUserMsg_UnitEvent.add_gesture:type_name -> CDOTAUserMsg_UnitEvent.AddGesture + 178, // 26: CDOTAUserMsg_UnitEvent.remove_gesture:type_name -> CDOTAUserMsg_UnitEvent.RemoveGesture + 179, // 27: CDOTAUserMsg_UnitEvent.blood_impact:type_name -> CDOTAUserMsg_UnitEvent.BloodImpact + 180, // 28: CDOTAUserMsg_UnitEvent.fade_gesture:type_name -> CDOTAUserMsg_UnitEvent.FadeGesture + 59, // 29: CDOTAUserMsg_UnitEvent.speech_match_on_client:type_name -> CDOTASpeechMatchOnClient + 7, // 30: CDOTAUserMsg_OverheadEvent.message_type:type_name -> DOTA_OVERHEAD_ALERT + 195, // 31: CDOTAUserMsg_WorldLine.worldline:type_name -> CDOTAMsg_WorldLine + 196, // 32: CDOTAUserMsg_SendStatPopup.statpopup:type_name -> CDOTAMsg_SendStatPopup + 197, // 33: CDOTAUserMsg_DismissAllStatPopups.dismissallmsg:type_name -> CDOTAMsg_DismissAllStatPopups + 8, // 34: CDOTAUserMsg_SendRoshanSpectatorPhase.phase:type_name -> DOTA_ROSHAN_PHASE + 198, // 35: CDOTAUserMsg_CoachHUDPing.hud_ping:type_name -> CDOTAMsg_CoachHUDPing + 190, // 36: CDOTAUserMsg_TE_Projectile.target_loc:type_name -> CMsgVector + 24, // 37: CDOTAUserMsg_TE_Projectile.particle_cp_data:type_name -> CDOTAUserMsg_ProjectileParticleCPData + 190, // 38: CDOTAUserMsg_TE_ProjectileLoc.source_loc:type_name -> CMsgVector + 190, // 39: CDOTAUserMsg_TE_ProjectileLoc.target_loc:type_name -> CMsgVector + 24, // 40: CDOTAUserMsg_TE_ProjectileLoc.particle_cp_data:type_name -> CDOTAUserMsg_ProjectileParticleCPData + 4, // 41: CDOTAUserMsg_AbilityPing.type:type_name -> DOTA_ABILITY_PING_TYPE + 98, // 42: CDOTAUserMsg_BoosterState.boosted_players:type_name -> CDOTAUserMsg_BoosterStatePlayer + 181, // 43: CDOTAUserMsg_StatsHeroPositionInfo.position_details:type_name -> CDOTAUserMsg_StatsHeroPositionInfo.PositionPair + 103, // 44: CDOTAUserMsg_StatsHeroMinuteDetails.position_info:type_name -> CDOTAUserMsg_StatsHeroPositionInfo + 104, // 45: CDOTAUserMsg_StatsTeamMinuteDetails.player_stats:type_name -> CDOTAUserMsg_StatsHeroMinuteDetails + 182, // 46: CDOTAUserMsg_StatsTeamMinuteDetails.lane_performance:type_name -> CDOTAUserMsg_StatsTeamMinuteDetails.LocationPerformance + 106, // 47: CDOTAUserMsg_StatsKillDetails.kill_shares:type_name -> CDOTAUserMsg_StatsPlayerKillShare + 102, // 48: CDOTAUserMsg_StatsMatchDetails.hero_lookup:type_name -> CDOTAUserMsg_StatsHeroLookup + 105, // 49: CDOTAUserMsg_StatsMatchDetails.radiant_stats:type_name -> CDOTAUserMsg_StatsTeamMinuteDetails + 105, // 50: CDOTAUserMsg_StatsMatchDetails.dire_stats:type_name -> CDOTAUserMsg_StatsTeamMinuteDetails + 107, // 51: CDOTAUserMsg_StatsMatchDetails.radiant_kills:type_name -> CDOTAUserMsg_StatsKillDetails + 107, // 52: CDOTAUserMsg_StatsMatchDetails.dire_kills:type_name -> CDOTAUserMsg_StatsKillDetails + 184, // 53: CDOTAUserMsg_StatsMatchDetails.fight_details:type_name -> CDOTAUserMsg_StatsMatchDetails.CDOTAUserMsg_StatsFightDetails + 11, // 54: CMsgHeroAbilityStat.stat_type:type_name -> EHeroStatType + 112, // 55: CMsgCombatAnalyzerPlayerStat.hero_ability_stats:type_name -> CMsgHeroAbilityStat + 113, // 56: CMsgCombatAnalyzerStats.player_stats:type_name -> CMsgCombatAnalyzerPlayerStat + 119, // 57: CDOTAUserMsg_CompendiumState.compendium_players:type_name -> CDOTAUserMsg_CompendiumStatePlayer + 190, // 58: CDOTAUserMsg_ProjectionAbility.origin:type_name -> CMsgVector + 13, // 59: CDOTAUserMsg_ProjectionEvent.event_id:type_name -> EProjectionEvent + 185, // 60: CDOTAUserMsg_AllStarEvent.player_scores:type_name -> CDOTAUserMsg_AllStarEvent.PlayerScore + 186, // 61: CDOTAUserMsg_PauseMinigameData.data_bits:type_name -> CDOTAUserMsg_PauseMinigameData.DataBit + 199, // 62: CDOTAUserMsg_VersusScene_PlayerBehavior.behavior:type_name -> EDOTAVersusScenePlayerBehavior + 200, // 63: CDOTAUserMsg_VersusScene_PlayerBehavior.play_activity:type_name -> VersusScene_PlayActivity + 201, // 64: CDOTAUserMsg_VersusScene_PlayerBehavior.chat_wheel:type_name -> VersusScene_ChatWheel + 202, // 65: CDOTAUserMsg_VersusScene_PlayerBehavior.playback_rate:type_name -> VersusScene_PlaybackRate + 187, // 66: CDOTAUserMsg_GuildChallenge_Progress.player_progress:type_name -> CDOTAUserMsg_GuildChallenge_Progress.PlayerProgress + 16, // 67: CDOTAUserMsg_GuildChallenge_Progress.challenge_type:type_name -> CDOTAUserMsg_GuildChallenge_Progress.EChallengeType + 170, // 68: CDOTAUserMsg_MiniKillCamInfo.Attacker.abilities:type_name -> CDOTAUserMsg_MiniKillCamInfo.Attacker.Ability + 14, // 69: CDOTAUserMsg_PredictionResult.Prediction.result:type_name -> CDOTAUserMsg_PredictionResult.Prediction.EResult + 15, // 70: CDOTAResponseQuerySerialized.Fact.valtype:type_name -> CDOTAResponseQuerySerialized.Fact.ValueType + 174, // 71: CDOTAUserMsg_UnitEvent.Speech.predelay:type_name -> CDOTAUserMsg_UnitEvent.Interval + 9, // 72: CDOTAUserMsg_StatsHeroPositionInfo.PositionPair.position_category:type_name -> DOTA_POSITION_CATEGORY + 183, // 73: CDOTAUserMsg_StatsMatchDetails.CDOTAUserMsg_StatsFightDetails.radiant_fight_details:type_name -> CDOTAUserMsg_StatsMatchDetails.CDOTAUserMsg_StatsFightTeamDetails + 183, // 74: CDOTAUserMsg_StatsMatchDetails.CDOTAUserMsg_StatsFightDetails.dire_fight_details:type_name -> CDOTAUserMsg_StatsMatchDetails.CDOTAUserMsg_StatsFightTeamDetails + 75, // [75:75] is the sub-list for method output_type + 75, // [75:75] is the sub-list for method input_type + 75, // [75:75] is the sub-list for extension type_name + 75, // [75:75] is the sub-list for extension extendee + 0, // [0:75] is the sub-list for field type_name +} + +func init() { file_dota_usermessages_proto_init() } +func file_dota_usermessages_proto_init() { + if File_dota_usermessages_proto != nil { + return + } + file_networkbasetypes_proto_init() + file_dota_shared_enums_proto_init() + file_dota_commonmessages_proto_init() + if !protoimpl.UnsafeEnabled { + file_dota_usermessages_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_AIDebugLine); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_Ping); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_SwapVerify); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_ChatEvent); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_BotChat); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_CombatHeroPositions); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_CombatLogBulkData); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_ProjectileParticleCPData); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_MiniKillCamInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_GlobalLightColor); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_GlobalLightDirection); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_LocationPing); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_PingConfirmation); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_ItemAlert); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_EnemyItemAlert); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_ModifierAlert); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_HPManaAlert); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_GlyphAlert); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_RadarAlert); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_WillPurchaseAlert); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_EmptyTeleportAlert); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_MarsArenaOfBloodAttack); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAEntityMsg_InvokerSpellCast); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_BuyBackStateAlert); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_QuickBuyAlert); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_CourierKilledAlert); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_MinimapEvent); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_MapLine); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_MinimapDebugPoint); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_CreateLinearProjectile); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_DestroyLinearProjectile); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_DodgeTrackingProjectiles); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_SpectatorPlayerClick); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_SpectatorPlayerUnitOrders); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_NevermoreRequiem); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_InvalidCommand); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_HudError); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_SharedCooldown); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_SetNextAutobuyItem); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_HalloweenDrops); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_PredictionResult); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAResponseQuerySerialized); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTASpeechMatchOnClient); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_UnitEvent); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_ItemPurchased); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_ItemSold); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_ItemFound); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_OverheadEvent); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_TutorialTipInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_TutorialFinish); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_TutorialMinimapPosition); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_SendGenericToolTip); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_WorldLine); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_ChatWheel); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_ReceivedXmasGift); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_ShowSurvey); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_UpdateSharedContent); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_TutorialRequestExp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_TutorialFade); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_TutorialPingMinimap); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[60].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_GamerulesStateChanged); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[61].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_AddQuestLogEntry); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[62].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_SendStatPopup); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[63].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_DismissAllStatPopups); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[64].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_SendRoshanSpectatorPhase); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[65].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_SendRoshanPopup); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[66].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_SendFinalGold); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[67].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_CustomMsg); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[68].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_CoachHUDPing); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[69].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_ClientLoadGridNav); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[70].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_TE_Projectile); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[71].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_TE_ProjectileLoc); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[72].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_TE_DestroyProjectile); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[73].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_TE_DotaBloodImpact); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[74].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_AbilityPing); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[75].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_TE_UnitAnimation); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[76].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_TE_UnitAnimationEnd); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[77].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_ShowGenericPopup); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[78].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_VoteStart); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[79].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_VoteUpdate); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[80].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_VoteEnd); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[81].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_BoosterStatePlayer); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[82].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_BoosterState); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[83].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_PlayerMMR); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[84].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_AbilitySteal); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[85].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_StatsHeroLookup); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[86].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_StatsHeroPositionInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[87].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_StatsHeroMinuteDetails); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[88].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_StatsTeamMinuteDetails); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[89].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_StatsPlayerKillShare); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[90].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_StatsKillDetails); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[91].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_StatsMatchDetails); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[92].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_MiniTaunt); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[93].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_SpeechBubble); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[94].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_CustomHeaderMessage); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[95].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CMsgHeroAbilityStat); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[96].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CMsgCombatAnalyzerPlayerStat); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[97].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CMsgCombatAnalyzerStats); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[98].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_BeastChat); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[99].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_CustomHudElement_Create); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[100].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_CustomHudElement_Modify); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[101].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_CustomHudElement_Destroy); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[102].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_CompendiumStatePlayer); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[103].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_CompendiumState); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[104].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_ProjectionAbility); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[105].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_ProjectionEvent); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[106].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_XPAlert); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[107].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_TalentTreeAlert); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[108].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_UpdateQuestProgress); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[109].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_QuestStatus); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[110].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_SuggestHeroPick); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[111].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_SuggestHeroRole); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[112].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_KillcamDamageTaken); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[113].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_SelectPenaltyGold); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[114].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_RollDiceResult); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[115].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_FlipCoinResult); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[116].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMessage_RequestItemSuggestions); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[117].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMessage_TeamCaptainChanged); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[118].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_ChatWheelCooldown); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[119].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_HeroRelicProgress); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[120].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_AbilityDraftRequestAbility); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[121].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_DamageReport); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[122].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_SalutePlayer); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[123].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_TipAlert); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[124].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_ReplaceQueryUnit); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[125].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_ESArcanaCombo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[126].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_ESArcanaComboSummary); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[127].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_OMArcanaCombo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[128].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_HighFiveCompleted); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[129].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_HighFiveLeftHanging); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[130].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_ShovelUnearth); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[131].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_AllStarEvent); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[132].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_QueuedOrderRemoved); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[133].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_DebugChallenge); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[134].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_FoundNeutralItem); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[135].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_OutpostCaptured); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[136].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_OutpostGrantedXP); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[137].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_MoveCameraToUnit); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[138].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_PauseMinigameData); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[139].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_VersusScene_PlayerBehavior); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[140].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_QoP_ArcanaSummary); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[141].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_HotPotato_Created); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[142].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_HotPotato_Exploded); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[143].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_WK_Arcana_Progress); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[144].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_GuildChallenge_Progress); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[145].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_WRArcanaProgress); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[146].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_WRArcanaSummary); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[147].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_EmptyItemSlotAlert); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[148].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_AghsStatusAlert); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[149].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_MutedPlayers); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[150].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_ContextualTip); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[151].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_ChatMessage); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[152].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_MiniKillCamInfo_Attacker); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[153].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_MiniKillCamInfo_Attacker_Ability); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[154].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_CourierKilledAlert_LostItem); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[155].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_PredictionResult_Prediction); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[156].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAResponseQuerySerialized_Fact); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[157].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_UnitEvent_Interval); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[158].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_UnitEvent_Speech); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[159].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_UnitEvent_SpeechMute); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[160].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_UnitEvent_AddGesture); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[161].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_UnitEvent_RemoveGesture); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[162].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_UnitEvent_BloodImpact); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[163].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_UnitEvent_FadeGesture); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[164].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_StatsHeroPositionInfo_PositionPair); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[165].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_StatsTeamMinuteDetails_LocationPerformance); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[166].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_StatsMatchDetails_CDOTAUserMsg_StatsFightTeamDetails); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[167].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_StatsMatchDetails_CDOTAUserMsg_StatsFightDetails); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[168].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_AllStarEvent_PlayerScore); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[169].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_PauseMinigameData_DataBit); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dota_usermessages_proto_msgTypes[170].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CDOTAUserMsg_GuildChallenge_Progress_PlayerProgress); 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_dota_usermessages_proto_rawDesc, + NumEnums: 17, + NumMessages: 171, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_dota_usermessages_proto_goTypes, + DependencyIndexes: file_dota_usermessages_proto_depIdxs, + EnumInfos: file_dota_usermessages_proto_enumTypes, + MessageInfos: file_dota_usermessages_proto_msgTypes, + }.Build() + File_dota_usermessages_proto = out.File + file_dota_usermessages_proto_rawDesc = nil + file_dota_usermessages_proto_goTypes = nil + file_dota_usermessages_proto_depIdxs = nil +} diff --git a/demo/netmessages.pb.go b/demo/netmessages.pb.go new file mode 100644 index 0000000..181dfbd --- /dev/null +++ b/demo/netmessages.pb.go @@ -0,0 +1,7538 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.0 +// protoc v3.21.2 +// source: netmessages.proto + +package demo + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type CLC_Messages int32 + +const ( + 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 CLC_Messages. +var ( + 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 CLC_Messages) Enum() *CLC_Messages { + p := new(CLC_Messages) + *p = x + return p +} + +func (x CLC_Messages) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (CLC_Messages) Descriptor() protoreflect.EnumDescriptor { + return file_netmessages_proto_enumTypes[0].Descriptor() +} + +func (CLC_Messages) Type() protoreflect.EnumType { + return &file_netmessages_proto_enumTypes[0] +} + +func (x CLC_Messages) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Do not use. +func (x *CLC_Messages) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err + } + *x = CLC_Messages(num) + return nil +} + +// Deprecated: Use CLC_Messages.Descriptor instead. +func (CLC_Messages) EnumDescriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{0} +} + +type SVC_Messages int32 + +const ( + 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 SVC_Messages. +var ( + 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", + } + 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 SVC_Messages) Enum() *SVC_Messages { + p := new(SVC_Messages) + *p = x + return p +} + +func (x SVC_Messages) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (SVC_Messages) Descriptor() protoreflect.EnumDescriptor { + return file_netmessages_proto_enumTypes[1].Descriptor() +} + +func (SVC_Messages) Type() protoreflect.EnumType { + return &file_netmessages_proto_enumTypes[1] +} + +func (x SVC_Messages) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Do not use. +func (x *SVC_Messages) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err + } + *x = SVC_Messages(num) + return nil +} + +// Deprecated: Use SVC_Messages.Descriptor instead. +func (SVC_Messages) EnumDescriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{1} +} + +type VoiceDataFormatT int32 + +const ( + VoiceDataFormatT_VOICEDATA_FORMAT_STEAM VoiceDataFormatT = 0 + VoiceDataFormatT_VOICEDATA_FORMAT_ENGINE VoiceDataFormatT = 1 +) + +// Enum value maps for VoiceDataFormatT. +var ( + VoiceDataFormatT_name = map[int32]string{ + 0: "VOICEDATA_FORMAT_STEAM", + 1: "VOICEDATA_FORMAT_ENGINE", + } + VoiceDataFormatT_value = map[string]int32{ + "VOICEDATA_FORMAT_STEAM": 0, + "VOICEDATA_FORMAT_ENGINE": 1, + } +) + +func (x VoiceDataFormatT) Enum() *VoiceDataFormatT { + p := new(VoiceDataFormatT) + *p = x + return p +} + +func (x VoiceDataFormatT) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (VoiceDataFormatT) Descriptor() protoreflect.EnumDescriptor { + return file_netmessages_proto_enumTypes[2].Descriptor() +} + +func (VoiceDataFormatT) Type() protoreflect.EnumType { + return &file_netmessages_proto_enumTypes[2] +} + +func (x VoiceDataFormatT) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Do not use. +func (x *VoiceDataFormatT) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err + } + *x = VoiceDataFormatT(num) + return nil +} + +// Deprecated: Use VoiceDataFormatT.Descriptor instead. +func (VoiceDataFormatT) EnumDescriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{2} +} + +type RequestPauseT int32 + +const ( + RequestPauseT_RP_PAUSE RequestPauseT = 0 + RequestPauseT_RP_UNPAUSE RequestPauseT = 1 + RequestPauseT_RP_TOGGLEPAUSE RequestPauseT = 2 +) + +// Enum value maps for RequestPauseT. +var ( + RequestPauseT_name = map[int32]string{ + 0: "RP_PAUSE", + 1: "RP_UNPAUSE", + 2: "RP_TOGGLEPAUSE", + } + RequestPauseT_value = map[string]int32{ + "RP_PAUSE": 0, + "RP_UNPAUSE": 1, + "RP_TOGGLEPAUSE": 2, + } +) + +func (x RequestPauseT) Enum() *RequestPauseT { + p := new(RequestPauseT) + *p = x + return p +} + +func (x RequestPauseT) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (RequestPauseT) Descriptor() protoreflect.EnumDescriptor { + return file_netmessages_proto_enumTypes[3].Descriptor() +} + +func (RequestPauseT) Type() protoreflect.EnumType { + return &file_netmessages_proto_enumTypes[3] +} + +func (x RequestPauseT) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Do not use. +func (x *RequestPauseT) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err + } + *x = RequestPauseT(num) + return nil +} + +// Deprecated: Use RequestPauseT.Descriptor instead. +func (RequestPauseT) EnumDescriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{3} +} + +type PrefetchType int32 + +const ( + PrefetchType_PFT_SOUND PrefetchType = 0 +) + +// Enum value maps for PrefetchType. +var ( + PrefetchType_name = map[int32]string{ + 0: "PFT_SOUND", + } + PrefetchType_value = map[string]int32{ + "PFT_SOUND": 0, + } +) + +func (x PrefetchType) Enum() *PrefetchType { + p := new(PrefetchType) + *p = x + return p +} + +func (x PrefetchType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (PrefetchType) Descriptor() protoreflect.EnumDescriptor { + return file_netmessages_proto_enumTypes[4].Descriptor() +} + +func (PrefetchType) Type() protoreflect.EnumType { + return &file_netmessages_proto_enumTypes[4] +} + +func (x PrefetchType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Do not use. +func (x *PrefetchType) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err + } + *x = PrefetchType(num) + return nil +} + +// Deprecated: Use PrefetchType.Descriptor instead. +func (PrefetchType) EnumDescriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{4} +} + +type ESplitScreenMessageType int32 + +const ( + ESplitScreenMessageType_MSG_SPLITSCREEN_ADDUSER ESplitScreenMessageType = 0 + ESplitScreenMessageType_MSG_SPLITSCREEN_REMOVEUSER ESplitScreenMessageType = 1 +) + +// Enum value maps for ESplitScreenMessageType. +var ( + ESplitScreenMessageType_name = map[int32]string{ + 0: "MSG_SPLITSCREEN_ADDUSER", + 1: "MSG_SPLITSCREEN_REMOVEUSER", + } + ESplitScreenMessageType_value = map[string]int32{ + "MSG_SPLITSCREEN_ADDUSER": 0, + "MSG_SPLITSCREEN_REMOVEUSER": 1, + } +) + +func (x ESplitScreenMessageType) Enum() *ESplitScreenMessageType { + p := new(ESplitScreenMessageType) + *p = x + return p +} + +func (x ESplitScreenMessageType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (ESplitScreenMessageType) Descriptor() protoreflect.EnumDescriptor { + return file_netmessages_proto_enumTypes[5].Descriptor() +} + +func (ESplitScreenMessageType) Type() protoreflect.EnumType { + return &file_netmessages_proto_enumTypes[5] +} + +func (x ESplitScreenMessageType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Do not use. +func (x *ESplitScreenMessageType) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err + } + *x = ESplitScreenMessageType(num) + return nil +} + +// Deprecated: Use ESplitScreenMessageType.Descriptor instead. +func (ESplitScreenMessageType) EnumDescriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{5} +} + +type EQueryCvarValueStatus int32 + +const ( + EQueryCvarValueStatus_eQueryCvarValueStatus_ValueIntact EQueryCvarValueStatus = 0 + EQueryCvarValueStatus_eQueryCvarValueStatus_CvarNotFound EQueryCvarValueStatus = 1 + EQueryCvarValueStatus_eQueryCvarValueStatus_NotACvar EQueryCvarValueStatus = 2 + EQueryCvarValueStatus_eQueryCvarValueStatus_CvarProtected EQueryCvarValueStatus = 3 +) + +// 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 EQueryCvarValueStatus) Enum() *EQueryCvarValueStatus { + p := new(EQueryCvarValueStatus) + *p = x + return p +} + +func (x EQueryCvarValueStatus) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (EQueryCvarValueStatus) Descriptor() protoreflect.EnumDescriptor { + return file_netmessages_proto_enumTypes[6].Descriptor() +} + +func (EQueryCvarValueStatus) Type() protoreflect.EnumType { + return &file_netmessages_proto_enumTypes[6] +} + +func (x EQueryCvarValueStatus) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Do not use. +func (x *EQueryCvarValueStatus) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err + } + *x = EQueryCvarValueStatus(num) + return nil +} + +// Deprecated: Use EQueryCvarValueStatus.Descriptor instead. +func (EQueryCvarValueStatus) EnumDescriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{6} +} + +type DIALOG_TYPE int32 + +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 +) + +// 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 DIALOG_TYPE) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (DIALOG_TYPE) Descriptor() protoreflect.EnumDescriptor { + return file_netmessages_proto_enumTypes[7].Descriptor() +} + +func (DIALOG_TYPE) Type() protoreflect.EnumType { + return &file_netmessages_proto_enumTypes[7] +} + +func (x DIALOG_TYPE) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(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 + } + *x = DIALOG_TYPE(num) + return nil +} + +// Deprecated: Use DIALOG_TYPE.Descriptor instead. +func (DIALOG_TYPE) EnumDescriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{7} +} + +type SVC_Messages_LowFrequency int32 + +const ( + SVC_Messages_LowFrequency_svc_dummy SVC_Messages_LowFrequency = 600 +) + +// 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 SVC_Messages_LowFrequency) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (SVC_Messages_LowFrequency) Descriptor() protoreflect.EnumDescriptor { + return file_netmessages_proto_enumTypes[8].Descriptor() +} + +func (SVC_Messages_LowFrequency) Type() protoreflect.EnumType { + return &file_netmessages_proto_enumTypes[8] +} + +func (x SVC_Messages_LowFrequency) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(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 + } + *x = SVC_Messages_LowFrequency(num) + return nil +} + +// Deprecated: Use SVC_Messages_LowFrequency.Descriptor instead. +func (SVC_Messages_LowFrequency) EnumDescriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{8} +} + +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", + } + 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 +} + +func (x Bidirectional_Messages) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (Bidirectional_Messages) Descriptor() protoreflect.EnumDescriptor { + return file_netmessages_proto_enumTypes[9].Descriptor() +} + +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 +} + +// Deprecated: Use Bidirectional_Messages.Descriptor instead. +func (Bidirectional_Messages) EnumDescriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{9} +} + +type Bidirectional_Messages_LowFrequency int32 + +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", + } + 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 +} + +func (x Bidirectional_Messages_LowFrequency) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +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) +} + +// 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 + } + *x = Bidirectional_Messages_LowFrequency(num) + return nil +} + +// 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", + } + 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 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 + } + *x = ReplayEventTypeT(num) + return nil +} + +// Deprecated: Use ReplayEventTypeT.Descriptor instead. +func (ReplayEventTypeT) EnumDescriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{11} +} + +type CCLCMsg_ClientInfo 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"` + 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 *CCLCMsg_ClientInfo) Reset() { + *x = CCLCMsg_ClientInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_netmessages_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CCLCMsg_ClientInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CCLCMsg_ClientInfo) ProtoMessage() {} + +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 { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CCLCMsg_ClientInfo.ProtoReflect.Descriptor instead. +func (*CCLCMsg_ClientInfo) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{0} +} + +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) GetFriendsId() uint32 { + if x != nil && x.FriendsId != nil { + return *x.FriendsId + } + return 0 +} + +func (x *CCLCMsg_ClientInfo) GetFriendsName() string { + if x != nil && x.FriendsName != nil { + return *x.FriendsName + } + return "" +} + +type CCLCMsg_Move struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + 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 *CCLCMsg_Move) Reset() { + *x = CCLCMsg_Move{} + if protoimpl.UnsafeEnabled { + mi := &file_netmessages_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CCLCMsg_Move) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CCLCMsg_Move) ProtoMessage() {} + +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 { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CCLCMsg_Move.ProtoReflect.Descriptor instead. +func (*CCLCMsg_Move) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{1} +} + +func (x *CCLCMsg_Move) GetData() []byte { + if x != nil { + return x.Data + } + 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 CMsgVoiceAudio struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + 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"` +} + +// 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[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CMsgVoiceAudio) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CMsgVoiceAudio) ProtoMessage() {} + +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 { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CMsgVoiceAudio.ProtoReflect.Descriptor instead. +func (*CMsgVoiceAudio) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{2} +} + +func (x *CMsgVoiceAudio) GetFormat() VoiceDataFormatT { + if x != nil && x.Format != nil { + return *x.Format + } + return Default_CMsgVoiceAudio_Format +} + +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 *CMsgVoiceAudio) GetSectionNumber() uint32 { + if x != nil && x.SectionNumber != nil { + return *x.SectionNumber + } + return 0 +} + +func (x *CMsgVoiceAudio) GetSampleRate() uint32 { + if x != nil && x.SampleRate != nil { + return *x.SampleRate + } + return 0 +} + +func (x *CMsgVoiceAudio) GetUncompressedSampleOffset() uint32 { + if x != nil && x.UncompressedSampleOffset != nil { + return *x.UncompressedSampleOffset + } + return 0 +} + +type CCLCMsg_VoiceData struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + 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 *CCLCMsg_VoiceData) Reset() { + *x = CCLCMsg_VoiceData{} + if protoimpl.UnsafeEnabled { + mi := &file_netmessages_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CCLCMsg_VoiceData) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CCLCMsg_VoiceData) ProtoMessage() {} + +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 { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CCLCMsg_VoiceData.ProtoReflect.Descriptor instead. +func (*CCLCMsg_VoiceData) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{3} +} + +func (x *CCLCMsg_VoiceData) GetAudio() *CMsgVoiceAudio { + if x != nil { + return x.Audio + } + return nil +} + +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 + + 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 *CCLCMsg_BaselineAck) Reset() { + *x = CCLCMsg_BaselineAck{} + if protoimpl.UnsafeEnabled { + mi := &file_netmessages_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CCLCMsg_BaselineAck) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CCLCMsg_BaselineAck) ProtoMessage() {} + +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 { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CCLCMsg_BaselineAck.ProtoReflect.Descriptor instead. +func (*CCLCMsg_BaselineAck) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{4} +} + +func (x *CCLCMsg_BaselineAck) GetBaselineTick() int32 { + if x != nil && x.BaselineTick != nil { + return *x.BaselineTick + } + return 0 +} + +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 *CCLCMsg_ListenEvents) Reset() { + *x = CCLCMsg_ListenEvents{} + if protoimpl.UnsafeEnabled { + mi := &file_netmessages_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CCLCMsg_ListenEvents) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CCLCMsg_ListenEvents) ProtoMessage() {} + +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 { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// 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 CCLCMsg_RespondCvarValue 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"` +} + +func (x *CCLCMsg_RespondCvarValue) Reset() { + *x = CCLCMsg_RespondCvarValue{} + if protoimpl.UnsafeEnabled { + mi := &file_netmessages_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CCLCMsg_RespondCvarValue) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CCLCMsg_RespondCvarValue) ProtoMessage() {} + +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 { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CCLCMsg_RespondCvarValue.ProtoReflect.Descriptor instead. +func (*CCLCMsg_RespondCvarValue) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{6} +} + +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 "" +} + +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 + + 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 *CCLCMsg_FileCRCCheck) Reset() { + *x = CCLCMsg_FileCRCCheck{} + if protoimpl.UnsafeEnabled { + mi := &file_netmessages_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CCLCMsg_FileCRCCheck) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CCLCMsg_FileCRCCheck) ProtoMessage() {} + +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 { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CCLCMsg_FileCRCCheck.ProtoReflect.Descriptor instead. +func (*CCLCMsg_FileCRCCheck) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{7} +} + +func (x *CCLCMsg_FileCRCCheck) GetCodePath() int32 { + if x != nil && x.CodePath != nil { + return *x.CodePath + } + return 0 +} + +func (x *CCLCMsg_FileCRCCheck) GetPath() string { + if x != nil && x.Path != nil { + return *x.Path + } + return "" +} + +func (x *CCLCMsg_FileCRCCheck) GetCodeFilename() int32 { + if x != nil && x.CodeFilename != nil { + return *x.CodeFilename + } + return 0 +} + +func (x *CCLCMsg_FileCRCCheck) GetFilename() string { + if x != nil && x.Filename != nil { + return *x.Filename + } + return "" +} + +func (x *CCLCMsg_FileCRCCheck) GetCrc() uint32 { + if x != nil && x.Crc != nil { + return *x.Crc + } + return 0 +} + +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 *CCLCMsg_LoadingProgress) Reset() { + *x = CCLCMsg_LoadingProgress{} + if protoimpl.UnsafeEnabled { + mi := &file_netmessages_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CCLCMsg_LoadingProgress) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CCLCMsg_LoadingProgress) ProtoMessage() {} + +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 { + 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{8} +} + +func (x *CCLCMsg_LoadingProgress) GetProgress() int32 { + if x != nil && x.Progress != nil { + return *x.Progress + } + return 0 +} + +type CCLCMsg_SplitPlayerConnect struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Playername *string `protobuf:"bytes,1,opt,name=playername" json:"playername,omitempty"` +} + +func (x *CCLCMsg_SplitPlayerConnect) Reset() { + *x = CCLCMsg_SplitPlayerConnect{} + if protoimpl.UnsafeEnabled { + mi := &file_netmessages_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CCLCMsg_SplitPlayerConnect) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CCLCMsg_SplitPlayerConnect) ProtoMessage() {} + +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 { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CCLCMsg_SplitPlayerConnect.ProtoReflect.Descriptor instead. +func (*CCLCMsg_SplitPlayerConnect) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{9} +} + +func (x *CCLCMsg_SplitPlayerConnect) GetPlayername() string { + if x != nil && x.Playername != nil { + return *x.Playername + } + return "" +} + +type CCLCMsg_ClientMessage 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"` + Data []byte `protobuf:"bytes,2,opt,name=data" json:"data,omitempty"` +} + +func (x *CCLCMsg_ClientMessage) Reset() { + *x = CCLCMsg_ClientMessage{} + if protoimpl.UnsafeEnabled { + mi := &file_netmessages_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CCLCMsg_ClientMessage) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CCLCMsg_ClientMessage) ProtoMessage() {} + +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 { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CCLCMsg_ClientMessage.ProtoReflect.Descriptor instead. +func (*CCLCMsg_ClientMessage) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{10} +} + +func (x *CCLCMsg_ClientMessage) GetMsgType() int32 { + if x != nil && x.MsgType != nil { + return *x.MsgType + } + return 0 +} + +func (x *CCLCMsg_ClientMessage) GetData() []byte { + if x != nil { + return x.Data + } + return nil +} + +type CCLCMsg_SplitPlayerDisconnect struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Slot *int32 `protobuf:"varint,1,opt,name=slot" json:"slot,omitempty"` +} + +func (x *CCLCMsg_SplitPlayerDisconnect) Reset() { + *x = CCLCMsg_SplitPlayerDisconnect{} + if protoimpl.UnsafeEnabled { + mi := &file_netmessages_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CCLCMsg_SplitPlayerDisconnect) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CCLCMsg_SplitPlayerDisconnect) ProtoMessage() {} + +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 { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CCLCMsg_SplitPlayerDisconnect.ProtoReflect.Descriptor instead. +func (*CCLCMsg_SplitPlayerDisconnect) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{11} +} + +func (x *CCLCMsg_SplitPlayerDisconnect) GetSlot() int32 { + if x != nil && x.Slot != nil { + return *x.Slot + } + return 0 +} + +type CCLCMsg_ServerStatus struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Simplified *bool `protobuf:"varint,1,opt,name=simplified" json:"simplified,omitempty"` +} + +func (x *CCLCMsg_ServerStatus) Reset() { + *x = CCLCMsg_ServerStatus{} + if protoimpl.UnsafeEnabled { + mi := &file_netmessages_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CCLCMsg_ServerStatus) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CCLCMsg_ServerStatus) ProtoMessage() {} + +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 { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CCLCMsg_ServerStatus.ProtoReflect.Descriptor instead. +func (*CCLCMsg_ServerStatus) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{12} +} + +func (x *CCLCMsg_ServerStatus) GetSimplified() bool { + if x != nil && x.Simplified != nil { + return *x.Simplified + } + return false +} + +type CCLCMsg_ServerPing struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +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) + } +} + +func (x *CCLCMsg_ServerPing) String() string { + return protoimpl.X.MessageStringOf(x) +} + +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 mi.MessageOf(x) +} + +// Deprecated: Use CCLCMsg_ServerPing.ProtoReflect.Descriptor instead. +func (*CCLCMsg_ServerPing) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{13} +} + +type CCLCMsg_RequestPause struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + 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"` +} + +// 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[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CCLCMsg_RequestPause) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CCLCMsg_RequestPause) ProtoMessage() {} + +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 { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CCLCMsg_RequestPause.ProtoReflect.Descriptor instead. +func (*CCLCMsg_RequestPause) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{14} +} + +func (x *CCLCMsg_RequestPause) GetPauseType() RequestPauseT { + if x != nil && x.PauseType != nil { + return *x.PauseType + } + return Default_CCLCMsg_RequestPause_PauseType +} + +func (x *CCLCMsg_RequestPause) GetPauseGroup() int32 { + if x != nil && x.PauseGroup != nil { + return *x.PauseGroup + } + return 0 +} + +type CCLCMsg_CmdKeyValues struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Data []byte `protobuf:"bytes,1,opt,name=data" json:"data,omitempty"` +} + +func (x *CCLCMsg_CmdKeyValues) Reset() { + *x = CCLCMsg_CmdKeyValues{} + if protoimpl.UnsafeEnabled { + mi := &file_netmessages_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CCLCMsg_CmdKeyValues) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CCLCMsg_CmdKeyValues) ProtoMessage() {} + +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 { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CCLCMsg_CmdKeyValues.ProtoReflect.Descriptor instead. +func (*CCLCMsg_CmdKeyValues) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{15} +} + +func (x *CCLCMsg_CmdKeyValues) GetData() []byte { + if x != nil { + return x.Data + } + return nil +} + +type CCLCMsg_RconServerDetails struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Token []byte `protobuf:"bytes,1,opt,name=token" json:"token,omitempty"` +} + +func (x *CCLCMsg_RconServerDetails) Reset() { + *x = CCLCMsg_RconServerDetails{} + if protoimpl.UnsafeEnabled { + mi := &file_netmessages_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CCLCMsg_RconServerDetails) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CCLCMsg_RconServerDetails) ProtoMessage() {} + +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 { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CCLCMsg_RconServerDetails.ProtoReflect.Descriptor instead. +func (*CCLCMsg_RconServerDetails) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{16} +} + +func (x *CCLCMsg_RconServerDetails) GetToken() []byte { + if x != nil { + return x.Token + } + return nil +} + +type CSVCMsg_ServerInfo 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"` + 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" 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"` +} + +func (x *CSVCMsg_ServerInfo) Reset() { + *x = CSVCMsg_ServerInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_netmessages_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CSVCMsg_ServerInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CSVCMsg_ServerInfo) ProtoMessage() {} + +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 { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CSVCMsg_ServerInfo.ProtoReflect.Descriptor instead. +func (*CSVCMsg_ServerInfo) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{17} +} + +func (x *CSVCMsg_ServerInfo) GetProtocol() int32 { + if x != nil && x.Protocol != nil { + return *x.Protocol + } + return 0 +} + +func (x *CSVCMsg_ServerInfo) GetServerCount() int32 { + if x != nil && x.ServerCount != nil { + return *x.ServerCount + } + return 0 +} + +func (x *CSVCMsg_ServerInfo) GetIsDedicated() bool { + if x != nil && x.IsDedicated != nil { + return *x.IsDedicated + } + return false +} + +func (x *CSVCMsg_ServerInfo) GetIsHltv() bool { + if x != nil && x.IsHltv != nil { + return *x.IsHltv + } + return false +} + +func (x *CSVCMsg_ServerInfo) GetCOs() int32 { + if x != nil && x.COs != nil { + return *x.COs + } + return 0 +} + +func (x *CSVCMsg_ServerInfo) GetMaxClients() int32 { + if x != nil && x.MaxClients != nil { + return *x.MaxClients + } + return 0 +} + +func (x *CSVCMsg_ServerInfo) GetMaxClasses() int32 { + if x != nil && x.MaxClasses != nil { + return *x.MaxClasses + } + return 0 +} + +func (x *CSVCMsg_ServerInfo) GetPlayerSlot() int32 { + if x != nil && x.PlayerSlot != nil { + return *x.PlayerSlot + } + return 0 +} + +func (x *CSVCMsg_ServerInfo) GetTickInterval() float32 { + if x != nil && x.TickInterval != nil { + return *x.TickInterval + } + return 0 +} + +func (x *CSVCMsg_ServerInfo) GetGameDir() string { + if x != nil && x.GameDir != nil { + return *x.GameDir + } + return "" +} + +func (x *CSVCMsg_ServerInfo) GetMapName() string { + if x != nil && x.MapName != nil { + return *x.MapName + } + return "" +} + +func (x *CSVCMsg_ServerInfo) GetSkyName() string { + if x != nil && x.SkyName != nil { + return *x.SkyName + } + return "" +} + +func (x *CSVCMsg_ServerInfo) GetHostName() string { + if x != nil && x.HostName != nil { + return *x.HostName + } + return "" +} + +func (x *CSVCMsg_ServerInfo) GetAddonName() string { + if x != nil && x.AddonName != nil { + return *x.AddonName + } + return "" +} + +func (x *CSVCMsg_ServerInfo) GetGameSessionConfig() *CSVCMsg_GameSessionConfiguration { + if x != nil { + return x.GameSessionConfig + } + return nil +} + +func (x *CSVCMsg_ServerInfo) GetGameSessionManifest() []byte { + if x != nil { + return x.GameSessionManifest + } + return nil +} + +type CSVCMsg_ClassInfo 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"` +} + +func (x *CSVCMsg_ClassInfo) Reset() { + *x = CSVCMsg_ClassInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_netmessages_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CSVCMsg_ClassInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CSVCMsg_ClassInfo) ProtoMessage() {} + +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 { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// 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 *CSVCMsg_ClassInfo) GetClasses() []*CSVCMsg_ClassInfoClassT { + if x != nil { + return x.Classes + } + return nil +} + +type CSVCMsg_SetPause struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Paused *bool `protobuf:"varint,1,opt,name=paused" json:"paused,omitempty"` +} + +func (x *CSVCMsg_SetPause) Reset() { + *x = CSVCMsg_SetPause{} + if protoimpl.UnsafeEnabled { + mi := &file_netmessages_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CSVCMsg_SetPause) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CSVCMsg_SetPause) ProtoMessage() {} + +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 { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CSVCMsg_SetPause.ProtoReflect.Descriptor instead. +func (*CSVCMsg_SetPause) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{19} +} + +func (x *CSVCMsg_SetPause) GetPaused() bool { + if x != nil && x.Paused != nil { + return *x.Paused + } + return false +} + +type CSVCMsg_VoiceInit 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"` +} + +// 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[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CSVCMsg_VoiceInit) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CSVCMsg_VoiceInit) ProtoMessage() {} + +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 { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CSVCMsg_VoiceInit.ProtoReflect.Descriptor instead. +func (*CSVCMsg_VoiceInit) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{20} +} + +func (x *CSVCMsg_VoiceInit) GetQuality() int32 { + if x != nil && x.Quality != nil { + return *x.Quality + } + return 0 +} + +func (x *CSVCMsg_VoiceInit) GetCodec() string { + if x != nil && x.Codec != nil { + return *x.Codec + } + return "" +} + +func (x *CSVCMsg_VoiceInit) GetVersion() int32 { + if x != nil && x.Version != nil { + return *x.Version + } + return Default_CSVCMsg_VoiceInit_Version +} + +type CSVCMsg_Print struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Text *string `protobuf:"bytes,1,opt,name=text" json:"text,omitempty"` +} + +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) + } +} + +func (x *CSVCMsg_Print) String() string { + return protoimpl.X.MessageStringOf(x) +} + +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 mi.MessageOf(x) +} + +// Deprecated: Use CSVCMsg_Print.ProtoReflect.Descriptor instead. +func (*CSVCMsg_Print) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{21} +} + +func (x *CSVCMsg_Print) GetText() string { + if x != nil && x.Text != nil { + return *x.Text + } + return "" +} + +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_Sounds) Reset() { + *x = CSVCMsg_Sounds{} + if protoimpl.UnsafeEnabled { + mi := &file_netmessages_proto_msgTypes[22] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CSVCMsg_Sounds) String() string { + return protoimpl.X.MessageStringOf(x) +} + +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 mi.MessageOf(x) +} + +// Deprecated: Use CSVCMsg_Sounds.ProtoReflect.Descriptor instead. +func (*CSVCMsg_Sounds) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{22} +} + +func (x *CSVCMsg_Sounds) GetReliableSound() bool { + if x != nil && x.ReliableSound != nil { + return *x.ReliableSound + } + return false +} + +func (x *CSVCMsg_Sounds) GetSounds() []*CSVCMsg_SoundsSounddataT { + if x != nil { + return x.Sounds + } + return nil +} + +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"` +} + +// 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" json:"entity_index,omitempty"` + Slot *int32 `protobuf:"varint,2,opt,name=slot" json:"slot,omitempty"` +} + +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 0 +} + +func (x *CSVCMsg_SetView) GetSlot() int32 { + if x != nil && x.Slot != nil { + return *x.Slot + } + return 0 +} + +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" 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"` +} + +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 0 +} + +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" json:"player_index,omitempty"` +} + +// Default values for CSVCMsg_SplitScreen fields. +const ( + Default_CSVCMsg_SplitScreen_Type = ESplitScreenMessageType_MSG_SPLITSCREEN_ADDUSER +) + +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 0 +} + +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 mi.MessageOf(x) +} + +// Deprecated: Use CSVCMsg_Menu.ProtoReflect.Descriptor instead. +func (*CSVCMsg_Menu) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{30} +} + +func (x *CSVCMsg_Menu) GetDialogType() int32 { + if x != nil && x.DialogType != nil { + return *x.DialogType + } + return 0 +} + +func (x *CSVCMsg_Menu) GetMenuKeyValues() []byte { + if x != nil { + return x.MenuKeyValues + } + return nil +} + +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 *CSVCMsg_UserMessage) Reset() { + *x = CSVCMsg_UserMessage{} + if protoimpl.UnsafeEnabled { + mi := &file_netmessages_proto_msgTypes[31] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CSVCMsg_UserMessage) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CSVCMsg_UserMessage) ProtoMessage() {} + +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 { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CSVCMsg_UserMessage.ProtoReflect.Descriptor instead. +func (*CSVCMsg_UserMessage) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{31} +} + +func (x *CSVCMsg_UserMessage) GetMsgType() int32 { + if x != nil && x.MsgType != nil { + return *x.MsgType + } + return 0 +} + +func (x *CSVCMsg_UserMessage) GetMsgData() []byte { + if x != nil { + 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 + unknownFields protoimpl.UnknownFields + + IsEnd *bool `protobuf:"varint,1,opt,name=is_end,json=isEnd" json:"is_end,omitempty"` + NetTableName *string `protobuf:"bytes,2,opt,name=net_table_name,json=netTableName" json:"net_table_name,omitempty"` + NeedsDecoder *bool `protobuf:"varint,3,opt,name=needs_decoder,json=needsDecoder" json:"needs_decoder,omitempty"` + Props []*CSVCMsg_SendTableSendpropT `protobuf:"bytes,4,rep,name=props" json:"props,omitempty"` +} + +func (x *CSVCMsg_SendTable) Reset() { + *x = CSVCMsg_SendTable{} + if protoimpl.UnsafeEnabled { + mi := &file_netmessages_proto_msgTypes[32] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CSVCMsg_SendTable) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CSVCMsg_SendTable) ProtoMessage() {} + +func (x *CSVCMsg_SendTable) ProtoReflect() protoreflect.Message { + mi := &file_netmessages_proto_msgTypes[32] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CSVCMsg_SendTable.ProtoReflect.Descriptor instead. +func (*CSVCMsg_SendTable) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{32} +} + +func (x *CSVCMsg_SendTable) GetIsEnd() bool { + if x != nil && x.IsEnd != nil { + return *x.IsEnd + } + return false +} + +func (x *CSVCMsg_SendTable) GetNetTableName() string { + if x != nil && x.NetTableName != nil { + return *x.NetTableName + } + return "" +} + +func (x *CSVCMsg_SendTable) GetNeedsDecoder() bool { + if x != nil && x.NeedsDecoder != nil { + return *x.NeedsDecoder + } + return false +} + +func (x *CSVCMsg_SendTable) GetProps() []*CSVCMsg_SendTableSendpropT { + if x != nil { + return x.Props + } + return nil +} + +type CSVCMsg_GameEventList struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Descriptors []*CSVCMsg_GameEventListDescriptorT `protobuf:"bytes,1,rep,name=descriptors" json:"descriptors,omitempty"` +} + +func (x *CSVCMsg_GameEventList) Reset() { + *x = CSVCMsg_GameEventList{} + if protoimpl.UnsafeEnabled { + mi := &file_netmessages_proto_msgTypes[33] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CSVCMsg_GameEventList) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CSVCMsg_GameEventList) ProtoMessage() {} + +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 { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CSVCMsg_GameEventList.ProtoReflect.Descriptor instead. +func (*CSVCMsg_GameEventList) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{33} +} + +func (x *CSVCMsg_GameEventList) GetDescriptors() []*CSVCMsg_GameEventListDescriptorT { + if x != nil { + return x.Descriptors + } + return nil +} + +type CSVCMsg_PacketEntities 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"` + 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"` +} + +func (x *CSVCMsg_PacketEntities) Reset() { + *x = CSVCMsg_PacketEntities{} + if protoimpl.UnsafeEnabled { + mi := &file_netmessages_proto_msgTypes[34] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CSVCMsg_PacketEntities) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CSVCMsg_PacketEntities) ProtoMessage() {} + +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 { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CSVCMsg_PacketEntities.ProtoReflect.Descriptor instead. +func (*CSVCMsg_PacketEntities) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{34} +} + +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 +} + +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 +} + +type CSVCMsg_TempEntities 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"` +} + +func (x *CSVCMsg_TempEntities) Reset() { + *x = CSVCMsg_TempEntities{} + if protoimpl.UnsafeEnabled { + mi := &file_netmessages_proto_msgTypes[35] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CSVCMsg_TempEntities) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CSVCMsg_TempEntities) ProtoMessage() {} + +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 { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CSVCMsg_TempEntities.ProtoReflect.Descriptor instead. +func (*CSVCMsg_TempEntities) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{35} +} + +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"` + 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[36] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CSVCMsg_CreateStringTable) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CSVCMsg_CreateStringTable) ProtoMessage() {} + +func (x *CSVCMsg_CreateStringTable) ProtoReflect() protoreflect.Message { + mi := &file_netmessages_proto_msgTypes[36] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CSVCMsg_CreateStringTable.ProtoReflect.Descriptor instead. +func (*CSVCMsg_CreateStringTable) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{36} +} + +func (x *CSVCMsg_CreateStringTable) GetName() string { + if x != nil && x.Name != nil { + return *x.Name + } + return "" +} + +func (x *CSVCMsg_CreateStringTable) GetNumEntries() int32 { + if x != nil && x.NumEntries != nil { + return *x.NumEntries + } + return 0 +} + +func (x *CSVCMsg_CreateStringTable) GetUserDataFixedSize() bool { + if x != nil && x.UserDataFixedSize != nil { + return *x.UserDataFixedSize + } + return false +} + +func (x *CSVCMsg_CreateStringTable) GetUserDataSize() int32 { + if x != nil && x.UserDataSize != nil { + return *x.UserDataSize + } + return 0 +} + +func (x *CSVCMsg_CreateStringTable) GetUserDataSizeBits() int32 { + if x != nil && x.UserDataSizeBits != nil { + return *x.UserDataSizeBits + } + return 0 +} + +func (x *CSVCMsg_CreateStringTable) GetFlags() int32 { + if x != nil && x.Flags != nil { + return *x.Flags + } + return 0 +} + +func (x *CSVCMsg_CreateStringTable) GetStringData() []byte { + if x != nil { + return x.StringData + } + 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 + unknownFields protoimpl.UnknownFields + + TableId *int32 `protobuf:"varint,1,opt,name=table_id,json=tableId" json:"table_id,omitempty"` + NumChangedEntries *int32 `protobuf:"varint,2,opt,name=num_changed_entries,json=numChangedEntries" json:"num_changed_entries,omitempty"` + StringData []byte `protobuf:"bytes,3,opt,name=string_data,json=stringData" json:"string_data,omitempty"` +} + +func (x *CSVCMsg_UpdateStringTable) Reset() { + *x = CSVCMsg_UpdateStringTable{} + if protoimpl.UnsafeEnabled { + mi := &file_netmessages_proto_msgTypes[37] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CSVCMsg_UpdateStringTable) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CSVCMsg_UpdateStringTable) ProtoMessage() {} + +func (x *CSVCMsg_UpdateStringTable) ProtoReflect() protoreflect.Message { + mi := &file_netmessages_proto_msgTypes[37] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CSVCMsg_UpdateStringTable.ProtoReflect.Descriptor instead. +func (*CSVCMsg_UpdateStringTable) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{37} +} + +func (x *CSVCMsg_UpdateStringTable) GetTableId() int32 { + if x != nil && x.TableId != nil { + return *x.TableId + } + return 0 +} + +func (x *CSVCMsg_UpdateStringTable) GetNumChangedEntries() int32 { + if x != nil && x.NumChangedEntries != nil { + return *x.NumChangedEntries + } + return 0 +} + +func (x *CSVCMsg_UpdateStringTable) GetStringData() []byte { + if x != nil { + return x.StringData + } + return nil +} + +type CSVCMsg_VoiceData struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Audio *CMsgVoiceAudio `protobuf:"bytes,1,opt,name=audio" json:"audio,omitempty"` + Client *int32 `protobuf:"varint,2,opt,name=client" 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"` +} + +func (x *CSVCMsg_VoiceData) Reset() { + *x = CSVCMsg_VoiceData{} + if protoimpl.UnsafeEnabled { + mi := &file_netmessages_proto_msgTypes[38] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CSVCMsg_VoiceData) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CSVCMsg_VoiceData) ProtoMessage() {} + +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 { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CSVCMsg_VoiceData.ProtoReflect.Descriptor instead. +func (*CSVCMsg_VoiceData) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{38} +} + +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 0 +} + +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_VoiceData) GetAudibleMask() int32 { + if x != nil && x.AudibleMask != nil { + return *x.AudibleMask + } + return 0 +} + +func (x *CSVCMsg_VoiceData) GetTick() uint32 { + if x != nil && x.Tick != nil { + return *x.Tick + } + return 0 +} + +type CSVCMsg_PacketReliable struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + 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"` +} + +func (x *CSVCMsg_PacketReliable) Reset() { + *x = CSVCMsg_PacketReliable{} + if protoimpl.UnsafeEnabled { + mi := &file_netmessages_proto_msgTypes[39] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CSVCMsg_PacketReliable) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CSVCMsg_PacketReliable) ProtoMessage() {} + +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 { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CSVCMsg_PacketReliable.ProtoReflect.Descriptor instead. +func (*CSVCMsg_PacketReliable) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{39} +} + +func (x *CSVCMsg_PacketReliable) GetTick() int32 { + if x != nil && x.Tick != nil { + return *x.Tick + } + return 0 +} + +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 +} + +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_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_FullFrameSplit) GetData() []byte { + if x != nil { + return x.Data + } + return nil +} + +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) + } +} + +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 mi.MessageOf(x) +} + +// 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_HLTVStatus) GetSlots() int32 { + if x != nil && x.Slots != nil { + return *x.Slots + } + return 0 +} + +func (x *CSVCMsg_HLTVStatus) GetProxies() int32 { + if x != nil && x.Proxies != nil { + return *x.Proxies + } + return 0 +} + +type CSVCMsg_ServerSteamID struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + SteamId *uint64 `protobuf:"varint,1,opt,name=steam_id,json=steamId" json:"steam_id,omitempty"` +} + +func (x *CSVCMsg_ServerSteamID) Reset() { + *x = CSVCMsg_ServerSteamID{} + if protoimpl.UnsafeEnabled { + mi := &file_netmessages_proto_msgTypes[42] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CSVCMsg_ServerSteamID) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CSVCMsg_ServerSteamID) ProtoMessage() {} + +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 { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CSVCMsg_ServerSteamID.ProtoReflect.Descriptor instead. +func (*CSVCMsg_ServerSteamID) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{42} +} + +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 mi.MessageOf(x) +} + +// 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.Data + } + return nil +} + +type CSVCMsg_RconServerDetails struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + 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_RconServerDetails) Reset() { + *x = CSVCMsg_RconServerDetails{} + if protoimpl.UnsafeEnabled { + mi := &file_netmessages_proto_msgTypes[44] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CSVCMsg_RconServerDetails) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CSVCMsg_RconServerDetails) ProtoMessage() {} + +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 { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CSVCMsg_RconServerDetails.ProtoReflect.Descriptor instead. +func (*CSVCMsg_RconServerDetails) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{44} +} + +func (x *CSVCMsg_RconServerDetails) GetToken() []byte { + if x != nil { + return x.Token + } + return nil +} + +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 + + 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 *CMsgIPCAddress) Reset() { + *x = CMsgIPCAddress{} + if protoimpl.UnsafeEnabled { + mi := &file_netmessages_proto_msgTypes[45] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CMsgIPCAddress) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CMsgIPCAddress) ProtoMessage() {} + +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 { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CMsgIPCAddress.ProtoReflect.Descriptor instead. +func (*CMsgIPCAddress) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{45} +} + +func (x *CMsgIPCAddress) GetComputerGuid() uint64 { + if x != nil && x.ComputerGuid != nil { + return *x.ComputerGuid + } + return 0 +} + +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 + + PlayerSlot *int32 `protobuf:"varint,1,opt,name=player_slot,json=playerSlot" 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 *CMsgServerPeer) Reset() { + *x = CMsgServerPeer{} + if protoimpl.UnsafeEnabled { + mi := &file_netmessages_proto_msgTypes[46] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CMsgServerPeer) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CMsgServerPeer) ProtoMessage() {} + +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 { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CMsgServerPeer.ProtoReflect.Descriptor instead. +func (*CMsgServerPeer) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{46} +} + +func (x *CMsgServerPeer) GetPlayerSlot() int32 { + if x != nil && x.PlayerSlot != nil { + return *x.PlayerSlot + } + return 0 +} + +func (x *CMsgServerPeer) GetSteamid() uint64 { + if x != nil && x.Steamid != nil { + return *x.Steamid + } + return 0 +} + +func (x *CMsgServerPeer) GetIpc() *CMsgIPCAddress { + if x != nil { + return x.Ipc + } + return nil +} + +func (x *CMsgServerPeer) GetTheyHearYou() bool { + if x != nil && x.TheyHearYou != nil { + return *x.TheyHearYou + } + return false +} + +func (x *CMsgServerPeer) GetYouHearThem() bool { + if x != nil && x.YouHearThem != nil { + return *x.YouHearThem + } + return false +} + +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 + + Peer []*CMsgServerPeer `protobuf:"bytes,1,rep,name=peer" json:"peer,omitempty"` +} + +func (x *CSVCMsg_PeerList) Reset() { + *x = CSVCMsg_PeerList{} + if protoimpl.UnsafeEnabled { + mi := &file_netmessages_proto_msgTypes[47] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CSVCMsg_PeerList) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CSVCMsg_PeerList) ProtoMessage() {} + +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 { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CSVCMsg_PeerList.ProtoReflect.Descriptor instead. +func (*CSVCMsg_PeerList) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{47} +} + +func (x *CSVCMsg_PeerList) GetPeer() []*CMsgServerPeer { + if x != nil { + return x.Peer + } + return nil +} + +type CSVCMsg_ClearAllStringTables struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Mapname *string `protobuf:"bytes,1,opt,name=mapname" json:"mapname,omitempty"` +} + +func (x *CSVCMsg_ClearAllStringTables) Reset() { + *x = CSVCMsg_ClearAllStringTables{} + if protoimpl.UnsafeEnabled { + mi := &file_netmessages_proto_msgTypes[48] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CSVCMsg_ClearAllStringTables) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CSVCMsg_ClearAllStringTables) ProtoMessage() {} + +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 { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CSVCMsg_ClearAllStringTables.ProtoReflect.Descriptor instead. +func (*CSVCMsg_ClearAllStringTables) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{48} +} + +func (x *CSVCMsg_ClearAllStringTables) GetMapname() string { + if x != nil && x.Mapname != nil { + return *x.Mapname + } + return "" +} + +type ProtoFlattenedSerializerFieldT struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + 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 *ProtoFlattenedSerializerFieldT) Reset() { + *x = ProtoFlattenedSerializerFieldT{} + if protoimpl.UnsafeEnabled { + mi := &file_netmessages_proto_msgTypes[49] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ProtoFlattenedSerializerFieldT) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ProtoFlattenedSerializerFieldT) ProtoMessage() {} + +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 { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ProtoFlattenedSerializerFieldT.ProtoReflect.Descriptor instead. +func (*ProtoFlattenedSerializerFieldT) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{49} +} + +func (x *ProtoFlattenedSerializerFieldT) GetVarTypeSym() int32 { + if x != nil && x.VarTypeSym != nil { + return *x.VarTypeSym + } + return 0 +} + +func (x *ProtoFlattenedSerializerFieldT) GetVarNameSym() int32 { + if x != nil && x.VarNameSym != nil { + return *x.VarNameSym + } + return 0 +} + +func (x *ProtoFlattenedSerializerFieldT) GetBitCount() int32 { + if x != nil && x.BitCount != nil { + return *x.BitCount + } + return 0 +} + +func (x *ProtoFlattenedSerializerFieldT) GetLowValue() float32 { + if x != nil && x.LowValue != nil { + return *x.LowValue + } + return 0 +} + +func (x *ProtoFlattenedSerializerFieldT) GetHighValue() float32 { + if x != nil && x.HighValue != nil { + return *x.HighValue + } + return 0 +} + +func (x *ProtoFlattenedSerializerFieldT) GetEncodeFlags() int32 { + if x != nil && x.EncodeFlags != nil { + return *x.EncodeFlags + } + return 0 +} + +func (x *ProtoFlattenedSerializerFieldT) GetFieldSerializerNameSym() int32 { + if x != nil && x.FieldSerializerNameSym != nil { + return *x.FieldSerializerNameSym + } + return 0 +} + +func (x *ProtoFlattenedSerializerFieldT) GetFieldSerializerVersion() int32 { + if x != nil && x.FieldSerializerVersion != nil { + return *x.FieldSerializerVersion + } + return 0 +} + +func (x *ProtoFlattenedSerializerFieldT) GetSendNodeSym() int32 { + if x != nil && x.SendNodeSym != nil { + return *x.SendNodeSym + } + return 0 +} + +func (x *ProtoFlattenedSerializerFieldT) GetVarEncoderSym() int32 { + if x != nil && x.VarEncoderSym != nil { + return *x.VarEncoderSym + } + return 0 +} + +type ProtoFlattenedSerializerT struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + 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 *ProtoFlattenedSerializerT) Reset() { + *x = ProtoFlattenedSerializerT{} + if protoimpl.UnsafeEnabled { + mi := &file_netmessages_proto_msgTypes[50] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ProtoFlattenedSerializerT) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ProtoFlattenedSerializerT) ProtoMessage() {} + +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 { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// 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 *ProtoFlattenedSerializerT) GetFieldsIndex() []int32 { + if x != nil { + return x.FieldsIndex + } + return nil +} + +type CSVCMsg_FlattenedSerializer struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + 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_FlattenedSerializer) Reset() { + *x = CSVCMsg_FlattenedSerializer{} + if protoimpl.UnsafeEnabled { + mi := &file_netmessages_proto_msgTypes[51] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CSVCMsg_FlattenedSerializer) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CSVCMsg_FlattenedSerializer) ProtoMessage() {} + +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 { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CSVCMsg_FlattenedSerializer.ProtoReflect.Descriptor instead. +func (*CSVCMsg_FlattenedSerializer) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{51} +} + +func (x *CSVCMsg_FlattenedSerializer) GetSerializers() []*ProtoFlattenedSerializerT { + if x != nil { + return x.Serializers + } + return nil +} + +func (x *CSVCMsg_FlattenedSerializer) GetSymbols() []string { + if x != nil { + return x.Symbols + } + return nil +} + +func (x *CSVCMsg_FlattenedSerializer) GetFields() []*ProtoFlattenedSerializerFieldT { + if x != nil { + return x.Fields + } + return nil +} + +type CSVCMsg_StopSound struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Guid *uint32 `protobuf:"fixed32,1,opt,name=guid" json:"guid,omitempty"` +} + +func (x *CSVCMsg_StopSound) Reset() { + *x = CSVCMsg_StopSound{} + if protoimpl.UnsafeEnabled { + mi := &file_netmessages_proto_msgTypes[52] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CSVCMsg_StopSound) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CSVCMsg_StopSound) ProtoMessage() {} + +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 { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CSVCMsg_StopSound.ProtoReflect.Descriptor instead. +func (*CSVCMsg_StopSound) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{52} +} + +func (x *CSVCMsg_StopSound) GetGuid() uint32 { + if x != nil && x.Guid != nil { + return *x.Guid + } + return 0 +} + +type CBidirMsg_RebroadcastGameEvent struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + 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 *CBidirMsg_RebroadcastGameEvent) Reset() { + *x = CBidirMsg_RebroadcastGameEvent{} + if protoimpl.UnsafeEnabled { + mi := &file_netmessages_proto_msgTypes[53] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CBidirMsg_RebroadcastGameEvent) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CBidirMsg_RebroadcastGameEvent) ProtoMessage() {} + +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 { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CBidirMsg_RebroadcastGameEvent.ProtoReflect.Descriptor instead. +func (*CBidirMsg_RebroadcastGameEvent) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{53} +} + +func (x *CBidirMsg_RebroadcastGameEvent) GetPosttoserver() bool { + if x != nil && x.Posttoserver != nil { + return *x.Posttoserver + } + return false +} + +func (x *CBidirMsg_RebroadcastGameEvent) GetBuftype() int32 { + if x != nil && x.Buftype != nil { + return *x.Buftype + } + return 0 +} + +func (x *CBidirMsg_RebroadcastGameEvent) GetClientbitcount() uint32 { + if x != nil && x.Clientbitcount != nil { + return *x.Clientbitcount + } + return 0 +} + +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 + + Eventsource *int32 `protobuf:"varint,1,opt,name=eventsource" json:"eventsource,omitempty"` +} + +func (x *CBidirMsg_RebroadcastSource) Reset() { + *x = CBidirMsg_RebroadcastSource{} + if protoimpl.UnsafeEnabled { + mi := &file_netmessages_proto_msgTypes[54] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CBidirMsg_RebroadcastSource) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CBidirMsg_RebroadcastSource) ProtoMessage() {} + +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 { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CBidirMsg_RebroadcastSource.ProtoReflect.Descriptor instead. +func (*CBidirMsg_RebroadcastSource) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{54} +} + +func (x *CBidirMsg_RebroadcastSource) GetEventsource() int32 { + if x != nil && x.Eventsource != nil { + return *x.Eventsource + } + return 0 +} + +type CMsgServerNetworkStats struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + 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[55] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CMsgServerNetworkStats) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CMsgServerNetworkStats) ProtoMessage() {} + +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 { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CMsgServerNetworkStats.ProtoReflect.Descriptor instead. +func (*CMsgServerNetworkStats) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{55} +} + +func (x *CMsgServerNetworkStats) GetDedicated() bool { + if x != nil && x.Dedicated != nil { + return *x.Dedicated + } + return false +} + +func (x *CMsgServerNetworkStats) GetCpuUsage() int32 { + if x != nil && x.CpuUsage != nil { + return *x.CpuUsage + } + return 0 +} + +func (x *CMsgServerNetworkStats) GetMemoryUsedMb() int32 { + if x != nil && x.MemoryUsedMb != nil { + return *x.MemoryUsedMb + } + return 0 +} + +func (x *CMsgServerNetworkStats) GetMemoryFreeMb() int32 { + if x != nil && x.MemoryFreeMb != nil { + return *x.MemoryFreeMb + } + return 0 +} + +func (x *CMsgServerNetworkStats) GetUptime() int32 { + if x != nil && x.Uptime != nil { + return *x.Uptime + } + return 0 +} + +func (x *CMsgServerNetworkStats) GetSpawnCount() int32 { + if x != nil && x.SpawnCount != nil { + return *x.SpawnCount + } + return 0 +} + +func (x *CMsgServerNetworkStats) GetNumClients() int32 { + if x != nil && x.NumClients != nil { + return *x.NumClients + } + return 0 +} + +func (x *CMsgServerNetworkStats) GetNumBots() int32 { + if x != nil && x.NumBots != nil { + return *x.NumBots + } + return 0 +} + +func (x *CMsgServerNetworkStats) GetNumSpectators() int32 { + if x != nil && x.NumSpectators != nil { + return *x.NumSpectators + } + return 0 +} + +func (x *CMsgServerNetworkStats) GetNumTvRelays() int32 { + if x != nil && x.NumTvRelays != nil { + return *x.NumTvRelays + } + return 0 +} + +func (x *CMsgServerNetworkStats) GetFps() float32 { + if x != nil && x.Fps != nil { + return *x.Fps + } + return 0 +} + +func (x *CMsgServerNetworkStats) GetPorts() []*CMsgServerNetworkStats_Port { + if x != nil { + return x.Ports + } + return nil +} + +func (x *CMsgServerNetworkStats) GetAvgLatencyOut() float32 { + if x != nil && x.AvgLatencyOut != nil { + return *x.AvgLatencyOut + } + return 0 +} + +func (x *CMsgServerNetworkStats) GetAvgLatencyIn() float32 { + if x != nil && x.AvgLatencyIn != nil { + return *x.AvgLatencyIn + } + return 0 +} + +func (x *CMsgServerNetworkStats) GetAvgPacketsOut() float32 { + if x != nil && x.AvgPacketsOut != nil { + return *x.AvgPacketsOut + } + return 0 +} + +func (x *CMsgServerNetworkStats) GetAvgPacketsIn() float32 { + if x != nil && x.AvgPacketsIn != nil { + return *x.AvgPacketsIn + } + return 0 +} + +func (x *CMsgServerNetworkStats) GetAvgLossOut() float32 { + if x != nil && x.AvgLossOut != nil { + return *x.AvgLossOut + } + return 0 +} + +func (x *CMsgServerNetworkStats) GetAvgLossIn() float32 { + if x != nil && x.AvgLossIn != nil { + return *x.AvgLossIn + } + return 0 +} + +func (x *CMsgServerNetworkStats) GetAvgDataOut() float32 { + if x != nil && x.AvgDataOut != nil { + return *x.AvgDataOut + } + return 0 +} + +func (x *CMsgServerNetworkStats) GetAvgDataIn() float32 { + if x != nil && x.AvgDataIn != nil { + return *x.AvgDataIn + } + return 0 +} + +func (x *CMsgServerNetworkStats) GetTotalDataIn() uint64 { + if x != nil && x.TotalDataIn != nil { + return *x.TotalDataIn + } + return 0 +} + +func (x *CMsgServerNetworkStats) GetTotalPacketsIn() uint64 { + if x != nil && x.TotalPacketsIn != nil { + return *x.TotalPacketsIn + } + return 0 +} + +func (x *CMsgServerNetworkStats) GetTotalDataOut() uint64 { + if x != nil && x.TotalDataOut != nil { + return *x.TotalDataOut + } + return 0 +} + +func (x *CMsgServerNetworkStats) GetTotalPacketsOut() uint64 { + if x != nil && x.TotalPacketsOut != nil { + return *x.TotalPacketsOut + } + return 0 +} + +func (x *CMsgServerNetworkStats) GetPlayers() []*CMsgServerNetworkStats_Player { + if x != nil { + return x.Players + } + return nil +} + +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"` + 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"` +} + +func (x *CSVCMsg_HltvReplay) Reset() { + *x = CSVCMsg_HltvReplay{} + if protoimpl.UnsafeEnabled { + mi := &file_netmessages_proto_msgTypes[56] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CSVCMsg_HltvReplay) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CSVCMsg_HltvReplay) ProtoMessage() {} + +func (x *CSVCMsg_HltvReplay) ProtoReflect() protoreflect.Message { + mi := &file_netmessages_proto_msgTypes[56] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CSVCMsg_HltvReplay.ProtoReflect.Descriptor instead. +func (*CSVCMsg_HltvReplay) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{56} +} + +func (x *CSVCMsg_HltvReplay) GetDelay() int32 { + if x != nil && x.Delay != nil { + return *x.Delay + } + return 0 +} + +func (x *CSVCMsg_HltvReplay) GetPrimaryTarget() int32 { + if x != nil && x.PrimaryTarget != nil { + return *x.PrimaryTarget + } + return 0 +} + +func (x *CSVCMsg_HltvReplay) GetReplayStopAt() int32 { + if x != nil && x.ReplayStopAt != nil { + return *x.ReplayStopAt + } + return 0 +} + +func (x *CSVCMsg_HltvReplay) GetReplayStartAt() int32 { + if x != nil && x.ReplayStartAt != nil { + return *x.ReplayStartAt + } + return 0 +} + +func (x *CSVCMsg_HltvReplay) GetReplaySlowdownBegin() int32 { + if x != nil && x.ReplaySlowdownBegin != nil { + return *x.ReplaySlowdownBegin + } + return 0 +} + +func (x *CSVCMsg_HltvReplay) GetReplaySlowdownEnd() int32 { + if x != nil && x.ReplaySlowdownEnd != nil { + return *x.ReplaySlowdownEnd + } + return 0 +} + +func (x *CSVCMsg_HltvReplay) GetReplaySlowdownRate() float32 { + if x != nil && x.ReplaySlowdownRate != nil { + return *x.ReplaySlowdownRate + } + 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"` + PrimaryTarget *int32 `protobuf:"varint,4,opt,name=primary_target,json=primaryTarget" json:"primary_target,omitempty"` + EventTime *float32 `protobuf:"fixed32,5,opt,name=event_time,json=eventTime" json:"event_time,omitempty"` +} + +func (x *CCLCMsg_HltvReplay) Reset() { + *x = CCLCMsg_HltvReplay{} + if protoimpl.UnsafeEnabled { + mi := &file_netmessages_proto_msgTypes[57] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CCLCMsg_HltvReplay) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CCLCMsg_HltvReplay) ProtoMessage() {} + +func (x *CCLCMsg_HltvReplay) ProtoReflect() protoreflect.Message { + mi := &file_netmessages_proto_msgTypes[57] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CCLCMsg_HltvReplay.ProtoReflect.Descriptor instead. +func (*CCLCMsg_HltvReplay) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{57} +} + +func (x *CCLCMsg_HltvReplay) GetRequest() int32 { + if x != nil && x.Request != nil { + return *x.Request + } + return 0 +} + +func (x *CCLCMsg_HltvReplay) GetSlowdownLength() float32 { + if x != nil && x.SlowdownLength != nil { + return *x.SlowdownLength + } + return 0 +} + +func (x *CCLCMsg_HltvReplay) GetSlowdownRate() float32 { + if x != nil && x.SlowdownRate != nil { + return *x.SlowdownRate + } + return 0 +} + +func (x *CCLCMsg_HltvReplay) GetPrimaryTarget() int32 { + if x != nil && x.PrimaryTarget != nil { + return *x.PrimaryTarget + } + return 0 +} + +func (x *CCLCMsg_HltvReplay) GetEventTime() float32 { + if x != nil && x.EventTime != nil { + return *x.EventTime + } + return 0 +} + +type CSVCMsg_Broadcast_Command struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Cmd *string `protobuf:"bytes,1,opt,name=cmd" json:"cmd,omitempty"` +} + +func (x *CSVCMsg_Broadcast_Command) Reset() { + *x = CSVCMsg_Broadcast_Command{} + if protoimpl.UnsafeEnabled { + mi := &file_netmessages_proto_msgTypes[58] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CSVCMsg_Broadcast_Command) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CSVCMsg_Broadcast_Command) ProtoMessage() {} + +func (x *CSVCMsg_Broadcast_Command) ProtoReflect() protoreflect.Message { + mi := &file_netmessages_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 CSVCMsg_Broadcast_Command.ProtoReflect.Descriptor instead. +func (*CSVCMsg_Broadcast_Command) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{58} +} + +func (x *CSVCMsg_Broadcast_Command) GetCmd() string { + if x != nil && x.Cmd != nil { + return *x.Cmd + } + return "" +} + +type CCLCMsg_HltvFixupOperatorTick struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + 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 *CCLCMsg_HltvFixupOperatorTick) Reset() { + *x = CCLCMsg_HltvFixupOperatorTick{} + if protoimpl.UnsafeEnabled { + mi := &file_netmessages_proto_msgTypes[59] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CCLCMsg_HltvFixupOperatorTick) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CCLCMsg_HltvFixupOperatorTick) ProtoMessage() {} + +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" 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"` +} + +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 { + 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{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 +} + +func (x *CSVCMsg_SoundsSounddataT) GetEntityIndex() int32 { + if x != nil && x.EntityIndex != nil { + return *x.EntityIndex + } + return 0 +} + +func (x *CSVCMsg_SoundsSounddataT) GetChannel() int32 { + if x != nil && x.Channel != nil { + return *x.Channel + } + return 0 +} + +func (x *CSVCMsg_SoundsSounddataT) GetPitch() int32 { + if x != nil && x.Pitch != nil { + return *x.Pitch + } + return 0 +} + +func (x *CSVCMsg_SoundsSounddataT) GetFlags() int32 { + if x != nil && x.Flags != nil { + return *x.Flags + } + return 0 +} + +func (x *CSVCMsg_SoundsSounddataT) GetSoundNum() uint32 { + if x != nil && x.SoundNum != nil { + return *x.SoundNum + } + return 0 +} + +func (x *CSVCMsg_SoundsSounddataT) GetSoundNumHandle() uint32 { + if x != nil && x.SoundNumHandle != nil { + return *x.SoundNumHandle + } + return 0 +} + +func (x *CSVCMsg_SoundsSounddataT) GetSpeakerEntity() int32 { + if x != nil && x.SpeakerEntity != nil { + return *x.SpeakerEntity + } + return 0 +} + +func (x *CSVCMsg_SoundsSounddataT) GetRandomSeed() int32 { + if x != nil && x.RandomSeed != nil { + return *x.RandomSeed + } + return 0 +} + +func (x *CSVCMsg_SoundsSounddataT) GetSoundLevel() int32 { + if x != nil && x.SoundLevel != nil { + return *x.SoundLevel + } + return 0 +} + +func (x *CSVCMsg_SoundsSounddataT) GetIsSentence() bool { + if x != nil && x.IsSentence != nil { + return *x.IsSentence + } + return false +} + +func (x *CSVCMsg_SoundsSounddataT) GetIsAmbient() bool { + if x != nil && x.IsAmbient != nil { + return *x.IsAmbient + } + return false +} + +func (x *CSVCMsg_SoundsSounddataT) GetGuid() uint32 { + if x != nil && x.Guid != nil { + return *x.Guid + } + return 0 +} + +func (x *CSVCMsg_SoundsSounddataT) GetSoundResourceId() uint64 { + if x != nil && x.SoundResourceId != nil { + return *x.SoundResourceId + } + return 0 +} + +type CSVCMsg_SendTableSendpropT struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Type *int32 `protobuf:"varint,1,opt,name=type" json:"type,omitempty"` + VarName *string `protobuf:"bytes,2,opt,name=var_name,json=varName" json:"var_name,omitempty"` + Flags *int32 `protobuf:"varint,3,opt,name=flags" json:"flags,omitempty"` + Priority *int32 `protobuf:"varint,4,opt,name=priority" json:"priority,omitempty"` + DtName *string `protobuf:"bytes,5,opt,name=dt_name,json=dtName" json:"dt_name,omitempty"` + NumElements *int32 `protobuf:"varint,6,opt,name=num_elements,json=numElements" json:"num_elements,omitempty"` + LowValue *float32 `protobuf:"fixed32,7,opt,name=low_value,json=lowValue" json:"low_value,omitempty"` + HighValue *float32 `protobuf:"fixed32,8,opt,name=high_value,json=highValue" json:"high_value,omitempty"` + NumBits *int32 `protobuf:"varint,9,opt,name=num_bits,json=numBits" json:"num_bits,omitempty"` +} + +func (x *CSVCMsg_SendTableSendpropT) Reset() { + *x = CSVCMsg_SendTableSendpropT{} + if protoimpl.UnsafeEnabled { + mi := &file_netmessages_proto_msgTypes[63] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CSVCMsg_SendTableSendpropT) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CSVCMsg_SendTableSendpropT) ProtoMessage() {} + +func (x *CSVCMsg_SendTableSendpropT) ProtoReflect() protoreflect.Message { + mi := &file_netmessages_proto_msgTypes[63] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CSVCMsg_SendTableSendpropT.ProtoReflect.Descriptor instead. +func (*CSVCMsg_SendTableSendpropT) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{32, 0} +} + +func (x *CSVCMsg_SendTableSendpropT) GetType() int32 { + if x != nil && x.Type != nil { + return *x.Type + } + return 0 +} + +func (x *CSVCMsg_SendTableSendpropT) GetVarName() string { + if x != nil && x.VarName != nil { + return *x.VarName + } + return "" +} + +func (x *CSVCMsg_SendTableSendpropT) GetFlags() int32 { + if x != nil && x.Flags != nil { + return *x.Flags + } + return 0 +} + +func (x *CSVCMsg_SendTableSendpropT) GetPriority() int32 { + if x != nil && x.Priority != nil { + return *x.Priority + } + return 0 +} + +func (x *CSVCMsg_SendTableSendpropT) GetDtName() string { + if x != nil && x.DtName != nil { + return *x.DtName + } + return "" +} + +func (x *CSVCMsg_SendTableSendpropT) GetNumElements() int32 { + if x != nil && x.NumElements != nil { + return *x.NumElements + } + return 0 +} + +func (x *CSVCMsg_SendTableSendpropT) GetLowValue() float32 { + if x != nil && x.LowValue != nil { + return *x.LowValue + } + return 0 +} + +func (x *CSVCMsg_SendTableSendpropT) GetHighValue() float32 { + if x != nil && x.HighValue != nil { + return *x.HighValue + } + return 0 +} + +func (x *CSVCMsg_SendTableSendpropT) GetNumBits() int32 { + if x != nil && x.NumBits != nil { + return *x.NumBits + } + return 0 +} + +type CSVCMsg_GameEventListKeyT 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"` +} + +func (x *CSVCMsg_GameEventListKeyT) Reset() { + *x = CSVCMsg_GameEventListKeyT{} + if protoimpl.UnsafeEnabled { + mi := &file_netmessages_proto_msgTypes[64] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CSVCMsg_GameEventListKeyT) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CSVCMsg_GameEventListKeyT) ProtoMessage() {} + +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 { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CSVCMsg_GameEventListKeyT.ProtoReflect.Descriptor instead. +func (*CSVCMsg_GameEventListKeyT) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{33, 0} +} + +func (x *CSVCMsg_GameEventListKeyT) GetType() int32 { + if x != nil && x.Type != nil { + return *x.Type + } + return 0 +} + +func (x *CSVCMsg_GameEventListKeyT) GetName() string { + if x != nil && x.Name != nil { + return *x.Name + } + return "" +} + +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_GameEventListDescriptorT) Reset() { + *x = CSVCMsg_GameEventListDescriptorT{} + if protoimpl.UnsafeEnabled { + mi := &file_netmessages_proto_msgTypes[65] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CSVCMsg_GameEventListDescriptorT) String() string { + return protoimpl.X.MessageStringOf(x) +} + +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 mi.MessageOf(x) +} + +// Deprecated: Use CSVCMsg_GameEventListDescriptorT.ProtoReflect.Descriptor instead. +func (*CSVCMsg_GameEventListDescriptorT) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{33, 1} +} + +func (x *CSVCMsg_GameEventListDescriptorT) GetEventid() int32 { + if x != nil && x.Eventid != nil { + return *x.Eventid + } + 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 + } + return nil +} + +type CSVCMsg_PacketEntitiesCommandQueueInfoT struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + 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_PacketEntitiesCommandQueueInfoT) Reset() { + *x = CSVCMsg_PacketEntitiesCommandQueueInfoT{} + if protoimpl.UnsafeEnabled { + mi := &file_netmessages_proto_msgTypes[66] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CSVCMsg_PacketEntitiesCommandQueueInfoT) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CSVCMsg_PacketEntitiesCommandQueueInfoT) ProtoMessage() {} + +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 { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CSVCMsg_PacketEntitiesCommandQueueInfoT.ProtoReflect.Descriptor instead. +func (*CSVCMsg_PacketEntitiesCommandQueueInfoT) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{34, 0} +} + +func (x *CSVCMsg_PacketEntitiesCommandQueueInfoT) GetCommandsQueued() uint32 { + if x != nil && x.CommandsQueued != nil { + return *x.CommandsQueued + } + return 0 +} + +func (x *CSVCMsg_PacketEntitiesCommandQueueInfoT) GetCommandQueueDesiredSize() uint32 { + if x != nil && x.CommandQueueDesiredSize != nil { + return *x.CommandQueueDesiredSize + } + return 0 +} + +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 CMsgServerNetworkStats_Port struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Port *int32 `protobuf:"varint,1,opt,name=port" json:"port,omitempty"` + Name *string `protobuf:"bytes,2,opt,name=name" json:"name,omitempty"` +} + +func (x *CMsgServerNetworkStats_Port) Reset() { + *x = CMsgServerNetworkStats_Port{} + if protoimpl.UnsafeEnabled { + mi := &file_netmessages_proto_msgTypes[67] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CMsgServerNetworkStats_Port) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CMsgServerNetworkStats_Port) ProtoMessage() {} + +func (x *CMsgServerNetworkStats_Port) 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 { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CMsgServerNetworkStats_Port.ProtoReflect.Descriptor instead. +func (*CMsgServerNetworkStats_Port) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{55, 0} +} + +func (x *CMsgServerNetworkStats_Port) GetPort() int32 { + if x != nil && x.Port != nil { + return *x.Port + } + return 0 +} + +func (x *CMsgServerNetworkStats_Port) GetName() string { + if x != nil && x.Name != nil { + return *x.Name + } + return "" +} + +type CMsgServerNetworkStats_Player struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + 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 *CMsgServerNetworkStats_Player) Reset() { + *x = CMsgServerNetworkStats_Player{} + if protoimpl.UnsafeEnabled { + mi := &file_netmessages_proto_msgTypes[68] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CMsgServerNetworkStats_Player) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CMsgServerNetworkStats_Player) ProtoMessage() {} + +func (x *CMsgServerNetworkStats_Player) 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 CMsgServerNetworkStats_Player.ProtoReflect.Descriptor instead. +func (*CMsgServerNetworkStats_Player) Descriptor() ([]byte, []int) { + return file_netmessages_proto_rawDescGZIP(), []int{55, 1} +} + +func (x *CMsgServerNetworkStats_Player) GetSteamid() uint64 { + if x != nil && x.Steamid != nil { + return *x.Steamid + } + return 0 +} + +func (x *CMsgServerNetworkStats_Player) GetRemoteAddr() string { + if x != nil && x.RemoteAddr != nil { + return *x.RemoteAddr + } + return "" +} + +func (x *CMsgServerNetworkStats_Player) GetPingStddevMs() int32 { + if x != nil && x.PingStddevMs != nil { + return *x.PingStddevMs + } + return 0 +} + +func (x *CMsgServerNetworkStats_Player) GetPingAvgMs() int32 { + if x != nil && x.PingAvgMs != nil { + return *x.PingAvgMs + } + return 0 +} + +func (x *CMsgServerNetworkStats_Player) GetPacketLossPct() float32 { + if x != nil && x.PacketLossPct != nil { + return *x.PacketLossPct + } + return 0 +} + +func (x *CMsgServerNetworkStats_Player) GetIsBot() bool { + if x != nil && x.IsBot != nil { + return *x.IsBot + } + return false +} + +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, 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, 0xbe, 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, 0x1f, 0x0a, 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x73, + 0x6c, 0x6f, 0x74, 0x18, 0x0c, 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, 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, + 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, 0xc8, 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, 0xd9, 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, 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, 0x48, 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, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6c, 0x6f, + 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 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, 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, 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, 0xa7, 0x07, 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, + 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, 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, 0xbb, 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, 0x16, 0x0a, 0x06, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x18, 0x02, 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, 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, 0xe8, 0x01, 0x0a, 0x0e, 0x43, 0x4d, 0x73, + 0x67, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x50, 0x65, 0x65, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x70, + 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, + 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, 0xcd, 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, 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, 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, 0xc2, 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, 0x25, 0x0a, 0x0e, 0x70, 0x72, + 0x69, 0x6d, 0x61, 0x72, 0x79, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x05, 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, 0x42, 0x0b, 0x5a, 0x06, 0x2e, 0x2f, + 0x64, 0x65, 0x6d, 0x6f, 0x80, 0x01, 0x00, +} + +var ( + file_netmessages_proto_rawDescOnce sync.Once + file_netmessages_proto_rawDescData = file_netmessages_proto_rawDesc +) + +func file_netmessages_proto_rawDescGZIP() []byte { + file_netmessages_proto_rawDescOnce.Do(func() { + file_netmessages_proto_rawDescData = protoimpl.X.CompressGZIP(file_netmessages_proto_rawDescData) + }) + return file_netmessages_proto_rawDescData +} + +var file_netmessages_proto_enumTypes = make([]protoimpl.EnumInfo, 12) +var file_netmessages_proto_msgTypes = make([]protoimpl.MessageInfo, 69) +var file_netmessages_proto_goTypes = []interface{}{ + (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 + (*CMsgServerNetworkStats_Port)(nil), // 79: CMsgServerNetworkStats.Port + (*CMsgServerNetworkStats_Player)(nil), // 80: CMsgServerNetworkStats.Player + (*CSVCMsg_GameSessionConfiguration)(nil), // 81: CSVCMsg_GameSessionConfiguration + (*CMsgQAngle)(nil), // 82: CMsgQAngle + (*CMsgVector)(nil), // 83: CMsgVector +} +var file_netmessages_proto_depIdxs = []int32{ + 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 + 81, // 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 + 82, // 7: CSVCMsg_FixAngle.angle:type_name -> CMsgQAngle + 82, // 8: CSVCMsg_CrosshairAngle.angle:type_name -> CMsgQAngle + 83, // 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 + 14, // 14: CSVCMsg_VoiceData.audio:type_name -> CMsgVoiceAudio + 57, // 15: CMsgServerPeer.ipc:type_name -> CMsgIPCAddress + 58, // 16: CSVCMsg_PeerList.peer:type_name -> CMsgServerPeer + 62, // 17: CSVCMsg_FlattenedSerializer.serializers:type_name -> ProtoFlattenedSerializer_t + 61, // 18: CSVCMsg_FlattenedSerializer.fields:type_name -> ProtoFlattenedSerializerField_t + 79, // 19: CMsgServerNetworkStats.ports:type_name -> CMsgServerNetworkStats.Port + 80, // 20: CMsgServerNetworkStats.players:type_name -> CMsgServerNetworkStats.Player + 83, // 21: CCLCMsg_HltvFixupOperatorTick.origin:type_name -> CMsgVector + 82, // 22: CCLCMsg_HltvFixupOperatorTick.eye_angles:type_name -> CMsgQAngle + 83, // 23: CCLCMsg_HltvFixupOperatorTick.view_offset:type_name -> CMsgVector + 76, // 24: CSVCMsg_GameEventList.descriptor_t.keys:type_name -> CSVCMsg_GameEventList.key_t + 25, // [25:25] is the sub-list for method output_type + 25, // [25:25] is the sub-list for method input_type + 25, // [25:25] is the sub-list for extension type_name + 25, // [25:25] is the sub-list for extension extendee + 0, // [0:25] is the sub-list for field type_name +} + +func init() { file_netmessages_proto_init() } +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.(*CCLCMsg_ClientInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_netmessages_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CCLCMsg_Move); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_netmessages_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CMsgVoiceAudio); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_netmessages_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CCLCMsg_VoiceData); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_netmessages_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CCLCMsg_BaselineAck); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_netmessages_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CCLCMsg_ListenEvents); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_netmessages_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CCLCMsg_RespondCvarValue); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_netmessages_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CCLCMsg_FileCRCCheck); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_netmessages_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CCLCMsg_LoadingProgress); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_netmessages_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CCLCMsg_SplitPlayerConnect); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_netmessages_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CCLCMsg_ClientMessage); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_netmessages_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CCLCMsg_SplitPlayerDisconnect); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_netmessages_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CCLCMsg_ServerStatus); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_netmessages_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CCLCMsg_ServerPing); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_netmessages_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CCLCMsg_RequestPause); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_netmessages_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CCLCMsg_CmdKeyValues); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_netmessages_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CCLCMsg_RconServerDetails); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_netmessages_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CSVCMsg_ServerInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_netmessages_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CSVCMsg_ClassInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_netmessages_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CSVCMsg_SetPause); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_netmessages_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CSVCMsg_VoiceInit); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_netmessages_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CSVCMsg_Print); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_netmessages_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CSVCMsg_Sounds); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_netmessages_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CSVCMsg_Prefetch); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_netmessages_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CSVCMsg_SetView); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_netmessages_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CSVCMsg_FixAngle); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_netmessages_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CSVCMsg_CrosshairAngle); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_netmessages_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CSVCMsg_BSPDecal); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_netmessages_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CSVCMsg_SplitScreen); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_netmessages_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CSVCMsg_GetCvarValue); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_netmessages_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CSVCMsg_Menu); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_netmessages_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CSVCMsg_UserMessage); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_netmessages_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CSVCMsg_SendTable); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_netmessages_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CSVCMsg_GameEventList); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_netmessages_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CSVCMsg_PacketEntities); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_netmessages_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CSVCMsg_TempEntities); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_netmessages_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CSVCMsg_CreateStringTable); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_netmessages_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CSVCMsg_UpdateStringTable); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_netmessages_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CSVCMsg_VoiceData); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_netmessages_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CSVCMsg_PacketReliable); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_netmessages_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CSVCMsg_FullFrameSplit); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_netmessages_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CSVCMsg_HLTVStatus); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_netmessages_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CSVCMsg_ServerSteamID); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_netmessages_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CSVCMsg_CmdKeyValues); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_netmessages_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CSVCMsg_RconServerDetails); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_netmessages_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CMsgIPCAddress); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_netmessages_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CMsgServerPeer); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_netmessages_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CSVCMsg_PeerList); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_netmessages_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CSVCMsg_ClearAllStringTables); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_netmessages_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ProtoFlattenedSerializerFieldT); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_netmessages_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ProtoFlattenedSerializerT); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_netmessages_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CSVCMsg_FlattenedSerializer); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_netmessages_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CSVCMsg_StopSound); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_netmessages_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CBidirMsg_RebroadcastGameEvent); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_netmessages_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CBidirMsg_RebroadcastSource); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_netmessages_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CMsgServerNetworkStats); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_netmessages_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CSVCMsg_HltvReplay); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_netmessages_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CCLCMsg_HltvReplay); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_netmessages_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CSVCMsg_Broadcast_Command); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_netmessages_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CCLCMsg_HltvFixupOperatorTick); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + 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 + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + 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.(*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[68].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: 12, + NumMessages: 69, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_netmessages_proto_goTypes, + DependencyIndexes: file_netmessages_proto_depIdxs, + EnumInfos: file_netmessages_proto_enumTypes, + MessageInfos: file_netmessages_proto_msgTypes, + }.Build() + File_netmessages_proto = out.File + file_netmessages_proto_rawDesc = nil + file_netmessages_proto_goTypes = nil + file_netmessages_proto_depIdxs = nil +} diff --git a/demo/network_connection.pb.go b/demo/network_connection.pb.go new file mode 100644 index 0000000..735cd9a --- /dev/null +++ b/demo/network_connection.pb.go @@ -0,0 +1,1117 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.0 +// protoc v3.21.2 +// source: network_connection.proto + +package demo + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + descriptorpb "google.golang.org/protobuf/types/descriptorpb" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type ENetworkDisconnectionReason int32 + +const ( + ENetworkDisconnectionReason_NETWORK_DISCONNECT_INVALID ENetworkDisconnectionReason = 0 + ENetworkDisconnectionReason_NETWORK_DISCONNECT_SHUTDOWN ENetworkDisconnectionReason = 1 + ENetworkDisconnectionReason_NETWORK_DISCONNECT_DISCONNECT_BY_USER ENetworkDisconnectionReason = 2 + ENetworkDisconnectionReason_NETWORK_DISCONNECT_DISCONNECT_BY_SERVER ENetworkDisconnectionReason = 3 + ENetworkDisconnectionReason_NETWORK_DISCONNECT_LOST ENetworkDisconnectionReason = 4 + ENetworkDisconnectionReason_NETWORK_DISCONNECT_OVERFLOW ENetworkDisconnectionReason = 5 + ENetworkDisconnectionReason_NETWORK_DISCONNECT_STEAM_BANNED ENetworkDisconnectionReason = 6 + ENetworkDisconnectionReason_NETWORK_DISCONNECT_STEAM_INUSE ENetworkDisconnectionReason = 7 + ENetworkDisconnectionReason_NETWORK_DISCONNECT_STEAM_TICKET ENetworkDisconnectionReason = 8 + ENetworkDisconnectionReason_NETWORK_DISCONNECT_STEAM_LOGON ENetworkDisconnectionReason = 9 + ENetworkDisconnectionReason_NETWORK_DISCONNECT_STEAM_AUTHCANCELLED ENetworkDisconnectionReason = 10 + ENetworkDisconnectionReason_NETWORK_DISCONNECT_STEAM_AUTHALREADYUSED ENetworkDisconnectionReason = 11 + ENetworkDisconnectionReason_NETWORK_DISCONNECT_STEAM_AUTHINVALID ENetworkDisconnectionReason = 12 + ENetworkDisconnectionReason_NETWORK_DISCONNECT_STEAM_VACBANSTATE ENetworkDisconnectionReason = 13 + ENetworkDisconnectionReason_NETWORK_DISCONNECT_STEAM_LOGGED_IN_ELSEWHERE ENetworkDisconnectionReason = 14 + ENetworkDisconnectionReason_NETWORK_DISCONNECT_STEAM_VAC_CHECK_TIMEDOUT ENetworkDisconnectionReason = 15 + ENetworkDisconnectionReason_NETWORK_DISCONNECT_STEAM_DROPPED ENetworkDisconnectionReason = 16 + ENetworkDisconnectionReason_NETWORK_DISCONNECT_STEAM_OWNERSHIP ENetworkDisconnectionReason = 17 + ENetworkDisconnectionReason_NETWORK_DISCONNECT_SERVERINFO_OVERFLOW ENetworkDisconnectionReason = 18 + ENetworkDisconnectionReason_NETWORK_DISCONNECT_TICKMSG_OVERFLOW ENetworkDisconnectionReason = 19 + ENetworkDisconnectionReason_NETWORK_DISCONNECT_STRINGTABLEMSG_OVERFLOW ENetworkDisconnectionReason = 20 + ENetworkDisconnectionReason_NETWORK_DISCONNECT_DELTAENTMSG_OVERFLOW ENetworkDisconnectionReason = 21 + ENetworkDisconnectionReason_NETWORK_DISCONNECT_TEMPENTMSG_OVERFLOW ENetworkDisconnectionReason = 22 + ENetworkDisconnectionReason_NETWORK_DISCONNECT_SOUNDSMSG_OVERFLOW ENetworkDisconnectionReason = 23 + ENetworkDisconnectionReason_NETWORK_DISCONNECT_SNAPSHOTOVERFLOW ENetworkDisconnectionReason = 24 + ENetworkDisconnectionReason_NETWORK_DISCONNECT_SNAPSHOTERROR ENetworkDisconnectionReason = 25 + ENetworkDisconnectionReason_NETWORK_DISCONNECT_RELIABLEOVERFLOW ENetworkDisconnectionReason = 26 + ENetworkDisconnectionReason_NETWORK_DISCONNECT_BADDELTATICK ENetworkDisconnectionReason = 27 + ENetworkDisconnectionReason_NETWORK_DISCONNECT_NOMORESPLITS ENetworkDisconnectionReason = 28 + ENetworkDisconnectionReason_NETWORK_DISCONNECT_TIMEDOUT ENetworkDisconnectionReason = 29 + ENetworkDisconnectionReason_NETWORK_DISCONNECT_DISCONNECTED ENetworkDisconnectionReason = 30 + ENetworkDisconnectionReason_NETWORK_DISCONNECT_LEAVINGSPLIT ENetworkDisconnectionReason = 31 + ENetworkDisconnectionReason_NETWORK_DISCONNECT_DIFFERENTCLASSTABLES ENetworkDisconnectionReason = 32 + ENetworkDisconnectionReason_NETWORK_DISCONNECT_BADRELAYPASSWORD ENetworkDisconnectionReason = 33 + ENetworkDisconnectionReason_NETWORK_DISCONNECT_BADSPECTATORPASSWORD ENetworkDisconnectionReason = 34 + ENetworkDisconnectionReason_NETWORK_DISCONNECT_HLTVRESTRICTED ENetworkDisconnectionReason = 35 + ENetworkDisconnectionReason_NETWORK_DISCONNECT_NOSPECTATORS ENetworkDisconnectionReason = 36 + ENetworkDisconnectionReason_NETWORK_DISCONNECT_HLTVUNAVAILABLE ENetworkDisconnectionReason = 37 + ENetworkDisconnectionReason_NETWORK_DISCONNECT_HLTVSTOP ENetworkDisconnectionReason = 38 + ENetworkDisconnectionReason_NETWORK_DISCONNECT_KICKED ENetworkDisconnectionReason = 39 + ENetworkDisconnectionReason_NETWORK_DISCONNECT_BANADDED ENetworkDisconnectionReason = 40 + ENetworkDisconnectionReason_NETWORK_DISCONNECT_KICKBANADDED ENetworkDisconnectionReason = 41 + ENetworkDisconnectionReason_NETWORK_DISCONNECT_HLTVDIRECT ENetworkDisconnectionReason = 42 + ENetworkDisconnectionReason_NETWORK_DISCONNECT_PURESERVER_CLIENTEXTRA ENetworkDisconnectionReason = 43 + ENetworkDisconnectionReason_NETWORK_DISCONNECT_PURESERVER_MISMATCH ENetworkDisconnectionReason = 44 + ENetworkDisconnectionReason_NETWORK_DISCONNECT_USERCMD ENetworkDisconnectionReason = 45 + ENetworkDisconnectionReason_NETWORK_DISCONNECT_REJECTED_BY_GAME ENetworkDisconnectionReason = 46 + ENetworkDisconnectionReason_NETWORK_DISCONNECT_MESSAGE_PARSE_ERROR ENetworkDisconnectionReason = 47 + ENetworkDisconnectionReason_NETWORK_DISCONNECT_INVALID_MESSAGE_ERROR ENetworkDisconnectionReason = 48 + ENetworkDisconnectionReason_NETWORK_DISCONNECT_BAD_SERVER_PASSWORD ENetworkDisconnectionReason = 49 + ENetworkDisconnectionReason_NETWORK_DISCONNECT_DIRECT_CONNECT_RESERVATION ENetworkDisconnectionReason = 50 + ENetworkDisconnectionReason_NETWORK_DISCONNECT_CONNECTION_FAILURE ENetworkDisconnectionReason = 51 + ENetworkDisconnectionReason_NETWORK_DISCONNECT_NO_PEER_GROUP_HANDLERS ENetworkDisconnectionReason = 52 + ENetworkDisconnectionReason_NETWORK_DISCONNECT_RECONNECTION ENetworkDisconnectionReason = 53 + ENetworkDisconnectionReason_NETWORK_DISCONNECT_LOOPSHUTDOWN ENetworkDisconnectionReason = 54 + ENetworkDisconnectionReason_NETWORK_DISCONNECT_LOOPDEACTIVATE ENetworkDisconnectionReason = 55 + ENetworkDisconnectionReason_NETWORK_DISCONNECT_HOST_ENDGAME ENetworkDisconnectionReason = 56 + ENetworkDisconnectionReason_NETWORK_DISCONNECT_LOOP_LEVELLOAD_ACTIVATE ENetworkDisconnectionReason = 57 + ENetworkDisconnectionReason_NETWORK_DISCONNECT_CREATE_SERVER_FAILED ENetworkDisconnectionReason = 58 + ENetworkDisconnectionReason_NETWORK_DISCONNECT_EXITING ENetworkDisconnectionReason = 59 + ENetworkDisconnectionReason_NETWORK_DISCONNECT_REQUEST_HOSTSTATE_IDLE ENetworkDisconnectionReason = 60 + ENetworkDisconnectionReason_NETWORK_DISCONNECT_REQUEST_HOSTSTATE_HLTVRELAY ENetworkDisconnectionReason = 61 + ENetworkDisconnectionReason_NETWORK_DISCONNECT_CLIENT_CONSISTENCY_FAIL ENetworkDisconnectionReason = 62 + ENetworkDisconnectionReason_NETWORK_DISCONNECT_CLIENT_UNABLE_TO_CRC_MAP ENetworkDisconnectionReason = 63 + ENetworkDisconnectionReason_NETWORK_DISCONNECT_CLIENT_NO_MAP ENetworkDisconnectionReason = 64 + ENetworkDisconnectionReason_NETWORK_DISCONNECT_CLIENT_DIFFERENT_MAP ENetworkDisconnectionReason = 65 + ENetworkDisconnectionReason_NETWORK_DISCONNECT_SERVER_REQUIRES_STEAM ENetworkDisconnectionReason = 66 + ENetworkDisconnectionReason_NETWORK_DISCONNECT_STEAM_DENY_MISC ENetworkDisconnectionReason = 67 + ENetworkDisconnectionReason_NETWORK_DISCONNECT_STEAM_DENY_BAD_ANTI_CHEAT ENetworkDisconnectionReason = 68 + ENetworkDisconnectionReason_NETWORK_DISCONNECT_SERVER_SHUTDOWN ENetworkDisconnectionReason = 69 + ENetworkDisconnectionReason_NETWORK_DISCONNECT_SPLITPACKET_SEND_OVERFLOW ENetworkDisconnectionReason = 70 + ENetworkDisconnectionReason_NETWORK_DISCONNECT_REPLAY_INCOMPATIBLE ENetworkDisconnectionReason = 71 + ENetworkDisconnectionReason_NETWORK_DISCONNECT_CONNECT_REQUEST_TIMEDOUT ENetworkDisconnectionReason = 72 + ENetworkDisconnectionReason_NETWORK_DISCONNECT_SERVER_INCOMPATIBLE ENetworkDisconnectionReason = 73 + ENetworkDisconnectionReason_NETWORK_DISCONNECT_LOCALPROBLEM_MANYRELAYS ENetworkDisconnectionReason = 74 + ENetworkDisconnectionReason_NETWORK_DISCONNECT_LOCALPROBLEM_HOSTEDSERVERPRIMARYRELAY ENetworkDisconnectionReason = 75 + ENetworkDisconnectionReason_NETWORK_DISCONNECT_LOCALPROBLEM_NETWORKCONFIG ENetworkDisconnectionReason = 76 + ENetworkDisconnectionReason_NETWORK_DISCONNECT_LOCALPROBLEM_OTHER ENetworkDisconnectionReason = 77 + ENetworkDisconnectionReason_NETWORK_DISCONNECT_REMOTE_TIMEOUT ENetworkDisconnectionReason = 79 + ENetworkDisconnectionReason_NETWORK_DISCONNECT_REMOTE_TIMEOUT_CONNECTING ENetworkDisconnectionReason = 80 + ENetworkDisconnectionReason_NETWORK_DISCONNECT_REMOTE_OTHER ENetworkDisconnectionReason = 81 + ENetworkDisconnectionReason_NETWORK_DISCONNECT_REMOTE_BADCRYPT ENetworkDisconnectionReason = 82 + ENetworkDisconnectionReason_NETWORK_DISCONNECT_REMOTE_CERTNOTTRUSTED ENetworkDisconnectionReason = 83 + ENetworkDisconnectionReason_NETWORK_DISCONNECT_UNUSUAL ENetworkDisconnectionReason = 84 + ENetworkDisconnectionReason_NETWORK_DISCONNECT_INTERNAL_ERROR ENetworkDisconnectionReason = 85 + ENetworkDisconnectionReason_NETWORK_DISCONNECT_REJECT_BADCHALLENGE ENetworkDisconnectionReason = 128 + ENetworkDisconnectionReason_NETWORK_DISCONNECT_REJECT_NOLOBBY ENetworkDisconnectionReason = 129 + ENetworkDisconnectionReason_NETWORK_DISCONNECT_REJECT_BACKGROUND_MAP ENetworkDisconnectionReason = 130 + ENetworkDisconnectionReason_NETWORK_DISCONNECT_REJECT_SINGLE_PLAYER ENetworkDisconnectionReason = 131 + ENetworkDisconnectionReason_NETWORK_DISCONNECT_REJECT_HIDDEN_GAME ENetworkDisconnectionReason = 132 + ENetworkDisconnectionReason_NETWORK_DISCONNECT_REJECT_LANRESTRICT ENetworkDisconnectionReason = 133 + ENetworkDisconnectionReason_NETWORK_DISCONNECT_REJECT_BADPASSWORD ENetworkDisconnectionReason = 134 + ENetworkDisconnectionReason_NETWORK_DISCONNECT_REJECT_SERVERFULL ENetworkDisconnectionReason = 135 + ENetworkDisconnectionReason_NETWORK_DISCONNECT_REJECT_INVALIDRESERVATION ENetworkDisconnectionReason = 136 + ENetworkDisconnectionReason_NETWORK_DISCONNECT_REJECT_FAILEDCHANNEL ENetworkDisconnectionReason = 137 + ENetworkDisconnectionReason_NETWORK_DISCONNECT_REJECT_CONNECT_FROM_LOBBY ENetworkDisconnectionReason = 138 + ENetworkDisconnectionReason_NETWORK_DISCONNECT_REJECT_RESERVED_FOR_LOBBY ENetworkDisconnectionReason = 139 + ENetworkDisconnectionReason_NETWORK_DISCONNECT_REJECT_INVALIDKEYLENGTH ENetworkDisconnectionReason = 140 + ENetworkDisconnectionReason_NETWORK_DISCONNECT_REJECT_OLDPROTOCOL ENetworkDisconnectionReason = 141 + ENetworkDisconnectionReason_NETWORK_DISCONNECT_REJECT_NEWPROTOCOL ENetworkDisconnectionReason = 142 + ENetworkDisconnectionReason_NETWORK_DISCONNECT_REJECT_INVALIDCONNECTION ENetworkDisconnectionReason = 143 + ENetworkDisconnectionReason_NETWORK_DISCONNECT_REJECT_INVALIDCERTLEN ENetworkDisconnectionReason = 144 + ENetworkDisconnectionReason_NETWORK_DISCONNECT_REJECT_INVALIDSTEAMCERTLEN ENetworkDisconnectionReason = 145 + ENetworkDisconnectionReason_NETWORK_DISCONNECT_REJECT_STEAM ENetworkDisconnectionReason = 146 + ENetworkDisconnectionReason_NETWORK_DISCONNECT_REJECT_SERVERAUTHDISABLED ENetworkDisconnectionReason = 147 + ENetworkDisconnectionReason_NETWORK_DISCONNECT_REJECT_SERVERCDKEYAUTHINVALID ENetworkDisconnectionReason = 148 + ENetworkDisconnectionReason_NETWORK_DISCONNECT_REJECT_BANNED ENetworkDisconnectionReason = 149 + ENetworkDisconnectionReason_NETWORK_DISCONNECT_KICKED_TEAMKILLING ENetworkDisconnectionReason = 150 + ENetworkDisconnectionReason_NETWORK_DISCONNECT_KICKED_TK_START ENetworkDisconnectionReason = 151 + ENetworkDisconnectionReason_NETWORK_DISCONNECT_KICKED_UNTRUSTEDACCOUNT ENetworkDisconnectionReason = 152 + ENetworkDisconnectionReason_NETWORK_DISCONNECT_KICKED_CONVICTEDACCOUNT ENetworkDisconnectionReason = 153 + ENetworkDisconnectionReason_NETWORK_DISCONNECT_KICKED_COMPETITIVECOOLDOWN ENetworkDisconnectionReason = 154 + ENetworkDisconnectionReason_NETWORK_DISCONNECT_KICKED_TEAMHURTING ENetworkDisconnectionReason = 155 + ENetworkDisconnectionReason_NETWORK_DISCONNECT_KICKED_HOSTAGEKILLING ENetworkDisconnectionReason = 156 + ENetworkDisconnectionReason_NETWORK_DISCONNECT_KICKED_VOTEDOFF ENetworkDisconnectionReason = 157 + ENetworkDisconnectionReason_NETWORK_DISCONNECT_KICKED_IDLE ENetworkDisconnectionReason = 158 + ENetworkDisconnectionReason_NETWORK_DISCONNECT_KICKED_SUICIDE ENetworkDisconnectionReason = 159 + ENetworkDisconnectionReason_NETWORK_DISCONNECT_KICKED_NOSTEAMLOGIN ENetworkDisconnectionReason = 160 + ENetworkDisconnectionReason_NETWORK_DISCONNECT_KICKED_NOSTEAMTICKET ENetworkDisconnectionReason = 161 +) + +// Enum value maps for ENetworkDisconnectionReason. +var ( + ENetworkDisconnectionReason_name = map[int32]string{ + 0: "NETWORK_DISCONNECT_INVALID", + 1: "NETWORK_DISCONNECT_SHUTDOWN", + 2: "NETWORK_DISCONNECT_DISCONNECT_BY_USER", + 3: "NETWORK_DISCONNECT_DISCONNECT_BY_SERVER", + 4: "NETWORK_DISCONNECT_LOST", + 5: "NETWORK_DISCONNECT_OVERFLOW", + 6: "NETWORK_DISCONNECT_STEAM_BANNED", + 7: "NETWORK_DISCONNECT_STEAM_INUSE", + 8: "NETWORK_DISCONNECT_STEAM_TICKET", + 9: "NETWORK_DISCONNECT_STEAM_LOGON", + 10: "NETWORK_DISCONNECT_STEAM_AUTHCANCELLED", + 11: "NETWORK_DISCONNECT_STEAM_AUTHALREADYUSED", + 12: "NETWORK_DISCONNECT_STEAM_AUTHINVALID", + 13: "NETWORK_DISCONNECT_STEAM_VACBANSTATE", + 14: "NETWORK_DISCONNECT_STEAM_LOGGED_IN_ELSEWHERE", + 15: "NETWORK_DISCONNECT_STEAM_VAC_CHECK_TIMEDOUT", + 16: "NETWORK_DISCONNECT_STEAM_DROPPED", + 17: "NETWORK_DISCONNECT_STEAM_OWNERSHIP", + 18: "NETWORK_DISCONNECT_SERVERINFO_OVERFLOW", + 19: "NETWORK_DISCONNECT_TICKMSG_OVERFLOW", + 20: "NETWORK_DISCONNECT_STRINGTABLEMSG_OVERFLOW", + 21: "NETWORK_DISCONNECT_DELTAENTMSG_OVERFLOW", + 22: "NETWORK_DISCONNECT_TEMPENTMSG_OVERFLOW", + 23: "NETWORK_DISCONNECT_SOUNDSMSG_OVERFLOW", + 24: "NETWORK_DISCONNECT_SNAPSHOTOVERFLOW", + 25: "NETWORK_DISCONNECT_SNAPSHOTERROR", + 26: "NETWORK_DISCONNECT_RELIABLEOVERFLOW", + 27: "NETWORK_DISCONNECT_BADDELTATICK", + 28: "NETWORK_DISCONNECT_NOMORESPLITS", + 29: "NETWORK_DISCONNECT_TIMEDOUT", + 30: "NETWORK_DISCONNECT_DISCONNECTED", + 31: "NETWORK_DISCONNECT_LEAVINGSPLIT", + 32: "NETWORK_DISCONNECT_DIFFERENTCLASSTABLES", + 33: "NETWORK_DISCONNECT_BADRELAYPASSWORD", + 34: "NETWORK_DISCONNECT_BADSPECTATORPASSWORD", + 35: "NETWORK_DISCONNECT_HLTVRESTRICTED", + 36: "NETWORK_DISCONNECT_NOSPECTATORS", + 37: "NETWORK_DISCONNECT_HLTVUNAVAILABLE", + 38: "NETWORK_DISCONNECT_HLTVSTOP", + 39: "NETWORK_DISCONNECT_KICKED", + 40: "NETWORK_DISCONNECT_BANADDED", + 41: "NETWORK_DISCONNECT_KICKBANADDED", + 42: "NETWORK_DISCONNECT_HLTVDIRECT", + 43: "NETWORK_DISCONNECT_PURESERVER_CLIENTEXTRA", + 44: "NETWORK_DISCONNECT_PURESERVER_MISMATCH", + 45: "NETWORK_DISCONNECT_USERCMD", + 46: "NETWORK_DISCONNECT_REJECTED_BY_GAME", + 47: "NETWORK_DISCONNECT_MESSAGE_PARSE_ERROR", + 48: "NETWORK_DISCONNECT_INVALID_MESSAGE_ERROR", + 49: "NETWORK_DISCONNECT_BAD_SERVER_PASSWORD", + 50: "NETWORK_DISCONNECT_DIRECT_CONNECT_RESERVATION", + 51: "NETWORK_DISCONNECT_CONNECTION_FAILURE", + 52: "NETWORK_DISCONNECT_NO_PEER_GROUP_HANDLERS", + 53: "NETWORK_DISCONNECT_RECONNECTION", + 54: "NETWORK_DISCONNECT_LOOPSHUTDOWN", + 55: "NETWORK_DISCONNECT_LOOPDEACTIVATE", + 56: "NETWORK_DISCONNECT_HOST_ENDGAME", + 57: "NETWORK_DISCONNECT_LOOP_LEVELLOAD_ACTIVATE", + 58: "NETWORK_DISCONNECT_CREATE_SERVER_FAILED", + 59: "NETWORK_DISCONNECT_EXITING", + 60: "NETWORK_DISCONNECT_REQUEST_HOSTSTATE_IDLE", + 61: "NETWORK_DISCONNECT_REQUEST_HOSTSTATE_HLTVRELAY", + 62: "NETWORK_DISCONNECT_CLIENT_CONSISTENCY_FAIL", + 63: "NETWORK_DISCONNECT_CLIENT_UNABLE_TO_CRC_MAP", + 64: "NETWORK_DISCONNECT_CLIENT_NO_MAP", + 65: "NETWORK_DISCONNECT_CLIENT_DIFFERENT_MAP", + 66: "NETWORK_DISCONNECT_SERVER_REQUIRES_STEAM", + 67: "NETWORK_DISCONNECT_STEAM_DENY_MISC", + 68: "NETWORK_DISCONNECT_STEAM_DENY_BAD_ANTI_CHEAT", + 69: "NETWORK_DISCONNECT_SERVER_SHUTDOWN", + 70: "NETWORK_DISCONNECT_SPLITPACKET_SEND_OVERFLOW", + 71: "NETWORK_DISCONNECT_REPLAY_INCOMPATIBLE", + 72: "NETWORK_DISCONNECT_CONNECT_REQUEST_TIMEDOUT", + 73: "NETWORK_DISCONNECT_SERVER_INCOMPATIBLE", + 74: "NETWORK_DISCONNECT_LOCALPROBLEM_MANYRELAYS", + 75: "NETWORK_DISCONNECT_LOCALPROBLEM_HOSTEDSERVERPRIMARYRELAY", + 76: "NETWORK_DISCONNECT_LOCALPROBLEM_NETWORKCONFIG", + 77: "NETWORK_DISCONNECT_LOCALPROBLEM_OTHER", + 79: "NETWORK_DISCONNECT_REMOTE_TIMEOUT", + 80: "NETWORK_DISCONNECT_REMOTE_TIMEOUT_CONNECTING", + 81: "NETWORK_DISCONNECT_REMOTE_OTHER", + 82: "NETWORK_DISCONNECT_REMOTE_BADCRYPT", + 83: "NETWORK_DISCONNECT_REMOTE_CERTNOTTRUSTED", + 84: "NETWORK_DISCONNECT_UNUSUAL", + 85: "NETWORK_DISCONNECT_INTERNAL_ERROR", + 128: "NETWORK_DISCONNECT_REJECT_BADCHALLENGE", + 129: "NETWORK_DISCONNECT_REJECT_NOLOBBY", + 130: "NETWORK_DISCONNECT_REJECT_BACKGROUND_MAP", + 131: "NETWORK_DISCONNECT_REJECT_SINGLE_PLAYER", + 132: "NETWORK_DISCONNECT_REJECT_HIDDEN_GAME", + 133: "NETWORK_DISCONNECT_REJECT_LANRESTRICT", + 134: "NETWORK_DISCONNECT_REJECT_BADPASSWORD", + 135: "NETWORK_DISCONNECT_REJECT_SERVERFULL", + 136: "NETWORK_DISCONNECT_REJECT_INVALIDRESERVATION", + 137: "NETWORK_DISCONNECT_REJECT_FAILEDCHANNEL", + 138: "NETWORK_DISCONNECT_REJECT_CONNECT_FROM_LOBBY", + 139: "NETWORK_DISCONNECT_REJECT_RESERVED_FOR_LOBBY", + 140: "NETWORK_DISCONNECT_REJECT_INVALIDKEYLENGTH", + 141: "NETWORK_DISCONNECT_REJECT_OLDPROTOCOL", + 142: "NETWORK_DISCONNECT_REJECT_NEWPROTOCOL", + 143: "NETWORK_DISCONNECT_REJECT_INVALIDCONNECTION", + 144: "NETWORK_DISCONNECT_REJECT_INVALIDCERTLEN", + 145: "NETWORK_DISCONNECT_REJECT_INVALIDSTEAMCERTLEN", + 146: "NETWORK_DISCONNECT_REJECT_STEAM", + 147: "NETWORK_DISCONNECT_REJECT_SERVERAUTHDISABLED", + 148: "NETWORK_DISCONNECT_REJECT_SERVERCDKEYAUTHINVALID", + 149: "NETWORK_DISCONNECT_REJECT_BANNED", + 150: "NETWORK_DISCONNECT_KICKED_TEAMKILLING", + 151: "NETWORK_DISCONNECT_KICKED_TK_START", + 152: "NETWORK_DISCONNECT_KICKED_UNTRUSTEDACCOUNT", + 153: "NETWORK_DISCONNECT_KICKED_CONVICTEDACCOUNT", + 154: "NETWORK_DISCONNECT_KICKED_COMPETITIVECOOLDOWN", + 155: "NETWORK_DISCONNECT_KICKED_TEAMHURTING", + 156: "NETWORK_DISCONNECT_KICKED_HOSTAGEKILLING", + 157: "NETWORK_DISCONNECT_KICKED_VOTEDOFF", + 158: "NETWORK_DISCONNECT_KICKED_IDLE", + 159: "NETWORK_DISCONNECT_KICKED_SUICIDE", + 160: "NETWORK_DISCONNECT_KICKED_NOSTEAMLOGIN", + 161: "NETWORK_DISCONNECT_KICKED_NOSTEAMTICKET", + } + ENetworkDisconnectionReason_value = map[string]int32{ + "NETWORK_DISCONNECT_INVALID": 0, + "NETWORK_DISCONNECT_SHUTDOWN": 1, + "NETWORK_DISCONNECT_DISCONNECT_BY_USER": 2, + "NETWORK_DISCONNECT_DISCONNECT_BY_SERVER": 3, + "NETWORK_DISCONNECT_LOST": 4, + "NETWORK_DISCONNECT_OVERFLOW": 5, + "NETWORK_DISCONNECT_STEAM_BANNED": 6, + "NETWORK_DISCONNECT_STEAM_INUSE": 7, + "NETWORK_DISCONNECT_STEAM_TICKET": 8, + "NETWORK_DISCONNECT_STEAM_LOGON": 9, + "NETWORK_DISCONNECT_STEAM_AUTHCANCELLED": 10, + "NETWORK_DISCONNECT_STEAM_AUTHALREADYUSED": 11, + "NETWORK_DISCONNECT_STEAM_AUTHINVALID": 12, + "NETWORK_DISCONNECT_STEAM_VACBANSTATE": 13, + "NETWORK_DISCONNECT_STEAM_LOGGED_IN_ELSEWHERE": 14, + "NETWORK_DISCONNECT_STEAM_VAC_CHECK_TIMEDOUT": 15, + "NETWORK_DISCONNECT_STEAM_DROPPED": 16, + "NETWORK_DISCONNECT_STEAM_OWNERSHIP": 17, + "NETWORK_DISCONNECT_SERVERINFO_OVERFLOW": 18, + "NETWORK_DISCONNECT_TICKMSG_OVERFLOW": 19, + "NETWORK_DISCONNECT_STRINGTABLEMSG_OVERFLOW": 20, + "NETWORK_DISCONNECT_DELTAENTMSG_OVERFLOW": 21, + "NETWORK_DISCONNECT_TEMPENTMSG_OVERFLOW": 22, + "NETWORK_DISCONNECT_SOUNDSMSG_OVERFLOW": 23, + "NETWORK_DISCONNECT_SNAPSHOTOVERFLOW": 24, + "NETWORK_DISCONNECT_SNAPSHOTERROR": 25, + "NETWORK_DISCONNECT_RELIABLEOVERFLOW": 26, + "NETWORK_DISCONNECT_BADDELTATICK": 27, + "NETWORK_DISCONNECT_NOMORESPLITS": 28, + "NETWORK_DISCONNECT_TIMEDOUT": 29, + "NETWORK_DISCONNECT_DISCONNECTED": 30, + "NETWORK_DISCONNECT_LEAVINGSPLIT": 31, + "NETWORK_DISCONNECT_DIFFERENTCLASSTABLES": 32, + "NETWORK_DISCONNECT_BADRELAYPASSWORD": 33, + "NETWORK_DISCONNECT_BADSPECTATORPASSWORD": 34, + "NETWORK_DISCONNECT_HLTVRESTRICTED": 35, + "NETWORK_DISCONNECT_NOSPECTATORS": 36, + "NETWORK_DISCONNECT_HLTVUNAVAILABLE": 37, + "NETWORK_DISCONNECT_HLTVSTOP": 38, + "NETWORK_DISCONNECT_KICKED": 39, + "NETWORK_DISCONNECT_BANADDED": 40, + "NETWORK_DISCONNECT_KICKBANADDED": 41, + "NETWORK_DISCONNECT_HLTVDIRECT": 42, + "NETWORK_DISCONNECT_PURESERVER_CLIENTEXTRA": 43, + "NETWORK_DISCONNECT_PURESERVER_MISMATCH": 44, + "NETWORK_DISCONNECT_USERCMD": 45, + "NETWORK_DISCONNECT_REJECTED_BY_GAME": 46, + "NETWORK_DISCONNECT_MESSAGE_PARSE_ERROR": 47, + "NETWORK_DISCONNECT_INVALID_MESSAGE_ERROR": 48, + "NETWORK_DISCONNECT_BAD_SERVER_PASSWORD": 49, + "NETWORK_DISCONNECT_DIRECT_CONNECT_RESERVATION": 50, + "NETWORK_DISCONNECT_CONNECTION_FAILURE": 51, + "NETWORK_DISCONNECT_NO_PEER_GROUP_HANDLERS": 52, + "NETWORK_DISCONNECT_RECONNECTION": 53, + "NETWORK_DISCONNECT_LOOPSHUTDOWN": 54, + "NETWORK_DISCONNECT_LOOPDEACTIVATE": 55, + "NETWORK_DISCONNECT_HOST_ENDGAME": 56, + "NETWORK_DISCONNECT_LOOP_LEVELLOAD_ACTIVATE": 57, + "NETWORK_DISCONNECT_CREATE_SERVER_FAILED": 58, + "NETWORK_DISCONNECT_EXITING": 59, + "NETWORK_DISCONNECT_REQUEST_HOSTSTATE_IDLE": 60, + "NETWORK_DISCONNECT_REQUEST_HOSTSTATE_HLTVRELAY": 61, + "NETWORK_DISCONNECT_CLIENT_CONSISTENCY_FAIL": 62, + "NETWORK_DISCONNECT_CLIENT_UNABLE_TO_CRC_MAP": 63, + "NETWORK_DISCONNECT_CLIENT_NO_MAP": 64, + "NETWORK_DISCONNECT_CLIENT_DIFFERENT_MAP": 65, + "NETWORK_DISCONNECT_SERVER_REQUIRES_STEAM": 66, + "NETWORK_DISCONNECT_STEAM_DENY_MISC": 67, + "NETWORK_DISCONNECT_STEAM_DENY_BAD_ANTI_CHEAT": 68, + "NETWORK_DISCONNECT_SERVER_SHUTDOWN": 69, + "NETWORK_DISCONNECT_SPLITPACKET_SEND_OVERFLOW": 70, + "NETWORK_DISCONNECT_REPLAY_INCOMPATIBLE": 71, + "NETWORK_DISCONNECT_CONNECT_REQUEST_TIMEDOUT": 72, + "NETWORK_DISCONNECT_SERVER_INCOMPATIBLE": 73, + "NETWORK_DISCONNECT_LOCALPROBLEM_MANYRELAYS": 74, + "NETWORK_DISCONNECT_LOCALPROBLEM_HOSTEDSERVERPRIMARYRELAY": 75, + "NETWORK_DISCONNECT_LOCALPROBLEM_NETWORKCONFIG": 76, + "NETWORK_DISCONNECT_LOCALPROBLEM_OTHER": 77, + "NETWORK_DISCONNECT_REMOTE_TIMEOUT": 79, + "NETWORK_DISCONNECT_REMOTE_TIMEOUT_CONNECTING": 80, + "NETWORK_DISCONNECT_REMOTE_OTHER": 81, + "NETWORK_DISCONNECT_REMOTE_BADCRYPT": 82, + "NETWORK_DISCONNECT_REMOTE_CERTNOTTRUSTED": 83, + "NETWORK_DISCONNECT_UNUSUAL": 84, + "NETWORK_DISCONNECT_INTERNAL_ERROR": 85, + "NETWORK_DISCONNECT_REJECT_BADCHALLENGE": 128, + "NETWORK_DISCONNECT_REJECT_NOLOBBY": 129, + "NETWORK_DISCONNECT_REJECT_BACKGROUND_MAP": 130, + "NETWORK_DISCONNECT_REJECT_SINGLE_PLAYER": 131, + "NETWORK_DISCONNECT_REJECT_HIDDEN_GAME": 132, + "NETWORK_DISCONNECT_REJECT_LANRESTRICT": 133, + "NETWORK_DISCONNECT_REJECT_BADPASSWORD": 134, + "NETWORK_DISCONNECT_REJECT_SERVERFULL": 135, + "NETWORK_DISCONNECT_REJECT_INVALIDRESERVATION": 136, + "NETWORK_DISCONNECT_REJECT_FAILEDCHANNEL": 137, + "NETWORK_DISCONNECT_REJECT_CONNECT_FROM_LOBBY": 138, + "NETWORK_DISCONNECT_REJECT_RESERVED_FOR_LOBBY": 139, + "NETWORK_DISCONNECT_REJECT_INVALIDKEYLENGTH": 140, + "NETWORK_DISCONNECT_REJECT_OLDPROTOCOL": 141, + "NETWORK_DISCONNECT_REJECT_NEWPROTOCOL": 142, + "NETWORK_DISCONNECT_REJECT_INVALIDCONNECTION": 143, + "NETWORK_DISCONNECT_REJECT_INVALIDCERTLEN": 144, + "NETWORK_DISCONNECT_REJECT_INVALIDSTEAMCERTLEN": 145, + "NETWORK_DISCONNECT_REJECT_STEAM": 146, + "NETWORK_DISCONNECT_REJECT_SERVERAUTHDISABLED": 147, + "NETWORK_DISCONNECT_REJECT_SERVERCDKEYAUTHINVALID": 148, + "NETWORK_DISCONNECT_REJECT_BANNED": 149, + "NETWORK_DISCONNECT_KICKED_TEAMKILLING": 150, + "NETWORK_DISCONNECT_KICKED_TK_START": 151, + "NETWORK_DISCONNECT_KICKED_UNTRUSTEDACCOUNT": 152, + "NETWORK_DISCONNECT_KICKED_CONVICTEDACCOUNT": 153, + "NETWORK_DISCONNECT_KICKED_COMPETITIVECOOLDOWN": 154, + "NETWORK_DISCONNECT_KICKED_TEAMHURTING": 155, + "NETWORK_DISCONNECT_KICKED_HOSTAGEKILLING": 156, + "NETWORK_DISCONNECT_KICKED_VOTEDOFF": 157, + "NETWORK_DISCONNECT_KICKED_IDLE": 158, + "NETWORK_DISCONNECT_KICKED_SUICIDE": 159, + "NETWORK_DISCONNECT_KICKED_NOSTEAMLOGIN": 160, + "NETWORK_DISCONNECT_KICKED_NOSTEAMTICKET": 161, + } +) + +func (x ENetworkDisconnectionReason) Enum() *ENetworkDisconnectionReason { + p := new(ENetworkDisconnectionReason) + *p = x + return p +} + +func (x ENetworkDisconnectionReason) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (ENetworkDisconnectionReason) Descriptor() protoreflect.EnumDescriptor { + return file_network_connection_proto_enumTypes[0].Descriptor() +} + +func (ENetworkDisconnectionReason) Type() protoreflect.EnumType { + return &file_network_connection_proto_enumTypes[0] +} + +func (x ENetworkDisconnectionReason) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Do not use. +func (x *ENetworkDisconnectionReason) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err + } + *x = ENetworkDisconnectionReason(num) + return nil +} + +// Deprecated: Use ENetworkDisconnectionReason.Descriptor instead. +func (ENetworkDisconnectionReason) EnumDescriptor() ([]byte, []int) { + return file_network_connection_proto_rawDescGZIP(), []int{0} +} + +var file_network_connection_proto_extTypes = []protoimpl.ExtensionInfo{ + { + ExtendedType: (*descriptorpb.EnumValueOptions)(nil), + ExtensionType: (*string)(nil), + Field: 50500, + Name: "network_connection_token", + Tag: "bytes,50500,opt,name=network_connection_token", + Filename: "network_connection.proto", + }, +} + +// Extension fields to descriptorpb.EnumValueOptions. +var ( + // optional string network_connection_token = 50500; + E_NetworkConnectionToken = &file_network_connection_proto_extTypes[0] +) + +var File_network_connection_proto protoreflect.FileDescriptor + +var file_network_connection_proto_rawDesc = []byte{ + 0x0a, 0x18, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 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, 0x2a, 0xb2, 0x4b, 0x0a, + 0x1b, 0x45, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, + 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x1a, + 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x44, 0x49, 0x53, 0x43, 0x4f, 0x4e, 0x4e, 0x45, + 0x43, 0x54, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0x00, 0x12, 0x1f, 0x0a, 0x1b, + 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x44, 0x49, 0x53, 0x43, 0x4f, 0x4e, 0x4e, 0x45, + 0x43, 0x54, 0x5f, 0x53, 0x48, 0x55, 0x54, 0x44, 0x4f, 0x57, 0x4e, 0x10, 0x01, 0x12, 0x46, 0x0a, + 0x25, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x44, 0x49, 0x53, 0x43, 0x4f, 0x4e, 0x4e, + 0x45, 0x43, 0x54, 0x5f, 0x44, 0x49, 0x53, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x42, + 0x59, 0x5f, 0x55, 0x53, 0x45, 0x52, 0x10, 0x02, 0x1a, 0x1b, 0xa2, 0xd4, 0x18, 0x17, 0x23, 0x47, + 0x61, 0x6d, 0x65, 0x55, 0x49, 0x5f, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, + 0x5f, 0x55, 0x73, 0x65, 0x72, 0x12, 0x4a, 0x0a, 0x27, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, + 0x5f, 0x44, 0x49, 0x53, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x44, 0x49, 0x53, 0x43, + 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x42, 0x59, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, + 0x10, 0x03, 0x1a, 0x1d, 0xa2, 0xd4, 0x18, 0x19, 0x23, 0x47, 0x61, 0x6d, 0x65, 0x55, 0x49, 0x5f, + 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x53, 0x65, 0x72, 0x76, 0x65, + 0x72, 0x12, 0x42, 0x0a, 0x17, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x44, 0x49, 0x53, + 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x4c, 0x4f, 0x53, 0x54, 0x10, 0x04, 0x1a, 0x25, + 0xa2, 0xd4, 0x18, 0x21, 0x23, 0x47, 0x61, 0x6d, 0x65, 0x55, 0x49, 0x5f, 0x44, 0x69, 0x73, 0x63, + 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x4c, 0x6f, 0x73, 0x74, 0x12, 0x4a, 0x0a, 0x1b, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, + 0x5f, 0x44, 0x49, 0x53, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x4f, 0x56, 0x45, 0x52, + 0x46, 0x4c, 0x4f, 0x57, 0x10, 0x05, 0x1a, 0x29, 0xa2, 0xd4, 0x18, 0x25, 0x23, 0x47, 0x61, 0x6d, + 0x65, 0x55, 0x49, 0x5f, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x43, + 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x76, 0x65, 0x72, 0x66, 0x6c, 0x6f, + 0x77, 0x12, 0x49, 0x0a, 0x1f, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x44, 0x49, 0x53, + 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x53, 0x54, 0x45, 0x41, 0x4d, 0x5f, 0x42, 0x41, + 0x4e, 0x4e, 0x45, 0x44, 0x10, 0x06, 0x1a, 0x24, 0xa2, 0xd4, 0x18, 0x20, 0x23, 0x47, 0x61, 0x6d, + 0x65, 0x55, 0x49, 0x5f, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x53, + 0x74, 0x65, 0x61, 0x6d, 0x49, 0x44, 0x42, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x12, 0x47, 0x0a, 0x1e, + 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x44, 0x49, 0x53, 0x43, 0x4f, 0x4e, 0x4e, 0x45, + 0x43, 0x54, 0x5f, 0x53, 0x54, 0x45, 0x41, 0x4d, 0x5f, 0x49, 0x4e, 0x55, 0x53, 0x45, 0x10, 0x07, + 0x1a, 0x23, 0xa2, 0xd4, 0x18, 0x1f, 0x23, 0x47, 0x61, 0x6d, 0x65, 0x55, 0x49, 0x5f, 0x44, 0x69, + 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x49, 0x44, + 0x49, 0x6e, 0x55, 0x73, 0x65, 0x12, 0x47, 0x0a, 0x1f, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, + 0x5f, 0x44, 0x49, 0x53, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x53, 0x54, 0x45, 0x41, + 0x4d, 0x5f, 0x54, 0x49, 0x43, 0x4b, 0x45, 0x54, 0x10, 0x08, 0x1a, 0x22, 0xa2, 0xd4, 0x18, 0x1e, + 0x23, 0x47, 0x61, 0x6d, 0x65, 0x55, 0x49, 0x5f, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, + 0x63, 0x74, 0x5f, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x45, + 0x0a, 0x1e, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x44, 0x49, 0x53, 0x43, 0x4f, 0x4e, + 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x53, 0x54, 0x45, 0x41, 0x4d, 0x5f, 0x4c, 0x4f, 0x47, 0x4f, 0x4e, + 0x10, 0x09, 0x1a, 0x21, 0xa2, 0xd4, 0x18, 0x1d, 0x23, 0x47, 0x61, 0x6d, 0x65, 0x55, 0x49, 0x5f, + 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x53, 0x74, 0x65, 0x61, 0x6d, + 0x4c, 0x6f, 0x67, 0x6f, 0x6e, 0x12, 0x4d, 0x0a, 0x26, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, + 0x5f, 0x44, 0x49, 0x53, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x53, 0x54, 0x45, 0x41, + 0x4d, 0x5f, 0x41, 0x55, 0x54, 0x48, 0x43, 0x41, 0x4e, 0x43, 0x45, 0x4c, 0x4c, 0x45, 0x44, 0x10, + 0x0a, 0x1a, 0x21, 0xa2, 0xd4, 0x18, 0x1d, 0x23, 0x47, 0x61, 0x6d, 0x65, 0x55, 0x49, 0x5f, 0x44, + 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x4c, + 0x6f, 0x67, 0x6f, 0x6e, 0x12, 0x4f, 0x0a, 0x28, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x5f, + 0x44, 0x49, 0x53, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x53, 0x54, 0x45, 0x41, 0x4d, + 0x5f, 0x41, 0x55, 0x54, 0x48, 0x41, 0x4c, 0x52, 0x45, 0x41, 0x44, 0x59, 0x55, 0x53, 0x45, 0x44, + 0x10, 0x0b, 0x1a, 0x21, 0xa2, 0xd4, 0x18, 0x1d, 0x23, 0x47, 0x61, 0x6d, 0x65, 0x55, 0x49, 0x5f, + 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x53, 0x74, 0x65, 0x61, 0x6d, + 0x4c, 0x6f, 0x67, 0x6f, 0x6e, 0x12, 0x4b, 0x0a, 0x24, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, + 0x5f, 0x44, 0x49, 0x53, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x53, 0x54, 0x45, 0x41, + 0x4d, 0x5f, 0x41, 0x55, 0x54, 0x48, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0x0c, 0x1a, + 0x21, 0xa2, 0xd4, 0x18, 0x1d, 0x23, 0x47, 0x61, 0x6d, 0x65, 0x55, 0x49, 0x5f, 0x44, 0x69, 0x73, + 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x4c, 0x6f, 0x67, + 0x6f, 0x6e, 0x12, 0x49, 0x0a, 0x24, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x44, 0x49, + 0x53, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x53, 0x54, 0x45, 0x41, 0x4d, 0x5f, 0x56, + 0x41, 0x43, 0x42, 0x41, 0x4e, 0x53, 0x54, 0x41, 0x54, 0x45, 0x10, 0x0d, 0x1a, 0x1f, 0xa2, 0xd4, + 0x18, 0x1b, 0x23, 0x47, 0x61, 0x6d, 0x65, 0x55, 0x49, 0x5f, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, + 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x56, 0x41, 0x43, 0x12, 0x53, 0x0a, + 0x2c, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x44, 0x49, 0x53, 0x43, 0x4f, 0x4e, 0x4e, + 0x45, 0x43, 0x54, 0x5f, 0x53, 0x54, 0x45, 0x41, 0x4d, 0x5f, 0x4c, 0x4f, 0x47, 0x47, 0x45, 0x44, + 0x5f, 0x49, 0x4e, 0x5f, 0x45, 0x4c, 0x53, 0x45, 0x57, 0x48, 0x45, 0x52, 0x45, 0x10, 0x0e, 0x1a, + 0x21, 0xa2, 0xd4, 0x18, 0x1d, 0x23, 0x47, 0x61, 0x6d, 0x65, 0x55, 0x49, 0x5f, 0x44, 0x69, 0x73, + 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x49, 0x6e, 0x55, + 0x73, 0x65, 0x12, 0x54, 0x0a, 0x2b, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x44, 0x49, + 0x53, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x53, 0x54, 0x45, 0x41, 0x4d, 0x5f, 0x56, + 0x41, 0x43, 0x5f, 0x43, 0x48, 0x45, 0x43, 0x4b, 0x5f, 0x54, 0x49, 0x4d, 0x45, 0x44, 0x4f, 0x55, + 0x54, 0x10, 0x0f, 0x1a, 0x23, 0xa2, 0xd4, 0x18, 0x1f, 0x23, 0x47, 0x61, 0x6d, 0x65, 0x55, 0x49, + 0x5f, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x53, 0x74, 0x65, 0x61, + 0x6d, 0x54, 0x69, 0x6d, 0x65, 0x4f, 0x75, 0x74, 0x12, 0x49, 0x0a, 0x20, 0x4e, 0x45, 0x54, 0x57, + 0x4f, 0x52, 0x4b, 0x5f, 0x44, 0x49, 0x53, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x53, + 0x54, 0x45, 0x41, 0x4d, 0x5f, 0x44, 0x52, 0x4f, 0x50, 0x50, 0x45, 0x44, 0x10, 0x10, 0x1a, 0x23, + 0xa2, 0xd4, 0x18, 0x1f, 0x23, 0x47, 0x61, 0x6d, 0x65, 0x55, 0x49, 0x5f, 0x44, 0x69, 0x73, 0x63, + 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x44, 0x72, 0x6f, 0x70, + 0x70, 0x65, 0x64, 0x12, 0x4d, 0x0a, 0x22, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x44, + 0x49, 0x53, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x53, 0x54, 0x45, 0x41, 0x4d, 0x5f, + 0x4f, 0x57, 0x4e, 0x45, 0x52, 0x53, 0x48, 0x49, 0x50, 0x10, 0x11, 0x1a, 0x25, 0xa2, 0xd4, 0x18, + 0x21, 0x23, 0x47, 0x61, 0x6d, 0x65, 0x55, 0x49, 0x5f, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, + 0x65, 0x63, 0x74, 0x5f, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x73, 0x68, + 0x69, 0x70, 0x12, 0x55, 0x0a, 0x26, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x44, 0x49, + 0x53, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x49, + 0x4e, 0x46, 0x4f, 0x5f, 0x4f, 0x56, 0x45, 0x52, 0x46, 0x4c, 0x4f, 0x57, 0x10, 0x12, 0x1a, 0x29, + 0xa2, 0xd4, 0x18, 0x25, 0x23, 0x47, 0x61, 0x6d, 0x65, 0x55, 0x49, 0x5f, 0x44, 0x69, 0x73, 0x63, + 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x6e, 0x66, + 0x6f, 0x4f, 0x76, 0x65, 0x72, 0x66, 0x6c, 0x6f, 0x77, 0x12, 0x4b, 0x0a, 0x23, 0x4e, 0x45, 0x54, + 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x44, 0x49, 0x53, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, + 0x54, 0x49, 0x43, 0x4b, 0x4d, 0x53, 0x47, 0x5f, 0x4f, 0x56, 0x45, 0x52, 0x46, 0x4c, 0x4f, 0x57, + 0x10, 0x13, 0x1a, 0x22, 0xa2, 0xd4, 0x18, 0x1e, 0x23, 0x47, 0x61, 0x6d, 0x65, 0x55, 0x49, 0x5f, + 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x54, 0x69, 0x63, 0x6b, 0x4d, + 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x59, 0x0a, 0x2a, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, + 0x4b, 0x5f, 0x44, 0x49, 0x53, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x53, 0x54, 0x52, + 0x49, 0x4e, 0x47, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x4d, 0x53, 0x47, 0x5f, 0x4f, 0x56, 0x45, 0x52, + 0x46, 0x4c, 0x4f, 0x57, 0x10, 0x14, 0x1a, 0x29, 0xa2, 0xd4, 0x18, 0x25, 0x23, 0x47, 0x61, 0x6d, + 0x65, 0x55, 0x49, 0x5f, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x53, + 0x74, 0x72, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, + 0x65, 0x12, 0x53, 0x0a, 0x27, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x44, 0x49, 0x53, + 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x44, 0x45, 0x4c, 0x54, 0x41, 0x45, 0x4e, 0x54, + 0x4d, 0x53, 0x47, 0x5f, 0x4f, 0x56, 0x45, 0x52, 0x46, 0x4c, 0x4f, 0x57, 0x10, 0x15, 0x1a, 0x26, + 0xa2, 0xd4, 0x18, 0x22, 0x23, 0x47, 0x61, 0x6d, 0x65, 0x55, 0x49, 0x5f, 0x44, 0x69, 0x73, 0x63, + 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x4d, + 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x51, 0x0a, 0x26, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, + 0x4b, 0x5f, 0x44, 0x49, 0x53, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x54, 0x45, 0x4d, + 0x50, 0x45, 0x4e, 0x54, 0x4d, 0x53, 0x47, 0x5f, 0x4f, 0x56, 0x45, 0x52, 0x46, 0x4c, 0x4f, 0x57, + 0x10, 0x16, 0x1a, 0x25, 0xa2, 0xd4, 0x18, 0x21, 0x23, 0x47, 0x61, 0x6d, 0x65, 0x55, 0x49, 0x5f, + 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x54, 0x65, 0x6d, 0x70, 0x45, + 0x6e, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x4f, 0x0a, 0x25, 0x4e, 0x45, 0x54, + 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x44, 0x49, 0x53, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, + 0x53, 0x4f, 0x55, 0x4e, 0x44, 0x53, 0x4d, 0x53, 0x47, 0x5f, 0x4f, 0x56, 0x45, 0x52, 0x46, 0x4c, + 0x4f, 0x57, 0x10, 0x17, 0x1a, 0x24, 0xa2, 0xd4, 0x18, 0x20, 0x23, 0x47, 0x61, 0x6d, 0x65, 0x55, + 0x49, 0x5f, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x53, 0x6f, 0x75, + 0x6e, 0x64, 0x73, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x50, 0x0a, 0x23, 0x4e, 0x45, + 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x44, 0x49, 0x53, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, + 0x5f, 0x53, 0x4e, 0x41, 0x50, 0x53, 0x48, 0x4f, 0x54, 0x4f, 0x56, 0x45, 0x52, 0x46, 0x4c, 0x4f, + 0x57, 0x10, 0x18, 0x1a, 0x27, 0xa2, 0xd4, 0x18, 0x23, 0x23, 0x47, 0x61, 0x6d, 0x65, 0x55, 0x49, + 0x5f, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x53, 0x6e, 0x61, 0x70, + 0x73, 0x68, 0x6f, 0x74, 0x4f, 0x76, 0x65, 0x72, 0x66, 0x6c, 0x6f, 0x77, 0x12, 0x4a, 0x0a, 0x20, + 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x44, 0x49, 0x53, 0x43, 0x4f, 0x4e, 0x4e, 0x45, + 0x43, 0x54, 0x5f, 0x53, 0x4e, 0x41, 0x50, 0x53, 0x48, 0x4f, 0x54, 0x45, 0x52, 0x52, 0x4f, 0x52, + 0x10, 0x19, 0x1a, 0x24, 0xa2, 0xd4, 0x18, 0x20, 0x23, 0x47, 0x61, 0x6d, 0x65, 0x55, 0x49, 0x5f, + 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x53, 0x6e, 0x61, 0x70, 0x73, + 0x68, 0x6f, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x50, 0x0a, 0x23, 0x4e, 0x45, 0x54, 0x57, + 0x4f, 0x52, 0x4b, 0x5f, 0x44, 0x49, 0x53, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x52, + 0x45, 0x4c, 0x49, 0x41, 0x42, 0x4c, 0x45, 0x4f, 0x56, 0x45, 0x52, 0x46, 0x4c, 0x4f, 0x57, 0x10, + 0x1a, 0x1a, 0x27, 0xa2, 0xd4, 0x18, 0x23, 0x23, 0x47, 0x61, 0x6d, 0x65, 0x55, 0x49, 0x5f, 0x44, + 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x52, 0x65, 0x6c, 0x69, 0x61, 0x62, + 0x6c, 0x65, 0x4f, 0x76, 0x65, 0x72, 0x66, 0x6c, 0x6f, 0x77, 0x12, 0x4e, 0x0a, 0x1f, 0x4e, 0x45, + 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x44, 0x49, 0x53, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, + 0x5f, 0x42, 0x41, 0x44, 0x44, 0x45, 0x4c, 0x54, 0x41, 0x54, 0x49, 0x43, 0x4b, 0x10, 0x1b, 0x1a, + 0x29, 0xa2, 0xd4, 0x18, 0x25, 0x23, 0x47, 0x61, 0x6d, 0x65, 0x55, 0x49, 0x5f, 0x44, 0x69, 0x73, + 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x42, 0x61, 0x64, 0x43, 0x6c, 0x69, 0x65, 0x6e, + 0x74, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x54, 0x69, 0x63, 0x6b, 0x12, 0x48, 0x0a, 0x1f, 0x4e, 0x45, + 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x44, 0x49, 0x53, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, + 0x5f, 0x4e, 0x4f, 0x4d, 0x4f, 0x52, 0x45, 0x53, 0x50, 0x4c, 0x49, 0x54, 0x53, 0x10, 0x1c, 0x1a, + 0x23, 0xa2, 0xd4, 0x18, 0x1f, 0x23, 0x47, 0x61, 0x6d, 0x65, 0x55, 0x49, 0x5f, 0x44, 0x69, 0x73, + 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x4e, 0x6f, 0x4d, 0x6f, 0x72, 0x65, 0x53, 0x70, + 0x6c, 0x69, 0x74, 0x73, 0x12, 0x40, 0x0a, 0x1b, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x5f, + 0x44, 0x49, 0x53, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x54, 0x49, 0x4d, 0x45, 0x44, + 0x4f, 0x55, 0x54, 0x10, 0x1d, 0x1a, 0x1f, 0xa2, 0xd4, 0x18, 0x1b, 0x23, 0x47, 0x61, 0x6d, 0x65, + 0x55, 0x49, 0x5f, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x54, 0x69, + 0x6d, 0x65, 0x64, 0x4f, 0x75, 0x74, 0x12, 0x48, 0x0a, 0x1f, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, + 0x4b, 0x5f, 0x44, 0x49, 0x53, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x44, 0x49, 0x53, + 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x45, 0x44, 0x10, 0x1e, 0x1a, 0x23, 0xa2, 0xd4, 0x18, + 0x1f, 0x23, 0x47, 0x61, 0x6d, 0x65, 0x55, 0x49, 0x5f, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, + 0x65, 0x63, 0x74, 0x5f, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, + 0x12, 0x48, 0x0a, 0x1f, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x44, 0x49, 0x53, 0x43, + 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x4c, 0x45, 0x41, 0x56, 0x49, 0x4e, 0x47, 0x53, 0x50, + 0x4c, 0x49, 0x54, 0x10, 0x1f, 0x1a, 0x23, 0xa2, 0xd4, 0x18, 0x1f, 0x23, 0x47, 0x61, 0x6d, 0x65, + 0x55, 0x49, 0x5f, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x4c, 0x65, + 0x61, 0x76, 0x69, 0x6e, 0x67, 0x53, 0x70, 0x6c, 0x69, 0x74, 0x12, 0x58, 0x0a, 0x27, 0x4e, 0x45, + 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x44, 0x49, 0x53, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, + 0x5f, 0x44, 0x49, 0x46, 0x46, 0x45, 0x52, 0x45, 0x4e, 0x54, 0x43, 0x4c, 0x41, 0x53, 0x53, 0x54, + 0x41, 0x42, 0x4c, 0x45, 0x53, 0x10, 0x20, 0x1a, 0x2b, 0xa2, 0xd4, 0x18, 0x27, 0x23, 0x47, 0x61, + 0x6d, 0x65, 0x55, 0x49, 0x5f, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x5f, + 0x44, 0x69, 0x66, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x54, 0x61, + 0x62, 0x6c, 0x65, 0x73, 0x12, 0x50, 0x0a, 0x23, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x5f, + 0x44, 0x49, 0x53, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x42, 0x41, 0x44, 0x52, 0x45, + 0x4c, 0x41, 0x59, 0x50, 0x41, 0x53, 0x53, 0x57, 0x4f, 0x52, 0x44, 0x10, 0x21, 0x1a, 0x27, 0xa2, + 0xd4, 0x18, 0x23, 0x23, 0x47, 0x61, 0x6d, 0x65, 0x55, 0x49, 0x5f, 0x44, 0x69, 0x73, 0x63, 0x6f, + 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x42, 0x61, 0x64, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x50, 0x61, + 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x58, 0x0a, 0x27, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, + 0x4b, 0x5f, 0x44, 0x49, 0x53, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x42, 0x41, 0x44, + 0x53, 0x50, 0x45, 0x43, 0x54, 0x41, 0x54, 0x4f, 0x52, 0x50, 0x41, 0x53, 0x53, 0x57, 0x4f, 0x52, + 0x44, 0x10, 0x22, 0x1a, 0x2b, 0xa2, 0xd4, 0x18, 0x27, 0x23, 0x47, 0x61, 0x6d, 0x65, 0x55, 0x49, + 0x5f, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x42, 0x61, 0x64, 0x53, + 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x6f, 0x72, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, + 0x12, 0x4c, 0x0a, 0x21, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x44, 0x49, 0x53, 0x43, + 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x48, 0x4c, 0x54, 0x56, 0x52, 0x45, 0x53, 0x54, 0x52, + 0x49, 0x43, 0x54, 0x45, 0x44, 0x10, 0x23, 0x1a, 0x25, 0xa2, 0xd4, 0x18, 0x21, 0x23, 0x47, 0x61, + 0x6d, 0x65, 0x55, 0x49, 0x5f, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x5f, + 0x48, 0x4c, 0x54, 0x56, 0x52, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x65, 0x64, 0x12, 0x48, + 0x0a, 0x1f, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x44, 0x49, 0x53, 0x43, 0x4f, 0x4e, + 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x4e, 0x4f, 0x53, 0x50, 0x45, 0x43, 0x54, 0x41, 0x54, 0x4f, 0x52, + 0x53, 0x10, 0x24, 0x1a, 0x23, 0xa2, 0xd4, 0x18, 0x1f, 0x23, 0x47, 0x61, 0x6d, 0x65, 0x55, 0x49, + 0x5f, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x4e, 0x6f, 0x53, 0x70, + 0x65, 0x63, 0x74, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x4e, 0x0a, 0x22, 0x4e, 0x45, 0x54, 0x57, + 0x4f, 0x52, 0x4b, 0x5f, 0x44, 0x49, 0x53, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x48, + 0x4c, 0x54, 0x56, 0x55, 0x4e, 0x41, 0x56, 0x41, 0x49, 0x4c, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x25, + 0x1a, 0x26, 0xa2, 0xd4, 0x18, 0x22, 0x23, 0x47, 0x61, 0x6d, 0x65, 0x55, 0x49, 0x5f, 0x44, 0x69, + 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x48, 0x4c, 0x54, 0x56, 0x55, 0x6e, 0x61, + 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x40, 0x0a, 0x1b, 0x4e, 0x45, 0x54, 0x57, + 0x4f, 0x52, 0x4b, 0x5f, 0x44, 0x49, 0x53, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x48, + 0x4c, 0x54, 0x56, 0x53, 0x54, 0x4f, 0x50, 0x10, 0x26, 0x1a, 0x1f, 0xa2, 0xd4, 0x18, 0x1b, 0x23, + 0x47, 0x61, 0x6d, 0x65, 0x55, 0x49, 0x5f, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, + 0x74, 0x5f, 0x48, 0x4c, 0x54, 0x56, 0x53, 0x74, 0x6f, 0x70, 0x12, 0x3c, 0x0a, 0x19, 0x4e, 0x45, + 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x44, 0x49, 0x53, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, + 0x5f, 0x4b, 0x49, 0x43, 0x4b, 0x45, 0x44, 0x10, 0x27, 0x1a, 0x1d, 0xa2, 0xd4, 0x18, 0x19, 0x23, + 0x47, 0x61, 0x6d, 0x65, 0x55, 0x49, 0x5f, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, + 0x74, 0x5f, 0x4b, 0x69, 0x63, 0x6b, 0x65, 0x64, 0x12, 0x40, 0x0a, 0x1b, 0x4e, 0x45, 0x54, 0x57, + 0x4f, 0x52, 0x4b, 0x5f, 0x44, 0x49, 0x53, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x42, + 0x41, 0x4e, 0x41, 0x44, 0x44, 0x45, 0x44, 0x10, 0x28, 0x1a, 0x1f, 0xa2, 0xd4, 0x18, 0x1b, 0x23, + 0x47, 0x61, 0x6d, 0x65, 0x55, 0x49, 0x5f, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, + 0x74, 0x5f, 0x42, 0x61, 0x6e, 0x41, 0x64, 0x64, 0x65, 0x64, 0x12, 0x48, 0x0a, 0x1f, 0x4e, 0x45, + 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x44, 0x49, 0x53, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, + 0x5f, 0x4b, 0x49, 0x43, 0x4b, 0x42, 0x41, 0x4e, 0x41, 0x44, 0x44, 0x45, 0x44, 0x10, 0x29, 0x1a, + 0x23, 0xa2, 0xd4, 0x18, 0x1f, 0x23, 0x47, 0x61, 0x6d, 0x65, 0x55, 0x49, 0x5f, 0x44, 0x69, 0x73, + 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x4b, 0x69, 0x63, 0x6b, 0x42, 0x61, 0x6e, 0x41, + 0x64, 0x64, 0x65, 0x64, 0x12, 0x44, 0x0a, 0x1d, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x5f, + 0x44, 0x49, 0x53, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x48, 0x4c, 0x54, 0x56, 0x44, + 0x49, 0x52, 0x45, 0x43, 0x54, 0x10, 0x2a, 0x1a, 0x21, 0xa2, 0xd4, 0x18, 0x1d, 0x23, 0x47, 0x61, + 0x6d, 0x65, 0x55, 0x49, 0x5f, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x5f, + 0x48, 0x4c, 0x54, 0x56, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x12, 0x5c, 0x0a, 0x29, 0x4e, 0x45, + 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x44, 0x49, 0x53, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, + 0x5f, 0x50, 0x55, 0x52, 0x45, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x5f, 0x43, 0x4c, 0x49, 0x45, + 0x4e, 0x54, 0x45, 0x58, 0x54, 0x52, 0x41, 0x10, 0x2b, 0x1a, 0x2d, 0xa2, 0xd4, 0x18, 0x29, 0x23, + 0x47, 0x61, 0x6d, 0x65, 0x55, 0x49, 0x5f, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, + 0x74, 0x5f, 0x50, 0x75, 0x72, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x43, 0x6c, 0x69, + 0x65, 0x6e, 0x74, 0x45, 0x78, 0x74, 0x72, 0x61, 0x12, 0x56, 0x0a, 0x26, 0x4e, 0x45, 0x54, 0x57, + 0x4f, 0x52, 0x4b, 0x5f, 0x44, 0x49, 0x53, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x50, + 0x55, 0x52, 0x45, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x5f, 0x4d, 0x49, 0x53, 0x4d, 0x41, 0x54, + 0x43, 0x48, 0x10, 0x2c, 0x1a, 0x2a, 0xa2, 0xd4, 0x18, 0x26, 0x23, 0x47, 0x61, 0x6d, 0x65, 0x55, + 0x49, 0x5f, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x50, 0x75, 0x72, + 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x4d, 0x69, 0x73, 0x6d, 0x61, 0x74, 0x63, 0x68, + 0x12, 0x3e, 0x0a, 0x1a, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x44, 0x49, 0x53, 0x43, + 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x55, 0x53, 0x45, 0x52, 0x43, 0x4d, 0x44, 0x10, 0x2d, + 0x1a, 0x1e, 0xa2, 0xd4, 0x18, 0x1a, 0x23, 0x47, 0x61, 0x6d, 0x65, 0x55, 0x49, 0x5f, 0x44, 0x69, + 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x55, 0x73, 0x65, 0x72, 0x43, 0x6d, 0x64, + 0x12, 0x4e, 0x0a, 0x23, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x44, 0x49, 0x53, 0x43, + 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x52, 0x45, 0x4a, 0x45, 0x43, 0x54, 0x45, 0x44, 0x5f, + 0x42, 0x59, 0x5f, 0x47, 0x41, 0x4d, 0x45, 0x10, 0x2e, 0x1a, 0x25, 0xa2, 0xd4, 0x18, 0x21, 0x23, + 0x47, 0x61, 0x6d, 0x65, 0x55, 0x49, 0x5f, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, + 0x74, 0x5f, 0x52, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x65, 0x64, 0x42, 0x79, 0x47, 0x61, 0x6d, 0x65, + 0x12, 0x54, 0x0a, 0x26, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x44, 0x49, 0x53, 0x43, + 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x50, + 0x41, 0x52, 0x53, 0x45, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x2f, 0x1a, 0x28, 0xa2, 0xd4, + 0x18, 0x24, 0x23, 0x47, 0x61, 0x6d, 0x65, 0x55, 0x49, 0x5f, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, + 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x50, 0x61, 0x72, 0x73, + 0x65, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x58, 0x0a, 0x28, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, + 0x4b, 0x5f, 0x44, 0x49, 0x53, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x49, 0x4e, 0x56, + 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x45, 0x52, 0x52, + 0x4f, 0x52, 0x10, 0x30, 0x1a, 0x2a, 0xa2, 0xd4, 0x18, 0x26, 0x23, 0x47, 0x61, 0x6d, 0x65, 0x55, + 0x49, 0x5f, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x49, 0x6e, 0x76, + 0x61, 0x6c, 0x69, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x45, 0x72, 0x72, 0x6f, 0x72, + 0x12, 0x54, 0x0a, 0x26, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x44, 0x49, 0x53, 0x43, + 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x42, 0x41, 0x44, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x45, + 0x52, 0x5f, 0x50, 0x41, 0x53, 0x53, 0x57, 0x4f, 0x52, 0x44, 0x10, 0x31, 0x1a, 0x28, 0xa2, 0xd4, + 0x18, 0x24, 0x23, 0x47, 0x61, 0x6d, 0x65, 0x55, 0x49, 0x5f, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, + 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x42, 0x61, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x50, 0x61, + 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x31, 0x0a, 0x2d, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, + 0x4b, 0x5f, 0x44, 0x49, 0x53, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x44, 0x49, 0x52, + 0x45, 0x43, 0x54, 0x5f, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x52, 0x45, 0x53, 0x45, + 0x52, 0x56, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x32, 0x12, 0x53, 0x0a, 0x25, 0x4e, 0x45, 0x54, + 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x44, 0x49, 0x53, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, + 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x55, + 0x52, 0x45, 0x10, 0x33, 0x1a, 0x28, 0xa2, 0xd4, 0x18, 0x24, 0x23, 0x47, 0x61, 0x6d, 0x65, 0x55, + 0x49, 0x5f, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x43, 0x6f, 0x6e, + 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x12, 0x59, + 0x0a, 0x29, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x44, 0x49, 0x53, 0x43, 0x4f, 0x4e, + 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x4e, 0x4f, 0x5f, 0x50, 0x45, 0x45, 0x52, 0x5f, 0x47, 0x52, 0x4f, + 0x55, 0x50, 0x5f, 0x48, 0x41, 0x4e, 0x44, 0x4c, 0x45, 0x52, 0x53, 0x10, 0x34, 0x1a, 0x2a, 0xa2, + 0xd4, 0x18, 0x26, 0x23, 0x47, 0x61, 0x6d, 0x65, 0x55, 0x49, 0x5f, 0x44, 0x69, 0x73, 0x63, 0x6f, + 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x4e, 0x6f, 0x50, 0x65, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, + 0x70, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x73, 0x12, 0x23, 0x0a, 0x1f, 0x4e, 0x45, 0x54, + 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x44, 0x49, 0x53, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, + 0x52, 0x45, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x35, 0x12, 0x48, + 0x0a, 0x1f, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x44, 0x49, 0x53, 0x43, 0x4f, 0x4e, + 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x4c, 0x4f, 0x4f, 0x50, 0x53, 0x48, 0x55, 0x54, 0x44, 0x4f, 0x57, + 0x4e, 0x10, 0x36, 0x1a, 0x23, 0xa2, 0xd4, 0x18, 0x1f, 0x23, 0x47, 0x61, 0x6d, 0x65, 0x55, 0x49, + 0x5f, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x4c, 0x6f, 0x6f, 0x70, + 0x53, 0x68, 0x75, 0x74, 0x64, 0x6f, 0x77, 0x6e, 0x12, 0x4c, 0x0a, 0x21, 0x4e, 0x45, 0x54, 0x57, + 0x4f, 0x52, 0x4b, 0x5f, 0x44, 0x49, 0x53, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x4c, + 0x4f, 0x4f, 0x50, 0x44, 0x45, 0x41, 0x43, 0x54, 0x49, 0x56, 0x41, 0x54, 0x45, 0x10, 0x37, 0x1a, + 0x25, 0xa2, 0xd4, 0x18, 0x21, 0x23, 0x47, 0x61, 0x6d, 0x65, 0x55, 0x49, 0x5f, 0x44, 0x69, 0x73, + 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x4c, 0x6f, 0x6f, 0x70, 0x44, 0x65, 0x61, 0x63, + 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x12, 0x48, 0x0a, 0x1f, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, + 0x4b, 0x5f, 0x44, 0x49, 0x53, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x48, 0x4f, 0x53, + 0x54, 0x5f, 0x45, 0x4e, 0x44, 0x47, 0x41, 0x4d, 0x45, 0x10, 0x38, 0x1a, 0x23, 0xa2, 0xd4, 0x18, + 0x1f, 0x23, 0x47, 0x61, 0x6d, 0x65, 0x55, 0x49, 0x5f, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, + 0x65, 0x63, 0x74, 0x5f, 0x48, 0x6f, 0x73, 0x74, 0x5f, 0x45, 0x6e, 0x64, 0x47, 0x61, 0x6d, 0x65, + 0x12, 0x5c, 0x0a, 0x2a, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x44, 0x49, 0x53, 0x43, + 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x4c, 0x4f, 0x4f, 0x50, 0x5f, 0x4c, 0x45, 0x56, 0x45, + 0x4c, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x41, 0x54, 0x45, 0x10, 0x39, + 0x1a, 0x2c, 0xa2, 0xd4, 0x18, 0x28, 0x23, 0x47, 0x61, 0x6d, 0x65, 0x55, 0x49, 0x5f, 0x44, 0x69, + 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x4c, 0x6f, 0x6f, 0x70, 0x4c, 0x65, 0x76, + 0x65, 0x6c, 0x4c, 0x6f, 0x61, 0x64, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x12, 0x56, + 0x0a, 0x27, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x44, 0x49, 0x53, 0x43, 0x4f, 0x4e, + 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x5f, 0x53, 0x45, 0x52, 0x56, + 0x45, 0x52, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x3a, 0x1a, 0x29, 0xa2, 0xd4, 0x18, + 0x25, 0x23, 0x47, 0x61, 0x6d, 0x65, 0x55, 0x49, 0x5f, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, + 0x65, 0x63, 0x74, 0x5f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, + 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x12, 0x44, 0x0a, 0x1a, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, + 0x4b, 0x5f, 0x44, 0x49, 0x53, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x45, 0x58, 0x49, + 0x54, 0x49, 0x4e, 0x47, 0x10, 0x3b, 0x1a, 0x24, 0xa2, 0xd4, 0x18, 0x20, 0x23, 0x47, 0x61, 0x6d, + 0x65, 0x55, 0x49, 0x5f, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x45, + 0x78, 0x69, 0x74, 0x69, 0x6e, 0x67, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x12, 0x54, 0x0a, 0x29, + 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x44, 0x49, 0x53, 0x43, 0x4f, 0x4e, 0x4e, 0x45, + 0x43, 0x54, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x5f, 0x48, 0x4f, 0x53, 0x54, 0x53, + 0x54, 0x41, 0x54, 0x45, 0x5f, 0x49, 0x44, 0x4c, 0x45, 0x10, 0x3c, 0x1a, 0x25, 0xa2, 0xd4, 0x18, + 0x21, 0x23, 0x47, 0x61, 0x6d, 0x65, 0x55, 0x49, 0x5f, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, + 0x65, 0x63, 0x74, 0x5f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x48, 0x53, 0x49, 0x64, + 0x6c, 0x65, 0x12, 0x5c, 0x0a, 0x2e, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x44, 0x49, + 0x53, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, + 0x5f, 0x48, 0x4f, 0x53, 0x54, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x48, 0x4c, 0x54, 0x56, 0x52, + 0x45, 0x4c, 0x41, 0x59, 0x10, 0x3d, 0x1a, 0x28, 0xa2, 0xd4, 0x18, 0x24, 0x23, 0x47, 0x61, 0x6d, + 0x65, 0x55, 0x49, 0x5f, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x48, 0x4c, 0x54, 0x56, 0x52, 0x65, 0x6c, 0x61, 0x79, + 0x12, 0x51, 0x0a, 0x2a, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x44, 0x49, 0x53, 0x43, + 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x43, 0x4c, 0x49, 0x45, 0x4e, 0x54, 0x5f, 0x43, 0x4f, + 0x4e, 0x53, 0x49, 0x53, 0x54, 0x45, 0x4e, 0x43, 0x59, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x10, 0x3e, + 0x1a, 0x21, 0xa2, 0xd4, 0x18, 0x1d, 0x23, 0x47, 0x61, 0x6d, 0x65, 0x55, 0x49, 0x5f, 0x43, 0x6c, + 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x46, + 0x61, 0x69, 0x6c, 0x12, 0x51, 0x0a, 0x2b, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x44, + 0x49, 0x53, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x43, 0x4c, 0x49, 0x45, 0x4e, 0x54, + 0x5f, 0x55, 0x4e, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x54, 0x4f, 0x5f, 0x43, 0x52, 0x43, 0x5f, 0x4d, + 0x41, 0x50, 0x10, 0x3f, 0x1a, 0x20, 0xa2, 0xd4, 0x18, 0x1c, 0x23, 0x47, 0x61, 0x6d, 0x65, 0x55, + 0x49, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x55, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x6f, + 0x43, 0x52, 0x43, 0x4d, 0x61, 0x70, 0x12, 0x3d, 0x0a, 0x20, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, + 0x4b, 0x5f, 0x44, 0x49, 0x53, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x43, 0x4c, 0x49, + 0x45, 0x4e, 0x54, 0x5f, 0x4e, 0x4f, 0x5f, 0x4d, 0x41, 0x50, 0x10, 0x40, 0x1a, 0x17, 0xa2, 0xd4, + 0x18, 0x13, 0x23, 0x47, 0x61, 0x6d, 0x65, 0x55, 0x49, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, + 0x4e, 0x6f, 0x4d, 0x61, 0x70, 0x12, 0x4b, 0x0a, 0x27, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, + 0x5f, 0x44, 0x49, 0x53, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x43, 0x4c, 0x49, 0x45, + 0x4e, 0x54, 0x5f, 0x44, 0x49, 0x46, 0x46, 0x45, 0x52, 0x45, 0x4e, 0x54, 0x5f, 0x4d, 0x41, 0x50, + 0x10, 0x41, 0x1a, 0x1e, 0xa2, 0xd4, 0x18, 0x1a, 0x23, 0x47, 0x61, 0x6d, 0x65, 0x55, 0x49, 0x5f, + 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x44, 0x69, 0x66, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x74, 0x4d, + 0x61, 0x70, 0x12, 0x4d, 0x0a, 0x28, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x44, 0x49, + 0x53, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x5f, + 0x52, 0x45, 0x51, 0x55, 0x49, 0x52, 0x45, 0x53, 0x5f, 0x53, 0x54, 0x45, 0x41, 0x4d, 0x10, 0x42, + 0x1a, 0x1f, 0xa2, 0xd4, 0x18, 0x1b, 0x23, 0x47, 0x61, 0x6d, 0x65, 0x55, 0x49, 0x5f, 0x53, 0x65, + 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x53, 0x74, 0x65, 0x61, 0x6d, + 0x73, 0x12, 0x4d, 0x0a, 0x22, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x44, 0x49, 0x53, + 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x53, 0x54, 0x45, 0x41, 0x4d, 0x5f, 0x44, 0x45, + 0x4e, 0x59, 0x5f, 0x4d, 0x49, 0x53, 0x43, 0x10, 0x43, 0x1a, 0x25, 0xa2, 0xd4, 0x18, 0x21, 0x23, + 0x47, 0x61, 0x6d, 0x65, 0x55, 0x49, 0x5f, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, + 0x74, 0x5f, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x44, 0x65, 0x6e, 0x79, 0x5f, 0x4d, 0x69, 0x73, 0x63, + 0x12, 0x5f, 0x0a, 0x2c, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x44, 0x49, 0x53, 0x43, + 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x53, 0x54, 0x45, 0x41, 0x4d, 0x5f, 0x44, 0x45, 0x4e, + 0x59, 0x5f, 0x42, 0x41, 0x44, 0x5f, 0x41, 0x4e, 0x54, 0x49, 0x5f, 0x43, 0x48, 0x45, 0x41, 0x54, + 0x10, 0x44, 0x1a, 0x2d, 0xa2, 0xd4, 0x18, 0x29, 0x23, 0x47, 0x61, 0x6d, 0x65, 0x55, 0x49, 0x5f, + 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x53, 0x74, 0x65, 0x61, 0x6d, + 0x44, 0x65, 0x6e, 0x79, 0x5f, 0x42, 0x61, 0x64, 0x41, 0x6e, 0x74, 0x69, 0x43, 0x68, 0x65, 0x61, + 0x74, 0x12, 0x4d, 0x0a, 0x22, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x44, 0x49, 0x53, + 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x5f, 0x53, + 0x48, 0x55, 0x54, 0x44, 0x4f, 0x57, 0x4e, 0x10, 0x45, 0x1a, 0x25, 0xa2, 0xd4, 0x18, 0x21, 0x23, + 0x47, 0x61, 0x6d, 0x65, 0x55, 0x49, 0x5f, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, + 0x74, 0x5f, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x68, 0x75, 0x74, 0x64, 0x6f, 0x77, 0x6e, + 0x12, 0x62, 0x0a, 0x2c, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x44, 0x49, 0x53, 0x43, + 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x53, 0x50, 0x4c, 0x49, 0x54, 0x50, 0x41, 0x43, 0x4b, + 0x45, 0x54, 0x5f, 0x53, 0x45, 0x4e, 0x44, 0x5f, 0x4f, 0x56, 0x45, 0x52, 0x46, 0x4c, 0x4f, 0x57, + 0x10, 0x46, 0x1a, 0x30, 0xa2, 0xd4, 0x18, 0x2c, 0x23, 0x47, 0x61, 0x6d, 0x65, 0x55, 0x49, 0x5f, + 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x53, 0x70, 0x6c, 0x69, 0x74, + 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x53, 0x65, 0x6e, 0x64, 0x5f, 0x4f, 0x76, 0x65, 0x72, + 0x66, 0x6c, 0x6f, 0x77, 0x12, 0x55, 0x0a, 0x26, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x5f, + 0x44, 0x49, 0x53, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x52, 0x45, 0x50, 0x4c, 0x41, + 0x59, 0x5f, 0x49, 0x4e, 0x43, 0x4f, 0x4d, 0x50, 0x41, 0x54, 0x49, 0x42, 0x4c, 0x45, 0x10, 0x47, + 0x1a, 0x29, 0xa2, 0xd4, 0x18, 0x25, 0x23, 0x47, 0x61, 0x6d, 0x65, 0x55, 0x49, 0x5f, 0x44, 0x69, + 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x49, + 0x6e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x74, 0x69, 0x62, 0x6c, 0x65, 0x12, 0x5a, 0x0a, 0x2b, 0x4e, + 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x44, 0x49, 0x53, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, + 0x54, 0x5f, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, + 0x54, 0x5f, 0x54, 0x49, 0x4d, 0x45, 0x44, 0x4f, 0x55, 0x54, 0x10, 0x48, 0x1a, 0x29, 0xa2, 0xd4, + 0x18, 0x25, 0x23, 0x47, 0x61, 0x6d, 0x65, 0x55, 0x49, 0x5f, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, + 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, + 0x69, 0x6d, 0x65, 0x64, 0x6f, 0x75, 0x74, 0x12, 0x55, 0x0a, 0x26, 0x4e, 0x45, 0x54, 0x57, 0x4f, + 0x52, 0x4b, 0x5f, 0x44, 0x49, 0x53, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x53, 0x45, + 0x52, 0x56, 0x45, 0x52, 0x5f, 0x49, 0x4e, 0x43, 0x4f, 0x4d, 0x50, 0x41, 0x54, 0x49, 0x42, 0x4c, + 0x45, 0x10, 0x49, 0x1a, 0x29, 0xa2, 0xd4, 0x18, 0x25, 0x23, 0x47, 0x61, 0x6d, 0x65, 0x55, 0x49, + 0x5f, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x53, 0x65, 0x72, 0x76, + 0x65, 0x72, 0x49, 0x6e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x74, 0x69, 0x62, 0x6c, 0x65, 0x12, 0x5e, + 0x0a, 0x2a, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x44, 0x49, 0x53, 0x43, 0x4f, 0x4e, + 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x4c, 0x4f, 0x43, 0x41, 0x4c, 0x50, 0x52, 0x4f, 0x42, 0x4c, 0x45, + 0x4d, 0x5f, 0x4d, 0x41, 0x4e, 0x59, 0x52, 0x45, 0x4c, 0x41, 0x59, 0x53, 0x10, 0x4a, 0x1a, 0x2e, + 0xa2, 0xd4, 0x18, 0x2a, 0x23, 0x47, 0x61, 0x6d, 0x65, 0x55, 0x49, 0x5f, 0x44, 0x69, 0x73, 0x63, + 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x50, 0x72, 0x6f, 0x62, + 0x6c, 0x65, 0x6d, 0x5f, 0x4d, 0x61, 0x6e, 0x79, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x73, 0x12, 0x7a, + 0x0a, 0x38, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x44, 0x49, 0x53, 0x43, 0x4f, 0x4e, + 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x4c, 0x4f, 0x43, 0x41, 0x4c, 0x50, 0x52, 0x4f, 0x42, 0x4c, 0x45, + 0x4d, 0x5f, 0x48, 0x4f, 0x53, 0x54, 0x45, 0x44, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x50, 0x52, + 0x49, 0x4d, 0x41, 0x52, 0x59, 0x52, 0x45, 0x4c, 0x41, 0x59, 0x10, 0x4b, 0x1a, 0x3c, 0xa2, 0xd4, + 0x18, 0x38, 0x23, 0x47, 0x61, 0x6d, 0x65, 0x55, 0x49, 0x5f, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, + 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x50, 0x72, 0x6f, 0x62, 0x6c, 0x65, + 0x6d, 0x5f, 0x48, 0x6f, 0x73, 0x74, 0x65, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x50, 0x72, + 0x69, 0x6d, 0x61, 0x72, 0x79, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x12, 0x64, 0x0a, 0x2d, 0x4e, 0x45, + 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x44, 0x49, 0x53, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, + 0x5f, 0x4c, 0x4f, 0x43, 0x41, 0x4c, 0x50, 0x52, 0x4f, 0x42, 0x4c, 0x45, 0x4d, 0x5f, 0x4e, 0x45, + 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x10, 0x4c, 0x1a, 0x31, 0xa2, + 0xd4, 0x18, 0x2d, 0x23, 0x47, 0x61, 0x6d, 0x65, 0x55, 0x49, 0x5f, 0x44, 0x69, 0x73, 0x63, 0x6f, + 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x50, 0x72, 0x6f, 0x62, 0x6c, + 0x65, 0x6d, 0x5f, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x12, 0x54, 0x0a, 0x25, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x44, 0x49, 0x53, 0x43, + 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x4c, 0x4f, 0x43, 0x41, 0x4c, 0x50, 0x52, 0x4f, 0x42, + 0x4c, 0x45, 0x4d, 0x5f, 0x4f, 0x54, 0x48, 0x45, 0x52, 0x10, 0x4d, 0x1a, 0x29, 0xa2, 0xd4, 0x18, + 0x25, 0x23, 0x47, 0x61, 0x6d, 0x65, 0x55, 0x49, 0x5f, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, + 0x65, 0x63, 0x74, 0x5f, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x50, 0x72, 0x6f, 0x62, 0x6c, 0x65, 0x6d, + 0x5f, 0x4f, 0x74, 0x68, 0x65, 0x72, 0x12, 0x53, 0x0a, 0x21, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, + 0x4b, 0x5f, 0x44, 0x49, 0x53, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x52, 0x45, 0x4d, + 0x4f, 0x54, 0x45, 0x5f, 0x54, 0x49, 0x4d, 0x45, 0x4f, 0x55, 0x54, 0x10, 0x4f, 0x1a, 0x2c, 0xa2, + 0xd4, 0x18, 0x28, 0x23, 0x47, 0x61, 0x6d, 0x65, 0x55, 0x49, 0x5f, 0x44, 0x69, 0x73, 0x63, 0x6f, + 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x62, + 0x6c, 0x65, 0x6d, 0x5f, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x68, 0x0a, 0x2c, 0x4e, + 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x44, 0x49, 0x53, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, + 0x54, 0x5f, 0x52, 0x45, 0x4d, 0x4f, 0x54, 0x45, 0x5f, 0x54, 0x49, 0x4d, 0x45, 0x4f, 0x55, 0x54, + 0x5f, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x50, 0x1a, 0x36, 0xa2, + 0xd4, 0x18, 0x32, 0x23, 0x47, 0x61, 0x6d, 0x65, 0x55, 0x49, 0x5f, 0x44, 0x69, 0x73, 0x63, 0x6f, + 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x62, + 0x6c, 0x65, 0x6d, 0x5f, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x65, + 0x63, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x4f, 0x0a, 0x1f, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, + 0x5f, 0x44, 0x49, 0x53, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x52, 0x45, 0x4d, 0x4f, + 0x54, 0x45, 0x5f, 0x4f, 0x54, 0x48, 0x45, 0x52, 0x10, 0x51, 0x1a, 0x2a, 0xa2, 0xd4, 0x18, 0x26, + 0x23, 0x47, 0x61, 0x6d, 0x65, 0x55, 0x49, 0x5f, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, + 0x63, 0x74, 0x5f, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x62, 0x6c, 0x65, 0x6d, + 0x5f, 0x4f, 0x74, 0x68, 0x65, 0x72, 0x12, 0x55, 0x0a, 0x22, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, + 0x4b, 0x5f, 0x44, 0x49, 0x53, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x52, 0x45, 0x4d, + 0x4f, 0x54, 0x45, 0x5f, 0x42, 0x41, 0x44, 0x43, 0x52, 0x59, 0x50, 0x54, 0x10, 0x52, 0x1a, 0x2d, + 0xa2, 0xd4, 0x18, 0x29, 0x23, 0x47, 0x61, 0x6d, 0x65, 0x55, 0x49, 0x5f, 0x44, 0x69, 0x73, 0x63, + 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x50, 0x72, 0x6f, + 0x62, 0x6c, 0x65, 0x6d, 0x5f, 0x42, 0x61, 0x64, 0x43, 0x72, 0x79, 0x70, 0x74, 0x12, 0x5a, 0x0a, + 0x28, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x44, 0x49, 0x53, 0x43, 0x4f, 0x4e, 0x4e, + 0x45, 0x43, 0x54, 0x5f, 0x52, 0x45, 0x4d, 0x4f, 0x54, 0x45, 0x5f, 0x43, 0x45, 0x52, 0x54, 0x4e, + 0x4f, 0x54, 0x54, 0x52, 0x55, 0x53, 0x54, 0x45, 0x44, 0x10, 0x53, 0x1a, 0x2c, 0xa2, 0xd4, 0x18, + 0x28, 0x23, 0x47, 0x61, 0x6d, 0x65, 0x55, 0x49, 0x5f, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, + 0x65, 0x63, 0x74, 0x5f, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x62, 0x6c, 0x65, + 0x6d, 0x5f, 0x42, 0x61, 0x64, 0x43, 0x65, 0x72, 0x74, 0x12, 0x3e, 0x0a, 0x1a, 0x4e, 0x45, 0x54, + 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x44, 0x49, 0x53, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, + 0x55, 0x4e, 0x55, 0x53, 0x55, 0x41, 0x4c, 0x10, 0x54, 0x1a, 0x1e, 0xa2, 0xd4, 0x18, 0x1a, 0x23, + 0x47, 0x61, 0x6d, 0x65, 0x55, 0x49, 0x5f, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, + 0x74, 0x5f, 0x55, 0x6e, 0x75, 0x73, 0x75, 0x61, 0x6c, 0x12, 0x4b, 0x0a, 0x21, 0x4e, 0x45, 0x54, + 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x44, 0x49, 0x53, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, + 0x49, 0x4e, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x55, + 0x1a, 0x24, 0xa2, 0xd4, 0x18, 0x20, 0x23, 0x47, 0x61, 0x6d, 0x65, 0x55, 0x49, 0x5f, 0x44, 0x69, + 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, + 0x6c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x51, 0x0a, 0x26, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, + 0x4b, 0x5f, 0x44, 0x49, 0x53, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x52, 0x45, 0x4a, + 0x45, 0x43, 0x54, 0x5f, 0x42, 0x41, 0x44, 0x43, 0x48, 0x41, 0x4c, 0x4c, 0x45, 0x4e, 0x47, 0x45, + 0x10, 0x80, 0x01, 0x1a, 0x24, 0xa2, 0xd4, 0x18, 0x20, 0x23, 0x47, 0x61, 0x6d, 0x65, 0x55, 0x49, + 0x5f, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x42, 0x61, 0x64, + 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x12, 0x41, 0x0a, 0x21, 0x4e, 0x45, 0x54, + 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x44, 0x49, 0x53, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, + 0x52, 0x45, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x4e, 0x4f, 0x4c, 0x4f, 0x42, 0x42, 0x59, 0x10, 0x81, + 0x01, 0x1a, 0x19, 0xa2, 0xd4, 0x18, 0x15, 0x23, 0x47, 0x61, 0x6d, 0x65, 0x55, 0x49, 0x5f, 0x53, + 0x65, 0x72, 0x76, 0x65, 0x72, 0x4e, 0x6f, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x12, 0x4f, 0x0a, 0x28, + 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x44, 0x49, 0x53, 0x43, 0x4f, 0x4e, 0x4e, 0x45, + 0x43, 0x54, 0x5f, 0x52, 0x45, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x42, 0x41, 0x43, 0x4b, 0x47, 0x52, + 0x4f, 0x55, 0x4e, 0x44, 0x5f, 0x4d, 0x41, 0x50, 0x10, 0x82, 0x01, 0x1a, 0x20, 0xa2, 0xd4, 0x18, + 0x1c, 0x23, 0x56, 0x61, 0x6c, 0x76, 0x65, 0x5f, 0x52, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x42, + 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x4d, 0x61, 0x70, 0x12, 0x4d, 0x0a, + 0x27, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x44, 0x49, 0x53, 0x43, 0x4f, 0x4e, 0x4e, + 0x45, 0x43, 0x54, 0x5f, 0x52, 0x45, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x53, 0x49, 0x4e, 0x47, 0x4c, + 0x45, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x10, 0x83, 0x01, 0x1a, 0x1f, 0xa2, 0xd4, 0x18, + 0x1b, 0x23, 0x56, 0x61, 0x6c, 0x76, 0x65, 0x5f, 0x52, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x53, + 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x12, 0x49, 0x0a, 0x25, + 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x44, 0x49, 0x53, 0x43, 0x4f, 0x4e, 0x4e, 0x45, + 0x43, 0x54, 0x5f, 0x52, 0x45, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x48, 0x49, 0x44, 0x44, 0x45, 0x4e, + 0x5f, 0x47, 0x41, 0x4d, 0x45, 0x10, 0x84, 0x01, 0x1a, 0x1d, 0xa2, 0xd4, 0x18, 0x19, 0x23, 0x56, + 0x61, 0x6c, 0x76, 0x65, 0x5f, 0x52, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x48, 0x69, 0x64, 0x64, + 0x65, 0x6e, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x12, 0x4f, 0x0a, 0x25, 0x4e, 0x45, 0x54, 0x57, 0x4f, + 0x52, 0x4b, 0x5f, 0x44, 0x49, 0x53, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x52, 0x45, + 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x4c, 0x41, 0x4e, 0x52, 0x45, 0x53, 0x54, 0x52, 0x49, 0x43, 0x54, + 0x10, 0x85, 0x01, 0x1a, 0x23, 0xa2, 0xd4, 0x18, 0x1f, 0x23, 0x47, 0x61, 0x6d, 0x65, 0x55, 0x49, + 0x5f, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x4c, 0x41, 0x4e, + 0x52, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x12, 0x4f, 0x0a, 0x25, 0x4e, 0x45, 0x54, 0x57, + 0x4f, 0x52, 0x4b, 0x5f, 0x44, 0x49, 0x53, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x52, + 0x45, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x42, 0x41, 0x44, 0x50, 0x41, 0x53, 0x53, 0x57, 0x4f, 0x52, + 0x44, 0x10, 0x86, 0x01, 0x1a, 0x23, 0xa2, 0xd4, 0x18, 0x1f, 0x23, 0x47, 0x61, 0x6d, 0x65, 0x55, + 0x49, 0x5f, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x42, 0x61, + 0x64, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x4d, 0x0a, 0x24, 0x4e, 0x45, 0x54, + 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x44, 0x49, 0x53, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, + 0x52, 0x45, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x46, 0x55, 0x4c, + 0x4c, 0x10, 0x87, 0x01, 0x1a, 0x22, 0xa2, 0xd4, 0x18, 0x1e, 0x23, 0x47, 0x61, 0x6d, 0x65, 0x55, + 0x49, 0x5f, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x65, + 0x72, 0x76, 0x65, 0x72, 0x46, 0x75, 0x6c, 0x6c, 0x12, 0x5d, 0x0a, 0x2c, 0x4e, 0x45, 0x54, 0x57, + 0x4f, 0x52, 0x4b, 0x5f, 0x44, 0x49, 0x53, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x52, + 0x45, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x52, 0x45, 0x53, + 0x45, 0x52, 0x56, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x88, 0x01, 0x1a, 0x2a, 0xa2, 0xd4, 0x18, + 0x26, 0x23, 0x47, 0x61, 0x6d, 0x65, 0x55, 0x49, 0x5f, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, + 0x65, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x52, 0x65, 0x73, 0x65, + 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x53, 0x0a, 0x27, 0x4e, 0x45, 0x54, 0x57, 0x4f, + 0x52, 0x4b, 0x5f, 0x44, 0x49, 0x53, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x52, 0x45, + 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x43, 0x48, 0x41, 0x4e, 0x4e, + 0x45, 0x4c, 0x10, 0x89, 0x01, 0x1a, 0x25, 0xa2, 0xd4, 0x18, 0x21, 0x23, 0x47, 0x61, 0x6d, 0x65, + 0x55, 0x49, 0x5f, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x46, + 0x61, 0x69, 0x6c, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x57, 0x0a, 0x2c, + 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x44, 0x49, 0x53, 0x43, 0x4f, 0x4e, 0x4e, 0x45, + 0x43, 0x54, 0x5f, 0x52, 0x45, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, + 0x54, 0x5f, 0x46, 0x52, 0x4f, 0x4d, 0x5f, 0x4c, 0x4f, 0x42, 0x42, 0x59, 0x10, 0x8a, 0x01, 0x1a, + 0x24, 0xa2, 0xd4, 0x18, 0x20, 0x23, 0x56, 0x61, 0x6c, 0x76, 0x65, 0x5f, 0x52, 0x65, 0x6a, 0x65, + 0x63, 0x74, 0x5f, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x46, 0x72, 0x6f, 0x6d, 0x5f, + 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x12, 0x57, 0x0a, 0x2c, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, + 0x5f, 0x44, 0x49, 0x53, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x52, 0x45, 0x4a, 0x45, + 0x43, 0x54, 0x5f, 0x52, 0x45, 0x53, 0x45, 0x52, 0x56, 0x45, 0x44, 0x5f, 0x46, 0x4f, 0x52, 0x5f, + 0x4c, 0x4f, 0x42, 0x42, 0x59, 0x10, 0x8b, 0x01, 0x1a, 0x24, 0xa2, 0xd4, 0x18, 0x20, 0x23, 0x56, + 0x61, 0x6c, 0x76, 0x65, 0x5f, 0x52, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x52, 0x65, 0x73, 0x65, + 0x72, 0x76, 0x65, 0x64, 0x5f, 0x46, 0x6f, 0x72, 0x5f, 0x4c, 0x6f, 0x62, 0x62, 0x79, 0x12, 0x5a, + 0x0a, 0x2a, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x44, 0x49, 0x53, 0x43, 0x4f, 0x4e, + 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x52, 0x45, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x49, 0x4e, 0x56, 0x41, + 0x4c, 0x49, 0x44, 0x4b, 0x45, 0x59, 0x4c, 0x45, 0x4e, 0x47, 0x54, 0x48, 0x10, 0x8c, 0x01, 0x1a, + 0x29, 0xa2, 0xd4, 0x18, 0x25, 0x23, 0x47, 0x61, 0x6d, 0x65, 0x55, 0x49, 0x5f, 0x53, 0x65, 0x72, + 0x76, 0x65, 0x72, 0x52, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, + 0x64, 0x4b, 0x65, 0x79, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x4f, 0x0a, 0x25, 0x4e, 0x45, + 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x44, 0x49, 0x53, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, + 0x5f, 0x52, 0x45, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x4f, 0x4c, 0x44, 0x50, 0x52, 0x4f, 0x54, 0x4f, + 0x43, 0x4f, 0x4c, 0x10, 0x8d, 0x01, 0x1a, 0x23, 0xa2, 0xd4, 0x18, 0x1f, 0x23, 0x47, 0x61, 0x6d, + 0x65, 0x55, 0x49, 0x5f, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x6a, 0x65, 0x63, 0x74, + 0x4f, 0x6c, 0x64, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x4f, 0x0a, 0x25, 0x4e, + 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x44, 0x49, 0x53, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, + 0x54, 0x5f, 0x52, 0x45, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x4e, 0x45, 0x57, 0x50, 0x52, 0x4f, 0x54, + 0x4f, 0x43, 0x4f, 0x4c, 0x10, 0x8e, 0x01, 0x1a, 0x23, 0xa2, 0xd4, 0x18, 0x1f, 0x23, 0x47, 0x61, + 0x6d, 0x65, 0x55, 0x49, 0x5f, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x6a, 0x65, 0x63, + 0x74, 0x4e, 0x65, 0x77, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x5b, 0x0a, 0x2b, + 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x44, 0x49, 0x53, 0x43, 0x4f, 0x4e, 0x4e, 0x45, + 0x43, 0x54, 0x5f, 0x52, 0x45, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, + 0x44, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x8f, 0x01, 0x1a, 0x29, + 0xa2, 0xd4, 0x18, 0x25, 0x23, 0x47, 0x61, 0x6d, 0x65, 0x55, 0x49, 0x5f, 0x53, 0x65, 0x72, 0x76, + 0x65, 0x72, 0x52, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x43, + 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x55, 0x0a, 0x28, 0x4e, 0x45, 0x54, + 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x44, 0x49, 0x53, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, + 0x52, 0x45, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x43, 0x45, + 0x52, 0x54, 0x4c, 0x45, 0x4e, 0x10, 0x90, 0x01, 0x1a, 0x26, 0xa2, 0xd4, 0x18, 0x22, 0x23, 0x47, + 0x61, 0x6d, 0x65, 0x55, 0x49, 0x5f, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x6a, 0x65, + 0x63, 0x74, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x43, 0x65, 0x72, 0x74, 0x4c, 0x65, 0x6e, + 0x12, 0x5f, 0x0a, 0x2d, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x44, 0x49, 0x53, 0x43, + 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x52, 0x45, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x49, 0x4e, + 0x56, 0x41, 0x4c, 0x49, 0x44, 0x53, 0x54, 0x45, 0x41, 0x4d, 0x43, 0x45, 0x52, 0x54, 0x4c, 0x45, + 0x4e, 0x10, 0x91, 0x01, 0x1a, 0x2b, 0xa2, 0xd4, 0x18, 0x27, 0x23, 0x47, 0x61, 0x6d, 0x65, 0x55, + 0x49, 0x5f, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x6e, + 0x76, 0x61, 0x6c, 0x69, 0x64, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x43, 0x65, 0x72, 0x74, 0x4c, 0x65, + 0x6e, 0x12, 0x43, 0x0a, 0x1f, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x44, 0x49, 0x53, + 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x52, 0x45, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x53, + 0x54, 0x45, 0x41, 0x4d, 0x10, 0x92, 0x01, 0x1a, 0x1d, 0xa2, 0xd4, 0x18, 0x19, 0x23, 0x47, 0x61, + 0x6d, 0x65, 0x55, 0x49, 0x5f, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x6a, 0x65, 0x63, + 0x74, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x12, 0x51, 0x0a, 0x2c, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, + 0x4b, 0x5f, 0x44, 0x49, 0x53, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x52, 0x45, 0x4a, + 0x45, 0x43, 0x54, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x41, 0x55, 0x54, 0x48, 0x44, 0x49, + 0x53, 0x41, 0x42, 0x4c, 0x45, 0x44, 0x10, 0x93, 0x01, 0x1a, 0x1e, 0xa2, 0xd4, 0x18, 0x1a, 0x23, + 0x47, 0x61, 0x6d, 0x65, 0x55, 0x49, 0x5f, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x41, 0x75, 0x74, + 0x68, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x59, 0x0a, 0x30, 0x4e, 0x45, 0x54, + 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x44, 0x49, 0x53, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, + 0x52, 0x45, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x43, 0x44, 0x4b, + 0x45, 0x59, 0x41, 0x55, 0x54, 0x48, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0x94, 0x01, + 0x1a, 0x22, 0xa2, 0xd4, 0x18, 0x1e, 0x23, 0x47, 0x61, 0x6d, 0x65, 0x55, 0x49, 0x5f, 0x53, 0x65, + 0x72, 0x76, 0x65, 0x72, 0x43, 0x44, 0x4b, 0x65, 0x79, 0x41, 0x75, 0x74, 0x68, 0x49, 0x6e, 0x76, + 0x61, 0x6c, 0x69, 0x64, 0x12, 0x45, 0x0a, 0x20, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x5f, + 0x44, 0x49, 0x53, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x52, 0x45, 0x4a, 0x45, 0x43, + 0x54, 0x5f, 0x42, 0x41, 0x4e, 0x4e, 0x45, 0x44, 0x10, 0x95, 0x01, 0x1a, 0x1e, 0xa2, 0xd4, 0x18, + 0x1a, 0x23, 0x47, 0x61, 0x6d, 0x65, 0x55, 0x49, 0x5f, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, + 0x65, 0x6a, 0x65, 0x63, 0x74, 0x42, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x12, 0x54, 0x0a, 0x25, 0x4e, + 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x44, 0x49, 0x53, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, + 0x54, 0x5f, 0x4b, 0x49, 0x43, 0x4b, 0x45, 0x44, 0x5f, 0x54, 0x45, 0x41, 0x4d, 0x4b, 0x49, 0x4c, + 0x4c, 0x49, 0x4e, 0x47, 0x10, 0x96, 0x01, 0x1a, 0x28, 0xa2, 0xd4, 0x18, 0x24, 0x23, 0x50, 0x6c, + 0x61, 0x79, 0x65, 0x72, 0x5f, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x52, + 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x5f, 0x54, 0x65, 0x61, 0x6d, 0x4b, 0x69, 0x6c, 0x6c, 0x69, 0x6e, + 0x67, 0x12, 0x4e, 0x0a, 0x22, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x44, 0x49, 0x53, + 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x4b, 0x49, 0x43, 0x4b, 0x45, 0x44, 0x5f, 0x54, + 0x4b, 0x5f, 0x53, 0x54, 0x41, 0x52, 0x54, 0x10, 0x97, 0x01, 0x1a, 0x25, 0xa2, 0xd4, 0x18, 0x21, + 0x23, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, + 0x63, 0x74, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x5f, 0x54, 0x4b, 0x5f, 0x53, 0x74, 0x61, 0x72, + 0x74, 0x12, 0x5e, 0x0a, 0x2a, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x44, 0x49, 0x53, + 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x4b, 0x49, 0x43, 0x4b, 0x45, 0x44, 0x5f, 0x55, + 0x4e, 0x54, 0x52, 0x55, 0x53, 0x54, 0x45, 0x44, 0x41, 0x43, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x10, + 0x98, 0x01, 0x1a, 0x2d, 0xa2, 0xd4, 0x18, 0x29, 0x23, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, + 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, + 0x5f, 0x55, 0x6e, 0x74, 0x72, 0x75, 0x73, 0x74, 0x65, 0x64, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x12, 0x5e, 0x0a, 0x2a, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x44, 0x49, 0x53, + 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x4b, 0x49, 0x43, 0x4b, 0x45, 0x44, 0x5f, 0x43, + 0x4f, 0x4e, 0x56, 0x49, 0x43, 0x54, 0x45, 0x44, 0x41, 0x43, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x10, + 0x99, 0x01, 0x1a, 0x2d, 0xa2, 0xd4, 0x18, 0x29, 0x23, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, + 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, + 0x5f, 0x43, 0x6f, 0x6e, 0x76, 0x69, 0x63, 0x74, 0x65, 0x64, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x12, 0x64, 0x0a, 0x2d, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x44, 0x49, 0x53, + 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x4b, 0x49, 0x43, 0x4b, 0x45, 0x44, 0x5f, 0x43, + 0x4f, 0x4d, 0x50, 0x45, 0x54, 0x49, 0x54, 0x49, 0x56, 0x45, 0x43, 0x4f, 0x4f, 0x4c, 0x44, 0x4f, + 0x57, 0x4e, 0x10, 0x9a, 0x01, 0x1a, 0x30, 0xa2, 0xd4, 0x18, 0x2c, 0x23, 0x50, 0x6c, 0x61, 0x79, + 0x65, 0x72, 0x5f, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x52, 0x65, 0x61, + 0x73, 0x6f, 0x6e, 0x5f, 0x43, 0x6f, 0x6d, 0x70, 0x65, 0x74, 0x69, 0x74, 0x69, 0x76, 0x65, 0x43, + 0x6f, 0x6f, 0x6c, 0x64, 0x6f, 0x77, 0x6e, 0x12, 0x54, 0x0a, 0x25, 0x4e, 0x45, 0x54, 0x57, 0x4f, + 0x52, 0x4b, 0x5f, 0x44, 0x49, 0x53, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x4b, 0x49, + 0x43, 0x4b, 0x45, 0x44, 0x5f, 0x54, 0x45, 0x41, 0x4d, 0x48, 0x55, 0x52, 0x54, 0x49, 0x4e, 0x47, + 0x10, 0x9b, 0x01, 0x1a, 0x28, 0xa2, 0xd4, 0x18, 0x24, 0x23, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, + 0x5f, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x52, 0x65, 0x61, 0x73, 0x6f, + 0x6e, 0x5f, 0x54, 0x65, 0x61, 0x6d, 0x48, 0x75, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x5a, 0x0a, + 0x28, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x44, 0x49, 0x53, 0x43, 0x4f, 0x4e, 0x4e, + 0x45, 0x43, 0x54, 0x5f, 0x4b, 0x49, 0x43, 0x4b, 0x45, 0x44, 0x5f, 0x48, 0x4f, 0x53, 0x54, 0x41, + 0x47, 0x45, 0x4b, 0x49, 0x4c, 0x4c, 0x49, 0x4e, 0x47, 0x10, 0x9c, 0x01, 0x1a, 0x2b, 0xa2, 0xd4, + 0x18, 0x27, 0x23, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, + 0x6e, 0x65, 0x63, 0x74, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x5f, 0x48, 0x6f, 0x73, 0x74, 0x61, + 0x67, 0x65, 0x4b, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x12, 0x4e, 0x0a, 0x22, 0x4e, 0x45, 0x54, + 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x44, 0x49, 0x53, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, + 0x4b, 0x49, 0x43, 0x4b, 0x45, 0x44, 0x5f, 0x56, 0x4f, 0x54, 0x45, 0x44, 0x4f, 0x46, 0x46, 0x10, + 0x9d, 0x01, 0x1a, 0x25, 0xa2, 0xd4, 0x18, 0x21, 0x23, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, + 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, + 0x5f, 0x56, 0x6f, 0x74, 0x65, 0x64, 0x4f, 0x66, 0x66, 0x12, 0x46, 0x0a, 0x1e, 0x4e, 0x45, 0x54, + 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x44, 0x49, 0x53, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, + 0x4b, 0x49, 0x43, 0x4b, 0x45, 0x44, 0x5f, 0x49, 0x44, 0x4c, 0x45, 0x10, 0x9e, 0x01, 0x1a, 0x21, + 0xa2, 0xd4, 0x18, 0x1d, 0x23, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x44, 0x69, 0x73, 0x63, + 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x5f, 0x49, 0x64, 0x6c, + 0x65, 0x12, 0x4c, 0x0a, 0x21, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x44, 0x49, 0x53, + 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x4b, 0x49, 0x43, 0x4b, 0x45, 0x44, 0x5f, 0x53, + 0x55, 0x49, 0x43, 0x49, 0x44, 0x45, 0x10, 0x9f, 0x01, 0x1a, 0x24, 0xa2, 0xd4, 0x18, 0x20, 0x23, + 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, + 0x74, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x5f, 0x53, 0x75, 0x69, 0x63, 0x69, 0x64, 0x65, 0x12, + 0x56, 0x0a, 0x26, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x44, 0x49, 0x53, 0x43, 0x4f, + 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x4b, 0x49, 0x43, 0x4b, 0x45, 0x44, 0x5f, 0x4e, 0x4f, 0x53, + 0x54, 0x45, 0x41, 0x4d, 0x4c, 0x4f, 0x47, 0x49, 0x4e, 0x10, 0xa0, 0x01, 0x1a, 0x29, 0xa2, 0xd4, + 0x18, 0x25, 0x23, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, + 0x6e, 0x65, 0x63, 0x74, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x5f, 0x4e, 0x6f, 0x53, 0x74, 0x65, + 0x61, 0x6d, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x12, 0x58, 0x0a, 0x27, 0x4e, 0x45, 0x54, 0x57, 0x4f, + 0x52, 0x4b, 0x5f, 0x44, 0x49, 0x53, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x4b, 0x49, + 0x43, 0x4b, 0x45, 0x44, 0x5f, 0x4e, 0x4f, 0x53, 0x54, 0x45, 0x41, 0x4d, 0x54, 0x49, 0x43, 0x4b, + 0x45, 0x54, 0x10, 0xa1, 0x01, 0x1a, 0x2a, 0xa2, 0xd4, 0x18, 0x26, 0x23, 0x50, 0x6c, 0x61, 0x79, + 0x65, 0x72, 0x5f, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x52, 0x65, 0x61, + 0x73, 0x6f, 0x6e, 0x5f, 0x4e, 0x6f, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x54, 0x69, 0x63, 0x6b, 0x65, + 0x74, 0x3a, 0x5d, 0x0a, 0x18, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x63, 0x6f, 0x6e, + 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x21, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x45, 0x6e, 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x18, 0xc4, 0x8a, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x16, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, + 0x42, 0x0b, 0x5a, 0x06, 0x2e, 0x2f, 0x64, 0x65, 0x6d, 0x6f, 0x80, 0x01, 0x00, +} + +var ( + file_network_connection_proto_rawDescOnce sync.Once + file_network_connection_proto_rawDescData = file_network_connection_proto_rawDesc +) + +func file_network_connection_proto_rawDescGZIP() []byte { + file_network_connection_proto_rawDescOnce.Do(func() { + file_network_connection_proto_rawDescData = protoimpl.X.CompressGZIP(file_network_connection_proto_rawDescData) + }) + return file_network_connection_proto_rawDescData +} + +var file_network_connection_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_network_connection_proto_goTypes = []interface{}{ + (ENetworkDisconnectionReason)(0), // 0: ENetworkDisconnectionReason + (*descriptorpb.EnumValueOptions)(nil), // 1: google.protobuf.EnumValueOptions +} +var file_network_connection_proto_depIdxs = []int32{ + 1, // 0: network_connection_token:extendee -> google.protobuf.EnumValueOptions + 1, // [1:1] is the sub-list for method output_type + 1, // [1:1] is the sub-list for method input_type + 1, // [1:1] is the sub-list for extension type_name + 0, // [0:1] is the sub-list for extension extendee + 0, // [0:0] is the sub-list for field type_name +} + +func init() { file_network_connection_proto_init() } +func file_network_connection_proto_init() { + if File_network_connection_proto != nil { + return + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_network_connection_proto_rawDesc, + NumEnums: 1, + NumMessages: 0, + NumExtensions: 1, + NumServices: 0, + }, + GoTypes: file_network_connection_proto_goTypes, + DependencyIndexes: file_network_connection_proto_depIdxs, + EnumInfos: file_network_connection_proto_enumTypes, + ExtensionInfos: file_network_connection_proto_extTypes, + }.Build() + File_network_connection_proto = out.File + file_network_connection_proto_rawDesc = nil + file_network_connection_proto_goTypes = nil + file_network_connection_proto_depIdxs = nil +} diff --git a/demo/networkbasetypes.pb.go b/demo/networkbasetypes.pb.go new file mode 100644 index 0000000..c08f0b5 --- /dev/null +++ b/demo/networkbasetypes.pb.go @@ -0,0 +1,2779 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.0 +// protoc v3.21.2 +// source: networkbasetypes.proto + +package demo + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type SignonStateT int32 + +const ( + SignonStateT_SIGNONSTATE_NONE SignonStateT = 0 + SignonStateT_SIGNONSTATE_CHALLENGE SignonStateT = 1 + SignonStateT_SIGNONSTATE_CONNECTED SignonStateT = 2 + SignonStateT_SIGNONSTATE_NEW SignonStateT = 3 + SignonStateT_SIGNONSTATE_PRESPAWN SignonStateT = 4 + SignonStateT_SIGNONSTATE_SPAWN SignonStateT = 5 + SignonStateT_SIGNONSTATE_FULL SignonStateT = 6 + SignonStateT_SIGNONSTATE_CHANGELEVEL SignonStateT = 7 +) + +// Enum value maps for SignonStateT. +var ( + SignonStateT_name = map[int32]string{ + 0: "SIGNONSTATE_NONE", + 1: "SIGNONSTATE_CHALLENGE", + 2: "SIGNONSTATE_CONNECTED", + 3: "SIGNONSTATE_NEW", + 4: "SIGNONSTATE_PRESPAWN", + 5: "SIGNONSTATE_SPAWN", + 6: "SIGNONSTATE_FULL", + 7: "SIGNONSTATE_CHANGELEVEL", + } + SignonStateT_value = map[string]int32{ + "SIGNONSTATE_NONE": 0, + "SIGNONSTATE_CHALLENGE": 1, + "SIGNONSTATE_CONNECTED": 2, + "SIGNONSTATE_NEW": 3, + "SIGNONSTATE_PRESPAWN": 4, + "SIGNONSTATE_SPAWN": 5, + "SIGNONSTATE_FULL": 6, + "SIGNONSTATE_CHANGELEVEL": 7, + } +) + +func (x SignonStateT) Enum() *SignonStateT { + p := new(SignonStateT) + *p = x + return p +} + +func (x SignonStateT) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (SignonStateT) Descriptor() protoreflect.EnumDescriptor { + return file_networkbasetypes_proto_enumTypes[0].Descriptor() +} + +func (SignonStateT) Type() protoreflect.EnumType { + return &file_networkbasetypes_proto_enumTypes[0] +} + +func (x SignonStateT) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Do not use. +func (x *SignonStateT) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err + } + *x = SignonStateT(num) + return nil +} + +// Deprecated: Use SignonStateT.Descriptor instead. +func (SignonStateT) EnumDescriptor() ([]byte, []int) { + return file_networkbasetypes_proto_rawDescGZIP(), []int{0} +} + +type NET_Messages int32 + +const ( + NET_Messages_net_NOP NET_Messages = 0 + NET_Messages_net_Disconnect NET_Messages = 1 + 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_SpawnGroup_Load NET_Messages = 8 + NET_Messages_net_SpawnGroup_ManifestUpdate NET_Messages = 9 + NET_Messages_net_SpawnGroup_SetCreationTick NET_Messages = 11 + NET_Messages_net_SpawnGroup_Unload NET_Messages = 12 + NET_Messages_net_SpawnGroup_LoadCompleted NET_Messages = 13 +) + +// Enum value maps for NET_Messages. +var ( + NET_Messages_name = map[int32]string{ + 0: "net_NOP", + 1: "net_Disconnect", + 3: "net_SplitScreenUser", + 4: "net_Tick", + 5: "net_StringCmd", + 6: "net_SetConVar", + 7: "net_SignonState", + 8: "net_SpawnGroup_Load", + 9: "net_SpawnGroup_ManifestUpdate", + 11: "net_SpawnGroup_SetCreationTick", + 12: "net_SpawnGroup_Unload", + 13: "net_SpawnGroup_LoadCompleted", + } + NET_Messages_value = map[string]int32{ + "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, + } +) + +func (x NET_Messages) Enum() *NET_Messages { + p := new(NET_Messages) + *p = x + return p +} + +func (x NET_Messages) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (NET_Messages) Descriptor() protoreflect.EnumDescriptor { + return file_networkbasetypes_proto_enumTypes[1].Descriptor() +} + +func (NET_Messages) Type() protoreflect.EnumType { + return &file_networkbasetypes_proto_enumTypes[1] +} + +func (x NET_Messages) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Do not use. +func (x *NET_Messages) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err + } + *x = NET_Messages(num) + return nil +} + +// Deprecated: Use NET_Messages.Descriptor instead. +func (NET_Messages) EnumDescriptor() ([]byte, []int) { + return file_networkbasetypes_proto_rawDescGZIP(), []int{1} +} + +type SpawnGroupFlagsT int32 + +const ( + SpawnGroupFlagsT_SPAWN_GROUP_LOAD_ENTITIES_FROM_SAVE SpawnGroupFlagsT = 1 + SpawnGroupFlagsT_SPAWN_GROUP_DONT_SPAWN_ENTITIES SpawnGroupFlagsT = 2 + SpawnGroupFlagsT_SPAWN_GROUP_SYNCHRONOUS_SPAWN SpawnGroupFlagsT = 4 + SpawnGroupFlagsT_SPAWN_GROUP_IS_INITIAL_SPAWN_GROUP SpawnGroupFlagsT = 8 + SpawnGroupFlagsT_SPAWN_GROUP_CREATE_CLIENT_ONLY_ENTITIES SpawnGroupFlagsT = 16 + SpawnGroupFlagsT_SPAWN_GROUP_BLOCK_UNTIL_LOADED SpawnGroupFlagsT = 64 + SpawnGroupFlagsT_SPAWN_GROUP_LOAD_STREAMING_DATA SpawnGroupFlagsT = 128 + SpawnGroupFlagsT_SPAWN_GROUP_CREATE_NEW_SCENE_WORLD SpawnGroupFlagsT = 256 +) + +// Enum value maps for SpawnGroupFlagsT. +var ( + SpawnGroupFlagsT_name = map[int32]string{ + 1: "SPAWN_GROUP_LOAD_ENTITIES_FROM_SAVE", + 2: "SPAWN_GROUP_DONT_SPAWN_ENTITIES", + 4: "SPAWN_GROUP_SYNCHRONOUS_SPAWN", + 8: "SPAWN_GROUP_IS_INITIAL_SPAWN_GROUP", + 16: "SPAWN_GROUP_CREATE_CLIENT_ONLY_ENTITIES", + 64: "SPAWN_GROUP_BLOCK_UNTIL_LOADED", + 128: "SPAWN_GROUP_LOAD_STREAMING_DATA", + 256: "SPAWN_GROUP_CREATE_NEW_SCENE_WORLD", + } + SpawnGroupFlagsT_value = map[string]int32{ + "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, + } +) + +func (x SpawnGroupFlagsT) Enum() *SpawnGroupFlagsT { + p := new(SpawnGroupFlagsT) + *p = x + return p +} + +func (x SpawnGroupFlagsT) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (SpawnGroupFlagsT) Descriptor() protoreflect.EnumDescriptor { + return file_networkbasetypes_proto_enumTypes[2].Descriptor() +} + +func (SpawnGroupFlagsT) Type() protoreflect.EnumType { + return &file_networkbasetypes_proto_enumTypes[2] +} + +func (x SpawnGroupFlagsT) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Do not use. +func (x *SpawnGroupFlagsT) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err + } + *x = SpawnGroupFlagsT(num) + return nil +} + +// Deprecated: Use SpawnGroupFlagsT.Descriptor instead. +func (SpawnGroupFlagsT) EnumDescriptor() ([]byte, []int) { + return file_networkbasetypes_proto_rawDescGZIP(), []int{2} +} + +type CMsgVector struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + 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"` +} + +func (x *CMsgVector) Reset() { + *x = CMsgVector{} + if protoimpl.UnsafeEnabled { + mi := &file_networkbasetypes_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CMsgVector) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CMsgVector) ProtoMessage() {} + +func (x *CMsgVector) ProtoReflect() protoreflect.Message { + mi := &file_networkbasetypes_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CMsgVector.ProtoReflect.Descriptor instead. +func (*CMsgVector) Descriptor() ([]byte, []int) { + return file_networkbasetypes_proto_rawDescGZIP(), []int{0} +} + +func (x *CMsgVector) GetX() float32 { + if x != nil && x.X != nil { + return *x.X + } + return 0 +} + +func (x *CMsgVector) GetY() float32 { + if x != nil && x.Y != nil { + return *x.Y + } + return 0 +} + +func (x *CMsgVector) GetZ() float32 { + if x != nil && x.Z != nil { + return *x.Z + } + return 0 +} + +type CMsgVector2D struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + X *float32 `protobuf:"fixed32,1,opt,name=x" json:"x,omitempty"` + Y *float32 `protobuf:"fixed32,2,opt,name=y" json:"y,omitempty"` +} + +func (x *CMsgVector2D) Reset() { + *x = CMsgVector2D{} + if protoimpl.UnsafeEnabled { + mi := &file_networkbasetypes_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CMsgVector2D) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CMsgVector2D) ProtoMessage() {} + +func (x *CMsgVector2D) ProtoReflect() protoreflect.Message { + mi := &file_networkbasetypes_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CMsgVector2D.ProtoReflect.Descriptor instead. +func (*CMsgVector2D) Descriptor() ([]byte, []int) { + return file_networkbasetypes_proto_rawDescGZIP(), []int{1} +} + +func (x *CMsgVector2D) GetX() float32 { + if x != nil && x.X != nil { + return *x.X + } + return 0 +} + +func (x *CMsgVector2D) GetY() float32 { + if x != nil && x.Y != nil { + return *x.Y + } + return 0 +} + +type CMsgQAngle struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + 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"` +} + +func (x *CMsgQAngle) Reset() { + *x = CMsgQAngle{} + if protoimpl.UnsafeEnabled { + mi := &file_networkbasetypes_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CMsgQAngle) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CMsgQAngle) ProtoMessage() {} + +func (x *CMsgQAngle) ProtoReflect() protoreflect.Message { + mi := &file_networkbasetypes_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CMsgQAngle.ProtoReflect.Descriptor instead. +func (*CMsgQAngle) Descriptor() ([]byte, []int) { + return file_networkbasetypes_proto_rawDescGZIP(), []int{2} +} + +func (x *CMsgQAngle) GetX() float32 { + if x != nil && x.X != nil { + return *x.X + } + return 0 +} + +func (x *CMsgQAngle) GetY() float32 { + if x != nil && x.Y != nil { + return *x.Y + } + return 0 +} + +func (x *CMsgQAngle) GetZ() float32 { + if x != nil && x.Z != nil { + return *x.Z + } + return 0 +} + +type CMsgRGBA struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + 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 (x *CMsgRGBA) Reset() { + *x = CMsgRGBA{} + if protoimpl.UnsafeEnabled { + mi := &file_networkbasetypes_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CMsgRGBA) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CMsgRGBA) ProtoMessage() {} + +func (x *CMsgRGBA) ProtoReflect() protoreflect.Message { + mi := &file_networkbasetypes_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CMsgRGBA.ProtoReflect.Descriptor instead. +func (*CMsgRGBA) Descriptor() ([]byte, []int) { + return file_networkbasetypes_proto_rawDescGZIP(), []int{3} +} + +func (x *CMsgRGBA) GetR() int32 { + if x != nil && x.R != nil { + return *x.R + } + return 0 +} + +func (x *CMsgRGBA) GetG() int32 { + if x != nil && x.G != nil { + return *x.G + } + return 0 +} + +func (x *CMsgRGBA) GetB() int32 { + if x != nil && x.B != nil { + return *x.B + } + return 0 +} + +func (x *CMsgRGBA) GetA() int32 { + if x != nil && x.A != nil { + return *x.A + } + return 0 +} + +type CMsgPlayerInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"` + Xuid *uint64 `protobuf:"fixed64,2,opt,name=xuid" json:"xuid,omitempty"` + Userid *int32 `protobuf:"varint,3,opt,name=userid" json:"userid,omitempty"` + Steamid *uint64 `protobuf:"fixed64,4,opt,name=steamid" json:"steamid,omitempty"` + Fakeplayer *bool `protobuf:"varint,5,opt,name=fakeplayer" json:"fakeplayer,omitempty"` + Ishltv *bool `protobuf:"varint,6,opt,name=ishltv" json:"ishltv,omitempty"` +} + +func (x *CMsgPlayerInfo) Reset() { + *x = CMsgPlayerInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_networkbasetypes_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CMsgPlayerInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CMsgPlayerInfo) ProtoMessage() {} + +func (x *CMsgPlayerInfo) ProtoReflect() protoreflect.Message { + mi := &file_networkbasetypes_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 CMsgPlayerInfo.ProtoReflect.Descriptor instead. +func (*CMsgPlayerInfo) Descriptor() ([]byte, []int) { + return file_networkbasetypes_proto_rawDescGZIP(), []int{4} +} + +func (x *CMsgPlayerInfo) GetName() string { + if x != nil && x.Name != nil { + return *x.Name + } + return "" +} + +func (x *CMsgPlayerInfo) GetXuid() uint64 { + if x != nil && x.Xuid != nil { + return *x.Xuid + } + return 0 +} + +func (x *CMsgPlayerInfo) GetUserid() int32 { + if x != nil && x.Userid != nil { + return *x.Userid + } + return 0 +} + +func (x *CMsgPlayerInfo) GetSteamid() uint64 { + if x != nil && x.Steamid != nil { + return *x.Steamid + } + return 0 +} + +func (x *CMsgPlayerInfo) GetFakeplayer() bool { + if x != nil && x.Fakeplayer != nil { + return *x.Fakeplayer + } + return false +} + +func (x *CMsgPlayerInfo) GetIshltv() bool { + if x != nil && x.Ishltv != nil { + return *x.Ishltv + } + return false +} + +type CEntityMsg struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + TargetEntity *uint32 `protobuf:"varint,1,opt,name=target_entity,json=targetEntity" json:"target_entity,omitempty"` +} + +func (x *CEntityMsg) Reset() { + *x = CEntityMsg{} + if protoimpl.UnsafeEnabled { + mi := &file_networkbasetypes_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CEntityMsg) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CEntityMsg) ProtoMessage() {} + +func (x *CEntityMsg) ProtoReflect() protoreflect.Message { + mi := &file_networkbasetypes_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 CEntityMsg.ProtoReflect.Descriptor instead. +func (*CEntityMsg) Descriptor() ([]byte, []int) { + return file_networkbasetypes_proto_rawDescGZIP(), []int{5} +} + +func (x *CEntityMsg) GetTargetEntity() uint32 { + if x != nil && x.TargetEntity != nil { + return *x.TargetEntity + } + return 0 +} + +type CMsg_CVars struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Cvars []*CMsg_CVars_CVar `protobuf:"bytes,1,rep,name=cvars" json:"cvars,omitempty"` +} + +func (x *CMsg_CVars) Reset() { + *x = CMsg_CVars{} + if protoimpl.UnsafeEnabled { + mi := &file_networkbasetypes_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CMsg_CVars) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CMsg_CVars) ProtoMessage() {} + +func (x *CMsg_CVars) ProtoReflect() protoreflect.Message { + mi := &file_networkbasetypes_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 CMsg_CVars.ProtoReflect.Descriptor instead. +func (*CMsg_CVars) Descriptor() ([]byte, []int) { + return file_networkbasetypes_proto_rawDescGZIP(), []int{6} +} + +func (x *CMsg_CVars) GetCvars() []*CMsg_CVars_CVar { + if x != nil { + return x.Cvars + } + return nil +} + +type CNETMsg_NOP struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *CNETMsg_NOP) Reset() { + *x = CNETMsg_NOP{} + if protoimpl.UnsafeEnabled { + mi := &file_networkbasetypes_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CNETMsg_NOP) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CNETMsg_NOP) ProtoMessage() {} + +func (x *CNETMsg_NOP) ProtoReflect() protoreflect.Message { + mi := &file_networkbasetypes_proto_msgTypes[7] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CNETMsg_NOP.ProtoReflect.Descriptor instead. +func (*CNETMsg_NOP) Descriptor() ([]byte, []int) { + return file_networkbasetypes_proto_rawDescGZIP(), []int{7} +} + +type CNETMsg_SplitScreenUser struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Slot *int32 `protobuf:"varint,1,opt,name=slot" json:"slot,omitempty"` +} + +func (x *CNETMsg_SplitScreenUser) Reset() { + *x = CNETMsg_SplitScreenUser{} + if protoimpl.UnsafeEnabled { + mi := &file_networkbasetypes_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CNETMsg_SplitScreenUser) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CNETMsg_SplitScreenUser) ProtoMessage() {} + +func (x *CNETMsg_SplitScreenUser) ProtoReflect() protoreflect.Message { + mi := &file_networkbasetypes_proto_msgTypes[8] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CNETMsg_SplitScreenUser.ProtoReflect.Descriptor instead. +func (*CNETMsg_SplitScreenUser) Descriptor() ([]byte, []int) { + return file_networkbasetypes_proto_rawDescGZIP(), []int{8} +} + +func (x *CNETMsg_SplitScreenUser) GetSlot() int32 { + if x != nil && x.Slot != nil { + return *x.Slot + } + return 0 +} + +type CNETMsg_Disconnect struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Reason *ENetworkDisconnectionReason `protobuf:"varint,2,opt,name=reason,enum=ENetworkDisconnectionReason,def=0" json:"reason,omitempty"` +} + +// Default values for CNETMsg_Disconnect fields. +const ( + Default_CNETMsg_Disconnect_Reason = ENetworkDisconnectionReason_NETWORK_DISCONNECT_INVALID +) + +func (x *CNETMsg_Disconnect) Reset() { + *x = CNETMsg_Disconnect{} + if protoimpl.UnsafeEnabled { + mi := &file_networkbasetypes_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CNETMsg_Disconnect) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CNETMsg_Disconnect) ProtoMessage() {} + +func (x *CNETMsg_Disconnect) ProtoReflect() protoreflect.Message { + mi := &file_networkbasetypes_proto_msgTypes[9] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CNETMsg_Disconnect.ProtoReflect.Descriptor instead. +func (*CNETMsg_Disconnect) Descriptor() ([]byte, []int) { + return file_networkbasetypes_proto_rawDescGZIP(), []int{9} +} + +func (x *CNETMsg_Disconnect) GetReason() ENetworkDisconnectionReason { + if x != nil && x.Reason != nil { + return *x.Reason + } + return Default_CNETMsg_Disconnect_Reason +} + +type CNETMsg_Tick struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Tick *uint32 `protobuf:"varint,1,opt,name=tick" json:"tick,omitempty"` + HostFrametime *uint32 `protobuf:"varint,2,opt,name=host_frametime,json=hostFrametime" json:"host_frametime,omitempty"` + HostFrametimeStdDeviation *uint32 `protobuf:"varint,3,opt,name=host_frametime_std_deviation,json=hostFrametimeStdDeviation" json:"host_frametime_std_deviation,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"` + HostLoss *uint32 `protobuf:"varint,7,opt,name=host_loss,json=hostLoss" json:"host_loss,omitempty"` + HostUnfilteredFrametime *uint32 `protobuf:"varint,8,opt,name=host_unfiltered_frametime,json=hostUnfilteredFrametime" json:"host_unfiltered_frametime,omitempty"` + HltvReplayFlags *uint32 `protobuf:"varint,9,opt,name=hltv_replay_flags,json=hltvReplayFlags" json:"hltv_replay_flags,omitempty"` +} + +func (x *CNETMsg_Tick) Reset() { + *x = CNETMsg_Tick{} + if protoimpl.UnsafeEnabled { + mi := &file_networkbasetypes_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CNETMsg_Tick) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CNETMsg_Tick) ProtoMessage() {} + +func (x *CNETMsg_Tick) ProtoReflect() protoreflect.Message { + mi := &file_networkbasetypes_proto_msgTypes[10] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CNETMsg_Tick.ProtoReflect.Descriptor instead. +func (*CNETMsg_Tick) Descriptor() ([]byte, []int) { + return file_networkbasetypes_proto_rawDescGZIP(), []int{10} +} + +func (x *CNETMsg_Tick) GetTick() uint32 { + if x != nil && x.Tick != nil { + return *x.Tick + } + return 0 +} + +func (x *CNETMsg_Tick) GetHostFrametime() uint32 { + if x != nil && x.HostFrametime != nil { + return *x.HostFrametime + } + return 0 +} + +func (x *CNETMsg_Tick) GetHostFrametimeStdDeviation() uint32 { + if x != nil && x.HostFrametimeStdDeviation != nil { + return *x.HostFrametimeStdDeviation + } + return 0 +} + +func (x *CNETMsg_Tick) GetHostComputationtime() uint32 { + if x != nil && x.HostComputationtime != nil { + return *x.HostComputationtime + } + return 0 +} + +func (x *CNETMsg_Tick) GetHostComputationtimeStdDeviation() uint32 { + if x != nil && x.HostComputationtimeStdDeviation != nil { + return *x.HostComputationtimeStdDeviation + } + return 0 +} + +func (x *CNETMsg_Tick) GetHostFramestarttimeStdDeviation() uint32 { + if x != nil && x.HostFramestarttimeStdDeviation != nil { + return *x.HostFramestarttimeStdDeviation + } + return 0 +} + +func (x *CNETMsg_Tick) GetHostLoss() uint32 { + if x != nil && x.HostLoss != nil { + return *x.HostLoss + } + return 0 +} + +func (x *CNETMsg_Tick) GetHostUnfilteredFrametime() uint32 { + if x != nil && x.HostUnfilteredFrametime != nil { + return *x.HostUnfilteredFrametime + } + return 0 +} + +func (x *CNETMsg_Tick) GetHltvReplayFlags() uint32 { + if x != nil && x.HltvReplayFlags != nil { + return *x.HltvReplayFlags + } + return 0 +} + +type CNETMsg_StringCmd struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Command *string `protobuf:"bytes,1,opt,name=command" json:"command,omitempty"` +} + +func (x *CNETMsg_StringCmd) Reset() { + *x = CNETMsg_StringCmd{} + if protoimpl.UnsafeEnabled { + mi := &file_networkbasetypes_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CNETMsg_StringCmd) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CNETMsg_StringCmd) ProtoMessage() {} + +func (x *CNETMsg_StringCmd) ProtoReflect() protoreflect.Message { + mi := &file_networkbasetypes_proto_msgTypes[11] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CNETMsg_StringCmd.ProtoReflect.Descriptor instead. +func (*CNETMsg_StringCmd) Descriptor() ([]byte, []int) { + return file_networkbasetypes_proto_rawDescGZIP(), []int{11} +} + +func (x *CNETMsg_StringCmd) GetCommand() string { + if x != nil && x.Command != nil { + return *x.Command + } + return "" +} + +type CNETMsg_SetConVar struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Convars *CMsg_CVars `protobuf:"bytes,1,opt,name=convars" json:"convars,omitempty"` +} + +func (x *CNETMsg_SetConVar) Reset() { + *x = CNETMsg_SetConVar{} + if protoimpl.UnsafeEnabled { + mi := &file_networkbasetypes_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CNETMsg_SetConVar) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CNETMsg_SetConVar) ProtoMessage() {} + +func (x *CNETMsg_SetConVar) ProtoReflect() protoreflect.Message { + mi := &file_networkbasetypes_proto_msgTypes[12] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CNETMsg_SetConVar.ProtoReflect.Descriptor instead. +func (*CNETMsg_SetConVar) Descriptor() ([]byte, []int) { + return file_networkbasetypes_proto_rawDescGZIP(), []int{12} +} + +func (x *CNETMsg_SetConVar) GetConvars() *CMsg_CVars { + if x != nil { + return x.Convars + } + return nil +} + +type CNETMsg_SignonState struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + SignonState *SignonStateT `protobuf:"varint,1,opt,name=signon_state,json=signonState,enum=SignonStateT,def=0" 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"` + Addons *string `protobuf:"bytes,6,opt,name=addons" json:"addons,omitempty"` +} + +// Default values for CNETMsg_SignonState fields. +const ( + Default_CNETMsg_SignonState_SignonState = SignonStateT_SIGNONSTATE_NONE +) + +func (x *CNETMsg_SignonState) Reset() { + *x = CNETMsg_SignonState{} + if protoimpl.UnsafeEnabled { + mi := &file_networkbasetypes_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CNETMsg_SignonState) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CNETMsg_SignonState) ProtoMessage() {} + +func (x *CNETMsg_SignonState) ProtoReflect() protoreflect.Message { + mi := &file_networkbasetypes_proto_msgTypes[13] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CNETMsg_SignonState.ProtoReflect.Descriptor instead. +func (*CNETMsg_SignonState) Descriptor() ([]byte, []int) { + return file_networkbasetypes_proto_rawDescGZIP(), []int{13} +} + +func (x *CNETMsg_SignonState) GetSignonState() SignonStateT { + if x != nil && x.SignonState != nil { + return *x.SignonState + } + return Default_CNETMsg_SignonState_SignonState +} + +func (x *CNETMsg_SignonState) GetSpawnCount() uint32 { + if x != nil && x.SpawnCount != nil { + return *x.SpawnCount + } + return 0 +} + +func (x *CNETMsg_SignonState) GetNumServerPlayers() uint32 { + if x != nil && x.NumServerPlayers != nil { + return *x.NumServerPlayers + } + return 0 +} + +func (x *CNETMsg_SignonState) GetPlayersNetworkids() []string { + if x != nil { + return x.PlayersNetworkids + } + return nil +} + +func (x *CNETMsg_SignonState) GetMapName() string { + if x != nil && x.MapName != nil { + return *x.MapName + } + return "" +} + +func (x *CNETMsg_SignonState) GetAddons() string { + if x != nil && x.Addons != nil { + return *x.Addons + } + return "" +} + +type CSVCMsg_GameEvent 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"` +} + +func (x *CSVCMsg_GameEvent) Reset() { + *x = CSVCMsg_GameEvent{} + if protoimpl.UnsafeEnabled { + mi := &file_networkbasetypes_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CSVCMsg_GameEvent) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CSVCMsg_GameEvent) ProtoMessage() {} + +func (x *CSVCMsg_GameEvent) ProtoReflect() protoreflect.Message { + mi := &file_networkbasetypes_proto_msgTypes[14] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CSVCMsg_GameEvent.ProtoReflect.Descriptor instead. +func (*CSVCMsg_GameEvent) Descriptor() ([]byte, []int) { + return file_networkbasetypes_proto_rawDescGZIP(), []int{14} +} + +func (x *CSVCMsg_GameEvent) GetEventName() string { + if x != nil && x.EventName != nil { + return *x.EventName + } + return "" +} + +func (x *CSVCMsg_GameEvent) GetEventid() int32 { + if x != nil && x.Eventid != nil { + return *x.Eventid + } + return 0 +} + +func (x *CSVCMsg_GameEvent) GetKeys() []*CSVCMsg_GameEventKeyT { + if x != nil { + return x.Keys + } + return nil +} + +type CSVCMsgList_GameEvents struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Events []*CSVCMsgList_GameEventsEventT `protobuf:"bytes,1,rep,name=events" json:"events,omitempty"` +} + +func (x *CSVCMsgList_GameEvents) Reset() { + *x = CSVCMsgList_GameEvents{} + if protoimpl.UnsafeEnabled { + mi := &file_networkbasetypes_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CSVCMsgList_GameEvents) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CSVCMsgList_GameEvents) ProtoMessage() {} + +func (x *CSVCMsgList_GameEvents) ProtoReflect() protoreflect.Message { + mi := &file_networkbasetypes_proto_msgTypes[15] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CSVCMsgList_GameEvents.ProtoReflect.Descriptor instead. +func (*CSVCMsgList_GameEvents) Descriptor() ([]byte, []int) { + return file_networkbasetypes_proto_rawDescGZIP(), []int{15} +} + +func (x *CSVCMsgList_GameEvents) GetEvents() []*CSVCMsgList_GameEventsEventT { + if x != nil { + return x.Events + } + return nil +} + +type CNETMsg_SpawnGroup_Load struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Worldname *string `protobuf:"bytes,1,opt,name=worldname" json:"worldname,omitempty"` + Entitylumpname *string `protobuf:"bytes,2,opt,name=entitylumpname" json:"entitylumpname,omitempty"` + Entityfiltername *string `protobuf:"bytes,3,opt,name=entityfiltername" json:"entityfiltername,omitempty"` + Spawngrouphandle *uint32 `protobuf:"varint,4,opt,name=spawngrouphandle" json:"spawngrouphandle,omitempty"` + Spawngroupownerhandle *uint32 `protobuf:"varint,5,opt,name=spawngroupownerhandle" json:"spawngroupownerhandle,omitempty"` + WorldOffsetPos *CMsgVector `protobuf:"bytes,6,opt,name=world_offset_pos,json=worldOffsetPos" json:"world_offset_pos,omitempty"` + WorldOffsetAngle *CMsgQAngle `protobuf:"bytes,7,opt,name=world_offset_angle,json=worldOffsetAngle" json:"world_offset_angle,omitempty"` + Spawngroupmanifest []byte `protobuf:"bytes,8,opt,name=spawngroupmanifest" json:"spawngroupmanifest,omitempty"` + Flags *uint32 `protobuf:"varint,9,opt,name=flags" json:"flags,omitempty"` + Tickcount *int32 `protobuf:"varint,10,opt,name=tickcount" json:"tickcount,omitempty"` + Manifestincomplete *bool `protobuf:"varint,11,opt,name=manifestincomplete" json:"manifestincomplete,omitempty"` + Localnamefixup *string `protobuf:"bytes,12,opt,name=localnamefixup" json:"localnamefixup,omitempty"` + Parentnamefixup *string `protobuf:"bytes,13,opt,name=parentnamefixup" json:"parentnamefixup,omitempty"` + Manifestloadpriority *int32 `protobuf:"varint,14,opt,name=manifestloadpriority" json:"manifestloadpriority,omitempty"` + Worldgroupid *uint32 `protobuf:"varint,15,opt,name=worldgroupid" json:"worldgroupid,omitempty"` + Creationsequence *uint32 `protobuf:"varint,16,opt,name=creationsequence" json:"creationsequence,omitempty"` + Savegamefilename *string `protobuf:"bytes,17,opt,name=savegamefilename" json:"savegamefilename,omitempty"` + Spawngroupparenthandle *uint32 `protobuf:"varint,18,opt,name=spawngroupparenthandle" json:"spawngroupparenthandle,omitempty"` + Leveltransition *bool `protobuf:"varint,19,opt,name=leveltransition" json:"leveltransition,omitempty"` +} + +func (x *CNETMsg_SpawnGroup_Load) Reset() { + *x = CNETMsg_SpawnGroup_Load{} + if protoimpl.UnsafeEnabled { + mi := &file_networkbasetypes_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CNETMsg_SpawnGroup_Load) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CNETMsg_SpawnGroup_Load) ProtoMessage() {} + +func (x *CNETMsg_SpawnGroup_Load) ProtoReflect() protoreflect.Message { + mi := &file_networkbasetypes_proto_msgTypes[16] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CNETMsg_SpawnGroup_Load.ProtoReflect.Descriptor instead. +func (*CNETMsg_SpawnGroup_Load) Descriptor() ([]byte, []int) { + return file_networkbasetypes_proto_rawDescGZIP(), []int{16} +} + +func (x *CNETMsg_SpawnGroup_Load) GetWorldname() string { + if x != nil && x.Worldname != nil { + return *x.Worldname + } + return "" +} + +func (x *CNETMsg_SpawnGroup_Load) GetEntitylumpname() string { + if x != nil && x.Entitylumpname != nil { + return *x.Entitylumpname + } + return "" +} + +func (x *CNETMsg_SpawnGroup_Load) GetEntityfiltername() string { + if x != nil && x.Entityfiltername != nil { + return *x.Entityfiltername + } + return "" +} + +func (x *CNETMsg_SpawnGroup_Load) GetSpawngrouphandle() uint32 { + if x != nil && x.Spawngrouphandle != nil { + return *x.Spawngrouphandle + } + return 0 +} + +func (x *CNETMsg_SpawnGroup_Load) GetSpawngroupownerhandle() uint32 { + if x != nil && x.Spawngroupownerhandle != nil { + return *x.Spawngroupownerhandle + } + return 0 +} + +func (x *CNETMsg_SpawnGroup_Load) GetWorldOffsetPos() *CMsgVector { + if x != nil { + return x.WorldOffsetPos + } + return nil +} + +func (x *CNETMsg_SpawnGroup_Load) GetWorldOffsetAngle() *CMsgQAngle { + if x != nil { + return x.WorldOffsetAngle + } + return nil +} + +func (x *CNETMsg_SpawnGroup_Load) GetSpawngroupmanifest() []byte { + if x != nil { + return x.Spawngroupmanifest + } + return nil +} + +func (x *CNETMsg_SpawnGroup_Load) GetFlags() uint32 { + if x != nil && x.Flags != nil { + return *x.Flags + } + return 0 +} + +func (x *CNETMsg_SpawnGroup_Load) GetTickcount() int32 { + if x != nil && x.Tickcount != nil { + return *x.Tickcount + } + return 0 +} + +func (x *CNETMsg_SpawnGroup_Load) GetManifestincomplete() bool { + if x != nil && x.Manifestincomplete != nil { + return *x.Manifestincomplete + } + return false +} + +func (x *CNETMsg_SpawnGroup_Load) GetLocalnamefixup() string { + if x != nil && x.Localnamefixup != nil { + return *x.Localnamefixup + } + return "" +} + +func (x *CNETMsg_SpawnGroup_Load) GetParentnamefixup() string { + if x != nil && x.Parentnamefixup != nil { + return *x.Parentnamefixup + } + return "" +} + +func (x *CNETMsg_SpawnGroup_Load) GetManifestloadpriority() int32 { + if x != nil && x.Manifestloadpriority != nil { + return *x.Manifestloadpriority + } + return 0 +} + +func (x *CNETMsg_SpawnGroup_Load) GetWorldgroupid() uint32 { + if x != nil && x.Worldgroupid != nil { + return *x.Worldgroupid + } + return 0 +} + +func (x *CNETMsg_SpawnGroup_Load) GetCreationsequence() uint32 { + if x != nil && x.Creationsequence != nil { + return *x.Creationsequence + } + return 0 +} + +func (x *CNETMsg_SpawnGroup_Load) GetSavegamefilename() string { + if x != nil && x.Savegamefilename != nil { + return *x.Savegamefilename + } + return "" +} + +func (x *CNETMsg_SpawnGroup_Load) GetSpawngroupparenthandle() uint32 { + if x != nil && x.Spawngroupparenthandle != nil { + return *x.Spawngroupparenthandle + } + return 0 +} + +func (x *CNETMsg_SpawnGroup_Load) GetLeveltransition() bool { + if x != nil && x.Leveltransition != nil { + return *x.Leveltransition + } + return false +} + +type CNETMsg_SpawnGroup_ManifestUpdate struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Spawngrouphandle *uint32 `protobuf:"varint,1,opt,name=spawngrouphandle" json:"spawngrouphandle,omitempty"` + Spawngroupmanifest []byte `protobuf:"bytes,2,opt,name=spawngroupmanifest" json:"spawngroupmanifest,omitempty"` + Manifestincomplete *bool `protobuf:"varint,3,opt,name=manifestincomplete" json:"manifestincomplete,omitempty"` +} + +func (x *CNETMsg_SpawnGroup_ManifestUpdate) Reset() { + *x = CNETMsg_SpawnGroup_ManifestUpdate{} + if protoimpl.UnsafeEnabled { + mi := &file_networkbasetypes_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CNETMsg_SpawnGroup_ManifestUpdate) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CNETMsg_SpawnGroup_ManifestUpdate) ProtoMessage() {} + +func (x *CNETMsg_SpawnGroup_ManifestUpdate) ProtoReflect() protoreflect.Message { + mi := &file_networkbasetypes_proto_msgTypes[17] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CNETMsg_SpawnGroup_ManifestUpdate.ProtoReflect.Descriptor instead. +func (*CNETMsg_SpawnGroup_ManifestUpdate) Descriptor() ([]byte, []int) { + return file_networkbasetypes_proto_rawDescGZIP(), []int{17} +} + +func (x *CNETMsg_SpawnGroup_ManifestUpdate) GetSpawngrouphandle() uint32 { + if x != nil && x.Spawngrouphandle != nil { + return *x.Spawngrouphandle + } + return 0 +} + +func (x *CNETMsg_SpawnGroup_ManifestUpdate) GetSpawngroupmanifest() []byte { + if x != nil { + return x.Spawngroupmanifest + } + return nil +} + +func (x *CNETMsg_SpawnGroup_ManifestUpdate) GetManifestincomplete() bool { + if x != nil && x.Manifestincomplete != nil { + return *x.Manifestincomplete + } + return false +} + +type CNETMsg_SpawnGroup_SetCreationTick struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Spawngrouphandle *uint32 `protobuf:"varint,1,opt,name=spawngrouphandle" json:"spawngrouphandle,omitempty"` + Tickcount *int32 `protobuf:"varint,2,opt,name=tickcount" json:"tickcount,omitempty"` + Creationsequence *uint32 `protobuf:"varint,3,opt,name=creationsequence" json:"creationsequence,omitempty"` +} + +func (x *CNETMsg_SpawnGroup_SetCreationTick) Reset() { + *x = CNETMsg_SpawnGroup_SetCreationTick{} + if protoimpl.UnsafeEnabled { + mi := &file_networkbasetypes_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CNETMsg_SpawnGroup_SetCreationTick) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CNETMsg_SpawnGroup_SetCreationTick) ProtoMessage() {} + +func (x *CNETMsg_SpawnGroup_SetCreationTick) ProtoReflect() protoreflect.Message { + mi := &file_networkbasetypes_proto_msgTypes[18] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CNETMsg_SpawnGroup_SetCreationTick.ProtoReflect.Descriptor instead. +func (*CNETMsg_SpawnGroup_SetCreationTick) Descriptor() ([]byte, []int) { + return file_networkbasetypes_proto_rawDescGZIP(), []int{18} +} + +func (x *CNETMsg_SpawnGroup_SetCreationTick) GetSpawngrouphandle() uint32 { + if x != nil && x.Spawngrouphandle != nil { + return *x.Spawngrouphandle + } + return 0 +} + +func (x *CNETMsg_SpawnGroup_SetCreationTick) GetTickcount() int32 { + if x != nil && x.Tickcount != nil { + return *x.Tickcount + } + return 0 +} + +func (x *CNETMsg_SpawnGroup_SetCreationTick) GetCreationsequence() uint32 { + if x != nil && x.Creationsequence != nil { + return *x.Creationsequence + } + return 0 +} + +type CNETMsg_SpawnGroup_Unload struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Spawngrouphandle *uint32 `protobuf:"varint,1,opt,name=spawngrouphandle" json:"spawngrouphandle,omitempty"` + Flags *uint32 `protobuf:"varint,2,opt,name=flags" json:"flags,omitempty"` + Tickcount *int32 `protobuf:"varint,3,opt,name=tickcount" json:"tickcount,omitempty"` +} + +func (x *CNETMsg_SpawnGroup_Unload) Reset() { + *x = CNETMsg_SpawnGroup_Unload{} + if protoimpl.UnsafeEnabled { + mi := &file_networkbasetypes_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CNETMsg_SpawnGroup_Unload) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CNETMsg_SpawnGroup_Unload) ProtoMessage() {} + +func (x *CNETMsg_SpawnGroup_Unload) ProtoReflect() protoreflect.Message { + mi := &file_networkbasetypes_proto_msgTypes[19] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CNETMsg_SpawnGroup_Unload.ProtoReflect.Descriptor instead. +func (*CNETMsg_SpawnGroup_Unload) Descriptor() ([]byte, []int) { + return file_networkbasetypes_proto_rawDescGZIP(), []int{19} +} + +func (x *CNETMsg_SpawnGroup_Unload) GetSpawngrouphandle() uint32 { + if x != nil && x.Spawngrouphandle != nil { + return *x.Spawngrouphandle + } + return 0 +} + +func (x *CNETMsg_SpawnGroup_Unload) GetFlags() uint32 { + if x != nil && x.Flags != nil { + return *x.Flags + } + return 0 +} + +func (x *CNETMsg_SpawnGroup_Unload) GetTickcount() int32 { + if x != nil && x.Tickcount != nil { + return *x.Tickcount + } + return 0 +} + +type CNETMsg_SpawnGroup_LoadCompleted struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Spawngrouphandle *uint32 `protobuf:"varint,1,opt,name=spawngrouphandle" json:"spawngrouphandle,omitempty"` +} + +func (x *CNETMsg_SpawnGroup_LoadCompleted) Reset() { + *x = CNETMsg_SpawnGroup_LoadCompleted{} + if protoimpl.UnsafeEnabled { + mi := &file_networkbasetypes_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CNETMsg_SpawnGroup_LoadCompleted) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CNETMsg_SpawnGroup_LoadCompleted) ProtoMessage() {} + +func (x *CNETMsg_SpawnGroup_LoadCompleted) ProtoReflect() protoreflect.Message { + mi := &file_networkbasetypes_proto_msgTypes[20] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CNETMsg_SpawnGroup_LoadCompleted.ProtoReflect.Descriptor instead. +func (*CNETMsg_SpawnGroup_LoadCompleted) Descriptor() ([]byte, []int) { + return file_networkbasetypes_proto_rawDescGZIP(), []int{20} +} + +func (x *CNETMsg_SpawnGroup_LoadCompleted) GetSpawngrouphandle() uint32 { + if x != nil && x.Spawngrouphandle != nil { + return *x.Spawngrouphandle + } + return 0 +} + +type CSVCMsg_GameSessionConfiguration struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + IsMultiplayer *bool `protobuf:"varint,1,opt,name=is_multiplayer,json=isMultiplayer" json:"is_multiplayer,omitempty"` + IsLoadsavegame *bool `protobuf:"varint,2,opt,name=is_loadsavegame,json=isLoadsavegame" json:"is_loadsavegame,omitempty"` + IsBackgroundMap *bool `protobuf:"varint,3,opt,name=is_background_map,json=isBackgroundMap" json:"is_background_map,omitempty"` + IsHeadless *bool `protobuf:"varint,4,opt,name=is_headless,json=isHeadless" json:"is_headless,omitempty"` + MinClientLimit *uint32 `protobuf:"varint,5,opt,name=min_client_limit,json=minClientLimit" json:"min_client_limit,omitempty"` + MaxClientLimit *uint32 `protobuf:"varint,6,opt,name=max_client_limit,json=maxClientLimit" json:"max_client_limit,omitempty"` + MaxClients *uint32 `protobuf:"varint,7,opt,name=max_clients,json=maxClients" json:"max_clients,omitempty"` + TickInterval *uint32 `protobuf:"fixed32,8,opt,name=tick_interval,json=tickInterval" json:"tick_interval,omitempty"` + Hostname *string `protobuf:"bytes,9,opt,name=hostname" json:"hostname,omitempty"` + Savegamename *string `protobuf:"bytes,10,opt,name=savegamename" json:"savegamename,omitempty"` + S1Mapname *string `protobuf:"bytes,11,opt,name=s1_mapname,json=s1Mapname" json:"s1_mapname,omitempty"` + Gamemode *string `protobuf:"bytes,12,opt,name=gamemode" json:"gamemode,omitempty"` + ServerIpAddress *string `protobuf:"bytes,13,opt,name=server_ip_address,json=serverIpAddress" json:"server_ip_address,omitempty"` + Data []byte `protobuf:"bytes,14,opt,name=data" json:"data,omitempty"` + IsLocalonly *bool `protobuf:"varint,15,opt,name=is_localonly,json=isLocalonly" json:"is_localonly,omitempty"` + NoSteamServer *bool `protobuf:"varint,19,opt,name=no_steam_server,json=noSteamServer" json:"no_steam_server,omitempty"` + IsTransition *bool `protobuf:"varint,16,opt,name=is_transition,json=isTransition" json:"is_transition,omitempty"` + Previouslevel *string `protobuf:"bytes,17,opt,name=previouslevel" json:"previouslevel,omitempty"` + Landmarkname *string `protobuf:"bytes,18,opt,name=landmarkname" json:"landmarkname,omitempty"` +} + +func (x *CSVCMsg_GameSessionConfiguration) Reset() { + *x = CSVCMsg_GameSessionConfiguration{} + if protoimpl.UnsafeEnabled { + mi := &file_networkbasetypes_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CSVCMsg_GameSessionConfiguration) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CSVCMsg_GameSessionConfiguration) ProtoMessage() {} + +func (x *CSVCMsg_GameSessionConfiguration) ProtoReflect() protoreflect.Message { + mi := &file_networkbasetypes_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 CSVCMsg_GameSessionConfiguration.ProtoReflect.Descriptor instead. +func (*CSVCMsg_GameSessionConfiguration) Descriptor() ([]byte, []int) { + return file_networkbasetypes_proto_rawDescGZIP(), []int{21} +} + +func (x *CSVCMsg_GameSessionConfiguration) GetIsMultiplayer() bool { + if x != nil && x.IsMultiplayer != nil { + return *x.IsMultiplayer + } + return false +} + +func (x *CSVCMsg_GameSessionConfiguration) GetIsLoadsavegame() bool { + if x != nil && x.IsLoadsavegame != nil { + return *x.IsLoadsavegame + } + return false +} + +func (x *CSVCMsg_GameSessionConfiguration) GetIsBackgroundMap() bool { + if x != nil && x.IsBackgroundMap != nil { + return *x.IsBackgroundMap + } + return false +} + +func (x *CSVCMsg_GameSessionConfiguration) GetIsHeadless() bool { + if x != nil && x.IsHeadless != nil { + return *x.IsHeadless + } + return false +} + +func (x *CSVCMsg_GameSessionConfiguration) GetMinClientLimit() uint32 { + if x != nil && x.MinClientLimit != nil { + return *x.MinClientLimit + } + return 0 +} + +func (x *CSVCMsg_GameSessionConfiguration) GetMaxClientLimit() uint32 { + if x != nil && x.MaxClientLimit != nil { + return *x.MaxClientLimit + } + return 0 +} + +func (x *CSVCMsg_GameSessionConfiguration) GetMaxClients() uint32 { + if x != nil && x.MaxClients != nil { + return *x.MaxClients + } + return 0 +} + +func (x *CSVCMsg_GameSessionConfiguration) GetTickInterval() uint32 { + if x != nil && x.TickInterval != nil { + return *x.TickInterval + } + return 0 +} + +func (x *CSVCMsg_GameSessionConfiguration) GetHostname() string { + if x != nil && x.Hostname != nil { + return *x.Hostname + } + return "" +} + +func (x *CSVCMsg_GameSessionConfiguration) GetSavegamename() string { + if x != nil && x.Savegamename != nil { + return *x.Savegamename + } + return "" +} + +func (x *CSVCMsg_GameSessionConfiguration) GetS1Mapname() string { + if x != nil && x.S1Mapname != nil { + return *x.S1Mapname + } + return "" +} + +func (x *CSVCMsg_GameSessionConfiguration) GetGamemode() string { + if x != nil && x.Gamemode != nil { + return *x.Gamemode + } + return "" +} + +func (x *CSVCMsg_GameSessionConfiguration) GetServerIpAddress() string { + if x != nil && x.ServerIpAddress != nil { + return *x.ServerIpAddress + } + return "" +} + +func (x *CSVCMsg_GameSessionConfiguration) GetData() []byte { + if x != nil { + return x.Data + } + return nil +} + +func (x *CSVCMsg_GameSessionConfiguration) GetIsLocalonly() bool { + if x != nil && x.IsLocalonly != nil { + return *x.IsLocalonly + } + return false +} + +func (x *CSVCMsg_GameSessionConfiguration) GetNoSteamServer() bool { + if x != nil && x.NoSteamServer != nil { + return *x.NoSteamServer + } + return false +} + +func (x *CSVCMsg_GameSessionConfiguration) GetIsTransition() bool { + if x != nil && x.IsTransition != nil { + return *x.IsTransition + } + return false +} + +func (x *CSVCMsg_GameSessionConfiguration) GetPreviouslevel() string { + if x != nil && x.Previouslevel != nil { + return *x.Previouslevel + } + return "" +} + +func (x *CSVCMsg_GameSessionConfiguration) GetLandmarkname() string { + if x != nil && x.Landmarkname != nil { + return *x.Landmarkname + } + return "" +} + +type CMsg_CVars_CVar 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"` +} + +func (x *CMsg_CVars_CVar) Reset() { + *x = CMsg_CVars_CVar{} + if protoimpl.UnsafeEnabled { + mi := &file_networkbasetypes_proto_msgTypes[22] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CMsg_CVars_CVar) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CMsg_CVars_CVar) ProtoMessage() {} + +func (x *CMsg_CVars_CVar) ProtoReflect() protoreflect.Message { + mi := &file_networkbasetypes_proto_msgTypes[22] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CMsg_CVars_CVar.ProtoReflect.Descriptor instead. +func (*CMsg_CVars_CVar) Descriptor() ([]byte, []int) { + return file_networkbasetypes_proto_rawDescGZIP(), []int{6, 0} +} + +func (x *CMsg_CVars_CVar) GetName() string { + if x != nil && x.Name != nil { + return *x.Name + } + return "" +} + +func (x *CMsg_CVars_CVar) GetValue() string { + if x != nil && x.Value != nil { + return *x.Value + } + return "" +} + +type CSVCMsg_GameEventKeyT 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"` +} + +func (x *CSVCMsg_GameEventKeyT) Reset() { + *x = CSVCMsg_GameEventKeyT{} + if protoimpl.UnsafeEnabled { + mi := &file_networkbasetypes_proto_msgTypes[23] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CSVCMsg_GameEventKeyT) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CSVCMsg_GameEventKeyT) ProtoMessage() {} + +func (x *CSVCMsg_GameEventKeyT) ProtoReflect() protoreflect.Message { + mi := &file_networkbasetypes_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_GameEventKeyT.ProtoReflect.Descriptor instead. +func (*CSVCMsg_GameEventKeyT) Descriptor() ([]byte, []int) { + return file_networkbasetypes_proto_rawDescGZIP(), []int{14, 0} +} + +func (x *CSVCMsg_GameEventKeyT) 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 + } + return "" +} + +func (x *CSVCMsg_GameEventKeyT) GetValFloat() float32 { + if x != nil && x.ValFloat != nil { + return *x.ValFloat + } + return 0 +} + +func (x *CSVCMsg_GameEventKeyT) GetValLong() int32 { + if x != nil && x.ValLong != nil { + return *x.ValLong + } + return 0 +} + +func (x *CSVCMsg_GameEventKeyT) GetValShort() int32 { + if x != nil && x.ValShort != nil { + return *x.ValShort + } + return 0 +} + +func (x *CSVCMsg_GameEventKeyT) GetValByte() int32 { + if x != nil && x.ValByte != nil { + return *x.ValByte + } + return 0 +} + +func (x *CSVCMsg_GameEventKeyT) GetValBool() bool { + if x != nil && x.ValBool != nil { + return *x.ValBool + } + return false +} + +func (x *CSVCMsg_GameEventKeyT) GetValUint64() uint64 { + if x != nil && x.ValUint64 != nil { + return *x.ValUint64 + } + return 0 +} + +type CSVCMsgList_GameEventsEventT struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Tick *int32 `protobuf:"varint,1,opt,name=tick" json:"tick,omitempty"` + Event *CSVCMsg_GameEvent `protobuf:"bytes,2,opt,name=event" json:"event,omitempty"` +} + +func (x *CSVCMsgList_GameEventsEventT) Reset() { + *x = CSVCMsgList_GameEventsEventT{} + if protoimpl.UnsafeEnabled { + mi := &file_networkbasetypes_proto_msgTypes[24] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CSVCMsgList_GameEventsEventT) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CSVCMsgList_GameEventsEventT) ProtoMessage() {} + +func (x *CSVCMsgList_GameEventsEventT) ProtoReflect() protoreflect.Message { + mi := &file_networkbasetypes_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 CSVCMsgList_GameEventsEventT.ProtoReflect.Descriptor instead. +func (*CSVCMsgList_GameEventsEventT) Descriptor() ([]byte, []int) { + return file_networkbasetypes_proto_rawDescGZIP(), []int{15, 0} +} + +func (x *CSVCMsgList_GameEventsEventT) GetTick() int32 { + if x != nil && x.Tick != nil { + return *x.Tick + } + return 0 +} + +func (x *CSVCMsgList_GameEventsEventT) GetEvent() *CSVCMsg_GameEvent { + if x != nil { + return x.Event + } + return nil +} + +var File_networkbasetypes_proto protoreflect.FileDescriptor + +var file_networkbasetypes_proto_rawDesc = []byte{ + 0x0a, 0x16, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x62, 0x61, 0x73, 0x65, 0x74, 0x79, 0x70, + 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x18, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 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, 0xa2, 0x01, 0x0a, 0x0e, 0x43, 0x4d, 0x73, 0x67, 0x50, 0x6c, 0x61, 0x79, 0x65, + 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x78, 0x75, 0x69, + 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x06, 0x52, 0x04, 0x78, 0x75, 0x69, 0x64, 0x12, 0x16, 0x0a, + 0x06, 0x75, 0x73, 0x65, 0x72, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x75, + 0x73, 0x65, 0x72, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x06, 0x52, 0x07, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x12, + 0x1e, 0x0a, 0x0a, 0x66, 0x61, 0x6b, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x0a, 0x66, 0x61, 0x6b, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x12, + 0x16, 0x0a, 0x06, 0x69, 0x73, 0x68, 0x6c, 0x74, 0x76, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x06, 0x69, 0x73, 0x68, 0x6c, 0x74, 0x76, 0x22, 0x31, 0x0a, 0x0a, 0x43, 0x45, 0x6e, 0x74, 0x69, + 0x74, 0x79, 0x4d, 0x73, 0x67, 0x12, 0x23, 0x0a, 0x0d, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, + 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x74, 0x61, + 0x72, 0x67, 0x65, 0x74, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x22, 0x66, 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, 0x30, 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, 0x22, 0x0d, 0x0a, 0x0b, 0x43, 0x4e, 0x45, 0x54, 0x4d, 0x73, 0x67, 0x5f, 0x4e, 0x4f, + 0x50, 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, 0x66, 0x0a, 0x12, 0x43, 0x4e, 0x45, 0x54, 0x4d, 0x73, 0x67, 0x5f, 0x44, 0x69, 0x73, 0x63, + 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x12, 0x50, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x45, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, + 0x61, 0x73, 0x6f, 0x6e, 0x3a, 0x1a, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x44, 0x49, + 0x53, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, + 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x22, 0xda, 0x03, 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, 0x25, 0x0a, + 0x0e, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x68, 0x6f, 0x73, 0x74, 0x46, 0x72, 0x61, 0x6d, 0x65, + 0x74, 0x69, 0x6d, 0x65, 0x12, 0x3f, 0x0a, 0x1c, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x66, 0x72, 0x61, + 0x6d, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x74, 0x64, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x19, 0x68, 0x6f, 0x73, 0x74, + 0x46, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x53, 0x74, 0x64, 0x44, 0x65, 0x76, 0x69, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 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, 0x1b, 0x0a, 0x09, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x6c, 0x6f, 0x73, 0x73, 0x18, 0x07, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x4c, 0x6f, 0x73, 0x73, 0x12, 0x3a, 0x0a, + 0x19, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x75, 0x6e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x65, 0x64, + 0x5f, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x17, 0x68, 0x6f, 0x73, 0x74, 0x55, 0x6e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x65, 0x64, + 0x46, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x68, 0x6c, 0x74, + 0x76, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x09, + 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, 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, 0x8b, 0x02, 0x0a, 0x13, 0x43, 0x4e, 0x45, 0x54, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x69, 0x67, + 0x6e, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x43, 0x0a, 0x0c, 0x73, 0x69, 0x67, 0x6e, + 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0e, + 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x3a, 0x10, + 0x53, 0x49, 0x47, 0x4e, 0x4f, 0x4e, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, + 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, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x64, 0x64, 0x6f, 0x6e, 0x73, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x64, 0x64, 0x6f, 0x6e, 0x73, 0x22, 0xe1, + 0x02, 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, 0x1a, 0xe4, 0x01, 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, 0x22, 0x9a, 0x01, 0x0a, 0x16, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x4c, 0x69, + 0x73, 0x74, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x37, 0x0a, + 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, + 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x5f, 0x47, 0x61, 0x6d, 0x65, + 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x52, 0x06, + 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x1a, 0x47, 0x0a, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, + 0x74, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x69, 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x04, 0x74, 0x69, 0x63, 0x6b, 0x12, 0x28, 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x47, + 0x61, 0x6d, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x22, + 0xd7, 0x06, 0x0a, 0x17, 0x43, 0x4e, 0x45, 0x54, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x70, 0x61, 0x77, + 0x6e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x4c, 0x6f, 0x61, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x77, + 0x6f, 0x72, 0x6c, 0x64, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, + 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x65, 0x6e, 0x74, + 0x69, 0x74, 0x79, 0x6c, 0x75, 0x6d, 0x70, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0e, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x6c, 0x75, 0x6d, 0x70, 0x6e, 0x61, 0x6d, + 0x65, 0x12, 0x2a, 0x0a, 0x10, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x66, 0x69, 0x6c, 0x74, 0x65, + 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x65, 0x6e, 0x74, + 0x69, 0x74, 0x79, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2a, 0x0a, + 0x10, 0x73, 0x70, 0x61, 0x77, 0x6e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x68, 0x61, 0x6e, 0x64, 0x6c, + 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x73, 0x70, 0x61, 0x77, 0x6e, 0x67, 0x72, + 0x6f, 0x75, 0x70, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x12, 0x34, 0x0a, 0x15, 0x73, 0x70, 0x61, + 0x77, 0x6e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x68, 0x61, 0x6e, 0x64, + 0x6c, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x15, 0x73, 0x70, 0x61, 0x77, 0x6e, 0x67, + 0x72, 0x6f, 0x75, 0x70, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x12, + 0x35, 0x0a, 0x10, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x5f, + 0x70, 0x6f, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x43, 0x4d, 0x73, 0x67, + 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x0e, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x4f, 0x66, 0x66, + 0x73, 0x65, 0x74, 0x50, 0x6f, 0x73, 0x12, 0x39, 0x0a, 0x12, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x5f, + 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x5f, 0x61, 0x6e, 0x67, 0x6c, 0x65, 0x18, 0x07, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x51, 0x41, 0x6e, 0x67, 0x6c, 0x65, 0x52, + 0x10, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x41, 0x6e, 0x67, 0x6c, + 0x65, 0x12, 0x2e, 0x0a, 0x12, 0x73, 0x70, 0x61, 0x77, 0x6e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x6d, + 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x12, 0x73, + 0x70, 0x61, 0x77, 0x6e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x6d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, + 0x74, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x63, 0x6b, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x74, 0x69, 0x63, 0x6b, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2e, 0x0a, 0x12, 0x6d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, + 0x74, 0x69, 0x6e, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x12, 0x6d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x63, 0x6f, 0x6d, + 0x70, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x6e, 0x61, + 0x6d, 0x65, 0x66, 0x69, 0x78, 0x75, 0x70, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6c, + 0x6f, 0x63, 0x61, 0x6c, 0x6e, 0x61, 0x6d, 0x65, 0x66, 0x69, 0x78, 0x75, 0x70, 0x12, 0x28, 0x0a, + 0x0f, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x66, 0x69, 0x78, 0x75, 0x70, + 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x6e, 0x61, + 0x6d, 0x65, 0x66, 0x69, 0x78, 0x75, 0x70, 0x12, 0x32, 0x0a, 0x14, 0x6d, 0x61, 0x6e, 0x69, 0x66, + 0x65, 0x73, 0x74, 0x6c, 0x6f, 0x61, 0x64, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, + 0x0e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x14, 0x6d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, 0x6c, + 0x6f, 0x61, 0x64, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x22, 0x0a, 0x0c, 0x77, + 0x6f, 0x72, 0x6c, 0x64, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x69, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x0c, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x69, 0x64, 0x12, + 0x2a, 0x0a, 0x10, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x65, 0x71, 0x75, 0x65, + 0x6e, 0x63, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x10, 0x73, + 0x61, 0x76, 0x65, 0x67, 0x61, 0x6d, 0x65, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x73, 0x61, 0x76, 0x65, 0x67, 0x61, 0x6d, 0x65, 0x66, + 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x36, 0x0a, 0x16, 0x73, 0x70, 0x61, 0x77, 0x6e, + 0x67, 0x72, 0x6f, 0x75, 0x70, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x68, 0x61, 0x6e, 0x64, 0x6c, + 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x16, 0x73, 0x70, 0x61, 0x77, 0x6e, 0x67, 0x72, + 0x6f, 0x75, 0x70, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x12, + 0x28, 0x0a, 0x0f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x13, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x74, + 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xaf, 0x01, 0x0a, 0x21, 0x43, 0x4e, + 0x45, 0x54, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x70, 0x61, 0x77, 0x6e, 0x47, 0x72, 0x6f, 0x75, 0x70, + 0x5f, 0x4d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, + 0x2a, 0x0a, 0x10, 0x73, 0x70, 0x61, 0x77, 0x6e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x68, 0x61, 0x6e, + 0x64, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x73, 0x70, 0x61, 0x77, 0x6e, + 0x67, 0x72, 0x6f, 0x75, 0x70, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x12, 0x2e, 0x0a, 0x12, 0x73, + 0x70, 0x61, 0x77, 0x6e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x6d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, + 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x12, 0x73, 0x70, 0x61, 0x77, 0x6e, 0x67, 0x72, + 0x6f, 0x75, 0x70, 0x6d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, 0x12, 0x2e, 0x0a, 0x12, 0x6d, + 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, + 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x6d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, + 0x74, 0x69, 0x6e, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x22, 0x9a, 0x01, 0x0a, 0x22, + 0x43, 0x4e, 0x45, 0x54, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x70, 0x61, 0x77, 0x6e, 0x47, 0x72, 0x6f, + 0x75, 0x70, 0x5f, 0x53, 0x65, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, + 0x63, 0x6b, 0x12, 0x2a, 0x0a, 0x10, 0x73, 0x70, 0x61, 0x77, 0x6e, 0x67, 0x72, 0x6f, 0x75, 0x70, + 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x73, 0x70, + 0x61, 0x77, 0x6e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x12, 0x1c, + 0x0a, 0x09, 0x74, 0x69, 0x63, 0x6b, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x09, 0x74, 0x69, 0x63, 0x6b, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2a, 0x0a, 0x10, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x22, 0x7b, 0x0a, 0x19, 0x43, 0x4e, 0x45, 0x54, + 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x70, 0x61, 0x77, 0x6e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x55, + 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x2a, 0x0a, 0x10, 0x73, 0x70, 0x61, 0x77, 0x6e, 0x67, 0x72, + 0x6f, 0x75, 0x70, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x10, 0x73, 0x70, 0x61, 0x77, 0x6e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x68, 0x61, 0x6e, 0x64, 0x6c, + 0x65, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x63, 0x6b, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x74, 0x69, 0x63, 0x6b, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x4e, 0x0a, 0x20, 0x43, 0x4e, 0x45, 0x54, 0x4d, 0x73, 0x67, + 0x5f, 0x53, 0x70, 0x61, 0x77, 0x6e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x4c, 0x6f, 0x61, 0x64, + 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x12, 0x2a, 0x0a, 0x10, 0x73, 0x70, 0x61, + 0x77, 0x6e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x10, 0x73, 0x70, 0x61, 0x77, 0x6e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x68, + 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x22, 0xce, 0x05, 0x0a, 0x20, 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, 0x12, 0x25, 0x0a, 0x0e, 0x69, 0x73, + 0x5f, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x0d, 0x69, 0x73, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x61, 0x79, 0x65, + 0x72, 0x12, 0x27, 0x0a, 0x0f, 0x69, 0x73, 0x5f, 0x6c, 0x6f, 0x61, 0x64, 0x73, 0x61, 0x76, 0x65, + 0x67, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x69, 0x73, 0x4c, 0x6f, + 0x61, 0x64, 0x73, 0x61, 0x76, 0x65, 0x67, 0x61, 0x6d, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x69, 0x73, + 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x6d, 0x61, 0x70, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x69, 0x73, 0x42, 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, + 0x75, 0x6e, 0x64, 0x4d, 0x61, 0x70, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x73, 0x5f, 0x68, 0x65, 0x61, + 0x64, 0x6c, 0x65, 0x73, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x73, 0x48, + 0x65, 0x61, 0x64, 0x6c, 0x65, 0x73, 0x73, 0x12, 0x28, 0x0a, 0x10, 0x6d, 0x69, 0x6e, 0x5f, 0x63, + 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x0e, 0x6d, 0x69, 0x6e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x6d, 0x69, + 0x74, 0x12, 0x28, 0x0a, 0x10, 0x6d, 0x61, 0x78, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, + 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x6d, 0x61, 0x78, + 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, + 0x61, 0x78, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x23, 0x0a, 0x0d, + 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x08, 0x20, + 0x01, 0x28, 0x07, 0x52, 0x0c, 0x74, 0x69, 0x63, 0x6b, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, + 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x09, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, + 0x0c, 0x73, 0x61, 0x76, 0x65, 0x67, 0x61, 0x6d, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0a, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x61, 0x76, 0x65, 0x67, 0x61, 0x6d, 0x65, 0x6e, 0x61, 0x6d, + 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x31, 0x5f, 0x6d, 0x61, 0x70, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x31, 0x4d, 0x61, 0x70, 0x6e, 0x61, 0x6d, 0x65, + 0x12, 0x1a, 0x0a, 0x08, 0x67, 0x61, 0x6d, 0x65, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x0c, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x67, 0x61, 0x6d, 0x65, 0x6d, 0x6f, 0x64, 0x65, 0x12, 0x2a, 0x0a, 0x11, + 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x69, 0x70, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, + 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, + 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, + 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x21, 0x0a, 0x0c, + 0x69, 0x73, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x0f, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x6f, 0x6e, 0x6c, 0x79, 0x12, + 0x26, 0x0a, 0x0f, 0x6e, 0x6f, 0x5f, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x73, 0x65, 0x72, 0x76, + 0x65, 0x72, 0x18, 0x13, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x6e, 0x6f, 0x53, 0x74, 0x65, 0x61, + 0x6d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x73, 0x5f, 0x74, 0x72, + 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x10, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, + 0x69, 0x73, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x0a, 0x0d, + 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x11, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0d, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x6c, 0x65, 0x76, + 0x65, 0x6c, 0x12, 0x22, 0x0a, 0x0c, 0x6c, 0x61, 0x6e, 0x64, 0x6d, 0x61, 0x72, 0x6b, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6c, 0x61, 0x6e, 0x64, 0x6d, 0x61, + 0x72, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x2a, 0xd4, 0x01, 0x0a, 0x0d, 0x53, 0x69, 0x67, 0x6e, 0x6f, + 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x12, 0x14, 0x0a, 0x10, 0x53, 0x49, 0x47, 0x4e, + 0x4f, 0x4e, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x19, + 0x0a, 0x15, 0x53, 0x49, 0x47, 0x4e, 0x4f, 0x4e, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x43, 0x48, + 0x41, 0x4c, 0x4c, 0x45, 0x4e, 0x47, 0x45, 0x10, 0x01, 0x12, 0x19, 0x0a, 0x15, 0x53, 0x49, 0x47, + 0x4e, 0x4f, 0x4e, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, + 0x45, 0x44, 0x10, 0x02, 0x12, 0x13, 0x0a, 0x0f, 0x53, 0x49, 0x47, 0x4e, 0x4f, 0x4e, 0x53, 0x54, + 0x41, 0x54, 0x45, 0x5f, 0x4e, 0x45, 0x57, 0x10, 0x03, 0x12, 0x18, 0x0a, 0x14, 0x53, 0x49, 0x47, + 0x4e, 0x4f, 0x4e, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x50, 0x52, 0x45, 0x53, 0x50, 0x41, 0x57, + 0x4e, 0x10, 0x04, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x49, 0x47, 0x4e, 0x4f, 0x4e, 0x53, 0x54, 0x41, + 0x54, 0x45, 0x5f, 0x53, 0x50, 0x41, 0x57, 0x4e, 0x10, 0x05, 0x12, 0x14, 0x0a, 0x10, 0x53, 0x49, + 0x47, 0x4e, 0x4f, 0x4e, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x46, 0x55, 0x4c, 0x4c, 0x10, 0x06, + 0x12, 0x1b, 0x0a, 0x17, 0x53, 0x49, 0x47, 0x4e, 0x4f, 0x4e, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, + 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x10, 0x07, 0x2a, 0xae, 0x02, + 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, + 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, 0x17, 0x0a, 0x13, 0x6e, 0x65, 0x74, 0x5f, 0x53, 0x70, 0x61, 0x77, 0x6e, 0x47, 0x72, + 0x6f, 0x75, 0x70, 0x5f, 0x4c, 0x6f, 0x61, 0x64, 0x10, 0x08, 0x12, 0x21, 0x0a, 0x1d, 0x6e, 0x65, + 0x74, 0x5f, 0x53, 0x70, 0x61, 0x77, 0x6e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x4d, 0x61, 0x6e, + 0x69, 0x66, 0x65, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x10, 0x09, 0x12, 0x22, 0x0a, + 0x1e, 0x6e, 0x65, 0x74, 0x5f, 0x53, 0x70, 0x61, 0x77, 0x6e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x5f, + 0x53, 0x65, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x63, 0x6b, 0x10, + 0x0b, 0x12, 0x19, 0x0a, 0x15, 0x6e, 0x65, 0x74, 0x5f, 0x53, 0x70, 0x61, 0x77, 0x6e, 0x47, 0x72, + 0x6f, 0x75, 0x70, 0x5f, 0x55, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x10, 0x0c, 0x12, 0x20, 0x0a, 0x1c, + 0x6e, 0x65, 0x74, 0x5f, 0x53, 0x70, 0x61, 0x77, 0x6e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x4c, + 0x6f, 0x61, 0x64, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x10, 0x0d, 0x2a, 0xcc, + 0x02, 0x0a, 0x11, 0x53, 0x70, 0x61, 0x77, 0x6e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x46, 0x6c, 0x61, + 0x67, 0x73, 0x5f, 0x74, 0x12, 0x27, 0x0a, 0x23, 0x53, 0x50, 0x41, 0x57, 0x4e, 0x5f, 0x47, 0x52, + 0x4f, 0x55, 0x50, 0x5f, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x45, 0x4e, 0x54, 0x49, 0x54, 0x49, 0x45, + 0x53, 0x5f, 0x46, 0x52, 0x4f, 0x4d, 0x5f, 0x53, 0x41, 0x56, 0x45, 0x10, 0x01, 0x12, 0x23, 0x0a, + 0x1f, 0x53, 0x50, 0x41, 0x57, 0x4e, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x44, 0x4f, 0x4e, + 0x54, 0x5f, 0x53, 0x50, 0x41, 0x57, 0x4e, 0x5f, 0x45, 0x4e, 0x54, 0x49, 0x54, 0x49, 0x45, 0x53, + 0x10, 0x02, 0x12, 0x21, 0x0a, 0x1d, 0x53, 0x50, 0x41, 0x57, 0x4e, 0x5f, 0x47, 0x52, 0x4f, 0x55, + 0x50, 0x5f, 0x53, 0x59, 0x4e, 0x43, 0x48, 0x52, 0x4f, 0x4e, 0x4f, 0x55, 0x53, 0x5f, 0x53, 0x50, + 0x41, 0x57, 0x4e, 0x10, 0x04, 0x12, 0x26, 0x0a, 0x22, 0x53, 0x50, 0x41, 0x57, 0x4e, 0x5f, 0x47, + 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x49, 0x53, 0x5f, 0x49, 0x4e, 0x49, 0x54, 0x49, 0x41, 0x4c, 0x5f, + 0x53, 0x50, 0x41, 0x57, 0x4e, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x10, 0x08, 0x12, 0x2b, 0x0a, + 0x27, 0x53, 0x50, 0x41, 0x57, 0x4e, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x43, 0x52, 0x45, + 0x41, 0x54, 0x45, 0x5f, 0x43, 0x4c, 0x49, 0x45, 0x4e, 0x54, 0x5f, 0x4f, 0x4e, 0x4c, 0x59, 0x5f, + 0x45, 0x4e, 0x54, 0x49, 0x54, 0x49, 0x45, 0x53, 0x10, 0x10, 0x12, 0x22, 0x0a, 0x1e, 0x53, 0x50, + 0x41, 0x57, 0x4e, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, + 0x55, 0x4e, 0x54, 0x49, 0x4c, 0x5f, 0x4c, 0x4f, 0x41, 0x44, 0x45, 0x44, 0x10, 0x40, 0x12, 0x24, + 0x0a, 0x1f, 0x53, 0x50, 0x41, 0x57, 0x4e, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x4c, 0x4f, + 0x41, 0x44, 0x5f, 0x53, 0x54, 0x52, 0x45, 0x41, 0x4d, 0x49, 0x4e, 0x47, 0x5f, 0x44, 0x41, 0x54, + 0x41, 0x10, 0x80, 0x01, 0x12, 0x27, 0x0a, 0x22, 0x53, 0x50, 0x41, 0x57, 0x4e, 0x5f, 0x47, 0x52, + 0x4f, 0x55, 0x50, 0x5f, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x5f, 0x4e, 0x45, 0x57, 0x5f, 0x53, + 0x43, 0x45, 0x4e, 0x45, 0x5f, 0x57, 0x4f, 0x52, 0x4c, 0x44, 0x10, 0x80, 0x02, 0x42, 0x0b, 0x5a, + 0x06, 0x2e, 0x2f, 0x64, 0x65, 0x6d, 0x6f, 0x80, 0x01, 0x00, +} + +var ( + file_networkbasetypes_proto_rawDescOnce sync.Once + file_networkbasetypes_proto_rawDescData = file_networkbasetypes_proto_rawDesc +) + +func file_networkbasetypes_proto_rawDescGZIP() []byte { + file_networkbasetypes_proto_rawDescOnce.Do(func() { + file_networkbasetypes_proto_rawDescData = protoimpl.X.CompressGZIP(file_networkbasetypes_proto_rawDescData) + }) + return file_networkbasetypes_proto_rawDescData +} + +var file_networkbasetypes_proto_enumTypes = make([]protoimpl.EnumInfo, 3) +var file_networkbasetypes_proto_msgTypes = make([]protoimpl.MessageInfo, 25) +var file_networkbasetypes_proto_goTypes = []interface{}{ + (SignonStateT)(0), // 0: SignonState_t + (NET_Messages)(0), // 1: NET_Messages + (SpawnGroupFlagsT)(0), // 2: SpawnGroupFlags_t + (*CMsgVector)(nil), // 3: CMsgVector + (*CMsgVector2D)(nil), // 4: CMsgVector2D + (*CMsgQAngle)(nil), // 5: CMsgQAngle + (*CMsgRGBA)(nil), // 6: CMsgRGBA + (*CMsgPlayerInfo)(nil), // 7: CMsgPlayerInfo + (*CEntityMsg)(nil), // 8: CEntityMsg + (*CMsg_CVars)(nil), // 9: CMsg_CVars + (*CNETMsg_NOP)(nil), // 10: CNETMsg_NOP + (*CNETMsg_SplitScreenUser)(nil), // 11: CNETMsg_SplitScreenUser + (*CNETMsg_Disconnect)(nil), // 12: CNETMsg_Disconnect + (*CNETMsg_Tick)(nil), // 13: CNETMsg_Tick + (*CNETMsg_StringCmd)(nil), // 14: CNETMsg_StringCmd + (*CNETMsg_SetConVar)(nil), // 15: CNETMsg_SetConVar + (*CNETMsg_SignonState)(nil), // 16: CNETMsg_SignonState + (*CSVCMsg_GameEvent)(nil), // 17: CSVCMsg_GameEvent + (*CSVCMsgList_GameEvents)(nil), // 18: CSVCMsgList_GameEvents + (*CNETMsg_SpawnGroup_Load)(nil), // 19: CNETMsg_SpawnGroup_Load + (*CNETMsg_SpawnGroup_ManifestUpdate)(nil), // 20: CNETMsg_SpawnGroup_ManifestUpdate + (*CNETMsg_SpawnGroup_SetCreationTick)(nil), // 21: CNETMsg_SpawnGroup_SetCreationTick + (*CNETMsg_SpawnGroup_Unload)(nil), // 22: CNETMsg_SpawnGroup_Unload + (*CNETMsg_SpawnGroup_LoadCompleted)(nil), // 23: CNETMsg_SpawnGroup_LoadCompleted + (*CSVCMsg_GameSessionConfiguration)(nil), // 24: CSVCMsg_GameSessionConfiguration + (*CMsg_CVars_CVar)(nil), // 25: CMsg_CVars.CVar + (*CSVCMsg_GameEventKeyT)(nil), // 26: CSVCMsg_GameEvent.key_t + (*CSVCMsgList_GameEventsEventT)(nil), // 27: CSVCMsgList_GameEvents.event_t + (ENetworkDisconnectionReason)(0), // 28: ENetworkDisconnectionReason +} +var file_networkbasetypes_proto_depIdxs = []int32{ + 25, // 0: CMsg_CVars.cvars:type_name -> CMsg_CVars.CVar + 28, // 1: CNETMsg_Disconnect.reason:type_name -> ENetworkDisconnectionReason + 9, // 2: CNETMsg_SetConVar.convars:type_name -> CMsg_CVars + 0, // 3: CNETMsg_SignonState.signon_state:type_name -> SignonState_t + 26, // 4: CSVCMsg_GameEvent.keys:type_name -> CSVCMsg_GameEvent.key_t + 27, // 5: CSVCMsgList_GameEvents.events:type_name -> CSVCMsgList_GameEvents.event_t + 3, // 6: CNETMsg_SpawnGroup_Load.world_offset_pos:type_name -> CMsgVector + 5, // 7: CNETMsg_SpawnGroup_Load.world_offset_angle:type_name -> CMsgQAngle + 17, // 8: CSVCMsgList_GameEvents.event_t.event:type_name -> CSVCMsg_GameEvent + 9, // [9:9] is the sub-list for method output_type + 9, // [9:9] is the sub-list for method input_type + 9, // [9:9] is the sub-list for extension type_name + 9, // [9:9] is the sub-list for extension extendee + 0, // [0:9] is the sub-list for field type_name +} + +func init() { file_networkbasetypes_proto_init() } +func file_networkbasetypes_proto_init() { + if File_networkbasetypes_proto != nil { + return + } + file_network_connection_proto_init() + if !protoimpl.UnsafeEnabled { + file_networkbasetypes_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CMsgVector); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_networkbasetypes_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CMsgVector2D); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_networkbasetypes_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CMsgQAngle); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_networkbasetypes_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CMsgRGBA); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_networkbasetypes_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CMsgPlayerInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_networkbasetypes_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CEntityMsg); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_networkbasetypes_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CMsg_CVars); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_networkbasetypes_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CNETMsg_NOP); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_networkbasetypes_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CNETMsg_SplitScreenUser); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_networkbasetypes_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CNETMsg_Disconnect); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_networkbasetypes_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CNETMsg_Tick); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_networkbasetypes_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CNETMsg_StringCmd); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_networkbasetypes_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CNETMsg_SetConVar); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_networkbasetypes_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CNETMsg_SignonState); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_networkbasetypes_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CSVCMsg_GameEvent); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_networkbasetypes_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CSVCMsgList_GameEvents); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_networkbasetypes_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CNETMsg_SpawnGroup_Load); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_networkbasetypes_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CNETMsg_SpawnGroup_ManifestUpdate); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_networkbasetypes_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CNETMsg_SpawnGroup_SetCreationTick); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_networkbasetypes_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CNETMsg_SpawnGroup_Unload); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_networkbasetypes_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CNETMsg_SpawnGroup_LoadCompleted); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_networkbasetypes_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CSVCMsg_GameSessionConfiguration); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_networkbasetypes_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CMsg_CVars_CVar); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_networkbasetypes_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CSVCMsg_GameEventKeyT); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_networkbasetypes_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CSVCMsgList_GameEventsEventT); 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_networkbasetypes_proto_rawDesc, + NumEnums: 3, + NumMessages: 25, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_networkbasetypes_proto_goTypes, + DependencyIndexes: file_networkbasetypes_proto_depIdxs, + EnumInfos: file_networkbasetypes_proto_enumTypes, + MessageInfos: file_networkbasetypes_proto_msgTypes, + }.Build() + File_networkbasetypes_proto = out.File + file_networkbasetypes_proto_rawDesc = nil + file_networkbasetypes_proto_goTypes = nil + file_networkbasetypes_proto_depIdxs = nil +} diff --git a/demo/usermessages.pb.go b/demo/usermessages.pb.go new file mode 100644 index 0000000..eafcbe1 --- /dev/null +++ b/demo/usermessages.pb.go @@ -0,0 +1,6766 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.0 +// protoc v3.21.2 +// source: usermessages.proto + +package demo + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type EBaseUserMessages int32 + +const ( + EBaseUserMessages_UM_AchievementEvent EBaseUserMessages = 101 + EBaseUserMessages_UM_CloseCaption EBaseUserMessages = 102 + EBaseUserMessages_UM_CloseCaptionDirect EBaseUserMessages = 103 + EBaseUserMessages_UM_CurrentTimescale EBaseUserMessages = 104 + EBaseUserMessages_UM_DesiredTimescale EBaseUserMessages = 105 + EBaseUserMessages_UM_Fade EBaseUserMessages = 106 + EBaseUserMessages_UM_GameTitle EBaseUserMessages = 107 + EBaseUserMessages_UM_HudMsg EBaseUserMessages = 110 + EBaseUserMessages_UM_HudText EBaseUserMessages = 111 + EBaseUserMessages_UM_ColoredText EBaseUserMessages = 113 + EBaseUserMessages_UM_RequestState EBaseUserMessages = 114 + EBaseUserMessages_UM_ResetHUD EBaseUserMessages = 115 + EBaseUserMessages_UM_Rumble EBaseUserMessages = 116 + EBaseUserMessages_UM_SayText EBaseUserMessages = 117 + EBaseUserMessages_UM_SayText2 EBaseUserMessages = 118 + EBaseUserMessages_UM_SayTextChannel EBaseUserMessages = 119 + EBaseUserMessages_UM_Shake EBaseUserMessages = 120 + EBaseUserMessages_UM_ShakeDir EBaseUserMessages = 121 + EBaseUserMessages_UM_TextMsg EBaseUserMessages = 124 + EBaseUserMessages_UM_ScreenTilt EBaseUserMessages = 125 + EBaseUserMessages_UM_VoiceMask EBaseUserMessages = 128 + EBaseUserMessages_UM_SendAudio EBaseUserMessages = 130 + EBaseUserMessages_UM_ItemPickup EBaseUserMessages = 131 + EBaseUserMessages_UM_AmmoDenied EBaseUserMessages = 132 + EBaseUserMessages_UM_ShowMenu EBaseUserMessages = 134 + EBaseUserMessages_UM_CreditsMsg EBaseUserMessages = 135 + EBaseUserMessages_UM_CloseCaptionPlaceholder EBaseUserMessages = 142 + EBaseUserMessages_UM_CameraTransition EBaseUserMessages = 143 + EBaseUserMessages_UM_AudioParameter EBaseUserMessages = 144 + EBaseUserMessages_UM_ParticleManager EBaseUserMessages = 145 + EBaseUserMessages_UM_HudError EBaseUserMessages = 146 + EBaseUserMessages_UM_CustomGameEvent EBaseUserMessages = 148 + EBaseUserMessages_UM_AnimGraphUpdate EBaseUserMessages = 149 + EBaseUserMessages_UM_HapticsManagerPulse EBaseUserMessages = 150 + EBaseUserMessages_UM_HapticsManagerEffect EBaseUserMessages = 151 + EBaseUserMessages_UM_CommandQueueState EBaseUserMessages = 152 + EBaseUserMessages_UM_UpdateCssClasses EBaseUserMessages = 153 + EBaseUserMessages_UM_MAX_BASE EBaseUserMessages = 200 +) + +// Enum value maps for EBaseUserMessages. +var ( + EBaseUserMessages_name = map[int32]string{ + 101: "UM_AchievementEvent", + 102: "UM_CloseCaption", + 103: "UM_CloseCaptionDirect", + 104: "UM_CurrentTimescale", + 105: "UM_DesiredTimescale", + 106: "UM_Fade", + 107: "UM_GameTitle", + 110: "UM_HudMsg", + 111: "UM_HudText", + 113: "UM_ColoredText", + 114: "UM_RequestState", + 115: "UM_ResetHUD", + 116: "UM_Rumble", + 117: "UM_SayText", + 118: "UM_SayText2", + 119: "UM_SayTextChannel", + 120: "UM_Shake", + 121: "UM_ShakeDir", + 124: "UM_TextMsg", + 125: "UM_ScreenTilt", + 128: "UM_VoiceMask", + 130: "UM_SendAudio", + 131: "UM_ItemPickup", + 132: "UM_AmmoDenied", + 134: "UM_ShowMenu", + 135: "UM_CreditsMsg", + 142: "UM_CloseCaptionPlaceholder", + 143: "UM_CameraTransition", + 144: "UM_AudioParameter", + 145: "UM_ParticleManager", + 146: "UM_HudError", + 148: "UM_CustomGameEvent", + 149: "UM_AnimGraphUpdate", + 150: "UM_HapticsManagerPulse", + 151: "UM_HapticsManagerEffect", + 152: "UM_CommandQueueState", + 153: "UM_UpdateCssClasses", + 200: "UM_MAX_BASE", + } + EBaseUserMessages_value = map[string]int32{ + "UM_AchievementEvent": 101, + "UM_CloseCaption": 102, + "UM_CloseCaptionDirect": 103, + "UM_CurrentTimescale": 104, + "UM_DesiredTimescale": 105, + "UM_Fade": 106, + "UM_GameTitle": 107, + "UM_HudMsg": 110, + "UM_HudText": 111, + "UM_ColoredText": 113, + "UM_RequestState": 114, + "UM_ResetHUD": 115, + "UM_Rumble": 116, + "UM_SayText": 117, + "UM_SayText2": 118, + "UM_SayTextChannel": 119, + "UM_Shake": 120, + "UM_ShakeDir": 121, + "UM_TextMsg": 124, + "UM_ScreenTilt": 125, + "UM_VoiceMask": 128, + "UM_SendAudio": 130, + "UM_ItemPickup": 131, + "UM_AmmoDenied": 132, + "UM_ShowMenu": 134, + "UM_CreditsMsg": 135, + "UM_CloseCaptionPlaceholder": 142, + "UM_CameraTransition": 143, + "UM_AudioParameter": 144, + "UM_ParticleManager": 145, + "UM_HudError": 146, + "UM_CustomGameEvent": 148, + "UM_AnimGraphUpdate": 149, + "UM_HapticsManagerPulse": 150, + "UM_HapticsManagerEffect": 151, + "UM_CommandQueueState": 152, + "UM_UpdateCssClasses": 153, + "UM_MAX_BASE": 200, + } +) + +func (x EBaseUserMessages) Enum() *EBaseUserMessages { + p := new(EBaseUserMessages) + *p = x + return p +} + +func (x EBaseUserMessages) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (EBaseUserMessages) Descriptor() protoreflect.EnumDescriptor { + return file_usermessages_proto_enumTypes[0].Descriptor() +} + +func (EBaseUserMessages) Type() protoreflect.EnumType { + return &file_usermessages_proto_enumTypes[0] +} + +func (x EBaseUserMessages) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Do not use. +func (x *EBaseUserMessages) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err + } + *x = EBaseUserMessages(num) + return nil +} + +// Deprecated: Use EBaseUserMessages.Descriptor instead. +func (EBaseUserMessages) EnumDescriptor() ([]byte, []int) { + return file_usermessages_proto_rawDescGZIP(), []int{0} +} + +type EBaseEntityMessages int32 + +const ( + EBaseEntityMessages_EM_PlayJingle EBaseEntityMessages = 136 + EBaseEntityMessages_EM_ScreenOverlay EBaseEntityMessages = 137 + EBaseEntityMessages_EM_RemoveAllDecals EBaseEntityMessages = 138 + EBaseEntityMessages_EM_PropagateForce EBaseEntityMessages = 139 + EBaseEntityMessages_EM_DoSpark EBaseEntityMessages = 140 + EBaseEntityMessages_EM_FixAngle EBaseEntityMessages = 141 +) + +// Enum value maps for EBaseEntityMessages. +var ( + EBaseEntityMessages_name = map[int32]string{ + 136: "EM_PlayJingle", + 137: "EM_ScreenOverlay", + 138: "EM_RemoveAllDecals", + 139: "EM_PropagateForce", + 140: "EM_DoSpark", + 141: "EM_FixAngle", + } + EBaseEntityMessages_value = map[string]int32{ + "EM_PlayJingle": 136, + "EM_ScreenOverlay": 137, + "EM_RemoveAllDecals": 138, + "EM_PropagateForce": 139, + "EM_DoSpark": 140, + "EM_FixAngle": 141, + } +) + +func (x EBaseEntityMessages) Enum() *EBaseEntityMessages { + p := new(EBaseEntityMessages) + *p = x + return p +} + +func (x EBaseEntityMessages) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (EBaseEntityMessages) Descriptor() protoreflect.EnumDescriptor { + return file_usermessages_proto_enumTypes[1].Descriptor() +} + +func (EBaseEntityMessages) Type() protoreflect.EnumType { + return &file_usermessages_proto_enumTypes[1] +} + +func (x EBaseEntityMessages) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Do not use. +func (x *EBaseEntityMessages) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err + } + *x = EBaseEntityMessages(num) + return nil +} + +// Deprecated: Use EBaseEntityMessages.Descriptor instead. +func (EBaseEntityMessages) EnumDescriptor() ([]byte, []int) { + return file_usermessages_proto_rawDescGZIP(), []int{1} +} + +type ERollType int32 + +const ( + ERollType_ROLL_NONE ERollType = -1 + ERollType_ROLL_STATS ERollType = 0 + ERollType_ROLL_CREDITS ERollType = 1 + ERollType_ROLL_LATE_JOIN_LOGO ERollType = 2 + ERollType_ROLL_OUTTRO ERollType = 3 +) + +// Enum value maps for ERollType. +var ( + ERollType_name = map[int32]string{ + -1: "ROLL_NONE", + 0: "ROLL_STATS", + 1: "ROLL_CREDITS", + 2: "ROLL_LATE_JOIN_LOGO", + 3: "ROLL_OUTTRO", + } + ERollType_value = map[string]int32{ + "ROLL_NONE": -1, + "ROLL_STATS": 0, + "ROLL_CREDITS": 1, + "ROLL_LATE_JOIN_LOGO": 2, + "ROLL_OUTTRO": 3, + } +) + +func (x ERollType) Enum() *ERollType { + p := new(ERollType) + *p = x + return p +} + +func (x ERollType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (ERollType) Descriptor() protoreflect.EnumDescriptor { + return file_usermessages_proto_enumTypes[2].Descriptor() +} + +func (ERollType) Type() protoreflect.EnumType { + return &file_usermessages_proto_enumTypes[2] +} + +func (x ERollType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Do not use. +func (x *ERollType) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err + } + *x = ERollType(num) + return nil +} + +// Deprecated: Use ERollType.Descriptor instead. +func (ERollType) EnumDescriptor() ([]byte, []int) { + return file_usermessages_proto_rawDescGZIP(), []int{2} +} + +type PARTICLE_MESSAGE int32 + +const ( + PARTICLE_MESSAGE_GAME_PARTICLE_MANAGER_EVENT_CREATE PARTICLE_MESSAGE = 0 + PARTICLE_MESSAGE_GAME_PARTICLE_MANAGER_EVENT_UPDATE PARTICLE_MESSAGE = 1 + PARTICLE_MESSAGE_GAME_PARTICLE_MANAGER_EVENT_UPDATE_FORWARD PARTICLE_MESSAGE = 2 + PARTICLE_MESSAGE_GAME_PARTICLE_MANAGER_EVENT_UPDATE_ORIENTATION PARTICLE_MESSAGE = 3 + PARTICLE_MESSAGE_GAME_PARTICLE_MANAGER_EVENT_UPDATE_FALLBACK PARTICLE_MESSAGE = 4 + PARTICLE_MESSAGE_GAME_PARTICLE_MANAGER_EVENT_UPDATE_ENT PARTICLE_MESSAGE = 5 + PARTICLE_MESSAGE_GAME_PARTICLE_MANAGER_EVENT_UPDATE_OFFSET PARTICLE_MESSAGE = 6 + PARTICLE_MESSAGE_GAME_PARTICLE_MANAGER_EVENT_DESTROY PARTICLE_MESSAGE = 7 + PARTICLE_MESSAGE_GAME_PARTICLE_MANAGER_EVENT_DESTROY_INVOLVING PARTICLE_MESSAGE = 8 + PARTICLE_MESSAGE_GAME_PARTICLE_MANAGER_EVENT_RELEASE PARTICLE_MESSAGE = 9 + PARTICLE_MESSAGE_GAME_PARTICLE_MANAGER_EVENT_LATENCY PARTICLE_MESSAGE = 10 + PARTICLE_MESSAGE_GAME_PARTICLE_MANAGER_EVENT_SHOULD_DRAW PARTICLE_MESSAGE = 11 + PARTICLE_MESSAGE_GAME_PARTICLE_MANAGER_EVENT_FROZEN PARTICLE_MESSAGE = 12 + PARTICLE_MESSAGE_GAME_PARTICLE_MANAGER_EVENT_CHANGE_CONTROL_POINT_ATTACHMENT PARTICLE_MESSAGE = 13 + PARTICLE_MESSAGE_GAME_PARTICLE_MANAGER_EVENT_UPDATE_ENTITY_POSITION PARTICLE_MESSAGE = 14 + PARTICLE_MESSAGE_GAME_PARTICLE_MANAGER_EVENT_SET_FOW_PROPERTIES PARTICLE_MESSAGE = 15 + PARTICLE_MESSAGE_GAME_PARTICLE_MANAGER_EVENT_SET_TEXT PARTICLE_MESSAGE = 16 + PARTICLE_MESSAGE_GAME_PARTICLE_MANAGER_EVENT_SET_SHOULD_CHECK_FOW PARTICLE_MESSAGE = 17 + PARTICLE_MESSAGE_GAME_PARTICLE_MANAGER_EVENT_SET_CONTROL_POINT_MODEL PARTICLE_MESSAGE = 18 + PARTICLE_MESSAGE_GAME_PARTICLE_MANAGER_EVENT_SET_CONTROL_POINT_SNAPSHOT PARTICLE_MESSAGE = 19 + PARTICLE_MESSAGE_GAME_PARTICLE_MANAGER_EVENT_SET_TEXTURE_ATTRIBUTE PARTICLE_MESSAGE = 20 + PARTICLE_MESSAGE_GAME_PARTICLE_MANAGER_EVENT_SET_SCENE_OBJECT_GENERIC_FLAG PARTICLE_MESSAGE = 21 + PARTICLE_MESSAGE_GAME_PARTICLE_MANAGER_EVENT_SET_SCENE_OBJECT_TINT_AND_DESAT PARTICLE_MESSAGE = 22 + PARTICLE_MESSAGE_GAME_PARTICLE_MANAGER_EVENT_DESTROY_NAMED PARTICLE_MESSAGE = 23 + PARTICLE_MESSAGE_GAME_PARTICLE_MANAGER_EVENT_SKIP_TO_TIME PARTICLE_MESSAGE = 24 +) + +// Enum value maps for PARTICLE_MESSAGE. +var ( + PARTICLE_MESSAGE_name = map[int32]string{ + 0: "GAME_PARTICLE_MANAGER_EVENT_CREATE", + 1: "GAME_PARTICLE_MANAGER_EVENT_UPDATE", + 2: "GAME_PARTICLE_MANAGER_EVENT_UPDATE_FORWARD", + 3: "GAME_PARTICLE_MANAGER_EVENT_UPDATE_ORIENTATION", + 4: "GAME_PARTICLE_MANAGER_EVENT_UPDATE_FALLBACK", + 5: "GAME_PARTICLE_MANAGER_EVENT_UPDATE_ENT", + 6: "GAME_PARTICLE_MANAGER_EVENT_UPDATE_OFFSET", + 7: "GAME_PARTICLE_MANAGER_EVENT_DESTROY", + 8: "GAME_PARTICLE_MANAGER_EVENT_DESTROY_INVOLVING", + 9: "GAME_PARTICLE_MANAGER_EVENT_RELEASE", + 10: "GAME_PARTICLE_MANAGER_EVENT_LATENCY", + 11: "GAME_PARTICLE_MANAGER_EVENT_SHOULD_DRAW", + 12: "GAME_PARTICLE_MANAGER_EVENT_FROZEN", + 13: "GAME_PARTICLE_MANAGER_EVENT_CHANGE_CONTROL_POINT_ATTACHMENT", + 14: "GAME_PARTICLE_MANAGER_EVENT_UPDATE_ENTITY_POSITION", + 15: "GAME_PARTICLE_MANAGER_EVENT_SET_FOW_PROPERTIES", + 16: "GAME_PARTICLE_MANAGER_EVENT_SET_TEXT", + 17: "GAME_PARTICLE_MANAGER_EVENT_SET_SHOULD_CHECK_FOW", + 18: "GAME_PARTICLE_MANAGER_EVENT_SET_CONTROL_POINT_MODEL", + 19: "GAME_PARTICLE_MANAGER_EVENT_SET_CONTROL_POINT_SNAPSHOT", + 20: "GAME_PARTICLE_MANAGER_EVENT_SET_TEXTURE_ATTRIBUTE", + 21: "GAME_PARTICLE_MANAGER_EVENT_SET_SCENE_OBJECT_GENERIC_FLAG", + 22: "GAME_PARTICLE_MANAGER_EVENT_SET_SCENE_OBJECT_TINT_AND_DESAT", + 23: "GAME_PARTICLE_MANAGER_EVENT_DESTROY_NAMED", + 24: "GAME_PARTICLE_MANAGER_EVENT_SKIP_TO_TIME", + } + PARTICLE_MESSAGE_value = map[string]int32{ + "GAME_PARTICLE_MANAGER_EVENT_CREATE": 0, + "GAME_PARTICLE_MANAGER_EVENT_UPDATE": 1, + "GAME_PARTICLE_MANAGER_EVENT_UPDATE_FORWARD": 2, + "GAME_PARTICLE_MANAGER_EVENT_UPDATE_ORIENTATION": 3, + "GAME_PARTICLE_MANAGER_EVENT_UPDATE_FALLBACK": 4, + "GAME_PARTICLE_MANAGER_EVENT_UPDATE_ENT": 5, + "GAME_PARTICLE_MANAGER_EVENT_UPDATE_OFFSET": 6, + "GAME_PARTICLE_MANAGER_EVENT_DESTROY": 7, + "GAME_PARTICLE_MANAGER_EVENT_DESTROY_INVOLVING": 8, + "GAME_PARTICLE_MANAGER_EVENT_RELEASE": 9, + "GAME_PARTICLE_MANAGER_EVENT_LATENCY": 10, + "GAME_PARTICLE_MANAGER_EVENT_SHOULD_DRAW": 11, + "GAME_PARTICLE_MANAGER_EVENT_FROZEN": 12, + "GAME_PARTICLE_MANAGER_EVENT_CHANGE_CONTROL_POINT_ATTACHMENT": 13, + "GAME_PARTICLE_MANAGER_EVENT_UPDATE_ENTITY_POSITION": 14, + "GAME_PARTICLE_MANAGER_EVENT_SET_FOW_PROPERTIES": 15, + "GAME_PARTICLE_MANAGER_EVENT_SET_TEXT": 16, + "GAME_PARTICLE_MANAGER_EVENT_SET_SHOULD_CHECK_FOW": 17, + "GAME_PARTICLE_MANAGER_EVENT_SET_CONTROL_POINT_MODEL": 18, + "GAME_PARTICLE_MANAGER_EVENT_SET_CONTROL_POINT_SNAPSHOT": 19, + "GAME_PARTICLE_MANAGER_EVENT_SET_TEXTURE_ATTRIBUTE": 20, + "GAME_PARTICLE_MANAGER_EVENT_SET_SCENE_OBJECT_GENERIC_FLAG": 21, + "GAME_PARTICLE_MANAGER_EVENT_SET_SCENE_OBJECT_TINT_AND_DESAT": 22, + "GAME_PARTICLE_MANAGER_EVENT_DESTROY_NAMED": 23, + "GAME_PARTICLE_MANAGER_EVENT_SKIP_TO_TIME": 24, + } +) + +func (x PARTICLE_MESSAGE) Enum() *PARTICLE_MESSAGE { + p := new(PARTICLE_MESSAGE) + *p = x + return p +} + +func (x PARTICLE_MESSAGE) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (PARTICLE_MESSAGE) Descriptor() protoreflect.EnumDescriptor { + return file_usermessages_proto_enumTypes[3].Descriptor() +} + +func (PARTICLE_MESSAGE) Type() protoreflect.EnumType { + return &file_usermessages_proto_enumTypes[3] +} + +func (x PARTICLE_MESSAGE) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Do not use. +func (x *PARTICLE_MESSAGE) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err + } + *x = PARTICLE_MESSAGE(num) + return nil +} + +// Deprecated: Use PARTICLE_MESSAGE.Descriptor instead. +func (PARTICLE_MESSAGE) EnumDescriptor() ([]byte, []int) { + return file_usermessages_proto_rawDescGZIP(), []int{3} +} + +type EHapticPulseType int32 + +const ( + EHapticPulseType_VR_HAND_HAPTIC_PULSE_LIGHT EHapticPulseType = 0 + EHapticPulseType_VR_HAND_HAPTIC_PULSE_MEDIUM EHapticPulseType = 1 + EHapticPulseType_VR_HAND_HAPTIC_PULSE_STRONG EHapticPulseType = 2 +) + +// Enum value maps for EHapticPulseType. +var ( + EHapticPulseType_name = map[int32]string{ + 0: "VR_HAND_HAPTIC_PULSE_LIGHT", + 1: "VR_HAND_HAPTIC_PULSE_MEDIUM", + 2: "VR_HAND_HAPTIC_PULSE_STRONG", + } + EHapticPulseType_value = map[string]int32{ + "VR_HAND_HAPTIC_PULSE_LIGHT": 0, + "VR_HAND_HAPTIC_PULSE_MEDIUM": 1, + "VR_HAND_HAPTIC_PULSE_STRONG": 2, + } +) + +func (x EHapticPulseType) Enum() *EHapticPulseType { + p := new(EHapticPulseType) + *p = x + return p +} + +func (x EHapticPulseType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (EHapticPulseType) Descriptor() protoreflect.EnumDescriptor { + return file_usermessages_proto_enumTypes[4].Descriptor() +} + +func (EHapticPulseType) Type() protoreflect.EnumType { + return &file_usermessages_proto_enumTypes[4] +} + +func (x EHapticPulseType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Do not use. +func (x *EHapticPulseType) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err + } + *x = EHapticPulseType(num) + return nil +} + +// Deprecated: Use EHapticPulseType.Descriptor instead. +func (EHapticPulseType) EnumDescriptor() ([]byte, []int) { + return file_usermessages_proto_rawDescGZIP(), []int{4} +} + +type CUserMessageAchievementEvent struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Achievement *uint32 `protobuf:"varint,1,opt,name=achievement" json:"achievement,omitempty"` +} + +func (x *CUserMessageAchievementEvent) Reset() { + *x = CUserMessageAchievementEvent{} + if protoimpl.UnsafeEnabled { + mi := &file_usermessages_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CUserMessageAchievementEvent) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CUserMessageAchievementEvent) ProtoMessage() {} + +func (x *CUserMessageAchievementEvent) ProtoReflect() protoreflect.Message { + mi := &file_usermessages_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CUserMessageAchievementEvent.ProtoReflect.Descriptor instead. +func (*CUserMessageAchievementEvent) Descriptor() ([]byte, []int) { + return file_usermessages_proto_rawDescGZIP(), []int{0} +} + +func (x *CUserMessageAchievementEvent) GetAchievement() uint32 { + if x != nil && x.Achievement != nil { + return *x.Achievement + } + return 0 +} + +type CUserMessageCloseCaption struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Hash *uint32 `protobuf:"fixed32,1,opt,name=hash" json:"hash,omitempty"` + Duration *float32 `protobuf:"fixed32,2,opt,name=duration" json:"duration,omitempty"` + FromPlayer *bool `protobuf:"varint,3,opt,name=from_player,json=fromPlayer" json:"from_player,omitempty"` + EntIndex *int32 `protobuf:"varint,4,opt,name=ent_index,json=entIndex" json:"ent_index,omitempty"` +} + +func (x *CUserMessageCloseCaption) Reset() { + *x = CUserMessageCloseCaption{} + if protoimpl.UnsafeEnabled { + mi := &file_usermessages_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CUserMessageCloseCaption) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CUserMessageCloseCaption) ProtoMessage() {} + +func (x *CUserMessageCloseCaption) ProtoReflect() protoreflect.Message { + mi := &file_usermessages_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CUserMessageCloseCaption.ProtoReflect.Descriptor instead. +func (*CUserMessageCloseCaption) Descriptor() ([]byte, []int) { + return file_usermessages_proto_rawDescGZIP(), []int{1} +} + +func (x *CUserMessageCloseCaption) GetHash() uint32 { + if x != nil && x.Hash != nil { + return *x.Hash + } + return 0 +} + +func (x *CUserMessageCloseCaption) GetDuration() float32 { + if x != nil && x.Duration != nil { + return *x.Duration + } + return 0 +} + +func (x *CUserMessageCloseCaption) GetFromPlayer() bool { + if x != nil && x.FromPlayer != nil { + return *x.FromPlayer + } + return false +} + +func (x *CUserMessageCloseCaption) GetEntIndex() int32 { + if x != nil && x.EntIndex != nil { + return *x.EntIndex + } + return 0 +} + +type CUserMessageCloseCaptionDirect struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Hash *uint32 `protobuf:"fixed32,1,opt,name=hash" json:"hash,omitempty"` + Duration *float32 `protobuf:"fixed32,2,opt,name=duration" json:"duration,omitempty"` + FromPlayer *bool `protobuf:"varint,3,opt,name=from_player,json=fromPlayer" json:"from_player,omitempty"` + EntIndex *int32 `protobuf:"varint,4,opt,name=ent_index,json=entIndex" json:"ent_index,omitempty"` +} + +func (x *CUserMessageCloseCaptionDirect) Reset() { + *x = CUserMessageCloseCaptionDirect{} + if protoimpl.UnsafeEnabled { + mi := &file_usermessages_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CUserMessageCloseCaptionDirect) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CUserMessageCloseCaptionDirect) ProtoMessage() {} + +func (x *CUserMessageCloseCaptionDirect) ProtoReflect() protoreflect.Message { + mi := &file_usermessages_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CUserMessageCloseCaptionDirect.ProtoReflect.Descriptor instead. +func (*CUserMessageCloseCaptionDirect) Descriptor() ([]byte, []int) { + return file_usermessages_proto_rawDescGZIP(), []int{2} +} + +func (x *CUserMessageCloseCaptionDirect) GetHash() uint32 { + if x != nil && x.Hash != nil { + return *x.Hash + } + return 0 +} + +func (x *CUserMessageCloseCaptionDirect) GetDuration() float32 { + if x != nil && x.Duration != nil { + return *x.Duration + } + return 0 +} + +func (x *CUserMessageCloseCaptionDirect) GetFromPlayer() bool { + if x != nil && x.FromPlayer != nil { + return *x.FromPlayer + } + return false +} + +func (x *CUserMessageCloseCaptionDirect) GetEntIndex() int32 { + if x != nil && x.EntIndex != nil { + return *x.EntIndex + } + return 0 +} + +type CUserMessageCloseCaptionPlaceholder struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + String_ *string `protobuf:"bytes,1,opt,name=string" json:"string,omitempty"` + Duration *float32 `protobuf:"fixed32,2,opt,name=duration" json:"duration,omitempty"` + FromPlayer *bool `protobuf:"varint,3,opt,name=from_player,json=fromPlayer" json:"from_player,omitempty"` + EntIndex *int32 `protobuf:"varint,4,opt,name=ent_index,json=entIndex" json:"ent_index,omitempty"` +} + +func (x *CUserMessageCloseCaptionPlaceholder) Reset() { + *x = CUserMessageCloseCaptionPlaceholder{} + if protoimpl.UnsafeEnabled { + mi := &file_usermessages_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CUserMessageCloseCaptionPlaceholder) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CUserMessageCloseCaptionPlaceholder) ProtoMessage() {} + +func (x *CUserMessageCloseCaptionPlaceholder) ProtoReflect() protoreflect.Message { + mi := &file_usermessages_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CUserMessageCloseCaptionPlaceholder.ProtoReflect.Descriptor instead. +func (*CUserMessageCloseCaptionPlaceholder) Descriptor() ([]byte, []int) { + return file_usermessages_proto_rawDescGZIP(), []int{3} +} + +func (x *CUserMessageCloseCaptionPlaceholder) GetString_() string { + if x != nil && x.String_ != nil { + return *x.String_ + } + return "" +} + +func (x *CUserMessageCloseCaptionPlaceholder) GetDuration() float32 { + if x != nil && x.Duration != nil { + return *x.Duration + } + return 0 +} + +func (x *CUserMessageCloseCaptionPlaceholder) GetFromPlayer() bool { + if x != nil && x.FromPlayer != nil { + return *x.FromPlayer + } + return false +} + +func (x *CUserMessageCloseCaptionPlaceholder) GetEntIndex() int32 { + if x != nil && x.EntIndex != nil { + return *x.EntIndex + } + return 0 +} + +type CUserMessageCurrentTimescale struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Current *float32 `protobuf:"fixed32,1,opt,name=current" json:"current,omitempty"` +} + +func (x *CUserMessageCurrentTimescale) Reset() { + *x = CUserMessageCurrentTimescale{} + if protoimpl.UnsafeEnabled { + mi := &file_usermessages_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CUserMessageCurrentTimescale) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CUserMessageCurrentTimescale) ProtoMessage() {} + +func (x *CUserMessageCurrentTimescale) ProtoReflect() protoreflect.Message { + mi := &file_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 CUserMessageCurrentTimescale.ProtoReflect.Descriptor instead. +func (*CUserMessageCurrentTimescale) Descriptor() ([]byte, []int) { + return file_usermessages_proto_rawDescGZIP(), []int{4} +} + +func (x *CUserMessageCurrentTimescale) GetCurrent() float32 { + if x != nil && x.Current != nil { + return *x.Current + } + return 0 +} + +type CUserMessageDesiredTimescale struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Desired *float32 `protobuf:"fixed32,1,opt,name=desired" json:"desired,omitempty"` + Acceleration *float32 `protobuf:"fixed32,2,opt,name=acceleration" json:"acceleration,omitempty"` + Minblendrate *float32 `protobuf:"fixed32,3,opt,name=minblendrate" json:"minblendrate,omitempty"` + Blenddeltamultiplier *float32 `protobuf:"fixed32,4,opt,name=blenddeltamultiplier" json:"blenddeltamultiplier,omitempty"` +} + +func (x *CUserMessageDesiredTimescale) Reset() { + *x = CUserMessageDesiredTimescale{} + if protoimpl.UnsafeEnabled { + mi := &file_usermessages_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CUserMessageDesiredTimescale) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CUserMessageDesiredTimescale) ProtoMessage() {} + +func (x *CUserMessageDesiredTimescale) ProtoReflect() protoreflect.Message { + mi := &file_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 CUserMessageDesiredTimescale.ProtoReflect.Descriptor instead. +func (*CUserMessageDesiredTimescale) Descriptor() ([]byte, []int) { + return file_usermessages_proto_rawDescGZIP(), []int{5} +} + +func (x *CUserMessageDesiredTimescale) GetDesired() float32 { + if x != nil && x.Desired != nil { + return *x.Desired + } + return 0 +} + +func (x *CUserMessageDesiredTimescale) GetAcceleration() float32 { + if x != nil && x.Acceleration != nil { + return *x.Acceleration + } + return 0 +} + +func (x *CUserMessageDesiredTimescale) GetMinblendrate() float32 { + if x != nil && x.Minblendrate != nil { + return *x.Minblendrate + } + return 0 +} + +func (x *CUserMessageDesiredTimescale) GetBlenddeltamultiplier() float32 { + if x != nil && x.Blenddeltamultiplier != nil { + return *x.Blenddeltamultiplier + } + return 0 +} + +type CUserMessageFade struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Duration *uint32 `protobuf:"varint,1,opt,name=duration" json:"duration,omitempty"` + HoldTime *uint32 `protobuf:"varint,2,opt,name=hold_time,json=holdTime" json:"hold_time,omitempty"` + Flags *uint32 `protobuf:"varint,3,opt,name=flags" json:"flags,omitempty"` + Color *uint32 `protobuf:"fixed32,4,opt,name=color" json:"color,omitempty"` +} + +func (x *CUserMessageFade) Reset() { + *x = CUserMessageFade{} + if protoimpl.UnsafeEnabled { + mi := &file_usermessages_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CUserMessageFade) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CUserMessageFade) ProtoMessage() {} + +func (x *CUserMessageFade) ProtoReflect() protoreflect.Message { + mi := &file_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 CUserMessageFade.ProtoReflect.Descriptor instead. +func (*CUserMessageFade) Descriptor() ([]byte, []int) { + return file_usermessages_proto_rawDescGZIP(), []int{6} +} + +func (x *CUserMessageFade) GetDuration() uint32 { + if x != nil && x.Duration != nil { + return *x.Duration + } + return 0 +} + +func (x *CUserMessageFade) GetHoldTime() uint32 { + if x != nil && x.HoldTime != nil { + return *x.HoldTime + } + return 0 +} + +func (x *CUserMessageFade) GetFlags() uint32 { + if x != nil && x.Flags != nil { + return *x.Flags + } + return 0 +} + +func (x *CUserMessageFade) GetColor() uint32 { + if x != nil && x.Color != nil { + return *x.Color + } + return 0 +} + +type CUserMessageShake struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Command *uint32 `protobuf:"varint,1,opt,name=command" json:"command,omitempty"` + Amplitude *float32 `protobuf:"fixed32,2,opt,name=amplitude" json:"amplitude,omitempty"` + Frequency *float32 `protobuf:"fixed32,3,opt,name=frequency" json:"frequency,omitempty"` + Duration *float32 `protobuf:"fixed32,4,opt,name=duration" json:"duration,omitempty"` +} + +func (x *CUserMessageShake) Reset() { + *x = CUserMessageShake{} + if protoimpl.UnsafeEnabled { + mi := &file_usermessages_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CUserMessageShake) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CUserMessageShake) ProtoMessage() {} + +func (x *CUserMessageShake) ProtoReflect() protoreflect.Message { + mi := &file_usermessages_proto_msgTypes[7] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CUserMessageShake.ProtoReflect.Descriptor instead. +func (*CUserMessageShake) Descriptor() ([]byte, []int) { + return file_usermessages_proto_rawDescGZIP(), []int{7} +} + +func (x *CUserMessageShake) GetCommand() uint32 { + if x != nil && x.Command != nil { + return *x.Command + } + return 0 +} + +func (x *CUserMessageShake) GetAmplitude() float32 { + if x != nil && x.Amplitude != nil { + return *x.Amplitude + } + return 0 +} + +func (x *CUserMessageShake) GetFrequency() float32 { + if x != nil && x.Frequency != nil { + return *x.Frequency + } + return 0 +} + +func (x *CUserMessageShake) GetDuration() float32 { + if x != nil && x.Duration != nil { + return *x.Duration + } + return 0 +} + +type CUserMessageShakeDir struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Shake *CUserMessageShake `protobuf:"bytes,1,opt,name=shake" json:"shake,omitempty"` + Direction *CMsgVector `protobuf:"bytes,2,opt,name=direction" json:"direction,omitempty"` +} + +func (x *CUserMessageShakeDir) Reset() { + *x = CUserMessageShakeDir{} + if protoimpl.UnsafeEnabled { + mi := &file_usermessages_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CUserMessageShakeDir) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CUserMessageShakeDir) ProtoMessage() {} + +func (x *CUserMessageShakeDir) ProtoReflect() protoreflect.Message { + mi := &file_usermessages_proto_msgTypes[8] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CUserMessageShakeDir.ProtoReflect.Descriptor instead. +func (*CUserMessageShakeDir) Descriptor() ([]byte, []int) { + return file_usermessages_proto_rawDescGZIP(), []int{8} +} + +func (x *CUserMessageShakeDir) GetShake() *CUserMessageShake { + if x != nil { + return x.Shake + } + return nil +} + +func (x *CUserMessageShakeDir) GetDirection() *CMsgVector { + if x != nil { + return x.Direction + } + return nil +} + +type CUserMessageScreenTilt struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Command *uint32 `protobuf:"varint,1,opt,name=command" json:"command,omitempty"` + EaseInOut *bool `protobuf:"varint,2,opt,name=ease_in_out,json=easeInOut" json:"ease_in_out,omitempty"` + Angle *CMsgVector `protobuf:"bytes,3,opt,name=angle" json:"angle,omitempty"` + Duration *float32 `protobuf:"fixed32,4,opt,name=duration" json:"duration,omitempty"` + Time *float32 `protobuf:"fixed32,5,opt,name=time" json:"time,omitempty"` +} + +func (x *CUserMessageScreenTilt) Reset() { + *x = CUserMessageScreenTilt{} + if protoimpl.UnsafeEnabled { + mi := &file_usermessages_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CUserMessageScreenTilt) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CUserMessageScreenTilt) ProtoMessage() {} + +func (x *CUserMessageScreenTilt) ProtoReflect() protoreflect.Message { + mi := &file_usermessages_proto_msgTypes[9] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CUserMessageScreenTilt.ProtoReflect.Descriptor instead. +func (*CUserMessageScreenTilt) Descriptor() ([]byte, []int) { + return file_usermessages_proto_rawDescGZIP(), []int{9} +} + +func (x *CUserMessageScreenTilt) GetCommand() uint32 { + if x != nil && x.Command != nil { + return *x.Command + } + return 0 +} + +func (x *CUserMessageScreenTilt) GetEaseInOut() bool { + if x != nil && x.EaseInOut != nil { + return *x.EaseInOut + } + return false +} + +func (x *CUserMessageScreenTilt) GetAngle() *CMsgVector { + if x != nil { + return x.Angle + } + return nil +} + +func (x *CUserMessageScreenTilt) GetDuration() float32 { + if x != nil && x.Duration != nil { + return *x.Duration + } + return 0 +} + +func (x *CUserMessageScreenTilt) GetTime() float32 { + if x != nil && x.Time != nil { + return *x.Time + } + return 0 +} + +type CUserMessageSayText struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Playerindex *int32 `protobuf:"varint,1,opt,name=playerindex" json:"playerindex,omitempty"` + Text *string `protobuf:"bytes,2,opt,name=text" json:"text,omitempty"` + Chat *bool `protobuf:"varint,3,opt,name=chat" json:"chat,omitempty"` +} + +func (x *CUserMessageSayText) Reset() { + *x = CUserMessageSayText{} + if protoimpl.UnsafeEnabled { + mi := &file_usermessages_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CUserMessageSayText) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CUserMessageSayText) ProtoMessage() {} + +func (x *CUserMessageSayText) ProtoReflect() protoreflect.Message { + mi := &file_usermessages_proto_msgTypes[10] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CUserMessageSayText.ProtoReflect.Descriptor instead. +func (*CUserMessageSayText) Descriptor() ([]byte, []int) { + return file_usermessages_proto_rawDescGZIP(), []int{10} +} + +func (x *CUserMessageSayText) GetPlayerindex() int32 { + if x != nil && x.Playerindex != nil { + return *x.Playerindex + } + return 0 +} + +func (x *CUserMessageSayText) GetText() string { + if x != nil && x.Text != nil { + return *x.Text + } + return "" +} + +func (x *CUserMessageSayText) GetChat() bool { + if x != nil && x.Chat != nil { + return *x.Chat + } + return false +} + +type CUserMessageSayText2 struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Entityindex *int32 `protobuf:"varint,1,opt,name=entityindex" json:"entityindex,omitempty"` + Chat *bool `protobuf:"varint,2,opt,name=chat" json:"chat,omitempty"` + Messagename *string `protobuf:"bytes,3,opt,name=messagename" json:"messagename,omitempty"` + Param1 *string `protobuf:"bytes,4,opt,name=param1" json:"param1,omitempty"` + Param2 *string `protobuf:"bytes,5,opt,name=param2" json:"param2,omitempty"` + Param3 *string `protobuf:"bytes,6,opt,name=param3" json:"param3,omitempty"` + Param4 *string `protobuf:"bytes,7,opt,name=param4" json:"param4,omitempty"` +} + +func (x *CUserMessageSayText2) Reset() { + *x = CUserMessageSayText2{} + if protoimpl.UnsafeEnabled { + mi := &file_usermessages_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CUserMessageSayText2) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CUserMessageSayText2) ProtoMessage() {} + +func (x *CUserMessageSayText2) ProtoReflect() protoreflect.Message { + mi := &file_usermessages_proto_msgTypes[11] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CUserMessageSayText2.ProtoReflect.Descriptor instead. +func (*CUserMessageSayText2) Descriptor() ([]byte, []int) { + return file_usermessages_proto_rawDescGZIP(), []int{11} +} + +func (x *CUserMessageSayText2) GetEntityindex() int32 { + if x != nil && x.Entityindex != nil { + return *x.Entityindex + } + return 0 +} + +func (x *CUserMessageSayText2) GetChat() bool { + if x != nil && x.Chat != nil { + return *x.Chat + } + return false +} + +func (x *CUserMessageSayText2) GetMessagename() string { + if x != nil && x.Messagename != nil { + return *x.Messagename + } + return "" +} + +func (x *CUserMessageSayText2) GetParam1() string { + if x != nil && x.Param1 != nil { + return *x.Param1 + } + return "" +} + +func (x *CUserMessageSayText2) GetParam2() string { + if x != nil && x.Param2 != nil { + return *x.Param2 + } + return "" +} + +func (x *CUserMessageSayText2) GetParam3() string { + if x != nil && x.Param3 != nil { + return *x.Param3 + } + return "" +} + +func (x *CUserMessageSayText2) GetParam4() string { + if x != nil && x.Param4 != nil { + return *x.Param4 + } + return "" +} + +type CUserMessageHudMsg struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Channel *uint32 `protobuf:"varint,1,opt,name=channel" json:"channel,omitempty"` + X *float32 `protobuf:"fixed32,2,opt,name=x" json:"x,omitempty"` + Y *float32 `protobuf:"fixed32,3,opt,name=y" json:"y,omitempty"` + Color1 *uint32 `protobuf:"fixed32,4,opt,name=color1" json:"color1,omitempty"` + Color2 *uint32 `protobuf:"fixed32,5,opt,name=color2" json:"color2,omitempty"` + Effect *uint32 `protobuf:"varint,6,opt,name=effect" json:"effect,omitempty"` + FadeInTime *float32 `protobuf:"fixed32,7,opt,name=fade_in_time,json=fadeInTime" json:"fade_in_time,omitempty"` + FadeOutTime *float32 `protobuf:"fixed32,8,opt,name=fade_out_time,json=fadeOutTime" json:"fade_out_time,omitempty"` + HoldTime *float32 `protobuf:"fixed32,9,opt,name=hold_time,json=holdTime" json:"hold_time,omitempty"` + FxTime *float32 `protobuf:"fixed32,10,opt,name=fx_time,json=fxTime" json:"fx_time,omitempty"` + Message *string `protobuf:"bytes,11,opt,name=message" json:"message,omitempty"` +} + +func (x *CUserMessageHudMsg) Reset() { + *x = CUserMessageHudMsg{} + if protoimpl.UnsafeEnabled { + mi := &file_usermessages_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CUserMessageHudMsg) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CUserMessageHudMsg) ProtoMessage() {} + +func (x *CUserMessageHudMsg) ProtoReflect() protoreflect.Message { + mi := &file_usermessages_proto_msgTypes[12] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CUserMessageHudMsg.ProtoReflect.Descriptor instead. +func (*CUserMessageHudMsg) Descriptor() ([]byte, []int) { + return file_usermessages_proto_rawDescGZIP(), []int{12} +} + +func (x *CUserMessageHudMsg) GetChannel() uint32 { + if x != nil && x.Channel != nil { + return *x.Channel + } + return 0 +} + +func (x *CUserMessageHudMsg) GetX() float32 { + if x != nil && x.X != nil { + return *x.X + } + return 0 +} + +func (x *CUserMessageHudMsg) GetY() float32 { + if x != nil && x.Y != nil { + return *x.Y + } + return 0 +} + +func (x *CUserMessageHudMsg) GetColor1() uint32 { + if x != nil && x.Color1 != nil { + return *x.Color1 + } + return 0 +} + +func (x *CUserMessageHudMsg) GetColor2() uint32 { + if x != nil && x.Color2 != nil { + return *x.Color2 + } + return 0 +} + +func (x *CUserMessageHudMsg) GetEffect() uint32 { + if x != nil && x.Effect != nil { + return *x.Effect + } + return 0 +} + +func (x *CUserMessageHudMsg) GetFadeInTime() float32 { + if x != nil && x.FadeInTime != nil { + return *x.FadeInTime + } + return 0 +} + +func (x *CUserMessageHudMsg) GetFadeOutTime() float32 { + if x != nil && x.FadeOutTime != nil { + return *x.FadeOutTime + } + return 0 +} + +func (x *CUserMessageHudMsg) GetHoldTime() float32 { + if x != nil && x.HoldTime != nil { + return *x.HoldTime + } + return 0 +} + +func (x *CUserMessageHudMsg) GetFxTime() float32 { + if x != nil && x.FxTime != nil { + return *x.FxTime + } + return 0 +} + +func (x *CUserMessageHudMsg) GetMessage() string { + if x != nil && x.Message != nil { + return *x.Message + } + return "" +} + +type CUserMessageHudText struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Message *string `protobuf:"bytes,1,opt,name=message" json:"message,omitempty"` +} + +func (x *CUserMessageHudText) Reset() { + *x = CUserMessageHudText{} + if protoimpl.UnsafeEnabled { + mi := &file_usermessages_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CUserMessageHudText) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CUserMessageHudText) ProtoMessage() {} + +func (x *CUserMessageHudText) ProtoReflect() protoreflect.Message { + mi := &file_usermessages_proto_msgTypes[13] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CUserMessageHudText.ProtoReflect.Descriptor instead. +func (*CUserMessageHudText) Descriptor() ([]byte, []int) { + return file_usermessages_proto_rawDescGZIP(), []int{13} +} + +func (x *CUserMessageHudText) GetMessage() string { + if x != nil && x.Message != nil { + return *x.Message + } + return "" +} + +type CUserMessageTextMsg struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Dest *uint32 `protobuf:"varint,1,opt,name=dest" json:"dest,omitempty"` + Param []string `protobuf:"bytes,2,rep,name=param" json:"param,omitempty"` +} + +func (x *CUserMessageTextMsg) Reset() { + *x = CUserMessageTextMsg{} + if protoimpl.UnsafeEnabled { + mi := &file_usermessages_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CUserMessageTextMsg) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CUserMessageTextMsg) ProtoMessage() {} + +func (x *CUserMessageTextMsg) ProtoReflect() protoreflect.Message { + mi := &file_usermessages_proto_msgTypes[14] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CUserMessageTextMsg.ProtoReflect.Descriptor instead. +func (*CUserMessageTextMsg) Descriptor() ([]byte, []int) { + return file_usermessages_proto_rawDescGZIP(), []int{14} +} + +func (x *CUserMessageTextMsg) GetDest() uint32 { + if x != nil && x.Dest != nil { + return *x.Dest + } + return 0 +} + +func (x *CUserMessageTextMsg) GetParam() []string { + if x != nil { + return x.Param + } + return nil +} + +type CUserMessageGameTitle struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *CUserMessageGameTitle) Reset() { + *x = CUserMessageGameTitle{} + if protoimpl.UnsafeEnabled { + mi := &file_usermessages_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CUserMessageGameTitle) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CUserMessageGameTitle) ProtoMessage() {} + +func (x *CUserMessageGameTitle) ProtoReflect() protoreflect.Message { + mi := &file_usermessages_proto_msgTypes[15] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CUserMessageGameTitle.ProtoReflect.Descriptor instead. +func (*CUserMessageGameTitle) Descriptor() ([]byte, []int) { + return file_usermessages_proto_rawDescGZIP(), []int{15} +} + +type CUserMessageResetHUD struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *CUserMessageResetHUD) Reset() { + *x = CUserMessageResetHUD{} + if protoimpl.UnsafeEnabled { + mi := &file_usermessages_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CUserMessageResetHUD) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CUserMessageResetHUD) ProtoMessage() {} + +func (x *CUserMessageResetHUD) ProtoReflect() protoreflect.Message { + mi := &file_usermessages_proto_msgTypes[16] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CUserMessageResetHUD.ProtoReflect.Descriptor instead. +func (*CUserMessageResetHUD) Descriptor() ([]byte, []int) { + return file_usermessages_proto_rawDescGZIP(), []int{16} +} + +type CUserMessageSendAudio struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Soundname *string `protobuf:"bytes,1,opt,name=soundname" json:"soundname,omitempty"` + Stop *bool `protobuf:"varint,2,opt,name=stop" json:"stop,omitempty"` +} + +func (x *CUserMessageSendAudio) Reset() { + *x = CUserMessageSendAudio{} + if protoimpl.UnsafeEnabled { + mi := &file_usermessages_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CUserMessageSendAudio) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CUserMessageSendAudio) ProtoMessage() {} + +func (x *CUserMessageSendAudio) ProtoReflect() protoreflect.Message { + mi := &file_usermessages_proto_msgTypes[17] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CUserMessageSendAudio.ProtoReflect.Descriptor instead. +func (*CUserMessageSendAudio) Descriptor() ([]byte, []int) { + return file_usermessages_proto_rawDescGZIP(), []int{17} +} + +func (x *CUserMessageSendAudio) GetSoundname() string { + if x != nil && x.Soundname != nil { + return *x.Soundname + } + return "" +} + +func (x *CUserMessageSendAudio) GetStop() bool { + if x != nil && x.Stop != nil { + return *x.Stop + } + return false +} + +type CUserMessageAudioParameter struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ParameterType *uint32 `protobuf:"varint,1,opt,name=parameter_type,json=parameterType" json:"parameter_type,omitempty"` + NameHashCode *uint32 `protobuf:"varint,2,opt,name=name_hash_code,json=nameHashCode" json:"name_hash_code,omitempty"` + Value *float32 `protobuf:"fixed32,3,opt,name=value" json:"value,omitempty"` + IntValue *uint32 `protobuf:"varint,4,opt,name=int_value,json=intValue" json:"int_value,omitempty"` +} + +func (x *CUserMessageAudioParameter) Reset() { + *x = CUserMessageAudioParameter{} + if protoimpl.UnsafeEnabled { + mi := &file_usermessages_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CUserMessageAudioParameter) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CUserMessageAudioParameter) ProtoMessage() {} + +func (x *CUserMessageAudioParameter) ProtoReflect() protoreflect.Message { + mi := &file_usermessages_proto_msgTypes[18] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CUserMessageAudioParameter.ProtoReflect.Descriptor instead. +func (*CUserMessageAudioParameter) Descriptor() ([]byte, []int) { + return file_usermessages_proto_rawDescGZIP(), []int{18} +} + +func (x *CUserMessageAudioParameter) GetParameterType() uint32 { + if x != nil && x.ParameterType != nil { + return *x.ParameterType + } + return 0 +} + +func (x *CUserMessageAudioParameter) GetNameHashCode() uint32 { + if x != nil && x.NameHashCode != nil { + return *x.NameHashCode + } + return 0 +} + +func (x *CUserMessageAudioParameter) GetValue() float32 { + if x != nil && x.Value != nil { + return *x.Value + } + return 0 +} + +func (x *CUserMessageAudioParameter) GetIntValue() uint32 { + if x != nil && x.IntValue != nil { + return *x.IntValue + } + return 0 +} + +type CUserMessageVoiceMask struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + GamerulesMasks []uint32 `protobuf:"varint,1,rep,name=gamerules_masks,json=gamerulesMasks" json:"gamerules_masks,omitempty"` + BanMasks []uint32 `protobuf:"varint,2,rep,name=ban_masks,json=banMasks" json:"ban_masks,omitempty"` + ModEnable *bool `protobuf:"varint,3,opt,name=mod_enable,json=modEnable" json:"mod_enable,omitempty"` +} + +func (x *CUserMessageVoiceMask) Reset() { + *x = CUserMessageVoiceMask{} + if protoimpl.UnsafeEnabled { + mi := &file_usermessages_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CUserMessageVoiceMask) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CUserMessageVoiceMask) ProtoMessage() {} + +func (x *CUserMessageVoiceMask) ProtoReflect() protoreflect.Message { + mi := &file_usermessages_proto_msgTypes[19] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CUserMessageVoiceMask.ProtoReflect.Descriptor instead. +func (*CUserMessageVoiceMask) Descriptor() ([]byte, []int) { + return file_usermessages_proto_rawDescGZIP(), []int{19} +} + +func (x *CUserMessageVoiceMask) GetGamerulesMasks() []uint32 { + if x != nil { + return x.GamerulesMasks + } + return nil +} + +func (x *CUserMessageVoiceMask) GetBanMasks() []uint32 { + if x != nil { + return x.BanMasks + } + return nil +} + +func (x *CUserMessageVoiceMask) GetModEnable() bool { + if x != nil && x.ModEnable != nil { + return *x.ModEnable + } + return false +} + +type CUserMessageRequestState struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *CUserMessageRequestState) Reset() { + *x = CUserMessageRequestState{} + if protoimpl.UnsafeEnabled { + mi := &file_usermessages_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CUserMessageRequestState) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CUserMessageRequestState) ProtoMessage() {} + +func (x *CUserMessageRequestState) ProtoReflect() protoreflect.Message { + mi := &file_usermessages_proto_msgTypes[20] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CUserMessageRequestState.ProtoReflect.Descriptor instead. +func (*CUserMessageRequestState) Descriptor() ([]byte, []int) { + return file_usermessages_proto_rawDescGZIP(), []int{20} +} + +type CUserMessageRumble struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Index *int32 `protobuf:"varint,1,opt,name=index" json:"index,omitempty"` + Data *int32 `protobuf:"varint,2,opt,name=data" json:"data,omitempty"` + Flags *int32 `protobuf:"varint,3,opt,name=flags" json:"flags,omitempty"` +} + +func (x *CUserMessageRumble) Reset() { + *x = CUserMessageRumble{} + if protoimpl.UnsafeEnabled { + mi := &file_usermessages_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CUserMessageRumble) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CUserMessageRumble) ProtoMessage() {} + +func (x *CUserMessageRumble) ProtoReflect() protoreflect.Message { + mi := &file_usermessages_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 CUserMessageRumble.ProtoReflect.Descriptor instead. +func (*CUserMessageRumble) Descriptor() ([]byte, []int) { + return file_usermessages_proto_rawDescGZIP(), []int{21} +} + +func (x *CUserMessageRumble) GetIndex() int32 { + if x != nil && x.Index != nil { + return *x.Index + } + return 0 +} + +func (x *CUserMessageRumble) GetData() int32 { + if x != nil && x.Data != nil { + return *x.Data + } + return 0 +} + +func (x *CUserMessageRumble) GetFlags() int32 { + if x != nil && x.Flags != nil { + return *x.Flags + } + return 0 +} + +type CUserMessageSayTextChannel struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Player *int32 `protobuf:"varint,1,opt,name=player" json:"player,omitempty"` + Channel *int32 `protobuf:"varint,2,opt,name=channel" json:"channel,omitempty"` + Text *string `protobuf:"bytes,3,opt,name=text" json:"text,omitempty"` +} + +func (x *CUserMessageSayTextChannel) Reset() { + *x = CUserMessageSayTextChannel{} + if protoimpl.UnsafeEnabled { + mi := &file_usermessages_proto_msgTypes[22] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CUserMessageSayTextChannel) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CUserMessageSayTextChannel) ProtoMessage() {} + +func (x *CUserMessageSayTextChannel) ProtoReflect() protoreflect.Message { + mi := &file_usermessages_proto_msgTypes[22] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CUserMessageSayTextChannel.ProtoReflect.Descriptor instead. +func (*CUserMessageSayTextChannel) Descriptor() ([]byte, []int) { + return file_usermessages_proto_rawDescGZIP(), []int{22} +} + +func (x *CUserMessageSayTextChannel) GetPlayer() int32 { + if x != nil && x.Player != nil { + return *x.Player + } + return 0 +} + +func (x *CUserMessageSayTextChannel) GetChannel() int32 { + if x != nil && x.Channel != nil { + return *x.Channel + } + return 0 +} + +func (x *CUserMessageSayTextChannel) GetText() string { + if x != nil && x.Text != nil { + return *x.Text + } + return "" +} + +type CUserMessageColoredText struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Color *uint32 `protobuf:"varint,1,opt,name=color" json:"color,omitempty"` + Text *string `protobuf:"bytes,2,opt,name=text" json:"text,omitempty"` + Reset_ *bool `protobuf:"varint,3,opt,name=reset" json:"reset,omitempty"` + ContextPlayerSlot *int32 `protobuf:"varint,4,opt,name=context_player_slot,json=contextPlayerSlot" json:"context_player_slot,omitempty"` + ContextValue *int32 `protobuf:"varint,5,opt,name=context_value,json=contextValue" json:"context_value,omitempty"` + ContextTeamId *int32 `protobuf:"varint,6,opt,name=context_team_id,json=contextTeamId" json:"context_team_id,omitempty"` +} + +func (x *CUserMessageColoredText) Reset() { + *x = CUserMessageColoredText{} + if protoimpl.UnsafeEnabled { + mi := &file_usermessages_proto_msgTypes[23] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CUserMessageColoredText) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CUserMessageColoredText) ProtoMessage() {} + +func (x *CUserMessageColoredText) ProtoReflect() protoreflect.Message { + mi := &file_usermessages_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 CUserMessageColoredText.ProtoReflect.Descriptor instead. +func (*CUserMessageColoredText) Descriptor() ([]byte, []int) { + return file_usermessages_proto_rawDescGZIP(), []int{23} +} + +func (x *CUserMessageColoredText) GetColor() uint32 { + if x != nil && x.Color != nil { + return *x.Color + } + return 0 +} + +func (x *CUserMessageColoredText) GetText() string { + if x != nil && x.Text != nil { + return *x.Text + } + return "" +} + +func (x *CUserMessageColoredText) GetReset_() bool { + if x != nil && x.Reset_ != nil { + return *x.Reset_ + } + return false +} + +func (x *CUserMessageColoredText) GetContextPlayerSlot() int32 { + if x != nil && x.ContextPlayerSlot != nil { + return *x.ContextPlayerSlot + } + return 0 +} + +func (x *CUserMessageColoredText) GetContextValue() int32 { + if x != nil && x.ContextValue != nil { + return *x.ContextValue + } + return 0 +} + +func (x *CUserMessageColoredText) GetContextTeamId() int32 { + if x != nil && x.ContextTeamId != nil { + return *x.ContextTeamId + } + return 0 +} + +type CUserMessageItemPickup struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Itemname *string `protobuf:"bytes,1,opt,name=itemname" json:"itemname,omitempty"` +} + +func (x *CUserMessageItemPickup) Reset() { + *x = CUserMessageItemPickup{} + if protoimpl.UnsafeEnabled { + mi := &file_usermessages_proto_msgTypes[24] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CUserMessageItemPickup) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CUserMessageItemPickup) ProtoMessage() {} + +func (x *CUserMessageItemPickup) ProtoReflect() protoreflect.Message { + mi := &file_usermessages_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 CUserMessageItemPickup.ProtoReflect.Descriptor instead. +func (*CUserMessageItemPickup) Descriptor() ([]byte, []int) { + return file_usermessages_proto_rawDescGZIP(), []int{24} +} + +func (x *CUserMessageItemPickup) GetItemname() string { + if x != nil && x.Itemname != nil { + return *x.Itemname + } + return "" +} + +type CUserMessageAmmoDenied struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + AmmoId *uint32 `protobuf:"varint,1,opt,name=ammo_id,json=ammoId" json:"ammo_id,omitempty"` +} + +func (x *CUserMessageAmmoDenied) Reset() { + *x = CUserMessageAmmoDenied{} + if protoimpl.UnsafeEnabled { + mi := &file_usermessages_proto_msgTypes[25] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CUserMessageAmmoDenied) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CUserMessageAmmoDenied) ProtoMessage() {} + +func (x *CUserMessageAmmoDenied) ProtoReflect() protoreflect.Message { + mi := &file_usermessages_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 CUserMessageAmmoDenied.ProtoReflect.Descriptor instead. +func (*CUserMessageAmmoDenied) Descriptor() ([]byte, []int) { + return file_usermessages_proto_rawDescGZIP(), []int{25} +} + +func (x *CUserMessageAmmoDenied) GetAmmoId() uint32 { + if x != nil && x.AmmoId != nil { + return *x.AmmoId + } + return 0 +} + +type CUserMessageShowMenu struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Validslots *uint32 `protobuf:"varint,1,opt,name=validslots" json:"validslots,omitempty"` + Displaytime *uint32 `protobuf:"varint,2,opt,name=displaytime" json:"displaytime,omitempty"` + Needmore *bool `protobuf:"varint,3,opt,name=needmore" json:"needmore,omitempty"` + Menustring *string `protobuf:"bytes,4,opt,name=menustring" json:"menustring,omitempty"` +} + +func (x *CUserMessageShowMenu) Reset() { + *x = CUserMessageShowMenu{} + if protoimpl.UnsafeEnabled { + mi := &file_usermessages_proto_msgTypes[26] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CUserMessageShowMenu) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CUserMessageShowMenu) ProtoMessage() {} + +func (x *CUserMessageShowMenu) ProtoReflect() protoreflect.Message { + mi := &file_usermessages_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 CUserMessageShowMenu.ProtoReflect.Descriptor instead. +func (*CUserMessageShowMenu) Descriptor() ([]byte, []int) { + return file_usermessages_proto_rawDescGZIP(), []int{26} +} + +func (x *CUserMessageShowMenu) GetValidslots() uint32 { + if x != nil && x.Validslots != nil { + return *x.Validslots + } + return 0 +} + +func (x *CUserMessageShowMenu) GetDisplaytime() uint32 { + if x != nil && x.Displaytime != nil { + return *x.Displaytime + } + return 0 +} + +func (x *CUserMessageShowMenu) GetNeedmore() bool { + if x != nil && x.Needmore != nil { + return *x.Needmore + } + return false +} + +func (x *CUserMessageShowMenu) GetMenustring() string { + if x != nil && x.Menustring != nil { + return *x.Menustring + } + return "" +} + +type CUserMessageCreditsMsg struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Rolltype *ERollType `protobuf:"varint,1,opt,name=rolltype,enum=ERollType,def=-1" json:"rolltype,omitempty"` + LogoLength *float32 `protobuf:"fixed32,2,opt,name=logo_length,json=logoLength" json:"logo_length,omitempty"` +} + +// Default values for CUserMessageCreditsMsg fields. +const ( + Default_CUserMessageCreditsMsg_Rolltype = ERollType_ROLL_NONE +) + +func (x *CUserMessageCreditsMsg) Reset() { + *x = CUserMessageCreditsMsg{} + if protoimpl.UnsafeEnabled { + mi := &file_usermessages_proto_msgTypes[27] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CUserMessageCreditsMsg) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CUserMessageCreditsMsg) ProtoMessage() {} + +func (x *CUserMessageCreditsMsg) ProtoReflect() protoreflect.Message { + mi := &file_usermessages_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 CUserMessageCreditsMsg.ProtoReflect.Descriptor instead. +func (*CUserMessageCreditsMsg) Descriptor() ([]byte, []int) { + return file_usermessages_proto_rawDescGZIP(), []int{27} +} + +func (x *CUserMessageCreditsMsg) GetRolltype() ERollType { + if x != nil && x.Rolltype != nil { + return *x.Rolltype + } + return Default_CUserMessageCreditsMsg_Rolltype +} + +func (x *CUserMessageCreditsMsg) GetLogoLength() float32 { + if x != nil && x.LogoLength != nil { + return *x.LogoLength + } + return 0 +} + +type CEntityMessagePlayJingle struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + EntityMsg *CEntityMsg `protobuf:"bytes,1,opt,name=entity_msg,json=entityMsg" json:"entity_msg,omitempty"` +} + +func (x *CEntityMessagePlayJingle) Reset() { + *x = CEntityMessagePlayJingle{} + if protoimpl.UnsafeEnabled { + mi := &file_usermessages_proto_msgTypes[28] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CEntityMessagePlayJingle) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CEntityMessagePlayJingle) ProtoMessage() {} + +func (x *CEntityMessagePlayJingle) ProtoReflect() protoreflect.Message { + mi := &file_usermessages_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 CEntityMessagePlayJingle.ProtoReflect.Descriptor instead. +func (*CEntityMessagePlayJingle) Descriptor() ([]byte, []int) { + return file_usermessages_proto_rawDescGZIP(), []int{28} +} + +func (x *CEntityMessagePlayJingle) GetEntityMsg() *CEntityMsg { + if x != nil { + return x.EntityMsg + } + return nil +} + +type CEntityMessageScreenOverlay struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + StartEffect *bool `protobuf:"varint,1,opt,name=start_effect,json=startEffect" json:"start_effect,omitempty"` + EntityMsg *CEntityMsg `protobuf:"bytes,2,opt,name=entity_msg,json=entityMsg" json:"entity_msg,omitempty"` +} + +func (x *CEntityMessageScreenOverlay) Reset() { + *x = CEntityMessageScreenOverlay{} + if protoimpl.UnsafeEnabled { + mi := &file_usermessages_proto_msgTypes[29] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CEntityMessageScreenOverlay) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CEntityMessageScreenOverlay) ProtoMessage() {} + +func (x *CEntityMessageScreenOverlay) ProtoReflect() protoreflect.Message { + mi := &file_usermessages_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 CEntityMessageScreenOverlay.ProtoReflect.Descriptor instead. +func (*CEntityMessageScreenOverlay) Descriptor() ([]byte, []int) { + return file_usermessages_proto_rawDescGZIP(), []int{29} +} + +func (x *CEntityMessageScreenOverlay) GetStartEffect() bool { + if x != nil && x.StartEffect != nil { + return *x.StartEffect + } + return false +} + +func (x *CEntityMessageScreenOverlay) GetEntityMsg() *CEntityMsg { + if x != nil { + return x.EntityMsg + } + return nil +} + +type CEntityMessageRemoveAllDecals struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + RemoveDecals *bool `protobuf:"varint,1,opt,name=remove_decals,json=removeDecals" json:"remove_decals,omitempty"` + EntityMsg *CEntityMsg `protobuf:"bytes,2,opt,name=entity_msg,json=entityMsg" json:"entity_msg,omitempty"` +} + +func (x *CEntityMessageRemoveAllDecals) Reset() { + *x = CEntityMessageRemoveAllDecals{} + if protoimpl.UnsafeEnabled { + mi := &file_usermessages_proto_msgTypes[30] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CEntityMessageRemoveAllDecals) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CEntityMessageRemoveAllDecals) ProtoMessage() {} + +func (x *CEntityMessageRemoveAllDecals) ProtoReflect() protoreflect.Message { + mi := &file_usermessages_proto_msgTypes[30] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CEntityMessageRemoveAllDecals.ProtoReflect.Descriptor instead. +func (*CEntityMessageRemoveAllDecals) Descriptor() ([]byte, []int) { + return file_usermessages_proto_rawDescGZIP(), []int{30} +} + +func (x *CEntityMessageRemoveAllDecals) GetRemoveDecals() bool { + if x != nil && x.RemoveDecals != nil { + return *x.RemoveDecals + } + return false +} + +func (x *CEntityMessageRemoveAllDecals) GetEntityMsg() *CEntityMsg { + if x != nil { + return x.EntityMsg + } + return nil +} + +type CEntityMessagePropagateForce struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Impulse *CMsgVector `protobuf:"bytes,1,opt,name=impulse" json:"impulse,omitempty"` + EntityMsg *CEntityMsg `protobuf:"bytes,2,opt,name=entity_msg,json=entityMsg" json:"entity_msg,omitempty"` +} + +func (x *CEntityMessagePropagateForce) Reset() { + *x = CEntityMessagePropagateForce{} + if protoimpl.UnsafeEnabled { + mi := &file_usermessages_proto_msgTypes[31] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CEntityMessagePropagateForce) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CEntityMessagePropagateForce) ProtoMessage() {} + +func (x *CEntityMessagePropagateForce) ProtoReflect() protoreflect.Message { + mi := &file_usermessages_proto_msgTypes[31] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CEntityMessagePropagateForce.ProtoReflect.Descriptor instead. +func (*CEntityMessagePropagateForce) Descriptor() ([]byte, []int) { + return file_usermessages_proto_rawDescGZIP(), []int{31} +} + +func (x *CEntityMessagePropagateForce) GetImpulse() *CMsgVector { + if x != nil { + return x.Impulse + } + return nil +} + +func (x *CEntityMessagePropagateForce) GetEntityMsg() *CEntityMsg { + if x != nil { + return x.EntityMsg + } + return nil +} + +type CEntityMessageDoSpark struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Origin *CMsgVector `protobuf:"bytes,1,opt,name=origin" json:"origin,omitempty"` + Entityindex *int32 `protobuf:"varint,2,opt,name=entityindex" json:"entityindex,omitempty"` + Radius *float32 `protobuf:"fixed32,3,opt,name=radius" json:"radius,omitempty"` + Color *uint32 `protobuf:"fixed32,4,opt,name=color" json:"color,omitempty"` + Beams *uint32 `protobuf:"varint,5,opt,name=beams" json:"beams,omitempty"` + Thick *float32 `protobuf:"fixed32,6,opt,name=thick" json:"thick,omitempty"` + Duration *float32 `protobuf:"fixed32,7,opt,name=duration" json:"duration,omitempty"` + EntityMsg *CEntityMsg `protobuf:"bytes,8,opt,name=entity_msg,json=entityMsg" json:"entity_msg,omitempty"` +} + +func (x *CEntityMessageDoSpark) Reset() { + *x = CEntityMessageDoSpark{} + if protoimpl.UnsafeEnabled { + mi := &file_usermessages_proto_msgTypes[32] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CEntityMessageDoSpark) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CEntityMessageDoSpark) ProtoMessage() {} + +func (x *CEntityMessageDoSpark) ProtoReflect() protoreflect.Message { + mi := &file_usermessages_proto_msgTypes[32] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CEntityMessageDoSpark.ProtoReflect.Descriptor instead. +func (*CEntityMessageDoSpark) Descriptor() ([]byte, []int) { + return file_usermessages_proto_rawDescGZIP(), []int{32} +} + +func (x *CEntityMessageDoSpark) GetOrigin() *CMsgVector { + if x != nil { + return x.Origin + } + return nil +} + +func (x *CEntityMessageDoSpark) GetEntityindex() int32 { + if x != nil && x.Entityindex != nil { + return *x.Entityindex + } + return 0 +} + +func (x *CEntityMessageDoSpark) GetRadius() float32 { + if x != nil && x.Radius != nil { + return *x.Radius + } + return 0 +} + +func (x *CEntityMessageDoSpark) GetColor() uint32 { + if x != nil && x.Color != nil { + return *x.Color + } + return 0 +} + +func (x *CEntityMessageDoSpark) GetBeams() uint32 { + if x != nil && x.Beams != nil { + return *x.Beams + } + return 0 +} + +func (x *CEntityMessageDoSpark) GetThick() float32 { + if x != nil && x.Thick != nil { + return *x.Thick + } + return 0 +} + +func (x *CEntityMessageDoSpark) GetDuration() float32 { + if x != nil && x.Duration != nil { + return *x.Duration + } + return 0 +} + +func (x *CEntityMessageDoSpark) GetEntityMsg() *CEntityMsg { + if x != nil { + return x.EntityMsg + } + return nil +} + +type CEntityMessageFixAngle 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"` + EntityMsg *CEntityMsg `protobuf:"bytes,3,opt,name=entity_msg,json=entityMsg" json:"entity_msg,omitempty"` +} + +func (x *CEntityMessageFixAngle) Reset() { + *x = CEntityMessageFixAngle{} + if protoimpl.UnsafeEnabled { + mi := &file_usermessages_proto_msgTypes[33] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CEntityMessageFixAngle) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CEntityMessageFixAngle) ProtoMessage() {} + +func (x *CEntityMessageFixAngle) ProtoReflect() protoreflect.Message { + mi := &file_usermessages_proto_msgTypes[33] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CEntityMessageFixAngle.ProtoReflect.Descriptor instead. +func (*CEntityMessageFixAngle) Descriptor() ([]byte, []int) { + return file_usermessages_proto_rawDescGZIP(), []int{33} +} + +func (x *CEntityMessageFixAngle) GetRelative() bool { + if x != nil && x.Relative != nil { + return *x.Relative + } + return false +} + +func (x *CEntityMessageFixAngle) GetAngle() *CMsgQAngle { + if x != nil { + return x.Angle + } + return nil +} + +func (x *CEntityMessageFixAngle) GetEntityMsg() *CEntityMsg { + if x != nil { + return x.EntityMsg + } + return nil +} + +type CUserMessageCameraTransition struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + CameraType *uint32 `protobuf:"varint,1,opt,name=camera_type,json=cameraType" json:"camera_type,omitempty"` + Duration *float32 `protobuf:"fixed32,2,opt,name=duration" json:"duration,omitempty"` + ParamsDataDriven *CUserMessageCameraTransition_Transition_DataDriven `protobuf:"bytes,3,opt,name=params_data_driven,json=paramsDataDriven" json:"params_data_driven,omitempty"` +} + +func (x *CUserMessageCameraTransition) Reset() { + *x = CUserMessageCameraTransition{} + if protoimpl.UnsafeEnabled { + mi := &file_usermessages_proto_msgTypes[34] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CUserMessageCameraTransition) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CUserMessageCameraTransition) ProtoMessage() {} + +func (x *CUserMessageCameraTransition) ProtoReflect() protoreflect.Message { + mi := &file_usermessages_proto_msgTypes[34] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CUserMessageCameraTransition.ProtoReflect.Descriptor instead. +func (*CUserMessageCameraTransition) Descriptor() ([]byte, []int) { + return file_usermessages_proto_rawDescGZIP(), []int{34} +} + +func (x *CUserMessageCameraTransition) GetCameraType() uint32 { + if x != nil && x.CameraType != nil { + return *x.CameraType + } + return 0 +} + +func (x *CUserMessageCameraTransition) GetDuration() float32 { + if x != nil && x.Duration != nil { + return *x.Duration + } + return 0 +} + +func (x *CUserMessageCameraTransition) GetParamsDataDriven() *CUserMessageCameraTransition_Transition_DataDriven { + if x != nil { + return x.ParamsDataDriven + } + return nil +} + +type CUserMsg_ParticleManager struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + extensionFields protoimpl.ExtensionFields + + Type *PARTICLE_MESSAGE `protobuf:"varint,1,req,name=type,enum=PARTICLE_MESSAGE,def=0" json:"type,omitempty"` + Index *uint32 `protobuf:"varint,2,req,name=index" json:"index,omitempty"` + ReleaseParticleIndex *CUserMsg_ParticleManager_ReleaseParticleIndex `protobuf:"bytes,3,opt,name=release_particle_index,json=releaseParticleIndex" json:"release_particle_index,omitempty"` + CreateParticle *CUserMsg_ParticleManager_CreateParticle `protobuf:"bytes,4,opt,name=create_particle,json=createParticle" json:"create_particle,omitempty"` + DestroyParticle *CUserMsg_ParticleManager_DestroyParticle `protobuf:"bytes,5,opt,name=destroy_particle,json=destroyParticle" json:"destroy_particle,omitempty"` + DestroyParticleInvolving *CUserMsg_ParticleManager_DestroyParticleInvolving `protobuf:"bytes,6,opt,name=destroy_particle_involving,json=destroyParticleInvolving" json:"destroy_particle_involving,omitempty"` + UpdateParticle *CUserMsg_ParticleManager_UpdateParticle `protobuf:"bytes,7,opt,name=update_particle,json=updateParticle" json:"update_particle,omitempty"` + UpdateParticleFwd *CUserMsg_ParticleManager_UpdateParticleFwd `protobuf:"bytes,8,opt,name=update_particle_fwd,json=updateParticleFwd" json:"update_particle_fwd,omitempty"` + UpdateParticleOrient *CUserMsg_ParticleManager_UpdateParticleOrient `protobuf:"bytes,9,opt,name=update_particle_orient,json=updateParticleOrient" json:"update_particle_orient,omitempty"` + UpdateParticleFallback *CUserMsg_ParticleManager_UpdateParticleFallback `protobuf:"bytes,10,opt,name=update_particle_fallback,json=updateParticleFallback" json:"update_particle_fallback,omitempty"` + UpdateParticleOffset *CUserMsg_ParticleManager_UpdateParticleOffset `protobuf:"bytes,11,opt,name=update_particle_offset,json=updateParticleOffset" json:"update_particle_offset,omitempty"` + UpdateParticleEnt *CUserMsg_ParticleManager_UpdateParticleEnt `protobuf:"bytes,12,opt,name=update_particle_ent,json=updateParticleEnt" json:"update_particle_ent,omitempty"` + UpdateParticleShouldDraw *CUserMsg_ParticleManager_UpdateParticleShouldDraw `protobuf:"bytes,14,opt,name=update_particle_should_draw,json=updateParticleShouldDraw" json:"update_particle_should_draw,omitempty"` + UpdateParticleSetFrozen *CUserMsg_ParticleManager_UpdateParticleSetFrozen `protobuf:"bytes,15,opt,name=update_particle_set_frozen,json=updateParticleSetFrozen" json:"update_particle_set_frozen,omitempty"` + ChangeControlPointAttachment *CUserMsg_ParticleManager_ChangeControlPointAttachment `protobuf:"bytes,16,opt,name=change_control_point_attachment,json=changeControlPointAttachment" json:"change_control_point_attachment,omitempty"` + UpdateEntityPosition *CUserMsg_ParticleManager_UpdateEntityPosition `protobuf:"bytes,17,opt,name=update_entity_position,json=updateEntityPosition" json:"update_entity_position,omitempty"` + SetParticleFowProperties *CUserMsg_ParticleManager_SetParticleFoWProperties `protobuf:"bytes,18,opt,name=set_particle_fow_properties,json=setParticleFowProperties" json:"set_particle_fow_properties,omitempty"` + SetParticleText *CUserMsg_ParticleManager_SetParticleText `protobuf:"bytes,19,opt,name=set_particle_text,json=setParticleText" json:"set_particle_text,omitempty"` + SetParticleShouldCheckFow *CUserMsg_ParticleManager_SetParticleShouldCheckFoW `protobuf:"bytes,20,opt,name=set_particle_should_check_fow,json=setParticleShouldCheckFow" json:"set_particle_should_check_fow,omitempty"` + SetControlPointModel *CUserMsg_ParticleManager_SetControlPointModel `protobuf:"bytes,21,opt,name=set_control_point_model,json=setControlPointModel" json:"set_control_point_model,omitempty"` + SetControlPointSnapshot *CUserMsg_ParticleManager_SetControlPointSnapshot `protobuf:"bytes,22,opt,name=set_control_point_snapshot,json=setControlPointSnapshot" json:"set_control_point_snapshot,omitempty"` + SetTextureAttribute *CUserMsg_ParticleManager_SetTextureAttribute `protobuf:"bytes,23,opt,name=set_texture_attribute,json=setTextureAttribute" json:"set_texture_attribute,omitempty"` + SetSceneObjectGenericFlag *CUserMsg_ParticleManager_SetSceneObjectGenericFlag `protobuf:"bytes,24,opt,name=set_scene_object_generic_flag,json=setSceneObjectGenericFlag" json:"set_scene_object_generic_flag,omitempty"` + SetSceneObjectTintAndDesat *CUserMsg_ParticleManager_SetSceneObjectTintAndDesat `protobuf:"bytes,25,opt,name=set_scene_object_tint_and_desat,json=setSceneObjectTintAndDesat" json:"set_scene_object_tint_and_desat,omitempty"` + DestroyParticleNamed *CUserMsg_ParticleManager_DestroyParticleNamed `protobuf:"bytes,26,opt,name=destroy_particle_named,json=destroyParticleNamed" json:"destroy_particle_named,omitempty"` + ParticleSkipToTime *CUserMsg_ParticleManager_ParticleSkipToTime `protobuf:"bytes,27,opt,name=particle_skip_to_time,json=particleSkipToTime" json:"particle_skip_to_time,omitempty"` +} + +// Default values for CUserMsg_ParticleManager fields. +const ( + Default_CUserMsg_ParticleManager_Type = PARTICLE_MESSAGE_GAME_PARTICLE_MANAGER_EVENT_CREATE +) + +func (x *CUserMsg_ParticleManager) Reset() { + *x = CUserMsg_ParticleManager{} + if protoimpl.UnsafeEnabled { + mi := &file_usermessages_proto_msgTypes[35] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CUserMsg_ParticleManager) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CUserMsg_ParticleManager) ProtoMessage() {} + +func (x *CUserMsg_ParticleManager) ProtoReflect() protoreflect.Message { + mi := &file_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 CUserMsg_ParticleManager.ProtoReflect.Descriptor instead. +func (*CUserMsg_ParticleManager) Descriptor() ([]byte, []int) { + return file_usermessages_proto_rawDescGZIP(), []int{35} +} + +func (x *CUserMsg_ParticleManager) GetType() PARTICLE_MESSAGE { + if x != nil && x.Type != nil { + return *x.Type + } + return Default_CUserMsg_ParticleManager_Type +} + +func (x *CUserMsg_ParticleManager) GetIndex() uint32 { + if x != nil && x.Index != nil { + return *x.Index + } + return 0 +} + +func (x *CUserMsg_ParticleManager) GetReleaseParticleIndex() *CUserMsg_ParticleManager_ReleaseParticleIndex { + if x != nil { + return x.ReleaseParticleIndex + } + return nil +} + +func (x *CUserMsg_ParticleManager) GetCreateParticle() *CUserMsg_ParticleManager_CreateParticle { + if x != nil { + return x.CreateParticle + } + return nil +} + +func (x *CUserMsg_ParticleManager) GetDestroyParticle() *CUserMsg_ParticleManager_DestroyParticle { + if x != nil { + return x.DestroyParticle + } + return nil +} + +func (x *CUserMsg_ParticleManager) GetDestroyParticleInvolving() *CUserMsg_ParticleManager_DestroyParticleInvolving { + if x != nil { + return x.DestroyParticleInvolving + } + return nil +} + +func (x *CUserMsg_ParticleManager) GetUpdateParticle() *CUserMsg_ParticleManager_UpdateParticle { + if x != nil { + return x.UpdateParticle + } + return nil +} + +func (x *CUserMsg_ParticleManager) GetUpdateParticleFwd() *CUserMsg_ParticleManager_UpdateParticleFwd { + if x != nil { + return x.UpdateParticleFwd + } + return nil +} + +func (x *CUserMsg_ParticleManager) GetUpdateParticleOrient() *CUserMsg_ParticleManager_UpdateParticleOrient { + if x != nil { + return x.UpdateParticleOrient + } + return nil +} + +func (x *CUserMsg_ParticleManager) GetUpdateParticleFallback() *CUserMsg_ParticleManager_UpdateParticleFallback { + if x != nil { + return x.UpdateParticleFallback + } + return nil +} + +func (x *CUserMsg_ParticleManager) GetUpdateParticleOffset() *CUserMsg_ParticleManager_UpdateParticleOffset { + if x != nil { + return x.UpdateParticleOffset + } + return nil +} + +func (x *CUserMsg_ParticleManager) GetUpdateParticleEnt() *CUserMsg_ParticleManager_UpdateParticleEnt { + if x != nil { + return x.UpdateParticleEnt + } + return nil +} + +func (x *CUserMsg_ParticleManager) GetUpdateParticleShouldDraw() *CUserMsg_ParticleManager_UpdateParticleShouldDraw { + if x != nil { + return x.UpdateParticleShouldDraw + } + return nil +} + +func (x *CUserMsg_ParticleManager) GetUpdateParticleSetFrozen() *CUserMsg_ParticleManager_UpdateParticleSetFrozen { + if x != nil { + return x.UpdateParticleSetFrozen + } + return nil +} + +func (x *CUserMsg_ParticleManager) GetChangeControlPointAttachment() *CUserMsg_ParticleManager_ChangeControlPointAttachment { + if x != nil { + return x.ChangeControlPointAttachment + } + return nil +} + +func (x *CUserMsg_ParticleManager) GetUpdateEntityPosition() *CUserMsg_ParticleManager_UpdateEntityPosition { + if x != nil { + return x.UpdateEntityPosition + } + return nil +} + +func (x *CUserMsg_ParticleManager) GetSetParticleFowProperties() *CUserMsg_ParticleManager_SetParticleFoWProperties { + if x != nil { + return x.SetParticleFowProperties + } + return nil +} + +func (x *CUserMsg_ParticleManager) GetSetParticleText() *CUserMsg_ParticleManager_SetParticleText { + if x != nil { + return x.SetParticleText + } + return nil +} + +func (x *CUserMsg_ParticleManager) GetSetParticleShouldCheckFow() *CUserMsg_ParticleManager_SetParticleShouldCheckFoW { + if x != nil { + return x.SetParticleShouldCheckFow + } + return nil +} + +func (x *CUserMsg_ParticleManager) GetSetControlPointModel() *CUserMsg_ParticleManager_SetControlPointModel { + if x != nil { + return x.SetControlPointModel + } + return nil +} + +func (x *CUserMsg_ParticleManager) GetSetControlPointSnapshot() *CUserMsg_ParticleManager_SetControlPointSnapshot { + if x != nil { + return x.SetControlPointSnapshot + } + return nil +} + +func (x *CUserMsg_ParticleManager) GetSetTextureAttribute() *CUserMsg_ParticleManager_SetTextureAttribute { + if x != nil { + return x.SetTextureAttribute + } + return nil +} + +func (x *CUserMsg_ParticleManager) GetSetSceneObjectGenericFlag() *CUserMsg_ParticleManager_SetSceneObjectGenericFlag { + if x != nil { + return x.SetSceneObjectGenericFlag + } + return nil +} + +func (x *CUserMsg_ParticleManager) GetSetSceneObjectTintAndDesat() *CUserMsg_ParticleManager_SetSceneObjectTintAndDesat { + if x != nil { + return x.SetSceneObjectTintAndDesat + } + return nil +} + +func (x *CUserMsg_ParticleManager) GetDestroyParticleNamed() *CUserMsg_ParticleManager_DestroyParticleNamed { + if x != nil { + return x.DestroyParticleNamed + } + return nil +} + +func (x *CUserMsg_ParticleManager) GetParticleSkipToTime() *CUserMsg_ParticleManager_ParticleSkipToTime { + if x != nil { + return x.ParticleSkipToTime + } + return nil +} + +type CUserMsg_HudError struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + OrderId *int32 `protobuf:"varint,1,opt,name=order_id,json=orderId" json:"order_id,omitempty"` +} + +func (x *CUserMsg_HudError) Reset() { + *x = CUserMsg_HudError{} + if protoimpl.UnsafeEnabled { + mi := &file_usermessages_proto_msgTypes[36] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CUserMsg_HudError) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CUserMsg_HudError) ProtoMessage() {} + +func (x *CUserMsg_HudError) ProtoReflect() protoreflect.Message { + mi := &file_usermessages_proto_msgTypes[36] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CUserMsg_HudError.ProtoReflect.Descriptor instead. +func (*CUserMsg_HudError) Descriptor() ([]byte, []int) { + return file_usermessages_proto_rawDescGZIP(), []int{36} +} + +func (x *CUserMsg_HudError) GetOrderId() int32 { + if x != nil && x.OrderId != nil { + return *x.OrderId + } + return 0 +} + +type CUserMsg_CustomGameEvent 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"` + Data []byte `protobuf:"bytes,2,opt,name=data" json:"data,omitempty"` +} + +func (x *CUserMsg_CustomGameEvent) Reset() { + *x = CUserMsg_CustomGameEvent{} + if protoimpl.UnsafeEnabled { + mi := &file_usermessages_proto_msgTypes[37] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CUserMsg_CustomGameEvent) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CUserMsg_CustomGameEvent) ProtoMessage() {} + +func (x *CUserMsg_CustomGameEvent) ProtoReflect() protoreflect.Message { + mi := &file_usermessages_proto_msgTypes[37] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CUserMsg_CustomGameEvent.ProtoReflect.Descriptor instead. +func (*CUserMsg_CustomGameEvent) Descriptor() ([]byte, []int) { + return file_usermessages_proto_rawDescGZIP(), []int{37} +} + +func (x *CUserMsg_CustomGameEvent) GetEventName() string { + if x != nil && x.EventName != nil { + return *x.EventName + } + return "" +} + +func (x *CUserMsg_CustomGameEvent) GetData() []byte { + if x != nil { + return x.Data + } + return nil +} + +type CUserMessageHapticsManagerPulse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + HandId *int32 `protobuf:"varint,1,opt,name=hand_id,json=handId" json:"hand_id,omitempty"` + EffectAmplitude *float32 `protobuf:"fixed32,2,opt,name=effect_amplitude,json=effectAmplitude" json:"effect_amplitude,omitempty"` + EffectFrequency *float32 `protobuf:"fixed32,3,opt,name=effect_frequency,json=effectFrequency" json:"effect_frequency,omitempty"` + EffectDuration *float32 `protobuf:"fixed32,4,opt,name=effect_duration,json=effectDuration" json:"effect_duration,omitempty"` +} + +func (x *CUserMessageHapticsManagerPulse) Reset() { + *x = CUserMessageHapticsManagerPulse{} + if protoimpl.UnsafeEnabled { + mi := &file_usermessages_proto_msgTypes[38] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CUserMessageHapticsManagerPulse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CUserMessageHapticsManagerPulse) ProtoMessage() {} + +func (x *CUserMessageHapticsManagerPulse) ProtoReflect() protoreflect.Message { + mi := &file_usermessages_proto_msgTypes[38] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CUserMessageHapticsManagerPulse.ProtoReflect.Descriptor instead. +func (*CUserMessageHapticsManagerPulse) Descriptor() ([]byte, []int) { + return file_usermessages_proto_rawDescGZIP(), []int{38} +} + +func (x *CUserMessageHapticsManagerPulse) GetHandId() int32 { + if x != nil && x.HandId != nil { + return *x.HandId + } + return 0 +} + +func (x *CUserMessageHapticsManagerPulse) GetEffectAmplitude() float32 { + if x != nil && x.EffectAmplitude != nil { + return *x.EffectAmplitude + } + return 0 +} + +func (x *CUserMessageHapticsManagerPulse) GetEffectFrequency() float32 { + if x != nil && x.EffectFrequency != nil { + return *x.EffectFrequency + } + return 0 +} + +func (x *CUserMessageHapticsManagerPulse) GetEffectDuration() float32 { + if x != nil && x.EffectDuration != nil { + return *x.EffectDuration + } + return 0 +} + +type CUserMessageHapticsManagerEffect struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + HandId *int32 `protobuf:"varint,1,opt,name=hand_id,json=handId" json:"hand_id,omitempty"` + EffectNameHashCode *uint32 `protobuf:"varint,2,opt,name=effect_name_hash_code,json=effectNameHashCode" json:"effect_name_hash_code,omitempty"` + EffectScale *float32 `protobuf:"fixed32,3,opt,name=effect_scale,json=effectScale" json:"effect_scale,omitempty"` +} + +func (x *CUserMessageHapticsManagerEffect) Reset() { + *x = CUserMessageHapticsManagerEffect{} + if protoimpl.UnsafeEnabled { + mi := &file_usermessages_proto_msgTypes[39] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CUserMessageHapticsManagerEffect) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CUserMessageHapticsManagerEffect) ProtoMessage() {} + +func (x *CUserMessageHapticsManagerEffect) ProtoReflect() protoreflect.Message { + mi := &file_usermessages_proto_msgTypes[39] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CUserMessageHapticsManagerEffect.ProtoReflect.Descriptor instead. +func (*CUserMessageHapticsManagerEffect) Descriptor() ([]byte, []int) { + return file_usermessages_proto_rawDescGZIP(), []int{39} +} + +func (x *CUserMessageHapticsManagerEffect) GetHandId() int32 { + if x != nil && x.HandId != nil { + return *x.HandId + } + return 0 +} + +func (x *CUserMessageHapticsManagerEffect) GetEffectNameHashCode() uint32 { + if x != nil && x.EffectNameHashCode != nil { + return *x.EffectNameHashCode + } + return 0 +} + +func (x *CUserMessageHapticsManagerEffect) GetEffectScale() float32 { + if x != nil && x.EffectScale != nil { + return *x.EffectScale + } + return 0 +} + +type CUserMessageAnimStateGraphState 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"` + Data []byte `protobuf:"bytes,2,opt,name=data" json:"data,omitempty"` +} + +func (x *CUserMessageAnimStateGraphState) Reset() { + *x = CUserMessageAnimStateGraphState{} + if protoimpl.UnsafeEnabled { + mi := &file_usermessages_proto_msgTypes[40] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CUserMessageAnimStateGraphState) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CUserMessageAnimStateGraphState) ProtoMessage() {} + +func (x *CUserMessageAnimStateGraphState) ProtoReflect() protoreflect.Message { + mi := &file_usermessages_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 CUserMessageAnimStateGraphState.ProtoReflect.Descriptor instead. +func (*CUserMessageAnimStateGraphState) Descriptor() ([]byte, []int) { + return file_usermessages_proto_rawDescGZIP(), []int{40} +} + +func (x *CUserMessageAnimStateGraphState) GetEntityIndex() int32 { + if x != nil && x.EntityIndex != nil { + return *x.EntityIndex + } + return 0 +} + +func (x *CUserMessageAnimStateGraphState) GetData() []byte { + if x != nil { + return x.Data + } + return nil +} + +type CUserMessageCommandQueueState struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + PlayerSlot *int32 `protobuf:"varint,1,opt,name=player_slot,json=playerSlot" json:"player_slot,omitempty"` + CommandQueueInfo *CUserMessageCommandQueueStateCommandQueueInfoT `protobuf:"bytes,2,opt,name=command_queue_info,json=commandQueueInfo" json:"command_queue_info,omitempty"` +} + +func (x *CUserMessageCommandQueueState) Reset() { + *x = CUserMessageCommandQueueState{} + if protoimpl.UnsafeEnabled { + mi := &file_usermessages_proto_msgTypes[41] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CUserMessageCommandQueueState) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CUserMessageCommandQueueState) ProtoMessage() {} + +func (x *CUserMessageCommandQueueState) ProtoReflect() protoreflect.Message { + mi := &file_usermessages_proto_msgTypes[41] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CUserMessageCommandQueueState.ProtoReflect.Descriptor instead. +func (*CUserMessageCommandQueueState) Descriptor() ([]byte, []int) { + return file_usermessages_proto_rawDescGZIP(), []int{41} +} + +func (x *CUserMessageCommandQueueState) GetPlayerSlot() int32 { + if x != nil && x.PlayerSlot != nil { + return *x.PlayerSlot + } + return 0 +} + +func (x *CUserMessageCommandQueueState) GetCommandQueueInfo() *CUserMessageCommandQueueStateCommandQueueInfoT { + if x != nil { + return x.CommandQueueInfo + } + return nil +} + +type CUserMessageUpdateCssClasses struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + TargetWorldPanel *int32 `protobuf:"varint,1,opt,name=target_world_panel,json=targetWorldPanel" json:"target_world_panel,omitempty"` + CssClasses *string `protobuf:"bytes,2,opt,name=css_classes,json=cssClasses" json:"css_classes,omitempty"` + IsAdd *bool `protobuf:"varint,3,opt,name=is_add,json=isAdd" json:"is_add,omitempty"` +} + +func (x *CUserMessageUpdateCssClasses) Reset() { + *x = CUserMessageUpdateCssClasses{} + if protoimpl.UnsafeEnabled { + mi := &file_usermessages_proto_msgTypes[42] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CUserMessageUpdateCssClasses) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CUserMessageUpdateCssClasses) ProtoMessage() {} + +func (x *CUserMessageUpdateCssClasses) ProtoReflect() protoreflect.Message { + mi := &file_usermessages_proto_msgTypes[42] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CUserMessageUpdateCssClasses.ProtoReflect.Descriptor instead. +func (*CUserMessageUpdateCssClasses) Descriptor() ([]byte, []int) { + return file_usermessages_proto_rawDescGZIP(), []int{42} +} + +func (x *CUserMessageUpdateCssClasses) GetTargetWorldPanel() int32 { + if x != nil && x.TargetWorldPanel != nil { + return *x.TargetWorldPanel + } + return 0 +} + +func (x *CUserMessageUpdateCssClasses) GetCssClasses() string { + if x != nil && x.CssClasses != nil { + return *x.CssClasses + } + return "" +} + +func (x *CUserMessageUpdateCssClasses) GetIsAdd() bool { + if x != nil && x.IsAdd != nil { + return *x.IsAdd + } + return false +} + +type CUserMessageCameraTransition_Transition_DataDriven struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Filename *string `protobuf:"bytes,1,opt,name=filename" json:"filename,omitempty"` + AttachEntIndex *int32 `protobuf:"varint,2,opt,name=attach_ent_index,json=attachEntIndex" json:"attach_ent_index,omitempty"` + Duration *float32 `protobuf:"fixed32,3,opt,name=duration" json:"duration,omitempty"` +} + +func (x *CUserMessageCameraTransition_Transition_DataDriven) Reset() { + *x = CUserMessageCameraTransition_Transition_DataDriven{} + if protoimpl.UnsafeEnabled { + mi := &file_usermessages_proto_msgTypes[43] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CUserMessageCameraTransition_Transition_DataDriven) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CUserMessageCameraTransition_Transition_DataDriven) ProtoMessage() {} + +func (x *CUserMessageCameraTransition_Transition_DataDriven) ProtoReflect() protoreflect.Message { + mi := &file_usermessages_proto_msgTypes[43] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CUserMessageCameraTransition_Transition_DataDriven.ProtoReflect.Descriptor instead. +func (*CUserMessageCameraTransition_Transition_DataDriven) Descriptor() ([]byte, []int) { + return file_usermessages_proto_rawDescGZIP(), []int{34, 0} +} + +func (x *CUserMessageCameraTransition_Transition_DataDriven) GetFilename() string { + if x != nil && x.Filename != nil { + return *x.Filename + } + return "" +} + +func (x *CUserMessageCameraTransition_Transition_DataDriven) GetAttachEntIndex() int32 { + if x != nil && x.AttachEntIndex != nil { + return *x.AttachEntIndex + } + return 0 +} + +func (x *CUserMessageCameraTransition_Transition_DataDriven) GetDuration() float32 { + if x != nil && x.Duration != nil { + return *x.Duration + } + return 0 +} + +type CUserMsg_ParticleManager_ReleaseParticleIndex struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *CUserMsg_ParticleManager_ReleaseParticleIndex) Reset() { + *x = CUserMsg_ParticleManager_ReleaseParticleIndex{} + if protoimpl.UnsafeEnabled { + mi := &file_usermessages_proto_msgTypes[44] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CUserMsg_ParticleManager_ReleaseParticleIndex) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CUserMsg_ParticleManager_ReleaseParticleIndex) ProtoMessage() {} + +func (x *CUserMsg_ParticleManager_ReleaseParticleIndex) ProtoReflect() protoreflect.Message { + mi := &file_usermessages_proto_msgTypes[44] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CUserMsg_ParticleManager_ReleaseParticleIndex.ProtoReflect.Descriptor instead. +func (*CUserMsg_ParticleManager_ReleaseParticleIndex) Descriptor() ([]byte, []int) { + return file_usermessages_proto_rawDescGZIP(), []int{35, 0} +} + +type CUserMsg_ParticleManager_CreateParticle struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ParticleNameIndex *uint64 `protobuf:"fixed64,1,opt,name=particle_name_index,json=particleNameIndex" json:"particle_name_index,omitempty"` + AttachType *int32 `protobuf:"varint,2,opt,name=attach_type,json=attachType" json:"attach_type,omitempty"` + EntityHandle *uint32 `protobuf:"varint,3,opt,name=entity_handle,json=entityHandle" json:"entity_handle,omitempty"` + EntityHandleForModifiers *uint32 `protobuf:"varint,4,opt,name=entity_handle_for_modifiers,json=entityHandleForModifiers" json:"entity_handle_for_modifiers,omitempty"` + ApplyVoiceBanRules *bool `protobuf:"varint,5,opt,name=apply_voice_ban_rules,json=applyVoiceBanRules" json:"apply_voice_ban_rules,omitempty"` + TeamBehavior *int32 `protobuf:"varint,6,opt,name=team_behavior,json=teamBehavior" json:"team_behavior,omitempty"` + ControlPointConfiguration *string `protobuf:"bytes,7,opt,name=control_point_configuration,json=controlPointConfiguration" json:"control_point_configuration,omitempty"` +} + +func (x *CUserMsg_ParticleManager_CreateParticle) Reset() { + *x = CUserMsg_ParticleManager_CreateParticle{} + if protoimpl.UnsafeEnabled { + mi := &file_usermessages_proto_msgTypes[45] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CUserMsg_ParticleManager_CreateParticle) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CUserMsg_ParticleManager_CreateParticle) ProtoMessage() {} + +func (x *CUserMsg_ParticleManager_CreateParticle) ProtoReflect() protoreflect.Message { + mi := &file_usermessages_proto_msgTypes[45] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CUserMsg_ParticleManager_CreateParticle.ProtoReflect.Descriptor instead. +func (*CUserMsg_ParticleManager_CreateParticle) Descriptor() ([]byte, []int) { + return file_usermessages_proto_rawDescGZIP(), []int{35, 1} +} + +func (x *CUserMsg_ParticleManager_CreateParticle) GetParticleNameIndex() uint64 { + if x != nil && x.ParticleNameIndex != nil { + return *x.ParticleNameIndex + } + return 0 +} + +func (x *CUserMsg_ParticleManager_CreateParticle) GetAttachType() int32 { + if x != nil && x.AttachType != nil { + return *x.AttachType + } + return 0 +} + +func (x *CUserMsg_ParticleManager_CreateParticle) GetEntityHandle() uint32 { + if x != nil && x.EntityHandle != nil { + return *x.EntityHandle + } + return 0 +} + +func (x *CUserMsg_ParticleManager_CreateParticle) GetEntityHandleForModifiers() uint32 { + if x != nil && x.EntityHandleForModifiers != nil { + return *x.EntityHandleForModifiers + } + return 0 +} + +func (x *CUserMsg_ParticleManager_CreateParticle) GetApplyVoiceBanRules() bool { + if x != nil && x.ApplyVoiceBanRules != nil { + return *x.ApplyVoiceBanRules + } + return false +} + +func (x *CUserMsg_ParticleManager_CreateParticle) GetTeamBehavior() int32 { + if x != nil && x.TeamBehavior != nil { + return *x.TeamBehavior + } + return 0 +} + +func (x *CUserMsg_ParticleManager_CreateParticle) GetControlPointConfiguration() string { + if x != nil && x.ControlPointConfiguration != nil { + return *x.ControlPointConfiguration + } + return "" +} + +type CUserMsg_ParticleManager_DestroyParticle struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + DestroyImmediately *bool `protobuf:"varint,1,opt,name=destroy_immediately,json=destroyImmediately" json:"destroy_immediately,omitempty"` +} + +func (x *CUserMsg_ParticleManager_DestroyParticle) Reset() { + *x = CUserMsg_ParticleManager_DestroyParticle{} + if protoimpl.UnsafeEnabled { + mi := &file_usermessages_proto_msgTypes[46] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CUserMsg_ParticleManager_DestroyParticle) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CUserMsg_ParticleManager_DestroyParticle) ProtoMessage() {} + +func (x *CUserMsg_ParticleManager_DestroyParticle) ProtoReflect() protoreflect.Message { + mi := &file_usermessages_proto_msgTypes[46] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CUserMsg_ParticleManager_DestroyParticle.ProtoReflect.Descriptor instead. +func (*CUserMsg_ParticleManager_DestroyParticle) Descriptor() ([]byte, []int) { + return file_usermessages_proto_rawDescGZIP(), []int{35, 2} +} + +func (x *CUserMsg_ParticleManager_DestroyParticle) GetDestroyImmediately() bool { + if x != nil && x.DestroyImmediately != nil { + return *x.DestroyImmediately + } + return false +} + +type CUserMsg_ParticleManager_DestroyParticleInvolving struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + DestroyImmediately *bool `protobuf:"varint,1,opt,name=destroy_immediately,json=destroyImmediately" json:"destroy_immediately,omitempty"` + EntityHandle *uint32 `protobuf:"varint,3,opt,name=entity_handle,json=entityHandle" json:"entity_handle,omitempty"` +} + +func (x *CUserMsg_ParticleManager_DestroyParticleInvolving) Reset() { + *x = CUserMsg_ParticleManager_DestroyParticleInvolving{} + if protoimpl.UnsafeEnabled { + mi := &file_usermessages_proto_msgTypes[47] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CUserMsg_ParticleManager_DestroyParticleInvolving) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CUserMsg_ParticleManager_DestroyParticleInvolving) ProtoMessage() {} + +func (x *CUserMsg_ParticleManager_DestroyParticleInvolving) ProtoReflect() protoreflect.Message { + mi := &file_usermessages_proto_msgTypes[47] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CUserMsg_ParticleManager_DestroyParticleInvolving.ProtoReflect.Descriptor instead. +func (*CUserMsg_ParticleManager_DestroyParticleInvolving) Descriptor() ([]byte, []int) { + return file_usermessages_proto_rawDescGZIP(), []int{35, 3} +} + +func (x *CUserMsg_ParticleManager_DestroyParticleInvolving) GetDestroyImmediately() bool { + if x != nil && x.DestroyImmediately != nil { + return *x.DestroyImmediately + } + return false +} + +func (x *CUserMsg_ParticleManager_DestroyParticleInvolving) GetEntityHandle() uint32 { + if x != nil && x.EntityHandle != nil { + return *x.EntityHandle + } + return 0 +} + +type CUserMsg_ParticleManager_DestroyParticleNamed struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ParticleNameIndex *uint64 `protobuf:"fixed64,1,opt,name=particle_name_index,json=particleNameIndex" json:"particle_name_index,omitempty"` + EntityHandle *uint32 `protobuf:"varint,2,opt,name=entity_handle,json=entityHandle" json:"entity_handle,omitempty"` + DestroyImmediately *bool `protobuf:"varint,3,opt,name=destroy_immediately,json=destroyImmediately" json:"destroy_immediately,omitempty"` + PlayEndcap *bool `protobuf:"varint,4,opt,name=play_endcap,json=playEndcap" json:"play_endcap,omitempty"` +} + +func (x *CUserMsg_ParticleManager_DestroyParticleNamed) Reset() { + *x = CUserMsg_ParticleManager_DestroyParticleNamed{} + if protoimpl.UnsafeEnabled { + mi := &file_usermessages_proto_msgTypes[48] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CUserMsg_ParticleManager_DestroyParticleNamed) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CUserMsg_ParticleManager_DestroyParticleNamed) ProtoMessage() {} + +func (x *CUserMsg_ParticleManager_DestroyParticleNamed) ProtoReflect() protoreflect.Message { + mi := &file_usermessages_proto_msgTypes[48] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CUserMsg_ParticleManager_DestroyParticleNamed.ProtoReflect.Descriptor instead. +func (*CUserMsg_ParticleManager_DestroyParticleNamed) Descriptor() ([]byte, []int) { + return file_usermessages_proto_rawDescGZIP(), []int{35, 4} +} + +func (x *CUserMsg_ParticleManager_DestroyParticleNamed) GetParticleNameIndex() uint64 { + if x != nil && x.ParticleNameIndex != nil { + return *x.ParticleNameIndex + } + return 0 +} + +func (x *CUserMsg_ParticleManager_DestroyParticleNamed) GetEntityHandle() uint32 { + if x != nil && x.EntityHandle != nil { + return *x.EntityHandle + } + return 0 +} + +func (x *CUserMsg_ParticleManager_DestroyParticleNamed) GetDestroyImmediately() bool { + if x != nil && x.DestroyImmediately != nil { + return *x.DestroyImmediately + } + return false +} + +func (x *CUserMsg_ParticleManager_DestroyParticleNamed) GetPlayEndcap() bool { + if x != nil && x.PlayEndcap != nil { + return *x.PlayEndcap + } + return false +} + +type CUserMsg_ParticleManager_UpdateParticle struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ControlPoint *int32 `protobuf:"varint,1,opt,name=control_point,json=controlPoint" json:"control_point,omitempty"` + Position *CMsgVector `protobuf:"bytes,2,opt,name=position" json:"position,omitempty"` +} + +func (x *CUserMsg_ParticleManager_UpdateParticle) Reset() { + *x = CUserMsg_ParticleManager_UpdateParticle{} + if protoimpl.UnsafeEnabled { + mi := &file_usermessages_proto_msgTypes[49] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CUserMsg_ParticleManager_UpdateParticle) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CUserMsg_ParticleManager_UpdateParticle) ProtoMessage() {} + +func (x *CUserMsg_ParticleManager_UpdateParticle) ProtoReflect() protoreflect.Message { + mi := &file_usermessages_proto_msgTypes[49] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CUserMsg_ParticleManager_UpdateParticle.ProtoReflect.Descriptor instead. +func (*CUserMsg_ParticleManager_UpdateParticle) Descriptor() ([]byte, []int) { + return file_usermessages_proto_rawDescGZIP(), []int{35, 5} +} + +func (x *CUserMsg_ParticleManager_UpdateParticle) GetControlPoint() int32 { + if x != nil && x.ControlPoint != nil { + return *x.ControlPoint + } + return 0 +} + +func (x *CUserMsg_ParticleManager_UpdateParticle) GetPosition() *CMsgVector { + if x != nil { + return x.Position + } + return nil +} + +type CUserMsg_ParticleManager_UpdateParticleFwd struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ControlPoint *int32 `protobuf:"varint,1,opt,name=control_point,json=controlPoint" json:"control_point,omitempty"` + Forward *CMsgVector `protobuf:"bytes,2,opt,name=forward" json:"forward,omitempty"` +} + +func (x *CUserMsg_ParticleManager_UpdateParticleFwd) Reset() { + *x = CUserMsg_ParticleManager_UpdateParticleFwd{} + if protoimpl.UnsafeEnabled { + mi := &file_usermessages_proto_msgTypes[50] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CUserMsg_ParticleManager_UpdateParticleFwd) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CUserMsg_ParticleManager_UpdateParticleFwd) ProtoMessage() {} + +func (x *CUserMsg_ParticleManager_UpdateParticleFwd) ProtoReflect() protoreflect.Message { + mi := &file_usermessages_proto_msgTypes[50] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CUserMsg_ParticleManager_UpdateParticleFwd.ProtoReflect.Descriptor instead. +func (*CUserMsg_ParticleManager_UpdateParticleFwd) Descriptor() ([]byte, []int) { + return file_usermessages_proto_rawDescGZIP(), []int{35, 6} +} + +func (x *CUserMsg_ParticleManager_UpdateParticleFwd) GetControlPoint() int32 { + if x != nil && x.ControlPoint != nil { + return *x.ControlPoint + } + return 0 +} + +func (x *CUserMsg_ParticleManager_UpdateParticleFwd) GetForward() *CMsgVector { + if x != nil { + return x.Forward + } + return nil +} + +type CUserMsg_ParticleManager_UpdateParticleOrient struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ControlPoint *int32 `protobuf:"varint,1,opt,name=control_point,json=controlPoint" json:"control_point,omitempty"` + Forward *CMsgVector `protobuf:"bytes,2,opt,name=forward" json:"forward,omitempty"` + DeprecatedRight *CMsgVector `protobuf:"bytes,3,opt,name=deprecated_right,json=deprecatedRight" json:"deprecated_right,omitempty"` + Up *CMsgVector `protobuf:"bytes,4,opt,name=up" json:"up,omitempty"` + Left *CMsgVector `protobuf:"bytes,5,opt,name=left" json:"left,omitempty"` +} + +func (x *CUserMsg_ParticleManager_UpdateParticleOrient) Reset() { + *x = CUserMsg_ParticleManager_UpdateParticleOrient{} + if protoimpl.UnsafeEnabled { + mi := &file_usermessages_proto_msgTypes[51] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CUserMsg_ParticleManager_UpdateParticleOrient) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CUserMsg_ParticleManager_UpdateParticleOrient) ProtoMessage() {} + +func (x *CUserMsg_ParticleManager_UpdateParticleOrient) ProtoReflect() protoreflect.Message { + mi := &file_usermessages_proto_msgTypes[51] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CUserMsg_ParticleManager_UpdateParticleOrient.ProtoReflect.Descriptor instead. +func (*CUserMsg_ParticleManager_UpdateParticleOrient) Descriptor() ([]byte, []int) { + return file_usermessages_proto_rawDescGZIP(), []int{35, 7} +} + +func (x *CUserMsg_ParticleManager_UpdateParticleOrient) GetControlPoint() int32 { + if x != nil && x.ControlPoint != nil { + return *x.ControlPoint + } + return 0 +} + +func (x *CUserMsg_ParticleManager_UpdateParticleOrient) GetForward() *CMsgVector { + if x != nil { + return x.Forward + } + return nil +} + +func (x *CUserMsg_ParticleManager_UpdateParticleOrient) GetDeprecatedRight() *CMsgVector { + if x != nil { + return x.DeprecatedRight + } + return nil +} + +func (x *CUserMsg_ParticleManager_UpdateParticleOrient) GetUp() *CMsgVector { + if x != nil { + return x.Up + } + return nil +} + +func (x *CUserMsg_ParticleManager_UpdateParticleOrient) GetLeft() *CMsgVector { + if x != nil { + return x.Left + } + return nil +} + +type CUserMsg_ParticleManager_UpdateParticleFallback struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ControlPoint *int32 `protobuf:"varint,1,opt,name=control_point,json=controlPoint" json:"control_point,omitempty"` + Position *CMsgVector `protobuf:"bytes,2,opt,name=position" json:"position,omitempty"` +} + +func (x *CUserMsg_ParticleManager_UpdateParticleFallback) Reset() { + *x = CUserMsg_ParticleManager_UpdateParticleFallback{} + if protoimpl.UnsafeEnabled { + mi := &file_usermessages_proto_msgTypes[52] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CUserMsg_ParticleManager_UpdateParticleFallback) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CUserMsg_ParticleManager_UpdateParticleFallback) ProtoMessage() {} + +func (x *CUserMsg_ParticleManager_UpdateParticleFallback) ProtoReflect() protoreflect.Message { + mi := &file_usermessages_proto_msgTypes[52] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CUserMsg_ParticleManager_UpdateParticleFallback.ProtoReflect.Descriptor instead. +func (*CUserMsg_ParticleManager_UpdateParticleFallback) Descriptor() ([]byte, []int) { + return file_usermessages_proto_rawDescGZIP(), []int{35, 8} +} + +func (x *CUserMsg_ParticleManager_UpdateParticleFallback) GetControlPoint() int32 { + if x != nil && x.ControlPoint != nil { + return *x.ControlPoint + } + return 0 +} + +func (x *CUserMsg_ParticleManager_UpdateParticleFallback) GetPosition() *CMsgVector { + if x != nil { + return x.Position + } + return nil +} + +type CUserMsg_ParticleManager_UpdateParticleOffset struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ControlPoint *int32 `protobuf:"varint,1,opt,name=control_point,json=controlPoint" json:"control_point,omitempty"` + OriginOffset *CMsgVector `protobuf:"bytes,2,opt,name=origin_offset,json=originOffset" json:"origin_offset,omitempty"` + AngleOffset *CMsgQAngle `protobuf:"bytes,3,opt,name=angle_offset,json=angleOffset" json:"angle_offset,omitempty"` +} + +func (x *CUserMsg_ParticleManager_UpdateParticleOffset) Reset() { + *x = CUserMsg_ParticleManager_UpdateParticleOffset{} + if protoimpl.UnsafeEnabled { + mi := &file_usermessages_proto_msgTypes[53] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CUserMsg_ParticleManager_UpdateParticleOffset) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CUserMsg_ParticleManager_UpdateParticleOffset) ProtoMessage() {} + +func (x *CUserMsg_ParticleManager_UpdateParticleOffset) ProtoReflect() protoreflect.Message { + mi := &file_usermessages_proto_msgTypes[53] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CUserMsg_ParticleManager_UpdateParticleOffset.ProtoReflect.Descriptor instead. +func (*CUserMsg_ParticleManager_UpdateParticleOffset) Descriptor() ([]byte, []int) { + return file_usermessages_proto_rawDescGZIP(), []int{35, 9} +} + +func (x *CUserMsg_ParticleManager_UpdateParticleOffset) GetControlPoint() int32 { + if x != nil && x.ControlPoint != nil { + return *x.ControlPoint + } + return 0 +} + +func (x *CUserMsg_ParticleManager_UpdateParticleOffset) GetOriginOffset() *CMsgVector { + if x != nil { + return x.OriginOffset + } + return nil +} + +func (x *CUserMsg_ParticleManager_UpdateParticleOffset) GetAngleOffset() *CMsgQAngle { + if x != nil { + return x.AngleOffset + } + return nil +} + +type CUserMsg_ParticleManager_UpdateParticleEnt struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ControlPoint *int32 `protobuf:"varint,1,opt,name=control_point,json=controlPoint" json:"control_point,omitempty"` + EntityHandle *uint32 `protobuf:"varint,2,opt,name=entity_handle,json=entityHandle" json:"entity_handle,omitempty"` + AttachType *int32 `protobuf:"varint,3,opt,name=attach_type,json=attachType" json:"attach_type,omitempty"` + Attachment *int32 `protobuf:"varint,4,opt,name=attachment" json:"attachment,omitempty"` + FallbackPosition *CMsgVector `protobuf:"bytes,5,opt,name=fallback_position,json=fallbackPosition" json:"fallback_position,omitempty"` + IncludeWearables *bool `protobuf:"varint,6,opt,name=include_wearables,json=includeWearables" json:"include_wearables,omitempty"` +} + +func (x *CUserMsg_ParticleManager_UpdateParticleEnt) Reset() { + *x = CUserMsg_ParticleManager_UpdateParticleEnt{} + if protoimpl.UnsafeEnabled { + mi := &file_usermessages_proto_msgTypes[54] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CUserMsg_ParticleManager_UpdateParticleEnt) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CUserMsg_ParticleManager_UpdateParticleEnt) ProtoMessage() {} + +func (x *CUserMsg_ParticleManager_UpdateParticleEnt) ProtoReflect() protoreflect.Message { + mi := &file_usermessages_proto_msgTypes[54] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CUserMsg_ParticleManager_UpdateParticleEnt.ProtoReflect.Descriptor instead. +func (*CUserMsg_ParticleManager_UpdateParticleEnt) Descriptor() ([]byte, []int) { + return file_usermessages_proto_rawDescGZIP(), []int{35, 10} +} + +func (x *CUserMsg_ParticleManager_UpdateParticleEnt) GetControlPoint() int32 { + if x != nil && x.ControlPoint != nil { + return *x.ControlPoint + } + return 0 +} + +func (x *CUserMsg_ParticleManager_UpdateParticleEnt) GetEntityHandle() uint32 { + if x != nil && x.EntityHandle != nil { + return *x.EntityHandle + } + return 0 +} + +func (x *CUserMsg_ParticleManager_UpdateParticleEnt) GetAttachType() int32 { + if x != nil && x.AttachType != nil { + return *x.AttachType + } + return 0 +} + +func (x *CUserMsg_ParticleManager_UpdateParticleEnt) GetAttachment() int32 { + if x != nil && x.Attachment != nil { + return *x.Attachment + } + return 0 +} + +func (x *CUserMsg_ParticleManager_UpdateParticleEnt) GetFallbackPosition() *CMsgVector { + if x != nil { + return x.FallbackPosition + } + return nil +} + +func (x *CUserMsg_ParticleManager_UpdateParticleEnt) GetIncludeWearables() bool { + if x != nil && x.IncludeWearables != nil { + return *x.IncludeWearables + } + return false +} + +type CUserMsg_ParticleManager_UpdateParticleSetFrozen struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + SetFrozen *bool `protobuf:"varint,1,opt,name=set_frozen,json=setFrozen" json:"set_frozen,omitempty"` + TransitionDuration *float32 `protobuf:"fixed32,2,opt,name=transition_duration,json=transitionDuration" json:"transition_duration,omitempty"` +} + +func (x *CUserMsg_ParticleManager_UpdateParticleSetFrozen) Reset() { + *x = CUserMsg_ParticleManager_UpdateParticleSetFrozen{} + if protoimpl.UnsafeEnabled { + mi := &file_usermessages_proto_msgTypes[55] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CUserMsg_ParticleManager_UpdateParticleSetFrozen) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CUserMsg_ParticleManager_UpdateParticleSetFrozen) ProtoMessage() {} + +func (x *CUserMsg_ParticleManager_UpdateParticleSetFrozen) ProtoReflect() protoreflect.Message { + mi := &file_usermessages_proto_msgTypes[55] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CUserMsg_ParticleManager_UpdateParticleSetFrozen.ProtoReflect.Descriptor instead. +func (*CUserMsg_ParticleManager_UpdateParticleSetFrozen) Descriptor() ([]byte, []int) { + return file_usermessages_proto_rawDescGZIP(), []int{35, 11} +} + +func (x *CUserMsg_ParticleManager_UpdateParticleSetFrozen) GetSetFrozen() bool { + if x != nil && x.SetFrozen != nil { + return *x.SetFrozen + } + return false +} + +func (x *CUserMsg_ParticleManager_UpdateParticleSetFrozen) GetTransitionDuration() float32 { + if x != nil && x.TransitionDuration != nil { + return *x.TransitionDuration + } + return 0 +} + +type CUserMsg_ParticleManager_UpdateParticleShouldDraw struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ShouldDraw *bool `protobuf:"varint,1,opt,name=should_draw,json=shouldDraw" json:"should_draw,omitempty"` +} + +func (x *CUserMsg_ParticleManager_UpdateParticleShouldDraw) Reset() { + *x = CUserMsg_ParticleManager_UpdateParticleShouldDraw{} + if protoimpl.UnsafeEnabled { + mi := &file_usermessages_proto_msgTypes[56] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CUserMsg_ParticleManager_UpdateParticleShouldDraw) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CUserMsg_ParticleManager_UpdateParticleShouldDraw) ProtoMessage() {} + +func (x *CUserMsg_ParticleManager_UpdateParticleShouldDraw) ProtoReflect() protoreflect.Message { + mi := &file_usermessages_proto_msgTypes[56] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CUserMsg_ParticleManager_UpdateParticleShouldDraw.ProtoReflect.Descriptor instead. +func (*CUserMsg_ParticleManager_UpdateParticleShouldDraw) Descriptor() ([]byte, []int) { + return file_usermessages_proto_rawDescGZIP(), []int{35, 12} +} + +func (x *CUserMsg_ParticleManager_UpdateParticleShouldDraw) GetShouldDraw() bool { + if x != nil && x.ShouldDraw != nil { + return *x.ShouldDraw + } + return false +} + +type CUserMsg_ParticleManager_ChangeControlPointAttachment struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + AttachmentOld *int32 `protobuf:"varint,1,opt,name=attachment_old,json=attachmentOld" json:"attachment_old,omitempty"` + AttachmentNew *int32 `protobuf:"varint,2,opt,name=attachment_new,json=attachmentNew" json:"attachment_new,omitempty"` + EntityHandle *uint32 `protobuf:"varint,3,opt,name=entity_handle,json=entityHandle" json:"entity_handle,omitempty"` +} + +func (x *CUserMsg_ParticleManager_ChangeControlPointAttachment) Reset() { + *x = CUserMsg_ParticleManager_ChangeControlPointAttachment{} + if protoimpl.UnsafeEnabled { + mi := &file_usermessages_proto_msgTypes[57] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CUserMsg_ParticleManager_ChangeControlPointAttachment) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CUserMsg_ParticleManager_ChangeControlPointAttachment) ProtoMessage() {} + +func (x *CUserMsg_ParticleManager_ChangeControlPointAttachment) ProtoReflect() protoreflect.Message { + mi := &file_usermessages_proto_msgTypes[57] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CUserMsg_ParticleManager_ChangeControlPointAttachment.ProtoReflect.Descriptor instead. +func (*CUserMsg_ParticleManager_ChangeControlPointAttachment) Descriptor() ([]byte, []int) { + return file_usermessages_proto_rawDescGZIP(), []int{35, 13} +} + +func (x *CUserMsg_ParticleManager_ChangeControlPointAttachment) GetAttachmentOld() int32 { + if x != nil && x.AttachmentOld != nil { + return *x.AttachmentOld + } + return 0 +} + +func (x *CUserMsg_ParticleManager_ChangeControlPointAttachment) GetAttachmentNew() int32 { + if x != nil && x.AttachmentNew != nil { + return *x.AttachmentNew + } + return 0 +} + +func (x *CUserMsg_ParticleManager_ChangeControlPointAttachment) GetEntityHandle() uint32 { + if x != nil && x.EntityHandle != nil { + return *x.EntityHandle + } + return 0 +} + +type CUserMsg_ParticleManager_UpdateEntityPosition struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + EntityHandle *uint32 `protobuf:"varint,1,opt,name=entity_handle,json=entityHandle" json:"entity_handle,omitempty"` + Position *CMsgVector `protobuf:"bytes,2,opt,name=position" json:"position,omitempty"` +} + +func (x *CUserMsg_ParticleManager_UpdateEntityPosition) Reset() { + *x = CUserMsg_ParticleManager_UpdateEntityPosition{} + if protoimpl.UnsafeEnabled { + mi := &file_usermessages_proto_msgTypes[58] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CUserMsg_ParticleManager_UpdateEntityPosition) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CUserMsg_ParticleManager_UpdateEntityPosition) ProtoMessage() {} + +func (x *CUserMsg_ParticleManager_UpdateEntityPosition) ProtoReflect() protoreflect.Message { + mi := &file_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 CUserMsg_ParticleManager_UpdateEntityPosition.ProtoReflect.Descriptor instead. +func (*CUserMsg_ParticleManager_UpdateEntityPosition) Descriptor() ([]byte, []int) { + return file_usermessages_proto_rawDescGZIP(), []int{35, 14} +} + +func (x *CUserMsg_ParticleManager_UpdateEntityPosition) GetEntityHandle() uint32 { + if x != nil && x.EntityHandle != nil { + return *x.EntityHandle + } + return 0 +} + +func (x *CUserMsg_ParticleManager_UpdateEntityPosition) GetPosition() *CMsgVector { + if x != nil { + return x.Position + } + return nil +} + +type CUserMsg_ParticleManager_SetParticleFoWProperties struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + FowControlPoint *int32 `protobuf:"varint,1,opt,name=fow_control_point,json=fowControlPoint" json:"fow_control_point,omitempty"` + FowControlPoint2 *int32 `protobuf:"varint,2,opt,name=fow_control_point2,json=fowControlPoint2" json:"fow_control_point2,omitempty"` + FowRadius *float32 `protobuf:"fixed32,3,opt,name=fow_radius,json=fowRadius" json:"fow_radius,omitempty"` +} + +func (x *CUserMsg_ParticleManager_SetParticleFoWProperties) Reset() { + *x = CUserMsg_ParticleManager_SetParticleFoWProperties{} + if protoimpl.UnsafeEnabled { + mi := &file_usermessages_proto_msgTypes[59] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CUserMsg_ParticleManager_SetParticleFoWProperties) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CUserMsg_ParticleManager_SetParticleFoWProperties) ProtoMessage() {} + +func (x *CUserMsg_ParticleManager_SetParticleFoWProperties) ProtoReflect() protoreflect.Message { + mi := &file_usermessages_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 CUserMsg_ParticleManager_SetParticleFoWProperties.ProtoReflect.Descriptor instead. +func (*CUserMsg_ParticleManager_SetParticleFoWProperties) Descriptor() ([]byte, []int) { + return file_usermessages_proto_rawDescGZIP(), []int{35, 15} +} + +func (x *CUserMsg_ParticleManager_SetParticleFoWProperties) GetFowControlPoint() int32 { + if x != nil && x.FowControlPoint != nil { + return *x.FowControlPoint + } + return 0 +} + +func (x *CUserMsg_ParticleManager_SetParticleFoWProperties) GetFowControlPoint2() int32 { + if x != nil && x.FowControlPoint2 != nil { + return *x.FowControlPoint2 + } + return 0 +} + +func (x *CUserMsg_ParticleManager_SetParticleFoWProperties) GetFowRadius() float32 { + if x != nil && x.FowRadius != nil { + return *x.FowRadius + } + return 0 +} + +type CUserMsg_ParticleManager_SetParticleShouldCheckFoW struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + CheckFow *bool `protobuf:"varint,1,opt,name=check_fow,json=checkFow" json:"check_fow,omitempty"` +} + +func (x *CUserMsg_ParticleManager_SetParticleShouldCheckFoW) Reset() { + *x = CUserMsg_ParticleManager_SetParticleShouldCheckFoW{} + if protoimpl.UnsafeEnabled { + mi := &file_usermessages_proto_msgTypes[60] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CUserMsg_ParticleManager_SetParticleShouldCheckFoW) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CUserMsg_ParticleManager_SetParticleShouldCheckFoW) ProtoMessage() {} + +func (x *CUserMsg_ParticleManager_SetParticleShouldCheckFoW) ProtoReflect() protoreflect.Message { + mi := &file_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 CUserMsg_ParticleManager_SetParticleShouldCheckFoW.ProtoReflect.Descriptor instead. +func (*CUserMsg_ParticleManager_SetParticleShouldCheckFoW) Descriptor() ([]byte, []int) { + return file_usermessages_proto_rawDescGZIP(), []int{35, 16} +} + +func (x *CUserMsg_ParticleManager_SetParticleShouldCheckFoW) GetCheckFow() bool { + if x != nil && x.CheckFow != nil { + return *x.CheckFow + } + return false +} + +type CUserMsg_ParticleManager_SetControlPointModel struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ControlPoint *int32 `protobuf:"varint,1,opt,name=control_point,json=controlPoint" json:"control_point,omitempty"` + ModelName *string `protobuf:"bytes,2,opt,name=model_name,json=modelName" json:"model_name,omitempty"` +} + +func (x *CUserMsg_ParticleManager_SetControlPointModel) Reset() { + *x = CUserMsg_ParticleManager_SetControlPointModel{} + if protoimpl.UnsafeEnabled { + mi := &file_usermessages_proto_msgTypes[61] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CUserMsg_ParticleManager_SetControlPointModel) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CUserMsg_ParticleManager_SetControlPointModel) ProtoMessage() {} + +func (x *CUserMsg_ParticleManager_SetControlPointModel) ProtoReflect() protoreflect.Message { + mi := &file_usermessages_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 CUserMsg_ParticleManager_SetControlPointModel.ProtoReflect.Descriptor instead. +func (*CUserMsg_ParticleManager_SetControlPointModel) Descriptor() ([]byte, []int) { + return file_usermessages_proto_rawDescGZIP(), []int{35, 17} +} + +func (x *CUserMsg_ParticleManager_SetControlPointModel) GetControlPoint() int32 { + if x != nil && x.ControlPoint != nil { + return *x.ControlPoint + } + return 0 +} + +func (x *CUserMsg_ParticleManager_SetControlPointModel) GetModelName() string { + if x != nil && x.ModelName != nil { + return *x.ModelName + } + return "" +} + +type CUserMsg_ParticleManager_SetControlPointSnapshot struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ControlPoint *int32 `protobuf:"varint,1,opt,name=control_point,json=controlPoint" json:"control_point,omitempty"` + SnapshotName *string `protobuf:"bytes,2,opt,name=snapshot_name,json=snapshotName" json:"snapshot_name,omitempty"` +} + +func (x *CUserMsg_ParticleManager_SetControlPointSnapshot) Reset() { + *x = CUserMsg_ParticleManager_SetControlPointSnapshot{} + if protoimpl.UnsafeEnabled { + mi := &file_usermessages_proto_msgTypes[62] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CUserMsg_ParticleManager_SetControlPointSnapshot) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CUserMsg_ParticleManager_SetControlPointSnapshot) ProtoMessage() {} + +func (x *CUserMsg_ParticleManager_SetControlPointSnapshot) ProtoReflect() protoreflect.Message { + mi := &file_usermessages_proto_msgTypes[62] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CUserMsg_ParticleManager_SetControlPointSnapshot.ProtoReflect.Descriptor instead. +func (*CUserMsg_ParticleManager_SetControlPointSnapshot) Descriptor() ([]byte, []int) { + return file_usermessages_proto_rawDescGZIP(), []int{35, 18} +} + +func (x *CUserMsg_ParticleManager_SetControlPointSnapshot) GetControlPoint() int32 { + if x != nil && x.ControlPoint != nil { + return *x.ControlPoint + } + return 0 +} + +func (x *CUserMsg_ParticleManager_SetControlPointSnapshot) GetSnapshotName() string { + if x != nil && x.SnapshotName != nil { + return *x.SnapshotName + } + return "" +} + +type CUserMsg_ParticleManager_SetParticleText struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Text *string `protobuf:"bytes,1,opt,name=text" json:"text,omitempty"` +} + +func (x *CUserMsg_ParticleManager_SetParticleText) Reset() { + *x = CUserMsg_ParticleManager_SetParticleText{} + if protoimpl.UnsafeEnabled { + mi := &file_usermessages_proto_msgTypes[63] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CUserMsg_ParticleManager_SetParticleText) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CUserMsg_ParticleManager_SetParticleText) ProtoMessage() {} + +func (x *CUserMsg_ParticleManager_SetParticleText) ProtoReflect() protoreflect.Message { + mi := &file_usermessages_proto_msgTypes[63] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CUserMsg_ParticleManager_SetParticleText.ProtoReflect.Descriptor instead. +func (*CUserMsg_ParticleManager_SetParticleText) Descriptor() ([]byte, []int) { + return file_usermessages_proto_rawDescGZIP(), []int{35, 19} +} + +func (x *CUserMsg_ParticleManager_SetParticleText) GetText() string { + if x != nil && x.Text != nil { + return *x.Text + } + return "" +} + +type CUserMsg_ParticleManager_SetTextureAttribute struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + AttributeName *string `protobuf:"bytes,1,opt,name=attribute_name,json=attributeName" json:"attribute_name,omitempty"` + TextureName *string `protobuf:"bytes,2,opt,name=texture_name,json=textureName" json:"texture_name,omitempty"` +} + +func (x *CUserMsg_ParticleManager_SetTextureAttribute) Reset() { + *x = CUserMsg_ParticleManager_SetTextureAttribute{} + if protoimpl.UnsafeEnabled { + mi := &file_usermessages_proto_msgTypes[64] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CUserMsg_ParticleManager_SetTextureAttribute) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CUserMsg_ParticleManager_SetTextureAttribute) ProtoMessage() {} + +func (x *CUserMsg_ParticleManager_SetTextureAttribute) ProtoReflect() protoreflect.Message { + mi := &file_usermessages_proto_msgTypes[64] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CUserMsg_ParticleManager_SetTextureAttribute.ProtoReflect.Descriptor instead. +func (*CUserMsg_ParticleManager_SetTextureAttribute) Descriptor() ([]byte, []int) { + return file_usermessages_proto_rawDescGZIP(), []int{35, 20} +} + +func (x *CUserMsg_ParticleManager_SetTextureAttribute) GetAttributeName() string { + if x != nil && x.AttributeName != nil { + return *x.AttributeName + } + return "" +} + +func (x *CUserMsg_ParticleManager_SetTextureAttribute) GetTextureName() string { + if x != nil && x.TextureName != nil { + return *x.TextureName + } + return "" +} + +type CUserMsg_ParticleManager_SetSceneObjectGenericFlag struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + FlagValue *bool `protobuf:"varint,1,opt,name=flag_value,json=flagValue" json:"flag_value,omitempty"` +} + +func (x *CUserMsg_ParticleManager_SetSceneObjectGenericFlag) Reset() { + *x = CUserMsg_ParticleManager_SetSceneObjectGenericFlag{} + if protoimpl.UnsafeEnabled { + mi := &file_usermessages_proto_msgTypes[65] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CUserMsg_ParticleManager_SetSceneObjectGenericFlag) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CUserMsg_ParticleManager_SetSceneObjectGenericFlag) ProtoMessage() {} + +func (x *CUserMsg_ParticleManager_SetSceneObjectGenericFlag) ProtoReflect() protoreflect.Message { + mi := &file_usermessages_proto_msgTypes[65] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CUserMsg_ParticleManager_SetSceneObjectGenericFlag.ProtoReflect.Descriptor instead. +func (*CUserMsg_ParticleManager_SetSceneObjectGenericFlag) Descriptor() ([]byte, []int) { + return file_usermessages_proto_rawDescGZIP(), []int{35, 21} +} + +func (x *CUserMsg_ParticleManager_SetSceneObjectGenericFlag) GetFlagValue() bool { + if x != nil && x.FlagValue != nil { + return *x.FlagValue + } + return false +} + +type CUserMsg_ParticleManager_SetSceneObjectTintAndDesat struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Tint *uint32 `protobuf:"fixed32,1,opt,name=tint" json:"tint,omitempty"` + Desat *float32 `protobuf:"fixed32,2,opt,name=desat" json:"desat,omitempty"` +} + +func (x *CUserMsg_ParticleManager_SetSceneObjectTintAndDesat) Reset() { + *x = CUserMsg_ParticleManager_SetSceneObjectTintAndDesat{} + if protoimpl.UnsafeEnabled { + mi := &file_usermessages_proto_msgTypes[66] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CUserMsg_ParticleManager_SetSceneObjectTintAndDesat) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CUserMsg_ParticleManager_SetSceneObjectTintAndDesat) ProtoMessage() {} + +func (x *CUserMsg_ParticleManager_SetSceneObjectTintAndDesat) ProtoReflect() protoreflect.Message { + mi := &file_usermessages_proto_msgTypes[66] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CUserMsg_ParticleManager_SetSceneObjectTintAndDesat.ProtoReflect.Descriptor instead. +func (*CUserMsg_ParticleManager_SetSceneObjectTintAndDesat) Descriptor() ([]byte, []int) { + return file_usermessages_proto_rawDescGZIP(), []int{35, 22} +} + +func (x *CUserMsg_ParticleManager_SetSceneObjectTintAndDesat) GetTint() uint32 { + if x != nil && x.Tint != nil { + return *x.Tint + } + return 0 +} + +func (x *CUserMsg_ParticleManager_SetSceneObjectTintAndDesat) GetDesat() float32 { + if x != nil && x.Desat != nil { + return *x.Desat + } + return 0 +} + +type CUserMsg_ParticleManager_ParticleSkipToTime struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + SkipToTime *float32 `protobuf:"fixed32,1,opt,name=skip_to_time,json=skipToTime" json:"skip_to_time,omitempty"` +} + +func (x *CUserMsg_ParticleManager_ParticleSkipToTime) Reset() { + *x = CUserMsg_ParticleManager_ParticleSkipToTime{} + if protoimpl.UnsafeEnabled { + mi := &file_usermessages_proto_msgTypes[67] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CUserMsg_ParticleManager_ParticleSkipToTime) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CUserMsg_ParticleManager_ParticleSkipToTime) ProtoMessage() {} + +func (x *CUserMsg_ParticleManager_ParticleSkipToTime) ProtoReflect() protoreflect.Message { + mi := &file_usermessages_proto_msgTypes[67] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CUserMsg_ParticleManager_ParticleSkipToTime.ProtoReflect.Descriptor instead. +func (*CUserMsg_ParticleManager_ParticleSkipToTime) Descriptor() ([]byte, []int) { + return file_usermessages_proto_rawDescGZIP(), []int{35, 23} +} + +func (x *CUserMsg_ParticleManager_ParticleSkipToTime) GetSkipToTime() float32 { + if x != nil && x.SkipToTime != nil { + return *x.SkipToTime + } + return 0 +} + +type CUserMessageCommandQueueStateCommandQueueInfoT struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + 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 *int32 `protobuf:"varint,4,opt,name=time_dilation_percent,json=timeDilationPercent" json:"time_dilation_percent,omitempty"` +} + +func (x *CUserMessageCommandQueueStateCommandQueueInfoT) Reset() { + *x = CUserMessageCommandQueueStateCommandQueueInfoT{} + if protoimpl.UnsafeEnabled { + mi := &file_usermessages_proto_msgTypes[68] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CUserMessageCommandQueueStateCommandQueueInfoT) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CUserMessageCommandQueueStateCommandQueueInfoT) ProtoMessage() {} + +func (x *CUserMessageCommandQueueStateCommandQueueInfoT) ProtoReflect() protoreflect.Message { + mi := &file_usermessages_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 CUserMessageCommandQueueStateCommandQueueInfoT.ProtoReflect.Descriptor instead. +func (*CUserMessageCommandQueueStateCommandQueueInfoT) Descriptor() ([]byte, []int) { + return file_usermessages_proto_rawDescGZIP(), []int{41, 0} +} + +func (x *CUserMessageCommandQueueStateCommandQueueInfoT) GetCommandsQueued() uint32 { + if x != nil && x.CommandsQueued != nil { + return *x.CommandsQueued + } + return 0 +} + +func (x *CUserMessageCommandQueueStateCommandQueueInfoT) GetCommandQueueDesiredSize() uint32 { + if x != nil && x.CommandQueueDesiredSize != nil { + return *x.CommandQueueDesiredSize + } + return 0 +} + +func (x *CUserMessageCommandQueueStateCommandQueueInfoT) GetStarvedCommandTicks() uint32 { + if x != nil && x.StarvedCommandTicks != nil { + return *x.StarvedCommandTicks + } + return 0 +} + +func (x *CUserMessageCommandQueueStateCommandQueueInfoT) GetTimeDilationPercent() int32 { + if x != nil && x.TimeDilationPercent != nil { + return *x.TimeDilationPercent + } + return 0 +} + +var File_usermessages_proto protoreflect.FileDescriptor + +var file_usermessages_proto_rawDesc = []byte{ + 0x0a, 0x12, 0x75, 0x73, 0x65, 0x72, 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, 0x22, 0x40, 0x0a, 0x1c, + 0x43, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 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, + 0x0d, 0x52, 0x0b, 0x61, 0x63, 0x68, 0x69, 0x65, 0x76, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x88, + 0x01, 0x0a, 0x18, 0x43, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 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, 0x07, 0x52, 0x04, 0x68, 0x61, 0x73, 0x68, 0x12, + 0x1a, 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x02, 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, 0x1b, 0x0a, 0x09, + 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x08, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x22, 0x8e, 0x01, 0x0a, 0x1e, 0x43, 0x55, + 0x73, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 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, 0x07, 0x52, 0x04, 0x68, 0x61, 0x73, 0x68, + 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x02, 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, 0x1b, 0x0a, + 0x09, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x08, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x22, 0x97, 0x01, 0x0a, 0x23, 0x43, + 0x55, 0x73, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x43, 0x6c, 0x6f, 0x73, 0x65, + 0x43, 0x61, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6c, 0x61, 0x63, 0x65, 0x68, 0x6f, 0x6c, 0x64, + 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x75, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 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, 0x1b, 0x0a, 0x09, 0x65, 0x6e, 0x74, 0x5f, 0x69, + 0x6e, 0x64, 0x65, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x65, 0x6e, 0x74, 0x49, + 0x6e, 0x64, 0x65, 0x78, 0x22, 0x38, 0x0a, 0x1c, 0x43, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x65, 0x73, + 0x73, 0x61, 0x67, 0x65, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x73, + 0x63, 0x61, 0x6c, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x07, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x22, 0xb4, + 0x01, 0x0a, 0x1c, 0x43, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x44, + 0x65, 0x73, 0x69, 0x72, 0x65, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x12, + 0x18, 0x0a, 0x07, 0x64, 0x65, 0x73, 0x69, 0x72, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, + 0x52, 0x07, 0x64, 0x65, 0x73, 0x69, 0x72, 0x65, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x61, 0x63, 0x63, + 0x65, 0x6c, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, + 0x0c, 0x61, 0x63, 0x63, 0x65, 0x6c, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x22, 0x0a, + 0x0c, 0x6d, 0x69, 0x6e, 0x62, 0x6c, 0x65, 0x6e, 0x64, 0x72, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x02, 0x52, 0x0c, 0x6d, 0x69, 0x6e, 0x62, 0x6c, 0x65, 0x6e, 0x64, 0x72, 0x61, 0x74, + 0x65, 0x12, 0x32, 0x0a, 0x14, 0x62, 0x6c, 0x65, 0x6e, 0x64, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x6d, + 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x69, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, + 0x14, 0x62, 0x6c, 0x65, 0x6e, 0x64, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x6d, 0x75, 0x6c, 0x74, 0x69, + 0x70, 0x6c, 0x69, 0x65, 0x72, 0x22, 0x77, 0x0a, 0x10, 0x43, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x65, + 0x73, 0x73, 0x61, 0x67, 0x65, 0x46, 0x61, 0x64, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x75, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 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, 0x0d, 0x52, 0x08, 0x68, 0x6f, 0x6c, 0x64, 0x54, 0x69, + 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x6c, 0x6f, + 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x07, 0x52, 0x05, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x22, 0x85, + 0x01, 0x0a, 0x11, 0x43, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, + 0x68, 0x61, 0x6b, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x12, 0x1c, + 0x0a, 0x09, 0x61, 0x6d, 0x70, 0x6c, 0x69, 0x74, 0x75, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x02, 0x52, 0x09, 0x61, 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, 0x6b, 0x0a, 0x14, 0x43, 0x55, 0x73, 0x65, 0x72, 0x4d, + 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x68, 0x61, 0x6b, 0x65, 0x44, 0x69, 0x72, 0x12, 0x28, + 0x0a, 0x05, 0x73, 0x68, 0x61, 0x6b, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, + 0x43, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x68, 0x61, 0x6b, + 0x65, 0x52, 0x05, 0x73, 0x68, 0x61, 0x6b, 0x65, 0x12, 0x29, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x43, 0x4d, + 0x73, 0x67, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x22, 0xa5, 0x01, 0x0a, 0x16, 0x43, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x65, 0x73, + 0x73, 0x61, 0x67, 0x65, 0x53, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x54, 0x69, 0x6c, 0x74, 0x12, 0x18, + 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x12, 0x1e, 0x0a, 0x0b, 0x65, 0x61, 0x73, 0x65, + 0x5f, 0x69, 0x6e, 0x5f, 0x6f, 0x75, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x65, + 0x61, 0x73, 0x65, 0x49, 0x6e, 0x4f, 0x75, 0x74, 0x12, 0x21, 0x0a, 0x05, 0x61, 0x6e, 0x67, 0x6c, + 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x56, 0x65, + 0x63, 0x74, 0x6f, 0x72, 0x52, 0x05, 0x61, 0x6e, 0x67, 0x6c, 0x65, 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, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x02, 0x52, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x22, 0x5f, 0x0a, 0x13, 0x43, + 0x55, 0x73, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x61, 0x79, 0x54, 0x65, + 0x78, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x69, 0x6e, 0x64, 0x65, + 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x69, + 0x6e, 0x64, 0x65, 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, 0x22, 0xce, 0x01, 0x0a, + 0x14, 0x43, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x61, 0x79, + 0x54, 0x65, 0x78, 0x74, 0x32, 0x12, 0x20, 0x0a, 0x0b, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x69, + 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x65, 0x6e, 0x74, 0x69, + 0x74, 0x79, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x68, 0x61, 0x74, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x63, 0x68, 0x61, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x6d, + 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0b, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, + 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x31, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, + 0x61, 0x72, 0x61, 0x6d, 0x31, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x32, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x32, 0x12, 0x16, 0x0a, + 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x33, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, + 0x61, 0x72, 0x61, 0x6d, 0x33, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x34, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x34, 0x22, 0xa8, 0x02, + 0x0a, 0x12, 0x43, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x75, + 0x64, 0x4d, 0x73, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x0c, + 0x0a, 0x01, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x01, 0x78, 0x12, 0x0c, 0x0a, 0x01, + 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x01, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x6f, + 0x6c, 0x6f, 0x72, 0x31, 0x18, 0x04, 0x20, 0x01, 0x28, 0x07, 0x52, 0x06, 0x63, 0x6f, 0x6c, 0x6f, + 0x72, 0x31, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x32, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x07, 0x52, 0x06, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x32, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x66, + 0x66, 0x65, 0x63, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 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, 0x07, 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, 0x08, 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, 0x18, + 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x2f, 0x0a, 0x13, 0x43, 0x55, 0x73, 0x65, + 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x75, 0x64, 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, 0x3f, 0x0a, 0x13, 0x43, 0x55, 0x73, + 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x54, 0x65, 0x78, 0x74, 0x4d, 0x73, 0x67, + 0x12, 0x12, 0x0a, 0x04, 0x64, 0x65, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, + 0x64, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x18, 0x02, 0x20, + 0x03, 0x28, 0x09, 0x52, 0x05, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x22, 0x17, 0x0a, 0x15, 0x43, 0x55, + 0x73, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x47, 0x61, 0x6d, 0x65, 0x54, 0x69, + 0x74, 0x6c, 0x65, 0x22, 0x16, 0x0a, 0x14, 0x43, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, + 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x65, 0x74, 0x48, 0x55, 0x44, 0x22, 0x49, 0x0a, 0x15, 0x43, + 0x55, 0x73, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x65, 0x6e, 0x64, 0x41, + 0x75, 0x64, 0x69, 0x6f, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x6f, 0x75, 0x6e, 0x64, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x6f, 0x75, 0x6e, 0x64, 0x6e, 0x61, + 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x74, 0x6f, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x04, 0x73, 0x74, 0x6f, 0x70, 0x22, 0x9c, 0x01, 0x0a, 0x1a, 0x43, 0x55, 0x73, 0x65, 0x72, + 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x50, 0x61, 0x72, 0x61, + 0x6d, 0x65, 0x74, 0x65, 0x72, 0x12, 0x25, 0x0a, 0x0e, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, + 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x70, + 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x24, 0x0a, 0x0e, + 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x6e, 0x61, 0x6d, 0x65, 0x48, 0x61, 0x73, 0x68, 0x43, 0x6f, + 0x64, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x02, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x6e, 0x74, 0x5f, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x69, 0x6e, 0x74, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x7c, 0x0a, 0x15, 0x43, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x65, + 0x73, 0x73, 0x61, 0x67, 0x65, 0x56, 0x6f, 0x69, 0x63, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x12, 0x27, + 0x0a, 0x0f, 0x67, 0x61, 0x6d, 0x65, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x5f, 0x6d, 0x61, 0x73, 0x6b, + 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0e, 0x67, 0x61, 0x6d, 0x65, 0x72, 0x75, 0x6c, + 0x65, 0x73, 0x4d, 0x61, 0x73, 0x6b, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x62, 0x61, 0x6e, 0x5f, 0x6d, + 0x61, 0x73, 0x6b, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x08, 0x62, 0x61, 0x6e, 0x4d, + 0x61, 0x73, 0x6b, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x6f, 0x64, 0x5f, 0x65, 0x6e, 0x61, 0x62, + 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x6d, 0x6f, 0x64, 0x45, 0x6e, 0x61, + 0x62, 0x6c, 0x65, 0x22, 0x1a, 0x0a, 0x18, 0x43, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, + 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x22, + 0x54, 0x0a, 0x12, 0x43, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 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, 0x62, 0x0a, 0x1a, 0x43, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x65, + 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x61, 0x79, 0x54, 0x65, 0x78, 0x74, 0x43, 0x68, 0x61, 0x6e, + 0x6e, 0x65, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x06, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x63, + 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x63, 0x68, + 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, 0x78, 0x74, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x65, 0x78, 0x74, 0x22, 0xd6, 0x01, 0x0a, 0x17, 0x43, 0x55, + 0x73, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x65, + 0x64, 0x54, 0x65, 0x78, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x74, + 0x65, 0x78, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x65, 0x78, 0x74, 0x12, + 0x14, 0x0a, 0x05, 0x72, 0x65, 0x73, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, + 0x72, 0x65, 0x73, 0x65, 0x74, 0x12, 0x2e, 0x0a, 0x13, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, + 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x11, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, + 0x72, 0x53, 0x6c, 0x6f, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, + 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x63, 0x6f, + 0x6e, 0x74, 0x65, 0x78, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x63, 0x6f, + 0x6e, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x54, 0x65, 0x61, 0x6d, + 0x49, 0x64, 0x22, 0x34, 0x0a, 0x16, 0x43, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x69, 0x63, 0x6b, 0x75, 0x70, 0x12, 0x1a, 0x0a, 0x08, + 0x69, 0x74, 0x65, 0x6d, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x69, 0x74, 0x65, 0x6d, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x31, 0x0a, 0x16, 0x43, 0x55, 0x73, 0x65, + 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x41, 0x6d, 0x6d, 0x6f, 0x44, 0x65, 0x6e, 0x69, + 0x65, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x61, 0x6d, 0x6d, 0x6f, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x06, 0x61, 0x6d, 0x6d, 0x6f, 0x49, 0x64, 0x22, 0x94, 0x01, 0x0a, 0x14, + 0x43, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x68, 0x6f, 0x77, + 0x4d, 0x65, 0x6e, 0x75, 0x12, 0x1e, 0x0a, 0x0a, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x73, 0x6c, 0x6f, + 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x73, + 0x6c, 0x6f, 0x74, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x74, + 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, + 0x61, 0x79, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x65, 0x65, 0x64, 0x6d, 0x6f, + 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x6e, 0x65, 0x65, 0x64, 0x6d, 0x6f, + 0x72, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x6d, 0x65, 0x6e, 0x75, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6d, 0x65, 0x6e, 0x75, 0x73, 0x74, 0x72, 0x69, + 0x6e, 0x67, 0x22, 0x6c, 0x0a, 0x16, 0x43, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x4d, 0x73, 0x67, 0x12, 0x31, 0x0a, 0x08, + 0x72, 0x6f, 0x6c, 0x6c, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0a, + 0x2e, 0x65, 0x52, 0x6f, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x3a, 0x09, 0x52, 0x4f, 0x4c, 0x4c, + 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x52, 0x08, 0x72, 0x6f, 0x6c, 0x6c, 0x74, 0x79, 0x70, 0x65, 0x12, + 0x1f, 0x0a, 0x0b, 0x6c, 0x6f, 0x67, 0x6f, 0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x6c, 0x6f, 0x67, 0x6f, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, + 0x22, 0x46, 0x0a, 0x18, 0x43, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x4d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x4a, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x12, 0x2a, 0x0a, 0x0a, + 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x0b, 0x2e, 0x43, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x4d, 0x73, 0x67, 0x52, 0x09, 0x65, + 0x6e, 0x74, 0x69, 0x74, 0x79, 0x4d, 0x73, 0x67, 0x22, 0x6c, 0x0a, 0x1b, 0x43, 0x45, 0x6e, 0x74, + 0x69, 0x74, 0x79, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x63, 0x72, 0x65, 0x65, 0x6e, + 0x4f, 0x76, 0x65, 0x72, 0x6c, 0x61, 0x79, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x74, 0x61, 0x72, 0x74, + 0x5f, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x73, + 0x74, 0x61, 0x72, 0x74, 0x45, 0x66, 0x66, 0x65, 0x63, 0x74, 0x12, 0x2a, 0x0a, 0x0a, 0x65, 0x6e, + 0x74, 0x69, 0x74, 0x79, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, + 0x2e, 0x43, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x4d, 0x73, 0x67, 0x52, 0x09, 0x65, 0x6e, 0x74, + 0x69, 0x74, 0x79, 0x4d, 0x73, 0x67, 0x22, 0x70, 0x0a, 0x1d, 0x43, 0x45, 0x6e, 0x74, 0x69, 0x74, + 0x79, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x41, 0x6c, + 0x6c, 0x44, 0x65, 0x63, 0x61, 0x6c, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x6d, 0x6f, 0x76, + 0x65, 0x5f, 0x64, 0x65, 0x63, 0x61, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, + 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x44, 0x65, 0x63, 0x61, 0x6c, 0x73, 0x12, 0x2a, 0x0a, 0x0a, + 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x0b, 0x2e, 0x43, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x4d, 0x73, 0x67, 0x52, 0x09, 0x65, + 0x6e, 0x74, 0x69, 0x74, 0x79, 0x4d, 0x73, 0x67, 0x22, 0x71, 0x0a, 0x1c, 0x43, 0x45, 0x6e, 0x74, + 0x69, 0x74, 0x79, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x50, 0x72, 0x6f, 0x70, 0x61, 0x67, + 0x61, 0x74, 0x65, 0x46, 0x6f, 0x72, 0x63, 0x65, 0x12, 0x25, 0x0a, 0x07, 0x69, 0x6d, 0x70, 0x75, + 0x6c, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x43, 0x4d, 0x73, 0x67, + 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x07, 0x69, 0x6d, 0x70, 0x75, 0x6c, 0x73, 0x65, 0x12, + 0x2a, 0x0a, 0x0a, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x43, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x4d, 0x73, 0x67, + 0x52, 0x09, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x4d, 0x73, 0x67, 0x22, 0x80, 0x02, 0x0a, 0x15, + 0x43, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x44, 0x6f, + 0x53, 0x70, 0x61, 0x72, 0x6b, 0x12, 0x23, 0x0a, 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x18, + 0x01, 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, 0x20, 0x0a, 0x0b, 0x65, 0x6e, + 0x74, 0x69, 0x74, 0x79, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x0b, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x16, 0x0a, 0x06, + 0x72, 0x61, 0x64, 0x69, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x06, 0x72, 0x61, + 0x64, 0x69, 0x75, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x07, 0x52, 0x05, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x65, + 0x61, 0x6d, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x62, 0x65, 0x61, 0x6d, 0x73, + 0x12, 0x14, 0x0a, 0x05, 0x74, 0x68, 0x69, 0x63, 0x6b, 0x18, 0x06, 0x20, 0x01, 0x28, 0x02, 0x52, + 0x05, 0x74, 0x68, 0x69, 0x63, 0x6b, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x2a, 0x0a, 0x0a, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x6d, 0x73, 0x67, + 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x43, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, + 0x4d, 0x73, 0x67, 0x52, 0x09, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x4d, 0x73, 0x67, 0x22, 0x83, + 0x01, 0x0a, 0x16, 0x43, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, + 0x65, 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, 0x12, 0x2a, 0x0a, 0x0a, 0x65, 0x6e, 0x74, 0x69, + 0x74, 0x79, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x43, + 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x4d, 0x73, 0x67, 0x52, 0x09, 0x65, 0x6e, 0x74, 0x69, 0x74, + 0x79, 0x4d, 0x73, 0x67, 0x22, 0xb9, 0x02, 0x0a, 0x1c, 0x43, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x65, + 0x73, 0x73, 0x61, 0x67, 0x65, 0x43, 0x61, 0x6d, 0x65, 0x72, 0x61, 0x54, 0x72, 0x61, 0x6e, 0x73, + 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x61, 0x6d, 0x65, 0x72, 0x61, 0x5f, + 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x63, 0x61, 0x6d, 0x65, + 0x72, 0x61, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x61, 0x0a, 0x12, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x5f, 0x64, 0x61, 0x74, + 0x61, 0x5f, 0x64, 0x72, 0x69, 0x76, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, + 0x2e, 0x43, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x43, 0x61, 0x6d, + 0x65, 0x72, 0x61, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x54, 0x72, + 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x44, 0x61, 0x74, 0x61, 0x44, 0x72, 0x69, + 0x76, 0x65, 0x6e, 0x52, 0x10, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x44, 0x61, 0x74, 0x61, 0x44, + 0x72, 0x69, 0x76, 0x65, 0x6e, 0x1a, 0x79, 0x0a, 0x15, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x44, 0x61, 0x74, 0x61, 0x44, 0x72, 0x69, 0x76, 0x65, 0x6e, 0x12, 0x1a, + 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x61, 0x74, + 0x74, 0x61, 0x63, 0x68, 0x5f, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x45, 0x6e, 0x74, 0x49, + 0x6e, 0x64, 0x65, 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, + 0x22, 0xd5, 0x2a, 0x0a, 0x18, 0x43, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x50, 0x61, + 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x12, 0x49, 0x0a, + 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x02, 0x28, 0x0e, 0x32, 0x11, 0x2e, 0x50, 0x41, + 0x52, 0x54, 0x49, 0x43, 0x4c, 0x45, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x3a, 0x22, + 0x47, 0x41, 0x4d, 0x45, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x4c, 0x45, 0x5f, 0x4d, 0x41, + 0x4e, 0x41, 0x47, 0x45, 0x52, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x43, 0x52, 0x45, 0x41, + 0x54, 0x45, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, + 0x78, 0x18, 0x02, 0x20, 0x02, 0x28, 0x0d, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x64, + 0x0a, 0x16, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, + 0x6c, 0x65, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, + 0x2e, 0x43, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, + 0x6c, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, + 0x65, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x14, + 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x49, + 0x6e, 0x64, 0x65, 0x78, 0x12, 0x51, 0x0a, 0x0f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x70, + 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, + 0x43, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, + 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, + 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x52, 0x0e, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, + 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x12, 0x54, 0x0a, 0x10, 0x64, 0x65, 0x73, 0x74, 0x72, + 0x6f, 0x79, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x29, 0x2e, 0x43, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x50, 0x61, 0x72, + 0x74, 0x69, 0x63, 0x6c, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x44, 0x65, 0x73, + 0x74, 0x72, 0x6f, 0x79, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x52, 0x0f, 0x64, 0x65, + 0x73, 0x74, 0x72, 0x6f, 0x79, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x12, 0x70, 0x0a, + 0x1a, 0x64, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, + 0x65, 0x5f, 0x69, 0x6e, 0x76, 0x6f, 0x6c, 0x76, 0x69, 0x6e, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x32, 0x2e, 0x43, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x50, 0x61, 0x72, + 0x74, 0x69, 0x63, 0x6c, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x44, 0x65, 0x73, + 0x74, 0x72, 0x6f, 0x79, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x49, 0x6e, 0x76, 0x6f, + 0x6c, 0x76, 0x69, 0x6e, 0x67, 0x52, 0x18, 0x64, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x50, 0x61, + 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x49, 0x6e, 0x76, 0x6f, 0x6c, 0x76, 0x69, 0x6e, 0x67, 0x12, + 0x51, 0x0a, 0x0f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, + 0x6c, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x43, 0x55, 0x73, 0x65, 0x72, + 0x4d, 0x73, 0x67, 0x5f, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x4d, 0x61, 0x6e, 0x61, + 0x67, 0x65, 0x72, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, + 0x6c, 0x65, 0x52, 0x0e, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, + 0x6c, 0x65, 0x12, 0x5b, 0x0a, 0x13, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x70, 0x61, 0x72, + 0x74, 0x69, 0x63, 0x6c, 0x65, 0x5f, 0x66, 0x77, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x2b, 0x2e, 0x43, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x50, 0x61, 0x72, 0x74, 0x69, + 0x63, 0x6c, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x46, 0x77, 0x64, 0x52, 0x11, 0x75, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x46, 0x77, 0x64, 0x12, + 0x64, 0x0a, 0x16, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, + 0x6c, 0x65, 0x5f, 0x6f, 0x72, 0x69, 0x65, 0x6e, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x2e, 0x2e, 0x43, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x50, 0x61, 0x72, 0x74, 0x69, + 0x63, 0x6c, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x4f, 0x72, 0x69, 0x65, 0x6e, 0x74, 0x52, + 0x14, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x4f, + 0x72, 0x69, 0x65, 0x6e, 0x74, 0x12, 0x6a, 0x0a, 0x18, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, + 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x5f, 0x66, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, + 0x6b, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x43, 0x55, 0x73, 0x65, 0x72, 0x4d, + 0x73, 0x67, 0x5f, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, + 0x65, 0x72, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, + 0x65, 0x46, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x52, 0x16, 0x75, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x46, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, + 0x6b, 0x12, 0x64, 0x0a, 0x16, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x70, 0x61, 0x72, 0x74, + 0x69, 0x63, 0x6c, 0x65, 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x2e, 0x2e, 0x43, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x50, 0x61, 0x72, + 0x74, 0x69, 0x63, 0x6c, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x4f, 0x66, 0x66, 0x73, 0x65, + 0x74, 0x52, 0x14, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, + 0x65, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x5b, 0x0a, 0x13, 0x75, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x5f, 0x65, 0x6e, 0x74, 0x18, 0x0c, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x43, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, + 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x45, 0x6e, + 0x74, 0x52, 0x11, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, + 0x65, 0x45, 0x6e, 0x74, 0x12, 0x71, 0x0a, 0x1b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x70, + 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x5f, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x5f, 0x64, + 0x72, 0x61, 0x77, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x43, 0x55, 0x73, 0x65, + 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x4d, 0x61, 0x6e, + 0x61, 0x67, 0x65, 0x72, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x74, 0x69, + 0x63, 0x6c, 0x65, 0x53, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x44, 0x72, 0x61, 0x77, 0x52, 0x18, 0x75, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x53, 0x68, 0x6f, + 0x75, 0x6c, 0x64, 0x44, 0x72, 0x61, 0x77, 0x12, 0x6e, 0x0a, 0x1a, 0x75, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x66, + 0x72, 0x6f, 0x7a, 0x65, 0x6e, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x43, 0x55, + 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x4d, + 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, + 0x74, 0x69, 0x63, 0x6c, 0x65, 0x53, 0x65, 0x74, 0x46, 0x72, 0x6f, 0x7a, 0x65, 0x6e, 0x52, 0x17, + 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x53, 0x65, + 0x74, 0x46, 0x72, 0x6f, 0x7a, 0x65, 0x6e, 0x12, 0x7d, 0x0a, 0x1f, 0x63, 0x68, 0x61, 0x6e, 0x67, + 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, + 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x36, 0x2e, 0x43, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x50, 0x61, 0x72, 0x74, + 0x69, 0x63, 0x6c, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x43, 0x68, 0x61, 0x6e, + 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x41, 0x74, + 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x1c, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, + 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x41, 0x74, 0x74, 0x61, + 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x64, 0x0a, 0x16, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x43, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, + 0x67, 0x5f, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, + 0x72, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x50, 0x6f, + 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x14, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x45, 0x6e, + 0x74, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x71, 0x0a, 0x1b, + 0x73, 0x65, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x5f, 0x66, 0x6f, 0x77, + 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x12, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x32, 0x2e, 0x43, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x50, 0x61, 0x72, + 0x74, 0x69, 0x63, 0x6c, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x53, 0x65, 0x74, + 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x46, 0x6f, 0x57, 0x50, 0x72, 0x6f, 0x70, 0x65, + 0x72, 0x74, 0x69, 0x65, 0x73, 0x52, 0x18, 0x73, 0x65, 0x74, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, + 0x6c, 0x65, 0x46, 0x6f, 0x77, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x12, + 0x55, 0x0a, 0x11, 0x73, 0x65, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x5f, + 0x74, 0x65, 0x78, 0x74, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x43, 0x55, 0x73, + 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x4d, 0x61, + 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x53, 0x65, 0x74, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, + 0x65, 0x54, 0x65, 0x78, 0x74, 0x52, 0x0f, 0x73, 0x65, 0x74, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, + 0x6c, 0x65, 0x54, 0x65, 0x78, 0x74, 0x12, 0x75, 0x0a, 0x1d, 0x73, 0x65, 0x74, 0x5f, 0x70, 0x61, + 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x5f, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x5f, 0x63, 0x68, + 0x65, 0x63, 0x6b, 0x5f, 0x66, 0x6f, 0x77, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, + 0x43, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, + 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x53, 0x65, 0x74, 0x50, 0x61, 0x72, 0x74, + 0x69, 0x63, 0x6c, 0x65, 0x53, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x46, + 0x6f, 0x57, 0x52, 0x19, 0x73, 0x65, 0x74, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x53, + 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x46, 0x6f, 0x77, 0x12, 0x65, 0x0a, + 0x17, 0x73, 0x65, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x5f, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, + 0x2e, 0x43, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, + 0x6c, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, + 0x74, 0x72, 0x6f, 0x6c, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x14, + 0x73, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x4d, + 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x6e, 0x0a, 0x1a, 0x73, 0x65, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x74, + 0x72, 0x6f, 0x6c, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, + 0x6f, 0x74, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x43, 0x55, 0x73, 0x65, 0x72, + 0x4d, 0x73, 0x67, 0x5f, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x4d, 0x61, 0x6e, 0x61, + 0x67, 0x65, 0x72, 0x2e, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x50, 0x6f, + 0x69, 0x6e, 0x74, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x17, 0x73, 0x65, 0x74, + 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x53, 0x6e, 0x61, 0x70, + 0x73, 0x68, 0x6f, 0x74, 0x12, 0x61, 0x0a, 0x15, 0x73, 0x65, 0x74, 0x5f, 0x74, 0x65, 0x78, 0x74, + 0x75, 0x72, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x18, 0x17, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x43, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x50, + 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x53, + 0x65, 0x74, 0x54, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, + 0x74, 0x65, 0x52, 0x13, 0x73, 0x65, 0x74, 0x54, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x41, 0x74, + 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, 0x75, 0x0a, 0x1d, 0x73, 0x65, 0x74, 0x5f, 0x73, + 0x63, 0x65, 0x6e, 0x65, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x67, 0x65, 0x6e, 0x65, + 0x72, 0x69, 0x63, 0x5f, 0x66, 0x6c, 0x61, 0x67, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, + 0x2e, 0x43, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, + 0x6c, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x53, 0x65, 0x74, 0x53, 0x63, 0x65, + 0x6e, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x46, + 0x6c, 0x61, 0x67, 0x52, 0x19, 0x73, 0x65, 0x74, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x4f, 0x62, 0x6a, + 0x65, 0x63, 0x74, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x46, 0x6c, 0x61, 0x67, 0x12, 0x79, + 0x0a, 0x1f, 0x73, 0x65, 0x74, 0x5f, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x5f, 0x6f, 0x62, 0x6a, 0x65, + 0x63, 0x74, 0x5f, 0x74, 0x69, 0x6e, 0x74, 0x5f, 0x61, 0x6e, 0x64, 0x5f, 0x64, 0x65, 0x73, 0x61, + 0x74, 0x18, 0x19, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x43, 0x55, 0x73, 0x65, 0x72, 0x4d, + 0x73, 0x67, 0x5f, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, + 0x65, 0x72, 0x2e, 0x53, 0x65, 0x74, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, + 0x74, 0x54, 0x69, 0x6e, 0x74, 0x41, 0x6e, 0x64, 0x44, 0x65, 0x73, 0x61, 0x74, 0x52, 0x1a, 0x73, + 0x65, 0x74, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x69, 0x6e, + 0x74, 0x41, 0x6e, 0x64, 0x44, 0x65, 0x73, 0x61, 0x74, 0x12, 0x64, 0x0a, 0x16, 0x64, 0x65, 0x73, + 0x74, 0x72, 0x6f, 0x79, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x5f, 0x6e, 0x61, + 0x6d, 0x65, 0x64, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x43, 0x55, 0x73, 0x65, + 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x4d, 0x61, 0x6e, + 0x61, 0x67, 0x65, 0x72, 0x2e, 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x50, 0x61, 0x72, 0x74, + 0x69, 0x63, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x64, 0x52, 0x14, 0x64, 0x65, 0x73, 0x74, 0x72, + 0x6f, 0x79, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x64, 0x12, + 0x5f, 0x0a, 0x15, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x5f, 0x73, 0x6b, 0x69, 0x70, + 0x5f, 0x74, 0x6f, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, + 0x2e, 0x43, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, + 0x6c, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, + 0x6c, 0x65, 0x53, 0x6b, 0x69, 0x70, 0x54, 0x6f, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x12, 0x70, 0x61, + 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x53, 0x6b, 0x69, 0x70, 0x54, 0x6f, 0x54, 0x69, 0x6d, 0x65, + 0x1a, 0x16, 0x0a, 0x14, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x50, 0x61, 0x72, 0x74, 0x69, + 0x63, 0x6c, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x1a, 0xdd, 0x02, 0x0a, 0x0e, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x12, 0x2e, 0x0a, 0x13, 0x70, + 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x69, 0x6e, 0x64, + 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, 0x52, 0x11, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, + 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1f, 0x0a, 0x0b, 0x61, + 0x74, 0x74, 0x61, 0x63, 0x68, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x0a, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x54, 0x79, 0x70, 0x65, 0x12, 0x23, 0x0a, 0x0d, + 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x48, 0x61, 0x6e, 0x64, 0x6c, + 0x65, 0x12, 0x3d, 0x0a, 0x1b, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x68, 0x61, 0x6e, 0x64, + 0x6c, 0x65, 0x5f, 0x66, 0x6f, 0x72, 0x5f, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x72, 0x73, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x18, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x48, 0x61, + 0x6e, 0x64, 0x6c, 0x65, 0x46, 0x6f, 0x72, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x72, 0x73, + 0x12, 0x31, 0x0a, 0x15, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x5f, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x5f, + 0x62, 0x61, 0x6e, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x12, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x56, 0x6f, 0x69, 0x63, 0x65, 0x42, 0x61, 0x6e, 0x52, 0x75, + 0x6c, 0x65, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x62, 0x65, 0x68, 0x61, + 0x76, 0x69, 0x6f, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x74, 0x65, 0x61, 0x6d, + 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x12, 0x3e, 0x0a, 0x1b, 0x63, 0x6f, 0x6e, 0x74, + 0x72, 0x6f, 0x6c, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x19, 0x63, + 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x42, 0x0a, 0x0f, 0x44, 0x65, 0x73, 0x74, + 0x72, 0x6f, 0x79, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x12, 0x2f, 0x0a, 0x13, 0x64, + 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x5f, 0x69, 0x6d, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, + 0x6c, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x64, 0x65, 0x73, 0x74, 0x72, 0x6f, + 0x79, 0x49, 0x6d, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x6c, 0x79, 0x1a, 0x70, 0x0a, 0x18, + 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x49, + 0x6e, 0x76, 0x6f, 0x6c, 0x76, 0x69, 0x6e, 0x67, 0x12, 0x2f, 0x0a, 0x13, 0x64, 0x65, 0x73, 0x74, + 0x72, 0x6f, 0x79, 0x5f, 0x69, 0x6d, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x6c, 0x79, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x64, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x49, 0x6d, + 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x6c, 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x6e, 0x74, + 0x69, 0x74, 0x79, 0x5f, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x0c, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x1a, 0xbd, + 0x01, 0x0a, 0x14, 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, + 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x64, 0x12, 0x2e, 0x0a, 0x13, 0x70, 0x61, 0x72, 0x74, 0x69, + 0x63, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x06, 0x52, 0x11, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x4e, 0x61, + 0x6d, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x6e, 0x74, 0x69, 0x74, + 0x79, 0x5f, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, + 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x12, 0x2f, 0x0a, 0x13, + 0x64, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x5f, 0x69, 0x6d, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, + 0x65, 0x6c, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x64, 0x65, 0x73, 0x74, 0x72, + 0x6f, 0x79, 0x49, 0x6d, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x6c, 0x79, 0x12, 0x1f, 0x0a, + 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x65, 0x6e, 0x64, 0x63, 0x61, 0x70, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x0a, 0x70, 0x6c, 0x61, 0x79, 0x45, 0x6e, 0x64, 0x63, 0x61, 0x70, 0x1a, 0x5e, + 0x0a, 0x0e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, + 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x5f, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, + 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x27, 0x0a, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x56, 0x65, + 0x63, 0x74, 0x6f, 0x72, 0x52, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x5f, + 0x0a, 0x11, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, + 0x46, 0x77, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x5f, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x74, + 0x72, 0x6f, 0x6c, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x25, 0x0a, 0x07, 0x66, 0x6f, 0x72, 0x77, + 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x43, 0x4d, 0x73, 0x67, + 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x07, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x1a, + 0xd8, 0x01, 0x0a, 0x14, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, + 0x6c, 0x65, 0x4f, 0x72, 0x69, 0x65, 0x6e, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x74, + 0x72, 0x6f, 0x6c, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x25, 0x0a, + 0x07, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, + 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x07, 0x66, 0x6f, 0x72, + 0x77, 0x61, 0x72, 0x64, 0x12, 0x36, 0x0a, 0x10, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, + 0x65, 0x64, 0x5f, 0x72, 0x69, 0x67, 0x68, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, + 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x0f, 0x64, 0x65, 0x70, + 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x52, 0x69, 0x67, 0x68, 0x74, 0x12, 0x1b, 0x0a, 0x02, + 0x75, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x56, + 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x02, 0x75, 0x70, 0x12, 0x1f, 0x0a, 0x04, 0x6c, 0x65, 0x66, + 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x56, 0x65, + 0x63, 0x74, 0x6f, 0x72, 0x52, 0x04, 0x6c, 0x65, 0x66, 0x74, 0x1a, 0x66, 0x0a, 0x16, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x46, 0x61, 0x6c, 0x6c, + 0x62, 0x61, 0x63, 0x6b, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x5f, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x63, 0x6f, 0x6e, + 0x74, 0x72, 0x6f, 0x6c, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x27, 0x0a, 0x08, 0x70, 0x6f, 0x73, + 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x43, 0x4d, + 0x73, 0x67, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x1a, 0x9d, 0x01, 0x0a, 0x14, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, + 0x74, 0x69, 0x63, 0x6c, 0x65, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x63, + 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x50, 0x6f, 0x69, 0x6e, 0x74, + 0x12, 0x30, 0x0a, 0x0d, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65, + 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x56, 0x65, + 0x63, 0x74, 0x6f, 0x72, 0x52, 0x0c, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x4f, 0x66, 0x66, 0x73, + 0x65, 0x74, 0x12, 0x2e, 0x0a, 0x0c, 0x61, 0x6e, 0x67, 0x6c, 0x65, 0x5f, 0x6f, 0x66, 0x66, 0x73, + 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x51, + 0x41, 0x6e, 0x67, 0x6c, 0x65, 0x52, 0x0b, 0x61, 0x6e, 0x67, 0x6c, 0x65, 0x4f, 0x66, 0x66, 0x73, + 0x65, 0x74, 0x1a, 0x85, 0x02, 0x0a, 0x11, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, + 0x74, 0x69, 0x63, 0x6c, 0x65, 0x45, 0x6e, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x74, + 0x72, 0x6f, 0x6c, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x23, 0x0a, + 0x0d, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x48, 0x61, 0x6e, 0x64, + 0x6c, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x5f, 0x74, 0x79, 0x70, + 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x54, + 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, + 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, + 0x65, 0x6e, 0x74, 0x12, 0x38, 0x0a, 0x11, 0x66, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x5f, + 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, + 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x10, 0x66, 0x61, 0x6c, + 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2b, 0x0a, + 0x11, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x77, 0x65, 0x61, 0x72, 0x61, 0x62, 0x6c, + 0x65, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, + 0x65, 0x57, 0x65, 0x61, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x1a, 0x69, 0x0a, 0x17, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x53, 0x65, 0x74, 0x46, + 0x72, 0x6f, 0x7a, 0x65, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x65, 0x74, 0x5f, 0x66, 0x72, 0x6f, + 0x7a, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x73, 0x65, 0x74, 0x46, 0x72, + 0x6f, 0x7a, 0x65, 0x6e, 0x12, 0x2f, 0x0a, 0x13, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x02, 0x52, 0x12, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x75, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x3b, 0x0a, 0x18, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, + 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x53, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x44, 0x72, 0x61, + 0x77, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x5f, 0x64, 0x72, 0x61, 0x77, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x44, 0x72, + 0x61, 0x77, 0x1a, 0x91, 0x01, 0x0a, 0x1c, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x43, 0x6f, 0x6e, + 0x74, 0x72, 0x6f, 0x6c, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, + 0x65, 0x6e, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, + 0x74, 0x5f, 0x6f, 0x6c, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x61, 0x74, 0x74, + 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x4f, 0x6c, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x61, 0x74, + 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x6e, 0x65, 0x77, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x0d, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x4e, 0x65, + 0x77, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x68, 0x61, 0x6e, 0x64, + 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, + 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x1a, 0x64, 0x0a, 0x14, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x23, + 0x0a, 0x0d, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x48, 0x61, 0x6e, + 0x64, 0x6c, 0x65, 0x12, 0x27, 0x0a, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x56, 0x65, 0x63, 0x74, + 0x6f, 0x72, 0x52, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x93, 0x01, 0x0a, + 0x18, 0x53, 0x65, 0x74, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x46, 0x6f, 0x57, 0x50, + 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x66, 0x6f, 0x77, + 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x66, 0x6f, 0x77, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, + 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x2c, 0x0a, 0x12, 0x66, 0x6f, 0x77, 0x5f, 0x63, 0x6f, 0x6e, + 0x74, 0x72, 0x6f, 0x6c, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x32, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x10, 0x66, 0x6f, 0x77, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x50, 0x6f, 0x69, + 0x6e, 0x74, 0x32, 0x12, 0x1d, 0x0a, 0x0a, 0x66, 0x6f, 0x77, 0x5f, 0x72, 0x61, 0x64, 0x69, 0x75, + 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x09, 0x66, 0x6f, 0x77, 0x52, 0x61, 0x64, 0x69, + 0x75, 0x73, 0x1a, 0x38, 0x0a, 0x19, 0x53, 0x65, 0x74, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, + 0x65, 0x53, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x46, 0x6f, 0x57, 0x12, + 0x1b, 0x0a, 0x09, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x66, 0x6f, 0x77, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x46, 0x6f, 0x77, 0x1a, 0x5a, 0x0a, 0x14, + 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x4d, + 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x5f, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x63, 0x6f, 0x6e, + 0x74, 0x72, 0x6f, 0x6c, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x6f, 0x64, + 0x65, 0x6c, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6d, + 0x6f, 0x64, 0x65, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x1a, 0x63, 0x0a, 0x17, 0x53, 0x65, 0x74, 0x43, + 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x53, 0x6e, 0x61, 0x70, 0x73, + 0x68, 0x6f, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x5f, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x74, + 0x72, 0x6f, 0x6c, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x6e, 0x61, 0x70, + 0x73, 0x68, 0x6f, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0c, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x1a, 0x25, 0x0a, + 0x0f, 0x53, 0x65, 0x74, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x54, 0x65, 0x78, 0x74, + 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, 0x78, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x74, 0x65, 0x78, 0x74, 0x1a, 0x5f, 0x0a, 0x13, 0x53, 0x65, 0x74, 0x54, 0x65, 0x78, 0x74, 0x75, + 0x72, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x61, + 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0d, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4e, 0x61, + 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, + 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x1a, 0x3a, 0x0a, 0x19, 0x53, 0x65, 0x74, 0x53, 0x63, 0x65, 0x6e, + 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x46, 0x6c, + 0x61, 0x67, 0x12, 0x1d, 0x0a, 0x0a, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x66, 0x6c, 0x61, 0x67, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x1a, 0x46, 0x0a, 0x1a, 0x53, 0x65, 0x74, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x4f, 0x62, 0x6a, + 0x65, 0x63, 0x74, 0x54, 0x69, 0x6e, 0x74, 0x41, 0x6e, 0x64, 0x44, 0x65, 0x73, 0x61, 0x74, 0x12, + 0x12, 0x0a, 0x04, 0x74, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x07, 0x52, 0x04, 0x74, + 0x69, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x64, 0x65, 0x73, 0x61, 0x74, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x02, 0x52, 0x05, 0x64, 0x65, 0x73, 0x61, 0x74, 0x1a, 0x36, 0x0a, 0x12, 0x50, 0x61, 0x72, + 0x74, 0x69, 0x63, 0x6c, 0x65, 0x53, 0x6b, 0x69, 0x70, 0x54, 0x6f, 0x54, 0x69, 0x6d, 0x65, 0x12, + 0x20, 0x0a, 0x0c, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x74, 0x6f, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x73, 0x6b, 0x69, 0x70, 0x54, 0x6f, 0x54, 0x69, 0x6d, + 0x65, 0x2a, 0x05, 0x08, 0x64, 0x10, 0xca, 0x01, 0x22, 0x2e, 0x0a, 0x11, 0x43, 0x55, 0x73, 0x65, + 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x48, 0x75, 0x64, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x19, 0x0a, + 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x64, 0x22, 0x4d, 0x0a, 0x18, 0x43, 0x55, 0x73, 0x65, + 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 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, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0xb9, 0x01, 0x0a, 0x1f, 0x43, 0x55, 0x73, 0x65, + 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x61, 0x70, 0x74, 0x69, 0x63, 0x73, 0x4d, + 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x50, 0x75, 0x6c, 0x73, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x68, + 0x61, 0x6e, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x68, 0x61, + 0x6e, 0x64, 0x49, 0x64, 0x12, 0x29, 0x0a, 0x10, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x5f, 0x61, + 0x6d, 0x70, 0x6c, 0x69, 0x74, 0x75, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0f, + 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x41, 0x6d, 0x70, 0x6c, 0x69, 0x74, 0x75, 0x64, 0x65, 0x12, + 0x29, 0x0a, 0x10, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x5f, 0x66, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x6e, 0x63, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0f, 0x65, 0x66, 0x66, 0x65, 0x63, + 0x74, 0x46, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x27, 0x0a, 0x0f, 0x65, 0x66, + 0x66, 0x65, 0x63, 0x74, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x02, 0x52, 0x0e, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x44, 0x75, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x22, 0x91, 0x01, 0x0a, 0x20, 0x43, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x65, 0x73, + 0x73, 0x61, 0x67, 0x65, 0x48, 0x61, 0x70, 0x74, 0x69, 0x63, 0x73, 0x4d, 0x61, 0x6e, 0x61, 0x67, + 0x65, 0x72, 0x45, 0x66, 0x66, 0x65, 0x63, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x68, 0x61, 0x6e, 0x64, + 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x68, 0x61, 0x6e, 0x64, 0x49, + 0x64, 0x12, 0x31, 0x0a, 0x15, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, + 0x5f, 0x68, 0x61, 0x73, 0x68, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x12, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x48, 0x61, 0x73, 0x68, + 0x43, 0x6f, 0x64, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x5f, 0x73, + 0x63, 0x61, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0b, 0x65, 0x66, 0x66, 0x65, + 0x63, 0x74, 0x53, 0x63, 0x61, 0x6c, 0x65, 0x22, 0x58, 0x0a, 0x1f, 0x43, 0x55, 0x73, 0x65, 0x72, + 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x41, 0x6e, 0x69, 0x6d, 0x53, 0x74, 0x61, 0x74, 0x65, + 0x47, 0x72, 0x61, 0x70, 0x68, 0x53, 0x74, 0x61, 0x74, 0x65, 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, 0x12, 0x0a, + 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, + 0x61, 0x22, 0x8a, 0x03, 0x0a, 0x1d, 0x43, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x51, 0x75, 0x65, 0x75, 0x65, 0x53, 0x74, + 0x61, 0x74, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x73, 0x6c, + 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, + 0x53, 0x6c, 0x6f, 0x74, 0x12, 0x61, 0x0a, 0x12, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x5f, + 0x71, 0x75, 0x65, 0x75, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x33, 0x2e, 0x43, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x43, + 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x51, 0x75, 0x65, 0x75, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, + 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, 0x1a, 0xe4, 0x01, 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, 0x05, 0x52, 0x13, 0x74, 0x69, 0x6d, 0x65, 0x44, + 0x69, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x22, 0x84, + 0x01, 0x0a, 0x1c, 0x43, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x73, 0x73, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x12, + 0x2c, 0x0a, 0x12, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x5f, + 0x70, 0x61, 0x6e, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x74, 0x61, 0x72, + 0x67, 0x65, 0x74, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x50, 0x61, 0x6e, 0x65, 0x6c, 0x12, 0x1f, 0x0a, + 0x0b, 0x63, 0x73, 0x73, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0a, 0x63, 0x73, 0x73, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x12, 0x15, + 0x0a, 0x06, 0x69, 0x73, 0x5f, 0x61, 0x64, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, + 0x69, 0x73, 0x41, 0x64, 0x64, 0x2a, 0xb5, 0x06, 0x0a, 0x11, 0x45, 0x42, 0x61, 0x73, 0x65, 0x55, + 0x73, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x12, 0x17, 0x0a, 0x13, 0x55, + 0x4d, 0x5f, 0x41, 0x63, 0x68, 0x69, 0x65, 0x76, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x45, 0x76, 0x65, + 0x6e, 0x74, 0x10, 0x65, 0x12, 0x13, 0x0a, 0x0f, 0x55, 0x4d, 0x5f, 0x43, 0x6c, 0x6f, 0x73, 0x65, + 0x43, 0x61, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0x66, 0x12, 0x19, 0x0a, 0x15, 0x55, 0x4d, 0x5f, + 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x43, 0x61, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x69, 0x72, 0x65, + 0x63, 0x74, 0x10, 0x67, 0x12, 0x17, 0x0a, 0x13, 0x55, 0x4d, 0x5f, 0x43, 0x75, 0x72, 0x72, 0x65, + 0x6e, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x10, 0x68, 0x12, 0x17, 0x0a, + 0x13, 0x55, 0x4d, 0x5f, 0x44, 0x65, 0x73, 0x69, 0x72, 0x65, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x73, + 0x63, 0x61, 0x6c, 0x65, 0x10, 0x69, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4d, 0x5f, 0x46, 0x61, 0x64, + 0x65, 0x10, 0x6a, 0x12, 0x10, 0x0a, 0x0c, 0x55, 0x4d, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x54, 0x69, + 0x74, 0x6c, 0x65, 0x10, 0x6b, 0x12, 0x0d, 0x0a, 0x09, 0x55, 0x4d, 0x5f, 0x48, 0x75, 0x64, 0x4d, + 0x73, 0x67, 0x10, 0x6e, 0x12, 0x0e, 0x0a, 0x0a, 0x55, 0x4d, 0x5f, 0x48, 0x75, 0x64, 0x54, 0x65, + 0x78, 0x74, 0x10, 0x6f, 0x12, 0x12, 0x0a, 0x0e, 0x55, 0x4d, 0x5f, 0x43, 0x6f, 0x6c, 0x6f, 0x72, + 0x65, 0x64, 0x54, 0x65, 0x78, 0x74, 0x10, 0x71, 0x12, 0x13, 0x0a, 0x0f, 0x55, 0x4d, 0x5f, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x10, 0x72, 0x12, 0x0f, 0x0a, + 0x0b, 0x55, 0x4d, 0x5f, 0x52, 0x65, 0x73, 0x65, 0x74, 0x48, 0x55, 0x44, 0x10, 0x73, 0x12, 0x0d, + 0x0a, 0x09, 0x55, 0x4d, 0x5f, 0x52, 0x75, 0x6d, 0x62, 0x6c, 0x65, 0x10, 0x74, 0x12, 0x0e, 0x0a, + 0x0a, 0x55, 0x4d, 0x5f, 0x53, 0x61, 0x79, 0x54, 0x65, 0x78, 0x74, 0x10, 0x75, 0x12, 0x0f, 0x0a, + 0x0b, 0x55, 0x4d, 0x5f, 0x53, 0x61, 0x79, 0x54, 0x65, 0x78, 0x74, 0x32, 0x10, 0x76, 0x12, 0x15, + 0x0a, 0x11, 0x55, 0x4d, 0x5f, 0x53, 0x61, 0x79, 0x54, 0x65, 0x78, 0x74, 0x43, 0x68, 0x61, 0x6e, + 0x6e, 0x65, 0x6c, 0x10, 0x77, 0x12, 0x0c, 0x0a, 0x08, 0x55, 0x4d, 0x5f, 0x53, 0x68, 0x61, 0x6b, + 0x65, 0x10, 0x78, 0x12, 0x0f, 0x0a, 0x0b, 0x55, 0x4d, 0x5f, 0x53, 0x68, 0x61, 0x6b, 0x65, 0x44, + 0x69, 0x72, 0x10, 0x79, 0x12, 0x0e, 0x0a, 0x0a, 0x55, 0x4d, 0x5f, 0x54, 0x65, 0x78, 0x74, 0x4d, + 0x73, 0x67, 0x10, 0x7c, 0x12, 0x11, 0x0a, 0x0d, 0x55, 0x4d, 0x5f, 0x53, 0x63, 0x72, 0x65, 0x65, + 0x6e, 0x54, 0x69, 0x6c, 0x74, 0x10, 0x7d, 0x12, 0x11, 0x0a, 0x0c, 0x55, 0x4d, 0x5f, 0x56, 0x6f, + 0x69, 0x63, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x10, 0x80, 0x01, 0x12, 0x11, 0x0a, 0x0c, 0x55, 0x4d, + 0x5f, 0x53, 0x65, 0x6e, 0x64, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x10, 0x82, 0x01, 0x12, 0x12, 0x0a, + 0x0d, 0x55, 0x4d, 0x5f, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x69, 0x63, 0x6b, 0x75, 0x70, 0x10, 0x83, + 0x01, 0x12, 0x12, 0x0a, 0x0d, 0x55, 0x4d, 0x5f, 0x41, 0x6d, 0x6d, 0x6f, 0x44, 0x65, 0x6e, 0x69, + 0x65, 0x64, 0x10, 0x84, 0x01, 0x12, 0x10, 0x0a, 0x0b, 0x55, 0x4d, 0x5f, 0x53, 0x68, 0x6f, 0x77, + 0x4d, 0x65, 0x6e, 0x75, 0x10, 0x86, 0x01, 0x12, 0x12, 0x0a, 0x0d, 0x55, 0x4d, 0x5f, 0x43, 0x72, + 0x65, 0x64, 0x69, 0x74, 0x73, 0x4d, 0x73, 0x67, 0x10, 0x87, 0x01, 0x12, 0x1f, 0x0a, 0x1a, 0x55, + 0x4d, 0x5f, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x43, 0x61, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6c, + 0x61, 0x63, 0x65, 0x68, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x10, 0x8e, 0x01, 0x12, 0x18, 0x0a, 0x13, + 0x55, 0x4d, 0x5f, 0x43, 0x61, 0x6d, 0x65, 0x72, 0x61, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, + 0x69, 0x6f, 0x6e, 0x10, 0x8f, 0x01, 0x12, 0x16, 0x0a, 0x11, 0x55, 0x4d, 0x5f, 0x41, 0x75, 0x64, + 0x69, 0x6f, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x10, 0x90, 0x01, 0x12, 0x17, + 0x0a, 0x12, 0x55, 0x4d, 0x5f, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x4d, 0x61, 0x6e, + 0x61, 0x67, 0x65, 0x72, 0x10, 0x91, 0x01, 0x12, 0x10, 0x0a, 0x0b, 0x55, 0x4d, 0x5f, 0x48, 0x75, + 0x64, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0x92, 0x01, 0x12, 0x17, 0x0a, 0x12, 0x55, 0x4d, 0x5f, + 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x47, 0x61, 0x6d, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x10, + 0x94, 0x01, 0x12, 0x17, 0x0a, 0x12, 0x55, 0x4d, 0x5f, 0x41, 0x6e, 0x69, 0x6d, 0x47, 0x72, 0x61, + 0x70, 0x68, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x10, 0x95, 0x01, 0x12, 0x1b, 0x0a, 0x16, 0x55, + 0x4d, 0x5f, 0x48, 0x61, 0x70, 0x74, 0x69, 0x63, 0x73, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, + 0x50, 0x75, 0x6c, 0x73, 0x65, 0x10, 0x96, 0x01, 0x12, 0x1c, 0x0a, 0x17, 0x55, 0x4d, 0x5f, 0x48, + 0x61, 0x70, 0x74, 0x69, 0x63, 0x73, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x45, 0x66, 0x66, + 0x65, 0x63, 0x74, 0x10, 0x97, 0x01, 0x12, 0x19, 0x0a, 0x14, 0x55, 0x4d, 0x5f, 0x43, 0x6f, 0x6d, + 0x6d, 0x61, 0x6e, 0x64, 0x51, 0x75, 0x65, 0x75, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x10, 0x98, + 0x01, 0x12, 0x18, 0x0a, 0x13, 0x55, 0x4d, 0x5f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x73, + 0x73, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x10, 0x99, 0x01, 0x12, 0x10, 0x0a, 0x0b, 0x55, + 0x4d, 0x5f, 0x4d, 0x41, 0x58, 0x5f, 0x42, 0x41, 0x53, 0x45, 0x10, 0xc8, 0x01, 0x2a, 0x94, 0x01, + 0x0a, 0x13, 0x45, 0x42, 0x61, 0x73, 0x65, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x4d, 0x65, 0x73, + 0x73, 0x61, 0x67, 0x65, 0x73, 0x12, 0x12, 0x0a, 0x0d, 0x45, 0x4d, 0x5f, 0x50, 0x6c, 0x61, 0x79, + 0x4a, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x10, 0x88, 0x01, 0x12, 0x15, 0x0a, 0x10, 0x45, 0x4d, 0x5f, + 0x53, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x4f, 0x76, 0x65, 0x72, 0x6c, 0x61, 0x79, 0x10, 0x89, 0x01, + 0x12, 0x17, 0x0a, 0x12, 0x45, 0x4d, 0x5f, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x41, 0x6c, 0x6c, + 0x44, 0x65, 0x63, 0x61, 0x6c, 0x73, 0x10, 0x8a, 0x01, 0x12, 0x16, 0x0a, 0x11, 0x45, 0x4d, 0x5f, + 0x50, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x65, 0x46, 0x6f, 0x72, 0x63, 0x65, 0x10, 0x8b, + 0x01, 0x12, 0x0f, 0x0a, 0x0a, 0x45, 0x4d, 0x5f, 0x44, 0x6f, 0x53, 0x70, 0x61, 0x72, 0x6b, 0x10, + 0x8c, 0x01, 0x12, 0x10, 0x0a, 0x0b, 0x45, 0x4d, 0x5f, 0x46, 0x69, 0x78, 0x41, 0x6e, 0x67, 0x6c, + 0x65, 0x10, 0x8d, 0x01, 0x2a, 0x6f, 0x0a, 0x09, 0x65, 0x52, 0x6f, 0x6c, 0x6c, 0x54, 0x79, 0x70, + 0x65, 0x12, 0x16, 0x0a, 0x09, 0x52, 0x4f, 0x4c, 0x4c, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x52, 0x4f, 0x4c, + 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x53, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x52, 0x4f, 0x4c, + 0x4c, 0x5f, 0x43, 0x52, 0x45, 0x44, 0x49, 0x54, 0x53, 0x10, 0x01, 0x12, 0x17, 0x0a, 0x13, 0x52, + 0x4f, 0x4c, 0x4c, 0x5f, 0x4c, 0x41, 0x54, 0x45, 0x5f, 0x4a, 0x4f, 0x49, 0x4e, 0x5f, 0x4c, 0x4f, + 0x47, 0x4f, 0x10, 0x02, 0x12, 0x0f, 0x0a, 0x0b, 0x52, 0x4f, 0x4c, 0x4c, 0x5f, 0x4f, 0x55, 0x54, + 0x54, 0x52, 0x4f, 0x10, 0x03, 0x2a, 0xeb, 0x09, 0x0a, 0x10, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, + 0x4c, 0x45, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x12, 0x26, 0x0a, 0x22, 0x47, 0x41, + 0x4d, 0x45, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x4c, 0x45, 0x5f, 0x4d, 0x41, 0x4e, 0x41, + 0x47, 0x45, 0x52, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, + 0x10, 0x00, 0x12, 0x26, 0x0a, 0x22, 0x47, 0x41, 0x4d, 0x45, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, + 0x43, 0x4c, 0x45, 0x5f, 0x4d, 0x41, 0x4e, 0x41, 0x47, 0x45, 0x52, 0x5f, 0x45, 0x56, 0x45, 0x4e, + 0x54, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x10, 0x01, 0x12, 0x2e, 0x0a, 0x2a, 0x47, 0x41, + 0x4d, 0x45, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x4c, 0x45, 0x5f, 0x4d, 0x41, 0x4e, 0x41, + 0x47, 0x45, 0x52, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, + 0x5f, 0x46, 0x4f, 0x52, 0x57, 0x41, 0x52, 0x44, 0x10, 0x02, 0x12, 0x32, 0x0a, 0x2e, 0x47, 0x41, + 0x4d, 0x45, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x4c, 0x45, 0x5f, 0x4d, 0x41, 0x4e, 0x41, + 0x47, 0x45, 0x52, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, + 0x5f, 0x4f, 0x52, 0x49, 0x45, 0x4e, 0x54, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x03, 0x12, 0x2f, + 0x0a, 0x2b, 0x47, 0x41, 0x4d, 0x45, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x4c, 0x45, 0x5f, + 0x4d, 0x41, 0x4e, 0x41, 0x47, 0x45, 0x52, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x55, 0x50, + 0x44, 0x41, 0x54, 0x45, 0x5f, 0x46, 0x41, 0x4c, 0x4c, 0x42, 0x41, 0x43, 0x4b, 0x10, 0x04, 0x12, + 0x2a, 0x0a, 0x26, 0x47, 0x41, 0x4d, 0x45, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x4c, 0x45, + 0x5f, 0x4d, 0x41, 0x4e, 0x41, 0x47, 0x45, 0x52, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x55, + 0x50, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x45, 0x4e, 0x54, 0x10, 0x05, 0x12, 0x2d, 0x0a, 0x29, 0x47, + 0x41, 0x4d, 0x45, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x4c, 0x45, 0x5f, 0x4d, 0x41, 0x4e, + 0x41, 0x47, 0x45, 0x52, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, + 0x45, 0x5f, 0x4f, 0x46, 0x46, 0x53, 0x45, 0x54, 0x10, 0x06, 0x12, 0x27, 0x0a, 0x23, 0x47, 0x41, + 0x4d, 0x45, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x4c, 0x45, 0x5f, 0x4d, 0x41, 0x4e, 0x41, + 0x47, 0x45, 0x52, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x44, 0x45, 0x53, 0x54, 0x52, 0x4f, + 0x59, 0x10, 0x07, 0x12, 0x31, 0x0a, 0x2d, 0x47, 0x41, 0x4d, 0x45, 0x5f, 0x50, 0x41, 0x52, 0x54, + 0x49, 0x43, 0x4c, 0x45, 0x5f, 0x4d, 0x41, 0x4e, 0x41, 0x47, 0x45, 0x52, 0x5f, 0x45, 0x56, 0x45, + 0x4e, 0x54, 0x5f, 0x44, 0x45, 0x53, 0x54, 0x52, 0x4f, 0x59, 0x5f, 0x49, 0x4e, 0x56, 0x4f, 0x4c, + 0x56, 0x49, 0x4e, 0x47, 0x10, 0x08, 0x12, 0x27, 0x0a, 0x23, 0x47, 0x41, 0x4d, 0x45, 0x5f, 0x50, + 0x41, 0x52, 0x54, 0x49, 0x43, 0x4c, 0x45, 0x5f, 0x4d, 0x41, 0x4e, 0x41, 0x47, 0x45, 0x52, 0x5f, + 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x52, 0x45, 0x4c, 0x45, 0x41, 0x53, 0x45, 0x10, 0x09, 0x12, + 0x27, 0x0a, 0x23, 0x47, 0x41, 0x4d, 0x45, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x4c, 0x45, + 0x5f, 0x4d, 0x41, 0x4e, 0x41, 0x47, 0x45, 0x52, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x4c, + 0x41, 0x54, 0x45, 0x4e, 0x43, 0x59, 0x10, 0x0a, 0x12, 0x2b, 0x0a, 0x27, 0x47, 0x41, 0x4d, 0x45, + 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x4c, 0x45, 0x5f, 0x4d, 0x41, 0x4e, 0x41, 0x47, 0x45, + 0x52, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x53, 0x48, 0x4f, 0x55, 0x4c, 0x44, 0x5f, 0x44, + 0x52, 0x41, 0x57, 0x10, 0x0b, 0x12, 0x26, 0x0a, 0x22, 0x47, 0x41, 0x4d, 0x45, 0x5f, 0x50, 0x41, + 0x52, 0x54, 0x49, 0x43, 0x4c, 0x45, 0x5f, 0x4d, 0x41, 0x4e, 0x41, 0x47, 0x45, 0x52, 0x5f, 0x45, + 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x46, 0x52, 0x4f, 0x5a, 0x45, 0x4e, 0x10, 0x0c, 0x12, 0x3f, 0x0a, + 0x3b, 0x47, 0x41, 0x4d, 0x45, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x4c, 0x45, 0x5f, 0x4d, + 0x41, 0x4e, 0x41, 0x47, 0x45, 0x52, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x43, 0x48, 0x41, + 0x4e, 0x47, 0x45, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x52, 0x4f, 0x4c, 0x5f, 0x50, 0x4f, 0x49, 0x4e, + 0x54, 0x5f, 0x41, 0x54, 0x54, 0x41, 0x43, 0x48, 0x4d, 0x45, 0x4e, 0x54, 0x10, 0x0d, 0x12, 0x36, + 0x0a, 0x32, 0x47, 0x41, 0x4d, 0x45, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x4c, 0x45, 0x5f, + 0x4d, 0x41, 0x4e, 0x41, 0x47, 0x45, 0x52, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x55, 0x50, + 0x44, 0x41, 0x54, 0x45, 0x5f, 0x45, 0x4e, 0x54, 0x49, 0x54, 0x59, 0x5f, 0x50, 0x4f, 0x53, 0x49, + 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x0e, 0x12, 0x32, 0x0a, 0x2e, 0x47, 0x41, 0x4d, 0x45, 0x5f, 0x50, + 0x41, 0x52, 0x54, 0x49, 0x43, 0x4c, 0x45, 0x5f, 0x4d, 0x41, 0x4e, 0x41, 0x47, 0x45, 0x52, 0x5f, + 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x53, 0x45, 0x54, 0x5f, 0x46, 0x4f, 0x57, 0x5f, 0x50, 0x52, + 0x4f, 0x50, 0x45, 0x52, 0x54, 0x49, 0x45, 0x53, 0x10, 0x0f, 0x12, 0x28, 0x0a, 0x24, 0x47, 0x41, + 0x4d, 0x45, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x4c, 0x45, 0x5f, 0x4d, 0x41, 0x4e, 0x41, + 0x47, 0x45, 0x52, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x53, 0x45, 0x54, 0x5f, 0x54, 0x45, + 0x58, 0x54, 0x10, 0x10, 0x12, 0x34, 0x0a, 0x30, 0x47, 0x41, 0x4d, 0x45, 0x5f, 0x50, 0x41, 0x52, + 0x54, 0x49, 0x43, 0x4c, 0x45, 0x5f, 0x4d, 0x41, 0x4e, 0x41, 0x47, 0x45, 0x52, 0x5f, 0x45, 0x56, + 0x45, 0x4e, 0x54, 0x5f, 0x53, 0x45, 0x54, 0x5f, 0x53, 0x48, 0x4f, 0x55, 0x4c, 0x44, 0x5f, 0x43, + 0x48, 0x45, 0x43, 0x4b, 0x5f, 0x46, 0x4f, 0x57, 0x10, 0x11, 0x12, 0x37, 0x0a, 0x33, 0x47, 0x41, + 0x4d, 0x45, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x4c, 0x45, 0x5f, 0x4d, 0x41, 0x4e, 0x41, + 0x47, 0x45, 0x52, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x53, 0x45, 0x54, 0x5f, 0x43, 0x4f, + 0x4e, 0x54, 0x52, 0x4f, 0x4c, 0x5f, 0x50, 0x4f, 0x49, 0x4e, 0x54, 0x5f, 0x4d, 0x4f, 0x44, 0x45, + 0x4c, 0x10, 0x12, 0x12, 0x3a, 0x0a, 0x36, 0x47, 0x41, 0x4d, 0x45, 0x5f, 0x50, 0x41, 0x52, 0x54, + 0x49, 0x43, 0x4c, 0x45, 0x5f, 0x4d, 0x41, 0x4e, 0x41, 0x47, 0x45, 0x52, 0x5f, 0x45, 0x56, 0x45, + 0x4e, 0x54, 0x5f, 0x53, 0x45, 0x54, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x52, 0x4f, 0x4c, 0x5f, 0x50, + 0x4f, 0x49, 0x4e, 0x54, 0x5f, 0x53, 0x4e, 0x41, 0x50, 0x53, 0x48, 0x4f, 0x54, 0x10, 0x13, 0x12, + 0x35, 0x0a, 0x31, 0x47, 0x41, 0x4d, 0x45, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x4c, 0x45, + 0x5f, 0x4d, 0x41, 0x4e, 0x41, 0x47, 0x45, 0x52, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x53, + 0x45, 0x54, 0x5f, 0x54, 0x45, 0x58, 0x54, 0x55, 0x52, 0x45, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x49, + 0x42, 0x55, 0x54, 0x45, 0x10, 0x14, 0x12, 0x3d, 0x0a, 0x39, 0x47, 0x41, 0x4d, 0x45, 0x5f, 0x50, + 0x41, 0x52, 0x54, 0x49, 0x43, 0x4c, 0x45, 0x5f, 0x4d, 0x41, 0x4e, 0x41, 0x47, 0x45, 0x52, 0x5f, + 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x53, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x45, 0x4e, 0x45, 0x5f, + 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x47, 0x45, 0x4e, 0x45, 0x52, 0x49, 0x43, 0x5f, 0x46, + 0x4c, 0x41, 0x47, 0x10, 0x15, 0x12, 0x3f, 0x0a, 0x3b, 0x47, 0x41, 0x4d, 0x45, 0x5f, 0x50, 0x41, + 0x52, 0x54, 0x49, 0x43, 0x4c, 0x45, 0x5f, 0x4d, 0x41, 0x4e, 0x41, 0x47, 0x45, 0x52, 0x5f, 0x45, + 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x53, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x45, 0x4e, 0x45, 0x5f, 0x4f, + 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x54, 0x49, 0x4e, 0x54, 0x5f, 0x41, 0x4e, 0x44, 0x5f, 0x44, + 0x45, 0x53, 0x41, 0x54, 0x10, 0x16, 0x12, 0x2d, 0x0a, 0x29, 0x47, 0x41, 0x4d, 0x45, 0x5f, 0x50, + 0x41, 0x52, 0x54, 0x49, 0x43, 0x4c, 0x45, 0x5f, 0x4d, 0x41, 0x4e, 0x41, 0x47, 0x45, 0x52, 0x5f, + 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x44, 0x45, 0x53, 0x54, 0x52, 0x4f, 0x59, 0x5f, 0x4e, 0x41, + 0x4d, 0x45, 0x44, 0x10, 0x17, 0x12, 0x2c, 0x0a, 0x28, 0x47, 0x41, 0x4d, 0x45, 0x5f, 0x50, 0x41, + 0x52, 0x54, 0x49, 0x43, 0x4c, 0x45, 0x5f, 0x4d, 0x41, 0x4e, 0x41, 0x47, 0x45, 0x52, 0x5f, 0x45, + 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x53, 0x4b, 0x49, 0x50, 0x5f, 0x54, 0x4f, 0x5f, 0x54, 0x49, 0x4d, + 0x45, 0x10, 0x18, 0x2a, 0x74, 0x0a, 0x10, 0x45, 0x48, 0x61, 0x70, 0x74, 0x69, 0x63, 0x50, 0x75, + 0x6c, 0x73, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x1a, 0x56, 0x52, 0x5f, 0x48, 0x41, + 0x4e, 0x44, 0x5f, 0x48, 0x41, 0x50, 0x54, 0x49, 0x43, 0x5f, 0x50, 0x55, 0x4c, 0x53, 0x45, 0x5f, + 0x4c, 0x49, 0x47, 0x48, 0x54, 0x10, 0x00, 0x12, 0x1f, 0x0a, 0x1b, 0x56, 0x52, 0x5f, 0x48, 0x41, + 0x4e, 0x44, 0x5f, 0x48, 0x41, 0x50, 0x54, 0x49, 0x43, 0x5f, 0x50, 0x55, 0x4c, 0x53, 0x45, 0x5f, + 0x4d, 0x45, 0x44, 0x49, 0x55, 0x4d, 0x10, 0x01, 0x12, 0x1f, 0x0a, 0x1b, 0x56, 0x52, 0x5f, 0x48, + 0x41, 0x4e, 0x44, 0x5f, 0x48, 0x41, 0x50, 0x54, 0x49, 0x43, 0x5f, 0x50, 0x55, 0x4c, 0x53, 0x45, + 0x5f, 0x53, 0x54, 0x52, 0x4f, 0x4e, 0x47, 0x10, 0x02, 0x42, 0x0d, 0x48, 0x01, 0x5a, 0x06, 0x2e, + 0x2f, 0x64, 0x65, 0x6d, 0x6f, 0x80, 0x01, 0x00, +} + +var ( + file_usermessages_proto_rawDescOnce sync.Once + file_usermessages_proto_rawDescData = file_usermessages_proto_rawDesc +) + +func file_usermessages_proto_rawDescGZIP() []byte { + file_usermessages_proto_rawDescOnce.Do(func() { + file_usermessages_proto_rawDescData = protoimpl.X.CompressGZIP(file_usermessages_proto_rawDescData) + }) + return file_usermessages_proto_rawDescData +} + +var file_usermessages_proto_enumTypes = make([]protoimpl.EnumInfo, 5) +var file_usermessages_proto_msgTypes = make([]protoimpl.MessageInfo, 69) +var file_usermessages_proto_goTypes = []interface{}{ + (EBaseUserMessages)(0), // 0: EBaseUserMessages + (EBaseEntityMessages)(0), // 1: EBaseEntityMessages + (ERollType)(0), // 2: eRollType + (PARTICLE_MESSAGE)(0), // 3: PARTICLE_MESSAGE + (EHapticPulseType)(0), // 4: EHapticPulseType + (*CUserMessageAchievementEvent)(nil), // 5: CUserMessageAchievementEvent + (*CUserMessageCloseCaption)(nil), // 6: CUserMessageCloseCaption + (*CUserMessageCloseCaptionDirect)(nil), // 7: CUserMessageCloseCaptionDirect + (*CUserMessageCloseCaptionPlaceholder)(nil), // 8: CUserMessageCloseCaptionPlaceholder + (*CUserMessageCurrentTimescale)(nil), // 9: CUserMessageCurrentTimescale + (*CUserMessageDesiredTimescale)(nil), // 10: CUserMessageDesiredTimescale + (*CUserMessageFade)(nil), // 11: CUserMessageFade + (*CUserMessageShake)(nil), // 12: CUserMessageShake + (*CUserMessageShakeDir)(nil), // 13: CUserMessageShakeDir + (*CUserMessageScreenTilt)(nil), // 14: CUserMessageScreenTilt + (*CUserMessageSayText)(nil), // 15: CUserMessageSayText + (*CUserMessageSayText2)(nil), // 16: CUserMessageSayText2 + (*CUserMessageHudMsg)(nil), // 17: CUserMessageHudMsg + (*CUserMessageHudText)(nil), // 18: CUserMessageHudText + (*CUserMessageTextMsg)(nil), // 19: CUserMessageTextMsg + (*CUserMessageGameTitle)(nil), // 20: CUserMessageGameTitle + (*CUserMessageResetHUD)(nil), // 21: CUserMessageResetHUD + (*CUserMessageSendAudio)(nil), // 22: CUserMessageSendAudio + (*CUserMessageAudioParameter)(nil), // 23: CUserMessageAudioParameter + (*CUserMessageVoiceMask)(nil), // 24: CUserMessageVoiceMask + (*CUserMessageRequestState)(nil), // 25: CUserMessageRequestState + (*CUserMessageRumble)(nil), // 26: CUserMessageRumble + (*CUserMessageSayTextChannel)(nil), // 27: CUserMessageSayTextChannel + (*CUserMessageColoredText)(nil), // 28: CUserMessageColoredText + (*CUserMessageItemPickup)(nil), // 29: CUserMessageItemPickup + (*CUserMessageAmmoDenied)(nil), // 30: CUserMessageAmmoDenied + (*CUserMessageShowMenu)(nil), // 31: CUserMessageShowMenu + (*CUserMessageCreditsMsg)(nil), // 32: CUserMessageCreditsMsg + (*CEntityMessagePlayJingle)(nil), // 33: CEntityMessagePlayJingle + (*CEntityMessageScreenOverlay)(nil), // 34: CEntityMessageScreenOverlay + (*CEntityMessageRemoveAllDecals)(nil), // 35: CEntityMessageRemoveAllDecals + (*CEntityMessagePropagateForce)(nil), // 36: CEntityMessagePropagateForce + (*CEntityMessageDoSpark)(nil), // 37: CEntityMessageDoSpark + (*CEntityMessageFixAngle)(nil), // 38: CEntityMessageFixAngle + (*CUserMessageCameraTransition)(nil), // 39: CUserMessageCameraTransition + (*CUserMsg_ParticleManager)(nil), // 40: CUserMsg_ParticleManager + (*CUserMsg_HudError)(nil), // 41: CUserMsg_HudError + (*CUserMsg_CustomGameEvent)(nil), // 42: CUserMsg_CustomGameEvent + (*CUserMessageHapticsManagerPulse)(nil), // 43: CUserMessageHapticsManagerPulse + (*CUserMessageHapticsManagerEffect)(nil), // 44: CUserMessageHapticsManagerEffect + (*CUserMessageAnimStateGraphState)(nil), // 45: CUserMessageAnimStateGraphState + (*CUserMessageCommandQueueState)(nil), // 46: CUserMessageCommandQueueState + (*CUserMessageUpdateCssClasses)(nil), // 47: CUserMessageUpdateCssClasses + (*CUserMessageCameraTransition_Transition_DataDriven)(nil), // 48: CUserMessageCameraTransition.Transition_DataDriven + (*CUserMsg_ParticleManager_ReleaseParticleIndex)(nil), // 49: CUserMsg_ParticleManager.ReleaseParticleIndex + (*CUserMsg_ParticleManager_CreateParticle)(nil), // 50: CUserMsg_ParticleManager.CreateParticle + (*CUserMsg_ParticleManager_DestroyParticle)(nil), // 51: CUserMsg_ParticleManager.DestroyParticle + (*CUserMsg_ParticleManager_DestroyParticleInvolving)(nil), // 52: CUserMsg_ParticleManager.DestroyParticleInvolving + (*CUserMsg_ParticleManager_DestroyParticleNamed)(nil), // 53: CUserMsg_ParticleManager.DestroyParticleNamed + (*CUserMsg_ParticleManager_UpdateParticle)(nil), // 54: CUserMsg_ParticleManager.UpdateParticle + (*CUserMsg_ParticleManager_UpdateParticleFwd)(nil), // 55: CUserMsg_ParticleManager.UpdateParticleFwd + (*CUserMsg_ParticleManager_UpdateParticleOrient)(nil), // 56: CUserMsg_ParticleManager.UpdateParticleOrient + (*CUserMsg_ParticleManager_UpdateParticleFallback)(nil), // 57: CUserMsg_ParticleManager.UpdateParticleFallback + (*CUserMsg_ParticleManager_UpdateParticleOffset)(nil), // 58: CUserMsg_ParticleManager.UpdateParticleOffset + (*CUserMsg_ParticleManager_UpdateParticleEnt)(nil), // 59: CUserMsg_ParticleManager.UpdateParticleEnt + (*CUserMsg_ParticleManager_UpdateParticleSetFrozen)(nil), // 60: CUserMsg_ParticleManager.UpdateParticleSetFrozen + (*CUserMsg_ParticleManager_UpdateParticleShouldDraw)(nil), // 61: CUserMsg_ParticleManager.UpdateParticleShouldDraw + (*CUserMsg_ParticleManager_ChangeControlPointAttachment)(nil), // 62: CUserMsg_ParticleManager.ChangeControlPointAttachment + (*CUserMsg_ParticleManager_UpdateEntityPosition)(nil), // 63: CUserMsg_ParticleManager.UpdateEntityPosition + (*CUserMsg_ParticleManager_SetParticleFoWProperties)(nil), // 64: CUserMsg_ParticleManager.SetParticleFoWProperties + (*CUserMsg_ParticleManager_SetParticleShouldCheckFoW)(nil), // 65: CUserMsg_ParticleManager.SetParticleShouldCheckFoW + (*CUserMsg_ParticleManager_SetControlPointModel)(nil), // 66: CUserMsg_ParticleManager.SetControlPointModel + (*CUserMsg_ParticleManager_SetControlPointSnapshot)(nil), // 67: CUserMsg_ParticleManager.SetControlPointSnapshot + (*CUserMsg_ParticleManager_SetParticleText)(nil), // 68: CUserMsg_ParticleManager.SetParticleText + (*CUserMsg_ParticleManager_SetTextureAttribute)(nil), // 69: CUserMsg_ParticleManager.SetTextureAttribute + (*CUserMsg_ParticleManager_SetSceneObjectGenericFlag)(nil), // 70: CUserMsg_ParticleManager.SetSceneObjectGenericFlag + (*CUserMsg_ParticleManager_SetSceneObjectTintAndDesat)(nil), // 71: CUserMsg_ParticleManager.SetSceneObjectTintAndDesat + (*CUserMsg_ParticleManager_ParticleSkipToTime)(nil), // 72: CUserMsg_ParticleManager.ParticleSkipToTime + (*CUserMessageCommandQueueStateCommandQueueInfoT)(nil), // 73: CUserMessageCommandQueueState.command_queue_info_t + (*CMsgVector)(nil), // 74: CMsgVector + (*CEntityMsg)(nil), // 75: CEntityMsg + (*CMsgQAngle)(nil), // 76: CMsgQAngle +} +var file_usermessages_proto_depIdxs = []int32{ + 12, // 0: CUserMessageShakeDir.shake:type_name -> CUserMessageShake + 74, // 1: CUserMessageShakeDir.direction:type_name -> CMsgVector + 74, // 2: CUserMessageScreenTilt.angle:type_name -> CMsgVector + 2, // 3: CUserMessageCreditsMsg.rolltype:type_name -> eRollType + 75, // 4: CEntityMessagePlayJingle.entity_msg:type_name -> CEntityMsg + 75, // 5: CEntityMessageScreenOverlay.entity_msg:type_name -> CEntityMsg + 75, // 6: CEntityMessageRemoveAllDecals.entity_msg:type_name -> CEntityMsg + 74, // 7: CEntityMessagePropagateForce.impulse:type_name -> CMsgVector + 75, // 8: CEntityMessagePropagateForce.entity_msg:type_name -> CEntityMsg + 74, // 9: CEntityMessageDoSpark.origin:type_name -> CMsgVector + 75, // 10: CEntityMessageDoSpark.entity_msg:type_name -> CEntityMsg + 76, // 11: CEntityMessageFixAngle.angle:type_name -> CMsgQAngle + 75, // 12: CEntityMessageFixAngle.entity_msg:type_name -> CEntityMsg + 48, // 13: CUserMessageCameraTransition.params_data_driven:type_name -> CUserMessageCameraTransition.Transition_DataDriven + 3, // 14: CUserMsg_ParticleManager.type:type_name -> PARTICLE_MESSAGE + 49, // 15: CUserMsg_ParticleManager.release_particle_index:type_name -> CUserMsg_ParticleManager.ReleaseParticleIndex + 50, // 16: CUserMsg_ParticleManager.create_particle:type_name -> CUserMsg_ParticleManager.CreateParticle + 51, // 17: CUserMsg_ParticleManager.destroy_particle:type_name -> CUserMsg_ParticleManager.DestroyParticle + 52, // 18: CUserMsg_ParticleManager.destroy_particle_involving:type_name -> CUserMsg_ParticleManager.DestroyParticleInvolving + 54, // 19: CUserMsg_ParticleManager.update_particle:type_name -> CUserMsg_ParticleManager.UpdateParticle + 55, // 20: CUserMsg_ParticleManager.update_particle_fwd:type_name -> CUserMsg_ParticleManager.UpdateParticleFwd + 56, // 21: CUserMsg_ParticleManager.update_particle_orient:type_name -> CUserMsg_ParticleManager.UpdateParticleOrient + 57, // 22: CUserMsg_ParticleManager.update_particle_fallback:type_name -> CUserMsg_ParticleManager.UpdateParticleFallback + 58, // 23: CUserMsg_ParticleManager.update_particle_offset:type_name -> CUserMsg_ParticleManager.UpdateParticleOffset + 59, // 24: CUserMsg_ParticleManager.update_particle_ent:type_name -> CUserMsg_ParticleManager.UpdateParticleEnt + 61, // 25: CUserMsg_ParticleManager.update_particle_should_draw:type_name -> CUserMsg_ParticleManager.UpdateParticleShouldDraw + 60, // 26: CUserMsg_ParticleManager.update_particle_set_frozen:type_name -> CUserMsg_ParticleManager.UpdateParticleSetFrozen + 62, // 27: CUserMsg_ParticleManager.change_control_point_attachment:type_name -> CUserMsg_ParticleManager.ChangeControlPointAttachment + 63, // 28: CUserMsg_ParticleManager.update_entity_position:type_name -> CUserMsg_ParticleManager.UpdateEntityPosition + 64, // 29: CUserMsg_ParticleManager.set_particle_fow_properties:type_name -> CUserMsg_ParticleManager.SetParticleFoWProperties + 68, // 30: CUserMsg_ParticleManager.set_particle_text:type_name -> CUserMsg_ParticleManager.SetParticleText + 65, // 31: CUserMsg_ParticleManager.set_particle_should_check_fow:type_name -> CUserMsg_ParticleManager.SetParticleShouldCheckFoW + 66, // 32: CUserMsg_ParticleManager.set_control_point_model:type_name -> CUserMsg_ParticleManager.SetControlPointModel + 67, // 33: CUserMsg_ParticleManager.set_control_point_snapshot:type_name -> CUserMsg_ParticleManager.SetControlPointSnapshot + 69, // 34: CUserMsg_ParticleManager.set_texture_attribute:type_name -> CUserMsg_ParticleManager.SetTextureAttribute + 70, // 35: CUserMsg_ParticleManager.set_scene_object_generic_flag:type_name -> CUserMsg_ParticleManager.SetSceneObjectGenericFlag + 71, // 36: CUserMsg_ParticleManager.set_scene_object_tint_and_desat:type_name -> CUserMsg_ParticleManager.SetSceneObjectTintAndDesat + 53, // 37: CUserMsg_ParticleManager.destroy_particle_named:type_name -> CUserMsg_ParticleManager.DestroyParticleNamed + 72, // 38: CUserMsg_ParticleManager.particle_skip_to_time:type_name -> CUserMsg_ParticleManager.ParticleSkipToTime + 73, // 39: CUserMessageCommandQueueState.command_queue_info:type_name -> CUserMessageCommandQueueState.command_queue_info_t + 74, // 40: CUserMsg_ParticleManager.UpdateParticle.position:type_name -> CMsgVector + 74, // 41: CUserMsg_ParticleManager.UpdateParticleFwd.forward:type_name -> CMsgVector + 74, // 42: CUserMsg_ParticleManager.UpdateParticleOrient.forward:type_name -> CMsgVector + 74, // 43: CUserMsg_ParticleManager.UpdateParticleOrient.deprecated_right:type_name -> CMsgVector + 74, // 44: CUserMsg_ParticleManager.UpdateParticleOrient.up:type_name -> CMsgVector + 74, // 45: CUserMsg_ParticleManager.UpdateParticleOrient.left:type_name -> CMsgVector + 74, // 46: CUserMsg_ParticleManager.UpdateParticleFallback.position:type_name -> CMsgVector + 74, // 47: CUserMsg_ParticleManager.UpdateParticleOffset.origin_offset:type_name -> CMsgVector + 76, // 48: CUserMsg_ParticleManager.UpdateParticleOffset.angle_offset:type_name -> CMsgQAngle + 74, // 49: CUserMsg_ParticleManager.UpdateParticleEnt.fallback_position:type_name -> CMsgVector + 74, // 50: CUserMsg_ParticleManager.UpdateEntityPosition.position:type_name -> CMsgVector + 51, // [51:51] is the sub-list for method output_type + 51, // [51:51] is the sub-list for method input_type + 51, // [51:51] is the sub-list for extension type_name + 51, // [51:51] is the sub-list for extension extendee + 0, // [0:51] is the sub-list for field type_name +} + +func init() { file_usermessages_proto_init() } +func file_usermessages_proto_init() { + if File_usermessages_proto != nil { + return + } + file_networkbasetypes_proto_init() + if !protoimpl.UnsafeEnabled { + file_usermessages_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CUserMessageAchievementEvent); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_usermessages_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CUserMessageCloseCaption); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_usermessages_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CUserMessageCloseCaptionDirect); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_usermessages_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CUserMessageCloseCaptionPlaceholder); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_usermessages_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CUserMessageCurrentTimescale); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_usermessages_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CUserMessageDesiredTimescale); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_usermessages_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CUserMessageFade); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_usermessages_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CUserMessageShake); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_usermessages_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CUserMessageShakeDir); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_usermessages_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CUserMessageScreenTilt); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_usermessages_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CUserMessageSayText); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_usermessages_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CUserMessageSayText2); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_usermessages_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CUserMessageHudMsg); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_usermessages_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CUserMessageHudText); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_usermessages_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CUserMessageTextMsg); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_usermessages_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CUserMessageGameTitle); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_usermessages_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CUserMessageResetHUD); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_usermessages_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CUserMessageSendAudio); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_usermessages_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CUserMessageAudioParameter); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_usermessages_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CUserMessageVoiceMask); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_usermessages_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CUserMessageRequestState); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_usermessages_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CUserMessageRumble); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_usermessages_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CUserMessageSayTextChannel); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_usermessages_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CUserMessageColoredText); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_usermessages_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CUserMessageItemPickup); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_usermessages_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CUserMessageAmmoDenied); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_usermessages_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CUserMessageShowMenu); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_usermessages_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CUserMessageCreditsMsg); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_usermessages_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CEntityMessagePlayJingle); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_usermessages_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CEntityMessageScreenOverlay); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_usermessages_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CEntityMessageRemoveAllDecals); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_usermessages_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CEntityMessagePropagateForce); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_usermessages_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CEntityMessageDoSpark); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_usermessages_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CEntityMessageFixAngle); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_usermessages_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CUserMessageCameraTransition); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_usermessages_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CUserMsg_ParticleManager); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + case 3: + return &v.extensionFields + default: + return nil + } + } + file_usermessages_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CUserMsg_HudError); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_usermessages_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CUserMsg_CustomGameEvent); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_usermessages_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CUserMessageHapticsManagerPulse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_usermessages_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CUserMessageHapticsManagerEffect); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_usermessages_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CUserMessageAnimStateGraphState); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_usermessages_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CUserMessageCommandQueueState); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_usermessages_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CUserMessageUpdateCssClasses); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_usermessages_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CUserMessageCameraTransition_Transition_DataDriven); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_usermessages_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CUserMsg_ParticleManager_ReleaseParticleIndex); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_usermessages_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CUserMsg_ParticleManager_CreateParticle); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_usermessages_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CUserMsg_ParticleManager_DestroyParticle); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_usermessages_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CUserMsg_ParticleManager_DestroyParticleInvolving); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_usermessages_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CUserMsg_ParticleManager_DestroyParticleNamed); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_usermessages_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CUserMsg_ParticleManager_UpdateParticle); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_usermessages_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CUserMsg_ParticleManager_UpdateParticleFwd); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_usermessages_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CUserMsg_ParticleManager_UpdateParticleOrient); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_usermessages_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CUserMsg_ParticleManager_UpdateParticleFallback); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_usermessages_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CUserMsg_ParticleManager_UpdateParticleOffset); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_usermessages_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CUserMsg_ParticleManager_UpdateParticleEnt); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_usermessages_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CUserMsg_ParticleManager_UpdateParticleSetFrozen); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_usermessages_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CUserMsg_ParticleManager_UpdateParticleShouldDraw); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_usermessages_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CUserMsg_ParticleManager_ChangeControlPointAttachment); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_usermessages_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CUserMsg_ParticleManager_UpdateEntityPosition); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_usermessages_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CUserMsg_ParticleManager_SetParticleFoWProperties); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_usermessages_proto_msgTypes[60].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CUserMsg_ParticleManager_SetParticleShouldCheckFoW); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_usermessages_proto_msgTypes[61].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CUserMsg_ParticleManager_SetControlPointModel); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_usermessages_proto_msgTypes[62].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CUserMsg_ParticleManager_SetControlPointSnapshot); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_usermessages_proto_msgTypes[63].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CUserMsg_ParticleManager_SetParticleText); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_usermessages_proto_msgTypes[64].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CUserMsg_ParticleManager_SetTextureAttribute); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_usermessages_proto_msgTypes[65].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CUserMsg_ParticleManager_SetSceneObjectGenericFlag); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_usermessages_proto_msgTypes[66].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CUserMsg_ParticleManager_SetSceneObjectTintAndDesat); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_usermessages_proto_msgTypes[67].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CUserMsg_ParticleManager_ParticleSkipToTime); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_usermessages_proto_msgTypes[68].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CUserMessageCommandQueueStateCommandQueueInfoT); 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_usermessages_proto_rawDesc, + NumEnums: 5, + NumMessages: 69, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_usermessages_proto_goTypes, + DependencyIndexes: file_usermessages_proto_depIdxs, + EnumInfos: file_usermessages_proto_enumTypes, + MessageInfos: file_usermessages_proto_msgTypes, + }.Build() + File_usermessages_proto = out.File + file_usermessages_proto_rawDesc = nil + file_usermessages_proto_goTypes = nil + file_usermessages_proto_depIdxs = nil +} diff --git a/proto/demo.proto b/proto/demo.proto index df18d41..05dd6ec 100644 --- a/proto/demo.proto +++ b/proto/demo.proto @@ -1,6 +1,5 @@ syntax = "proto2"; - -option go_package = "./demo"; +option go_package="./demo"; option cc_generic_services = false; enum EDemoCommands { @@ -39,6 +38,7 @@ message CDemoFileHeader { optional string demo_version_name = 11; optional string demo_version_guid = 12; optional int32 build_num = 13; + optional string game = 14; } message CGameInfo { diff --git a/proto/dota_commonmessages.proto b/proto/dota_commonmessages.proto new file mode 100644 index 0000000..acdf910 --- /dev/null +++ b/proto/dota_commonmessages.proto @@ -0,0 +1,150 @@ +syntax = "proto2"; +option go_package="./demo"; +import "networkbasetypes.proto"; + +option optimize_for = SPEED; +option cc_generic_services = false; + +enum EPingSource { + k_ePingSource_Default = 0; + k_ePingSource_Warning = 1; + k_ePingSource_Wheel = 2; + k_ePingSource_System = 3; +} + +enum EDOTAStatPopupTypes { + k_EDOTA_SPT_Textline = 0; + k_EDOTA_SPT_Basic = 1; + k_EDOTA_SPT_Poll = 2; + k_EDOTA_SPT_Grid = 3; + k_EDOTA_SPT_DualImage = 4; + k_EDOTA_SPT_Movie = 5; +} + +enum dotaunitorder_t { + DOTA_UNIT_ORDER_NONE = 0; + DOTA_UNIT_ORDER_MOVE_TO_POSITION = 1; + DOTA_UNIT_ORDER_MOVE_TO_TARGET = 2; + DOTA_UNIT_ORDER_ATTACK_MOVE = 3; + DOTA_UNIT_ORDER_ATTACK_TARGET = 4; + DOTA_UNIT_ORDER_CAST_POSITION = 5; + DOTA_UNIT_ORDER_CAST_TARGET = 6; + DOTA_UNIT_ORDER_CAST_TARGET_TREE = 7; + DOTA_UNIT_ORDER_CAST_NO_TARGET = 8; + DOTA_UNIT_ORDER_CAST_TOGGLE = 9; + DOTA_UNIT_ORDER_HOLD_POSITION = 10; + DOTA_UNIT_ORDER_TRAIN_ABILITY = 11; + DOTA_UNIT_ORDER_DROP_ITEM = 12; + DOTA_UNIT_ORDER_GIVE_ITEM = 13; + DOTA_UNIT_ORDER_PICKUP_ITEM = 14; + DOTA_UNIT_ORDER_PICKUP_RUNE = 15; + DOTA_UNIT_ORDER_PURCHASE_ITEM = 16; + DOTA_UNIT_ORDER_SELL_ITEM = 17; + DOTA_UNIT_ORDER_DISASSEMBLE_ITEM = 18; + DOTA_UNIT_ORDER_MOVE_ITEM = 19; + DOTA_UNIT_ORDER_CAST_TOGGLE_AUTO = 20; + DOTA_UNIT_ORDER_STOP = 21; + DOTA_UNIT_ORDER_TAUNT = 22; + DOTA_UNIT_ORDER_BUYBACK = 23; + DOTA_UNIT_ORDER_GLYPH = 24; + DOTA_UNIT_ORDER_EJECT_ITEM_FROM_STASH = 25; + DOTA_UNIT_ORDER_CAST_RUNE = 26; + DOTA_UNIT_ORDER_PING_ABILITY = 27; + DOTA_UNIT_ORDER_MOVE_TO_DIRECTION = 28; + DOTA_UNIT_ORDER_PATROL = 29; + DOTA_UNIT_ORDER_VECTOR_TARGET_POSITION = 30; + DOTA_UNIT_ORDER_RADAR = 31; + DOTA_UNIT_ORDER_SET_ITEM_COMBINE_LOCK = 32; + DOTA_UNIT_ORDER_CONTINUE = 33; + DOTA_UNIT_ORDER_VECTOR_TARGET_CANCELED = 34; + DOTA_UNIT_ORDER_CAST_RIVER_PAINT = 35; + DOTA_UNIT_ORDER_PREGAME_ADJUST_ITEM_ASSIGNMENT = 36; + DOTA_UNIT_ORDER_DROP_ITEM_AT_FOUNTAIN = 37; + DOTA_UNIT_ORDER_TAKE_ITEM_FROM_NEUTRAL_ITEM_STASH = 38; + DOTA_UNIT_ORDER_MOVE_RELATIVE = 39; +} + +enum EDOTAVersusScenePlayerBehavior { + VS_PLAYER_BEHAVIOR_PLAY_ACTIVITY = 1; + VS_PLAYER_BEHAVIOR_CHAT_WHEEL = 2; + VS_PLAYER_BEHAVIOR_PLAYBACK_RATE = 3; +} + +message CDOTAMsg_LocationPing { + optional int32 x = 1; + optional int32 y = 2; + optional int32 target = 3; + optional bool direct_ping = 4; + optional int32 type = 5; + optional .EPingSource ping_source = 6 [default = k_ePingSource_Default]; +} + +message CDOTAMsg_ItemAlert { + optional int32 x = 1; + optional int32 y = 2; + optional int32 item_ability_id = 3; +} + +message CDOTAMsg_MapLine { + optional int32 x = 1; + optional int32 y = 2; + optional bool initial = 3; +} + +message CDOTAMsg_WorldLine { + optional int32 x = 1; + optional int32 y = 2; + optional int32 z = 3; + optional bool initial = 4; + optional bool end = 5; +} + +message CDOTAMsg_SendStatPopup { + optional .EDOTAStatPopupTypes style = 1 [default = k_EDOTA_SPT_Textline]; + repeated string stat_strings = 2; + repeated int32 stat_images = 3; + repeated int32 stat_image_types = 4; + optional float duration = 5; + optional bool use_html = 6; + optional string movie_name = 7; +} + +message CDOTAMsg_DismissAllStatPopups { + optional float time_delay = 1; +} + +message CDOTAMsg_CoachHUDPing { + optional uint32 x = 1; + optional uint32 y = 2; + optional string tgtpath = 3; +} + +message CDOTAMsg_UnitOrder { + optional .dotaunitorder_t order_type = 2 [default = DOTA_UNIT_ORDER_NONE]; + repeated int32 units = 3; + optional int32 target_index = 4; + optional int32 ability_index = 5; + optional .CMsgVector position = 6; + optional int32 sequence_number = 8; + optional uint32 flags = 9; +} + +message VersusScene_PlayActivity { + message ActivityInfo { + optional string activity = 1; + optional bool disable_auto_kill = 2; + optional bool force_looping = 3; + } + + repeated .VersusScene_PlayActivity.ActivityInfo activities = 1; + optional float playback_rate = 2; +} + +message VersusScene_ChatWheel { + optional uint32 chat_message_id = 1; + optional uint32 emoticon_id = 2; +} + +message VersusScene_PlaybackRate { + optional float rate = 1; +} diff --git a/proto/dota_modifiers.proto b/proto/dota_modifiers.proto new file mode 100644 index 0000000..0e252d6 --- /dev/null +++ b/proto/dota_modifiers.proto @@ -0,0 +1,57 @@ +syntax = "proto2"; +option go_package="./demo"; +import "networkbasetypes.proto"; + +option optimize_for = SPEED; +option cc_generic_services = false; + +enum DOTA_MODIFIER_ENTRY_TYPE { + DOTA_MODIFIER_ENTRY_TYPE_ACTIVE = 1; + DOTA_MODIFIER_ENTRY_TYPE_REMOVED = 2; +} + +message CDOTAModifierBuffTableEntry { + required .DOTA_MODIFIER_ENTRY_TYPE entry_type = 1 [default = DOTA_MODIFIER_ENTRY_TYPE_ACTIVE]; + required uint32 parent = 2; + required int32 index = 3; + required int32 serial_num = 4; + optional int32 modifier_class = 5; + optional int32 ability_level = 6; + optional int32 stack_count = 7; + optional float creation_time = 8; + optional float duration = 9 [default = -1]; + optional uint32 caster = 10; + optional uint32 ability = 11; + optional int32 armor = 12; + optional float fade_time = 13; + optional bool subtle = 14; + optional float channel_time = 15; + optional .CMsgVector v_start = 16; + optional .CMsgVector v_end = 17; + optional string portal_loop_appear = 18; + optional string portal_loop_disappear = 19; + optional string hero_loop_appear = 20; + optional string hero_loop_disappear = 21; + optional int32 movement_speed = 22; + optional bool aura = 23; + optional int32 activity = 24; + optional int32 damage = 25; + optional int32 range = 26; + optional int32 dd_modifier_index = 27; + optional int32 dd_ability_id = 28; + optional string illusion_label = 29; + optional bool active = 30; + optional string player_ids = 31; + optional string lua_name = 32; + optional int32 attack_speed = 33; + optional uint32 aura_owner = 34; + optional int32 bonus_all_stats = 35; + optional int32 bonus_health = 36; + optional int32 bonus_mana = 37; + optional uint32 custom_entity = 38; +} + +message CDOTALuaModifierEntry { + required int32 modifier_type = 1; + required string modifier_filename = 2; +} diff --git a/proto/dota_shared_enums.proto b/proto/dota_shared_enums.proto new file mode 100644 index 0000000..a7d7a3c --- /dev/null +++ b/proto/dota_shared_enums.proto @@ -0,0 +1,733 @@ +syntax = "proto2"; +option go_package="./demo"; +option optimize_for = SPEED; +option cc_generic_services = false; + +enum DOTA_GameMode { + DOTA_GAMEMODE_NONE = 0; + DOTA_GAMEMODE_AP = 1; + DOTA_GAMEMODE_CM = 2; + DOTA_GAMEMODE_RD = 3; + DOTA_GAMEMODE_SD = 4; + DOTA_GAMEMODE_AR = 5; + DOTA_GAMEMODE_INTRO = 6; + DOTA_GAMEMODE_HW = 7; + DOTA_GAMEMODE_REVERSE_CM = 8; + DOTA_GAMEMODE_XMAS = 9; + DOTA_GAMEMODE_TUTORIAL = 10; + DOTA_GAMEMODE_MO = 11; + DOTA_GAMEMODE_LP = 12; + DOTA_GAMEMODE_POOL1 = 13; + DOTA_GAMEMODE_FH = 14; + DOTA_GAMEMODE_CUSTOM = 15; + DOTA_GAMEMODE_CD = 16; + DOTA_GAMEMODE_BD = 17; + DOTA_GAMEMODE_ABILITY_DRAFT = 18; + DOTA_GAMEMODE_EVENT = 19; + DOTA_GAMEMODE_ARDM = 20; + DOTA_GAMEMODE_1V1MID = 21; + DOTA_GAMEMODE_ALL_DRAFT = 22; + DOTA_GAMEMODE_TURBO = 23; + DOTA_GAMEMODE_MUTATION = 24; + DOTA_GAMEMODE_COACHES_CHALLENGE = 25; +} + +enum DOTA_GameState { + DOTA_GAMERULES_STATE_INIT = 0; + DOTA_GAMERULES_STATE_WAIT_FOR_PLAYERS_TO_LOAD = 1; + DOTA_GAMERULES_STATE_HERO_SELECTION = 2; + DOTA_GAMERULES_STATE_STRATEGY_TIME = 3; + DOTA_GAMERULES_STATE_PRE_GAME = 4; + DOTA_GAMERULES_STATE_GAME_IN_PROGRESS = 5; + DOTA_GAMERULES_STATE_POST_GAME = 6; + DOTA_GAMERULES_STATE_DISCONNECT = 7; + DOTA_GAMERULES_STATE_TEAM_SHOWCASE = 8; + DOTA_GAMERULES_STATE_CUSTOM_GAME_SETUP = 9; + DOTA_GAMERULES_STATE_WAIT_FOR_MAP_TO_LOAD = 10; + DOTA_GAMERULES_STATE_SCENARIO_SETUP = 11; + DOTA_GAMERULES_STATE_LAST = 12; +} + +enum DOTA_GC_TEAM { + DOTA_GC_TEAM_GOOD_GUYS = 0; + DOTA_GC_TEAM_BAD_GUYS = 1; + DOTA_GC_TEAM_BROADCASTER = 2; + DOTA_GC_TEAM_SPECTATOR = 3; + DOTA_GC_TEAM_PLAYER_POOL = 4; + DOTA_GC_TEAM_NOTEAM = 5; + DOTA_GC_TEAM_CUSTOM_1 = 6; + DOTA_GC_TEAM_CUSTOM_2 = 7; + DOTA_GC_TEAM_CUSTOM_3 = 8; + DOTA_GC_TEAM_CUSTOM_4 = 9; + DOTA_GC_TEAM_CUSTOM_5 = 10; + DOTA_GC_TEAM_CUSTOM_6 = 11; + DOTA_GC_TEAM_CUSTOM_7 = 12; + DOTA_GC_TEAM_CUSTOM_8 = 13; + DOTA_GC_TEAM_NEUTRALS = 14; +} + +enum EEvent { + EVENT_ID_NONE = 0; + EVENT_ID_DIRETIDE = 1; + EVENT_ID_SPRING_FESTIVAL = 2; + EVENT_ID_FROSTIVUS_2013 = 3; + EVENT_ID_COMPENDIUM_2014 = 4; + EVENT_ID_NEXON_PC_BANG = 5; + EVENT_ID_PWRD_DAC_2015 = 6; + EVENT_ID_NEW_BLOOM_2015 = 7; + EVENT_ID_INTERNATIONAL_2015 = 8; + EVENT_ID_FALL_MAJOR_2015 = 9; + EVENT_ID_ORACLE_PA = 10; + EVENT_ID_NEW_BLOOM_2015_PREBEAST = 11; + EVENT_ID_FROSTIVUS = 12; + EVENT_ID_WINTER_MAJOR_2016 = 13; + EVENT_ID_INTERNATIONAL_2016 = 14; + EVENT_ID_FALL_MAJOR_2016 = 15; + EVENT_ID_WINTER_MAJOR_2017 = 16; + EVENT_ID_NEW_BLOOM_2017 = 17; + EVENT_ID_INTERNATIONAL_2017 = 18; + EVENT_ID_PLUS_SUBSCRIPTION = 19; + EVENT_ID_SINGLES_DAY_2017 = 20; + EVENT_ID_FROSTIVUS_2017 = 21; + EVENT_ID_INTERNATIONAL_2018 = 22; + EVENT_ID_FROSTIVUS_2018 = 23; + EVENT_ID_NEW_BLOOM_2019 = 24; + EVENT_ID_INTERNATIONAL_2019 = 25; + EVENT_ID_NEW_PLAYER_EXPERIENCE = 26; + EVENT_ID_FROSTIVUS_2019 = 27; + EVENT_ID_NEW_BLOOM_2020 = 28; + EVENT_ID_INTERNATIONAL_2020 = 29; + EVENT_ID_TEAM_FANDOM = 30; + EVENT_ID_DIRETIDE_2020 = 31; + EVENT_ID_SPRING_2021 = 32; + EVENT_ID_FALL_2021 = 33; + EVENT_ID_TEAM_FANDOM_FALL_2021 = 34; + EVENT_ID_TEAM_2021_2022_TOUR2 = 35; + EVENT_ID_INTERNATIONAL_2022 = 36; + EVENT_ID_TEAM_2021_2022_TOUR3 = 37; + EVENT_ID_TEAM_INTERNATIONAL_2022 = 38; +} + +enum DOTALeaverStatus_t { + DOTA_LEAVER_NONE = 0; + DOTA_LEAVER_DISCONNECTED = 1; + DOTA_LEAVER_DISCONNECTED_TOO_LONG = 2; + DOTA_LEAVER_ABANDONED = 3; + DOTA_LEAVER_AFK = 4; + DOTA_LEAVER_NEVER_CONNECTED = 5; + DOTA_LEAVER_NEVER_CONNECTED_TOO_LONG = 6; + DOTA_LEAVER_FAILED_TO_READY_UP = 7; + DOTA_LEAVER_DECLINED = 8; +} + +enum DOTAConnectionState_t { + DOTA_CONNECTION_STATE_UNKNOWN = 0; + DOTA_CONNECTION_STATE_NOT_YET_CONNECTED = 1; + DOTA_CONNECTION_STATE_CONNECTED = 2; + DOTA_CONNECTION_STATE_DISCONNECTED = 3; + DOTA_CONNECTION_STATE_ABANDONED = 4; + DOTA_CONNECTION_STATE_LOADING = 5; + DOTA_CONNECTION_STATE_FAILED = 6; +} + +enum Fantasy_Roles { + FANTASY_ROLE_UNDEFINED = 0; + FANTASY_ROLE_CORE = 1; + FANTASY_ROLE_SUPPORT = 2; + FANTASY_ROLE_OFFLANE = 3; + FANTASY_ROLE_MID = 4; +} + +enum Fantasy_Team_Slots { + FANTASY_SLOT_NONE = 0; + FANTASY_SLOT_CORE = 1; + FANTASY_SLOT_SUPPORT = 2; + FANTASY_SLOT_ANY = 3; + FANTASY_SLOT_BENCH = 4; +} + +enum Fantasy_Selection_Mode { + FANTASY_SELECTION_INVALID = 0; + FANTASY_SELECTION_LOCKED = 1; + FANTASY_SELECTION_SHUFFLE = 2; + FANTASY_SELECTION_FREE_PICK = 3; + FANTASY_SELECTION_ENDED = 4; + FANTASY_SELECTION_PRE_SEASON = 5; + FANTASY_SELECTION_PRE_DRAFT = 6; + FANTASY_SELECTION_DRAFTING = 7; + FANTASY_SELECTION_REGULAR_SEASON = 8; + FANTASY_SELECTION_CARD_BASED = 9; +} + +enum DOTAChatChannelType_t { + DOTAChannelType_Regional = 0; + DOTAChannelType_Custom = 1; + DOTAChannelType_Party = 2; + DOTAChannelType_Lobby = 3; + DOTAChannelType_Team = 4; + DOTAChannelType_Guild = 5; + DOTAChannelType_Fantasy = 6; + DOTAChannelType_Whisper = 7; + DOTAChannelType_Console = 8; + DOTAChannelType_Tab = 9; + DOTAChannelType_Invalid = 10; + DOTAChannelType_GameAll = 11; + DOTAChannelType_GameAllies = 12; + DOTAChannelType_GameSpectator = 13; + DOTAChannelType_GameCoaching = 14; + DOTAChannelType_Cafe = 15; + DOTAChannelType_CustomGame = 16; + DOTAChannelType_Private = 17; + DOTAChannelType_PostGame = 18; + DOTAChannelType_BattleCup = 19; + DOTAChannelType_HLTVSpectator = 20; + DOTAChannelType_GameEvents = 21; + DOTAChannelType_Trivia = 22; + DOTAChannelType_NewPlayer = 23; + DOTAChannelType_PrivateCoaching = 24; +} + +enum EChatSpecialPrivileges { + k_EChatSpecialPrivileges_None = 0; + k_EChatSpecialPrivileges_Moderator = 1; + k_EChatSpecialPrivileges_SuperModerator = 2; +} + +enum EProfileCardSlotType { + k_EProfileCardSlotType_Empty = 0; + k_EProfileCardSlotType_Stat = 1; + k_EProfileCardSlotType_Trophy = 2; + k_EProfileCardSlotType_Item = 3; + k_EProfileCardSlotType_Hero = 4; + k_EProfileCardSlotType_Emoticon = 5; + k_EProfileCardSlotType_Team = 6; +} + +enum EMatchGroupServerStatus { + k_EMatchGroupServerStatus_OK = 0; + k_EMatchGroupServerStatus_LimitedAvailability = 1; + k_EMatchGroupServerStatus_Offline = 2; +} + +enum DOTA_CM_PICK { + DOTA_CM_RANDOM = 0; + DOTA_CM_GOOD_GUYS = 1; + DOTA_CM_BAD_GUYS = 2; +} + +enum DOTALowPriorityBanType { + DOTA_LOW_PRIORITY_BAN_ABANDON = 0; + DOTA_LOW_PRIORITY_BAN_REPORTS = 1; + DOTA_LOW_PRIORITY_BAN_SECONDARY_ABANDON = 2; + DOTA_LOW_PRIORITY_BAN_PRE_GAME_ROLE = 3; +} + +enum DOTALobbyReadyState { + DOTALobbyReadyState_UNDECLARED = 0; + DOTALobbyReadyState_ACCEPTED = 1; + DOTALobbyReadyState_DECLINED = 2; +} + +enum DOTAGameVersion { + GAME_VERSION_CURRENT = 0; + GAME_VERSION_STABLE = 1; +} + +enum DOTAJoinLobbyResult { + DOTA_JOIN_RESULT_SUCCESS = 0; + DOTA_JOIN_RESULT_ALREADY_IN_GAME = 1; + DOTA_JOIN_RESULT_INVALID_LOBBY = 2; + DOTA_JOIN_RESULT_INCORRECT_PASSWORD = 3; + DOTA_JOIN_RESULT_ACCESS_DENIED = 4; + DOTA_JOIN_RESULT_GENERIC_ERROR = 5; + DOTA_JOIN_RESULT_INCORRECT_VERSION = 6; + DOTA_JOIN_RESULT_IN_TEAM_PARTY = 7; + DOTA_JOIN_RESULT_NO_LOBBY_FOUND = 8; + DOTA_JOIN_RESULT_LOBBY_FULL = 9; + DOTA_JOIN_RESULT_CUSTOM_GAME_INCORRECT_VERSION = 10; + DOTA_JOIN_RESULT_TIMEOUT = 11; + DOTA_JOIN_RESULT_CUSTOM_GAME_COOLDOWN = 12; + DOTA_JOIN_RESULT_BUSY = 13; + DOTA_JOIN_RESULT_NO_PLAYTIME = 14; +} + +enum DOTASelectionPriorityRules { + k_DOTASelectionPriorityRules_Manual = 0; + k_DOTASelectionPriorityRules_Automatic = 1; +} + +enum DOTASelectionPriorityChoice { + k_DOTASelectionPriorityChoice_Invalid = 0; + k_DOTASelectionPriorityChoice_FirstPick = 1; + k_DOTASelectionPriorityChoice_SecondPick = 2; + k_DOTASelectionPriorityChoice_Radiant = 3; + k_DOTASelectionPriorityChoice_Dire = 4; +} + +enum DOTAMatchVote { + DOTAMatchVote_INVALID = 0; + DOTAMatchVote_POSITIVE = 1; + DOTAMatchVote_NEGATIVE = 2; +} + +enum DOTALobbyVisibility { + DOTALobbyVisibility_Public = 0; + DOTALobbyVisibility_Friends = 1; + DOTALobbyVisibility_Unlisted = 2; +} + +enum EDOTAPlayerMMRType { + k_EDOTAPlayerMMRType_Invalid = 0; + k_EDOTAPlayerMMRType_GeneralHidden = 1; + k_EDOTAPlayerMMRType_GeneralCompetitive = 3; + k_EDOTAPlayerMMRType_SoloCompetitive2019 = 4; + k_EDOTAPlayerMMRType_1v1Competitive_UNUSED = 5; +} + +enum EDOTAMMRBoostType { + k_EDOTAMMRBoostType_None = 0; + k_EDOTAMMRBoostType_Leader = 1; + k_EDOTAMMRBoostType_Follower = 2; +} + +enum MatchType { + MATCH_TYPE_CASUAL = 0; + MATCH_TYPE_COOP_BOTS = 1; + MATCH_TYPE_LEGACY_TEAM_RANKED = 2; + MATCH_TYPE_LEGACY_SOLO_QUEUE = 3; + MATCH_TYPE_COMPETITIVE = 4; + MATCH_TYPE_WEEKEND_TOURNEY = 5; + MATCH_TYPE_CASUAL_1V1 = 6; + MATCH_TYPE_EVENT = 7; + MATCH_TYPE_SEASONAL_RANKED = 8; + MATCH_TYPE_LOWPRI_DEPRECATED = 9; + MATCH_TYPE_STEAM_GROUP = 10; + MATCH_TYPE_MUTATION = 11; + MATCH_TYPE_COACHES_CHALLENGE = 12; + MATCH_TYPE_GAUNTLET = 13; + MATCH_TYPE_NEW_PLAYER_POOL = 14; +} + +enum DOTABotDifficulty { + BOT_DIFFICULTY_PASSIVE = 0; + BOT_DIFFICULTY_EASY = 1; + BOT_DIFFICULTY_MEDIUM = 2; + BOT_DIFFICULTY_HARD = 3; + BOT_DIFFICULTY_UNFAIR = 4; + BOT_DIFFICULTY_INVALID = 5; + BOT_DIFFICULTY_EXTRA1 = 6; + BOT_DIFFICULTY_EXTRA2 = 7; + BOT_DIFFICULTY_EXTRA3 = 8; + BOT_DIFFICULTY_NPX = 9; +} + +enum DOTA_BOT_MODE { + DOTA_BOT_MODE_NONE = 0; + DOTA_BOT_MODE_LANING = 1; + DOTA_BOT_MODE_ATTACK = 2; + DOTA_BOT_MODE_ROAM = 3; + DOTA_BOT_MODE_RETREAT = 4; + DOTA_BOT_MODE_SECRET_SHOP = 5; + DOTA_BOT_MODE_SIDE_SHOP = 6; + DOTA_BOT_MODE_RUNE = 7; + DOTA_BOT_MODE_PUSH_TOWER_TOP = 8; + DOTA_BOT_MODE_PUSH_TOWER_MID = 9; + DOTA_BOT_MODE_PUSH_TOWER_BOT = 10; + DOTA_BOT_MODE_DEFEND_TOWER_TOP = 11; + DOTA_BOT_MODE_DEFEND_TOWER_MID = 12; + DOTA_BOT_MODE_DEFEND_TOWER_BOT = 13; + DOTA_BOT_MODE_ASSEMBLE = 14; + DOTA_BOT_MODE_ASSEMBLE_WITH_HUMANS = 15; + DOTA_BOT_MODE_TEAM_ROAM = 16; + DOTA_BOT_MODE_FARM = 17; + DOTA_BOT_MODE_DEFEND_ALLY = 18; + DOTA_BOT_MODE_EVASIVE_MANEUVERS = 19; + DOTA_BOT_MODE_ROSHAN = 20; + DOTA_BOT_MODE_ITEM = 21; + DOTA_BOT_MODE_WARD = 22; + DOTA_BOT_MODE_COMPANION = 23; + DOTA_BOT_MODE_TUTORIAL_BOSS = 24; + DOTA_BOT_MODE_MINION = 25; + DOTA_BOT_MODE_OUTPOST = 26; +} + +enum MatchLanguages { + MATCH_LANGUAGE_INVALID = 0; + MATCH_LANGUAGE_ENGLISH = 1; + MATCH_LANGUAGE_RUSSIAN = 2; + MATCH_LANGUAGE_CHINESE = 3; + MATCH_LANGUAGE_KOREAN = 4; + MATCH_LANGUAGE_SPANISH = 5; + MATCH_LANGUAGE_PORTUGUESE = 6; + MATCH_LANGUAGE_ENGLISH2 = 7; +} + +enum ETourneyQueueDeadlineState { + k_ETourneyQueueDeadlineState_Normal = 0; + k_ETourneyQueueDeadlineState_Missed = 1; + k_ETourneyQueueDeadlineState_ExpiredOK = 2; + k_ETourneyQueueDeadlineState_SeekingBye = 3; + k_ETourneyQueueDeadlineState_EligibleForRefund = 4; + k_ETourneyQueueDeadlineState_NA = -1; + k_ETourneyQueueDeadlineState_ExpiringSoon = 101; +} + +enum EMatchOutcome { + k_EMatchOutcome_Unknown = 0; + k_EMatchOutcome_RadVictory = 2; + k_EMatchOutcome_DireVictory = 3; + k_EMatchOutcome_NeutralVictory = 4; + k_EMatchOutcome_NoTeamWinner = 5; + k_EMatchOutcome_Custom1Victory = 6; + k_EMatchOutcome_Custom2Victory = 7; + k_EMatchOutcome_Custom3Victory = 8; + k_EMatchOutcome_Custom4Victory = 9; + k_EMatchOutcome_Custom5Victory = 10; + k_EMatchOutcome_Custom6Victory = 11; + k_EMatchOutcome_Custom7Victory = 12; + k_EMatchOutcome_Custom8Victory = 13; + k_EMatchOutcome_NotScored_PoorNetworkConditions = 64; + k_EMatchOutcome_NotScored_Leaver = 65; + k_EMatchOutcome_NotScored_ServerCrash = 66; + k_EMatchOutcome_NotScored_NeverStarted = 67; + k_EMatchOutcome_NotScored_Canceled = 68; + k_EMatchOutcome_NotScored_Suspicious = 69; +} + +enum ELaneType { + LANE_TYPE_UNKNOWN = 0; + LANE_TYPE_SAFE = 1; + LANE_TYPE_OFF = 2; + LANE_TYPE_MID = 3; + LANE_TYPE_JUNGLE = 4; + LANE_TYPE_ROAM = 5; +} + +enum EBadgeType { + k_EBadgeType_TI7_Midweek = 1; + k_EBadgeType_TI7_Finals = 2; + k_EBadgeType_TI7_AllEvent = 3; + k_EBadgeType_TI8_Midweek = 4; + k_EBadgeType_TI8_Finals = 5; + k_EBadgeType_TI8_AllEvent = 6; + k_EBadgeType_TI10 = 7; +} + +enum ELeagueStatus { + LEAGUE_STATUS_UNSET = 0; + LEAGUE_STATUS_UNSUBMITTED = 1; + LEAGUE_STATUS_SUBMITTED = 2; + LEAGUE_STATUS_ACCEPTED = 3; + LEAGUE_STATUS_REJECTED = 4; + LEAGUE_STATUS_CONCLUDED = 5; + LEAGUE_STATUS_DELETED = 6; +} + +enum ELeagueRegion { + LEAGUE_REGION_UNSET = 0; + LEAGUE_REGION_NA = 1; + LEAGUE_REGION_SA = 2; + LEAGUE_REGION_WEU = 3; + LEAGUE_REGION_EEU = 4; + LEAGUE_REGION_CHINA = 5; + LEAGUE_REGION_SEA = 6; +} + +enum ELeagueTier { + LEAGUE_TIER_UNSET = 0; + LEAGUE_TIER_AMATEUR = 1; + LEAGUE_TIER_PROFESSIONAL = 2; + LEAGUE_TIER_MINOR = 3; + LEAGUE_TIER_MAJOR = 4; + LEAGUE_TIER_INTERNATIONAL = 5; + LEAGUE_TIER_DPC_QUALIFIER = 6; + LEAGUE_TIER_DPC_LEAGUE_QUALIFIER = 7; + LEAGUE_TIER_DPC_LEAGUE = 8; + LEAGUE_TIER_DPC_LEAGUE_FINALS = 9; +} + +enum ELeagueTierCategory { + LEAGUE_TIER_CATEGORY_AMATEUR = 1; + LEAGUE_TIER_CATEGORY_PROFESSIONAL = 2; + LEAGUE_TIER_CATEGORY_DPC = 3; +} + +enum ELeagueDivision { + LEAGUE_DIVISION_UNSET = 0; + LEAGUE_DIVISION_I = 1; + LEAGUE_DIVISION_II = 2; +} + +enum ELeagueBroadcastProvider { + LEAGUE_BROADCAST_UNKNOWN = 0; + LEAGUE_BROADCAST_STEAM = 1; + LEAGUE_BROADCAST_TWITCH = 2; + LEAGUE_BROADCAST_YOUTUBE = 3; + LEAGUE_BROADCAST_OTHER = 100; +} + +enum ELeaguePhase { + LEAGUE_PHASE_UNSET = 0; + LEAGUE_PHASE_REGIONAL_QUALIFIER = 1; + LEAGUE_PHASE_GROUP_STAGE = 2; + LEAGUE_PHASE_MAIN_EVENT = 3; +} + +enum ELeagueAuditAction { + LEAGUE_AUDIT_ACTION_INVALID = 0; + LEAGUE_AUDIT_ACTION_LEAGUE_CREATE = 1; + LEAGUE_AUDIT_ACTION_LEAGUE_EDIT = 2; + LEAGUE_AUDIT_ACTION_LEAGUE_DELETE = 3; + LEAGUE_AUDIT_ACTION_LEAGUE_ADMIN_ADD = 4; + LEAGUE_AUDIT_ACTION_LEAGUE_ADMIN_REVOKE = 5; + LEAGUE_AUDIT_ACTION_LEAGUE_ADMIN_PROMOTE = 6; + LEAGUE_AUDIT_ACTION_LEAGUE_STREAM_ADD = 7; + LEAGUE_AUDIT_ACTION_LEAGUE_STREAM_REMOVE = 8; + LEAGUE_AUDIT_ACTION_LEAGUE_IMAGE_UPDATED = 9; + LEAGUE_AUDIT_ACTION_LEAGUE_MESSAGE_ADDED = 10; + LEAGUE_AUDIT_ACTION_LEAGUE_SUBMITTED = 11; + LEAGUE_AUDIT_ACTION_LEAGUE_SET_PRIZE_POOL = 12; + LEAGUE_AUDIT_ACTION_LEAGUE_ADD_PRIZE_POOL_ITEM = 13; + LEAGUE_AUDIT_ACTION_LEAGUE_REMOVE_PRIZE_POOL_ITEM = 14; + LEAGUE_AUDIT_ACTION_LEAGUE_MATCH_START = 15; + LEAGUE_AUDIT_ACTION_LEAGUE_MATCH_END = 16; + LEAGUE_AUDIT_ACTION_LEAGUE_ADD_INVITED_TEAM = 17; + LEAGUE_AUDIT_ACTION_LEAGUE_REMOVE_INVITED_TEAM = 18; + LEAGUE_AUDIT_ACTION_LEAGUE_STATUS_CHANGED = 19; + LEAGUE_AUDIT_ACTION_LEAGUE_STREAM_EDIT = 20; + LEAGUE_AUDIT_ACTION_LEAGUE_TEAM_SWAP = 21; + LEAGUE_AUDIT_ACTION_NODEGROUP_CREATE = 100; + LEAGUE_AUDIT_ACTION_NODEGROUP_DESTROY = 101; + LEAGUE_AUDIT_ACTION_NODEGROUP_ADD_TEAM = 102; + LEAGUE_AUDIT_ACTION_NODEGROUP_REMOVE_TEAM = 103; + LEAGUE_AUDIT_ACTION_NODEGROUP_SET_ADVANCING = 104; + LEAGUE_AUDIT_ACTION_NODEGROUP_EDIT = 105; + LEAGUE_AUDIT_ACTION_NODEGROUP_POPULATE = 106; + LEAGUE_AUDIT_ACTION_NODEGROUP_COMPLETED = 107; + LEAGUE_AUDIT_ACTION_NODEGROUP_SET_SECONDARY_ADVANCING = 108; + LEAGUE_AUDIT_ACTION_NODEGROUP_SET_TERTIARY_ADVANCING = 109; + LEAGUE_AUDIT_ACTION_NODE_CREATE = 200; + LEAGUE_AUDIT_ACTION_NODE_DESTROY = 201; + LEAGUE_AUDIT_ACTION_NODE_AUTOCREATE = 202; + LEAGUE_AUDIT_ACTION_NODE_SET_TEAM = 203; + LEAGUE_AUDIT_ACTION_NODE_SET_SERIES_ID = 204; + LEAGUE_AUDIT_ACTION_NODE_SET_ADVANCING = 205; + LEAGUE_AUDIT_ACTION_NODE_SET_TIME = 206; + LEAGUE_AUDIT_ACTION_NODE_MATCH_COMPLETED = 207; + LEAGUE_AUDIT_ACTION_NODE_COMPLETED = 208; + LEAGUE_AUDIT_ACTION_NODE_EDIT = 209; +} + +enum DOTA_COMBATLOG_TYPES { + DOTA_COMBATLOG_INVALID = -1; + DOTA_COMBATLOG_DAMAGE = 0; + DOTA_COMBATLOG_HEAL = 1; + DOTA_COMBATLOG_MODIFIER_ADD = 2; + DOTA_COMBATLOG_MODIFIER_REMOVE = 3; + DOTA_COMBATLOG_DEATH = 4; + DOTA_COMBATLOG_ABILITY = 5; + DOTA_COMBATLOG_ITEM = 6; + DOTA_COMBATLOG_LOCATION = 7; + DOTA_COMBATLOG_GOLD = 8; + DOTA_COMBATLOG_GAME_STATE = 9; + DOTA_COMBATLOG_XP = 10; + DOTA_COMBATLOG_PURCHASE = 11; + DOTA_COMBATLOG_BUYBACK = 12; + DOTA_COMBATLOG_ABILITY_TRIGGER = 13; + DOTA_COMBATLOG_PLAYERSTATS = 14; + DOTA_COMBATLOG_MULTIKILL = 15; + DOTA_COMBATLOG_KILLSTREAK = 16; + DOTA_COMBATLOG_TEAM_BUILDING_KILL = 17; + DOTA_COMBATLOG_FIRST_BLOOD = 18; + DOTA_COMBATLOG_MODIFIER_STACK_EVENT = 19; + DOTA_COMBATLOG_NEUTRAL_CAMP_STACK = 20; + DOTA_COMBATLOG_PICKUP_RUNE = 21; + DOTA_COMBATLOG_REVEALED_INVISIBLE = 22; + DOTA_COMBATLOG_HERO_SAVED = 23; + DOTA_COMBATLOG_MANA_RESTORED = 24; + DOTA_COMBATLOG_HERO_LEVELUP = 25; + DOTA_COMBATLOG_BOTTLE_HEAL_ALLY = 26; + DOTA_COMBATLOG_ENDGAME_STATS = 27; + DOTA_COMBATLOG_INTERRUPT_CHANNEL = 28; + DOTA_COMBATLOG_ALLIED_GOLD = 29; + DOTA_COMBATLOG_AEGIS_TAKEN = 30; + DOTA_COMBATLOG_MANA_DAMAGE = 31; + DOTA_COMBATLOG_PHYSICAL_DAMAGE_PREVENTED = 32; + DOTA_COMBATLOG_UNIT_SUMMONED = 33; + DOTA_COMBATLOG_ATTACK_EVADE = 34; + DOTA_COMBATLOG_TREE_CUT = 35; + DOTA_COMBATLOG_SUCCESSFUL_SCAN = 36; + DOTA_COMBATLOG_END_KILLSTREAK = 37; + DOTA_COMBATLOG_BLOODSTONE_CHARGE = 38; + DOTA_COMBATLOG_CRITICAL_DAMAGE = 39; + DOTA_COMBATLOG_SPELL_ABSORB = 40; + DOTA_COMBATLOG_UNIT_TELEPORTED = 41; + DOTA_COMBATLOG_KILL_EATER_EVENT = 42; +} + +enum EDPCFavoriteType { + FAVORITE_TYPE_ALL = 0; + FAVORITE_TYPE_PLAYER = 1; + FAVORITE_TYPE_TEAM = 2; + FAVORITE_TYPE_LEAGUE = 3; +} + +enum EDPCPushNotification { + DPC_PUSH_NOTIFICATION_MATCH_STARTING = 1; + DPC_PUSH_NOTIFICATION_PLAYER_LEFT_TEAM = 10; + DPC_PUSH_NOTIFICATION_PLAYER_JOINED_TEAM = 11; + DPC_PUSH_NOTIFICATION_PLAYER_JOINED_TEAM_AS_COACH = 12; + DPC_PUSH_NOTIFICATION_PLAYER_LEFT_TEAM_AS_COACH = 13; + DPC_PUSH_NOTIFICATION_LEAGUE_RESULT = 20; + DPC_PUSH_NOTIFICATION_PREDICTION_MATCHES_AVAILABLE = 30; + DPC_PUSH_NOTIFICATION_PREDICTION_RESULT = 31; + DPC_PUSH_NOTIFICATION_FANTASY_PLAYER_CLEARED = 40; + DPC_PUSH_NOTIFICATION_FANTASY_DAILY_SUMMARY = 41; + DPC_PUSH_NOTIFICATION_FANTASY_FINAL_RESULTS = 42; +} + +enum EEventActionScoreMode { + k_eEventActionScoreMode_Add = 0; + k_eEventActionScoreMode_Min = 1; +} + +enum EPlayerChallengeHistoryType { + k_EPlayerChallengeHistoryType_Invalid = 0; + k_EPlayerChallengeHistoryType_KillEater = 1; + k_EPlayerChallengeHistoryType_DotaPlusRelic = 2; + k_EPlayerChallengeHistoryType_DotaPlusHeroPlayerChallenge = 3; + k_EPlayerChallengeHistoryType_InGameEventChallenge = 4; + k_EPlayerChallengeHistoryType_GuildContract = 5; +} + +enum EOverwatchReportReason { + k_EOverwatchReportReason_Unknown = 0; + k_EOverwatchReportReason_Cheating = 1; + k_EOverwatchReportReason_Feeding = 2; + k_EOverwatchReportReason_Griefing = 3; + k_EOverwatchReportReason_Suspicious = 4; + k_EOverwatchReportReason_AbilityAbuse = 5; +} + +message CDOTAClientHardwareSpecs { + optional uint32 logical_processors = 1; + optional fixed64 cpu_cycles_per_second = 2; + optional fixed64 total_physical_memory = 3; + optional bool is_64_bit_os = 4; + optional uint64 upload_measurement = 5; + optional bool prefer_not_host = 6; +} + +message CDOTASaveGame { + message Player { + optional .DOTA_GC_TEAM team = 1 [default = DOTA_GC_TEAM_GOOD_GUYS]; + optional string name = 2; + optional string hero = 3; + } + + message SaveInstance { + message PlayerPositions { + optional float x = 1; + optional float y = 2; + } + + optional uint32 game_time = 2; + optional uint32 team1_score = 3; + optional uint32 team2_score = 4; + repeated .CDOTASaveGame.SaveInstance.PlayerPositions player_positions = 5; + optional uint32 save_id = 6; + optional uint32 save_time = 7; + } + + optional uint64 match_id = 5; + optional uint32 save_time = 2; + repeated .CDOTASaveGame.Player players = 3; + repeated .CDOTASaveGame.SaveInstance save_instances = 4; +} + +message CMsgDOTACombatLogEntry { + optional .DOTA_COMBATLOG_TYPES type = 1 [default = DOTA_COMBATLOG_INVALID]; + optional uint32 target_name = 2; + optional uint32 target_source_name = 3; + optional uint32 attacker_name = 4; + optional uint32 damage_source_name = 5; + optional uint32 inflictor_name = 6; + optional bool is_attacker_illusion = 7; + optional bool is_attacker_hero = 8; + optional bool is_target_illusion = 9; + optional bool is_target_hero = 10; + optional bool is_visible_radiant = 11; + optional bool is_visible_dire = 12; + optional uint32 value = 13; + optional int32 health = 14; + optional float timestamp = 15; + optional float stun_duration = 16; + optional float slow_duration = 17; + optional bool is_ability_toggle_on = 18; + optional bool is_ability_toggle_off = 19; + optional uint32 ability_level = 20; + optional float location_x = 21; + optional float location_y = 22; + optional uint32 gold_reason = 23; + optional float timestamp_raw = 24; + optional float modifier_duration = 25; + optional uint32 xp_reason = 26; + optional uint32 last_hits = 27; + optional uint32 attacker_team = 28; + optional uint32 target_team = 29; + optional uint32 obs_wards_placed = 30; + optional uint32 assist_player0 = 31; + optional uint32 assist_player1 = 32; + optional uint32 assist_player2 = 33; + optional uint32 assist_player3 = 34; + optional uint32 stack_count = 35; + optional bool hidden_modifier = 36; + optional bool is_target_building = 37; + optional uint32 neutral_camp_type = 38; + optional uint32 rune_type = 39; + repeated int32 assist_players = 40; + optional bool is_heal_save = 41; + optional bool is_ultimate_ability = 42; + optional uint32 attacker_hero_level = 43; + optional uint32 target_hero_level = 44; + optional uint32 xpm = 45; + optional uint32 gpm = 46; + optional uint32 event_location = 47; + optional bool target_is_self = 48; + optional uint32 damage_type = 49; + optional bool invisibility_modifier = 50; + optional uint32 damage_category = 51; + optional uint32 networth = 52; + optional uint32 building_type = 53; + optional float modifier_elapsed_duration = 54; + optional bool silence_modifier = 55; + optional bool heal_from_lifesteal = 56; + optional bool modifier_purged = 57; + optional bool spell_evaded = 58; + optional bool motion_controller_modifier = 59; + optional bool long_range_kill = 60; + optional uint32 modifier_purge_ability = 61; + optional uint32 modifier_purge_npc = 62; + optional bool root_modifier = 63; + optional uint32 total_unit_death_count = 64; + optional bool aura_modifier = 65; + optional bool armor_debuff_modifier = 66; + optional bool no_physical_damage_modifier = 67; + optional uint32 modifier_ability = 68; + optional bool modifier_hidden = 69; + optional bool inflictor_is_stolen_ability = 70; + optional uint32 kill_eater_event = 71; + optional uint32 unit_status_label = 72; + optional bool spell_generated_attack = 73; + optional bool at_night_time = 74; + optional bool attacker_has_scepter = 75; +} + +message CMsgPendingEventAward { + optional .EEvent event_id = 1 [default = EVENT_ID_NONE]; + optional uint32 action_id = 2; + optional uint32 num_to_grant = 3; + optional .EEventActionScoreMode score_mode = 4 [default = k_eEventActionScoreMode_Add]; + optional uint32 audit_action = 5; + optional uint32 audit_data = 6; +} diff --git a/proto/dota_usermessages.proto b/proto/dota_usermessages.proto new file mode 100644 index 0000000..6e7a82e --- /dev/null +++ b/proto/dota_usermessages.proto @@ -0,0 +1,1583 @@ +syntax = "proto2"; +option go_package="./demo"; +import "networkbasetypes.proto"; +import "dota_shared_enums.proto"; +import "dota_commonmessages.proto"; + +option optimize_for = SPEED; +option cc_generic_services = false; + +enum EDotaUserMessages { + DOTA_UM_AddUnitToSelection = 464; + DOTA_UM_AIDebugLine = 465; + DOTA_UM_ChatEvent = 466; + DOTA_UM_CombatHeroPositions = 467; + DOTA_UM_CombatLogData = 468; + DOTA_UM_CombatLogBulkData = 470; + DOTA_UM_CreateLinearProjectile = 471; + DOTA_UM_DestroyLinearProjectile = 472; + DOTA_UM_DodgeTrackingProjectiles = 473; + DOTA_UM_GlobalLightColor = 474; + DOTA_UM_GlobalLightDirection = 475; + DOTA_UM_InvalidCommand = 476; + DOTA_UM_LocationPing = 477; + DOTA_UM_MapLine = 478; + DOTA_UM_MiniKillCamInfo = 479; + DOTA_UM_MinimapDebugPoint = 480; + DOTA_UM_MinimapEvent = 481; + DOTA_UM_NevermoreRequiem = 482; + DOTA_UM_OverheadEvent = 483; + DOTA_UM_SetNextAutobuyItem = 484; + DOTA_UM_SharedCooldown = 485; + DOTA_UM_SpectatorPlayerClick = 486; + DOTA_UM_TutorialTipInfo = 487; + DOTA_UM_UnitEvent = 488; + DOTA_UM_ParticleManager = 489; + DOTA_UM_BotChat = 490; + DOTA_UM_HudError = 491; + DOTA_UM_ItemPurchased = 492; + DOTA_UM_Ping = 493; + DOTA_UM_ItemFound = 494; + DOTA_UM_CharacterSpeakConcept = 495; + DOTA_UM_SwapVerify = 496; + DOTA_UM_WorldLine = 497; + DOTA_UM_TournamentDrop = 498; + DOTA_UM_ItemAlert = 499; + DOTA_UM_HalloweenDrops = 500; + DOTA_UM_ChatWheel = 501; + DOTA_UM_ReceivedXmasGift = 502; + DOTA_UM_UpdateSharedContent = 503; + DOTA_UM_TutorialRequestExp = 504; + DOTA_UM_TutorialPingMinimap = 505; + DOTA_UM_GamerulesStateChanged = 506; + DOTA_UM_ShowSurvey = 507; + DOTA_UM_TutorialFade = 508; + DOTA_UM_AddQuestLogEntry = 509; + DOTA_UM_SendStatPopup = 510; + DOTA_UM_TutorialFinish = 511; + DOTA_UM_SendRoshanPopup = 512; + DOTA_UM_SendGenericToolTip = 513; + DOTA_UM_SendFinalGold = 514; + DOTA_UM_CustomMsg = 515; + DOTA_UM_CoachHUDPing = 516; + DOTA_UM_ClientLoadGridNav = 517; + DOTA_UM_TE_Projectile = 518; + DOTA_UM_TE_ProjectileLoc = 519; + DOTA_UM_TE_DotaBloodImpact = 520; + DOTA_UM_TE_UnitAnimation = 521; + DOTA_UM_TE_UnitAnimationEnd = 522; + DOTA_UM_AbilityPing = 523; + DOTA_UM_ShowGenericPopup = 524; + DOTA_UM_VoteStart = 525; + DOTA_UM_VoteUpdate = 526; + DOTA_UM_VoteEnd = 527; + DOTA_UM_BoosterState = 528; + DOTA_UM_WillPurchaseAlert = 529; + DOTA_UM_TutorialMinimapPosition = 530; + DOTA_UM_PlayerMMR = 531; + DOTA_UM_AbilitySteal = 532; + DOTA_UM_CourierKilledAlert = 533; + DOTA_UM_EnemyItemAlert = 534; + DOTA_UM_StatsMatchDetails = 535; + DOTA_UM_MiniTaunt = 536; + DOTA_UM_BuyBackStateAlert = 537; + DOTA_UM_SpeechBubble = 538; + DOTA_UM_CustomHeaderMessage = 539; + DOTA_UM_QuickBuyAlert = 540; + DOTA_UM_StatsHeroDetails = 541; + DOTA_UM_PredictionResult = 542; + DOTA_UM_ModifierAlert = 543; + DOTA_UM_HPManaAlert = 544; + DOTA_UM_GlyphAlert = 545; + DOTA_UM_BeastChat = 546; + DOTA_UM_SpectatorPlayerUnitOrders = 547; + DOTA_UM_CustomHudElement_Create = 548; + DOTA_UM_CustomHudElement_Modify = 549; + DOTA_UM_CustomHudElement_Destroy = 550; + DOTA_UM_CompendiumState = 551; + DOTA_UM_ProjectionAbility = 552; + DOTA_UM_ProjectionEvent = 553; + DOTA_UM_CombatLogDataHLTV = 554; + DOTA_UM_XPAlert = 555; + DOTA_UM_UpdateQuestProgress = 556; + DOTA_UM_MatchMetadata = 557; + DOTA_UM_MatchDetails = 558; + DOTA_UM_QuestStatus = 559; + DOTA_UM_SuggestHeroPick = 560; + DOTA_UM_SuggestHeroRole = 561; + DOTA_UM_KillcamDamageTaken = 562; + DOTA_UM_SelectPenaltyGold = 563; + DOTA_UM_RollDiceResult = 564; + DOTA_UM_FlipCoinResult = 565; + DOTA_UM_RequestItemSuggestions = 566; + DOTA_UM_TeamCaptainChanged = 567; + DOTA_UM_SendRoshanSpectatorPhase = 568; + DOTA_UM_ChatWheelCooldown = 569; + DOTA_UM_DismissAllStatPopups = 570; + DOTA_UM_TE_DestroyProjectile = 571; + DOTA_UM_HeroRelicProgress = 572; + DOTA_UM_AbilityDraftRequestAbility = 573; + DOTA_UM_ItemSold = 574; + DOTA_UM_DamageReport = 575; + DOTA_UM_SalutePlayer = 576; + DOTA_UM_TipAlert = 577; + DOTA_UM_ReplaceQueryUnit = 578; + DOTA_UM_EmptyTeleportAlert = 579; + DOTA_UM_MarsArenaOfBloodAttack = 580; + DOTA_UM_ESArcanaCombo = 581; + DOTA_UM_ESArcanaComboSummary = 582; + DOTA_UM_HighFiveLeftHanging = 583; + DOTA_UM_HighFiveCompleted = 584; + DOTA_UM_ShovelUnearth = 585; + DOTA_EM_InvokerSpellCast = 586; + DOTA_UM_RadarAlert = 587; + DOTA_UM_AllStarEvent = 588; + DOTA_UM_TalentTreeAlert = 589; + DOTA_UM_QueuedOrderRemoved = 590; + DOTA_UM_DebugChallenge = 591; + DOTA_UM_OMArcanaCombo = 592; + DOTA_UM_FoundNeutralItem = 593; + DOTA_UM_OutpostCaptured = 594; + DOTA_UM_OutpostGrantedXP = 595; + DOTA_UM_MoveCameraToUnit = 596; + DOTA_UM_PauseMinigameData = 597; + DOTA_UM_VersusScene_PlayerBehavior = 598; + DOTA_UM_QoP_ArcanaSummary = 600; + DOTA_UM_HotPotato_Created = 601; + DOTA_UM_HotPotato_Exploded = 602; + DOTA_UM_WK_Arcana_Progress = 603; + DOTA_UM_GuildChallenge_Progress = 604; + DOTA_UM_WRArcanaProgress = 605; + DOTA_UM_WRArcanaSummary = 606; + DOTA_UM_EmptyItemSlotAlert = 607; + DOTA_UM_AghsStatusAlert = 608; + DOTA_UM_PingConfirmation = 609; + DOTA_UM_MutedPlayers = 610; + DOTA_UM_ContextualTip = 611; + DOTA_UM_ChatMessage = 612; +} + +enum DOTA_CHAT_MESSAGE { + CHAT_MESSAGE_INVALID = -1; + CHAT_MESSAGE_HERO_KILL = 0; + CHAT_MESSAGE_HERO_DENY = 1; + CHAT_MESSAGE_BARRACKS_KILL = 2; + CHAT_MESSAGE_TOWER_KILL = 3; + CHAT_MESSAGE_TOWER_DENY = 4; + CHAT_MESSAGE_FIRSTBLOOD = 5; + CHAT_MESSAGE_STREAK_KILL = 6; + CHAT_MESSAGE_BUYBACK = 7; + CHAT_MESSAGE_AEGIS = 8; + CHAT_MESSAGE_ROSHAN_KILL = 9; + CHAT_MESSAGE_COURIER_LOST = 10; + CHAT_MESSAGE_COURIER_RESPAWNED = 11; + CHAT_MESSAGE_GLYPH_USED = 12; + CHAT_MESSAGE_ITEM_PURCHASE = 13; + CHAT_MESSAGE_CONNECT = 14; + CHAT_MESSAGE_DISCONNECT = 15; + CHAT_MESSAGE_DISCONNECT_WAIT_FOR_RECONNECT = 16; + CHAT_MESSAGE_DISCONNECT_TIME_REMAINING = 17; + CHAT_MESSAGE_DISCONNECT_TIME_REMAINING_PLURAL = 18; + CHAT_MESSAGE_RECONNECT = 19; + CHAT_MESSAGE_PLAYER_LEFT = 20; + CHAT_MESSAGE_SAFE_TO_LEAVE = 21; + CHAT_MESSAGE_RUNE_PICKUP = 22; + CHAT_MESSAGE_RUNE_BOTTLE = 23; + CHAT_MESSAGE_RUNE_DENY = 114; + CHAT_MESSAGE_INTHEBAG = 24; + CHAT_MESSAGE_SECRETSHOP = 25; + CHAT_MESSAGE_ITEM_AUTOPURCHASED = 26; + CHAT_MESSAGE_ITEMS_COMBINED = 27; + CHAT_MESSAGE_SUPER_CREEPS = 28; + CHAT_MESSAGE_CANT_USE_ACTION_ITEM = 29; + CHAT_MESSAGE_CANTPAUSE = 31; + CHAT_MESSAGE_NOPAUSESLEFT = 32; + CHAT_MESSAGE_CANTPAUSEYET = 33; + CHAT_MESSAGE_PAUSED = 34; + CHAT_MESSAGE_UNPAUSE_COUNTDOWN = 35; + CHAT_MESSAGE_UNPAUSED = 36; + CHAT_MESSAGE_AUTO_UNPAUSED = 37; + CHAT_MESSAGE_YOUPAUSED = 38; + CHAT_MESSAGE_CANTUNPAUSETEAM = 39; + CHAT_MESSAGE_VOICE_TEXT_BANNED = 41; + CHAT_MESSAGE_SPECTATORS_WATCHING_THIS_GAME = 42; + CHAT_MESSAGE_REPORT_REMINDER = 43; + CHAT_MESSAGE_ECON_ITEM = 44; + CHAT_MESSAGE_TAUNT = 45; + CHAT_MESSAGE_RANDOM = 46; + CHAT_MESSAGE_RD_TURN = 47; + CHAT_MESSAGE_DROP_RATE_BONUS = 49; + CHAT_MESSAGE_NO_BATTLE_POINTS = 50; + CHAT_MESSAGE_DENIED_AEGIS = 51; + CHAT_MESSAGE_INFORMATIONAL = 52; + CHAT_MESSAGE_AEGIS_STOLEN = 53; + CHAT_MESSAGE_ROSHAN_CANDY = 54; + CHAT_MESSAGE_ITEM_GIFTED = 55; + CHAT_MESSAGE_HERO_KILL_WITH_GREEVIL = 56; + CHAT_MESSAGE_HOLDOUT_TOWER_DESTROYED = 57; + CHAT_MESSAGE_HOLDOUT_WALL_DESTROYED = 58; + CHAT_MESSAGE_HOLDOUT_WALL_FINISHED = 59; + CHAT_MESSAGE_PLAYER_LEFT_LIMITED_HERO = 62; + CHAT_MESSAGE_ABANDON_LIMITED_HERO_EXPLANATION = 63; + CHAT_MESSAGE_DISCONNECT_LIMITED_HERO = 64; + CHAT_MESSAGE_LOW_PRIORITY_COMPLETED_EXPLANATION = 65; + CHAT_MESSAGE_RECRUITMENT_DROP_RATE_BONUS = 66; + CHAT_MESSAGE_FROSTIVUS_SHINING_BOOSTER_ACTIVE = 67; + CHAT_MESSAGE_PLAYER_LEFT_AFK = 73; + CHAT_MESSAGE_PLAYER_LEFT_DISCONNECTED_TOO_LONG = 74; + CHAT_MESSAGE_PLAYER_ABANDONED = 75; + CHAT_MESSAGE_PLAYER_ABANDONED_AFK = 76; + CHAT_MESSAGE_PLAYER_ABANDONED_DISCONNECTED_TOO_LONG = 77; + CHAT_MESSAGE_WILL_NOT_BE_SCORED = 78; + CHAT_MESSAGE_WILL_NOT_BE_SCORED_RANKED = 79; + CHAT_MESSAGE_WILL_NOT_BE_SCORED_NETWORK = 80; + CHAT_MESSAGE_WILL_NOT_BE_SCORED_NETWORK_RANKED = 81; + CHAT_MESSAGE_CAN_QUIT_WITHOUT_ABANDON = 82; + CHAT_MESSAGE_RANKED_GAME_STILL_SCORED_LEAVERS_GET_LOSS = 83; + CHAT_MESSAGE_ABANDON_RANKED_BEFORE_FIRST_BLOOD_PARTY = 84; + CHAT_MESSAGE_COMPENDIUM_LEVEL = 85; + CHAT_MESSAGE_VICTORY_PREDICTION_STREAK = 86; + CHAT_MESSAGE_ASSASSIN_ANNOUNCE = 87; + CHAT_MESSAGE_ASSASSIN_SUCCESS = 88; + CHAT_MESSAGE_ASSASSIN_DENIED = 89; + CHAT_MESSAGE_VICTORY_PREDICTION_SINGLE_USER_CONFIRM = 90; + CHAT_MESSAGE_EFFIGY_KILL = 91; + CHAT_MESSAGE_VOICE_TEXT_BANNED_OVERFLOW = 92; + CHAT_MESSAGE_YEAR_BEAST_KILLED = 93; + CHAT_MESSAGE_PAUSE_COUNTDOWN = 94; + CHAT_MESSAGE_COINS_WAGERED = 95; + CHAT_MESSAGE_HERO_NOMINATED_BAN = 96; + CHAT_MESSAGE_HERO_BANNED = 97; + CHAT_MESSAGE_HERO_BAN_COUNT = 98; + CHAT_MESSAGE_RIVER_PAINTED = 99; + CHAT_MESSAGE_SCAN_USED = 100; + CHAT_MESSAGE_SHRINE_KILLED = 101; + CHAT_MESSAGE_WAGER_TOKEN_SPENT = 102; + CHAT_MESSAGE_RANK_WAGER = 103; + CHAT_MESSAGE_NEW_PLAYER_REMINDER = 104; + CHAT_MESSAGE_OBSERVER_WARD_KILLED = 105; + CHAT_MESSAGE_SENTRY_WARD_KILLED = 106; + CHAT_MESSAGE_ITEM_PLACED_IN_NEUTRAL_STASH = 107; + CHAT_MESSAGE_HERO_CHOICE_INVALID = 108; + CHAT_MESSAGE_BOUNTY = 109; + CHAT_MESSAGE_ABILITY_DRAFT_START = 110; + CHAT_MESSAGE_HERO_FOUND_CANDY = 111; + CHAT_MESSAGE_ABILITY_DRAFT_RANDOMED = 112; + CHAT_MESSAGE_PRIVATE_COACH_CONNECTED = 113; + CHAT_MESSAGE_CANT_PAUSE_TOO_EARLY = 115; +} + +enum DOTA_NO_BATTLE_POINTS_REASONS { + NO_BATTLE_POINTS_WRONG_LOBBY_TYPE = 1; + NO_BATTLE_POINTS_PRACTICE_BOTS = 2; + NO_BATTLE_POINTS_CHEATS_ENABLED = 3; + NO_BATTLE_POINTS_LOW_PRIORITY = 4; +} + +enum DOTA_CHAT_INFORMATIONAL { + INFO_COOP_BATTLE_POINTS_RULES = 1; + INFO_FROSTIVUS_ABANDON_REMINDER = 2; + INFO_RANKED_REMINDER = 3; + INFO_COOP_LOW_PRIORITY_PASSIVE_REMINDER = 4; + INFO_CUSTOM_GAME_PENALTY_REMINDER = 5; +} + +enum DOTA_ABILITY_PING_TYPE { + ABILITY_PING_READY = 1; + ABILITY_PING_MANA = 2; + ABILITY_PING_COOLDOWN = 3; + ABILITY_PING_ENEMY = 4; + ABILITY_PING_UNLEARNED = 5; + ABILITY_PING_INBACKPACK = 6; + ABILITY_PING_INSTASH = 7; + ABILITY_PING_ONCOURIER = 8; + ABILITY_PING_ALLY = 9; + ABILITY_PING_LEARN_READY = 10; + ABILITY_PING_WILL_LEARN = 11; + ABILITY_PING_FUTURE_LEARN = 12; + ABILITY_PING_NEUTRAL_OFFER = 13; + ABILITY_PING_NEUTRAL_REQUEST = 14; + ABILITY_PING_NEUTRAL_EQUIP = 15; +} + +enum DOTA_REPLAY_STATE_EVENT { + DOTA_REPLAY_STATE_EVENT_GAME_START = 1; + DOTA_REPLAY_STATE_EVENT_STARTING_HORN = 2; + DOTA_REPLAY_STATE_EVENT_FIRST_BLOOD = 3; + DOTA_REPLAY_STATE_EVENT_SHOWCASE = 4; + DOTA_REPLAY_STATE_EVENT_POST_GAME = 5; + DOTA_REPLAY_STATE_EVENT_WAIT_FOR_MAP = 6; +} + +enum EDotaEntityMessages { + DOTA_UNIT_SPEECH = 0; + DOTA_UNIT_SPEECH_MUTE = 1; + DOTA_UNIT_ADD_GESTURE = 2; + DOTA_UNIT_REMOVE_GESTURE = 3; + DOTA_UNIT_REMOVE_ALL_GESTURES = 4; + DOTA_UNIT_FADE_GESTURE = 6; + DOTA_UNIT_SPEECH_CLIENTSIDE_RULES = 7; +} + +enum DOTA_OVERHEAD_ALERT { + OVERHEAD_ALERT_GOLD = 0; + OVERHEAD_ALERT_DENY = 1; + OVERHEAD_ALERT_CRITICAL = 2; + OVERHEAD_ALERT_XP = 3; + OVERHEAD_ALERT_BONUS_SPELL_DAMAGE = 4; + OVERHEAD_ALERT_MISS = 5; + OVERHEAD_ALERT_DAMAGE = 6; + OVERHEAD_ALERT_EVADE = 7; + OVERHEAD_ALERT_BLOCK = 8; + OVERHEAD_ALERT_BONUS_POISON_DAMAGE = 9; + OVERHEAD_ALERT_HEAL = 10; + OVERHEAD_ALERT_MANA_ADD = 11; + OVERHEAD_ALERT_MANA_LOSS = 12; + OVERHEAD_ALERT_LAST_HIT_EARLY = 13; + OVERHEAD_ALERT_LAST_HIT_CLOSE = 14; + OVERHEAD_ALERT_LAST_HIT_MISS = 15; + OVERHEAD_ALERT_MAGICAL_BLOCK = 16; + OVERHEAD_ALERT_INCOMING_DAMAGE = 17; + OVERHEAD_ALERT_OUTGOING_DAMAGE = 18; + OVERHEAD_ALERT_DISABLE_RESIST = 19; + OVERHEAD_ALERT_DEATH = 20; + OVERHEAD_ALERT_BLOCKED = 21; + OVERHEAD_ALERT_ITEM_RECEIVED = 22; + OVERHEAD_ALERT_SHARD = 23; + OVERHEAD_ALERT_DEADLY_BLOW = 24; +} + +enum DOTA_ROSHAN_PHASE { + k_SRSP_ROSHAN_ALIVE = 0; + k_SRSP_ROSHAN_BASE_TIMER = 1; + k_SRSP_ROSHAN_VISIBLE_TIMER = 2; +} + +enum DOTA_POSITION_CATEGORY { + DOTA_POSITION_NONE = 0; + DOTA_POSITION_BOTTOM_LANE = 1; + DOTA_POSITION_MID_LANE = 2; + DOTA_POSITION_TOP_LANE = 3; + DOTA_POSITION_RADIANT_JUNGLE = 4; + DOTA_POSITION_DIRE_JUNGLE = 5; + DOTA_POSITION_RADIANT_ANCIENTS = 6; + DOTA_POSITION_DIRE_ANCIENTS = 7; + DOTA_POSITION_RADIANT_SECRET_SHOP = 8; + DOTA_POSITION_DIRE_SECRET_SHOP = 9; + DOTA_POSITION_RIVER = 10; + DOTA_POSITION_ROSHAN_PIT = 11; + DOTA_POSITION_RADIANT_BASE = 12; + DOTA_POSITION_DIRE_BASE = 13; + DOTA_POSITION_FOUNTAIN = 14; + DOTA_POSITION_OTHER = 15; +} + +enum DOTA_ABILITY_TARGET_TYPE { + DOTA_ABILITY_TARGET_NONE = 0; + DOTA_ABILITY_TARGET_SELF = 1; + DOTA_ABILITY_TARGET_ALLY_HERO = 2; + DOTA_ABILITY_TARGET_ALLY_CREEP = 3; + DOTA_ABILITY_TARGET_ENEMY_HERO = 4; + DOTA_ABILITY_TARGET_ENEMY_CREEP = 5; +} + +enum EHeroStatType { + k_EHeroStatType_None = 0; + k_EHeroStatType_AxeTotalDamage = 2000; + k_EHeroStatType_BattleHungerDamage = 2001; + k_EHeroStatType_CounterHelixDamage = 2002; + k_EHeroStatType_CullingBladeDamage = 2003; + k_EHeroStatType_BerserkersCallCastCount = 2004; + k_EHeroStatType_BerserkersCallHeroesHitAverage = 2005; + k_EHeroStatType_BerserkersCallOtherUnitsHit = 2006; + k_EHeroStatType_BerserkersCallHeroAttacksTaken = 2007; + k_EHeroStatType_BerserkersCallOtherAttacksTaken = 2008; + k_EHeroStatType_BattleHungerCastCount = 2009; + k_EHeroStatType_BattleHungerPotentialDuration = 2010; + k_EHeroStatType_BattleHungerAverageDuration = 2011; + k_EHeroStatType_CounterHelixProcCount = 2012; + k_EHeroStatType_CounterHelixHeroProcCount = 2013; + k_EHeroStatType_CounterHelixHeroesHitAverage = 2014; + k_EHeroStatType_CounterHelixOtherUnitsHitCount = 2015; + k_EHeroStatType_CullingBladeCastCount = 2016; + k_EHeroStatType_CullingBladeKillCount = 2017; + k_EHeroStatType_CullingBladeAverageHealthCulled = 2018; + k_EHeroStatType_CullingBladeAverageDamageAvailable = 2019; + k_EHeroStatType_CullingBladeHeroBuffAverage = 2020; +} + +enum EPlayerVoiceListenState { + kPVLS_None = 0; + kPVLS_DeniedChatBanned = 1; + kPVLS_DeniedPartner = 2; + kPVLS_DeniedHLTVTalkerNotSpectator = 3; + kPVLS_DeniedHLTVNoTalkerPlayerID = 4; + kPVLS_DeniedHLTVTalkerNotBroadcaster = 5; + kPVLS_DeniedTeamSpectator = 6; + kPVLS_DeniedStudent = 8; + kPVLS_DeniedPrivateCoach = 9; + kPVLS_Denied = 64; + kPVLS_AllowHLTVTalkerIsBroadcaster = 65; + kPVLS_AllowCoBroadcaster = 66; + kPVLS_AllowAllChat = 67; + kPVLS_AllowStudentToCoach = 68; + kPVLS_AllowFellowStudent = 69; + kPVLS_AllowTalkerIsCoach = 70; + kPVLS_AllowCoachHearTeam = 71; + kPVLS_AllowSameTeam = 72; + kPVLS_AllowShowcase = 73; + kPVLS_AllowPrivateCoach = 74; +} + +enum EProjectionEvent { + ePE_FirstBlood = 0; + ePE_Killstreak_godlike = 1; +} + +message CDOTAUserMsg_AIDebugLine { + optional string message = 1; +} + +message CDOTAUserMsg_Ping { + optional uint32 ping = 2; + optional uint32 loss = 3; +} + +message CDOTAUserMsg_SwapVerify { + optional int32 player_id = 1; +} + +message CDOTAUserMsg_ChatEvent { + required .DOTA_CHAT_MESSAGE type = 1 [default = CHAT_MESSAGE_INVALID]; + optional uint32 value = 2; + optional sint32 playerid_1 = 3 [default = -1]; + optional sint32 playerid_2 = 4 [default = -1]; + optional sint32 playerid_3 = 5 [default = -1]; + optional sint32 playerid_4 = 6 [default = -1]; + optional sint32 playerid_5 = 7 [default = -1]; + optional sint32 playerid_6 = 8 [default = -1]; + optional uint32 value2 = 9; + optional uint32 value3 = 10; +} + +message CDOTAUserMsg_BotChat { + optional int32 player_id = 1; + optional string message = 3; + optional string target = 4; + optional bool team_only = 5; +} + +message CDOTAUserMsg_CombatHeroPositions { + optional uint32 index = 1; + optional int32 time = 2; + optional .CMsgVector2D world_pos = 3; + optional int32 health = 4; +} + +message CDOTAUserMsg_CombatLogBulkData { + repeated .CMsgDOTACombatLogEntry combat_entries = 1; + optional float timestamp = 2; + optional float duration = 3; + optional int32 player_id = 4; +} + +message CDOTAUserMsg_ProjectileParticleCPData { + optional int32 control_point = 1; + optional .CMsgVector vector = 2; +} + +message CDOTAUserMsg_MiniKillCamInfo { + message Attacker { + message Ability { + optional uint32 ability_id = 1; + optional int32 damage = 2; + } + + optional uint32 attacker = 1; + optional int32 total_damage = 2; + repeated .CDOTAUserMsg_MiniKillCamInfo.Attacker.Ability abilities = 3; + optional string attacker_name = 4; + } + + repeated .CDOTAUserMsg_MiniKillCamInfo.Attacker attackers = 1; +} + +message CDOTAUserMsg_GlobalLightColor { + optional uint32 color = 1; + optional float duration = 2; +} + +message CDOTAUserMsg_GlobalLightDirection { + optional .CMsgVector direction = 1; + optional float duration = 2; +} + +message CDOTAUserMsg_LocationPing { + optional int32 player_id = 1; + optional .CDOTAMsg_LocationPing location_ping = 2; +} + +message CDOTAUserMsg_PingConfirmation { + optional int32 player_id_of_original_pinger = 1; + optional uint32 entity_index = 2; + optional uint32 icon_type = 3; + optional .CMsgVector location = 4; +} + +message CDOTAUserMsg_ItemAlert { + optional int32 player_id = 1; + optional .CDOTAMsg_ItemAlert item_alert = 2; +} + +message CDOTAUserMsg_EnemyItemAlert { + optional int32 player_id = 1; + optional int32 target_player_id = 2; + optional int32 item_ability_id = 3; + optional int32 rune_type = 4 [default = -1]; + optional int32 entity_id = 5; + optional int32 item_level = 6 [default = -1]; + optional int32 primary_charges = 7 [default = -1]; + optional int32 secondary_charges = 8 [default = -1]; +} + +message CDOTAUserMsg_ModifierAlert { + optional int32 player_id = 1; + optional string class_name = 2; + optional uint32 stack_count = 3; + optional bool is_debuff = 4; + optional int32 target_entindex = 5; + optional float seconds_remaining = 6; +} + +message CDOTAUserMsg_HPManaAlert { + optional int32 player_id = 1; + optional int32 target_entindex = 2; + optional bool show_raw_values = 3; +} + +message CDOTAUserMsg_GlyphAlert { + optional int32 player_id = 1; + optional bool negative = 2; +} + +message CDOTAUserMsg_RadarAlert { + optional int32 player_id = 1; + optional bool negative = 2; +} + +message CDOTAUserMsg_WillPurchaseAlert { + optional int32 item_ability_id = 1; + optional int32 player_id = 2; + optional uint32 gold_remaining = 3; + optional int32 suggestion_player_id = 4; +} + +message CDOTAUserMsg_EmptyTeleportAlert { + optional int32 source_player_id = 1; + optional int32 target_player_id = 2; + optional int32 cooldown_seconds = 3; +} + +message CDOTAUserMsg_MarsArenaOfBloodAttack { + optional uint32 source_ehandle = 1; + optional uint32 target_ehandle = 2; + optional int32 warrior_index = 3; +} + +message CDOTAEntityMsg_InvokerSpellCast { + optional .CEntityMsg entity_msg = 1; + optional int32 cast_activity = 2; +} + +message CDOTAUserMsg_BuyBackStateAlert { + optional int32 player_id = 1; +} + +message CDOTAUserMsg_QuickBuyAlert { + optional int32 player_id = 1; + optional int32 item_ability_id = 2; + optional int32 gold_cost = 3; + optional int32 item_cooldown_seconds = 4; + optional bool show_buyback = 5; +} + +message CDOTAUserMsg_CourierKilledAlert { + message LostItem { + optional int32 item_ability_id = 1; + optional uint32 quantity = 2; + } + + optional uint32 team = 1; + optional uint32 gold_value = 2; + optional uint32 entity_handle = 3; + optional int32 timestamp = 4; + repeated .CDOTAUserMsg_CourierKilledAlert.LostItem lost_items = 5; + optional int32 killer_player_id = 6; + optional int32 owning_player_id = 7; +} + +message CDOTAUserMsg_MinimapEvent { + optional int32 event_type = 1; + optional uint32 entity_handle = 2; + optional int32 x = 3; + optional int32 y = 4; + optional int32 duration = 5; + optional uint32 target_entity_handle = 6; +} + +message CDOTAUserMsg_MapLine { + optional int32 player_id = 1; + optional .CDOTAMsg_MapLine mapline = 2; +} + +message CDOTAUserMsg_MinimapDebugPoint { + optional .CMsgVector location = 1; + optional uint32 color = 2; + optional int32 size = 3; + optional float duration = 4; + optional int32 index = 5; +} + +message CDOTAUserMsg_CreateLinearProjectile { + optional .CMsgVector origin = 1; + optional .CMsgVector2D velocity = 2; + optional int32 entindex = 4; + optional uint64 particle_index = 5; + optional int32 handle = 6; + optional .CMsgVector2D acceleration = 7; + optional float max_speed = 8; + optional float fow_radius = 9; + optional bool sticky_fow_reveal = 10; + optional float distance = 11; + optional fixed32 colorgemcolor = 12; + repeated .CDOTAUserMsg_ProjectileParticleCPData particle_cp_data = 13; +} + +message CDOTAUserMsg_DestroyLinearProjectile { + optional int32 handle = 1; +} + +message CDOTAUserMsg_DodgeTrackingProjectiles { + required int32 entindex = 1; + optional bool attacks_only = 2; +} + +message CDOTAUserMsg_SpectatorPlayerClick { + required int32 entindex = 1; + optional int32 order_type = 2; + optional int32 target_index = 3; +} + +message CDOTAUserMsg_SpectatorPlayerUnitOrders { + optional int32 entindex = 1; + optional int32 order_type = 2; + repeated int32 units = 3; + optional int32 target_index = 4; + optional int32 ability_id = 5; + optional .CMsgVector position = 6; + optional bool queue = 7; + optional int32 sequence_number = 8; + optional uint32 flags = 9; +} + +message CDOTAUserMsg_NevermoreRequiem { + optional uint32 entity_handle = 1; + optional int32 lines = 2; + optional .CMsgVector origin = 3; + optional bool reverse = 4; +} + +message CDOTAUserMsg_InvalidCommand { + optional string message = 1; + optional int32 sequence_number = 2; +} + +message CDOTAUserMsg_HudError { + optional int32 order_id = 1; + optional int32 sequence_number = 2; +} + +message CDOTAUserMsg_SharedCooldown { + optional int32 entindex = 1; + optional string name = 2; + optional float cooldown = 3; + optional int32 name_index = 4; +} + +message CDOTAUserMsg_SetNextAutobuyItem { + optional string name = 1; +} + +message CDOTAUserMsg_HalloweenDrops { + repeated uint32 item_defs = 1; + repeated int32 player_ids = 2; + optional uint32 prize_list = 3; +} + +message CDOTAUserMsg_PredictionResult { + message Prediction { + enum EResult { + k_eResult_ItemGranted = 1; + k_eResult_Destroyed = 2; + } + + optional uint32 item_def = 1; + optional uint32 num_correct = 2; + optional uint32 num_fails = 3; + optional .CDOTAUserMsg_PredictionResult.Prediction.EResult result = 4 [default = k_eResult_ItemGranted]; + repeated uint32 granted_item_defs = 6; + } + + optional uint32 account_id = 1; + optional uint64 match_id = 2; + optional bool correct = 3; + repeated .CDOTAUserMsg_PredictionResult.Prediction predictions = 4; +} + +message CDOTAResponseQuerySerialized { + message Fact { + enum ValueType { + NUMERIC = 1; + STRING = 2; + STRINGTABLE_INDEX = 3; + INT_NUMERIC = 4; + } + + required int32 key = 1; + required .CDOTAResponseQuerySerialized.Fact.ValueType valtype = 2 [default = NUMERIC]; + optional float val_numeric = 3; + optional string val_string = 4; + optional int32 val_stringtable_index = 5; + optional sint32 val_int_numeric = 6; + } + + repeated .CDOTAResponseQuerySerialized.Fact facts = 1; +} + +message CDOTASpeechMatchOnClient { + optional int32 speech_concept = 1; + optional int32 recipient_type = 2; + optional .CDOTAResponseQuerySerialized responsequery = 3; + optional sfixed32 randomseed = 4 [default = 0]; +} + +message CDOTAUserMsg_UnitEvent { + message Interval { + optional float start = 1; + optional float range = 2; + } + + message Speech { + optional int32 speech_concept = 1; + optional string response = 2; + optional int32 recipient_type = 3; + optional int32 level = 4; + optional bool muteable = 5 [default = false]; + optional .CDOTAUserMsg_UnitEvent.Interval predelay = 6; + optional uint32 flags = 7; + } + + message SpeechMute { + optional float delay = 1 [default = 0.5]; + } + + message AddGesture { + optional int32 activity = 1; + optional int32 slot = 2; + optional float fade_in = 3 [default = 0]; + optional float fade_out = 4 [default = 0.1]; + optional float playback_rate = 5 [default = 1]; + optional int32 sequence_variant = 6; + } + + message RemoveGesture { + optional int32 activity = 1; + } + + message BloodImpact { + optional int32 scale = 1; + optional int32 x_normal = 2; + optional int32 y_normal = 3; + } + + message FadeGesture { + optional int32 activity = 1; + } + + required .EDotaEntityMessages msg_type = 1 [default = DOTA_UNIT_SPEECH]; + required int32 entity_index = 2; + optional .CDOTAUserMsg_UnitEvent.Speech speech = 3; + optional .CDOTAUserMsg_UnitEvent.SpeechMute speech_mute = 4; + optional .CDOTAUserMsg_UnitEvent.AddGesture add_gesture = 5; + optional .CDOTAUserMsg_UnitEvent.RemoveGesture remove_gesture = 6; + optional .CDOTAUserMsg_UnitEvent.BloodImpact blood_impact = 7; + optional .CDOTAUserMsg_UnitEvent.FadeGesture fade_gesture = 8; + optional .CDOTASpeechMatchOnClient speech_match_on_client = 9; +} + +message CDOTAUserMsg_ItemPurchased { + optional int32 item_ability_id = 1; +} + +message CDOTAUserMsg_ItemSold { + optional int32 item_ability_id = 1; +} + +message CDOTAUserMsg_ItemFound { + optional int32 player = 1; + optional int32 quality = 2; + optional int32 rarity = 3; + optional int32 method = 4; + optional uint32 itemdef = 5; +} + +message CDOTAUserMsg_OverheadEvent { + required .DOTA_OVERHEAD_ALERT message_type = 1 [default = OVERHEAD_ALERT_GOLD]; + optional int32 value = 2; + optional int32 target_player_entindex = 3; + optional int32 target_entindex = 4; + optional int32 source_player_entindex = 5; +} + +message CDOTAUserMsg_TutorialTipInfo { + optional string name = 1; + optional int32 progress = 2; +} + +message CDOTAUserMsg_TutorialFinish { + optional string heading = 1; + optional string emblem = 2; + optional string body = 3; + optional bool success = 4; +} + +message CDOTAUserMsg_TutorialMinimapPosition { +} + +message CDOTAUserMsg_SendGenericToolTip { + optional string title = 1; + optional string text = 2; + optional int32 entindex = 3; + optional bool close = 4; +} + +message CDOTAUserMsg_WorldLine { + optional int32 player_id = 1; + optional .CDOTAMsg_WorldLine worldline = 2; +} + +message CDOTAUserMsg_ChatWheel { + optional uint32 chat_message_id = 1; + optional int32 player_id = 2; + optional uint32 account_id = 3; + optional uint32 param_hero_id = 4; + optional uint32 emoticon_id = 5; +} + +message CDOTAUserMsg_ReceivedXmasGift { + optional int32 player_id = 1; + optional string item_name = 2; + optional int32 inventory_slot = 3; +} + +message CDOTAUserMsg_ShowSurvey { + optional int32 survey_id = 1; + optional uint64 match_id = 2; + optional string response_style = 3; + optional uint32 teammate_hero_id = 4; + optional string teammate_name = 5; + optional uint32 teammate_account_id = 6; +} + +message CDOTAUserMsg_UpdateSharedContent { + optional int32 slot_type = 1; +} + +message CDOTAUserMsg_TutorialRequestExp { +} + +message CDOTAUserMsg_TutorialFade { + optional int32 tgt_alpha = 1; +} + +message CDOTAUserMsg_TutorialPingMinimap { + optional int32 player_id = 1; + optional float pos_x = 2; + optional float pos_y = 3; + optional float pos_z = 4; + optional int32 entity_index = 5; +} + +message CDOTAUserMsg_GamerulesStateChanged { + optional uint32 state = 1; +} + +message CDOTAUserMsg_AddQuestLogEntry { + optional string npc_name = 1; + optional string npc_dialog = 2; +} + +message CDOTAUserMsg_SendStatPopup { + optional int32 player_id = 1; + optional .CDOTAMsg_SendStatPopup statpopup = 2; +} + +message CDOTAUserMsg_DismissAllStatPopups { + optional .CDOTAMsg_DismissAllStatPopups dismissallmsg = 1; +} + +message CDOTAUserMsg_SendRoshanSpectatorPhase { + optional .DOTA_ROSHAN_PHASE phase = 1 [default = k_SRSP_ROSHAN_ALIVE]; + optional int32 phase_start_time = 2; + optional int32 phase_length = 3; +} + +message CDOTAUserMsg_SendRoshanPopup { + optional bool reclaimed = 1; + optional int32 gametime = 2; +} + +message CDOTAUserMsg_SendFinalGold { + repeated uint32 reliable_gold = 1; + repeated uint32 unreliable_gold = 2; +} + +message CDOTAUserMsg_CustomMsg { + optional string message = 1; + optional int32 player_id = 2; + optional int32 value = 3; +} + +message CDOTAUserMsg_CoachHUDPing { + optional int32 player_id = 1; + optional .CDOTAMsg_CoachHUDPing hud_ping = 2; +} + +message CDOTAUserMsg_ClientLoadGridNav { +} + +message CDOTAUserMsg_TE_Projectile { + optional uint32 source = 1; + optional uint32 target = 2; + optional int32 move_speed = 3; + optional int32 source_attachment = 4; + optional int64 particle_system_handle = 5; + optional bool dodgeable = 6; + optional bool is_attack = 7; + optional float expire_time = 9; + optional float maximpacttime = 10; + optional fixed32 colorgemcolor = 11; + optional int32 launch_tick = 12; + optional int32 handle = 13; + optional .CMsgVector target_loc = 14; + repeated .CDOTAUserMsg_ProjectileParticleCPData particle_cp_data = 15; +} + +message CDOTAUserMsg_TE_ProjectileLoc { + optional .CMsgVector source_loc = 1; + optional uint32 target = 2; + optional int32 move_speed = 3; + optional int64 particle_system_handle = 4; + optional bool dodgeable = 5; + optional bool is_attack = 6; + optional float expire_time = 9; + optional .CMsgVector target_loc = 10; + optional fixed32 colorgemcolor = 11; + optional int32 launch_tick = 12; + optional int32 handle = 13; + optional uint32 source = 14; + optional int32 source_attachment = 15; + repeated .CDOTAUserMsg_ProjectileParticleCPData particle_cp_data = 16; +} + +message CDOTAUserMsg_TE_DestroyProjectile { + optional int32 handle = 1; +} + +message CDOTAUserMsg_TE_DotaBloodImpact { + optional uint32 entity = 1; + optional float scale = 2; + optional float xnormal = 3; + optional float ynormal = 4; +} + +message CDOTAUserMsg_AbilityPing { + optional int32 player_id = 1; + optional uint32 ability_id = 2; + optional .DOTA_ABILITY_PING_TYPE type = 3 [default = ABILITY_PING_READY]; + optional uint32 cooldown_seconds = 4; + optional uint32 level = 5; + optional bool passive = 6; + optional uint32 mana_needed = 7; + optional uint32 entity_id = 8; + optional int32 primary_charges = 9; + optional int32 secondary_charges = 10; + optional bool ctrl_held = 12; + optional float reclaim_time = 13; +} + +message CDOTAUserMsg_TE_UnitAnimation { + optional uint32 entity = 1; + optional int32 sequence_variant = 2; + optional float playbackrate = 3; + optional float castpoint = 4; + optional int32 type = 5; + optional int32 activity = 6; + optional float lag_compensation_time = 7; +} + +message CDOTAUserMsg_TE_UnitAnimationEnd { + optional uint32 entity = 1; + optional bool snap = 2; +} + +message CDOTAUserMsg_ShowGenericPopup { + required string header = 1; + required string body = 2; + optional string param1 = 3; + optional string param2 = 4; + optional bool tint_screen = 5; + optional bool show_no_other_dialogs = 6; +} + +message CDOTAUserMsg_VoteStart { + optional string title = 1; + optional float duration = 2; + optional int32 choice_count = 3; + repeated string choices = 4; +} + +message CDOTAUserMsg_VoteUpdate { + repeated int32 choice_counts = 1; +} + +message CDOTAUserMsg_VoteEnd { + optional int32 selected_choice = 1; +} + +message CDOTAUserMsg_BoosterStatePlayer { + optional int32 player_id = 1; + optional float bonus = 2; + optional float event_bonus = 3; + optional uint32 bonus_item_id = 4; + optional uint32 event_bonus_item_id = 5; +} + +message CDOTAUserMsg_BoosterState { + repeated .CDOTAUserMsg_BoosterStatePlayer boosted_players = 1; +} + +message CDOTAUserMsg_PlayerMMR { + repeated sint32 mmr = 1 [packed = true]; +} + +message CDOTAUserMsg_AbilitySteal { + optional int32 player_id = 1; + optional uint32 ability_id = 2; + optional uint32 ability_level = 3; +} + +message CDOTAUserMsg_StatsHeroLookup { + optional int32 player_id = 1; + optional int32 hero_id = 2; + optional string hero_name = 3; + optional string persona = 4; +} + +message CDOTAUserMsg_StatsHeroPositionInfo { + message PositionPair { + optional .DOTA_POSITION_CATEGORY position_category = 1 [default = DOTA_POSITION_NONE]; + optional uint32 position_count = 2; + } + + optional float average_position = 1; + repeated .CDOTAUserMsg_StatsHeroPositionInfo.PositionPair position_details = 2; +} + +message CDOTAUserMsg_StatsHeroMinuteDetails { + optional uint32 last_hits = 1; + optional uint32 hero_kills = 2; + optional uint32 hero_damage = 3; + optional uint32 tower_damage = 4; + optional .CDOTAUserMsg_StatsHeroPositionInfo position_info = 5; + optional uint32 total_xp = 6; + optional uint32 net_worth = 7; + optional uint32 harvested_creep_gold = 8; + optional uint32 claimed_farm = 9; + optional uint32 wards_placed = 10; + optional uint32 runes_collected = 11; + optional uint32 tps_used = 12; + repeated uint32 mana_spent = 13; + repeated uint32 damage_absorbed = 14; + repeated uint32 damage_done = 15; +} + +message CDOTAUserMsg_StatsTeamMinuteDetails { + message LocationPerformance { + optional uint32 location_category = 1; + optional uint32 stat_type = 2; + optional uint32 value = 3; + } + + repeated .CDOTAUserMsg_StatsHeroMinuteDetails player_stats = 1; + optional uint32 tower_kills = 2; + optional uint32 barrack_kills = 3; + optional uint32 available_lane_creep_gold = 4; + optional uint32 balance_kill_value = 5; + optional uint32 balance_tower_value = 6; + optional uint32 balance_barracks_value = 7; + optional uint32 balance_gold_value = 8; + optional uint32 balance_xp_value = 9; + repeated .CDOTAUserMsg_StatsTeamMinuteDetails.LocationPerformance lane_performance = 10; +} + +message CDOTAUserMsg_StatsPlayerKillShare { + optional int32 player_id = 1; + optional float kill_share_percent = 2; + optional float player_loc_x = 3; + optional float player_loc_y = 4; + optional float health_percent = 5; + optional float mana_percent = 6; +} + +message CDOTAUserMsg_StatsKillDetails { + optional int32 victim_id = 1; + repeated .CDOTAUserMsg_StatsPlayerKillShare kill_shares = 2; + optional uint32 damage_to_kill = 3; + optional uint32 effective_health = 4; + optional float death_time = 5; + optional int32 killer_id = 6; +} + +message CDOTAUserMsg_StatsMatchDetails { + message CDOTAUserMsg_StatsFightTeamDetails { + repeated int32 participants = 1; + repeated int32 deaths = 2; + optional uint32 gold_delta = 3; + optional uint32 xp_delta = 4; + } + + message CDOTAUserMsg_StatsFightDetails { + optional float start_time = 1; + optional float end_time = 2; + optional .CDOTAUserMsg_StatsMatchDetails.CDOTAUserMsg_StatsFightTeamDetails radiant_fight_details = 3; + optional .CDOTAUserMsg_StatsMatchDetails.CDOTAUserMsg_StatsFightTeamDetails dire_fight_details = 4; + } + + repeated .CDOTAUserMsg_StatsHeroLookup hero_lookup = 1; + repeated .CDOTAUserMsg_StatsTeamMinuteDetails radiant_stats = 2; + repeated .CDOTAUserMsg_StatsTeamMinuteDetails dire_stats = 3; + repeated .CDOTAUserMsg_StatsKillDetails radiant_kills = 4; + repeated .CDOTAUserMsg_StatsKillDetails dire_kills = 5; + repeated .CDOTAUserMsg_StatsMatchDetails.CDOTAUserMsg_StatsFightDetails fight_details = 6; +} + +message CDOTAUserMsg_MiniTaunt { + optional int32 taunting_player_id = 1; +} + +message CDOTAUserMsg_SpeechBubble { + optional bool destroy_all = 1; +} + +message CDOTAUserMsg_CustomHeaderMessage { + optional int32 player_id = 1; + optional float duration = 2; + optional string message = 3; + optional int32 value = 4; +} + +message CMsgHeroAbilityStat { + optional .EHeroStatType stat_type = 1 [default = k_EHeroStatType_None]; + optional int32 int_value = 2; + optional float float_value = 3; +} + +message CMsgCombatAnalyzerPlayerStat { + optional uint32 account_id = 1; + repeated .CMsgHeroAbilityStat hero_ability_stats = 2; +} + +message CMsgCombatAnalyzerStats { + optional uint64 match_id = 1; + repeated .CMsgCombatAnalyzerPlayerStat player_stats = 2; +} + +message CDOTAUserMsg_BeastChat { + optional uint32 team = 1; + optional string format = 2; + optional string message = 3; + optional string target = 4; +} + +message CDOTAUserMsg_CustomHudElement_Create { + optional string element_id = 1; + optional string layout_filename = 2; + optional bytes data = 3; +} + +message CDOTAUserMsg_CustomHudElement_Modify { + optional string element_id = 1; + optional bool modify_visible = 2; + optional bytes data = 3; +} + +message CDOTAUserMsg_CustomHudElement_Destroy { + optional string element_id = 1; +} + +message CDOTAUserMsg_CompendiumStatePlayer { + optional int32 player_id = 1; + optional uint32 level = 2; +} + +message CDOTAUserMsg_CompendiumState { + repeated .CDOTAUserMsg_CompendiumStatePlayer compendium_players = 1; +} + +message CDOTAUserMsg_ProjectionAbility { + optional uint32 ability_id = 1; + optional int32 caster_ent_index = 2; + optional int32 caster_team = 3; + optional bool channel_end = 4; + optional .CMsgVector origin = 5; + optional bool track_caster_only = 6; + optional float end_time = 7; + optional int32 victim_ent_index = 8; +} + +message CDOTAUserMsg_ProjectionEvent { + optional .EProjectionEvent event_id = 1 [default = ePE_FirstBlood]; + optional uint32 team = 2; +} + +message CDOTAUserMsg_XPAlert { + optional int32 player_id = 1; + optional int32 target_entindex = 2; +} + +message CDOTAUserMsg_TalentTreeAlert { + optional int32 player_id = 1; + optional int32 target_entindex = 2; + optional int32 ability_id = 3; + optional int32 slot = 4; + optional bool learned = 5; +} + +message CDOTAUserMsg_UpdateQuestProgress { +} + +message CDOTAUserMsg_QuestStatus { + required int32 player_id = 1; + optional uint32 quest_id = 2; + optional uint32 challenge_id = 3; + optional uint32 progress = 4; + optional uint32 goal = 5; + optional uint32 query = 6; + optional float fail_gametime = 7; + optional uint32 item_ability_id = 8; +} + +message CDOTAUserMsg_SuggestHeroPick { + required int32 player_id = 1; + optional uint32 hero_id = 2; + optional bool ban = 3; +} + +message CDOTAUserMsg_SuggestHeroRole { + required int32 player_id = 1; + optional string hero_role = 2; +} + +message CDOTAUserMsg_KillcamDamageTaken { + required int32 player_id = 1; + optional uint32 damage_taken = 2; + optional uint32 item_type = 3; + optional uint32 item_ability_id = 4; + optional string hero_name = 5; + optional string damage_color = 6; +} + +message CDOTAUserMsg_SelectPenaltyGold { + required int32 player_id = 1; + optional sint32 cost = 2; +} + +message CDOTAUserMsg_RollDiceResult { + optional int32 player_id = 1; + optional uint32 channel_type = 2; + optional uint32 roll_min = 3; + optional uint32 roll_max = 4; + optional uint32 result = 5; +} + +message CDOTAUserMsg_FlipCoinResult { + optional int32 player_id = 1; + optional uint32 channel_type = 2; + optional bool result = 3; +} + +message CDOTAUserMessage_RequestItemSuggestions { + optional int32 player_id = 1; +} + +message CDOTAUserMessage_TeamCaptainChanged { + optional uint32 team = 1; + optional int32 captain_player_id = 2; +} + +message CDOTAUserMsg_ChatWheelCooldown { + optional uint32 message_id = 1; + optional float cooldown_remaining = 2; +} + +message CDOTAUserMsg_HeroRelicProgress { + optional uint32 hero_relic_type = 1; + optional uint32 value = 2; + optional uint32 ehandle = 3; + optional uint32 event_id = 4; + optional float value_display = 5; +} + +message CDOTAUserMsg_AbilityDraftRequestAbility { + optional int32 player_id = 1; + optional uint32 requested_ability_id = 2; + optional bool ctrl_is_down = 3; +} + +message CDOTAUserMsg_DamageReport { + optional int32 player_id = 1; + optional uint32 target_hero_id = 2; + optional uint32 source_hero_id = 3; + optional int32 damage_amount = 4; + optional bool broadcast = 5; +} + +message CDOTAUserMsg_SalutePlayer { + optional int32 source_player_id = 1; + optional int32 target_player_id = 2; + optional uint32 tip_amount = 3; + optional uint32 event_id = 4; +} + +message CDOTAUserMsg_TipAlert { + optional int32 player_id = 1; + optional string tip_text = 2; +} + +message CDOTAUserMsg_ReplaceQueryUnit { + required int32 player_id = 1; + optional int32 source_entindex = 2; + optional int32 target_entindex = 3; +} + +message CDOTAUserMsg_ESArcanaCombo { + optional uint32 ehandle = 1; + optional uint32 combo_count = 2; + optional uint32 arcana_level = 3; +} + +message CDOTAUserMsg_ESArcanaComboSummary { + optional uint32 ehandle = 1; + optional uint32 combo_count = 2; + optional uint32 damage_amount = 3; +} + +message CDOTAUserMsg_OMArcanaCombo { + optional uint32 ehandle = 1; + optional uint32 multicast_amount = 2; + optional uint32 arcana_level = 3; + optional uint32 multicast_chance = 4; +} + +message CDOTAUserMsg_HighFiveCompleted { + optional int32 player_id_1 = 1; + optional int32 player_id_2 = 2; + optional bool special_high_five = 3; +} + +message CDOTAUserMsg_HighFiveLeftHanging { + optional int32 player_id = 1; +} + +message CDOTAUserMsg_ShovelUnearth { + optional int32 player_id = 1; + optional bool all_chat = 2; + optional string locstring = 3; + optional uint32 quantity = 4; +} + +message CDOTAUserMsg_AllStarEvent { + message PlayerScore { + optional int32 player_id = 1; + optional uint32 score_sans_kda = 2; + } + + optional int32 source_player_id = 1; + optional int32 target_player_id = 2; + optional uint32 point_amount = 3; + optional uint32 event_id = 4; + repeated .CDOTAUserMsg_AllStarEvent.PlayerScore player_scores = 5; +} + +message CDOTAUserMsg_QueuedOrderRemoved { + repeated uint32 unit_order_sequence = 1; +} + +message CDOTAUserMsg_DebugChallenge { + required uint32 challenge_type = 1; + required uint32 challenge_query_id = 2; + required uint32 event_id = 3; + optional uint32 instance_id = 4; + optional uint32 challenge_var_0 = 5; + optional uint32 challenge_var_1 = 6; + optional uint32 challenge_max_rank = 7; +} + +message CDOTAUserMsg_FoundNeutralItem { + optional int32 player_id = 1; + optional uint32 item_ability_id = 2; + optional uint32 item_tier = 3; + optional uint32 tier_item_count = 4; +} + +message CDOTAUserMsg_OutpostCaptured { + optional int32 outpost_entindex = 1; + optional uint32 team_id = 2; +} + +message CDOTAUserMsg_OutpostGrantedXP { + optional uint32 team_id = 1; + optional uint32 xp_amount = 2; +} + +message CDOTAUserMsg_MoveCameraToUnit { + optional uint32 unit_ehandle = 1; +} + +message CDOTAUserMsg_PauseMinigameData { + message DataBit { + optional uint32 index = 1; + optional int32 data = 2; + optional int64 data_extra = 3; + } + + repeated .CDOTAUserMsg_PauseMinigameData.DataBit data_bits = 1; +} + +message CDOTAUserMsg_VersusScene_PlayerBehavior { + optional int32 player_id = 1; + optional .EDOTAVersusScenePlayerBehavior behavior = 2 [default = VS_PLAYER_BEHAVIOR_PLAY_ACTIVITY]; + optional .VersusScene_PlayActivity play_activity = 3; + optional .VersusScene_ChatWheel chat_wheel = 4; + optional .VersusScene_PlaybackRate playback_rate = 5; +} + +message CDOTAUserMsg_QoP_ArcanaSummary { + optional uint32 ehandle = 1; + optional uint32 arcana_level = 2; + optional uint32 players_hit = 3; + optional uint32 players_killed = 4; +} + +message CDOTAUserMsg_HotPotato_Created { + optional int32 player_id_1 = 1; + optional int32 player_id_2 = 2; +} + +message CDOTAUserMsg_HotPotato_Exploded { + optional int32 player_id = 1; +} + +message CDOTAUserMsg_WK_Arcana_Progress { + optional uint32 ehandle = 1; + optional uint32 arcana_level = 2; + optional uint32 hero_id = 3; +} + +message CDOTAUserMsg_GuildChallenge_Progress { + message PlayerProgress { + optional int32 player_id = 1; + optional uint32 progress = 6; + } + + enum EChallengeType { + k_EChallengeType_Invalid = 0; + k_EChallengeType_Cooperative = 1; + k_EChallengeType_Contract = 2; + } + + repeated .CDOTAUserMsg_GuildChallenge_Progress.PlayerProgress player_progress = 1; + optional uint32 guild_id = 2; + optional uint32 challenge_instance_id = 3; + optional uint32 challenge_parameter = 4; + optional .CDOTAUserMsg_GuildChallenge_Progress.EChallengeType challenge_type = 5 [default = k_EChallengeType_Invalid]; + optional uint32 challenge_progress_at_start = 7; + optional bool complete = 8; +} + +message CDOTAUserMsg_WRArcanaProgress { + optional uint32 ehandle = 1; + optional uint32 target_ehandle = 2; + optional uint32 arrows_landed = 3; + optional uint32 damage_dealt = 4; + optional uint32 target_hp = 5; + optional uint32 target_max_hp = 6; + optional uint32 arcana_level = 7; +} + +message CDOTAUserMsg_WRArcanaSummary { + optional uint32 ehandle = 1; + optional uint32 target_ehandle = 2; + optional uint32 arrows_landed = 3; + optional uint32 damage_dealt = 4; + optional uint32 target_hp = 5; + optional uint32 target_max_hp = 6; + optional uint32 arcana_level = 7; + optional bool success = 8; +} + +message CDOTAUserMsg_EmptyItemSlotAlert { + optional int32 source_player_id = 1; + optional int32 target_player_id = 2; + optional int32 slot_index = 3; + optional int32 cooldown_seconds = 4; +} + +message CDOTAUserMsg_AghsStatusAlert { + optional int32 source_player_id = 1; + optional int32 target_player_id = 2; + optional int32 target_entindex = 3; + optional uint32 alert_type = 4; + optional bool has_scepter = 5; + optional bool has_shard = 6; +} + +message CDOTAUserMsg_MutedPlayers { + repeated int32 text_muted_player_ids = 1; + repeated int32 voice_muted_player_ids = 2; +} + +message CDOTAUserMsg_ContextualTip { + optional int32 tip_id = 1; + repeated string referenced_abilities = 2; + repeated string referenced_units = 3; + repeated string panorama_classes = 4; + optional bool force_annotation = 5; + optional int32 variant = 6; + optional int32 int_param = 7; + optional int32 int_param2 = 8; + optional float float_param = 9; + optional float float_param2 = 10; + optional string string_param = 11; + optional string string_param2 = 12; + optional string tip_text_override = 13; + optional string tip_annotation_override = 14; + optional string panorama_snippet = 15; +} + +message CDOTAUserMsg_ChatMessage { + optional int32 source_player_id = 1; + optional uint32 channel_type = 2; + optional string message_text = 3; +} diff --git a/proto/netmessages.proto b/proto/netmessages.proto index c1e11e5..b50cc1c 100644 --- a/proto/netmessages.proto +++ b/proto/netmessages.proto @@ -1,3 +1,5 @@ +syntax = "proto2"; +option go_package="./demo"; import "networkbasetypes.proto"; option cc_generic_services = false; @@ -19,6 +21,7 @@ enum CLC_Messages { clc_RequestPause = 33; clc_CmdKeyValues = 34; clc_RconServerDetails = 35; + clc_HltvReplay = 36; } enum SVC_Messages { @@ -48,6 +51,10 @@ enum SVC_Messages { 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 { @@ -100,6 +107,14 @@ enum Bidirectional_Messages_LowFrequency { bi_RelayPacket = 701; } +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; @@ -304,6 +319,12 @@ message CSVCMsg_Menu { optional bytes menu_key_values = 2; } +message CSVCMsg_UserMessage { + optional int32 msg_type = 1; + optional bytes msg_data = 2; + optional int32 passthrough = 3; +} + message CSVCMsg_SendTable { message sendprop_t { optional int32 type = 1; @@ -491,43 +512,6 @@ message CBidirMsg_RebroadcastSource { optional int32 eventsource = 1; } -message SerializedNetAddress_t { - required bytes serializedAddress = 1; -} - -message CBidirMsg_RelayInfo { - enum Operation_t { - RIO_REQUEST_RELAY = 0; - RIO_WILL_RELAY = 1; - RIO_NO_ROUTE = 2; - RIO_REJECT_RELAY = 3; - RIO_ESTABLISH_CONNECTION = 4; - } - - required .CBidirMsg_RelayInfo.Operation_t operation = 1 [default = RIO_REQUEST_RELAY]; - optional .SerializedNetAddress_t serializedTargetAddress = 2; - optional uint32 additionalHops = 3; -} - -message SignedPayload_t { - required bytes payloadData = 1; - required uint32 signature = 2; - required bool bPayloadEncrypted = 3; -} - -message CBidirMsg_RelayPacket { - message SignedDestinationAddress_t { - required .SerializedNetAddress_t serializedAddr = 1; - required uint32 signature = 2; - optional bytes encryptedPayloadKey = 3; - } - - required uint32 prevhopcount = 1; - required .SerializedNetAddress_t originalSender = 2; - required .SignedPayload_t signedPayload = 3; - repeated .CBidirMsg_RelayPacket.SignedDestinationAddress_t recipientList = 4; -} - message CMsgServerNetworkStats { message Port { optional int32 port = 1; @@ -569,3 +553,42 @@ message CMsgServerNetworkStats { 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 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 = 4; + 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/proto/network_connection.proto b/proto/network_connection.proto new file mode 100644 index 0000000..7cf8caf --- /dev/null +++ b/proto/network_connection.proto @@ -0,0 +1,131 @@ +syntax = "proto2"; +option go_package="./demo"; +import "google/protobuf/descriptor.proto"; + +option cc_generic_services = false; + +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/proto/networkbasetypes.proto b/proto/networkbasetypes.proto index d0cc136..43dfa5e 100644 --- a/proto/networkbasetypes.proto +++ b/proto/networkbasetypes.proto @@ -1,3 +1,5 @@ +syntax = "proto2"; +option go_package="./demo"; import "network_connection.proto"; option cc_generic_services = false; @@ -105,6 +107,7 @@ message CNETMsg_Tick { 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 { @@ -150,20 +153,6 @@ message CSVCMsgList_GameEvents { repeated .CSVCMsgList_GameEvents.event_t events = 1; } -message CSVCMsg_UserMessage { - optional int32 msg_type = 1; - optional bytes msg_data = 2; -} - -message CSVCMsgList_UserMessages { - message usermsg_t { - optional int32 tick = 1; - optional .CSVCMsg_UserMessage msg = 2; - } - - repeated .CSVCMsgList_UserMessages.usermsg_t usermsgs = 1; -} - message CNETMsg_SpawnGroup_Load { optional string worldname = 1; optional string entitylumpname = 2; diff --git a/proto/usermessages.proto b/proto/usermessages.proto new file mode 100644 index 0000000..2cbcfde --- /dev/null +++ b/proto/usermessages.proto @@ -0,0 +1,521 @@ +syntax = "proto2"; +option go_package="./demo"; +import "networkbasetypes.proto"; + +option optimize_for = SPEED; +option cc_generic_services = false; + +enum EBaseUserMessages { + UM_AchievementEvent = 101; + UM_CloseCaption = 102; + UM_CloseCaptionDirect = 103; + UM_CurrentTimescale = 104; + UM_DesiredTimescale = 105; + UM_Fade = 106; + UM_GameTitle = 107; + UM_HudMsg = 110; + UM_HudText = 111; + UM_ColoredText = 113; + UM_RequestState = 114; + UM_ResetHUD = 115; + UM_Rumble = 116; + UM_SayText = 117; + UM_SayText2 = 118; + UM_SayTextChannel = 119; + UM_Shake = 120; + UM_ShakeDir = 121; + UM_TextMsg = 124; + UM_ScreenTilt = 125; + UM_VoiceMask = 128; + UM_SendAudio = 130; + UM_ItemPickup = 131; + UM_AmmoDenied = 132; + UM_ShowMenu = 134; + UM_CreditsMsg = 135; + UM_CloseCaptionPlaceholder = 142; + UM_CameraTransition = 143; + UM_AudioParameter = 144; + UM_ParticleManager = 145; + UM_HudError = 146; + UM_CustomGameEvent = 148; + UM_AnimGraphUpdate = 149; + UM_HapticsManagerPulse = 150; + UM_HapticsManagerEffect = 151; + UM_CommandQueueState = 152; + UM_UpdateCssClasses = 153; + UM_MAX_BASE = 200; +} + +enum EBaseEntityMessages { + EM_PlayJingle = 136; + EM_ScreenOverlay = 137; + EM_RemoveAllDecals = 138; + EM_PropagateForce = 139; + EM_DoSpark = 140; + EM_FixAngle = 141; +} + +enum eRollType { + ROLL_NONE = -1; + ROLL_STATS = 0; + ROLL_CREDITS = 1; + ROLL_LATE_JOIN_LOGO = 2; + ROLL_OUTTRO = 3; +} + +enum PARTICLE_MESSAGE { + GAME_PARTICLE_MANAGER_EVENT_CREATE = 0; + GAME_PARTICLE_MANAGER_EVENT_UPDATE = 1; + GAME_PARTICLE_MANAGER_EVENT_UPDATE_FORWARD = 2; + GAME_PARTICLE_MANAGER_EVENT_UPDATE_ORIENTATION = 3; + GAME_PARTICLE_MANAGER_EVENT_UPDATE_FALLBACK = 4; + GAME_PARTICLE_MANAGER_EVENT_UPDATE_ENT = 5; + GAME_PARTICLE_MANAGER_EVENT_UPDATE_OFFSET = 6; + GAME_PARTICLE_MANAGER_EVENT_DESTROY = 7; + GAME_PARTICLE_MANAGER_EVENT_DESTROY_INVOLVING = 8; + GAME_PARTICLE_MANAGER_EVENT_RELEASE = 9; + GAME_PARTICLE_MANAGER_EVENT_LATENCY = 10; + GAME_PARTICLE_MANAGER_EVENT_SHOULD_DRAW = 11; + GAME_PARTICLE_MANAGER_EVENT_FROZEN = 12; + GAME_PARTICLE_MANAGER_EVENT_CHANGE_CONTROL_POINT_ATTACHMENT = 13; + GAME_PARTICLE_MANAGER_EVENT_UPDATE_ENTITY_POSITION = 14; + GAME_PARTICLE_MANAGER_EVENT_SET_FOW_PROPERTIES = 15; + GAME_PARTICLE_MANAGER_EVENT_SET_TEXT = 16; + GAME_PARTICLE_MANAGER_EVENT_SET_SHOULD_CHECK_FOW = 17; + GAME_PARTICLE_MANAGER_EVENT_SET_CONTROL_POINT_MODEL = 18; + GAME_PARTICLE_MANAGER_EVENT_SET_CONTROL_POINT_SNAPSHOT = 19; + GAME_PARTICLE_MANAGER_EVENT_SET_TEXTURE_ATTRIBUTE = 20; + GAME_PARTICLE_MANAGER_EVENT_SET_SCENE_OBJECT_GENERIC_FLAG = 21; + GAME_PARTICLE_MANAGER_EVENT_SET_SCENE_OBJECT_TINT_AND_DESAT = 22; + GAME_PARTICLE_MANAGER_EVENT_DESTROY_NAMED = 23; + GAME_PARTICLE_MANAGER_EVENT_SKIP_TO_TIME = 24; +} + +enum EHapticPulseType { + VR_HAND_HAPTIC_PULSE_LIGHT = 0; + VR_HAND_HAPTIC_PULSE_MEDIUM = 1; + VR_HAND_HAPTIC_PULSE_STRONG = 2; +} + +message CUserMessageAchievementEvent { + optional uint32 achievement = 1; +} + +message CUserMessageCloseCaption { + optional fixed32 hash = 1; + optional float duration = 2; + optional bool from_player = 3; + optional int32 ent_index = 4; +} + +message CUserMessageCloseCaptionDirect { + optional fixed32 hash = 1; + optional float duration = 2; + optional bool from_player = 3; + optional int32 ent_index = 4; +} + +message CUserMessageCloseCaptionPlaceholder { + optional string string = 1; + optional float duration = 2; + optional bool from_player = 3; + optional int32 ent_index = 4; +} + +message CUserMessageCurrentTimescale { + optional float current = 1; +} + +message CUserMessageDesiredTimescale { + optional float desired = 1; + optional float acceleration = 2; + optional float minblendrate = 3; + optional float blenddeltamultiplier = 4; +} + +message CUserMessageFade { + optional uint32 duration = 1; + optional uint32 hold_time = 2; + optional uint32 flags = 3; + optional fixed32 color = 4; +} + +message CUserMessageShake { + optional uint32 command = 1; + optional float amplitude = 2; + optional float frequency = 3; + optional float duration = 4; +} + +message CUserMessageShakeDir { + optional .CUserMessageShake shake = 1; + optional .CMsgVector direction = 2; +} + +message CUserMessageScreenTilt { + optional uint32 command = 1; + optional bool ease_in_out = 2; + optional .CMsgVector angle = 3; + optional float duration = 4; + optional float time = 5; +} + +message CUserMessageSayText { + optional int32 playerindex = 1; + optional string text = 2; + optional bool chat = 3; +} + +message CUserMessageSayText2 { + optional int32 entityindex = 1; + optional bool chat = 2; + optional string messagename = 3; + optional string param1 = 4; + optional string param2 = 5; + optional string param3 = 6; + optional string param4 = 7; +} + +message CUserMessageHudMsg { + optional uint32 channel = 1; + optional float x = 2; + optional float y = 3; + optional fixed32 color1 = 4; + optional fixed32 color2 = 5; + optional uint32 effect = 6; + optional float fade_in_time = 7; + optional float fade_out_time = 8; + optional float hold_time = 9; + optional float fx_time = 10; + optional string message = 11; +} + +message CUserMessageHudText { + optional string message = 1; +} + +message CUserMessageTextMsg { + optional uint32 dest = 1; + repeated string param = 2; +} + +message CUserMessageGameTitle { +} + +message CUserMessageResetHUD { +} + +message CUserMessageSendAudio { + optional string soundname = 1; + optional bool stop = 2; +} + +message CUserMessageAudioParameter { + optional uint32 parameter_type = 1; + optional uint32 name_hash_code = 2; + optional float value = 3; + optional uint32 int_value = 4; +} + +message CUserMessageVoiceMask { + repeated uint32 gamerules_masks = 1; + repeated uint32 ban_masks = 2; + optional bool mod_enable = 3; +} + +message CUserMessageRequestState { +} + +message CUserMessageRumble { + optional int32 index = 1; + optional int32 data = 2; + optional int32 flags = 3; +} + +message CUserMessageSayTextChannel { + optional int32 player = 1; + optional int32 channel = 2; + optional string text = 3; +} + +message CUserMessageColoredText { + optional uint32 color = 1; + optional string text = 2; + optional bool reset = 3; + optional int32 context_player_slot = 4; + optional int32 context_value = 5; + optional int32 context_team_id = 6; +} + +message CUserMessageItemPickup { + optional string itemname = 1; +} + +message CUserMessageAmmoDenied { + optional uint32 ammo_id = 1; +} + +message CUserMessageShowMenu { + optional uint32 validslots = 1; + optional uint32 displaytime = 2; + optional bool needmore = 3; + optional string menustring = 4; +} + +message CUserMessageCreditsMsg { + optional .eRollType rolltype = 1 [default = ROLL_NONE]; + optional float logo_length = 2; +} + +message CEntityMessagePlayJingle { + optional .CEntityMsg entity_msg = 1; +} + +message CEntityMessageScreenOverlay { + optional bool start_effect = 1; + optional .CEntityMsg entity_msg = 2; +} + +message CEntityMessageRemoveAllDecals { + optional bool remove_decals = 1; + optional .CEntityMsg entity_msg = 2; +} + +message CEntityMessagePropagateForce { + optional .CMsgVector impulse = 1; + optional .CEntityMsg entity_msg = 2; +} + +message CEntityMessageDoSpark { + optional .CMsgVector origin = 1; + optional int32 entityindex = 2; + optional float radius = 3; + optional fixed32 color = 4; + optional uint32 beams = 5; + optional float thick = 6; + optional float duration = 7; + optional .CEntityMsg entity_msg = 8; +} + +message CEntityMessageFixAngle { + optional bool relative = 1; + optional .CMsgQAngle angle = 2; + optional .CEntityMsg entity_msg = 3; +} + +message CUserMessageCameraTransition { + message Transition_DataDriven { + optional string filename = 1; + optional int32 attach_ent_index = 2; + optional float duration = 3; + } + + optional uint32 camera_type = 1; + optional float duration = 2; + optional .CUserMessageCameraTransition.Transition_DataDriven params_data_driven = 3; +} + +message CUserMsg_ParticleManager { + message ReleaseParticleIndex { + } + + message CreateParticle { + optional fixed64 particle_name_index = 1; + optional int32 attach_type = 2; + optional uint32 entity_handle = 3; + optional uint32 entity_handle_for_modifiers = 4; + optional bool apply_voice_ban_rules = 5; + optional int32 team_behavior = 6; + optional string control_point_configuration = 7; + } + + message DestroyParticle { + optional bool destroy_immediately = 1; + } + + message DestroyParticleInvolving { + optional bool destroy_immediately = 1; + optional uint32 entity_handle = 3; + } + + message DestroyParticleNamed { + optional fixed64 particle_name_index = 1; + optional uint32 entity_handle = 2; + optional bool destroy_immediately = 3; + optional bool play_endcap = 4; + } + + message UpdateParticle { + optional int32 control_point = 1; + optional .CMsgVector position = 2; + } + + message UpdateParticleFwd { + optional int32 control_point = 1; + optional .CMsgVector forward = 2; + } + + message UpdateParticleOrient { + optional int32 control_point = 1; + optional .CMsgVector forward = 2; + optional .CMsgVector deprecated_right = 3; + optional .CMsgVector up = 4; + optional .CMsgVector left = 5; + } + + message UpdateParticleFallback { + optional int32 control_point = 1; + optional .CMsgVector position = 2; + } + + message UpdateParticleOffset { + optional int32 control_point = 1; + optional .CMsgVector origin_offset = 2; + optional .CMsgQAngle angle_offset = 3; + } + + message UpdateParticleEnt { + optional int32 control_point = 1; + optional uint32 entity_handle = 2; + optional int32 attach_type = 3; + optional int32 attachment = 4; + optional .CMsgVector fallback_position = 5; + optional bool include_wearables = 6; + } + + message UpdateParticleSetFrozen { + optional bool set_frozen = 1; + optional float transition_duration = 2; + } + + message UpdateParticleShouldDraw { + optional bool should_draw = 1; + } + + message ChangeControlPointAttachment { + optional int32 attachment_old = 1; + optional int32 attachment_new = 2; + optional uint32 entity_handle = 3; + } + + message UpdateEntityPosition { + optional uint32 entity_handle = 1; + optional .CMsgVector position = 2; + } + + message SetParticleFoWProperties { + optional int32 fow_control_point = 1; + optional int32 fow_control_point2 = 2; + optional float fow_radius = 3; + } + + message SetParticleShouldCheckFoW { + optional bool check_fow = 1; + } + + message SetControlPointModel { + optional int32 control_point = 1; + optional string model_name = 2; + } + + message SetControlPointSnapshot { + optional int32 control_point = 1; + optional string snapshot_name = 2; + } + + message SetParticleText { + optional string text = 1; + } + + message SetTextureAttribute { + optional string attribute_name = 1; + optional string texture_name = 2; + } + + message SetSceneObjectGenericFlag { + optional bool flag_value = 1; + } + + message SetSceneObjectTintAndDesat { + optional fixed32 tint = 1; + optional float desat = 2; + } + + message ParticleSkipToTime { + optional float skip_to_time = 1; + } + + required .PARTICLE_MESSAGE type = 1 [default = GAME_PARTICLE_MANAGER_EVENT_CREATE]; + required uint32 index = 2; + optional .CUserMsg_ParticleManager.ReleaseParticleIndex release_particle_index = 3; + optional .CUserMsg_ParticleManager.CreateParticle create_particle = 4; + optional .CUserMsg_ParticleManager.DestroyParticle destroy_particle = 5; + optional .CUserMsg_ParticleManager.DestroyParticleInvolving destroy_particle_involving = 6; + optional .CUserMsg_ParticleManager.UpdateParticle update_particle = 7; + optional .CUserMsg_ParticleManager.UpdateParticleFwd update_particle_fwd = 8; + optional .CUserMsg_ParticleManager.UpdateParticleOrient update_particle_orient = 9; + optional .CUserMsg_ParticleManager.UpdateParticleFallback update_particle_fallback = 10; + optional .CUserMsg_ParticleManager.UpdateParticleOffset update_particle_offset = 11; + optional .CUserMsg_ParticleManager.UpdateParticleEnt update_particle_ent = 12; + optional .CUserMsg_ParticleManager.UpdateParticleShouldDraw update_particle_should_draw = 14; + optional .CUserMsg_ParticleManager.UpdateParticleSetFrozen update_particle_set_frozen = 15; + optional .CUserMsg_ParticleManager.ChangeControlPointAttachment change_control_point_attachment = 16; + optional .CUserMsg_ParticleManager.UpdateEntityPosition update_entity_position = 17; + optional .CUserMsg_ParticleManager.SetParticleFoWProperties set_particle_fow_properties = 18; + optional .CUserMsg_ParticleManager.SetParticleText set_particle_text = 19; + optional .CUserMsg_ParticleManager.SetParticleShouldCheckFoW set_particle_should_check_fow = 20; + optional .CUserMsg_ParticleManager.SetControlPointModel set_control_point_model = 21; + optional .CUserMsg_ParticleManager.SetControlPointSnapshot set_control_point_snapshot = 22; + optional .CUserMsg_ParticleManager.SetTextureAttribute set_texture_attribute = 23; + optional .CUserMsg_ParticleManager.SetSceneObjectGenericFlag set_scene_object_generic_flag = 24; + optional .CUserMsg_ParticleManager.SetSceneObjectTintAndDesat set_scene_object_tint_and_desat = 25; + optional .CUserMsg_ParticleManager.DestroyParticleNamed destroy_particle_named = 26; + optional .CUserMsg_ParticleManager.ParticleSkipToTime particle_skip_to_time = 27; + + extensions 100 to 201; +} + +message CUserMsg_HudError { + optional int32 order_id = 1; +} + +message CUserMsg_CustomGameEvent { + optional string event_name = 1; + optional bytes data = 2; +} + +message CUserMessageHapticsManagerPulse { + optional int32 hand_id = 1; + optional float effect_amplitude = 2; + optional float effect_frequency = 3; + optional float effect_duration = 4; +} + +message CUserMessageHapticsManagerEffect { + optional int32 hand_id = 1; + optional uint32 effect_name_hash_code = 2; + optional float effect_scale = 3; +} + +message CUserMessageAnimStateGraphState { + optional int32 entity_index = 1; + optional bytes data = 2; +} + +message CUserMessageCommandQueueState { + message command_queue_info_t { + optional uint32 commands_queued = 1; + optional uint32 command_queue_desired_size = 2; + optional uint32 starved_command_ticks = 3; + optional int32 time_dilation_percent = 4; + } + + optional int32 player_slot = 1; + optional .CUserMessageCommandQueueState.command_queue_info_t command_queue_info = 2; +} + +message CUserMessageUpdateCssClasses { + optional int32 target_world_panel = 1; + optional string css_classes = 2; + optional bool is_add = 3; +}