diff --git a/Makefile b/Makefile index ece80d5..de416b6 100644 --- a/Makefile +++ b/Makefile @@ -58,16 +58,15 @@ upload: dist register pb_fetch: wget -nv --show-progress -N -P ./protobufs/ -i protobuf_list.txt || exit 0 + rename -v '.proto' '.proto.notouch' protobufs/{steammessages_physicalgoods,gc,test_messages}.proto rename -v '.steamclient' '' protobufs/*.proto - sed -i '1d' protobufs/{steammessages_physicalgoods,test_messages}.proto - sed -i '1s/^/package foobar;\n/' protobufs/gc.proto - sed -i 's/optional \./optional foobar./' protobufs/gc.proto sed -i '1s/^/syntax = "proto2"\;\n/' protobufs/*.proto sed -i 's/cc_generic_services/py_generic_services/' protobufs/*.proto sed -i 's/\.steamclient\.proto/.proto/' protobufs/*.proto + rename -v '.notouch' '' protobufs/*.proto.notouch pb_compile: - for filepath in `ls ./protobufs/*.proto`; do \ + for filepath in ./protobufs/*.proto; do \ protoc3 --python_out ./steam/protobufs/ --proto_path=./protobufs "$$filepath"; \ done; sed -i '/^import sys/! s/^import /import steam.protobufs./' steam/protobufs/*_pb2.py diff --git a/protobuf_list.txt b/protobuf_list.txt index e3e2f59..9a5a55c 100644 --- a/protobuf_list.txt +++ b/protobuf_list.txt @@ -1,4 +1,3 @@ -https://github.com/SteamRE/SteamKit/raw/master/Resources/Protobufs/gc/gc.proto https://raw.githubusercontent.com/SteamDatabase/SteamTracking/master/Protobufs/content_manifest.proto https://raw.githubusercontent.com/SteamDatabase/SteamTracking/master/Protobufs/encrypted_app_ticket.proto https://raw.githubusercontent.com/SteamDatabase/SteamTracking/master/Protobufs/steammessages_base.proto @@ -14,6 +13,7 @@ https://raw.githubusercontent.com/SteamDatabase/SteamTracking/master/Protobufs/s https://raw.githubusercontent.com/SteamDatabase/SteamTracking/master/Protobufs/steammessages_depotbuilder.steamclient.proto https://raw.githubusercontent.com/SteamDatabase/SteamTracking/master/Protobufs/steammessages_deviceauth.steamclient.proto https://raw.githubusercontent.com/SteamDatabase/SteamTracking/master/Protobufs/steammessages_econ.steamclient.proto +https://raw.githubusercontent.com/SteamDatabase/SteamTracking/master/Protobufs/steammessages_friendmessages.steamclient.proto https://raw.githubusercontent.com/SteamDatabase/SteamTracking/master/Protobufs/steammessages_gamenotifications.steamclient.proto https://raw.githubusercontent.com/SteamDatabase/SteamTracking/master/Protobufs/steammessages_gameservers.steamclient.proto https://raw.githubusercontent.com/SteamDatabase/SteamTracking/master/Protobufs/steammessages_inventory.steamclient.proto @@ -21,7 +21,6 @@ https://raw.githubusercontent.com/SteamDatabase/SteamTracking/master/Protobufs/s https://raw.githubusercontent.com/SteamDatabase/SteamTracking/master/Protobufs/steammessages_offline.steamclient.proto https://raw.githubusercontent.com/SteamDatabase/SteamTracking/master/Protobufs/steammessages_parental.steamclient.proto https://raw.githubusercontent.com/SteamDatabase/SteamTracking/master/Protobufs/steammessages_partnerapps.steamclient.proto -https://raw.githubusercontent.com/SteamDatabase/SteamTracking/master/Protobufs/steammessages_physicalgoods.steamclient.proto https://raw.githubusercontent.com/SteamDatabase/SteamTracking/master/Protobufs/steammessages_player.steamclient.proto https://raw.githubusercontent.com/SteamDatabase/SteamTracking/master/Protobufs/steammessages_publishedfile.steamclient.proto https://raw.githubusercontent.com/SteamDatabase/SteamTracking/master/Protobufs/steammessages_secrets.steamclient.proto diff --git a/protobufs/gc.proto b/protobufs/gc.proto index 21ce688..a48a51c 100644 --- a/protobufs/gc.proto +++ b/protobufs/gc.proto @@ -1,22 +1,23 @@ syntax = "proto2"; package foobar; -enum GCProtoBufMsgSrc { - GCProtoBufMsgSrc_Unspecified = 0; - GCProtoBufMsgSrc_FromSystem = 1; - GCProtoBufMsgSrc_FromSteamID = 2; - GCProtoBufMsgSrc_FromGC = 3; - GCProtoBufMsgSrc_ReplySystem = 4; -} - -message CMsgProtoBufHeader { - optional fixed64 client_steam_id = 1; - optional int32 client_session_id = 2; - optional uint32 source_app_id = 3; - optional fixed64 job_id_source = 10 [default = 18446744073709551615]; - optional fixed64 job_id_target = 11 [default = 18446744073709551615]; - optional string target_job_name = 12; - optional int32 eresult = 13 [default = 2]; - optional string error_message = 14; - optional foobar.GCProtoBufMsgSrc gc_msg_src = 200 [default = GCProtoBufMsgSrc_Unspecified]; - optional uint32 gc_dir_index_source = 201; -} + +enum GCProtoBufMsgSrc { + GCProtoBufMsgSrc_Unspecified = 0; + GCProtoBufMsgSrc_FromSystem = 1; + GCProtoBufMsgSrc_FromSteamID = 2; + GCProtoBufMsgSrc_FromGC = 3; + GCProtoBufMsgSrc_ReplySystem = 4; +} + +message CMsgProtoBufHeader { + optional fixed64 client_steam_id = 1; + optional int32 client_session_id = 2; + optional uint32 source_app_id = 3; + optional fixed64 job_id_source = 10 [default = 18446744073709551615]; + optional fixed64 job_id_target = 11 [default = 18446744073709551615]; + optional string target_job_name = 12; + optional int32 eresult = 13 [default = 2]; + optional string error_message = 14; + optional foobar.GCProtoBufMsgSrc gc_msg_src = 200 [default = GCProtoBufMsgSrc_Unspecified]; + optional uint32 gc_dir_index_source = 201; +} diff --git a/protobufs/steammessages_base.proto b/protobufs/steammessages_base.proto index e1c6617..c9fa92b 100644 --- a/protobufs/steammessages_base.proto +++ b/protobufs/steammessages_base.proto @@ -17,6 +17,13 @@ extend .google.protobuf.FieldOptions { optional bool php_output_always_number = 50020 [default = false]; } +message CMsgIPAddress { + oneof ip { + fixed32 v4 = 1; + bytes v6 = 2; + } +} + message CMsgProtoBufHeader { optional fixed64 steamid = 1; optional int32 client_sessionid = 2; @@ -27,7 +34,6 @@ message CMsgProtoBufHeader { optional int32 seq_num = 24; optional int32 eresult = 13 [default = 2]; optional string error_message = 14; - optional uint32 ip = 15; optional uint32 auth_account_flags = 16; optional uint32 token_source = 22; optional bool admin_spoofing_user = 23; @@ -40,6 +46,11 @@ message CMsgProtoBufHeader { optional bool is_from_external_source = 26; repeated uint32 forward_to_sysid = 27; optional uint32 cm_sysid = 28; + optional string wg_token = 30; + oneof ip_addr { + uint32 ip = 15; + bytes ip_v6 = 29; + } } message CMsgMulti { diff --git a/protobufs/steammessages_broadcast.proto b/protobufs/steammessages_broadcast.proto index ef27ac0..a41c910 100644 --- a/protobufs/steammessages_broadcast.proto +++ b/protobufs/steammessages_broadcast.proto @@ -12,6 +12,16 @@ enum EBroadcastWatchLocation { k_EBroadcastWatchLocation_CommunityPage = 5; k_EBroadcastWatchLocation_StoreAppPage = 6; k_EBroadcastWatchLocation_InGame = 7; + k_EBroadcastWatchLocation_BigPicture = 8; + k_EBroadcastWatchLocation_SalesPage = 9; + k_EBroadcastWatchLocation_CuratorPage = 10; + k_EBroadcastWatchLocation_DeveloperPage = 11; + k_EBroadcastWatchLocation_Chat_Friends = 12; +} + +enum EBroadcastChatPermission { + k_EBroadcastChatPermissionPublic = 0; + k_EBroadcastChatPermissionOwnsApp = 1; } message CBroadcast_BeginBroadcastSession_Request { @@ -45,6 +55,7 @@ message CBroadcast_StartBroadcastUpload_Request { optional bool as_rtmp = 3; optional uint32 delay_seconds = 4; optional uint64 rtmp_token = 5 [default = 0, (description) = "Only set during RTMP uploads; secret key from the user."]; + optional uint32 upload_ip_address = 6; } message CBroadcast_StartBroadcastUpload_Response { @@ -56,7 +67,7 @@ message CBroadcast_StartBroadcastUpload_Response { } message CBroadcast_NotifyBroadcastUploadStop_Notification { - optional fixed64 broadcast_relay_id = 1; + optional fixed64 broadcast_upload_id = 1; optional uint32 upload_result = 2; } @@ -67,6 +78,7 @@ message CBroadcast_WatchBroadcast_Request { optional uint32 client_ip = 4; optional uint32 client_cell = 5; optional .EBroadcastWatchLocation watch_location = 6 [default = k_EBroadcastWatchLocation_Invalid]; + optional bool is_webrtc = 7; } message CBroadcast_WatchBroadcast_Response { @@ -98,6 +110,10 @@ message CBroadcast_WatchBroadcast_Response { optional string hls_m3u8_master_url = 11; optional int32 heartbeat_interval = 12; optional string thumbnail_url = 13; + optional bool is_webrtc = 14; + optional fixed64 webrtc_session_id = 15; + optional string webrtc_offer_sdp = 16; + optional string webrtc_turn_server = 17; } message CBroadcast_HeartbeatBroadcast_Notification { @@ -223,6 +239,114 @@ message CBroadcast_GetBroadcastChatUserNames_Response { repeated .CBroadcast_GetBroadcastChatUserNames_Response.PersonaName persona_names = 1; } +message CBroadcast_SetRTMPInfo_Request { + optional int32 broadcast_permission = 1; + optional bool update_token = 2; + optional int32 broadcast_delay = 3; + optional uint32 app_id = 4; + optional uint32 required_app_id = 5; + optional .EBroadcastChatPermission broadcast_chat_permission = 6 [default = k_EBroadcastChatPermissionPublic, (description) = "Who is permitted to send a chat message during broadcast"]; + optional int32 broadcast_buffer = 7 [(description) = "Previous seconds we keep of the stream available"]; + optional fixed64 steamid = 8 [(description) = "broadcaster steamID if not logged-in user"]; + optional uint32 chat_rate_limit = 9 [(description) = "Seconds required between chat messages"]; +} + +message CBroadcast_SetRTMPInfo_Response { +} + +message CBroadcast_GetRTMPInfo_Request { + optional uint32 ip = 1; + optional fixed64 steamid = 2 [(description) = "broadcaster steamID if not logged-in user"]; +} + +message CBroadcast_GetRTMPInfo_Response { + optional int32 broadcast_permission = 1; + optional string rtmp_host = 2; + optional string rtmp_token = 3; + optional int32 broadcast_delay = 4; + optional uint32 app_id = 5; + optional uint32 required_app_id = 6; + optional .EBroadcastChatPermission broadcast_chat_permission = 7 [default = k_EBroadcastChatPermissionPublic, (description) = "Who is permitted to send a chat message during broadcast"]; + optional int32 broadcast_buffer = 8 [(description) = "Seconds we keep streams available"]; + optional fixed64 steamid = 9 [(description) = "broadcaster steamID"]; + optional uint32 chat_rate_limit = 10 [(description) = "Seconds required between chat messages"]; +} + +message CBroadcast_WebRTCHaveTURNServer_Notification { + optional fixed64 broadcast_session_id = 1; + optional string turn_server = 2; +} + +message CBroadcast_WebRTCStartResult_Request { + optional fixed64 webrtc_session_id = 1; + optional bool started = 2; + optional string offer = 3; + optional uint32 resolution_x = 4; + optional uint32 resolution_y = 5; + optional uint32 fps = 6; +} + +message CBroadcast_WebRTCStartResult_Response { +} + +message CBroadcast_WebRTCStopped_Request { + optional fixed64 webrtc_session_id = 1; +} + +message CBroadcast_WebRTCStopped_Response { +} + +message CBroadcast_WebRTCSetAnswer_Request { + optional fixed64 broadcaster_steamid = 1; + optional fixed64 webrtc_session_id = 2; + optional string answer = 3; +} + +message CBroadcast_WebRTCSetAnswer_Response { +} + +message CBroadcast_WebRTCLookupTURNServer_Request { + optional uint32 cellid = 1; +} + +message CBroadcast_WebRTCLookupTURNServer_Response { + optional string turn_server = 1; +} + +message CBroadcast_WebRTC_Candidate { + optional string sdp_mid = 1; + optional int32 sdp_mline_index = 2; + optional string candidate = 3; +} + +message CBroadcast_WebRTCAddHostCandidate_Request { + optional fixed64 webrtc_session_id = 1; + optional .CBroadcast_WebRTC_Candidate candidate = 2; +} + +message CBroadcast_WebRTCAddHostCandidate_Response { +} + +message CBroadcast_WebRTCAddViewerCandidate_Request { + optional fixed64 broadcaster_steamid = 1; + optional fixed64 webrtc_session_id = 2; + optional .CBroadcast_WebRTC_Candidate candidate = 3; +} + +message CBroadcast_WebRTCAddViewerCandidate_Response { +} + +message CBroadcast_WebRTCGetHostCandidates_Request { + optional fixed64 broadcaster_steamid = 1; + optional fixed64 webrtc_session_id = 2; + optional uint32 candidate_generation = 3; +} + +message CBroadcast_WebRTCGetHostCandidates_Response { + optional uint32 candidate_generation = 1; + repeated .CBroadcast_WebRTC_Candidate candidates = 2; +} + message CBroadcast_BroadcastViewerState_Notification { enum EViewerState { k_EViewerNeedsApproval = 1; @@ -266,6 +390,29 @@ message CBroadcast_SendThumbnailToRelay_Notification { optional uint32 thumbnail_height = 5; } +message CBroadcast_WebRTCNeedTURNServer_Notification { + optional fixed64 broadcast_session_id = 1; +} + +message CBroadcast_WebRTCStart_Notification { + optional fixed64 broadcast_session_id = 1; + optional fixed64 webrtc_session_id = 2; + optional fixed64 viewer_steamid = 3; + optional fixed64 viewer_token = 4; +} + +message CBroadcast_WebRTCSetAnswer_Notification { + optional fixed64 broadcast_session_id = 1; + optional fixed64 webrtc_session_id = 2; + optional string answer = 3; +} + +message CBroadcast_WebRTCAddViewerCandidate_Notification { + optional fixed64 broadcast_session_id = 1; + optional fixed64 webrtc_session_id = 2; + optional .CBroadcast_WebRTC_Candidate candidate = 3; +} + service Broadcast { option (service_description) = "Methods for Steam broadcast operations"; rpc BeginBroadcastSession (.CBroadcast_BeginBroadcastSession_Request) returns (.CBroadcast_BeginBroadcastSession_Response) { @@ -319,6 +466,36 @@ service Broadcast { rpc GetBroadcastChatUserNames (.CBroadcast_GetBroadcastChatUserNames_Request) returns (.CBroadcast_GetBroadcastChatUserNames_Response) { option (method_description) = "Get names for list of users in chat"; } + rpc SetRTMPInfo (.CBroadcast_SetRTMPInfo_Request) returns (.CBroadcast_SetRTMPInfo_Response) { + option (method_description) = "Sets RTMP broadcast info"; + } + rpc GetRTMPInfo (.CBroadcast_GetRTMPInfo_Request) returns (.CBroadcast_GetRTMPInfo_Response) { + option (method_description) = "Gets RTMP broadcast info"; + } + rpc NotifyWebRTCHaveTURNServer (.CBroadcast_WebRTCHaveTURNServer_Notification) returns (.NoResponse) { + option (method_description) = "Notification from client to server with the client's TURN server"; + } + rpc WebRTCStartResult (.CBroadcast_WebRTCStartResult_Request) returns (.CBroadcast_WebRTCStartResult_Response) { + option (method_description) = "Notify the server that a WebRTC session has been created by the host"; + } + rpc WebRTCStopped (.CBroadcast_WebRTCStopped_Request) returns (.CBroadcast_WebRTCStopped_Response) { + option (method_description) = "Notify the server that a WebRTC session has been stopped by the host"; + } + rpc WebRTCSetAnswer (.CBroadcast_WebRTCSetAnswer_Request) returns (.CBroadcast_WebRTCSetAnswer_Response) { + option (method_description) = "Notify the server that a WebRTC session has been created by the viewer"; + } + rpc WebRTCLookupTURNServer (.CBroadcast_WebRTCLookupTURNServer_Request) returns (.CBroadcast_WebRTCLookupTURNServer_Response) { + option (method_description) = "Lookup the best TURN server for this client"; + } + rpc WebRTCAddHostCandidate (.CBroadcast_WebRTCAddHostCandidate_Request) returns (.CBroadcast_WebRTCAddHostCandidate_Response) { + option (method_description) = "Add an ICE candidate for the host side of a WebRTC session"; + } + rpc WebRTCAddViewerCandidate (.CBroadcast_WebRTCAddViewerCandidate_Request) returns (.CBroadcast_WebRTCAddViewerCandidate_Response) { + option (method_description) = "Add an ICE candidate for the viewer side of a WebRTC session"; + } + rpc WebRTCGetHostCandidates (.CBroadcast_WebRTCGetHostCandidates_Request) returns (.CBroadcast_WebRTCGetHostCandidates_Response) { + option (method_description) = "Get the ICE candidates for the host side of a WebRTC session"; + } } service BroadcastClient { option (service_execution_site) = k_EProtoExecutionSiteSteamClient; @@ -343,4 +520,16 @@ service BroadcastClient { rpc SendThumbnailToRelay (.CBroadcast_SendThumbnailToRelay_Notification) returns (.NoResponse) { option (method_description) = "Send thumbnails to relay"; } + rpc NotifyWebRTCNeedTURNServer (.CBroadcast_WebRTCNeedTURNServer_Notification) returns (.NoResponse) { + option (method_description) = "Notification from server to client that it needs the client's TURN server"; + } + rpc NotifyWebRTCStart (.CBroadcast_WebRTCStart_Notification) returns (.NoResponse) { + option (method_description) = "Notification from server to client that it should start a WebRTC session"; + } + rpc NotifyWebRTCSetAnswer (.CBroadcast_WebRTCSetAnswer_Notification) returns (.NoResponse) { + option (method_description) = "Notification from server to client about the broadcast viewer WebRTC answer"; + } + rpc NotifyWebRTCAddViewerCandidate (.CBroadcast_WebRTCAddViewerCandidate_Notification) returns (.NoResponse) { + option (method_description) = "Notification from server to client about a broadcast viewer WebRTC ICE candidate"; + } } diff --git a/protobufs/steammessages_clientserver.proto b/protobufs/steammessages_clientserver.proto index d0a822b..5539be7 100644 --- a/protobufs/steammessages_clientserver.proto +++ b/protobufs/steammessages_clientserver.proto @@ -152,6 +152,7 @@ message CMsgClientGamesPlayed { optional uint32 total_steam_controller_count = 18 [default = 0]; optional uint32 total_non_steam_controller_count = 19 [default = 0]; optional uint64 controller_workshop_file_id = 20 [default = 0]; + optional uint32 launch_source = 21 [default = 0]; } repeated .CMsgClientGamesPlayed.GamePlayed games_played = 1; @@ -1172,3 +1173,13 @@ message CMsgClientClanState { optional bool chat_room_private = 8; } +message CMsgClientUnsignedInstallScript { + optional uint32 app_id = 1; + optional string file_name = 2; + optional uint32 file_size = 3; + optional bool signature_broken = 4; + optional uint32 depot_id = 5; + optional uint64 manifest_id = 6; + optional uint32 file_flags = 7; +} + diff --git a/protobufs/steammessages_clientserver_2.proto b/protobufs/steammessages_clientserver_2.proto index 6943d73..2d6245d 100644 --- a/protobufs/steammessages_clientserver_2.proto +++ b/protobufs/steammessages_clientserver_2.proto @@ -458,22 +458,6 @@ message CMsgTrading_StartSession { optional uint64 other_steamid = 1; } -message CMsgClientEmailChange { - optional string password = 1; - optional string email = 2; - optional string code = 3; - optional bool final = 4; - optional bool newmethod = 5; - optional string twofactor_code = 6; - optional string sms_code = 7; - optional bool client_supports_sms = 8; -} - -message CMsgClientEmailChangeResponse { - optional int32 eresult = 1 [default = 2]; - optional bool requires_sms_code = 2; -} - message CMsgClientGetCDNAuthToken { optional uint32 depot_id = 1; optional string host_name = 2; diff --git a/protobufs/steammessages_friendmessages.proto b/protobufs/steammessages_friendmessages.proto new file mode 100644 index 0000000..6bb09db --- /dev/null +++ b/protobufs/steammessages_friendmessages.proto @@ -0,0 +1,113 @@ +syntax = "proto2"; +import "steammessages_unified_base.proto"; + +option py_generic_services = true; + +message CFriendMessages_GetRecentMessages_Request { + optional fixed64 steamid1 = 1; + optional fixed64 steamid2 = 2; + optional uint32 count = 3 [(description) = "If non-zero, cap the number of recent messages to return."]; + optional bool most_recent_conversation = 4 [(description) = "Grab the block of chat from the most recent conversation (a ~5 minute period)"]; + optional fixed32 rtime32_start_time = 5 [(description) = "If non-zero, return only messages with timestamps greater or equal to this. If zero, we only return messages from a recent time cutoff."]; + optional bool bbcode_format = 6 [(description) = "Return the results with bbcode formatting."]; + optional uint32 start_ordinal = 7 [(description) = "Combined with start time, only messages after this ordinal are returned (dedupes messages in same second)"]; + optional uint32 time_last = 8 [(description) = "if present/non-zero, return only messages before this."]; + optional uint32 ordinal_last = 9; +} + +message CFriendMessages_GetRecentMessages_Response { + message FriendMessage { + optional uint32 accountid = 1; + optional uint32 timestamp = 2; + optional string message = 3; + optional uint32 ordinal = 4; + } + + repeated .CFriendMessages_GetRecentMessages_Response.FriendMessage messages = 1 [(description) = "Array of messages, returned newest to oldest."]; + optional bool more_available = 4; +} + +message CFriendsMessages_GetActiveMessageSessions_Request { + optional uint32 lastmessage_since = 1 [(description) = "return only session information where a chat message has been sent since this time (for polling)"]; +} + +message CFriendsMessages_GetActiveMessageSessions_Response { + message FriendMessageSession { + optional uint32 accountid_friend = 1; + optional uint32 last_message = 2; + optional uint32 last_view = 3; + optional uint32 unread_message_count = 4; + } + + repeated .CFriendsMessages_GetActiveMessageSessions_Response.FriendMessageSession message_sessions = 1; + optional uint32 timestamp = 2 [(description) = "This should be passed in the next request as lastmessage_since to poll for updates"]; +} + +message CFriendMessages_SendMessage_Request { + optional fixed64 steamid = 1; + optional int32 chat_entry_type = 2; + optional string message = 3; + optional bool contains_bbcode = 4; + optional bool echo_to_sender = 5; + optional bool low_priority = 6; +} + +message CFriendMessages_SendMessage_Response { + optional string modified_message = 1; + optional uint32 server_timestamp = 2; + optional uint32 ordinal = 3; +} + +message CFriendMessages_AckMessage_Notification { + optional fixed64 steamid_partner = 1; + optional uint32 timestamp = 2; +} + +message CFriendMessages_IsInFriendsUIBeta_Request { + optional fixed64 steamid = 1; +} + +message CFriendMessages_IsInFriendsUIBeta_Response { + optional bool online_in_friendsui = 1; + optional bool has_used_friendsui = 2; +} + +message CFriendMessages_IncomingMessage_Notification { + optional fixed64 steamid_friend = 1; + optional int32 chat_entry_type = 2; + optional bool from_limited_account = 3; + optional string message = 4; + optional fixed32 rtime32_server_timestamp = 5; + optional uint32 ordinal = 6; + optional bool local_echo = 7; + optional string message_no_bbcode = 8; + optional bool low_priority = 9; +} + +service FriendMessages { + option (service_description) = "A service for relaying and logging friend messages (user-to-user chats and offline messaging)"; + rpc GetRecentMessages (.CFriendMessages_GetRecentMessages_Request) returns (.CFriendMessages_GetRecentMessages_Response) { + option (method_description) = "Get a log of recent chat messages between two users"; + } + rpc GetActiveMessageSessions (.CFriendsMessages_GetActiveMessageSessions_Request) returns (.CFriendsMessages_GetActiveMessageSessions_Response) { + option (method_description) = "Get information about recent offline messages and chats"; + } + rpc SendMessage (.CFriendMessages_SendMessage_Request) returns (.CFriendMessages_SendMessage_Response) { + option (method_description) = "Send a chat message to a friend"; + } + rpc AckMessage (.CFriendMessages_AckMessage_Notification) returns (.NoResponse) { + option (method_description) = "Acknowledge that we have seen the most recent message from a friend"; + } + rpc IsInFriendsUIBeta (.CFriendMessages_IsInFriendsUIBeta_Request) returns (.CFriendMessages_IsInFriendsUIBeta_Response) { + option (method_description) = "See if a friend is in the friendsui beta."; + } +} +service FriendMessagesClient { + option (service_execution_site) = k_EProtoExecutionSiteSteamClient; + rpc IncomingMessage (.CFriendMessages_IncomingMessage_Notification) returns (.NoResponse) { + option (method_description) = "New chat message from a friend."; + } + rpc NotifyAckMessageEcho (.CFriendMessages_AckMessage_Notification) returns (.NoResponse) { + option (method_description) = "A session acked an unread message, echo to other sessions."; + } +} diff --git a/protobufs/steammessages_publishedfile.proto b/protobufs/steammessages_publishedfile.proto index 560411b..26318ff 100644 --- a/protobufs/steammessages_publishedfile.proto +++ b/protobufs/steammessages_publishedfile.proto @@ -336,6 +336,7 @@ message CPublishedFile_QueryFiles_Request { optional uint32 query_type = 1 [(description) = "enumeration EPublishedFileQueryType in clientenums.h"]; optional uint32 page = 2 [(description) = "Current page"]; + optional string cursor = 39 [(description) = "Cursor to paginate through the results (set to '*' for the first request). Prefer this over using the page parameter, as it will allow you to do deep pagination. When used, the page parameter will be ignored."]; optional uint32 numperpage = 3 [default = 1, (description) = "(Optional) The number of results, per page to return."]; optional uint32 creator_appid = 4 [(description) = "App that created the files"]; optional uint32 appid = 5 [(description) = "App that consumes the files"]; @@ -370,6 +371,7 @@ message CPublishedFile_QueryFiles_Request { message CPublishedFile_QueryFiles_Response { optional uint32 total = 1 [(description) = "Number of matches found, not necessarily number of items returned"]; repeated .PublishedFileDetails publishedfiledetails = 2 [(description) = "Each file details will be populated, depending on what return values were requested."]; + optional string next_cursor = 3 [(description) = "If a paging cursor was used, then this will be the next cursor to use for paging through results"]; } message CPublishedFile_AddAppRelationship_Request { diff --git a/protobufs/steammessages_store.proto b/protobufs/steammessages_store.proto index 5240691..8f8d3f7 100644 --- a/protobufs/steammessages_store.proto +++ b/protobufs/steammessages_store.proto @@ -18,9 +18,53 @@ message CStore_GetLocalizedNameForTags_Response { repeated .CStore_GetLocalizedNameForTags_Response.Tag tags = 1; } +message CStore_GetStorePreferences_Request { +} + +message CStore_UserPreferences { + optional uint32 primary_language = 1; + optional uint32 secondary_languages = 2; + optional bool platform_windows = 3; + optional bool platform_mac = 4; + optional bool platform_linux = 5; + optional bool hide_adult_content_violence = 6; + optional bool hide_adult_content_sex = 7; + optional uint32 timestamp_updated = 8; + optional bool hide_store_broadcast = 9; + optional int32 timestamp_content_descriptor_preferences_updated = 10; +} + +message CStore_UserTagPreferences { + message Tag { + optional uint32 tagid = 1; + optional string name = 2; + optional uint32 timestamp_added = 3; + } + + repeated .CStore_UserTagPreferences.Tag tags_to_exclude = 1; +} + +message CStore_UserContentDescriptorPreferences { + message ContentDescriptor { + optional uint32 content_descriptorid = 1; + optional uint32 timestamp_added = 2; + } + + repeated .CStore_UserContentDescriptorPreferences.ContentDescriptor content_descriptors_to_exclude = 1; +} + +message CStore_GetStorePreferences_Response { + optional .CStore_UserPreferences preferences = 1; + optional .CStore_UserTagPreferences tag_preferences = 2; + optional .CStore_UserContentDescriptorPreferences content_descriptor_preferences = 3; +} + service Store { option (service_description) = "A service to access store data."; rpc GetLocalizedNameForTags (.CStore_GetLocalizedNameForTags_Request) returns (.CStore_GetLocalizedNameForTags_Response) { option (method_description) = "Gets tag names in a different language"; } + rpc GetStorePreferences (.CStore_GetStorePreferences_Request) returns (.CStore_GetStorePreferences_Response) { + option (method_description) = "Returns the desired ratings board and maximum rating to show on the store"; + } } diff --git a/protobufs/steammessages_useraccount.proto b/protobufs/steammessages_useraccount.proto index 5f8a11c..0204462 100644 --- a/protobufs/steammessages_useraccount.proto +++ b/protobufs/steammessages_useraccount.proto @@ -3,6 +3,24 @@ import "steammessages_unified_base.proto"; option py_generic_services = true; +enum EInternalAccountType { + k_EInternalSteamAccountType = 1; + k_EInternalClanType = 2; + k_EInternalAppType = 3; + k_EInternalBroadcastChannelType = 4; +} + +enum EExternalAccountType { + k_EExternalNone = 0; + k_EExternalSteamAccount = 1; + k_EExternalGoogleAccount = 2; + k_EExternalFacebookAccount = 3; + k_EExternalTwitterAccount = 4; + k_EExternalTwitchAccount = 5; + k_EExternalYouTubeChannelAccount = 6; + k_EExternalFacebookPage = 7; +} + message CUserAccount_GetAccountLinkStatus_Request { } @@ -11,6 +29,34 @@ message CUserAccount_GetAccountLinkStatus_Response { optional uint32 identity_verification = 2; } +message CUserAccount_CreateFriendInviteToken_Request { + optional uint32 invite_limit = 1; + optional uint32 invite_duration = 2; + optional string invite_note = 3; +} + +message CUserAccount_CreateFriendInviteToken_Response { + optional string invite_token = 1; + optional uint64 invite_limit = 2; + optional uint64 invite_duration = 3; + optional fixed32 time_created = 4; + optional bool valid = 5; +} + +message CUserAccount_GetFriendInviteTokens_Request { +} + +message CUserAccount_GetFriendInviteTokens_Response { + repeated .CUserAccount_CreateFriendInviteToken_Response tokens = 1; +} + +message CUserAccount_RevokeFriendInviteToken_Request { + optional string invite_token = 1; +} + +message CUserAccount_RevokeFriendInviteToken_Response { +} + message CUserAccount_RegisterCompatTool_Request { optional uint32 compat_tool = 1; } @@ -18,12 +64,48 @@ message CUserAccount_RegisterCompatTool_Request { message CUserAccount_RegisterCompatTool_Response { } +message CAccountLinking_GetLinkedAccountInfo_Request { + optional .EInternalAccountType account_type = 1 [default = k_EInternalSteamAccountType]; + optional uint64 account_id = 2 [(description) = "Internal account ID"]; + optional .EExternalAccountType filter = 3 [default = k_EExternalNone, (description) = "if specified then only return this external account type"]; + optional bool return_access_token = 4 [(description) = "if provided and true, then returns valid access token if available. It may refresh the token. "]; +} + +message CAccountLinking_GetLinkedAccountInfo_Response { + message CExternalAccountTuple_Response { + optional .EExternalAccountType external_type = 1 [default = k_EExternalNone]; + optional string external_id = 2 [(description) = "unique external account identifier"]; + optional string external_user_name = 3 [(description) = "user readable; best effort"]; + optional string external_url = 4 [(description) = "required for all, can be a sentinal to verify correctness"]; + optional string access_token = 5 [(description) = "provided if requeest and it was valid."]; + optional string access_token_secret = 6 [(description) = "required for OAuth v1 and signing the message, provided with access token."]; + optional bool is_valid = 7 [(description) = "If false, it means access token no longer work (expired, disconnected) and the link is now broken. Inform user to refresh."]; + } + + repeated .CAccountLinking_GetLinkedAccountInfo_Response.CExternalAccountTuple_Response external_accounts = 1; +} + service UserAccount { option (service_description) = "A service to get user account information"; rpc GetAccountLinkStatus (.CUserAccount_GetAccountLinkStatus_Request) returns (.CUserAccount_GetAccountLinkStatus_Response) { option (method_description) = "Fetches account link status"; } + rpc CreateFriendInviteToken (.CUserAccount_CreateFriendInviteToken_Request) returns (.CUserAccount_CreateFriendInviteToken_Response) { + option (method_description) = "Create a limited-use token that can be used to create a friend request"; + } + rpc GetFriendInviteTokens (.CUserAccount_GetFriendInviteTokens_Request) returns (.CUserAccount_GetFriendInviteTokens_Response) { + option (method_description) = "Get the set of active tokens for the user"; + } + rpc RevokeFriendInviteToken (.CUserAccount_RevokeFriendInviteToken_Request) returns (.CUserAccount_RevokeFriendInviteToken_Response) { + option (method_description) = "Revoke an active friend invite token"; + } rpc RegisterCompatTool (.CUserAccount_RegisterCompatTool_Request) returns (.CUserAccount_RegisterCompatTool_Response) { option (method_description) = "Register intended account usage of a tool"; } } +service AccountLinking { + option (service_description) = "A service to manage and link to external accounts"; + rpc GetLinkedAccountInfo (.CAccountLinking_GetLinkedAccountInfo_Request) returns (.CAccountLinking_GetLinkedAccountInfo_Response) { + option (method_description) = "List all my active linked external accounts; may be requested to return the access token"; + } +} diff --git a/steam/core/msg/unified.py b/steam/core/msg/unified.py index 7b9cbd3..346d5f6 100644 --- a/steam/core/msg/unified.py +++ b/steam/core/msg/unified.py @@ -2,40 +2,42 @@ import re from importlib import import_module service_lookup = { - 'Broadcast': 'steam.protobufs.steammessages_broadcast_pb2', - 'Cloud': 'steam.protobufs.steammessages_cloud_pb2', - 'DNReport': 'steam.protobufs.steammessages_cloud_pb2', - 'Credentials': 'steam.protobufs.steammessages_credentials_pb2', - 'ContentBuilder': 'steam.protobufs.steammessages_depotbuilder_pb2', - 'DeviceAuth': 'steam.protobufs.steammessages_deviceauth_pb2', - 'DataPublisher': 'steam.protobufs.steammessages_datapublisher_pb2', - 'ValveHWSurvey': 'steam.protobufs.steammessages_datapublisher_pb2', - 'Econ': 'steam.protobufs.steammessages_econ_pb2', - 'GameNotifications': 'steam.protobufs.steammessages_gamenotifications_pb2', - 'GameServers': 'steam.protobufs.steammessages_gameservers_pb2', - 'Inventory': 'steam.protobufs.steammessages_inventory_pb2', - 'Community': 'steam.protobufs.steammessages_linkfilter_pb2', - 'Offline': 'steam.protobufs.steammessages_offline_pb2', - 'Parental': 'steam.protobufs.steammessages_parental_pb2', - 'PartnerApps': 'steam.protobufs.steammessages_partnerapps_pb2', - 'PhysicalGoods': 'steam.protobufs.steammessages_physicalgoods_pb2', - 'PlayerClient': 'steam.protobufs.steammessages_player_pb2', - 'Player': 'steam.protobufs.steammessages_player_pb2', - 'PublishedFile': 'steam.protobufs.steammessages_publishedfile_pb2', - 'KeyEscrow': 'steam.protobufs.steammessages_secrets_pb2', - 'Shader': 'steam.protobufs.steammessages_shader_pb2', - 'SiteLicense': 'steam.protobufs.steammessages_site_license_pb2', - 'Store': 'steam.protobufs.steammessages_store_pb2', - 'TwoFactor': 'steam.protobufs.steammessages_twofactor_pb2', - 'MsgTest': 'steam.protobufs.steammessages_unified_test_pb2', - 'UserAccount': 'steam.protobufs.steammessages_useraccount_pb2', - 'Video': 'steam.protobufs.steammessages_video_pb2', - 'Chat': 'steam.protobufs.steammessages_chat_pb2', - 'ChatRoom': 'steam.protobufs.steammessages_chat_pb2', - 'ClanChatRooms': 'steam.protobufs.steammessages_chat_pb2', - 'ChatRoomClient': 'steam.protobufs.steammessages_chat_pb2', - 'ChatUsability': 'steam.protobufs.steammessages_chat_pb2', - 'ChatUsabilityClient': 'steam.protobufs.steammessages_chat_pb2', + 'Broadcast': 'steam.protobufs.steammessages_broadcast_pb2', + 'Cloud': 'steam.protobufs.steammessages_cloud_pb2', + 'DNReport': 'steam.protobufs.steammessages_cloud_pb2', + 'Credentials': 'steam.protobufs.steammessages_credentials_pb2', + 'ContentBuilder': 'steam.protobufs.steammessages_depotbuilder_pb2', + 'DeviceAuth': 'steam.protobufs.steammessages_deviceauth_pb2', + 'DataPublisher': 'steam.protobufs.steammessages_datapublisher_pb2', + 'ValveHWSurvey': 'steam.protobufs.steammessages_datapublisher_pb2', + 'Econ': 'steam.protobufs.steammessages_econ_pb2', + 'GameNotifications': 'steam.protobufs.steammessages_gamenotifications_pb2', + 'GameServers': 'steam.protobufs.steammessages_gameservers_pb2', + 'Inventory': 'steam.protobufs.steammessages_inventory_pb2', + 'Community': 'steam.protobufs.steammessages_linkfilter_pb2', + 'Offline': 'steam.protobufs.steammessages_offline_pb2', + 'Parental': 'steam.protobufs.steammessages_parental_pb2', + 'PartnerApps': 'steam.protobufs.steammessages_partnerapps_pb2', + 'PhysicalGoods': 'steam.protobufs.steammessages_physicalgoods_pb2', + 'PlayerClient': 'steam.protobufs.steammessages_player_pb2', + 'Player': 'steam.protobufs.steammessages_player_pb2', + 'PublishedFile': 'steam.protobufs.steammessages_publishedfile_pb2', + 'KeyEscrow': 'steam.protobufs.steammessages_secrets_pb2', + 'Shader': 'steam.protobufs.steammessages_shader_pb2', + 'SiteLicense': 'steam.protobufs.steammessages_site_license_pb2', + 'Store': 'steam.protobufs.steammessages_store_pb2', + 'TwoFactor': 'steam.protobufs.steammessages_twofactor_pb2', + 'MsgTest': 'steam.protobufs.steammessages_unified_test_pb2', + 'UserAccount': 'steam.protobufs.steammessages_useraccount_pb2', + 'Video': 'steam.protobufs.steammessages_video_pb2', + 'Chat': 'steam.protobufs.steammessages_chat_pb2', + 'ChatRoom': 'steam.protobufs.steammessages_chat_pb2', + 'ClanChatRooms': 'steam.protobufs.steammessages_chat_pb2', + 'ChatRoomClient': 'steam.protobufs.steammessages_chat_pb2', + 'ChatUsability': 'steam.protobufs.steammessages_chat_pb2', + 'ChatUsabilityClient': 'steam.protobufs.steammessages_chat_pb2', + 'FriendMessages': 'steam.protobufs.steammessages_friendmessages_pb2', + 'FriendMessagesClient': 'steam.protobufs.steammessages_friendmessages_pb2', } method_lookup = {} diff --git a/steam/protobufs/steammessages_base_pb2.py b/steam/protobufs/steammessages_base_pb2.py index 15828a0..5a66e72 100644 --- a/steam/protobufs/steammessages_base_pb2.py +++ b/steam/protobufs/steammessages_base_pb2.py @@ -20,7 +20,7 @@ DESCRIPTOR = _descriptor.FileDescriptor( name='steammessages_base.proto', package='', syntax='proto2', - serialized_pb=_b('\n\x18steammessages_base.proto\x1a google/protobuf/descriptor.proto\"\xc5\x04\n\x12\x43MsgProtoBufHeader\x12\x0f\n\x07steamid\x18\x01 \x01(\x06\x12\x18\n\x10\x63lient_sessionid\x18\x02 \x01(\x05\x12\x15\n\rrouting_appid\x18\x03 \x01(\r\x12*\n\x0cjobid_source\x18\n \x01(\x06:\x14\x31\x38\x34\x34\x36\x37\x34\x34\x30\x37\x33\x37\x30\x39\x35\x35\x31\x36\x31\x35\x12*\n\x0cjobid_target\x18\x0b \x01(\x06:\x14\x31\x38\x34\x34\x36\x37\x34\x34\x30\x37\x33\x37\x30\x39\x35\x35\x31\x36\x31\x35\x12\x17\n\x0ftarget_job_name\x18\x0c \x01(\t\x12\x0f\n\x07seq_num\x18\x18 \x01(\x05\x12\x12\n\x07\x65result\x18\r \x01(\x05:\x01\x32\x12\x15\n\rerror_message\x18\x0e \x01(\t\x12\n\n\x02ip\x18\x0f \x01(\r\x12\x1a\n\x12\x61uth_account_flags\x18\x10 \x01(\r\x12\x14\n\x0ctoken_source\x18\x16 \x01(\r\x12\x1b\n\x13\x61\x64min_spoofing_user\x18\x17 \x01(\x08\x12\x1a\n\x0ftransport_error\x18\x11 \x01(\x05:\x01\x31\x12\'\n\tmessageid\x18\x12 \x01(\x04:\x14\x31\x38\x34\x34\x36\x37\x34\x34\x30\x37\x33\x37\x30\x39\x35\x35\x31\x36\x31\x35\x12\x1a\n\x12publisher_group_id\x18\x13 \x01(\r\x12\r\n\x05sysid\x18\x14 \x01(\r\x12\x11\n\ttrace_tag\x18\x15 \x01(\x04\x12\x15\n\rwebapi_key_id\x18\x19 \x01(\r\x12\x1f\n\x17is_from_external_source\x18\x1a \x01(\x08\x12\x18\n\x10\x66orward_to_sysid\x18\x1b \x03(\r\x12\x10\n\x08\x63m_sysid\x18\x1c \x01(\r\"8\n\tCMsgMulti\x12\x15\n\rsize_unzipped\x18\x01 \x01(\r\x12\x14\n\x0cmessage_body\x18\x02 \x01(\x0c\"+\n\x13\x43MsgProtobufWrapped\x12\x14\n\x0cmessage_body\x18\x01 \x01(\x0c\"\x8f\x01\n\x0e\x43MsgAuthTicket\x12\x0e\n\x06\x65state\x18\x01 \x01(\r\x12\x12\n\x07\x65result\x18\x02 \x01(\r:\x01\x32\x12\x0f\n\x07steamid\x18\x03 \x01(\x06\x12\x0e\n\x06gameid\x18\x04 \x01(\x06\x12\x14\n\x0ch_steam_pipe\x18\x05 \x01(\r\x12\x12\n\nticket_crc\x18\x06 \x01(\r\x12\x0e\n\x06ticket\x18\x07 \x01(\x0c\"\xf6\x01\n\x14\x43\x43\x44\x44\x42\x41ppDetailCommon\x12\r\n\x05\x61ppid\x18\x01 \x01(\r\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0c\n\x04icon\x18\x03 \x01(\t\x12\x0c\n\x04logo\x18\x04 \x01(\t\x12\x12\n\nlogo_small\x18\x05 \x01(\t\x12\x0c\n\x04tool\x18\x06 \x01(\x08\x12\x0c\n\x04\x64\x65mo\x18\x07 \x01(\x08\x12\r\n\x05media\x18\x08 \x01(\x08\x12\x1f\n\x17\x63ommunity_visible_stats\x18\t \x01(\x08\x12\x15\n\rfriendly_name\x18\n \x01(\t\x12\x13\n\x0bpropagation\x18\x0b \x01(\t\x12\x19\n\x11has_adult_content\x18\x0c \x01(\x08\"\xef\x02\n\rCMsgAppRights\x12\x11\n\tedit_info\x18\x01 \x01(\x08\x12\x0f\n\x07publish\x18\x02 \x01(\x08\x12\x17\n\x0fview_error_data\x18\x03 \x01(\x08\x12\x10\n\x08\x64ownload\x18\x04 \x01(\x08\x12\x15\n\rupload_cdkeys\x18\x05 \x01(\x08\x12\x17\n\x0fgenerate_cdkeys\x18\x06 \x01(\x08\x12\x17\n\x0fview_financials\x18\x07 \x01(\x08\x12\x12\n\nmanage_ceg\x18\x08 \x01(\x08\x12\x16\n\x0emanage_signing\x18\t \x01(\x08\x12\x15\n\rmanage_cdkeys\x18\n \x01(\x08\x12\x16\n\x0e\x65\x64it_marketing\x18\x0b \x01(\x08\x12\x17\n\x0f\x65\x63onomy_support\x18\x0c \x01(\x08\x12\"\n\x1a\x65\x63onomy_support_supervisor\x18\r \x01(\x08\x12\x16\n\x0emanage_pricing\x18\x0e \x01(\x08\x12\x16\n\x0e\x62roadcast_live\x18\x0f \x01(\x08\"\xf1\x02\n\x13\x43\x43uratorPreferences\x12\x1b\n\x13supported_languages\x18\x01 \x01(\r\x12\x18\n\x10platform_windows\x18\x02 \x01(\x08\x12\x14\n\x0cplatform_mac\x18\x03 \x01(\x08\x12\x16\n\x0eplatform_linux\x18\x04 \x01(\x08\x12\x12\n\nvr_content\x18\x05 \x01(\x08\x12\x1e\n\x16\x61\x64ult_content_violence\x18\x06 \x01(\x08\x12\x19\n\x11\x61\x64ult_content_sex\x18\x07 \x01(\x08\x12\x19\n\x11timestamp_updated\x18\x08 \x01(\r\x12\x16\n\x0etagids_curated\x18\t \x03(\r\x12\x17\n\x0ftagids_filtered\x18\n \x03(\r\x12\x15\n\rwebsite_title\x18\x0b \x01(\t\x12\x13\n\x0bwebsite_url\x18\x0c \x01(\t\x12\x16\n\x0e\x64iscussion_url\x18\r \x01(\t\x12\x16\n\x0eshow_broadcast\x18\x0e \x01(\x08\"@\n\x12\x43LocalizationToken\x12\x10\n\x08language\x18\x01 \x01(\r\x12\x18\n\x10localized_string\x18\x02 \x01(\t:A\n\x12msgpool_soft_limit\x12\x1f.google.protobuf.MessageOptions\x18\xd0\x86\x03 \x01(\x05:\x02\x33\x32:B\n\x12msgpool_hard_limit\x12\x1f.google.protobuf.MessageOptions\x18\xd1\x86\x03 \x01(\x05:\x03\x33\x38\x34:C\n\x14\x66orce_php_generation\x12\x1c.google.protobuf.FileOptions\x18\xd0\x86\x03 \x01(\x08:\x05\x66\x61lse:H\n\x18php_output_always_number\x12\x1d.google.protobuf.FieldOptions\x18\xe4\x86\x03 \x01(\x08:\x05\x66\x61lseB\x05H\x01\x90\x01\x00') + serialized_pb=_b('\n\x18steammessages_base.proto\x1a google/protobuf/descriptor.proto\"1\n\rCMsgIPAddress\x12\x0c\n\x02v4\x18\x01 \x01(\x07H\x00\x12\x0c\n\x02v6\x18\x02 \x01(\x0cH\x00\x42\x04\n\x02ip\"\xf5\x04\n\x12\x43MsgProtoBufHeader\x12\x0f\n\x07steamid\x18\x01 \x01(\x06\x12\x18\n\x10\x63lient_sessionid\x18\x02 \x01(\x05\x12\x15\n\rrouting_appid\x18\x03 \x01(\r\x12*\n\x0cjobid_source\x18\n \x01(\x06:\x14\x31\x38\x34\x34\x36\x37\x34\x34\x30\x37\x33\x37\x30\x39\x35\x35\x31\x36\x31\x35\x12*\n\x0cjobid_target\x18\x0b \x01(\x06:\x14\x31\x38\x34\x34\x36\x37\x34\x34\x30\x37\x33\x37\x30\x39\x35\x35\x31\x36\x31\x35\x12\x17\n\x0ftarget_job_name\x18\x0c \x01(\t\x12\x0f\n\x07seq_num\x18\x18 \x01(\x05\x12\x12\n\x07\x65result\x18\r \x01(\x05:\x01\x32\x12\x15\n\rerror_message\x18\x0e \x01(\t\x12\x1a\n\x12\x61uth_account_flags\x18\x10 \x01(\r\x12\x14\n\x0ctoken_source\x18\x16 \x01(\r\x12\x1b\n\x13\x61\x64min_spoofing_user\x18\x17 \x01(\x08\x12\x1a\n\x0ftransport_error\x18\x11 \x01(\x05:\x01\x31\x12\'\n\tmessageid\x18\x12 \x01(\x04:\x14\x31\x38\x34\x34\x36\x37\x34\x34\x30\x37\x33\x37\x30\x39\x35\x35\x31\x36\x31\x35\x12\x1a\n\x12publisher_group_id\x18\x13 \x01(\r\x12\r\n\x05sysid\x18\x14 \x01(\r\x12\x11\n\ttrace_tag\x18\x15 \x01(\x04\x12\x15\n\rwebapi_key_id\x18\x19 \x01(\r\x12\x1f\n\x17is_from_external_source\x18\x1a \x01(\x08\x12\x18\n\x10\x66orward_to_sysid\x18\x1b \x03(\r\x12\x10\n\x08\x63m_sysid\x18\x1c \x01(\r\x12\x10\n\x08wg_token\x18\x1e \x01(\t\x12\x0c\n\x02ip\x18\x0f \x01(\rH\x00\x12\x0f\n\x05ip_v6\x18\x1d \x01(\x0cH\x00\x42\t\n\x07ip_addr\"8\n\tCMsgMulti\x12\x15\n\rsize_unzipped\x18\x01 \x01(\r\x12\x14\n\x0cmessage_body\x18\x02 \x01(\x0c\"+\n\x13\x43MsgProtobufWrapped\x12\x14\n\x0cmessage_body\x18\x01 \x01(\x0c\"\x8f\x01\n\x0e\x43MsgAuthTicket\x12\x0e\n\x06\x65state\x18\x01 \x01(\r\x12\x12\n\x07\x65result\x18\x02 \x01(\r:\x01\x32\x12\x0f\n\x07steamid\x18\x03 \x01(\x06\x12\x0e\n\x06gameid\x18\x04 \x01(\x06\x12\x14\n\x0ch_steam_pipe\x18\x05 \x01(\r\x12\x12\n\nticket_crc\x18\x06 \x01(\r\x12\x0e\n\x06ticket\x18\x07 \x01(\x0c\"\xf6\x01\n\x14\x43\x43\x44\x44\x42\x41ppDetailCommon\x12\r\n\x05\x61ppid\x18\x01 \x01(\r\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0c\n\x04icon\x18\x03 \x01(\t\x12\x0c\n\x04logo\x18\x04 \x01(\t\x12\x12\n\nlogo_small\x18\x05 \x01(\t\x12\x0c\n\x04tool\x18\x06 \x01(\x08\x12\x0c\n\x04\x64\x65mo\x18\x07 \x01(\x08\x12\r\n\x05media\x18\x08 \x01(\x08\x12\x1f\n\x17\x63ommunity_visible_stats\x18\t \x01(\x08\x12\x15\n\rfriendly_name\x18\n \x01(\t\x12\x13\n\x0bpropagation\x18\x0b \x01(\t\x12\x19\n\x11has_adult_content\x18\x0c \x01(\x08\"\xef\x02\n\rCMsgAppRights\x12\x11\n\tedit_info\x18\x01 \x01(\x08\x12\x0f\n\x07publish\x18\x02 \x01(\x08\x12\x17\n\x0fview_error_data\x18\x03 \x01(\x08\x12\x10\n\x08\x64ownload\x18\x04 \x01(\x08\x12\x15\n\rupload_cdkeys\x18\x05 \x01(\x08\x12\x17\n\x0fgenerate_cdkeys\x18\x06 \x01(\x08\x12\x17\n\x0fview_financials\x18\x07 \x01(\x08\x12\x12\n\nmanage_ceg\x18\x08 \x01(\x08\x12\x16\n\x0emanage_signing\x18\t \x01(\x08\x12\x15\n\rmanage_cdkeys\x18\n \x01(\x08\x12\x16\n\x0e\x65\x64it_marketing\x18\x0b \x01(\x08\x12\x17\n\x0f\x65\x63onomy_support\x18\x0c \x01(\x08\x12\"\n\x1a\x65\x63onomy_support_supervisor\x18\r \x01(\x08\x12\x16\n\x0emanage_pricing\x18\x0e \x01(\x08\x12\x16\n\x0e\x62roadcast_live\x18\x0f \x01(\x08\"\xf1\x02\n\x13\x43\x43uratorPreferences\x12\x1b\n\x13supported_languages\x18\x01 \x01(\r\x12\x18\n\x10platform_windows\x18\x02 \x01(\x08\x12\x14\n\x0cplatform_mac\x18\x03 \x01(\x08\x12\x16\n\x0eplatform_linux\x18\x04 \x01(\x08\x12\x12\n\nvr_content\x18\x05 \x01(\x08\x12\x1e\n\x16\x61\x64ult_content_violence\x18\x06 \x01(\x08\x12\x19\n\x11\x61\x64ult_content_sex\x18\x07 \x01(\x08\x12\x19\n\x11timestamp_updated\x18\x08 \x01(\r\x12\x16\n\x0etagids_curated\x18\t \x03(\r\x12\x17\n\x0ftagids_filtered\x18\n \x03(\r\x12\x15\n\rwebsite_title\x18\x0b \x01(\t\x12\x13\n\x0bwebsite_url\x18\x0c \x01(\t\x12\x16\n\x0e\x64iscussion_url\x18\r \x01(\t\x12\x16\n\x0eshow_broadcast\x18\x0e \x01(\x08\"@\n\x12\x43LocalizationToken\x12\x10\n\x08language\x18\x01 \x01(\r\x12\x18\n\x10localized_string\x18\x02 \x01(\t:A\n\x12msgpool_soft_limit\x12\x1f.google.protobuf.MessageOptions\x18\xd0\x86\x03 \x01(\x05:\x02\x33\x32:B\n\x12msgpool_hard_limit\x12\x1f.google.protobuf.MessageOptions\x18\xd1\x86\x03 \x01(\x05:\x03\x33\x38\x34:C\n\x14\x66orce_php_generation\x12\x1c.google.protobuf.FileOptions\x18\xd0\x86\x03 \x01(\x08:\x05\x66\x61lse:H\n\x18php_output_always_number\x12\x1d.google.protobuf.FieldOptions\x18\xe4\x86\x03 \x01(\x08:\x05\x66\x61lseB\x05H\x01\x90\x01\x00') , dependencies=[google_dot_protobuf_dot_descriptor__pb2.DESCRIPTOR,]) _sym_db.RegisterFileDescriptor(DESCRIPTOR) @@ -60,6 +60,47 @@ php_output_always_number = _descriptor.FieldDescriptor( options=None) +_CMSGIPADDRESS = _descriptor.Descriptor( + name='CMsgIPAddress', + full_name='CMsgIPAddress', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='v4', full_name='CMsgIPAddress.v4', index=0, + number=1, type=7, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None), + _descriptor.FieldDescriptor( + name='v6', full_name='CMsgIPAddress.v6', index=1, + number=2, type=12, cpp_type=9, label=1, + has_default_value=False, default_value=_b(""), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto2', + extension_ranges=[], + oneofs=[ + _descriptor.OneofDescriptor( + name='ip', full_name='CMsgIPAddress.ip', + index=0, containing_type=None, fields=[]), + ], + serialized_start=62, + serialized_end=111, +) + + _CMSGPROTOBUFHEADER = _descriptor.Descriptor( name='CMsgProtoBufHeader', full_name='CMsgProtoBufHeader', @@ -131,96 +172,110 @@ _CMSGPROTOBUFHEADER = _descriptor.Descriptor( is_extension=False, extension_scope=None, options=None), _descriptor.FieldDescriptor( - name='ip', full_name='CMsgProtoBufHeader.ip', index=9, - number=15, type=13, cpp_type=3, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None), - _descriptor.FieldDescriptor( - name='auth_account_flags', full_name='CMsgProtoBufHeader.auth_account_flags', index=10, + name='auth_account_flags', full_name='CMsgProtoBufHeader.auth_account_flags', index=9, number=16, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None), _descriptor.FieldDescriptor( - name='token_source', full_name='CMsgProtoBufHeader.token_source', index=11, + name='token_source', full_name='CMsgProtoBufHeader.token_source', index=10, number=22, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None), _descriptor.FieldDescriptor( - name='admin_spoofing_user', full_name='CMsgProtoBufHeader.admin_spoofing_user', index=12, + name='admin_spoofing_user', full_name='CMsgProtoBufHeader.admin_spoofing_user', index=11, number=23, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None), _descriptor.FieldDescriptor( - name='transport_error', full_name='CMsgProtoBufHeader.transport_error', index=13, + name='transport_error', full_name='CMsgProtoBufHeader.transport_error', index=12, number=17, type=5, cpp_type=1, label=1, has_default_value=True, default_value=1, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None), _descriptor.FieldDescriptor( - name='messageid', full_name='CMsgProtoBufHeader.messageid', index=14, + name='messageid', full_name='CMsgProtoBufHeader.messageid', index=13, number=18, type=4, cpp_type=4, label=1, has_default_value=True, default_value=18446744073709551615, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None), _descriptor.FieldDescriptor( - name='publisher_group_id', full_name='CMsgProtoBufHeader.publisher_group_id', index=15, + name='publisher_group_id', full_name='CMsgProtoBufHeader.publisher_group_id', index=14, number=19, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None), _descriptor.FieldDescriptor( - name='sysid', full_name='CMsgProtoBufHeader.sysid', index=16, + name='sysid', full_name='CMsgProtoBufHeader.sysid', index=15, number=20, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None), _descriptor.FieldDescriptor( - name='trace_tag', full_name='CMsgProtoBufHeader.trace_tag', index=17, + name='trace_tag', full_name='CMsgProtoBufHeader.trace_tag', index=16, number=21, type=4, cpp_type=4, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None), _descriptor.FieldDescriptor( - name='webapi_key_id', full_name='CMsgProtoBufHeader.webapi_key_id', index=18, + name='webapi_key_id', full_name='CMsgProtoBufHeader.webapi_key_id', index=17, number=25, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None), _descriptor.FieldDescriptor( - name='is_from_external_source', full_name='CMsgProtoBufHeader.is_from_external_source', index=19, + name='is_from_external_source', full_name='CMsgProtoBufHeader.is_from_external_source', index=18, number=26, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None), _descriptor.FieldDescriptor( - name='forward_to_sysid', full_name='CMsgProtoBufHeader.forward_to_sysid', index=20, + name='forward_to_sysid', full_name='CMsgProtoBufHeader.forward_to_sysid', index=19, number=27, type=13, cpp_type=3, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None), _descriptor.FieldDescriptor( - name='cm_sysid', full_name='CMsgProtoBufHeader.cm_sysid', index=21, + name='cm_sysid', full_name='CMsgProtoBufHeader.cm_sysid', index=20, number=28, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None), + _descriptor.FieldDescriptor( + name='wg_token', full_name='CMsgProtoBufHeader.wg_token', index=21, + number=30, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=_b("").decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None), + _descriptor.FieldDescriptor( + name='ip', full_name='CMsgProtoBufHeader.ip', index=22, + number=15, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None), + _descriptor.FieldDescriptor( + name='ip_v6', full_name='CMsgProtoBufHeader.ip_v6', index=23, + number=29, type=12, cpp_type=9, label=1, + has_default_value=False, default_value=_b(""), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None), ], extensions=[ ], @@ -232,9 +287,12 @@ _CMSGPROTOBUFHEADER = _descriptor.Descriptor( syntax='proto2', extension_ranges=[], oneofs=[ + _descriptor.OneofDescriptor( + name='ip_addr', full_name='CMsgProtoBufHeader.ip_addr', + index=0, containing_type=None, fields=[]), ], - serialized_start=63, - serialized_end=644, + serialized_start=114, + serialized_end=743, ) @@ -271,8 +329,8 @@ _CMSGMULTI = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=646, - serialized_end=702, + serialized_start=745, + serialized_end=801, ) @@ -302,8 +360,8 @@ _CMSGPROTOBUFWRAPPED = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=704, - serialized_end=747, + serialized_start=803, + serialized_end=846, ) @@ -375,8 +433,8 @@ _CMSGAUTHTICKET = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=750, - serialized_end=893, + serialized_start=849, + serialized_end=992, ) @@ -483,8 +541,8 @@ _CCDDBAPPDETAILCOMMON = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=896, - serialized_end=1142, + serialized_start=995, + serialized_end=1241, ) @@ -612,8 +670,8 @@ _CMSGAPPRIGHTS = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=1145, - serialized_end=1512, + serialized_start=1244, + serialized_end=1611, ) @@ -734,8 +792,8 @@ _CCURATORPREFERENCES = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=1515, - serialized_end=1884, + serialized_start=1614, + serialized_end=1983, ) @@ -772,10 +830,23 @@ _CLOCALIZATIONTOKEN = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=1886, - serialized_end=1950, + serialized_start=1985, + serialized_end=2049, ) +_CMSGIPADDRESS.oneofs_by_name['ip'].fields.append( + _CMSGIPADDRESS.fields_by_name['v4']) +_CMSGIPADDRESS.fields_by_name['v4'].containing_oneof = _CMSGIPADDRESS.oneofs_by_name['ip'] +_CMSGIPADDRESS.oneofs_by_name['ip'].fields.append( + _CMSGIPADDRESS.fields_by_name['v6']) +_CMSGIPADDRESS.fields_by_name['v6'].containing_oneof = _CMSGIPADDRESS.oneofs_by_name['ip'] +_CMSGPROTOBUFHEADER.oneofs_by_name['ip_addr'].fields.append( + _CMSGPROTOBUFHEADER.fields_by_name['ip']) +_CMSGPROTOBUFHEADER.fields_by_name['ip'].containing_oneof = _CMSGPROTOBUFHEADER.oneofs_by_name['ip_addr'] +_CMSGPROTOBUFHEADER.oneofs_by_name['ip_addr'].fields.append( + _CMSGPROTOBUFHEADER.fields_by_name['ip_v6']) +_CMSGPROTOBUFHEADER.fields_by_name['ip_v6'].containing_oneof = _CMSGPROTOBUFHEADER.oneofs_by_name['ip_addr'] +DESCRIPTOR.message_types_by_name['CMsgIPAddress'] = _CMSGIPADDRESS DESCRIPTOR.message_types_by_name['CMsgProtoBufHeader'] = _CMSGPROTOBUFHEADER DESCRIPTOR.message_types_by_name['CMsgMulti'] = _CMSGMULTI DESCRIPTOR.message_types_by_name['CMsgProtobufWrapped'] = _CMSGPROTOBUFWRAPPED @@ -789,6 +860,13 @@ DESCRIPTOR.extensions_by_name['msgpool_hard_limit'] = msgpool_hard_limit DESCRIPTOR.extensions_by_name['force_php_generation'] = force_php_generation DESCRIPTOR.extensions_by_name['php_output_always_number'] = php_output_always_number +CMsgIPAddress = _reflection.GeneratedProtocolMessageType('CMsgIPAddress', (_message.Message,), dict( + DESCRIPTOR = _CMSGIPADDRESS, + __module__ = 'steammessages_base_pb2' + # @@protoc_insertion_point(class_scope:CMsgIPAddress) + )) +_sym_db.RegisterMessage(CMsgIPAddress) + CMsgProtoBufHeader = _reflection.GeneratedProtocolMessageType('CMsgProtoBufHeader', (_message.Message,), dict( DESCRIPTOR = _CMSGPROTOBUFHEADER, __module__ = 'steammessages_base_pb2' diff --git a/steam/protobufs/steammessages_broadcast_pb2.py b/steam/protobufs/steammessages_broadcast_pb2.py index 3476168..a8ed21a 100644 --- a/steam/protobufs/steammessages_broadcast_pb2.py +++ b/steam/protobufs/steammessages_broadcast_pb2.py @@ -23,7 +23,7 @@ DESCRIPTOR = _descriptor.FileDescriptor( name='steammessages_broadcast.proto', package='', syntax='proto2', - serialized_pb=_b('\n\x1dsteammessages_broadcast.proto\x1a steammessages_unified_base.proto\"\xb7\x01\n(CBroadcast_BeginBroadcastSession_Request\x12\x12\n\npermission\x18\x01 \x01(\x05\x12\x0e\n\x06gameid\x18\x02 \x01(\x04\x12\x1a\n\x12\x63lient_instance_id\x18\x03 \x01(\x04\x12\r\n\x05title\x18\x04 \x01(\t\x12\x0e\n\x06\x63\x65llid\x18\x05 \x01(\r\x12\x12\n\nrtmp_token\x18\x06 \x01(\x04\x12\x18\n\x10thumbnail_upload\x18\x07 \x01(\x08\"\x9c\x03\n)CBroadcast_BeginBroadcastSession_Response\x12\x14\n\x0c\x62roadcast_id\x18\x01 \x01(\x06\x12P\n\x18thumbnail_upload_address\x18\x02 \x01(\tB.\x82\xb5\x18*Http address to upload the thumbnail data.\x12\x65\n\x16thumbnail_upload_token\x18\x03 \x01(\tBE\x82\xb5\x18\x41token to authorize as broadcaster to upload content to the relay.\x12K\n\x1athumbnail_interval_seconds\x18\x04 \x01(\rB\'\x82\xb5\x18#how many seconds between thumbnails\x12S\n\x1aheartbeat_interval_seconds\x18\x05 \x01(\rB/\x82\xb5\x18+how many seconds between session heartbeats\">\n&CBroadcast_EndBroadcastSession_Request\x12\x14\n\x0c\x62roadcast_id\x18\x01 \x01(\x06\")\n\'CBroadcast_EndBroadcastSession_Response\"\xcb\x01\n\'CBroadcast_StartBroadcastUpload_Request\x12\x14\n\x0c\x62roadcast_id\x18\x01 \x01(\x06\x12\x0e\n\x06\x63\x65llid\x18\x02 \x01(\r\x12\x0f\n\x07\x61s_rtmp\x18\x03 \x01(\x08\x12\x15\n\rdelay_seconds\x18\x04 \x01(\r\x12R\n\nrtmp_token\x18\x05 \x01(\x04:\x01\x30\x42;\x82\xb5\x18\x37Only set during RTMP uploads; secret key from the user.\"\xb7\x01\n(CBroadcast_StartBroadcastUpload_Response\x12\x14\n\x0cupload_token\x18\x01 \x01(\t\x12\x16\n\x0eupload_address\x18\x02 \x01(\t\x12\x17\n\x0fupload_relay_id\x18\x03 \x01(\x06\x12 \n\x18thumbnail_upload_address\x18\x04 \x01(\t\x12\"\n\x1athumbnail_interval_seconds\x18\x05 \x01(\r\"f\n1CBroadcast_NotifyBroadcastUploadStop_Notification\x12\x1a\n\x12\x62roadcast_relay_id\x18\x01 \x01(\x06\x12\x15\n\rupload_result\x18\x02 \x01(\r\"\x89\x03\n!CBroadcast_WatchBroadcast_Request\x12)\n\x07steamid\x18\x01 \x01(\x06\x42\x18\x82\xb5\x18\x14\x62roadcaster steamID.\x12X\n\x15\x65xisting_broadcast_id\x18\x02 \x01(\x06\x42\x39\x82\xb5\x18\x35\x62roadcast session ID (optional, rejoin if specified).\x12\x62\n\x0cviewer_token\x18\x03 \x01(\x06\x42L\x82\xb5\x18Hviewer token received from last WatchRequest call, from browser storage.\x12\x11\n\tclient_ip\x18\x04 \x01(\r\x12\x13\n\x0b\x63lient_cell\x18\x05 \x01(\r\x12S\n\x0ewatch_location\x18\x06 \x01(\x0e\x32\x18.EBroadcastWatchLocation:!k_EBroadcastWatchLocation_Invalid\"\xd0\x06\n\"CBroadcast_WatchBroadcast_Response\x12[\n\x08response\x18\x01 \x01(\x0e\x32\x32.CBroadcast_WatchBroadcast_Response.EWatchResponse:\x15k_EWatchResponseReady\x12\x0f\n\x07mpd_url\x18\x02 \x01(\t\x12\x14\n\x0c\x62roadcast_id\x18\x03 \x01(\x06\x12\x0e\n\x06gameid\x18\x04 \x01(\x04\x12\r\n\x05title\x18\x05 \x01(\t\x12\x13\n\x0bnum_viewers\x18\x06 \x01(\r\x12\x12\n\npermission\x18\x07 \x01(\x05\x12\x0f\n\x07is_rtmp\x18\x08 \x01(\x08\x12\x15\n\rseconds_delay\x18\t \x01(\x05\x12\x14\n\x0cviewer_token\x18\n \x01(\x06\x12\x1b\n\x13hls_m3u8_master_url\x18\x0b \x01(\t\x12\x1a\n\x12heartbeat_interval\x18\x0c \x01(\x05\x12\x15\n\rthumbnail_url\x18\r \x01(\t\"\xcf\x03\n\x0e\x45WatchResponse\x12\x19\n\x15k_EWatchResponseReady\x10\x01\x12 \n\x1ck_EWatchResponseNotAvailable\x10\x02\x12&\n\"k_EWatchResponseWaitingForApproval\x10\x03\x12#\n\x1fk_EWatchResponseWaitingForStart\x10\x04\x12\"\n\x1ek_EWatchResponseInvalidSession\x10\x05\x12%\n!k_EWatchResponseTooManyBroadcasts\x10\x06\x12\'\n#k_EWatchResponseWaitingForReconnect\x10\x07\x12&\n\"k_EWatchResponseSystemNotSupported\x10\x08\x12\"\n\x1ek_EWatchResponseUserRestricted\x10\t\x12#\n\x1fk_EWatchResponseClientOutOfDate\x10\n\x12%\n!k_EWatchResponsePoorUploadQuality\x10\x0b\x12\'\n#k_EWatchResponseMissingSubscription\x10\x0c\"\xae\x02\n*CBroadcast_HeartbeatBroadcast_Notification\x12)\n\x07steamid\x18\x01 \x01(\x06\x42\x18\x82\xb5\x18\x14\x62roadcaster steamID.\x12/\n\x0c\x62roadcast_id\x18\x02 \x01(\x06\x42\x19\x82\xb5\x18\x15\x62roadcast session ID.\x12\x62\n\x0cviewer_token\x18\x03 \x01(\x06\x42L\x82\xb5\x18Hviewer token received from last WatchRequest call, from browser storage.\x12@\n\x0erepresentation\x18\x04 \x01(\rB(\x82\xb5\x18$video stream representation watching\"\xef\x01\n-CBroadcast_StopWatchingBroadcast_Notification\x12)\n\x07steamid\x18\x01 \x01(\x06\x42\x18\x82\xb5\x18\x14\x62roadcaster steamID.\x12/\n\x0c\x62roadcast_id\x18\x02 \x01(\x06\x42\x19\x82\xb5\x18\x15\x62roadcast session ID.\x12\x62\n\x0cviewer_token\x18\x03 \x01(\x06\x42L\x82\xb5\x18Hviewer token received from last WatchRequest call, from browser storage.\"\xb0\x01\n%CBroadcast_GetBroadcastStatus_Request\x12)\n\x07steamid\x18\x01 \x01(\x06\x42\x18\x82\xb5\x18\x14\x62roadcaster steamID.\x12\\\n\x0c\x62roadcast_id\x18\x02 \x01(\x06\x42\x46\x82\xb5\x18\x42\x62roadcast session ID to proof that user is allowed to see details.\"\x86\x02\n&CBroadcast_GetBroadcastStatus_Response\x12\x0e\n\x06gameid\x18\x01 \x01(\x04\x12\r\n\x05title\x18\x02 \x01(\t\x12\x13\n\x0bnum_viewers\x18\x03 \x01(\r\x12\x12\n\npermission\x18\x04 \x01(\x05\x12\x0f\n\x07is_rtmp\x18\x05 \x01(\x08\x12\x15\n\rseconds_delay\x18\x06 \x01(\x05\x12\x14\n\x0cis_publisher\x18\x07 \x01(\x08\x12\x15\n\rthumbnail_url\x18\x08 \x01(\t\x12\x17\n\x0fupdate_interval\x18\t \x01(\x05\x12\x14\n\x0cis_uploading\x18\n \x01(\x08\x12\x10\n\x08\x64uration\x18\x0b \x01(\r\"Q\n(CBroadcast_GetBroadcastThumbnail_Request\x12\x0f\n\x07steamid\x18\x01 \x01(\x06\x12\x14\n\x0c\x62roadcast_id\x18\x02 \x01(\x06\"p\n)CBroadcast_GetBroadcastThumbnail_Response\x12\x15\n\rthumbnail_url\x18\x01 \x01(\t\x12\x17\n\x0fupdate_interval\x18\x02 \x01(\x05\x12\x13\n\x0bnum_viewers\x18\x03 \x01(\x05\"R\n$CBroadcast_InviteToBroadcast_Request\x12\x0f\n\x07steamid\x18\x01 \x01(\x06\x12\x19\n\x11\x61pproval_response\x18\x02 \x01(\x08\"8\n%CBroadcast_InviteToBroadcast_Response\x12\x0f\n\x07success\x18\x01 \x01(\x08\"|\n-CBroadcast_SendBroadcastStateToServer_Request\x12\x12\n\npermission\x18\x01 \x01(\x05\x12\x0e\n\x06gameid\x18\x02 \x01(\x04\x12\r\n\x05title\x18\x03 \x01(\t\x12\x18\n\x10game_data_config\x18\x04 \x01(\t\"0\n.CBroadcast_SendBroadcastStateToServer_Response\"O\n7CBroadcast_NotifyBroadcastSessionHeartbeat_Notification\x12\x14\n\x0c\x62roadcast_id\x18\x01 \x01(\x06\"x\n\'CBroadcast_GetBroadcastChatInfo_Request\x12\x0f\n\x07steamid\x18\x01 \x01(\x06\x12\x14\n\x0c\x62roadcast_id\x18\x02 \x01(\x06\x12\x11\n\tclient_ip\x18\x03 \x01(\r\x12\x13\n\x0b\x63lient_cell\x18\x04 \x01(\r\"h\n(CBroadcast_GetBroadcastChatInfo_Response\x12\x0f\n\x07\x63hat_id\x18\x01 \x01(\x06\x12\x10\n\x08view_url\x18\x02 \x01(\t\x12\x19\n\x11view_url_template\x18\x03 \x01(\t\"[\n\"CBroadcast_PostChatMessage_Request\x12\x0f\n\x07\x63hat_id\x18\x01 \x01(\x06\x12\x0f\n\x07message\x18\x02 \x01(\t\x12\x13\n\x0binstance_id\x18\x03 \x01(\r\"{\n#CBroadcast_PostChatMessage_Response\x12\x14\n\x0cpersona_name\x18\x01 \x01(\t\x12\x0f\n\x07in_game\x18\x02 \x01(\x08\x12\x0e\n\x06result\x18\x03 \x01(\x05\x12\x1d\n\x15\x63ooldown_time_seconds\x18\x04 \x01(\x05\"`\n(CBroadcast_MuteBroadcastChatUser_Request\x12\x0f\n\x07\x63hat_id\x18\x01 \x01(\x06\x12\x14\n\x0cuser_steamid\x18\x02 \x01(\x06\x12\r\n\x05muted\x18\x03 \x01(\x08\"+\n)CBroadcast_MuteBroadcastChatUser_Response\"N\n%CBroadcast_RemoveUserChatText_Request\x12\x0f\n\x07\x63hat_id\x18\x01 \x01(\x06\x12\x14\n\x0cuser_steamid\x18\x02 \x01(\x06\"(\n&CBroadcast_RemoveUserChatText_Response\"U\n,CBroadcast_GetBroadcastChatUserNames_Request\x12\x0f\n\x07\x63hat_id\x18\x01 \x01(\x06\x12\x14\n\x0cuser_steamid\x18\x02 \x03(\x06\"\xb4\x01\n-CBroadcast_GetBroadcastChatUserNames_Response\x12Q\n\rpersona_names\x18\x01 \x03(\x0b\x32:.CBroadcast_GetBroadcastChatUserNames_Response.PersonaName\x1a\x30\n\x0bPersonaName\x12\x10\n\x08steam_id\x18\x01 \x01(\x06\x12\x0f\n\x07persona\x18\x02 \x01(\t\"\xf8\x01\n,CBroadcast_BroadcastViewerState_Notification\x12\x0f\n\x07steamid\x18\x01 \x01(\x06\x12\x61\n\x05state\x18\x02 \x01(\x0e\x32:.CBroadcast_BroadcastViewerState_Notification.EViewerState:\x16k_EViewerNeedsApproval\"T\n\x0c\x45ViewerState\x12\x1a\n\x16k_EViewerNeedsApproval\x10\x01\x12\x15\n\x11k_EViewerWatching\x10\x02\x12\x11\n\rk_EViewerLeft\x10\x03\"F\n.CBroadcast_WaitingBroadcastViewer_Notification\x12\x14\n\x0c\x62roadcast_id\x18\x01 \x01(\x06\"\x95\x01\n+CBroadcast_StopBroadcastUpload_Notification\x12\x14\n\x0c\x62roadcast_id\x18\x01 \x01(\x06\x12\x1a\n\x12\x62roadcast_relay_id\x18\x02 \x01(\x06\x12\x15\n\rupload_result\x18\x03 \x01(\r\x12\x1d\n\x15too_many_poor_uploads\x18\x04 \x01(\x08\"=\n%CBroadcast_SessionClosed_Notification\x12\x14\n\x0c\x62roadcast_id\x18\x01 \x01(\x06\"L\n-CBroadcast_ViewerBroadcastInvite_Notification\x12\x1b\n\x13\x62roadcaster_steamid\x18\x01 \x01(\x06\"T\n\'CBroadcast_BroadcastStatus_Notification\x12\x14\n\x0c\x62roadcast_id\x18\x01 \x01(\x06\x12\x13\n\x0bnum_viewers\x18\x02 \x01(\x05\"\xc1\x01\n,CBroadcast_SendThumbnailToRelay_Notification\x12\x1e\n\x16thumbnail_upload_token\x18\x01 \x01(\t\x12&\n\x1ethumbnail_broadcast_session_id\x18\x02 \x01(\x06\x12\x16\n\x0ethumbnail_data\x18\x03 \x01(\x0c\x12\x17\n\x0fthumbnail_width\x18\x04 \x01(\r\x12\x18\n\x10thumbnail_height\x18\x05 \x01(\r*\xf3\x02\n\x17\x45\x42roadcastWatchLocation\x12%\n!k_EBroadcastWatchLocation_Invalid\x10\x00\x12)\n%k_EBroadcastWatchLocation_SteamTV_Tab\x10\x01\x12\x30\n,k_EBroadcastWatchLocation_SteamTV_WatchParty\x10\x02\x12&\n\"k_EBroadcastWatchLocation_Chat_Tab\x10\x03\x12-\n)k_EBroadcastWatchLocation_Chat_WatchParty\x10\x04\x12+\n\'k_EBroadcastWatchLocation_CommunityPage\x10\x05\x12*\n&k_EBroadcastWatchLocation_StoreAppPage\x10\x06\x12$\n k_EBroadcastWatchLocation_InGame\x10\x07\x32\xc3\x16\n\tBroadcast\x12\xed\x01\n\x15\x42\x65ginBroadcastSession\x12).CBroadcast_BeginBroadcastSession_Request\x1a*.CBroadcast_BeginBroadcastSession_Response\"}\x82\xb5\x18yRequest from client to directory to begin a broadcast session. No data being sent to relay; just available for broadcast.\x12\xba\x01\n\x13\x45ndBroadcastSession\x12\'.CBroadcast_EndBroadcastSession_Request\x1a(.CBroadcast_EndBroadcastSession_Response\"P\x82\xb5\x18LRequest from client to stop a broadcast session. Any uploads will terminate.\x12\xac\x01\n\x14StartBroadcastUpload\x12(.CBroadcast_StartBroadcastUpload_Request\x1a).CBroadcast_StartBroadcastUpload_Response\"?\x82\xb5\x18;Request from client to begin sending video for a broadcast.\x12\x99\x01\n\x19NotifyBroadcastUploadStop\x12\x32.CBroadcast_NotifyBroadcastUploadStop_Notification\x1a\x0b.NoResponse\";\x82\xb5\x18\x37Tells directory that client stopped uploading broadcast\x12\x87\x01\n\x0eWatchBroadcast\x12\".CBroadcast_WatchBroadcast_Request\x1a#.CBroadcast_WatchBroadcast_Response\",\x82\xb5\x18(Request from viewer to watch a broadcast\x12\x81\x01\n\x12HeartbeatBroadcast\x12+.CBroadcast_HeartbeatBroadcast_Notification\x1a\x0b.NoResponse\"1\x82\xb5\x18-Notify directory that user is still watching.\x12\xc1\x01\n\x15StopWatchingBroadcast\x12..CBroadcast_StopWatchingBroadcast_Notification\x1a\x0b.NoResponse\"k\x82\xb5\x18gRequest to immediately stop watching a broadcast. Optional Method, if not called, viewer will time out.\x12\x96\x01\n\x12GetBroadcastStatus\x12&.CBroadcast_GetBroadcastStatus_Request\x1a\'.CBroadcast_GetBroadcastStatus_Response\"/\x82\xb5\x18+Request from viewer about broadcast details\x12\x97\x01\n\x15GetBroadcastThumbnail\x12).CBroadcast_GetBroadcastThumbnail_Request\x1a*.CBroadcast_GetBroadcastThumbnail_Response\"\'\x82\xb5\x18#Request thumbnail URL for broadcast\x12\xa2\x01\n\x11InviteToBroadcast\x12%.CBroadcast_InviteToBroadcast_Request\x1a&.CBroadcast_InviteToBroadcast_Response\">\x82\xb5\x18:Invites another steam user to watch the caller\'s broadcast\x12\xc8\x01\n\x1aSendBroadcastStateToServer\x12..CBroadcast_SendBroadcastStateToServer_Request\x1a/.CBroadcast_SendBroadcastStateToServer_Response\"I\x82\xb5\x18\x45Sends users current broadcast state (permissions, game) to the server\x12\xa2\x01\n\x1fNotifyBroadcastSessionHeartbeat\x12\x38.CBroadcast_NotifyBroadcastSessionHeartbeat_Notification\x1a\x0b.NoResponse\"8\x82\xb5\x18\x34Tells directory broadcast session is still available\x12\x94\x01\n\x14GetBroadcastChatInfo\x12(.CBroadcast_GetBroadcastChatInfo_Request\x1a).CBroadcast_GetBroadcastChatInfo_Response\"\'\x82\xb5\x18#Gets chat room info for a broadcast\x12\x8a\x01\n\x0fPostChatMessage\x12#.CBroadcast_PostChatMessage_Request\x1a$.CBroadcast_PostChatMessage_Response\",\x82\xb5\x18(Post chat message to specified chat room\x12\x96\x01\n\x15MuteBroadcastChatUser\x12).CBroadcast_MuteBroadcastChatUser_Request\x1a*.CBroadcast_MuteBroadcastChatUser_Response\"&\x82\xb5\x18\"Mute a user in your broadcast chat\x12\x94\x01\n\x12RemoveUserChatText\x12&.CBroadcast_RemoveUserChatText_Request\x1a\'.CBroadcast_RemoveUserChatText_Response\"-\x82\xb5\x18)Tell all viewers to remove user chat text\x12\xa3\x01\n\x19GetBroadcastChatUserNames\x12-.CBroadcast_GetBroadcastChatUserNames_Request\x1a..CBroadcast_GetBroadcastChatUserNames_Response\"\'\x82\xb5\x18#Get names for list of users in chat\x1a*\x82\xb5\x18&Methods for Steam broadcast operations2\xdc\t\n\x0f\x42roadcastClient\x12\xa1\x01\n\x1aNotifyBroadcastViewerState\x12-.CBroadcast_BroadcastViewerState_Notification\x1a\x0b.NoResponse\"G\x82\xb5\x18\x43Notification from server to client that a viewers state has changed\x12\xbd\x01\n\x1cNotifyWaitingBroadcastViewer\x12/.CBroadcast_WaitingBroadcastViewer_Notification\x1a\x0b.NoResponse\"_\x82\xb5\x18[Notification from server to client one or more users is waiting for user to start broadcast\x12\xd6\x01\n\x19NotifyStopBroadcastUpload\x12,.CBroadcast_StopBroadcastUpload_Notification\x1a\x0b.NoResponse\"~\x82\xb5\x18zNotification from server to client telling it to stop uploading when the last viewer has disconnected from their broadcast\x12\xb5\x01\n\x13NotifySessionClosed\x12&.CBroadcast_SessionClosed_Notification\x1a\x0b.NoResponse\"i\x82\xb5\x18\x65Notification from server to client telling it a session has been closed unexpectedly by the directory\x12\xc3\x01\n\x1bNotifyViewerBroadcastInvite\x12..CBroadcast_ViewerBroadcastInvite_Notification\x1a\x0b.NoResponse\"g\x82\xb5\x18\x63Notification from server to client that a broadcaster is inviting a viewer to watch their broadcast\x12\x95\x01\n\x15NotifyBroadcastStatus\x12(.CBroadcast_BroadcastStatus_Notification\x1a\x0b.NoResponse\"E\x82\xb5\x18\x41Notification from server to client about current broadcast status\x12p\n\x14SendThumbnailToRelay\x12-.CBroadcast_SendThumbnailToRelay_Notification\x1a\x0b.NoResponse\"\x1c\x82\xb5\x18\x18Send thumbnails to relay\x1a\x04\xc0\xb5\x18\x02\x42\x03\x90\x01\x01') + serialized_pb=_b('\n\x1dsteammessages_broadcast.proto\x1a steammessages_unified_base.proto\"\xb7\x01\n(CBroadcast_BeginBroadcastSession_Request\x12\x12\n\npermission\x18\x01 \x01(\x05\x12\x0e\n\x06gameid\x18\x02 \x01(\x04\x12\x1a\n\x12\x63lient_instance_id\x18\x03 \x01(\x04\x12\r\n\x05title\x18\x04 \x01(\t\x12\x0e\n\x06\x63\x65llid\x18\x05 \x01(\r\x12\x12\n\nrtmp_token\x18\x06 \x01(\x04\x12\x18\n\x10thumbnail_upload\x18\x07 \x01(\x08\"\x9c\x03\n)CBroadcast_BeginBroadcastSession_Response\x12\x14\n\x0c\x62roadcast_id\x18\x01 \x01(\x06\x12P\n\x18thumbnail_upload_address\x18\x02 \x01(\tB.\x82\xb5\x18*Http address to upload the thumbnail data.\x12\x65\n\x16thumbnail_upload_token\x18\x03 \x01(\tBE\x82\xb5\x18\x41token to authorize as broadcaster to upload content to the relay.\x12K\n\x1athumbnail_interval_seconds\x18\x04 \x01(\rB\'\x82\xb5\x18#how many seconds between thumbnails\x12S\n\x1aheartbeat_interval_seconds\x18\x05 \x01(\rB/\x82\xb5\x18+how many seconds between session heartbeats\">\n&CBroadcast_EndBroadcastSession_Request\x12\x14\n\x0c\x62roadcast_id\x18\x01 \x01(\x06\")\n\'CBroadcast_EndBroadcastSession_Response\"\xe6\x01\n\'CBroadcast_StartBroadcastUpload_Request\x12\x14\n\x0c\x62roadcast_id\x18\x01 \x01(\x06\x12\x0e\n\x06\x63\x65llid\x18\x02 \x01(\r\x12\x0f\n\x07\x61s_rtmp\x18\x03 \x01(\x08\x12\x15\n\rdelay_seconds\x18\x04 \x01(\r\x12R\n\nrtmp_token\x18\x05 \x01(\x04:\x01\x30\x42;\x82\xb5\x18\x37Only set during RTMP uploads; secret key from the user.\x12\x19\n\x11upload_ip_address\x18\x06 \x01(\r\"\xb7\x01\n(CBroadcast_StartBroadcastUpload_Response\x12\x14\n\x0cupload_token\x18\x01 \x01(\t\x12\x16\n\x0eupload_address\x18\x02 \x01(\t\x12\x17\n\x0fupload_relay_id\x18\x03 \x01(\x06\x12 \n\x18thumbnail_upload_address\x18\x04 \x01(\t\x12\"\n\x1athumbnail_interval_seconds\x18\x05 \x01(\r\"g\n1CBroadcast_NotifyBroadcastUploadStop_Notification\x12\x1b\n\x13\x62roadcast_upload_id\x18\x01 \x01(\x06\x12\x15\n\rupload_result\x18\x02 \x01(\r\"\x9c\x03\n!CBroadcast_WatchBroadcast_Request\x12)\n\x07steamid\x18\x01 \x01(\x06\x42\x18\x82\xb5\x18\x14\x62roadcaster steamID.\x12X\n\x15\x65xisting_broadcast_id\x18\x02 \x01(\x06\x42\x39\x82\xb5\x18\x35\x62roadcast session ID (optional, rejoin if specified).\x12\x62\n\x0cviewer_token\x18\x03 \x01(\x06\x42L\x82\xb5\x18Hviewer token received from last WatchRequest call, from browser storage.\x12\x11\n\tclient_ip\x18\x04 \x01(\r\x12\x13\n\x0b\x63lient_cell\x18\x05 \x01(\r\x12S\n\x0ewatch_location\x18\x06 \x01(\x0e\x32\x18.EBroadcastWatchLocation:!k_EBroadcastWatchLocation_Invalid\x12\x11\n\tis_webrtc\x18\x07 \x01(\x08\"\xb4\x07\n\"CBroadcast_WatchBroadcast_Response\x12[\n\x08response\x18\x01 \x01(\x0e\x32\x32.CBroadcast_WatchBroadcast_Response.EWatchResponse:\x15k_EWatchResponseReady\x12\x0f\n\x07mpd_url\x18\x02 \x01(\t\x12\x14\n\x0c\x62roadcast_id\x18\x03 \x01(\x06\x12\x0e\n\x06gameid\x18\x04 \x01(\x04\x12\r\n\x05title\x18\x05 \x01(\t\x12\x13\n\x0bnum_viewers\x18\x06 \x01(\r\x12\x12\n\npermission\x18\x07 \x01(\x05\x12\x0f\n\x07is_rtmp\x18\x08 \x01(\x08\x12\x15\n\rseconds_delay\x18\t \x01(\x05\x12\x14\n\x0cviewer_token\x18\n \x01(\x06\x12\x1b\n\x13hls_m3u8_master_url\x18\x0b \x01(\t\x12\x1a\n\x12heartbeat_interval\x18\x0c \x01(\x05\x12\x15\n\rthumbnail_url\x18\r \x01(\t\x12\x11\n\tis_webrtc\x18\x0e \x01(\x08\x12\x19\n\x11webrtc_session_id\x18\x0f \x01(\x06\x12\x18\n\x10webrtc_offer_sdp\x18\x10 \x01(\t\x12\x1a\n\x12webrtc_turn_server\x18\x11 \x01(\t\"\xcf\x03\n\x0e\x45WatchResponse\x12\x19\n\x15k_EWatchResponseReady\x10\x01\x12 \n\x1ck_EWatchResponseNotAvailable\x10\x02\x12&\n\"k_EWatchResponseWaitingForApproval\x10\x03\x12#\n\x1fk_EWatchResponseWaitingForStart\x10\x04\x12\"\n\x1ek_EWatchResponseInvalidSession\x10\x05\x12%\n!k_EWatchResponseTooManyBroadcasts\x10\x06\x12\'\n#k_EWatchResponseWaitingForReconnect\x10\x07\x12&\n\"k_EWatchResponseSystemNotSupported\x10\x08\x12\"\n\x1ek_EWatchResponseUserRestricted\x10\t\x12#\n\x1fk_EWatchResponseClientOutOfDate\x10\n\x12%\n!k_EWatchResponsePoorUploadQuality\x10\x0b\x12\'\n#k_EWatchResponseMissingSubscription\x10\x0c\"\xae\x02\n*CBroadcast_HeartbeatBroadcast_Notification\x12)\n\x07steamid\x18\x01 \x01(\x06\x42\x18\x82\xb5\x18\x14\x62roadcaster steamID.\x12/\n\x0c\x62roadcast_id\x18\x02 \x01(\x06\x42\x19\x82\xb5\x18\x15\x62roadcast session ID.\x12\x62\n\x0cviewer_token\x18\x03 \x01(\x06\x42L\x82\xb5\x18Hviewer token received from last WatchRequest call, from browser storage.\x12@\n\x0erepresentation\x18\x04 \x01(\rB(\x82\xb5\x18$video stream representation watching\"\xef\x01\n-CBroadcast_StopWatchingBroadcast_Notification\x12)\n\x07steamid\x18\x01 \x01(\x06\x42\x18\x82\xb5\x18\x14\x62roadcaster steamID.\x12/\n\x0c\x62roadcast_id\x18\x02 \x01(\x06\x42\x19\x82\xb5\x18\x15\x62roadcast session ID.\x12\x62\n\x0cviewer_token\x18\x03 \x01(\x06\x42L\x82\xb5\x18Hviewer token received from last WatchRequest call, from browser storage.\"\xb0\x01\n%CBroadcast_GetBroadcastStatus_Request\x12)\n\x07steamid\x18\x01 \x01(\x06\x42\x18\x82\xb5\x18\x14\x62roadcaster steamID.\x12\\\n\x0c\x62roadcast_id\x18\x02 \x01(\x06\x42\x46\x82\xb5\x18\x42\x62roadcast session ID to proof that user is allowed to see details.\"\x86\x02\n&CBroadcast_GetBroadcastStatus_Response\x12\x0e\n\x06gameid\x18\x01 \x01(\x04\x12\r\n\x05title\x18\x02 \x01(\t\x12\x13\n\x0bnum_viewers\x18\x03 \x01(\r\x12\x12\n\npermission\x18\x04 \x01(\x05\x12\x0f\n\x07is_rtmp\x18\x05 \x01(\x08\x12\x15\n\rseconds_delay\x18\x06 \x01(\x05\x12\x14\n\x0cis_publisher\x18\x07 \x01(\x08\x12\x15\n\rthumbnail_url\x18\x08 \x01(\t\x12\x17\n\x0fupdate_interval\x18\t \x01(\x05\x12\x14\n\x0cis_uploading\x18\n \x01(\x08\x12\x10\n\x08\x64uration\x18\x0b \x01(\r\"Q\n(CBroadcast_GetBroadcastThumbnail_Request\x12\x0f\n\x07steamid\x18\x01 \x01(\x06\x12\x14\n\x0c\x62roadcast_id\x18\x02 \x01(\x06\"p\n)CBroadcast_GetBroadcastThumbnail_Response\x12\x15\n\rthumbnail_url\x18\x01 \x01(\t\x12\x17\n\x0fupdate_interval\x18\x02 \x01(\x05\x12\x13\n\x0bnum_viewers\x18\x03 \x01(\x05\"R\n$CBroadcast_InviteToBroadcast_Request\x12\x0f\n\x07steamid\x18\x01 \x01(\x06\x12\x19\n\x11\x61pproval_response\x18\x02 \x01(\x08\"8\n%CBroadcast_InviteToBroadcast_Response\x12\x0f\n\x07success\x18\x01 \x01(\x08\"|\n-CBroadcast_SendBroadcastStateToServer_Request\x12\x12\n\npermission\x18\x01 \x01(\x05\x12\x0e\n\x06gameid\x18\x02 \x01(\x04\x12\r\n\x05title\x18\x03 \x01(\t\x12\x18\n\x10game_data_config\x18\x04 \x01(\t\"0\n.CBroadcast_SendBroadcastStateToServer_Response\"O\n7CBroadcast_NotifyBroadcastSessionHeartbeat_Notification\x12\x14\n\x0c\x62roadcast_id\x18\x01 \x01(\x06\"x\n\'CBroadcast_GetBroadcastChatInfo_Request\x12\x0f\n\x07steamid\x18\x01 \x01(\x06\x12\x14\n\x0c\x62roadcast_id\x18\x02 \x01(\x06\x12\x11\n\tclient_ip\x18\x03 \x01(\r\x12\x13\n\x0b\x63lient_cell\x18\x04 \x01(\r\"h\n(CBroadcast_GetBroadcastChatInfo_Response\x12\x0f\n\x07\x63hat_id\x18\x01 \x01(\x06\x12\x10\n\x08view_url\x18\x02 \x01(\t\x12\x19\n\x11view_url_template\x18\x03 \x01(\t\"[\n\"CBroadcast_PostChatMessage_Request\x12\x0f\n\x07\x63hat_id\x18\x01 \x01(\x06\x12\x0f\n\x07message\x18\x02 \x01(\t\x12\x13\n\x0binstance_id\x18\x03 \x01(\r\"{\n#CBroadcast_PostChatMessage_Response\x12\x14\n\x0cpersona_name\x18\x01 \x01(\t\x12\x0f\n\x07in_game\x18\x02 \x01(\x08\x12\x0e\n\x06result\x18\x03 \x01(\x05\x12\x1d\n\x15\x63ooldown_time_seconds\x18\x04 \x01(\x05\"`\n(CBroadcast_MuteBroadcastChatUser_Request\x12\x0f\n\x07\x63hat_id\x18\x01 \x01(\x06\x12\x14\n\x0cuser_steamid\x18\x02 \x01(\x06\x12\r\n\x05muted\x18\x03 \x01(\x08\"+\n)CBroadcast_MuteBroadcastChatUser_Response\"N\n%CBroadcast_RemoveUserChatText_Request\x12\x0f\n\x07\x63hat_id\x18\x01 \x01(\x06\x12\x14\n\x0cuser_steamid\x18\x02 \x01(\x06\"(\n&CBroadcast_RemoveUserChatText_Response\"U\n,CBroadcast_GetBroadcastChatUserNames_Request\x12\x0f\n\x07\x63hat_id\x18\x01 \x01(\x06\x12\x14\n\x0cuser_steamid\x18\x02 \x03(\x06\"\xb4\x01\n-CBroadcast_GetBroadcastChatUserNames_Response\x12Q\n\rpersona_names\x18\x01 \x03(\x0b\x32:.CBroadcast_GetBroadcastChatUserNames_Response.PersonaName\x1a\x30\n\x0bPersonaName\x12\x10\n\x08steam_id\x18\x01 \x01(\x06\x12\x0f\n\x07persona\x18\x02 \x01(\t\"\x8a\x04\n\x1e\x43\x42roadcast_SetRTMPInfo_Request\x12\x1c\n\x14\x62roadcast_permission\x18\x01 \x01(\x05\x12\x14\n\x0cupdate_token\x18\x02 \x01(\x08\x12\x17\n\x0f\x62roadcast_delay\x18\x03 \x01(\x05\x12\x0e\n\x06\x61pp_id\x18\x04 \x01(\r\x12\x17\n\x0frequired_app_id\x18\x05 \x01(\r\x12\x9c\x01\n\x19\x62roadcast_chat_permission\x18\x06 \x01(\x0e\x32\x19.EBroadcastChatPermission: k_EBroadcastChatPermissionPublicB<\x82\xb5\x18\x38Who is permitted to send a chat message during broadcast\x12N\n\x10\x62roadcast_buffer\x18\x07 \x01(\x05\x42\x34\x82\xb5\x18\x30Previous seconds we keep of the stream available\x12>\n\x07steamid\x18\x08 \x01(\x06\x42-\x82\xb5\x18)broadcaster steamID if not logged-in user\x12\x43\n\x0f\x63hat_rate_limit\x18\t \x01(\rB*\x82\xb5\x18&Seconds required between chat messages\"!\n\x1f\x43\x42roadcast_SetRTMPInfo_Response\"l\n\x1e\x43\x42roadcast_GetRTMPInfo_Request\x12\n\n\x02ip\x18\x01 \x01(\r\x12>\n\x07steamid\x18\x02 \x01(\x06\x42-\x82\xb5\x18)broadcaster steamID if not logged-in user\"\xf7\x03\n\x1f\x43\x42roadcast_GetRTMPInfo_Response\x12\x1c\n\x14\x62roadcast_permission\x18\x01 \x01(\x05\x12\x11\n\trtmp_host\x18\x02 \x01(\t\x12\x12\n\nrtmp_token\x18\x03 \x01(\t\x12\x17\n\x0f\x62roadcast_delay\x18\x04 \x01(\x05\x12\x0e\n\x06\x61pp_id\x18\x05 \x01(\r\x12\x17\n\x0frequired_app_id\x18\x06 \x01(\r\x12\x9c\x01\n\x19\x62roadcast_chat_permission\x18\x07 \x01(\x0e\x32\x19.EBroadcastChatPermission: k_EBroadcastChatPermissionPublicB<\x82\xb5\x18\x38Who is permitted to send a chat message during broadcast\x12?\n\x10\x62roadcast_buffer\x18\x08 \x01(\x05\x42%\x82\xb5\x18!Seconds we keep streams available\x12(\n\x07steamid\x18\t \x01(\x06\x42\x17\x82\xb5\x18\x13\x62roadcaster steamID\x12\x43\n\x0f\x63hat_rate_limit\x18\n \x01(\rB*\x82\xb5\x18&Seconds required between chat messages\"a\n,CBroadcast_WebRTCHaveTURNServer_Notification\x12\x1c\n\x14\x62roadcast_session_id\x18\x01 \x01(\x06\x12\x13\n\x0bturn_server\x18\x02 \x01(\t\"\x9a\x01\n$CBroadcast_WebRTCStartResult_Request\x12\x19\n\x11webrtc_session_id\x18\x01 \x01(\x06\x12\x0f\n\x07started\x18\x02 \x01(\x08\x12\r\n\x05offer\x18\x03 \x01(\t\x12\x14\n\x0cresolution_x\x18\x04 \x01(\r\x12\x14\n\x0cresolution_y\x18\x05 \x01(\r\x12\x0b\n\x03\x66ps\x18\x06 \x01(\r\"\'\n%CBroadcast_WebRTCStartResult_Response\"=\n CBroadcast_WebRTCStopped_Request\x12\x19\n\x11webrtc_session_id\x18\x01 \x01(\x06\"#\n!CBroadcast_WebRTCStopped_Response\"l\n\"CBroadcast_WebRTCSetAnswer_Request\x12\x1b\n\x13\x62roadcaster_steamid\x18\x01 \x01(\x06\x12\x19\n\x11webrtc_session_id\x18\x02 \x01(\x06\x12\x0e\n\x06\x61nswer\x18\x03 \x01(\t\"%\n#CBroadcast_WebRTCSetAnswer_Response\";\n)CBroadcast_WebRTCLookupTURNServer_Request\x12\x0e\n\x06\x63\x65llid\x18\x01 \x01(\r\"A\n*CBroadcast_WebRTCLookupTURNServer_Response\x12\x13\n\x0bturn_server\x18\x01 \x01(\t\"Z\n\x1b\x43\x42roadcast_WebRTC_Candidate\x12\x0f\n\x07sdp_mid\x18\x01 \x01(\t\x12\x17\n\x0fsdp_mline_index\x18\x02 \x01(\x05\x12\x11\n\tcandidate\x18\x03 \x01(\t\"w\n)CBroadcast_WebRTCAddHostCandidate_Request\x12\x19\n\x11webrtc_session_id\x18\x01 \x01(\x06\x12/\n\tcandidate\x18\x02 \x01(\x0b\x32\x1c.CBroadcast_WebRTC_Candidate\",\n*CBroadcast_WebRTCAddHostCandidate_Response\"\x96\x01\n+CBroadcast_WebRTCAddViewerCandidate_Request\x12\x1b\n\x13\x62roadcaster_steamid\x18\x01 \x01(\x06\x12\x19\n\x11webrtc_session_id\x18\x02 \x01(\x06\x12/\n\tcandidate\x18\x03 \x01(\x0b\x32\x1c.CBroadcast_WebRTC_Candidate\".\n,CBroadcast_WebRTCAddViewerCandidate_Response\"\x82\x01\n*CBroadcast_WebRTCGetHostCandidates_Request\x12\x1b\n\x13\x62roadcaster_steamid\x18\x01 \x01(\x06\x12\x19\n\x11webrtc_session_id\x18\x02 \x01(\x06\x12\x1c\n\x14\x63\x61ndidate_generation\x18\x03 \x01(\r\"}\n+CBroadcast_WebRTCGetHostCandidates_Response\x12\x1c\n\x14\x63\x61ndidate_generation\x18\x01 \x01(\r\x12\x30\n\ncandidates\x18\x02 \x03(\x0b\x32\x1c.CBroadcast_WebRTC_Candidate\"\xf8\x01\n,CBroadcast_BroadcastViewerState_Notification\x12\x0f\n\x07steamid\x18\x01 \x01(\x06\x12\x61\n\x05state\x18\x02 \x01(\x0e\x32:.CBroadcast_BroadcastViewerState_Notification.EViewerState:\x16k_EViewerNeedsApproval\"T\n\x0c\x45ViewerState\x12\x1a\n\x16k_EViewerNeedsApproval\x10\x01\x12\x15\n\x11k_EViewerWatching\x10\x02\x12\x11\n\rk_EViewerLeft\x10\x03\"F\n.CBroadcast_WaitingBroadcastViewer_Notification\x12\x14\n\x0c\x62roadcast_id\x18\x01 \x01(\x06\"\x95\x01\n+CBroadcast_StopBroadcastUpload_Notification\x12\x14\n\x0c\x62roadcast_id\x18\x01 \x01(\x06\x12\x1a\n\x12\x62roadcast_relay_id\x18\x02 \x01(\x06\x12\x15\n\rupload_result\x18\x03 \x01(\r\x12\x1d\n\x15too_many_poor_uploads\x18\x04 \x01(\x08\"=\n%CBroadcast_SessionClosed_Notification\x12\x14\n\x0c\x62roadcast_id\x18\x01 \x01(\x06\"L\n-CBroadcast_ViewerBroadcastInvite_Notification\x12\x1b\n\x13\x62roadcaster_steamid\x18\x01 \x01(\x06\"T\n\'CBroadcast_BroadcastStatus_Notification\x12\x14\n\x0c\x62roadcast_id\x18\x01 \x01(\x06\x12\x13\n\x0bnum_viewers\x18\x02 \x01(\x05\"\xc1\x01\n,CBroadcast_SendThumbnailToRelay_Notification\x12\x1e\n\x16thumbnail_upload_token\x18\x01 \x01(\t\x12&\n\x1ethumbnail_broadcast_session_id\x18\x02 \x01(\x06\x12\x16\n\x0ethumbnail_data\x18\x03 \x01(\x0c\x12\x17\n\x0fthumbnail_width\x18\x04 \x01(\r\x12\x18\n\x10thumbnail_height\x18\x05 \x01(\r\"L\n,CBroadcast_WebRTCNeedTURNServer_Notification\x12\x1c\n\x14\x62roadcast_session_id\x18\x01 \x01(\x06\"\x8c\x01\n#CBroadcast_WebRTCStart_Notification\x12\x1c\n\x14\x62roadcast_session_id\x18\x01 \x01(\x06\x12\x19\n\x11webrtc_session_id\x18\x02 \x01(\x06\x12\x16\n\x0eviewer_steamid\x18\x03 \x01(\x06\x12\x14\n\x0cviewer_token\x18\x04 \x01(\x06\"r\n\'CBroadcast_WebRTCSetAnswer_Notification\x12\x1c\n\x14\x62roadcast_session_id\x18\x01 \x01(\x06\x12\x19\n\x11webrtc_session_id\x18\x02 \x01(\x06\x12\x0e\n\x06\x61nswer\x18\x03 \x01(\t\"\x9c\x01\n0CBroadcast_WebRTCAddViewerCandidate_Notification\x12\x1c\n\x14\x62roadcast_session_id\x18\x01 \x01(\x06\x12\x19\n\x11webrtc_session_id\x18\x02 \x01(\x06\x12/\n\tcandidate\x18\x03 \x01(\x0b\x32\x1c.CBroadcast_WebRTC_Candidate*\xca\x04\n\x17\x45\x42roadcastWatchLocation\x12%\n!k_EBroadcastWatchLocation_Invalid\x10\x00\x12)\n%k_EBroadcastWatchLocation_SteamTV_Tab\x10\x01\x12\x30\n,k_EBroadcastWatchLocation_SteamTV_WatchParty\x10\x02\x12&\n\"k_EBroadcastWatchLocation_Chat_Tab\x10\x03\x12-\n)k_EBroadcastWatchLocation_Chat_WatchParty\x10\x04\x12+\n\'k_EBroadcastWatchLocation_CommunityPage\x10\x05\x12*\n&k_EBroadcastWatchLocation_StoreAppPage\x10\x06\x12$\n k_EBroadcastWatchLocation_InGame\x10\x07\x12(\n$k_EBroadcastWatchLocation_BigPicture\x10\x08\x12\'\n#k_EBroadcastWatchLocation_SalesPage\x10\t\x12)\n%k_EBroadcastWatchLocation_CuratorPage\x10\n\x12+\n\'k_EBroadcastWatchLocation_DeveloperPage\x10\x0b\x12*\n&k_EBroadcastWatchLocation_Chat_Friends\x10\x0c*g\n\x18\x45\x42roadcastChatPermission\x12$\n k_EBroadcastChatPermissionPublic\x10\x00\x12%\n!k_EBroadcastChatPermissionOwnsApp\x10\x01\x32\x8f#\n\tBroadcast\x12\xed\x01\n\x15\x42\x65ginBroadcastSession\x12).CBroadcast_BeginBroadcastSession_Request\x1a*.CBroadcast_BeginBroadcastSession_Response\"}\x82\xb5\x18yRequest from client to directory to begin a broadcast session. No data being sent to relay; just available for broadcast.\x12\xba\x01\n\x13\x45ndBroadcastSession\x12\'.CBroadcast_EndBroadcastSession_Request\x1a(.CBroadcast_EndBroadcastSession_Response\"P\x82\xb5\x18LRequest from client to stop a broadcast session. Any uploads will terminate.\x12\xac\x01\n\x14StartBroadcastUpload\x12(.CBroadcast_StartBroadcastUpload_Request\x1a).CBroadcast_StartBroadcastUpload_Response\"?\x82\xb5\x18;Request from client to begin sending video for a broadcast.\x12\x99\x01\n\x19NotifyBroadcastUploadStop\x12\x32.CBroadcast_NotifyBroadcastUploadStop_Notification\x1a\x0b.NoResponse\";\x82\xb5\x18\x37Tells directory that client stopped uploading broadcast\x12\x87\x01\n\x0eWatchBroadcast\x12\".CBroadcast_WatchBroadcast_Request\x1a#.CBroadcast_WatchBroadcast_Response\",\x82\xb5\x18(Request from viewer to watch a broadcast\x12\x81\x01\n\x12HeartbeatBroadcast\x12+.CBroadcast_HeartbeatBroadcast_Notification\x1a\x0b.NoResponse\"1\x82\xb5\x18-Notify directory that user is still watching.\x12\xc1\x01\n\x15StopWatchingBroadcast\x12..CBroadcast_StopWatchingBroadcast_Notification\x1a\x0b.NoResponse\"k\x82\xb5\x18gRequest to immediately stop watching a broadcast. Optional Method, if not called, viewer will time out.\x12\x96\x01\n\x12GetBroadcastStatus\x12&.CBroadcast_GetBroadcastStatus_Request\x1a\'.CBroadcast_GetBroadcastStatus_Response\"/\x82\xb5\x18+Request from viewer about broadcast details\x12\x97\x01\n\x15GetBroadcastThumbnail\x12).CBroadcast_GetBroadcastThumbnail_Request\x1a*.CBroadcast_GetBroadcastThumbnail_Response\"\'\x82\xb5\x18#Request thumbnail URL for broadcast\x12\xa2\x01\n\x11InviteToBroadcast\x12%.CBroadcast_InviteToBroadcast_Request\x1a&.CBroadcast_InviteToBroadcast_Response\">\x82\xb5\x18:Invites another steam user to watch the caller\'s broadcast\x12\xc8\x01\n\x1aSendBroadcastStateToServer\x12..CBroadcast_SendBroadcastStateToServer_Request\x1a/.CBroadcast_SendBroadcastStateToServer_Response\"I\x82\xb5\x18\x45Sends users current broadcast state (permissions, game) to the server\x12\xa2\x01\n\x1fNotifyBroadcastSessionHeartbeat\x12\x38.CBroadcast_NotifyBroadcastSessionHeartbeat_Notification\x1a\x0b.NoResponse\"8\x82\xb5\x18\x34Tells directory broadcast session is still available\x12\x94\x01\n\x14GetBroadcastChatInfo\x12(.CBroadcast_GetBroadcastChatInfo_Request\x1a).CBroadcast_GetBroadcastChatInfo_Response\"\'\x82\xb5\x18#Gets chat room info for a broadcast\x12\x8a\x01\n\x0fPostChatMessage\x12#.CBroadcast_PostChatMessage_Request\x1a$.CBroadcast_PostChatMessage_Response\",\x82\xb5\x18(Post chat message to specified chat room\x12\x96\x01\n\x15MuteBroadcastChatUser\x12).CBroadcast_MuteBroadcastChatUser_Request\x1a*.CBroadcast_MuteBroadcastChatUser_Response\"&\x82\xb5\x18\"Mute a user in your broadcast chat\x12\x94\x01\n\x12RemoveUserChatText\x12&.CBroadcast_RemoveUserChatText_Request\x1a\'.CBroadcast_RemoveUserChatText_Response\"-\x82\xb5\x18)Tell all viewers to remove user chat text\x12\xa3\x01\n\x19GetBroadcastChatUserNames\x12-.CBroadcast_GetBroadcastChatUserNames_Request\x1a..CBroadcast_GetBroadcastChatUserNames_Response\"\'\x82\xb5\x18#Get names for list of users in chat\x12n\n\x0bSetRTMPInfo\x12\x1f.CBroadcast_SetRTMPInfo_Request\x1a .CBroadcast_SetRTMPInfo_Response\"\x1c\x82\xb5\x18\x18Sets RTMP broadcast info\x12n\n\x0bGetRTMPInfo\x12\x1f.CBroadcast_GetRTMPInfo_Request\x1a .CBroadcast_GetRTMPInfo_Response\"\x1c\x82\xb5\x18\x18Gets RTMP broadcast info\x12\x9e\x01\n\x1aNotifyWebRTCHaveTURNServer\x12-.CBroadcast_WebRTCHaveTURNServer_Notification\x1a\x0b.NoResponse\"D\x82\xb5\x18@Notification from client to server with the client\'s TURN server\x12\xac\x01\n\x11WebRTCStartResult\x12%.CBroadcast_WebRTCStartResult_Request\x1a&.CBroadcast_WebRTCStartResult_Response\"H\x82\xb5\x18\x44Notify the server that a WebRTC session has been created by the host\x12\xa0\x01\n\rWebRTCStopped\x12!.CBroadcast_WebRTCStopped_Request\x1a\".CBroadcast_WebRTCStopped_Response\"H\x82\xb5\x18\x44Notify the server that a WebRTC session has been stopped by the host\x12\xa8\x01\n\x0fWebRTCSetAnswer\x12#.CBroadcast_WebRTCSetAnswer_Request\x1a$.CBroadcast_WebRTCSetAnswer_Response\"J\x82\xb5\x18\x46Notify the server that a WebRTC session has been created by the viewer\x12\xa2\x01\n\x16WebRTCLookupTURNServer\x12*.CBroadcast_WebRTCLookupTURNServer_Request\x1a+.CBroadcast_WebRTCLookupTURNServer_Response\"/\x82\xb5\x18+Lookup the best TURN server for this client\x12\xb1\x01\n\x16WebRTCAddHostCandidate\x12*.CBroadcast_WebRTCAddHostCandidate_Request\x1a+.CBroadcast_WebRTCAddHostCandidate_Response\">\x82\xb5\x18:Add an ICE candidate for the host side of a WebRTC session\x12\xb9\x01\n\x18WebRTCAddViewerCandidate\x12,.CBroadcast_WebRTCAddViewerCandidate_Request\x1a-.CBroadcast_WebRTCAddViewerCandidate_Response\"@\x82\xb5\x18\n(CMsgClientUCMDeletePublishedFileResponse\x12\x12\n\x07\x65result\x18\x01 \x01(\x05:\x01\x32\"c\n(CMsgClientUCMEnumerateUserPublishedFiles\x12\x0e\n\x06\x61pp_id\x18\x01 \x01(\r\x12\x13\n\x0bstart_index\x18\x02 \x01(\r\x12\x12\n\nsort_order\x18\x03 \x01(\r\"\xe7\x01\n0CMsgClientUCMEnumerateUserPublishedFilesResponse\x12\x12\n\x07\x65result\x18\x01 \x01(\x05:\x01\x32\x12Z\n\x0fpublished_files\x18\x02 \x03(\x0b\x32\x41.CMsgClientUCMEnumerateUserPublishedFilesResponse.PublishedFileId\x12\x15\n\rtotal_results\x18\x03 \x01(\r\x1a,\n\x0fPublishedFileId\x12\x19\n\x11published_file_id\x18\x01 \x01(\x06\"\x98\x01\n)CMsgClientUCMEnumerateUserSubscribedFiles\x12\x0e\n\x06\x61pp_id\x18\x01 \x01(\r\x12\x13\n\x0bstart_index\x18\x02 \x01(\r\x12\x14\n\tlist_type\x18\x03 \x01(\r:\x01\x31\x12\x1d\n\x12matching_file_type\x18\x04 \x01(\r:\x01\x30\x12\x11\n\x05\x63ount\x18\x05 \x01(\r:\x02\x35\x30\"\x89\x02\n1CMsgClientUCMEnumerateUserSubscribedFilesResponse\x12\x12\n\x07\x65result\x18\x01 \x01(\x05:\x01\x32\x12\\\n\x10subscribed_files\x18\x02 \x03(\x0b\x32\x42.CMsgClientUCMEnumerateUserSubscribedFilesResponse.PublishedFileId\x12\x15\n\rtotal_results\x18\x03 \x01(\r\x1aK\n\x0fPublishedFileId\x12\x19\n\x11published_file_id\x18\x01 \x01(\x06\x12\x1d\n\x12rtime32_subscribed\x18\x02 \x01(\x07:\x01\x30\"o\n4CMsgClientUCMEnumerateUserSubscribedFilesWithUpdates\x12\x0e\n\x06\x61pp_id\x18\x01 \x01(\r\x12\x13\n\x0bstart_index\x18\x02 \x01(\r\x12\x12\n\nstart_time\x18\x03 \x01(\x07\"\x91\x03\n.CMsgClientUCMGetPublishedFilesForUserResponse.PublishedFileId\x12\x15\n\rtotal_results\x18\x03 \x01(\r\x1a,\n\x0fPublishedFileId\x12\x19\n\x11published_file_id\x18\x01 \x01(\x06\"d\n\'CMsgClientUCMSetUserPublishedFileAction\x12\x19\n\x11published_file_id\x18\x01 \x01(\x06\x12\x0e\n\x06\x61pp_id\x18\x02 \x01(\r\x12\x0e\n\x06\x61\x63tion\x18\x03 \x01(\x05\"E\n/CMsgClientUCMSetUserPublishedFileActionResponse\x12\x12\n\x07\x65result\x18\x01 \x01(\x05:\x01\x32\"g\n0CMsgClientUCMEnumeratePublishedFilesByUserAction\x12\x0e\n\x06\x61pp_id\x18\x01 \x01(\r\x12\x13\n\x0bstart_index\x18\x02 \x01(\r\x12\x0e\n\x06\x61\x63tion\x18\x03 \x01(\x05\"\x94\x02\n8CMsgClientUCMEnumeratePublishedFilesByUserActionResponse\x12\x12\n\x07\x65result\x18\x01 \x01(\x05:\x01\x32\x12\x62\n\x0fpublished_files\x18\x02 \x03(\x0b\x32I.CMsgClientUCMEnumeratePublishedFilesByUserActionResponse.PublishedFileId\x12\x15\n\rtotal_results\x18\x03 \x01(\r\x1aI\n\x0fPublishedFileId\x12\x19\n\x11published_file_id\x18\x01 \x01(\x06\x12\x1b\n\x10rtime_time_stamp\x18\x02 \x01(\x07:\x01\x30\"\x1e\n\x1c\x43MsgClientScreenshotsChanged\"w\n\x1c\x43MsgClientUpdateUserGameInfo\x12\x14\n\x0csteamid_idgs\x18\x01 \x01(\x06\x12\x0e\n\x06gameid\x18\x02 \x01(\x06\x12\x0f\n\x07game_ip\x18\x03 \x01(\r\x12\x11\n\tgame_port\x18\x04 \x01(\r\x12\r\n\x05token\x18\x05 \x01(\x0c\"S\n\x1c\x43MsgClientRichPresenceUpload\x12\x18\n\x10rich_presence_kv\x18\x01 \x01(\x0c\x12\x19\n\x11steamid_broadcast\x18\x02 \x03(\x06\"8\n\x1d\x43MsgClientRichPresenceRequest\x12\x17\n\x0fsteamid_request\x18\x01 \x03(\x06\"\x9d\x01\n\x1a\x43MsgClientRichPresenceInfo\x12?\n\rrich_presence\x18\x01 \x03(\x0b\x32(.CMsgClientRichPresenceInfo.RichPresence\x1a>\n\x0cRichPresence\x12\x14\n\x0csteamid_user\x18\x01 \x01(\x06\x12\x18\n\x10rich_presence_kv\x18\x02 \x01(\x0c\".\n\x1c\x43MsgClientCheckFileSignature\x12\x0e\n\x06\x61pp_id\x18\x01 \x01(\r\"\xf7\x01\n$CMsgClientCheckFileSignatureResponse\x12\x0e\n\x06\x61pp_id\x18\x01 \x01(\r\x12\x0b\n\x03pid\x18\x02 \x01(\r\x12\x0f\n\x07\x65result\x18\x03 \x01(\r\x12\x10\n\x08\x66ilename\x18\x04 \x01(\t\x12\x18\n\x10\x65signatureresult\x18\x05 \x01(\r\x12\x10\n\x08sha_file\x18\x06 \x01(\x0c\x12\x17\n\x0fsignatureheader\x18\x07 \x01(\x0c\x12\x10\n\x08\x66ilesize\x18\x08 \x01(\r\x12\x14\n\x0cgetlasterror\x18\t \x01(\r\x12\"\n\x1a\x65valvesignaturecheckdetail\x18\n \x01(\r\"P\n\x19\x43MsgClientReadMachineAuth\x12\x10\n\x08\x66ilename\x18\x01 \x01(\t\x12\x0e\n\x06offset\x18\x02 \x01(\r\x12\x11\n\tcubtoread\x18\x03 \x01(\r\"\xce\x01\n!CMsgClientReadMachineAuthResponse\x12\x10\n\x08\x66ilename\x18\x01 \x01(\t\x12\x0f\n\x07\x65result\x18\x02 \x01(\r\x12\x10\n\x08\x66ilesize\x18\x03 \x01(\r\x12\x10\n\x08sha_file\x18\x04 \x01(\x0c\x12\x14\n\x0cgetlasterror\x18\x05 \x01(\r\x12\x0e\n\x06offset\x18\x06 \x01(\r\x12\x0f\n\x07\x63ubread\x18\x07 \x01(\r\x12\x12\n\nbytes_read\x18\x08 \x01(\x0c\x12\x17\n\x0f\x66ilename_sentry\x18\t \x01(\t\"\xbd\x01\n\x1b\x43MsgClientUpdateMachineAuth\x12\x10\n\x08\x66ilename\x18\x01 \x01(\t\x12\x0e\n\x06offset\x18\x02 \x01(\r\x12\x12\n\ncubtowrite\x18\x03 \x01(\r\x12\r\n\x05\x62ytes\x18\x04 \x01(\x0c\x12\x10\n\x08otp_type\x18\x05 \x01(\r\x12\x16\n\x0eotp_identifier\x18\x06 \x01(\t\x12\x18\n\x10otp_sharedsecret\x18\x07 \x01(\x0c\x12\x15\n\rotp_timedrift\x18\x08 \x01(\r\"\xe1\x01\n#CMsgClientUpdateMachineAuthResponse\x12\x10\n\x08\x66ilename\x18\x01 \x01(\t\x12\x0f\n\x07\x65result\x18\x02 \x01(\r\x12\x10\n\x08\x66ilesize\x18\x03 \x01(\r\x12\x10\n\x08sha_file\x18\x04 \x01(\x0c\x12\x14\n\x0cgetlasterror\x18\x05 \x01(\r\x12\x0e\n\x06offset\x18\x06 \x01(\r\x12\x10\n\x08\x63ubwrote\x18\x07 \x01(\r\x12\x10\n\x08otp_type\x18\x08 \x01(\x05\x12\x11\n\totp_value\x18\t \x01(\r\x12\x16\n\x0eotp_identifier\x18\n \x01(\t\"\xa1\x02\n\x1c\x43MsgClientRequestMachineAuth\x12\x10\n\x08\x66ilename\x18\x01 \x01(\t\x12\x1a\n\x12\x65result_sentryfile\x18\x02 \x01(\r\x12\x10\n\x08\x66ilesize\x18\x03 \x01(\r\x12\x16\n\x0esha_sentryfile\x18\x04 \x01(\x0c\x12\x1b\n\x13lock_account_action\x18\x06 \x01(\x05\x12\x10\n\x08otp_type\x18\x07 \x01(\r\x12\x16\n\x0eotp_identifier\x18\x08 \x01(\t\x12\x18\n\x10otp_sharedsecret\x18\t \x01(\x0c\x12\x11\n\totp_value\x18\n \x01(\r\x12\x14\n\x0cmachine_name\x18\x0b \x01(\t\x12\x1f\n\x17machine_name_userchosen\x18\x0c \x01(\t\"7\n$CMsgClientRequestMachineAuthResponse\x12\x0f\n\x07\x65result\x18\x01 \x01(\r\"$\n\x15\x43MsgClientRegisterKey\x12\x0b\n\x03key\x18\x01 \x01(\t\"p\n\x1a\x43MsgClientPurchaseResponse\x12\x12\n\x07\x65result\x18\x01 \x01(\x05:\x01\x32\x12\x1f\n\x17purchase_result_details\x18\x02 \x01(\x05\x12\x1d\n\x15purchase_receipt_info\x18\x03 \x01(\x0c\"\xc5\x01\n\x1c\x43MsgClientActivateOEMLicense\x12\x19\n\x11\x62ios_manufacturer\x18\x01 \x01(\t\x12\x19\n\x11\x62ios_serialnumber\x18\x02 \x01(\t\x12\x14\n\x0clicense_file\x18\x03 \x01(\x0c\x12\x1e\n\x16mainboard_manufacturer\x18\x04 \x01(\t\x12\x19\n\x11mainboard_product\x18\x05 \x01(\t\x12\x1e\n\x16mainboard_serialnumber\x18\x06 \x01(\t\"9\n\x1c\x43MsgClientRegisterOEMMachine\x12\x19\n\x11oem_register_file\x18\x01 \x01(\x0c\"7\n$CMsgClientRegisterOEMMachineResponse\x12\x0f\n\x07\x65result\x18\x01 \x01(\r\"K\n\x1f\x43MsgClientPurchaseWithMachineID\x12\x12\n\npackage_id\x18\x01 \x01(\r\x12\x14\n\x0cmachine_info\x18\x02 \x01(\x0c\"g\n CMsgTrading_InitiateTradeRequest\x12\x18\n\x10trade_request_id\x18\x01 \x01(\r\x12\x15\n\rother_steamid\x18\x02 \x01(\x04\x12\x12\n\nother_name\x18\x03 \x01(\t\"\xd2\x02\n!CMsgTrading_InitiateTradeResponse\x12\x10\n\x08response\x18\x01 \x01(\r\x12\x18\n\x10trade_request_id\x18\x02 \x01(\r\x12\x15\n\rother_steamid\x18\x03 \x01(\x04\x12 \n\x18steamguard_required_days\x18\x04 \x01(\r\x12 \n\x18new_device_cooldown_days\x18\x05 \x01(\r\x12-\n%default_password_reset_probation_days\x18\x06 \x01(\r\x12%\n\x1dpassword_reset_probation_days\x18\x07 \x01(\r\x12+\n#default_email_change_probation_days\x18\x08 \x01(\r\x12#\n\x1b\x65mail_change_probation_days\x18\t \x01(\r\"7\n\x1e\x43MsgTrading_CancelTradeRequest\x12\x15\n\rother_steamid\x18\x01 \x01(\x04\"1\n\x18\x43MsgTrading_StartSession\x12\x15\n\rother_steamid\x18\x01 \x01(\x04\"\xaf\x01\n\x15\x43MsgClientEmailChange\x12\x10\n\x08password\x18\x01 \x01(\t\x12\r\n\x05\x65mail\x18\x02 \x01(\t\x12\x0c\n\x04\x63ode\x18\x03 \x01(\t\x12\r\n\x05\x66inal\x18\x04 \x01(\x08\x12\x11\n\tnewmethod\x18\x05 \x01(\x08\x12\x16\n\x0etwofactor_code\x18\x06 \x01(\t\x12\x10\n\x08sms_code\x18\x07 \x01(\t\x12\x1b\n\x13\x63lient_supports_sms\x18\x08 \x01(\x08\"N\n\x1d\x43MsgClientEmailChangeResponse\x12\x12\n\x07\x65result\x18\x01 \x01(\x05:\x01\x32\x12\x19\n\x11requires_sms_code\x18\x02 \x01(\x08\"P\n\x19\x43MsgClientGetCDNAuthToken\x12\x10\n\x08\x64\x65pot_id\x18\x01 \x01(\r\x12\x11\n\thost_name\x18\x02 \x01(\t\x12\x0e\n\x06\x61pp_id\x18\x03 \x01(\r\"C\n\x1f\x43MsgClientGetDepotDecryptionKey\x12\x10\n\x08\x64\x65pot_id\x18\x01 \x01(\r\x12\x0e\n\x06\x61pp_id\x18\x02 \x01(\r\"m\n\'CMsgClientGetDepotDecryptionKeyResponse\x12\x12\n\x07\x65result\x18\x01 \x01(\x05:\x01\x32\x12\x10\n\x08\x64\x65pot_id\x18\x02 \x01(\r\x12\x1c\n\x14\x64\x65pot_encryption_key\x18\x03 \x01(\x0c\"F\n\x1e\x43MsgClientCheckAppBetaPassword\x12\x0e\n\x06\x61pp_id\x18\x01 \x01(\r\x12\x14\n\x0c\x62\x65tapassword\x18\x02 \x01(\t\"\xc1\x01\n&CMsgClientCheckAppBetaPasswordResponse\x12\x12\n\x07\x65result\x18\x01 \x01(\x05:\x01\x32\x12K\n\rbetapasswords\x18\x04 \x03(\x0b\x32\x34.CMsgClientCheckAppBetaPasswordResponse.BetaPassword\x1a\x36\n\x0c\x42\x65taPassword\x12\x10\n\x08\x62\x65taname\x18\x01 \x01(\t\x12\x14\n\x0c\x62\x65tapassword\x18\x02 \x01(\t\"\xad\x04\n\x1c\x43MsgClientUpdateAppJobReport\x12\x0e\n\x06\x61pp_id\x18\x01 \x01(\r\x12\x11\n\tdepot_ids\x18\x02 \x03(\r\x12\x11\n\tapp_state\x18\x03 \x01(\r\x12\x15\n\rjob_app_error\x18\x04 \x01(\r\x12\x15\n\rerror_details\x18\x05 \x01(\t\x12\x14\n\x0cjob_duration\x18\x06 \x01(\r\x12\x1f\n\x17\x66iles_validation_failed\x18\x07 \x01(\r\x12\x1c\n\x14job_bytes_downloaded\x18\x08 \x01(\x04\x12\x18\n\x10job_bytes_staged\x18\t \x01(\x04\x12\x16\n\x0e\x62ytes_comitted\x18\n \x01(\x04\x12\x17\n\x0fstart_app_state\x18\x0b \x01(\r\x12\x18\n\x10stats_machine_id\x18\x0c \x01(\x06\x12\x13\n\x0b\x62ranch_name\x18\r \x01(\t\x12\x1e\n\x16total_bytes_downloaded\x18\x0e \x01(\x04\x12\x1a\n\x12total_bytes_staged\x18\x0f \x01(\x04\x12\x1c\n\x14total_bytes_restored\x18\x10 \x01(\x04\x12\x13\n\x0bis_borrowed\x18\x11 \x01(\x08\x12\x17\n\x0fis_free_weekend\x18\x12 \x01(\x08\x12\x1a\n\x12total_bytes_legacy\x18\x13 \x01(\x04\x12\x1b\n\x13total_bytes_patched\x18\x14 \x01(\x04\x12\x19\n\x11total_bytes_saved\x18\x15 \x01(\x04\"\xcb\x01\n\x1e\x43MsgClientDPContentStatsReport\x12\x18\n\x10stats_machine_id\x18\x01 \x01(\x06\x12\x14\n\x0c\x63ountry_code\x18\x02 \x01(\t\x12\x0f\n\x07os_type\x18\x03 \x01(\x05\x12\x10\n\x08language\x18\x04 \x01(\x05\x12\x1b\n\x13num_install_folders\x18\x05 \x01(\r\x12\x1b\n\x13num_installed_games\x18\x06 \x01(\r\x12\x1c\n\x14size_installed_games\x18\x07 \x01(\x04\"_\n!CMsgClientGetCDNAuthTokenResponse\x12\x12\n\x07\x65result\x18\x01 \x01(\r:\x01\x32\x12\r\n\x05token\x18\x02 \x01(\t\x12\x17\n\x0f\x65xpiration_time\x18\x03 \x01(\r\"\xcb\x01\n\x1a\x43MsgDownloadRateStatistics\x12\x0f\n\x07\x63\x65ll_id\x18\x01 \x01(\r\x12\x34\n\x05stats\x18\x02 \x03(\x0b\x32%.CMsgDownloadRateStatistics.StatsInfo\x1a\x66\n\tStatsInfo\x12\x13\n\x0bsource_type\x18\x01 \x01(\r\x12\x11\n\tsource_id\x18\x02 \x01(\r\x12\x0f\n\x07seconds\x18\x03 \x01(\r\x12\r\n\x05\x62ytes\x18\x04 \x01(\x04\x12\x11\n\thost_name\x18\x05 \x01(\t\"H\n\x1c\x43MsgClientRequestAccountData\x12\x18\n\x10\x61\x63\x63ount_or_email\x18\x01 \x01(\t\x12\x0e\n\x06\x61\x63tion\x18\x02 \x01(\r\"\xd7\x01\n$CMsgClientRequestAccountDataResponse\x12\x0e\n\x06\x61\x63tion\x18\x01 \x01(\r\x12\x0f\n\x07\x65result\x18\x02 \x01(\r\x12\x14\n\x0c\x61\x63\x63ount_name\x18\x03 \x01(\t\x12\x12\n\nct_matches\x18\x04 \x01(\r\x12 \n\x18\x61\x63\x63ount_name_suggestion1\x18\x05 \x01(\t\x12 \n\x18\x61\x63\x63ount_name_suggestion2\x18\x06 \x01(\t\x12 \n\x18\x61\x63\x63ount_name_suggestion3\x18\x07 \x01(\t\"\x99\x01\n\x1b\x43MsgClientUGSGetGlobalStats\x12\x0e\n\x06gameid\x18\x01 \x01(\x04\x12\x1e\n\x16history_days_requested\x18\x02 \x01(\r\x12\x1b\n\x13time_last_requested\x18\x03 \x01(\x07\x12\x18\n\x10\x66irst_day_cached\x18\x04 \x01(\r\x12\x13\n\x0b\x64\x61ys_cached\x18\x05 \x01(\r\"\x95\x02\n#CMsgClientUGSGetGlobalStatsResponse\x12\x12\n\x07\x65result\x18\x01 \x01(\x05:\x01\x32\x12\x11\n\ttimestamp\x18\x02 \x01(\x07\x12\x13\n\x0b\x64\x61y_current\x18\x03 \x01(\x05\x12\x36\n\x04\x64\x61ys\x18\x04 \x03(\x0b\x32(.CMsgClientUGSGetGlobalStatsResponse.Day\x1az\n\x03\x44\x61y\x12\x0e\n\x06\x64\x61y_id\x18\x01 \x01(\r\x12<\n\x05stats\x18\x02 \x03(\x0b\x32-.CMsgClientUGSGetGlobalStatsResponse.Day.Stat\x1a%\n\x04Stat\x12\x0f\n\x07stat_id\x18\x01 \x01(\x05\x12\x0c\n\x04\x64\x61ta\x18\x02 \x01(\x03\"\xd4\x03\n\x12\x43MsgGameServerData\x12\x13\n\x0bsteam_id_gs\x18\x01 \x01(\x06\x12\n\n\x02ip\x18\x02 \x01(\r\x12\x12\n\nquery_port\x18\x03 \x01(\r\x12\x11\n\tgame_port\x18\x04 \x01(\r\x12\x15\n\rsourcetv_port\x18\x05 \x01(\r\x12\x0c\n\x04name\x18\x16 \x01(\t\x12\x0e\n\x06\x61pp_id\x18\x06 \x01(\r\x12\x0f\n\x07gamedir\x18\x07 \x01(\t\x12\x0f\n\x07version\x18\x08 \x01(\t\x12\x0f\n\x07product\x18\t \x01(\t\x12\x0e\n\x06region\x18\n \x01(\t\x12+\n\x07players\x18\x0b \x03(\x0b\x32\x1a.CMsgGameServerData.Player\x12\x13\n\x0bmax_players\x18\x0c \x01(\r\x12\x11\n\tbot_count\x18\r \x01(\r\x12\x10\n\x08password\x18\x0e \x01(\x08\x12\x0e\n\x06secure\x18\x0f \x01(\x08\x12\x11\n\tdedicated\x18\x10 \x01(\x08\x12\n\n\x02os\x18\x11 \x01(\t\x12\x11\n\tgame_data\x18\x12 \x01(\t\x12\x19\n\x11game_data_version\x18\x13 \x01(\r\x12\x11\n\tgame_type\x18\x14 \x01(\t\x12\x0b\n\x03map\x18\x15 \x01(\t\x1a\x1a\n\x06Player\x12\x10\n\x08steam_id\x18\x01 \x01(\x06\"H\n\x14\x43MsgGameServerRemove\x12\x10\n\x08steam_id\x18\x01 \x01(\x06\x12\n\n\x02ip\x18\x02 \x01(\r\x12\x12\n\nquery_port\x18\x03 \x01(\r\"\x82\x01\n\x18\x43MsgClientGMSServerQuery\x12\x0e\n\x06\x61pp_id\x18\x01 \x01(\r\x12\x17\n\x0fgeo_location_ip\x18\x02 \x01(\r\x12\x13\n\x0bregion_code\x18\x03 \x01(\r\x12\x13\n\x0b\x66ilter_text\x18\x04 \x01(\t\x12\x13\n\x0bmax_servers\x18\x05 \x01(\r\"\xb4\x01\n CMsgGMSClientServerQueryResponse\x12\x39\n\x07servers\x18\x01 \x03(\x0b\x32(.CMsgGMSClientServerQueryResponse.Server\x12\r\n\x05\x65rror\x18\x02 \x01(\t\x1a\x46\n\x06Server\x12\x11\n\tserver_ip\x18\x01 \x01(\r\x12\x13\n\x0bserver_port\x18\x02 \x01(\r\x12\x14\n\x0c\x61uth_players\x18\x03 \x01(\r\"O\n\x17\x43MsgGameServerOutOfDate\x12\x13\n\x0bsteam_id_gs\x18\x01 \x01(\x06\x12\x0e\n\x06reject\x18\x02 \x01(\x08\x12\x0f\n\x07message\x18\x03 \x01(\t\"2\n\x19\x43MsgClientRedeemGuestPass\x12\x15\n\rguest_pass_id\x18\x01 \x01(\x06\"c\n!CMsgClientRedeemGuestPassResponse\x12\x12\n\x07\x65result\x18\x01 \x01(\r:\x01\x32\x12\x12\n\npackage_id\x18\x02 \x01(\r\x12\x16\n\x0emust_own_appid\x18\x03 \x01(\r\"8\n\x1f\x43MsgClientGetClanActivityCounts\x12\x15\n\rsteamid_clans\x18\x01 \x03(\x04\"=\n\'CMsgClientGetClanActivityCountsResponse\x12\x12\n\x07\x65result\x18\x01 \x01(\r:\x01\x32\"y\n\x19\x43MsgClientOGSReportString\x12\x13\n\x0b\x61\x63\x63umulated\x18\x01 \x01(\x08\x12\x11\n\tsessionid\x18\x02 \x01(\x04\x12\x10\n\x08severity\x18\x03 \x01(\x05\x12\x11\n\tformatter\x18\x04 \x01(\t\x12\x0f\n\x07varargs\x18\x05 \x01(\x0c\"P\n\x16\x43MsgClientOGSReportBug\x12\x11\n\tsessionid\x18\x01 \x01(\x04\x12\x0f\n\x07\x62ugtext\x18\x02 \x01(\t\x12\x12\n\nscreenshot\x18\x03 \x01(\x0c\"0\n\x17\x43MsgGSAssociateWithClan\x12\x15\n\rsteam_id_clan\x18\x01 \x01(\x06\"L\n\x1f\x43MsgGSAssociateWithClanResponse\x12\x15\n\rsteam_id_clan\x18\x01 \x01(\x06\x12\x12\n\x07\x65result\x18\x02 \x01(\r:\x01\x32\"A\n#CMsgGSComputeNewPlayerCompatibility\x12\x1a\n\x12steam_id_candidate\x18\x01 \x01(\x06\"\xcf\x01\n+CMsgGSComputeNewPlayerCompatibilityResponse\x12\x1a\n\x12steam_id_candidate\x18\x01 \x01(\x06\x12\x12\n\x07\x65result\x18\x02 \x01(\r:\x01\x32\x12\x16\n\x0eis_clan_member\x18\x03 \x01(\x08\x12\x18\n\x10\x63t_dont_like_you\x18\x04 \x01(\x05\x12\x18\n\x10\x63t_you_dont_like\x18\x05 \x01(\x05\x12$\n\x1c\x63t_clanmembers_dont_like_you\x18\x06 \x01(\x05\"\x14\n\x12\x43MsgClientSentLogs\"l\n\x0c\x43MsgGCClient\x12\r\n\x05\x61ppid\x18\x01 \x01(\r\x12\x0f\n\x07msgtype\x18\x02 \x01(\r\x12\x0f\n\x07payload\x18\x03 \x01(\x0c\x12\x0f\n\x07steamid\x18\x04 \x01(\x06\x12\x0e\n\x06gcname\x18\x05 \x01(\t\x12\n\n\x02ip\x18\x06 \x01(\r\".\n\x1c\x43MsgClientRequestFreeLicense\x12\x0e\n\x06\x61ppids\x18\x02 \x03(\r\"n\n$CMsgClientRequestFreeLicenseResponse\x12\x12\n\x07\x65result\x18\x01 \x01(\r:\x01\x32\x12\x1a\n\x12granted_packageids\x18\x02 \x03(\r\x12\x16\n\x0egranted_appids\x18\x03 \x03(\r\"\xd3\x01\n#CMsgDRMDownloadRequestWithCrashData\x12\x16\n\x0e\x64ownload_flags\x18\x01 \x01(\r\x12\x1c\n\x14\x64ownload_types_known\x18\x02 \x01(\r\x12\x10\n\x08guid_drm\x18\x03 \x01(\x0c\x12\x12\n\nguid_split\x18\x04 \x01(\x0c\x12\x12\n\nguid_merge\x18\x05 \x01(\x0c\x12\x13\n\x0bmodule_name\x18\x06 \x01(\t\x12\x13\n\x0bmodule_path\x18\x07 \x01(\t\x12\x12\n\ncrash_data\x18\x08 \x01(\x0c\"\xdb\x01\n\x17\x43MsgDRMDownloadResponse\x12\x12\n\x07\x65result\x18\x01 \x01(\r:\x01\x32\x12\x0e\n\x06\x61pp_id\x18\x02 \x01(\r\x12\x1a\n\x12\x62lob_download_type\x18\x03 \x01(\r\x12\x12\n\nmerge_guid\x18\x04 \x01(\x0c\x12\x1c\n\x14\x64ownload_file_dfs_ip\x18\x05 \x01(\r\x12\x1e\n\x16\x64ownload_file_dfs_port\x18\x06 \x01(\r\x12\x19\n\x11\x64ownload_file_url\x18\x07 \x01(\t\x12\x13\n\x0bmodule_path\x18\x08 \x01(\t\"\xd7\x01\n\x12\x43MsgDRMFinalResult\x12\x12\n\x07\x65Result\x18\x01 \x01(\r:\x01\x32\x12\x0e\n\x06\x61pp_id\x18\x02 \x01(\r\x12\x1a\n\x12\x62lob_download_type\x18\x03 \x01(\r\x12\x14\n\x0c\x65rror_detail\x18\x04 \x01(\r\x12\x12\n\nmerge_guid\x18\x05 \x01(\x0c\x12\x1c\n\x14\x64ownload_file_dfs_ip\x18\x06 \x01(\r\x12\x1e\n\x16\x64ownload_file_dfs_port\x18\x07 \x01(\r\x12\x19\n\x11\x64ownload_file_url\x18\x08 \x01(\t\"3\n\x1e\x43MsgClientDPCheckSpecialSurvey\x12\x11\n\tsurvey_id\x18\x01 \x01(\r\"\x96\x01\n&CMsgClientDPCheckSpecialSurveyResponse\x12\x12\n\x07\x65Result\x18\x01 \x01(\r:\x01\x32\x12\r\n\x05state\x18\x02 \x01(\r\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\x12\n\ncustom_url\x18\x04 \x01(\t\x12\x18\n\x10include_software\x18\x05 \x01(\x08\x12\r\n\x05token\x18\x06 \x01(\x0c\"H\n%CMsgClientDPSendSpecialSurveyResponse\x12\x11\n\tsurvey_id\x18\x01 \x01(\r\x12\x0c\n\x04\x64\x61ta\x18\x02 \x01(\x0c\"O\n*CMsgClientDPSendSpecialSurveyResponseReply\x12\x12\n\x07\x65Result\x18\x01 \x01(\r:\x01\x32\x12\r\n\x05token\x18\x02 \x01(\x0c\"W\n\'CMsgClientRequestForgottenPasswordEmail\x12\x14\n\x0c\x61\x63\x63ount_name\x18\x01 \x01(\t\x12\x16\n\x0epassword_tried\x18\x02 \x01(\t\"_\n/CMsgClientRequestForgottenPasswordEmailResponse\x12\x0f\n\x07\x65Result\x18\x01 \x01(\r\x12\x1b\n\x13use_secret_question\x18\x02 \x01(\x08\"6\n\x1b\x43MsgClientItemAnnouncements\x12\x17\n\x0f\x63ount_new_items\x18\x01 \x01(\r\"$\n\"CMsgClientRequestItemAnnouncements\"\x9e\x01\n\x1b\x43MsgClientUserNotifications\x12@\n\rnotifications\x18\x01 \x03(\x0b\x32).CMsgClientUserNotifications.Notification\x1a=\n\x0cNotification\x12\x1e\n\x16user_notification_type\x18\x01 \x01(\r\x12\r\n\x05\x63ount\x18\x02 \x01(\r\"\x88\x01\n\x1e\x43MsgClientCommentNotifications\x12\x1a\n\x12\x63ount_new_comments\x18\x01 \x01(\r\x12 \n\x18\x63ount_new_comments_owner\x18\x02 \x01(\r\x12(\n count_new_comments_subscriptions\x18\x03 \x01(\r\"\'\n%CMsgClientRequestCommentNotifications\"g\n$CMsgClientOfflineMessageNotification\x12\x18\n\x10offline_messages\x18\x01 \x01(\r\x12%\n\x1d\x66riends_with_offline_messages\x18\x02 \x03(\r\"&\n$CMsgClientRequestOfflineMessageCount\"8\n%CMsgClientChatGetFriendMessageHistory\x12\x0f\n\x07steamid\x18\x01 \x01(\x06\"\xf9\x01\n-CMsgClientChatGetFriendMessageHistoryResponse\x12\x0f\n\x07steamid\x18\x01 \x01(\x06\x12\x0f\n\x07success\x18\x02 \x01(\r\x12N\n\x08messages\x18\x03 \x03(\x0b\x32<.CMsgClientChatGetFriendMessageHistoryResponse.FriendMessage\x1aV\n\rFriendMessage\x12\x11\n\taccountid\x18\x01 \x01(\r\x12\x11\n\ttimestamp\x18\x02 \x01(\r\x12\x0f\n\x07message\x18\x03 \x01(\t\x12\x0e\n\x06unread\x18\x04 \x01(\x08\"9\n7CMsgClientChatGetFriendMessageHistoryForOfflineMessages\"7\n!CMsgClientFSGetFriendsSteamLevels\x12\x12\n\naccountids\x18\x01 \x03(\r\"\x9b\x01\n)CMsgClientFSGetFriendsSteamLevelsResponse\x12\x42\n\x07\x66riends\x18\x01 \x03(\x0b\x32\x31.CMsgClientFSGetFriendsSteamLevelsResponse.Friend\x1a*\n\x06\x46riend\x12\x11\n\taccountid\x18\x01 \x01(\r\x12\r\n\x05level\x18\x02 \x01(\r\"\xeb\x01\n\x17\x43MsgClientEmailAddrInfo\x12\x15\n\remail_address\x18\x01 \x01(\t\x12\x1a\n\x12\x65mail_is_validated\x18\x02 \x01(\x08\x12 \n\x18\x65mail_validation_changed\x18\x03 \x01(\x08\x12\'\n\x1f\x63redential_change_requires_code\x18\x04 \x01(\x08\x12\x31\n)password_or_secretqa_change_requires_code\x18\x05 \x01(\x08\x12\x1f\n\x17remind_user_about_email\x18\x06 \x01(\x08\"\xb7\x01\n\x1e\x43MsgCREEnumeratePublishedFiles\x12\x0e\n\x06\x61pp_id\x18\x01 \x01(\r\x12\x12\n\nquery_type\x18\x02 \x01(\x05\x12\x13\n\x0bstart_index\x18\x03 \x01(\r\x12\x0c\n\x04\x64\x61ys\x18\x04 \x01(\r\x12\r\n\x05\x63ount\x18\x05 \x01(\r\x12\x0c\n\x04tags\x18\x06 \x03(\t\x12\x11\n\tuser_tags\x18\x07 \x03(\t\x12\x1e\n\x12matching_file_type\x18\x08 \x01(\r:\x02\x31\x33\"\x9d\x02\n&CMsgCREEnumeratePublishedFilesResponse\x12\x12\n\x07\x65result\x18\x01 \x01(\x05:\x01\x32\x12P\n\x0fpublished_files\x18\x02 \x03(\x0b\x32\x37.CMsgCREEnumeratePublishedFilesResponse.PublishedFileId\x12\x15\n\rtotal_results\x18\x03 \x01(\r\x1av\n\x0fPublishedFileId\x12\x19\n\x11published_file_id\x18\x01 \x01(\x06\x12\x11\n\tvotes_for\x18\x02 \x01(\x05\x12\x15\n\rvotes_against\x18\x03 \x01(\x05\x12\x0f\n\x07reports\x18\x04 \x01(\x05\x12\r\n\x05score\x18\x05 \x01(\x02\"\x8b\x01\n\x16\x43MsgCREItemVoteSummary\x12\x43\n\x12published_file_ids\x18\x01 \x03(\x0b\x32\'.CMsgCREItemVoteSummary.PublishedFileId\x1a,\n\x0fPublishedFileId\x12\x19\n\x11published_file_id\x18\x01 \x01(\x06\"\xfa\x01\n\x1e\x43MsgCREItemVoteSummaryResponse\x12\x12\n\x07\x65result\x18\x01 \x01(\x05:\x01\x32\x12L\n\x13item_vote_summaries\x18\x02 \x03(\x0b\x32/.CMsgCREItemVoteSummaryResponse.ItemVoteSummary\x1av\n\x0fItemVoteSummary\x12\x19\n\x11published_file_id\x18\x01 \x01(\x06\x12\x11\n\tvotes_for\x18\x02 \x01(\x05\x12\x15\n\rvotes_against\x18\x03 \x01(\x05\x12\x0f\n\x07reports\x18\x04 \x01(\x05\x12\r\n\x05score\x18\x05 \x01(\x02\"P\n\"CMsgCREUpdateUserPublishedItemVote\x12\x19\n\x11published_file_id\x18\x01 \x01(\x06\x12\x0f\n\x07vote_up\x18\x02 \x01(\x08\"@\n*CMsgCREUpdateUserPublishedItemVoteResponse\x12\x12\n\x07\x65result\x18\x01 \x01(\x05:\x01\x32\"\xab\x01\n&CMsgCREGetUserPublishedItemVoteDetails\x12S\n\x12published_file_ids\x18\x01 \x03(\x0b\x32\x37.CMsgCREGetUserPublishedItemVoteDetails.PublishedFileId\x1a,\n\x0fPublishedFileId\x12\x19\n\x11published_file_id\x18\x01 \x01(\x06\"\xea\x01\n.CMsgCREGetUserPublishedItemVoteDetailsResponse\x12\x12\n\x07\x65result\x18\x01 \x01(\x05:\x01\x32\x12\x62\n\x16user_item_vote_details\x18\x02 \x03(\x0b\x32\x42.CMsgCREGetUserPublishedItemVoteDetailsResponse.UserItemVoteDetail\x1a@\n\x12UserItemVoteDetail\x12\x19\n\x11published_file_id\x18\x01 \x01(\x06\x12\x0f\n\x04vote\x18\x02 \x01(\x05:\x01\x30\"\xb9\x01\n\x18\x43MsgGameServerPingSample\x12\r\n\x05my_ip\x18\x01 \x01(\x07\x12\x11\n\tgs_app_id\x18\x02 \x01(\x05\x12\x34\n\ngs_samples\x18\x03 \x03(\x0b\x32 .CMsgGameServerPingSample.Sample\x1a\x45\n\x06Sample\x12\n\n\x02ip\x18\x01 \x01(\x07\x12\x13\n\x0b\x61vg_ping_ms\x18\x02 \x01(\r\x12\x1a\n\x12stddev_ping_ms_x10\x18\x03 \x01(\r\"*\n\x16\x43MsgFSGetFollowerCount\x12\x10\n\x08steam_id\x18\x01 \x01(\x06\"F\n\x1e\x43MsgFSGetFollowerCountResponse\x12\x12\n\x07\x65result\x18\x01 \x01(\x05:\x01\x32\x12\x10\n\x05\x63ount\x18\x02 \x01(\x05:\x01\x30\"(\n\x14\x43MsgFSGetIsFollowing\x12\x10\n\x08steam_id\x18\x01 \x01(\x06\"O\n\x1c\x43MsgFSGetIsFollowingResponse\x12\x12\n\x07\x65result\x18\x01 \x01(\x05:\x01\x32\x12\x1b\n\x0cis_following\x18\x02 \x01(\x08:\x05\x66\x61lse\"3\n\x1c\x43MsgFSEnumerateFollowingList\x12\x13\n\x0bstart_index\x18\x01 \x01(\r\"d\n$CMsgFSEnumerateFollowingListResponse\x12\x12\n\x07\x65result\x18\x01 \x01(\x05:\x01\x32\x12\x15\n\rtotal_results\x18\x02 \x01(\x05\x12\x11\n\tsteam_ids\x18\x03 \x03(\x06\"0\n\x1f\x43MsgDPGetNumberOfCurrentPlayers\x12\r\n\x05\x61ppid\x18\x01 \x01(\r\"S\n\'CMsgDPGetNumberOfCurrentPlayersResponse\x12\x12\n\x07\x65result\x18\x01 \x01(\x05:\x01\x32\x12\x14\n\x0cplayer_count\x18\x02 \x01(\x05\"a\n#CMsgClientFriendUserStatusPublished\x12\x16\n\x0e\x66riend_steamid\x18\x01 \x01(\x06\x12\r\n\x05\x61ppid\x18\x02 \x01(\r\x12\x13\n\x0bstatus_text\x18\x03 \x01(\t\"b\n\x17\x43MsgClientServiceMethod\x12\x13\n\x0bmethod_name\x18\x01 \x01(\t\x12\x19\n\x11serialized_method\x18\x02 \x01(\x0c\x12\x17\n\x0fis_notification\x18\x03 \x01(\x08\"Z\n\x1f\x43MsgClientServiceMethodResponse\x12\x13\n\x0bmethod_name\x18\x01 \x01(\t\x12\"\n\x1aserialized_method_response\x18\x02 \x01(\x0c\"5\n\x10\x43MsgClientUIMode\x12\x0e\n\x06uimode\x18\x01 \x01(\r\x12\x11\n\tchat_mode\x18\x02 \x01(\r\"<\n&CMsgClientVanityURLChangedNotification\x12\x12\n\nvanity_url\x18\x01 \x01(\t\"y\n%CMsgClientAuthorizeLocalDeviceRequest\x12\x1a\n\x12\x64\x65vice_description\x18\x01 \x01(\t\x12\x18\n\x10owner_account_id\x18\x02 \x01(\r\x12\x1a\n\x12local_device_token\x18\x03 \x01(\x04\"k\n\x1e\x43MsgClientAuthorizeLocalDevice\x12\x12\n\x07\x65result\x18\x01 \x01(\x05:\x01\x32\x12\x18\n\x10owner_account_id\x18\x02 \x01(\r\x12\x1b\n\x13\x61uthed_device_token\x18\x03 \x01(\x04\"v\n*CMsgClientAuthorizeLocalDeviceNotification\x12\x12\n\x07\x65result\x18\x01 \x01(\x05:\x01\x32\x12\x18\n\x10owner_account_id\x18\x02 \x01(\r\x12\x1a\n\x12local_device_token\x18\x03 \x01(\x04\"n\n\"CMsgClientDeauthorizeDeviceRequest\x12\"\n\x1a\x64\x65\x61uthorization_account_id\x18\x01 \x01(\r\x12$\n\x1c\x64\x65\x61uthorization_device_token\x18\x02 \x01(\x04\"U\n\x1b\x43MsgClientDeauthorizeDevice\x12\x12\n\x07\x65result\x18\x01 \x01(\x05:\x01\x32\x12\"\n\x1a\x64\x65\x61uthorization_account_id\x18\x02 \x01(\r\"\xd1\x01\n&CMsgClientUseLocalDeviceAuthorizations\x12 \n\x18\x61uthorization_account_id\x18\x01 \x03(\r\x12J\n\rdevice_tokens\x18\x02 \x03(\x0b\x32\x33.CMsgClientUseLocalDeviceAuthorizations.DeviceToken\x1a\x39\n\x0b\x44\x65viceToken\x12\x18\n\x10owner_account_id\x18\x01 \x01(\r\x12\x10\n\x08token_id\x18\x02 \x01(\x04\" \n\x1e\x43MsgClientGetAuthorizedDevices\"\xad\x02\n&CMsgClientGetAuthorizedDevicesResponse\x12\x12\n\x07\x65result\x18\x01 \x01(\x05:\x01\x32\x12S\n\x11\x61uthorized_device\x18\x02 \x03(\x0b\x32\x38.CMsgClientGetAuthorizedDevicesResponse.AuthorizedDevice\x1a\x99\x01\n\x10\x41uthorizedDevice\x12\x19\n\x11\x61uth_device_token\x18\x01 \x01(\x04\x12\x13\n\x0b\x64\x65vice_name\x18\x02 \x01(\t\x12\x18\n\x10last_access_time\x18\x03 \x01(\r\x12\x13\n\x0b\x62orrower_id\x18\x04 \x01(\r\x12\x12\n\nis_pending\x18\x05 \x01(\x08\x12\x12\n\napp_played\x18\x06 \x01(\r\"\xc2\x01\n!CMsgClientSharedLibraryLockStatus\x12H\n\x0elocked_library\x18\x01 \x03(\x0b\x32\x30.CMsgClientSharedLibraryLockStatus.LockedLibrary\x12\x1d\n\x15own_library_locked_by\x18\x02 \x01(\r\x1a\x34\n\rLockedLibrary\x12\x10\n\x08owner_id\x18\x01 \x01(\r\x12\x11\n\tlocked_by\x18\x02 \x01(\r\"\xa7\x01\n\"CMsgClientSharedLibraryStopPlaying\x12\x14\n\x0cseconds_left\x18\x01 \x01(\x05\x12>\n\tstop_apps\x18\x02 \x03(\x0b\x32+.CMsgClientSharedLibraryStopPlaying.StopApp\x1a+\n\x07StopApp\x12\x0e\n\x06\x61pp_id\x18\x01 \x01(\r\x12\x10\n\x08owner_id\x18\x02 \x01(\r\"\xf1\x01\n\x15\x43MsgClientServiceCall\x12\x15\n\rsysid_routing\x18\x01 \x01(\x0c\x12\x13\n\x0b\x63\x61ll_handle\x18\x02 \x01(\r\x12\x12\n\nmodule_crc\x18\x03 \x01(\r\x12\x13\n\x0bmodule_hash\x18\x04 \x01(\x0c\x12\x13\n\x0b\x66unction_id\x18\x05 \x01(\r\x12\x16\n\x0e\x63ub_output_max\x18\x06 \x01(\r\x12\r\n\x05\x66lags\x18\x07 \x01(\r\x12\x15\n\rcallparameter\x18\x08 \x01(\x0c\x12\x11\n\tping_only\x18\t \x01(\x08\x12\x1d\n\x15max_outstanding_calls\x18\n \x01(\r\"Z\n\x17\x43MsgClientServiceModule\x12\x12\n\nmodule_crc\x18\x01 \x01(\r\x12\x13\n\x0bmodule_hash\x18\x02 \x01(\x0c\x12\x16\n\x0emodule_content\x18\x03 \x01(\x0c\"\xb8\x04\n\x1d\x43MsgClientServiceCallResponse\x12\x15\n\rsysid_routing\x18\x01 \x01(\x0c\x12\x13\n\x0b\x63\x61ll_handle\x18\x02 \x01(\r\x12\x12\n\nmodule_crc\x18\x03 \x01(\r\x12\x13\n\x0bmodule_hash\x18\x04 \x01(\x0c\x12\x13\n\x0b\x65\x63\x61llresult\x18\x05 \x01(\r\x12\x16\n\x0eresult_content\x18\x06 \x01(\x0c\x12\x17\n\x0fos_version_info\x18\x07 \x01(\x0c\x12\x13\n\x0bsystem_info\x18\x08 \x01(\x0c\x12\x14\n\x0cload_address\x18\t \x01(\x06\x12\x18\n\x10\x65xception_record\x18\n \x01(\x0c\x12 \n\x18portable_os_version_info\x18\x0b \x01(\x0c\x12\x1c\n\x14portable_system_info\x18\x0c \x01(\x0c\x12\x15\n\rwas_converted\x18\r \x01(\x08\x12\x17\n\x0finternal_result\x18\x0e \x01(\r\x12\x15\n\rcurrent_count\x18\x0f \x01(\r\x12\x18\n\x10last_call_handle\x18\x10 \x01(\r\x12\x1c\n\x14last_call_module_crc\x18\x11 \x01(\r\x12\x1f\n\x17last_call_sysid_routing\x18\x12 \x01(\x0c\x12\x18\n\x10last_ecallresult\x18\x13 \x01(\r\x12\x1c\n\x14last_callissue_delta\x18\x14 \x01(\r\x12\x1f\n\x17last_callcomplete_delta\x18\x15 \x01(\r\"\x17\n\x15\x43MsgAMUnlockStreaming\"K\n\x1d\x43MsgAMUnlockStreamingResponse\x12\x12\n\x07\x65result\x18\x01 \x01(\x05:\x01\x32\x12\x16\n\x0e\x65ncryption_key\x18\x02 \x01(\x0c\"\x12\n\x10\x43MsgAMUnlockHEVC\".\n\x18\x43MsgAMUnlockHEVCResponse\x12\x12\n\x07\x65result\x18\x01 \x01(\x05:\x01\x32\"M\n\x1d\x43MsgClientPlayingSessionState\x12\x17\n\x0fplaying_blocked\x18\x02 \x01(\x08\x12\x13\n\x0bplaying_app\x18\x03 \x01(\r\"6\n\x1c\x43MsgClientKickPlayingSession\x12\x16\n\x0eonly_stop_game\x18\x01 \x01(\x08\"v\n\x1f\x43MsgClientVoiceCallPreAuthorize\x12\x16\n\x0e\x63\x61ller_steamid\x18\x01 \x01(\x06\x12\x18\n\x10receiver_steamid\x18\x02 \x01(\x06\x12\x11\n\tcaller_id\x18\x03 \x01(\x05\x12\x0e\n\x06hangup\x18\x04 \x01(\x08\"\x82\x01\n\'CMsgClientVoiceCallPreAuthorizeResponse\x12\x16\n\x0e\x63\x61ller_steamid\x18\x01 \x01(\x06\x12\x18\n\x10receiver_steamid\x18\x02 \x01(\x06\x12\x12\n\x07\x65result\x18\x03 \x01(\x05:\x01\x32\x12\x11\n\tcaller_id\x18\x04 \x01(\x05\x42\x05H\x01\x90\x01\x00') + serialized_pb=_b('\n\"steammessages_clientserver_2.proto\x1a\x18steammessages_base.proto\"\x81\x03\n\x1a\x43MsgClientUCMAddScreenshot\x12\r\n\x05\x61ppid\x18\x01 \x01(\r\x12\x10\n\x08\x66ilename\x18\x02 \x01(\t\x12\x11\n\tthumbname\x18\x03 \x01(\t\x12\x13\n\x0bvr_filename\x18\x0e \x01(\t\x12\x17\n\x0frtime32_created\x18\x04 \x01(\x07\x12\r\n\x05width\x18\x05 \x01(\r\x12\x0e\n\x06height\x18\x06 \x01(\r\x12\x13\n\x0bpermissions\x18\x07 \x01(\r\x12\x0f\n\x07\x63\x61ption\x18\x08 \x01(\t\x12\x15\n\rshortcut_name\x18\t \x01(\t\x12,\n\x03tag\x18\n \x03(\x0b\x32\x1f.CMsgClientUCMAddScreenshot.Tag\x12\x16\n\x0etagged_steamid\x18\x0b \x03(\x06\x12\x13\n\x0bspoiler_tag\x18\x0c \x01(\x08\x12\x1e\n\x16tagged_publishedfileid\x18\r \x03(\x04\x1a*\n\x03Tag\x12\x10\n\x08tag_name\x18\x01 \x01(\t\x12\x11\n\ttag_value\x18\x02 \x01(\t\"d\n\"CMsgClientUCMAddScreenshotResponse\x12\x12\n\x07\x65result\x18\x01 \x01(\x05:\x01\x32\x12*\n\x0cscreenshotid\x18\x02 \x01(\x06:\x14\x31\x38\x34\x34\x36\x37\x34\x34\x30\x37\x33\x37\x30\x39\x35\x35\x31\x36\x31\x35\"K\n\x1d\x43MsgClientUCMDeleteScreenshot\x12*\n\x0cscreenshotid\x18\x01 \x01(\x06:\x14\x31\x38\x34\x34\x36\x37\x34\x34\x30\x37\x33\x37\x30\x39\x35\x35\x31\x36\x31\x35\";\n%CMsgClientUCMDeleteScreenshotResponse\x12\x12\n\x07\x65result\x18\x01 \x01(\x05:\x01\x32\"\xd1\x02\n\x18\x43MsgClientUCMPublishFile\x12\x0e\n\x06\x61pp_id\x18\x01 \x01(\r\x12\x11\n\tfile_name\x18\x02 \x01(\t\x12\x19\n\x11preview_file_name\x18\x03 \x01(\t\x12\x17\n\x0f\x63onsumer_app_id\x18\x04 \x01(\r\x12\r\n\x05title\x18\x05 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x06 \x01(\t\x12\x0c\n\x04tags\x18\x08 \x03(\t\x12\x15\n\rworkshop_file\x18\t \x01(\x08\x12\x12\n\nvisibility\x18\n \x01(\x05\x12\x11\n\tfile_type\x18\x0b \x01(\r\x12\x0b\n\x03url\x18\x0c \x01(\t\x12\x16\n\x0evideo_provider\x18\r \x01(\r\x12\x1a\n\x12video_account_name\x18\x0e \x01(\t\x12\x18\n\x10video_identifier\x18\x0f \x01(\t\x12\x13\n\x0bin_progress\x18\x10 \x01(\x08\"\xa1\x01\n CMsgClientUCMPublishFileResponse\x12\x12\n\x07\x65result\x18\x01 \x01(\x05:\x01\x32\x12/\n\x11published_file_id\x18\x02 \x01(\x06:\x14\x31\x38\x34\x34\x36\x37\x34\x34\x30\x37\x33\x37\x30\x39\x35\x35\x31\x36\x31\x35\x12\x38\n)needs_workshop_legal_agreement_acceptance\x18\x03 \x01(\x08:\x05\x66\x61lse\"\x9c\x07\n CMsgClientUCMUpdatePublishedFile\x12\x0e\n\x06\x61pp_id\x18\x01 \x01(\r\x12\x19\n\x11published_file_id\x18\x02 \x01(\x06\x12\x11\n\tfile_name\x18\x03 \x01(\t\x12\x19\n\x11preview_file_name\x18\x04 \x01(\t\x12\r\n\x05title\x18\x05 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x06 \x01(\t\x12\x0c\n\x04tags\x18\x07 \x03(\t\x12\x12\n\nvisibility\x18\x08 \x01(\x05\x12\x13\n\x0bupdate_file\x18\t \x01(\x08\x12\x1b\n\x13update_preview_file\x18\n \x01(\x08\x12\x14\n\x0cupdate_title\x18\x0b \x01(\x08\x12\x1a\n\x12update_description\x18\x0c \x01(\x08\x12\x13\n\x0bupdate_tags\x18\r \x01(\x08\x12\x19\n\x11update_visibility\x18\x0e \x01(\x08\x12\x1a\n\x12\x63hange_description\x18\x0f \x01(\t\x12\x12\n\nupdate_url\x18\x10 \x01(\x08\x12\x0b\n\x03url\x18\x11 \x01(\t\x12\x1f\n\x17update_content_manifest\x18\x12 \x01(\x08\x12\x18\n\x10\x63ontent_manifest\x18\x13 \x01(\x06\x12\x10\n\x08metadata\x18\x14 \x01(\t\x12\x17\n\x0fupdate_metadata\x18\x15 \x01(\x08\x12\x13\n\x08language\x18\x16 \x01(\x05:\x01\x30\x12\x16\n\x0eremoved_kvtags\x18\x17 \x03(\t\x12=\n\x06kvtags\x18\x18 \x03(\x0b\x32-.CMsgClientUCMUpdatePublishedFile.KeyValueTag\x12\x45\n\x08previews\x18\x19 \x03(\x0b\x32\x33.CMsgClientUCMUpdatePublishedFile.AdditionalPreview\x12\x1a\n\x12previews_to_remove\x18\x1a \x03(\x05\x12\x19\n\x11\x63lear_in_progress\x18\x1b \x01(\x08\x1a)\n\x0bKeyValueTag\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t\x1a\x8c\x01\n\x11\x41\x64\x64itionalPreview\x12\x1a\n\x12original_file_name\x18\x01 \x01(\t\x12\x1a\n\x12internal_file_name\x18\x02 \x01(\t\x12\x0f\n\x07videoid\x18\x03 \x01(\t\x12\x14\n\x0cpreview_type\x18\x04 \x01(\r\x12\x18\n\x0cupdate_index\x18\x05 \x01(\x05:\x02-1\"x\n(CMsgClientUCMUpdatePublishedFileResponse\x12\x12\n\x07\x65result\x18\x01 \x01(\x05:\x01\x32\x12\x38\n)needs_workshop_legal_agreement_acceptance\x18\x02 \x01(\x08:\x05\x66\x61lse\"M\n CMsgClientUCMDeletePublishedFile\x12\x19\n\x11published_file_id\x18\x01 \x01(\x06\x12\x0e\n\x06\x61pp_id\x18\x02 \x01(\r\">\n(CMsgClientUCMDeletePublishedFileResponse\x12\x12\n\x07\x65result\x18\x01 \x01(\x05:\x01\x32\"c\n(CMsgClientUCMEnumerateUserPublishedFiles\x12\x0e\n\x06\x61pp_id\x18\x01 \x01(\r\x12\x13\n\x0bstart_index\x18\x02 \x01(\r\x12\x12\n\nsort_order\x18\x03 \x01(\r\"\xe7\x01\n0CMsgClientUCMEnumerateUserPublishedFilesResponse\x12\x12\n\x07\x65result\x18\x01 \x01(\x05:\x01\x32\x12Z\n\x0fpublished_files\x18\x02 \x03(\x0b\x32\x41.CMsgClientUCMEnumerateUserPublishedFilesResponse.PublishedFileId\x12\x15\n\rtotal_results\x18\x03 \x01(\r\x1a,\n\x0fPublishedFileId\x12\x19\n\x11published_file_id\x18\x01 \x01(\x06\"\x98\x01\n)CMsgClientUCMEnumerateUserSubscribedFiles\x12\x0e\n\x06\x61pp_id\x18\x01 \x01(\r\x12\x13\n\x0bstart_index\x18\x02 \x01(\r\x12\x14\n\tlist_type\x18\x03 \x01(\r:\x01\x31\x12\x1d\n\x12matching_file_type\x18\x04 \x01(\r:\x01\x30\x12\x11\n\x05\x63ount\x18\x05 \x01(\r:\x02\x35\x30\"\x89\x02\n1CMsgClientUCMEnumerateUserSubscribedFilesResponse\x12\x12\n\x07\x65result\x18\x01 \x01(\x05:\x01\x32\x12\\\n\x10subscribed_files\x18\x02 \x03(\x0b\x32\x42.CMsgClientUCMEnumerateUserSubscribedFilesResponse.PublishedFileId\x12\x15\n\rtotal_results\x18\x03 \x01(\r\x1aK\n\x0fPublishedFileId\x12\x19\n\x11published_file_id\x18\x01 \x01(\x06\x12\x1d\n\x12rtime32_subscribed\x18\x02 \x01(\x07:\x01\x30\"o\n4CMsgClientUCMEnumerateUserSubscribedFilesWithUpdates\x12\x0e\n\x06\x61pp_id\x18\x01 \x01(\r\x12\x13\n\x0bstart_index\x18\x02 \x01(\r\x12\x12\n\nstart_time\x18\x03 \x01(\x07\"\x91\x03\n.CMsgClientUCMGetPublishedFilesForUserResponse.PublishedFileId\x12\x15\n\rtotal_results\x18\x03 \x01(\r\x1a,\n\x0fPublishedFileId\x12\x19\n\x11published_file_id\x18\x01 \x01(\x06\"d\n\'CMsgClientUCMSetUserPublishedFileAction\x12\x19\n\x11published_file_id\x18\x01 \x01(\x06\x12\x0e\n\x06\x61pp_id\x18\x02 \x01(\r\x12\x0e\n\x06\x61\x63tion\x18\x03 \x01(\x05\"E\n/CMsgClientUCMSetUserPublishedFileActionResponse\x12\x12\n\x07\x65result\x18\x01 \x01(\x05:\x01\x32\"g\n0CMsgClientUCMEnumeratePublishedFilesByUserAction\x12\x0e\n\x06\x61pp_id\x18\x01 \x01(\r\x12\x13\n\x0bstart_index\x18\x02 \x01(\r\x12\x0e\n\x06\x61\x63tion\x18\x03 \x01(\x05\"\x94\x02\n8CMsgClientUCMEnumeratePublishedFilesByUserActionResponse\x12\x12\n\x07\x65result\x18\x01 \x01(\x05:\x01\x32\x12\x62\n\x0fpublished_files\x18\x02 \x03(\x0b\x32I.CMsgClientUCMEnumeratePublishedFilesByUserActionResponse.PublishedFileId\x12\x15\n\rtotal_results\x18\x03 \x01(\r\x1aI\n\x0fPublishedFileId\x12\x19\n\x11published_file_id\x18\x01 \x01(\x06\x12\x1b\n\x10rtime_time_stamp\x18\x02 \x01(\x07:\x01\x30\"\x1e\n\x1c\x43MsgClientScreenshotsChanged\"w\n\x1c\x43MsgClientUpdateUserGameInfo\x12\x14\n\x0csteamid_idgs\x18\x01 \x01(\x06\x12\x0e\n\x06gameid\x18\x02 \x01(\x06\x12\x0f\n\x07game_ip\x18\x03 \x01(\r\x12\x11\n\tgame_port\x18\x04 \x01(\r\x12\r\n\x05token\x18\x05 \x01(\x0c\"S\n\x1c\x43MsgClientRichPresenceUpload\x12\x18\n\x10rich_presence_kv\x18\x01 \x01(\x0c\x12\x19\n\x11steamid_broadcast\x18\x02 \x03(\x06\"8\n\x1d\x43MsgClientRichPresenceRequest\x12\x17\n\x0fsteamid_request\x18\x01 \x03(\x06\"\x9d\x01\n\x1a\x43MsgClientRichPresenceInfo\x12?\n\rrich_presence\x18\x01 \x03(\x0b\x32(.CMsgClientRichPresenceInfo.RichPresence\x1a>\n\x0cRichPresence\x12\x14\n\x0csteamid_user\x18\x01 \x01(\x06\x12\x18\n\x10rich_presence_kv\x18\x02 \x01(\x0c\".\n\x1c\x43MsgClientCheckFileSignature\x12\x0e\n\x06\x61pp_id\x18\x01 \x01(\r\"\xf7\x01\n$CMsgClientCheckFileSignatureResponse\x12\x0e\n\x06\x61pp_id\x18\x01 \x01(\r\x12\x0b\n\x03pid\x18\x02 \x01(\r\x12\x0f\n\x07\x65result\x18\x03 \x01(\r\x12\x10\n\x08\x66ilename\x18\x04 \x01(\t\x12\x18\n\x10\x65signatureresult\x18\x05 \x01(\r\x12\x10\n\x08sha_file\x18\x06 \x01(\x0c\x12\x17\n\x0fsignatureheader\x18\x07 \x01(\x0c\x12\x10\n\x08\x66ilesize\x18\x08 \x01(\r\x12\x14\n\x0cgetlasterror\x18\t \x01(\r\x12\"\n\x1a\x65valvesignaturecheckdetail\x18\n \x01(\r\"P\n\x19\x43MsgClientReadMachineAuth\x12\x10\n\x08\x66ilename\x18\x01 \x01(\t\x12\x0e\n\x06offset\x18\x02 \x01(\r\x12\x11\n\tcubtoread\x18\x03 \x01(\r\"\xce\x01\n!CMsgClientReadMachineAuthResponse\x12\x10\n\x08\x66ilename\x18\x01 \x01(\t\x12\x0f\n\x07\x65result\x18\x02 \x01(\r\x12\x10\n\x08\x66ilesize\x18\x03 \x01(\r\x12\x10\n\x08sha_file\x18\x04 \x01(\x0c\x12\x14\n\x0cgetlasterror\x18\x05 \x01(\r\x12\x0e\n\x06offset\x18\x06 \x01(\r\x12\x0f\n\x07\x63ubread\x18\x07 \x01(\r\x12\x12\n\nbytes_read\x18\x08 \x01(\x0c\x12\x17\n\x0f\x66ilename_sentry\x18\t \x01(\t\"\xbd\x01\n\x1b\x43MsgClientUpdateMachineAuth\x12\x10\n\x08\x66ilename\x18\x01 \x01(\t\x12\x0e\n\x06offset\x18\x02 \x01(\r\x12\x12\n\ncubtowrite\x18\x03 \x01(\r\x12\r\n\x05\x62ytes\x18\x04 \x01(\x0c\x12\x10\n\x08otp_type\x18\x05 \x01(\r\x12\x16\n\x0eotp_identifier\x18\x06 \x01(\t\x12\x18\n\x10otp_sharedsecret\x18\x07 \x01(\x0c\x12\x15\n\rotp_timedrift\x18\x08 \x01(\r\"\xe1\x01\n#CMsgClientUpdateMachineAuthResponse\x12\x10\n\x08\x66ilename\x18\x01 \x01(\t\x12\x0f\n\x07\x65result\x18\x02 \x01(\r\x12\x10\n\x08\x66ilesize\x18\x03 \x01(\r\x12\x10\n\x08sha_file\x18\x04 \x01(\x0c\x12\x14\n\x0cgetlasterror\x18\x05 \x01(\r\x12\x0e\n\x06offset\x18\x06 \x01(\r\x12\x10\n\x08\x63ubwrote\x18\x07 \x01(\r\x12\x10\n\x08otp_type\x18\x08 \x01(\x05\x12\x11\n\totp_value\x18\t \x01(\r\x12\x16\n\x0eotp_identifier\x18\n \x01(\t\"\xa1\x02\n\x1c\x43MsgClientRequestMachineAuth\x12\x10\n\x08\x66ilename\x18\x01 \x01(\t\x12\x1a\n\x12\x65result_sentryfile\x18\x02 \x01(\r\x12\x10\n\x08\x66ilesize\x18\x03 \x01(\r\x12\x16\n\x0esha_sentryfile\x18\x04 \x01(\x0c\x12\x1b\n\x13lock_account_action\x18\x06 \x01(\x05\x12\x10\n\x08otp_type\x18\x07 \x01(\r\x12\x16\n\x0eotp_identifier\x18\x08 \x01(\t\x12\x18\n\x10otp_sharedsecret\x18\t \x01(\x0c\x12\x11\n\totp_value\x18\n \x01(\r\x12\x14\n\x0cmachine_name\x18\x0b \x01(\t\x12\x1f\n\x17machine_name_userchosen\x18\x0c \x01(\t\"7\n$CMsgClientRequestMachineAuthResponse\x12\x0f\n\x07\x65result\x18\x01 \x01(\r\"$\n\x15\x43MsgClientRegisterKey\x12\x0b\n\x03key\x18\x01 \x01(\t\"p\n\x1a\x43MsgClientPurchaseResponse\x12\x12\n\x07\x65result\x18\x01 \x01(\x05:\x01\x32\x12\x1f\n\x17purchase_result_details\x18\x02 \x01(\x05\x12\x1d\n\x15purchase_receipt_info\x18\x03 \x01(\x0c\"\xc5\x01\n\x1c\x43MsgClientActivateOEMLicense\x12\x19\n\x11\x62ios_manufacturer\x18\x01 \x01(\t\x12\x19\n\x11\x62ios_serialnumber\x18\x02 \x01(\t\x12\x14\n\x0clicense_file\x18\x03 \x01(\x0c\x12\x1e\n\x16mainboard_manufacturer\x18\x04 \x01(\t\x12\x19\n\x11mainboard_product\x18\x05 \x01(\t\x12\x1e\n\x16mainboard_serialnumber\x18\x06 \x01(\t\"9\n\x1c\x43MsgClientRegisterOEMMachine\x12\x19\n\x11oem_register_file\x18\x01 \x01(\x0c\"7\n$CMsgClientRegisterOEMMachineResponse\x12\x0f\n\x07\x65result\x18\x01 \x01(\r\"K\n\x1f\x43MsgClientPurchaseWithMachineID\x12\x12\n\npackage_id\x18\x01 \x01(\r\x12\x14\n\x0cmachine_info\x18\x02 \x01(\x0c\"g\n CMsgTrading_InitiateTradeRequest\x12\x18\n\x10trade_request_id\x18\x01 \x01(\r\x12\x15\n\rother_steamid\x18\x02 \x01(\x04\x12\x12\n\nother_name\x18\x03 \x01(\t\"\xd2\x02\n!CMsgTrading_InitiateTradeResponse\x12\x10\n\x08response\x18\x01 \x01(\r\x12\x18\n\x10trade_request_id\x18\x02 \x01(\r\x12\x15\n\rother_steamid\x18\x03 \x01(\x04\x12 \n\x18steamguard_required_days\x18\x04 \x01(\r\x12 \n\x18new_device_cooldown_days\x18\x05 \x01(\r\x12-\n%default_password_reset_probation_days\x18\x06 \x01(\r\x12%\n\x1dpassword_reset_probation_days\x18\x07 \x01(\r\x12+\n#default_email_change_probation_days\x18\x08 \x01(\r\x12#\n\x1b\x65mail_change_probation_days\x18\t \x01(\r\"7\n\x1e\x43MsgTrading_CancelTradeRequest\x12\x15\n\rother_steamid\x18\x01 \x01(\x04\"1\n\x18\x43MsgTrading_StartSession\x12\x15\n\rother_steamid\x18\x01 \x01(\x04\"P\n\x19\x43MsgClientGetCDNAuthToken\x12\x10\n\x08\x64\x65pot_id\x18\x01 \x01(\r\x12\x11\n\thost_name\x18\x02 \x01(\t\x12\x0e\n\x06\x61pp_id\x18\x03 \x01(\r\"C\n\x1f\x43MsgClientGetDepotDecryptionKey\x12\x10\n\x08\x64\x65pot_id\x18\x01 \x01(\r\x12\x0e\n\x06\x61pp_id\x18\x02 \x01(\r\"m\n\'CMsgClientGetDepotDecryptionKeyResponse\x12\x12\n\x07\x65result\x18\x01 \x01(\x05:\x01\x32\x12\x10\n\x08\x64\x65pot_id\x18\x02 \x01(\r\x12\x1c\n\x14\x64\x65pot_encryption_key\x18\x03 \x01(\x0c\"F\n\x1e\x43MsgClientCheckAppBetaPassword\x12\x0e\n\x06\x61pp_id\x18\x01 \x01(\r\x12\x14\n\x0c\x62\x65tapassword\x18\x02 \x01(\t\"\xc1\x01\n&CMsgClientCheckAppBetaPasswordResponse\x12\x12\n\x07\x65result\x18\x01 \x01(\x05:\x01\x32\x12K\n\rbetapasswords\x18\x04 \x03(\x0b\x32\x34.CMsgClientCheckAppBetaPasswordResponse.BetaPassword\x1a\x36\n\x0c\x42\x65taPassword\x12\x10\n\x08\x62\x65taname\x18\x01 \x01(\t\x12\x14\n\x0c\x62\x65tapassword\x18\x02 \x01(\t\"\xad\x04\n\x1c\x43MsgClientUpdateAppJobReport\x12\x0e\n\x06\x61pp_id\x18\x01 \x01(\r\x12\x11\n\tdepot_ids\x18\x02 \x03(\r\x12\x11\n\tapp_state\x18\x03 \x01(\r\x12\x15\n\rjob_app_error\x18\x04 \x01(\r\x12\x15\n\rerror_details\x18\x05 \x01(\t\x12\x14\n\x0cjob_duration\x18\x06 \x01(\r\x12\x1f\n\x17\x66iles_validation_failed\x18\x07 \x01(\r\x12\x1c\n\x14job_bytes_downloaded\x18\x08 \x01(\x04\x12\x18\n\x10job_bytes_staged\x18\t \x01(\x04\x12\x16\n\x0e\x62ytes_comitted\x18\n \x01(\x04\x12\x17\n\x0fstart_app_state\x18\x0b \x01(\r\x12\x18\n\x10stats_machine_id\x18\x0c \x01(\x06\x12\x13\n\x0b\x62ranch_name\x18\r \x01(\t\x12\x1e\n\x16total_bytes_downloaded\x18\x0e \x01(\x04\x12\x1a\n\x12total_bytes_staged\x18\x0f \x01(\x04\x12\x1c\n\x14total_bytes_restored\x18\x10 \x01(\x04\x12\x13\n\x0bis_borrowed\x18\x11 \x01(\x08\x12\x17\n\x0fis_free_weekend\x18\x12 \x01(\x08\x12\x1a\n\x12total_bytes_legacy\x18\x13 \x01(\x04\x12\x1b\n\x13total_bytes_patched\x18\x14 \x01(\x04\x12\x19\n\x11total_bytes_saved\x18\x15 \x01(\x04\"\xcb\x01\n\x1e\x43MsgClientDPContentStatsReport\x12\x18\n\x10stats_machine_id\x18\x01 \x01(\x06\x12\x14\n\x0c\x63ountry_code\x18\x02 \x01(\t\x12\x0f\n\x07os_type\x18\x03 \x01(\x05\x12\x10\n\x08language\x18\x04 \x01(\x05\x12\x1b\n\x13num_install_folders\x18\x05 \x01(\r\x12\x1b\n\x13num_installed_games\x18\x06 \x01(\r\x12\x1c\n\x14size_installed_games\x18\x07 \x01(\x04\"_\n!CMsgClientGetCDNAuthTokenResponse\x12\x12\n\x07\x65result\x18\x01 \x01(\r:\x01\x32\x12\r\n\x05token\x18\x02 \x01(\t\x12\x17\n\x0f\x65xpiration_time\x18\x03 \x01(\r\"\xcb\x01\n\x1a\x43MsgDownloadRateStatistics\x12\x0f\n\x07\x63\x65ll_id\x18\x01 \x01(\r\x12\x34\n\x05stats\x18\x02 \x03(\x0b\x32%.CMsgDownloadRateStatistics.StatsInfo\x1a\x66\n\tStatsInfo\x12\x13\n\x0bsource_type\x18\x01 \x01(\r\x12\x11\n\tsource_id\x18\x02 \x01(\r\x12\x0f\n\x07seconds\x18\x03 \x01(\r\x12\r\n\x05\x62ytes\x18\x04 \x01(\x04\x12\x11\n\thost_name\x18\x05 \x01(\t\"H\n\x1c\x43MsgClientRequestAccountData\x12\x18\n\x10\x61\x63\x63ount_or_email\x18\x01 \x01(\t\x12\x0e\n\x06\x61\x63tion\x18\x02 \x01(\r\"\xd7\x01\n$CMsgClientRequestAccountDataResponse\x12\x0e\n\x06\x61\x63tion\x18\x01 \x01(\r\x12\x0f\n\x07\x65result\x18\x02 \x01(\r\x12\x14\n\x0c\x61\x63\x63ount_name\x18\x03 \x01(\t\x12\x12\n\nct_matches\x18\x04 \x01(\r\x12 \n\x18\x61\x63\x63ount_name_suggestion1\x18\x05 \x01(\t\x12 \n\x18\x61\x63\x63ount_name_suggestion2\x18\x06 \x01(\t\x12 \n\x18\x61\x63\x63ount_name_suggestion3\x18\x07 \x01(\t\"\x99\x01\n\x1b\x43MsgClientUGSGetGlobalStats\x12\x0e\n\x06gameid\x18\x01 \x01(\x04\x12\x1e\n\x16history_days_requested\x18\x02 \x01(\r\x12\x1b\n\x13time_last_requested\x18\x03 \x01(\x07\x12\x18\n\x10\x66irst_day_cached\x18\x04 \x01(\r\x12\x13\n\x0b\x64\x61ys_cached\x18\x05 \x01(\r\"\x95\x02\n#CMsgClientUGSGetGlobalStatsResponse\x12\x12\n\x07\x65result\x18\x01 \x01(\x05:\x01\x32\x12\x11\n\ttimestamp\x18\x02 \x01(\x07\x12\x13\n\x0b\x64\x61y_current\x18\x03 \x01(\x05\x12\x36\n\x04\x64\x61ys\x18\x04 \x03(\x0b\x32(.CMsgClientUGSGetGlobalStatsResponse.Day\x1az\n\x03\x44\x61y\x12\x0e\n\x06\x64\x61y_id\x18\x01 \x01(\r\x12<\n\x05stats\x18\x02 \x03(\x0b\x32-.CMsgClientUGSGetGlobalStatsResponse.Day.Stat\x1a%\n\x04Stat\x12\x0f\n\x07stat_id\x18\x01 \x01(\x05\x12\x0c\n\x04\x64\x61ta\x18\x02 \x01(\x03\"\xd4\x03\n\x12\x43MsgGameServerData\x12\x13\n\x0bsteam_id_gs\x18\x01 \x01(\x06\x12\n\n\x02ip\x18\x02 \x01(\r\x12\x12\n\nquery_port\x18\x03 \x01(\r\x12\x11\n\tgame_port\x18\x04 \x01(\r\x12\x15\n\rsourcetv_port\x18\x05 \x01(\r\x12\x0c\n\x04name\x18\x16 \x01(\t\x12\x0e\n\x06\x61pp_id\x18\x06 \x01(\r\x12\x0f\n\x07gamedir\x18\x07 \x01(\t\x12\x0f\n\x07version\x18\x08 \x01(\t\x12\x0f\n\x07product\x18\t \x01(\t\x12\x0e\n\x06region\x18\n \x01(\t\x12+\n\x07players\x18\x0b \x03(\x0b\x32\x1a.CMsgGameServerData.Player\x12\x13\n\x0bmax_players\x18\x0c \x01(\r\x12\x11\n\tbot_count\x18\r \x01(\r\x12\x10\n\x08password\x18\x0e \x01(\x08\x12\x0e\n\x06secure\x18\x0f \x01(\x08\x12\x11\n\tdedicated\x18\x10 \x01(\x08\x12\n\n\x02os\x18\x11 \x01(\t\x12\x11\n\tgame_data\x18\x12 \x01(\t\x12\x19\n\x11game_data_version\x18\x13 \x01(\r\x12\x11\n\tgame_type\x18\x14 \x01(\t\x12\x0b\n\x03map\x18\x15 \x01(\t\x1a\x1a\n\x06Player\x12\x10\n\x08steam_id\x18\x01 \x01(\x06\"H\n\x14\x43MsgGameServerRemove\x12\x10\n\x08steam_id\x18\x01 \x01(\x06\x12\n\n\x02ip\x18\x02 \x01(\r\x12\x12\n\nquery_port\x18\x03 \x01(\r\"\x82\x01\n\x18\x43MsgClientGMSServerQuery\x12\x0e\n\x06\x61pp_id\x18\x01 \x01(\r\x12\x17\n\x0fgeo_location_ip\x18\x02 \x01(\r\x12\x13\n\x0bregion_code\x18\x03 \x01(\r\x12\x13\n\x0b\x66ilter_text\x18\x04 \x01(\t\x12\x13\n\x0bmax_servers\x18\x05 \x01(\r\"\xb4\x01\n CMsgGMSClientServerQueryResponse\x12\x39\n\x07servers\x18\x01 \x03(\x0b\x32(.CMsgGMSClientServerQueryResponse.Server\x12\r\n\x05\x65rror\x18\x02 \x01(\t\x1a\x46\n\x06Server\x12\x11\n\tserver_ip\x18\x01 \x01(\r\x12\x13\n\x0bserver_port\x18\x02 \x01(\r\x12\x14\n\x0c\x61uth_players\x18\x03 \x01(\r\"O\n\x17\x43MsgGameServerOutOfDate\x12\x13\n\x0bsteam_id_gs\x18\x01 \x01(\x06\x12\x0e\n\x06reject\x18\x02 \x01(\x08\x12\x0f\n\x07message\x18\x03 \x01(\t\"2\n\x19\x43MsgClientRedeemGuestPass\x12\x15\n\rguest_pass_id\x18\x01 \x01(\x06\"c\n!CMsgClientRedeemGuestPassResponse\x12\x12\n\x07\x65result\x18\x01 \x01(\r:\x01\x32\x12\x12\n\npackage_id\x18\x02 \x01(\r\x12\x16\n\x0emust_own_appid\x18\x03 \x01(\r\"8\n\x1f\x43MsgClientGetClanActivityCounts\x12\x15\n\rsteamid_clans\x18\x01 \x03(\x04\"=\n\'CMsgClientGetClanActivityCountsResponse\x12\x12\n\x07\x65result\x18\x01 \x01(\r:\x01\x32\"y\n\x19\x43MsgClientOGSReportString\x12\x13\n\x0b\x61\x63\x63umulated\x18\x01 \x01(\x08\x12\x11\n\tsessionid\x18\x02 \x01(\x04\x12\x10\n\x08severity\x18\x03 \x01(\x05\x12\x11\n\tformatter\x18\x04 \x01(\t\x12\x0f\n\x07varargs\x18\x05 \x01(\x0c\"P\n\x16\x43MsgClientOGSReportBug\x12\x11\n\tsessionid\x18\x01 \x01(\x04\x12\x0f\n\x07\x62ugtext\x18\x02 \x01(\t\x12\x12\n\nscreenshot\x18\x03 \x01(\x0c\"0\n\x17\x43MsgGSAssociateWithClan\x12\x15\n\rsteam_id_clan\x18\x01 \x01(\x06\"L\n\x1f\x43MsgGSAssociateWithClanResponse\x12\x15\n\rsteam_id_clan\x18\x01 \x01(\x06\x12\x12\n\x07\x65result\x18\x02 \x01(\r:\x01\x32\"A\n#CMsgGSComputeNewPlayerCompatibility\x12\x1a\n\x12steam_id_candidate\x18\x01 \x01(\x06\"\xcf\x01\n+CMsgGSComputeNewPlayerCompatibilityResponse\x12\x1a\n\x12steam_id_candidate\x18\x01 \x01(\x06\x12\x12\n\x07\x65result\x18\x02 \x01(\r:\x01\x32\x12\x16\n\x0eis_clan_member\x18\x03 \x01(\x08\x12\x18\n\x10\x63t_dont_like_you\x18\x04 \x01(\x05\x12\x18\n\x10\x63t_you_dont_like\x18\x05 \x01(\x05\x12$\n\x1c\x63t_clanmembers_dont_like_you\x18\x06 \x01(\x05\"\x14\n\x12\x43MsgClientSentLogs\"l\n\x0c\x43MsgGCClient\x12\r\n\x05\x61ppid\x18\x01 \x01(\r\x12\x0f\n\x07msgtype\x18\x02 \x01(\r\x12\x0f\n\x07payload\x18\x03 \x01(\x0c\x12\x0f\n\x07steamid\x18\x04 \x01(\x06\x12\x0e\n\x06gcname\x18\x05 \x01(\t\x12\n\n\x02ip\x18\x06 \x01(\r\".\n\x1c\x43MsgClientRequestFreeLicense\x12\x0e\n\x06\x61ppids\x18\x02 \x03(\r\"n\n$CMsgClientRequestFreeLicenseResponse\x12\x12\n\x07\x65result\x18\x01 \x01(\r:\x01\x32\x12\x1a\n\x12granted_packageids\x18\x02 \x03(\r\x12\x16\n\x0egranted_appids\x18\x03 \x03(\r\"\xd3\x01\n#CMsgDRMDownloadRequestWithCrashData\x12\x16\n\x0e\x64ownload_flags\x18\x01 \x01(\r\x12\x1c\n\x14\x64ownload_types_known\x18\x02 \x01(\r\x12\x10\n\x08guid_drm\x18\x03 \x01(\x0c\x12\x12\n\nguid_split\x18\x04 \x01(\x0c\x12\x12\n\nguid_merge\x18\x05 \x01(\x0c\x12\x13\n\x0bmodule_name\x18\x06 \x01(\t\x12\x13\n\x0bmodule_path\x18\x07 \x01(\t\x12\x12\n\ncrash_data\x18\x08 \x01(\x0c\"\xdb\x01\n\x17\x43MsgDRMDownloadResponse\x12\x12\n\x07\x65result\x18\x01 \x01(\r:\x01\x32\x12\x0e\n\x06\x61pp_id\x18\x02 \x01(\r\x12\x1a\n\x12\x62lob_download_type\x18\x03 \x01(\r\x12\x12\n\nmerge_guid\x18\x04 \x01(\x0c\x12\x1c\n\x14\x64ownload_file_dfs_ip\x18\x05 \x01(\r\x12\x1e\n\x16\x64ownload_file_dfs_port\x18\x06 \x01(\r\x12\x19\n\x11\x64ownload_file_url\x18\x07 \x01(\t\x12\x13\n\x0bmodule_path\x18\x08 \x01(\t\"\xd7\x01\n\x12\x43MsgDRMFinalResult\x12\x12\n\x07\x65Result\x18\x01 \x01(\r:\x01\x32\x12\x0e\n\x06\x61pp_id\x18\x02 \x01(\r\x12\x1a\n\x12\x62lob_download_type\x18\x03 \x01(\r\x12\x14\n\x0c\x65rror_detail\x18\x04 \x01(\r\x12\x12\n\nmerge_guid\x18\x05 \x01(\x0c\x12\x1c\n\x14\x64ownload_file_dfs_ip\x18\x06 \x01(\r\x12\x1e\n\x16\x64ownload_file_dfs_port\x18\x07 \x01(\r\x12\x19\n\x11\x64ownload_file_url\x18\x08 \x01(\t\"3\n\x1e\x43MsgClientDPCheckSpecialSurvey\x12\x11\n\tsurvey_id\x18\x01 \x01(\r\"\x96\x01\n&CMsgClientDPCheckSpecialSurveyResponse\x12\x12\n\x07\x65Result\x18\x01 \x01(\r:\x01\x32\x12\r\n\x05state\x18\x02 \x01(\r\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\x12\n\ncustom_url\x18\x04 \x01(\t\x12\x18\n\x10include_software\x18\x05 \x01(\x08\x12\r\n\x05token\x18\x06 \x01(\x0c\"H\n%CMsgClientDPSendSpecialSurveyResponse\x12\x11\n\tsurvey_id\x18\x01 \x01(\r\x12\x0c\n\x04\x64\x61ta\x18\x02 \x01(\x0c\"O\n*CMsgClientDPSendSpecialSurveyResponseReply\x12\x12\n\x07\x65Result\x18\x01 \x01(\r:\x01\x32\x12\r\n\x05token\x18\x02 \x01(\x0c\"W\n\'CMsgClientRequestForgottenPasswordEmail\x12\x14\n\x0c\x61\x63\x63ount_name\x18\x01 \x01(\t\x12\x16\n\x0epassword_tried\x18\x02 \x01(\t\"_\n/CMsgClientRequestForgottenPasswordEmailResponse\x12\x0f\n\x07\x65Result\x18\x01 \x01(\r\x12\x1b\n\x13use_secret_question\x18\x02 \x01(\x08\"6\n\x1b\x43MsgClientItemAnnouncements\x12\x17\n\x0f\x63ount_new_items\x18\x01 \x01(\r\"$\n\"CMsgClientRequestItemAnnouncements\"\x9e\x01\n\x1b\x43MsgClientUserNotifications\x12@\n\rnotifications\x18\x01 \x03(\x0b\x32).CMsgClientUserNotifications.Notification\x1a=\n\x0cNotification\x12\x1e\n\x16user_notification_type\x18\x01 \x01(\r\x12\r\n\x05\x63ount\x18\x02 \x01(\r\"\x88\x01\n\x1e\x43MsgClientCommentNotifications\x12\x1a\n\x12\x63ount_new_comments\x18\x01 \x01(\r\x12 \n\x18\x63ount_new_comments_owner\x18\x02 \x01(\r\x12(\n count_new_comments_subscriptions\x18\x03 \x01(\r\"\'\n%CMsgClientRequestCommentNotifications\"g\n$CMsgClientOfflineMessageNotification\x12\x18\n\x10offline_messages\x18\x01 \x01(\r\x12%\n\x1d\x66riends_with_offline_messages\x18\x02 \x03(\r\"&\n$CMsgClientRequestOfflineMessageCount\"8\n%CMsgClientChatGetFriendMessageHistory\x12\x0f\n\x07steamid\x18\x01 \x01(\x06\"\xf9\x01\n-CMsgClientChatGetFriendMessageHistoryResponse\x12\x0f\n\x07steamid\x18\x01 \x01(\x06\x12\x0f\n\x07success\x18\x02 \x01(\r\x12N\n\x08messages\x18\x03 \x03(\x0b\x32<.CMsgClientChatGetFriendMessageHistoryResponse.FriendMessage\x1aV\n\rFriendMessage\x12\x11\n\taccountid\x18\x01 \x01(\r\x12\x11\n\ttimestamp\x18\x02 \x01(\r\x12\x0f\n\x07message\x18\x03 \x01(\t\x12\x0e\n\x06unread\x18\x04 \x01(\x08\"9\n7CMsgClientChatGetFriendMessageHistoryForOfflineMessages\"7\n!CMsgClientFSGetFriendsSteamLevels\x12\x12\n\naccountids\x18\x01 \x03(\r\"\x9b\x01\n)CMsgClientFSGetFriendsSteamLevelsResponse\x12\x42\n\x07\x66riends\x18\x01 \x03(\x0b\x32\x31.CMsgClientFSGetFriendsSteamLevelsResponse.Friend\x1a*\n\x06\x46riend\x12\x11\n\taccountid\x18\x01 \x01(\r\x12\r\n\x05level\x18\x02 \x01(\r\"\xeb\x01\n\x17\x43MsgClientEmailAddrInfo\x12\x15\n\remail_address\x18\x01 \x01(\t\x12\x1a\n\x12\x65mail_is_validated\x18\x02 \x01(\x08\x12 \n\x18\x65mail_validation_changed\x18\x03 \x01(\x08\x12\'\n\x1f\x63redential_change_requires_code\x18\x04 \x01(\x08\x12\x31\n)password_or_secretqa_change_requires_code\x18\x05 \x01(\x08\x12\x1f\n\x17remind_user_about_email\x18\x06 \x01(\x08\"\xb7\x01\n\x1e\x43MsgCREEnumeratePublishedFiles\x12\x0e\n\x06\x61pp_id\x18\x01 \x01(\r\x12\x12\n\nquery_type\x18\x02 \x01(\x05\x12\x13\n\x0bstart_index\x18\x03 \x01(\r\x12\x0c\n\x04\x64\x61ys\x18\x04 \x01(\r\x12\r\n\x05\x63ount\x18\x05 \x01(\r\x12\x0c\n\x04tags\x18\x06 \x03(\t\x12\x11\n\tuser_tags\x18\x07 \x03(\t\x12\x1e\n\x12matching_file_type\x18\x08 \x01(\r:\x02\x31\x33\"\x9d\x02\n&CMsgCREEnumeratePublishedFilesResponse\x12\x12\n\x07\x65result\x18\x01 \x01(\x05:\x01\x32\x12P\n\x0fpublished_files\x18\x02 \x03(\x0b\x32\x37.CMsgCREEnumeratePublishedFilesResponse.PublishedFileId\x12\x15\n\rtotal_results\x18\x03 \x01(\r\x1av\n\x0fPublishedFileId\x12\x19\n\x11published_file_id\x18\x01 \x01(\x06\x12\x11\n\tvotes_for\x18\x02 \x01(\x05\x12\x15\n\rvotes_against\x18\x03 \x01(\x05\x12\x0f\n\x07reports\x18\x04 \x01(\x05\x12\r\n\x05score\x18\x05 \x01(\x02\"\x8b\x01\n\x16\x43MsgCREItemVoteSummary\x12\x43\n\x12published_file_ids\x18\x01 \x03(\x0b\x32\'.CMsgCREItemVoteSummary.PublishedFileId\x1a,\n\x0fPublishedFileId\x12\x19\n\x11published_file_id\x18\x01 \x01(\x06\"\xfa\x01\n\x1e\x43MsgCREItemVoteSummaryResponse\x12\x12\n\x07\x65result\x18\x01 \x01(\x05:\x01\x32\x12L\n\x13item_vote_summaries\x18\x02 \x03(\x0b\x32/.CMsgCREItemVoteSummaryResponse.ItemVoteSummary\x1av\n\x0fItemVoteSummary\x12\x19\n\x11published_file_id\x18\x01 \x01(\x06\x12\x11\n\tvotes_for\x18\x02 \x01(\x05\x12\x15\n\rvotes_against\x18\x03 \x01(\x05\x12\x0f\n\x07reports\x18\x04 \x01(\x05\x12\r\n\x05score\x18\x05 \x01(\x02\"P\n\"CMsgCREUpdateUserPublishedItemVote\x12\x19\n\x11published_file_id\x18\x01 \x01(\x06\x12\x0f\n\x07vote_up\x18\x02 \x01(\x08\"@\n*CMsgCREUpdateUserPublishedItemVoteResponse\x12\x12\n\x07\x65result\x18\x01 \x01(\x05:\x01\x32\"\xab\x01\n&CMsgCREGetUserPublishedItemVoteDetails\x12S\n\x12published_file_ids\x18\x01 \x03(\x0b\x32\x37.CMsgCREGetUserPublishedItemVoteDetails.PublishedFileId\x1a,\n\x0fPublishedFileId\x12\x19\n\x11published_file_id\x18\x01 \x01(\x06\"\xea\x01\n.CMsgCREGetUserPublishedItemVoteDetailsResponse\x12\x12\n\x07\x65result\x18\x01 \x01(\x05:\x01\x32\x12\x62\n\x16user_item_vote_details\x18\x02 \x03(\x0b\x32\x42.CMsgCREGetUserPublishedItemVoteDetailsResponse.UserItemVoteDetail\x1a@\n\x12UserItemVoteDetail\x12\x19\n\x11published_file_id\x18\x01 \x01(\x06\x12\x0f\n\x04vote\x18\x02 \x01(\x05:\x01\x30\"\xb9\x01\n\x18\x43MsgGameServerPingSample\x12\r\n\x05my_ip\x18\x01 \x01(\x07\x12\x11\n\tgs_app_id\x18\x02 \x01(\x05\x12\x34\n\ngs_samples\x18\x03 \x03(\x0b\x32 .CMsgGameServerPingSample.Sample\x1a\x45\n\x06Sample\x12\n\n\x02ip\x18\x01 \x01(\x07\x12\x13\n\x0b\x61vg_ping_ms\x18\x02 \x01(\r\x12\x1a\n\x12stddev_ping_ms_x10\x18\x03 \x01(\r\"*\n\x16\x43MsgFSGetFollowerCount\x12\x10\n\x08steam_id\x18\x01 \x01(\x06\"F\n\x1e\x43MsgFSGetFollowerCountResponse\x12\x12\n\x07\x65result\x18\x01 \x01(\x05:\x01\x32\x12\x10\n\x05\x63ount\x18\x02 \x01(\x05:\x01\x30\"(\n\x14\x43MsgFSGetIsFollowing\x12\x10\n\x08steam_id\x18\x01 \x01(\x06\"O\n\x1c\x43MsgFSGetIsFollowingResponse\x12\x12\n\x07\x65result\x18\x01 \x01(\x05:\x01\x32\x12\x1b\n\x0cis_following\x18\x02 \x01(\x08:\x05\x66\x61lse\"3\n\x1c\x43MsgFSEnumerateFollowingList\x12\x13\n\x0bstart_index\x18\x01 \x01(\r\"d\n$CMsgFSEnumerateFollowingListResponse\x12\x12\n\x07\x65result\x18\x01 \x01(\x05:\x01\x32\x12\x15\n\rtotal_results\x18\x02 \x01(\x05\x12\x11\n\tsteam_ids\x18\x03 \x03(\x06\"0\n\x1f\x43MsgDPGetNumberOfCurrentPlayers\x12\r\n\x05\x61ppid\x18\x01 \x01(\r\"S\n\'CMsgDPGetNumberOfCurrentPlayersResponse\x12\x12\n\x07\x65result\x18\x01 \x01(\x05:\x01\x32\x12\x14\n\x0cplayer_count\x18\x02 \x01(\x05\"a\n#CMsgClientFriendUserStatusPublished\x12\x16\n\x0e\x66riend_steamid\x18\x01 \x01(\x06\x12\r\n\x05\x61ppid\x18\x02 \x01(\r\x12\x13\n\x0bstatus_text\x18\x03 \x01(\t\"b\n\x17\x43MsgClientServiceMethod\x12\x13\n\x0bmethod_name\x18\x01 \x01(\t\x12\x19\n\x11serialized_method\x18\x02 \x01(\x0c\x12\x17\n\x0fis_notification\x18\x03 \x01(\x08\"Z\n\x1f\x43MsgClientServiceMethodResponse\x12\x13\n\x0bmethod_name\x18\x01 \x01(\t\x12\"\n\x1aserialized_method_response\x18\x02 \x01(\x0c\"5\n\x10\x43MsgClientUIMode\x12\x0e\n\x06uimode\x18\x01 \x01(\r\x12\x11\n\tchat_mode\x18\x02 \x01(\r\"<\n&CMsgClientVanityURLChangedNotification\x12\x12\n\nvanity_url\x18\x01 \x01(\t\"y\n%CMsgClientAuthorizeLocalDeviceRequest\x12\x1a\n\x12\x64\x65vice_description\x18\x01 \x01(\t\x12\x18\n\x10owner_account_id\x18\x02 \x01(\r\x12\x1a\n\x12local_device_token\x18\x03 \x01(\x04\"k\n\x1e\x43MsgClientAuthorizeLocalDevice\x12\x12\n\x07\x65result\x18\x01 \x01(\x05:\x01\x32\x12\x18\n\x10owner_account_id\x18\x02 \x01(\r\x12\x1b\n\x13\x61uthed_device_token\x18\x03 \x01(\x04\"v\n*CMsgClientAuthorizeLocalDeviceNotification\x12\x12\n\x07\x65result\x18\x01 \x01(\x05:\x01\x32\x12\x18\n\x10owner_account_id\x18\x02 \x01(\r\x12\x1a\n\x12local_device_token\x18\x03 \x01(\x04\"n\n\"CMsgClientDeauthorizeDeviceRequest\x12\"\n\x1a\x64\x65\x61uthorization_account_id\x18\x01 \x01(\r\x12$\n\x1c\x64\x65\x61uthorization_device_token\x18\x02 \x01(\x04\"U\n\x1b\x43MsgClientDeauthorizeDevice\x12\x12\n\x07\x65result\x18\x01 \x01(\x05:\x01\x32\x12\"\n\x1a\x64\x65\x61uthorization_account_id\x18\x02 \x01(\r\"\xd1\x01\n&CMsgClientUseLocalDeviceAuthorizations\x12 \n\x18\x61uthorization_account_id\x18\x01 \x03(\r\x12J\n\rdevice_tokens\x18\x02 \x03(\x0b\x32\x33.CMsgClientUseLocalDeviceAuthorizations.DeviceToken\x1a\x39\n\x0b\x44\x65viceToken\x12\x18\n\x10owner_account_id\x18\x01 \x01(\r\x12\x10\n\x08token_id\x18\x02 \x01(\x04\" \n\x1e\x43MsgClientGetAuthorizedDevices\"\xad\x02\n&CMsgClientGetAuthorizedDevicesResponse\x12\x12\n\x07\x65result\x18\x01 \x01(\x05:\x01\x32\x12S\n\x11\x61uthorized_device\x18\x02 \x03(\x0b\x32\x38.CMsgClientGetAuthorizedDevicesResponse.AuthorizedDevice\x1a\x99\x01\n\x10\x41uthorizedDevice\x12\x19\n\x11\x61uth_device_token\x18\x01 \x01(\x04\x12\x13\n\x0b\x64\x65vice_name\x18\x02 \x01(\t\x12\x18\n\x10last_access_time\x18\x03 \x01(\r\x12\x13\n\x0b\x62orrower_id\x18\x04 \x01(\r\x12\x12\n\nis_pending\x18\x05 \x01(\x08\x12\x12\n\napp_played\x18\x06 \x01(\r\"\xc2\x01\n!CMsgClientSharedLibraryLockStatus\x12H\n\x0elocked_library\x18\x01 \x03(\x0b\x32\x30.CMsgClientSharedLibraryLockStatus.LockedLibrary\x12\x1d\n\x15own_library_locked_by\x18\x02 \x01(\r\x1a\x34\n\rLockedLibrary\x12\x10\n\x08owner_id\x18\x01 \x01(\r\x12\x11\n\tlocked_by\x18\x02 \x01(\r\"\xa7\x01\n\"CMsgClientSharedLibraryStopPlaying\x12\x14\n\x0cseconds_left\x18\x01 \x01(\x05\x12>\n\tstop_apps\x18\x02 \x03(\x0b\x32+.CMsgClientSharedLibraryStopPlaying.StopApp\x1a+\n\x07StopApp\x12\x0e\n\x06\x61pp_id\x18\x01 \x01(\r\x12\x10\n\x08owner_id\x18\x02 \x01(\r\"\xf1\x01\n\x15\x43MsgClientServiceCall\x12\x15\n\rsysid_routing\x18\x01 \x01(\x0c\x12\x13\n\x0b\x63\x61ll_handle\x18\x02 \x01(\r\x12\x12\n\nmodule_crc\x18\x03 \x01(\r\x12\x13\n\x0bmodule_hash\x18\x04 \x01(\x0c\x12\x13\n\x0b\x66unction_id\x18\x05 \x01(\r\x12\x16\n\x0e\x63ub_output_max\x18\x06 \x01(\r\x12\r\n\x05\x66lags\x18\x07 \x01(\r\x12\x15\n\rcallparameter\x18\x08 \x01(\x0c\x12\x11\n\tping_only\x18\t \x01(\x08\x12\x1d\n\x15max_outstanding_calls\x18\n \x01(\r\"Z\n\x17\x43MsgClientServiceModule\x12\x12\n\nmodule_crc\x18\x01 \x01(\r\x12\x13\n\x0bmodule_hash\x18\x02 \x01(\x0c\x12\x16\n\x0emodule_content\x18\x03 \x01(\x0c\"\xb8\x04\n\x1d\x43MsgClientServiceCallResponse\x12\x15\n\rsysid_routing\x18\x01 \x01(\x0c\x12\x13\n\x0b\x63\x61ll_handle\x18\x02 \x01(\r\x12\x12\n\nmodule_crc\x18\x03 \x01(\r\x12\x13\n\x0bmodule_hash\x18\x04 \x01(\x0c\x12\x13\n\x0b\x65\x63\x61llresult\x18\x05 \x01(\r\x12\x16\n\x0eresult_content\x18\x06 \x01(\x0c\x12\x17\n\x0fos_version_info\x18\x07 \x01(\x0c\x12\x13\n\x0bsystem_info\x18\x08 \x01(\x0c\x12\x14\n\x0cload_address\x18\t \x01(\x06\x12\x18\n\x10\x65xception_record\x18\n \x01(\x0c\x12 \n\x18portable_os_version_info\x18\x0b \x01(\x0c\x12\x1c\n\x14portable_system_info\x18\x0c \x01(\x0c\x12\x15\n\rwas_converted\x18\r \x01(\x08\x12\x17\n\x0finternal_result\x18\x0e \x01(\r\x12\x15\n\rcurrent_count\x18\x0f \x01(\r\x12\x18\n\x10last_call_handle\x18\x10 \x01(\r\x12\x1c\n\x14last_call_module_crc\x18\x11 \x01(\r\x12\x1f\n\x17last_call_sysid_routing\x18\x12 \x01(\x0c\x12\x18\n\x10last_ecallresult\x18\x13 \x01(\r\x12\x1c\n\x14last_callissue_delta\x18\x14 \x01(\r\x12\x1f\n\x17last_callcomplete_delta\x18\x15 \x01(\r\"\x17\n\x15\x43MsgAMUnlockStreaming\"K\n\x1d\x43MsgAMUnlockStreamingResponse\x12\x12\n\x07\x65result\x18\x01 \x01(\x05:\x01\x32\x12\x16\n\x0e\x65ncryption_key\x18\x02 \x01(\x0c\"\x12\n\x10\x43MsgAMUnlockHEVC\".\n\x18\x43MsgAMUnlockHEVCResponse\x12\x12\n\x07\x65result\x18\x01 \x01(\x05:\x01\x32\"M\n\x1d\x43MsgClientPlayingSessionState\x12\x17\n\x0fplaying_blocked\x18\x02 \x01(\x08\x12\x13\n\x0bplaying_app\x18\x03 \x01(\r\"6\n\x1c\x43MsgClientKickPlayingSession\x12\x16\n\x0eonly_stop_game\x18\x01 \x01(\x08\"v\n\x1f\x43MsgClientVoiceCallPreAuthorize\x12\x16\n\x0e\x63\x61ller_steamid\x18\x01 \x01(\x06\x12\x18\n\x10receiver_steamid\x18\x02 \x01(\x06\x12\x11\n\tcaller_id\x18\x03 \x01(\x05\x12\x0e\n\x06hangup\x18\x04 \x01(\x08\"\x82\x01\n\'CMsgClientVoiceCallPreAuthorizeResponse\x12\x16\n\x0e\x63\x61ller_steamid\x18\x01 \x01(\x06\x12\x18\n\x10receiver_steamid\x18\x02 \x01(\x06\x12\x12\n\x07\x65result\x18\x03 \x01(\x05:\x01\x32\x12\x11\n\tcaller_id\x18\x04 \x01(\x05\x42\x05H\x01\x90\x01\x00') , dependencies=[steammessages__base__pb2.DESCRIPTOR,]) _sym_db.RegisterFileDescriptor(DESCRIPTOR) @@ -3389,124 +3389,6 @@ _CMSGTRADING_STARTSESSION = _descriptor.Descriptor( ) -_CMSGCLIENTEMAILCHANGE = _descriptor.Descriptor( - name='CMsgClientEmailChange', - full_name='CMsgClientEmailChange', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='password', full_name='CMsgClientEmailChange.password', index=0, - number=1, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None), - _descriptor.FieldDescriptor( - name='email', full_name='CMsgClientEmailChange.email', index=1, - number=2, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None), - _descriptor.FieldDescriptor( - name='code', full_name='CMsgClientEmailChange.code', index=2, - number=3, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None), - _descriptor.FieldDescriptor( - name='final', full_name='CMsgClientEmailChange.final', index=3, - number=4, type=8, cpp_type=7, label=1, - has_default_value=False, default_value=False, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None), - _descriptor.FieldDescriptor( - name='newmethod', full_name='CMsgClientEmailChange.newmethod', index=4, - number=5, type=8, cpp_type=7, label=1, - has_default_value=False, default_value=False, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None), - _descriptor.FieldDescriptor( - name='twofactor_code', full_name='CMsgClientEmailChange.twofactor_code', index=5, - number=6, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None), - _descriptor.FieldDescriptor( - name='sms_code', full_name='CMsgClientEmailChange.sms_code', index=6, - number=7, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None), - _descriptor.FieldDescriptor( - name='client_supports_sms', full_name='CMsgClientEmailChange.client_supports_sms', index=7, - number=8, type=8, cpp_type=7, label=1, - has_default_value=False, default_value=False, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - options=None, - is_extendable=False, - syntax='proto2', - extension_ranges=[], - oneofs=[ - ], - serialized_start=8917, - serialized_end=9092, -) - - -_CMSGCLIENTEMAILCHANGERESPONSE = _descriptor.Descriptor( - name='CMsgClientEmailChangeResponse', - full_name='CMsgClientEmailChangeResponse', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='eresult', full_name='CMsgClientEmailChangeResponse.eresult', index=0, - number=1, type=5, cpp_type=1, label=1, - has_default_value=True, default_value=2, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None), - _descriptor.FieldDescriptor( - name='requires_sms_code', full_name='CMsgClientEmailChangeResponse.requires_sms_code', index=1, - number=2, type=8, cpp_type=7, label=1, - has_default_value=False, default_value=False, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - options=None, - is_extendable=False, - syntax='proto2', - extension_ranges=[], - oneofs=[ - ], - serialized_start=9094, - serialized_end=9172, -) - - _CMSGCLIENTGETCDNAUTHTOKEN = _descriptor.Descriptor( name='CMsgClientGetCDNAuthToken', full_name='CMsgClientGetCDNAuthToken', @@ -3547,8 +3429,8 @@ _CMSGCLIENTGETCDNAUTHTOKEN = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=9174, - serialized_end=9254, + serialized_start=8916, + serialized_end=8996, ) @@ -3585,8 +3467,8 @@ _CMSGCLIENTGETDEPOTDECRYPTIONKEY = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=9256, - serialized_end=9323, + serialized_start=8998, + serialized_end=9065, ) @@ -3630,8 +3512,8 @@ _CMSGCLIENTGETDEPOTDECRYPTIONKEYRESPONSE = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=9325, - serialized_end=9434, + serialized_start=9067, + serialized_end=9176, ) @@ -3668,8 +3550,8 @@ _CMSGCLIENTCHECKAPPBETAPASSWORD = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=9436, - serialized_end=9506, + serialized_start=9178, + serialized_end=9248, ) @@ -3706,8 +3588,8 @@ _CMSGCLIENTCHECKAPPBETAPASSWORDRESPONSE_BETAPASSWORD = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=9648, - serialized_end=9702, + serialized_start=9390, + serialized_end=9444, ) _CMSGCLIENTCHECKAPPBETAPASSWORDRESPONSE = _descriptor.Descriptor( @@ -3743,8 +3625,8 @@ _CMSGCLIENTCHECKAPPBETAPASSWORDRESPONSE = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=9509, - serialized_end=9702, + serialized_start=9251, + serialized_end=9444, ) @@ -3914,8 +3796,8 @@ _CMSGCLIENTUPDATEAPPJOBREPORT = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=9705, - serialized_end=10262, + serialized_start=9447, + serialized_end=10004, ) @@ -3987,8 +3869,8 @@ _CMSGCLIENTDPCONTENTSTATSREPORT = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=10265, - serialized_end=10468, + serialized_start=10007, + serialized_end=10210, ) @@ -4032,8 +3914,8 @@ _CMSGCLIENTGETCDNAUTHTOKENRESPONSE = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=10470, - serialized_end=10565, + serialized_start=10212, + serialized_end=10307, ) @@ -4091,8 +3973,8 @@ _CMSGDOWNLOADRATESTATISTICS_STATSINFO = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=10669, - serialized_end=10771, + serialized_start=10411, + serialized_end=10513, ) _CMSGDOWNLOADRATESTATISTICS = _descriptor.Descriptor( @@ -4128,8 +4010,8 @@ _CMSGDOWNLOADRATESTATISTICS = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=10568, - serialized_end=10771, + serialized_start=10310, + serialized_end=10513, ) @@ -4166,8 +4048,8 @@ _CMSGCLIENTREQUESTACCOUNTDATA = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=10773, - serialized_end=10845, + serialized_start=10515, + serialized_end=10587, ) @@ -4239,8 +4121,8 @@ _CMSGCLIENTREQUESTACCOUNTDATARESPONSE = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=10848, - serialized_end=11063, + serialized_start=10590, + serialized_end=10805, ) @@ -4298,8 +4180,8 @@ _CMSGCLIENTUGSGETGLOBALSTATS = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=11066, - serialized_end=11219, + serialized_start=10808, + serialized_end=10961, ) @@ -4336,8 +4218,8 @@ _CMSGCLIENTUGSGETGLOBALSTATSRESPONSE_DAY_STAT = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=11462, - serialized_end=11499, + serialized_start=11204, + serialized_end=11241, ) _CMSGCLIENTUGSGETGLOBALSTATSRESPONSE_DAY = _descriptor.Descriptor( @@ -4373,8 +4255,8 @@ _CMSGCLIENTUGSGETGLOBALSTATSRESPONSE_DAY = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=11377, - serialized_end=11499, + serialized_start=11119, + serialized_end=11241, ) _CMSGCLIENTUGSGETGLOBALSTATSRESPONSE = _descriptor.Descriptor( @@ -4424,8 +4306,8 @@ _CMSGCLIENTUGSGETGLOBALSTATSRESPONSE = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=11222, - serialized_end=11499, + serialized_start=10964, + serialized_end=11241, ) @@ -4455,8 +4337,8 @@ _CMSGGAMESERVERDATA_PLAYER = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=11944, - serialized_end=11970, + serialized_start=11686, + serialized_end=11712, ) _CMSGGAMESERVERDATA = _descriptor.Descriptor( @@ -4632,8 +4514,8 @@ _CMSGGAMESERVERDATA = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=11502, - serialized_end=11970, + serialized_start=11244, + serialized_end=11712, ) @@ -4677,8 +4559,8 @@ _CMSGGAMESERVERREMOVE = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=11972, - serialized_end=12044, + serialized_start=11714, + serialized_end=11786, ) @@ -4736,8 +4618,8 @@ _CMSGCLIENTGMSSERVERQUERY = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=12047, - serialized_end=12177, + serialized_start=11789, + serialized_end=11919, ) @@ -4781,8 +4663,8 @@ _CMSGGMSCLIENTSERVERQUERYRESPONSE_SERVER = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=12290, - serialized_end=12360, + serialized_start=12032, + serialized_end=12102, ) _CMSGGMSCLIENTSERVERQUERYRESPONSE = _descriptor.Descriptor( @@ -4818,8 +4700,8 @@ _CMSGGMSCLIENTSERVERQUERYRESPONSE = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=12180, - serialized_end=12360, + serialized_start=11922, + serialized_end=12102, ) @@ -4863,8 +4745,8 @@ _CMSGGAMESERVEROUTOFDATE = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=12362, - serialized_end=12441, + serialized_start=12104, + serialized_end=12183, ) @@ -4894,8 +4776,8 @@ _CMSGCLIENTREDEEMGUESTPASS = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=12443, - serialized_end=12493, + serialized_start=12185, + serialized_end=12235, ) @@ -4939,8 +4821,8 @@ _CMSGCLIENTREDEEMGUESTPASSRESPONSE = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=12495, - serialized_end=12594, + serialized_start=12237, + serialized_end=12336, ) @@ -4970,8 +4852,8 @@ _CMSGCLIENTGETCLANACTIVITYCOUNTS = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=12596, - serialized_end=12652, + serialized_start=12338, + serialized_end=12394, ) @@ -5001,8 +4883,8 @@ _CMSGCLIENTGETCLANACTIVITYCOUNTSRESPONSE = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=12654, - serialized_end=12715, + serialized_start=12396, + serialized_end=12457, ) @@ -5060,8 +4942,8 @@ _CMSGCLIENTOGSREPORTSTRING = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=12717, - serialized_end=12838, + serialized_start=12459, + serialized_end=12580, ) @@ -5105,8 +4987,8 @@ _CMSGCLIENTOGSREPORTBUG = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=12840, - serialized_end=12920, + serialized_start=12582, + serialized_end=12662, ) @@ -5136,8 +5018,8 @@ _CMSGGSASSOCIATEWITHCLAN = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=12922, - serialized_end=12970, + serialized_start=12664, + serialized_end=12712, ) @@ -5174,8 +5056,8 @@ _CMSGGSASSOCIATEWITHCLANRESPONSE = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=12972, - serialized_end=13048, + serialized_start=12714, + serialized_end=12790, ) @@ -5205,8 +5087,8 @@ _CMSGGSCOMPUTENEWPLAYERCOMPATIBILITY = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=13050, - serialized_end=13115, + serialized_start=12792, + serialized_end=12857, ) @@ -5271,8 +5153,8 @@ _CMSGGSCOMPUTENEWPLAYERCOMPATIBILITYRESPONSE = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=13118, - serialized_end=13325, + serialized_start=12860, + serialized_end=13067, ) @@ -5295,8 +5177,8 @@ _CMSGCLIENTSENTLOGS = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=13327, - serialized_end=13347, + serialized_start=13069, + serialized_end=13089, ) @@ -5361,8 +5243,8 @@ _CMSGGCCLIENT = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=13349, - serialized_end=13457, + serialized_start=13091, + serialized_end=13199, ) @@ -5392,8 +5274,8 @@ _CMSGCLIENTREQUESTFREELICENSE = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=13459, - serialized_end=13505, + serialized_start=13201, + serialized_end=13247, ) @@ -5437,8 +5319,8 @@ _CMSGCLIENTREQUESTFREELICENSERESPONSE = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=13507, - serialized_end=13617, + serialized_start=13249, + serialized_end=13359, ) @@ -5517,8 +5399,8 @@ _CMSGDRMDOWNLOADREQUESTWITHCRASHDATA = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=13620, - serialized_end=13831, + serialized_start=13362, + serialized_end=13573, ) @@ -5597,8 +5479,8 @@ _CMSGDRMDOWNLOADRESPONSE = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=13834, - serialized_end=14053, + serialized_start=13576, + serialized_end=13795, ) @@ -5677,8 +5559,8 @@ _CMSGDRMFINALRESULT = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=14056, - serialized_end=14271, + serialized_start=13798, + serialized_end=14013, ) @@ -5708,8 +5590,8 @@ _CMSGCLIENTDPCHECKSPECIALSURVEY = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=14273, - serialized_end=14324, + serialized_start=14015, + serialized_end=14066, ) @@ -5774,8 +5656,8 @@ _CMSGCLIENTDPCHECKSPECIALSURVEYRESPONSE = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=14327, - serialized_end=14477, + serialized_start=14069, + serialized_end=14219, ) @@ -5812,8 +5694,8 @@ _CMSGCLIENTDPSENDSPECIALSURVEYRESPONSE = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=14479, - serialized_end=14551, + serialized_start=14221, + serialized_end=14293, ) @@ -5850,8 +5732,8 @@ _CMSGCLIENTDPSENDSPECIALSURVEYRESPONSEREPLY = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=14553, - serialized_end=14632, + serialized_start=14295, + serialized_end=14374, ) @@ -5888,8 +5770,8 @@ _CMSGCLIENTREQUESTFORGOTTENPASSWORDEMAIL = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=14634, - serialized_end=14721, + serialized_start=14376, + serialized_end=14463, ) @@ -5926,8 +5808,8 @@ _CMSGCLIENTREQUESTFORGOTTENPASSWORDEMAILRESPONSE = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=14723, - serialized_end=14818, + serialized_start=14465, + serialized_end=14560, ) @@ -5957,8 +5839,8 @@ _CMSGCLIENTITEMANNOUNCEMENTS = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=14820, - serialized_end=14874, + serialized_start=14562, + serialized_end=14616, ) @@ -5981,8 +5863,8 @@ _CMSGCLIENTREQUESTITEMANNOUNCEMENTS = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=14876, - serialized_end=14912, + serialized_start=14618, + serialized_end=14654, ) @@ -6019,8 +5901,8 @@ _CMSGCLIENTUSERNOTIFICATIONS_NOTIFICATION = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=15012, - serialized_end=15073, + serialized_start=14754, + serialized_end=14815, ) _CMSGCLIENTUSERNOTIFICATIONS = _descriptor.Descriptor( @@ -6049,8 +5931,8 @@ _CMSGCLIENTUSERNOTIFICATIONS = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=14915, - serialized_end=15073, + serialized_start=14657, + serialized_end=14815, ) @@ -6094,8 +5976,8 @@ _CMSGCLIENTCOMMENTNOTIFICATIONS = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=15076, - serialized_end=15212, + serialized_start=14818, + serialized_end=14954, ) @@ -6118,8 +6000,8 @@ _CMSGCLIENTREQUESTCOMMENTNOTIFICATIONS = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=15214, - serialized_end=15253, + serialized_start=14956, + serialized_end=14995, ) @@ -6156,8 +6038,8 @@ _CMSGCLIENTOFFLINEMESSAGENOTIFICATION = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=15255, - serialized_end=15358, + serialized_start=14997, + serialized_end=15100, ) @@ -6180,8 +6062,8 @@ _CMSGCLIENTREQUESTOFFLINEMESSAGECOUNT = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=15360, - serialized_end=15398, + serialized_start=15102, + serialized_end=15140, ) @@ -6211,8 +6093,8 @@ _CMSGCLIENTCHATGETFRIENDMESSAGEHISTORY = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=15400, - serialized_end=15456, + serialized_start=15142, + serialized_end=15198, ) @@ -6263,8 +6145,8 @@ _CMSGCLIENTCHATGETFRIENDMESSAGEHISTORYRESPONSE_FRIENDMESSAGE = _descriptor.Descr extension_ranges=[], oneofs=[ ], - serialized_start=15622, - serialized_end=15708, + serialized_start=15364, + serialized_end=15450, ) _CMSGCLIENTCHATGETFRIENDMESSAGEHISTORYRESPONSE = _descriptor.Descriptor( @@ -6307,8 +6189,8 @@ _CMSGCLIENTCHATGETFRIENDMESSAGEHISTORYRESPONSE = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=15459, - serialized_end=15708, + serialized_start=15201, + serialized_end=15450, ) @@ -6331,8 +6213,8 @@ _CMSGCLIENTCHATGETFRIENDMESSAGEHISTORYFOROFFLINEMESSAGES = _descriptor.Descripto extension_ranges=[], oneofs=[ ], - serialized_start=15710, - serialized_end=15767, + serialized_start=15452, + serialized_end=15509, ) @@ -6362,8 +6244,8 @@ _CMSGCLIENTFSGETFRIENDSSTEAMLEVELS = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=15769, - serialized_end=15824, + serialized_start=15511, + serialized_end=15566, ) @@ -6400,8 +6282,8 @@ _CMSGCLIENTFSGETFRIENDSSTEAMLEVELSRESPONSE_FRIEND = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=15940, - serialized_end=15982, + serialized_start=15682, + serialized_end=15724, ) _CMSGCLIENTFSGETFRIENDSSTEAMLEVELSRESPONSE = _descriptor.Descriptor( @@ -6430,8 +6312,8 @@ _CMSGCLIENTFSGETFRIENDSSTEAMLEVELSRESPONSE = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=15827, - serialized_end=15982, + serialized_start=15569, + serialized_end=15724, ) @@ -6496,8 +6378,8 @@ _CMSGCLIENTEMAILADDRINFO = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=15985, - serialized_end=16220, + serialized_start=15727, + serialized_end=15962, ) @@ -6576,8 +6458,8 @@ _CMSGCREENUMERATEPUBLISHEDFILES = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=16223, - serialized_end=16406, + serialized_start=15965, + serialized_end=16148, ) @@ -6635,8 +6517,8 @@ _CMSGCREENUMERATEPUBLISHEDFILESRESPONSE_PUBLISHEDFILEID = _descriptor.Descriptor extension_ranges=[], oneofs=[ ], - serialized_start=16576, - serialized_end=16694, + serialized_start=16318, + serialized_end=16436, ) _CMSGCREENUMERATEPUBLISHEDFILESRESPONSE = _descriptor.Descriptor( @@ -6679,8 +6561,8 @@ _CMSGCREENUMERATEPUBLISHEDFILESRESPONSE = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=16409, - serialized_end=16694, + serialized_start=16151, + serialized_end=16436, ) @@ -6740,8 +6622,8 @@ _CMSGCREITEMVOTESUMMARY = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=16697, - serialized_end=16836, + serialized_start=16439, + serialized_end=16578, ) @@ -6799,8 +6681,8 @@ _CMSGCREITEMVOTESUMMARYRESPONSE_ITEMVOTESUMMARY = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=16971, - serialized_end=17089, + serialized_start=16713, + serialized_end=16831, ) _CMSGCREITEMVOTESUMMARYRESPONSE = _descriptor.Descriptor( @@ -6836,8 +6718,8 @@ _CMSGCREITEMVOTESUMMARYRESPONSE = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=16839, - serialized_end=17089, + serialized_start=16581, + serialized_end=16831, ) @@ -6874,8 +6756,8 @@ _CMSGCREUPDATEUSERPUBLISHEDITEMVOTE = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=17091, - serialized_end=17171, + serialized_start=16833, + serialized_end=16913, ) @@ -6905,8 +6787,8 @@ _CMSGCREUPDATEUSERPUBLISHEDITEMVOTERESPONSE = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=17173, - serialized_end=17237, + serialized_start=16915, + serialized_end=16979, ) @@ -6966,8 +6848,8 @@ _CMSGCREGETUSERPUBLISHEDITEMVOTEDETAILS = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=17240, - serialized_end=17411, + serialized_start=16982, + serialized_end=17153, ) @@ -7004,8 +6886,8 @@ _CMSGCREGETUSERPUBLISHEDITEMVOTEDETAILSRESPONSE_USERITEMVOTEDETAIL = _descriptor extension_ranges=[], oneofs=[ ], - serialized_start=17584, - serialized_end=17648, + serialized_start=17326, + serialized_end=17390, ) _CMSGCREGETUSERPUBLISHEDITEMVOTEDETAILSRESPONSE = _descriptor.Descriptor( @@ -7041,8 +6923,8 @@ _CMSGCREGETUSERPUBLISHEDITEMVOTEDETAILSRESPONSE = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=17414, - serialized_end=17648, + serialized_start=17156, + serialized_end=17390, ) @@ -7086,8 +6968,8 @@ _CMSGGAMESERVERPINGSAMPLE_SAMPLE = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=17767, - serialized_end=17836, + serialized_start=17509, + serialized_end=17578, ) _CMSGGAMESERVERPINGSAMPLE = _descriptor.Descriptor( @@ -7130,8 +7012,8 @@ _CMSGGAMESERVERPINGSAMPLE = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=17651, - serialized_end=17836, + serialized_start=17393, + serialized_end=17578, ) @@ -7161,8 +7043,8 @@ _CMSGFSGETFOLLOWERCOUNT = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=17838, - serialized_end=17880, + serialized_start=17580, + serialized_end=17622, ) @@ -7199,8 +7081,8 @@ _CMSGFSGETFOLLOWERCOUNTRESPONSE = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=17882, - serialized_end=17952, + serialized_start=17624, + serialized_end=17694, ) @@ -7230,8 +7112,8 @@ _CMSGFSGETISFOLLOWING = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=17954, - serialized_end=17994, + serialized_start=17696, + serialized_end=17736, ) @@ -7268,8 +7150,8 @@ _CMSGFSGETISFOLLOWINGRESPONSE = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=17996, - serialized_end=18075, + serialized_start=17738, + serialized_end=17817, ) @@ -7299,8 +7181,8 @@ _CMSGFSENUMERATEFOLLOWINGLIST = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=18077, - serialized_end=18128, + serialized_start=17819, + serialized_end=17870, ) @@ -7344,8 +7226,8 @@ _CMSGFSENUMERATEFOLLOWINGLISTRESPONSE = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=18130, - serialized_end=18230, + serialized_start=17872, + serialized_end=17972, ) @@ -7375,8 +7257,8 @@ _CMSGDPGETNUMBEROFCURRENTPLAYERS = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=18232, - serialized_end=18280, + serialized_start=17974, + serialized_end=18022, ) @@ -7413,8 +7295,8 @@ _CMSGDPGETNUMBEROFCURRENTPLAYERSRESPONSE = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=18282, - serialized_end=18365, + serialized_start=18024, + serialized_end=18107, ) @@ -7458,8 +7340,8 @@ _CMSGCLIENTFRIENDUSERSTATUSPUBLISHED = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=18367, - serialized_end=18464, + serialized_start=18109, + serialized_end=18206, ) @@ -7503,8 +7385,8 @@ _CMSGCLIENTSERVICEMETHOD = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=18466, - serialized_end=18564, + serialized_start=18208, + serialized_end=18306, ) @@ -7541,8 +7423,8 @@ _CMSGCLIENTSERVICEMETHODRESPONSE = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=18566, - serialized_end=18656, + serialized_start=18308, + serialized_end=18398, ) @@ -7579,8 +7461,8 @@ _CMSGCLIENTUIMODE = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=18658, - serialized_end=18711, + serialized_start=18400, + serialized_end=18453, ) @@ -7610,8 +7492,8 @@ _CMSGCLIENTVANITYURLCHANGEDNOTIFICATION = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=18713, - serialized_end=18773, + serialized_start=18455, + serialized_end=18515, ) @@ -7655,8 +7537,8 @@ _CMSGCLIENTAUTHORIZELOCALDEVICEREQUEST = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=18775, - serialized_end=18896, + serialized_start=18517, + serialized_end=18638, ) @@ -7700,8 +7582,8 @@ _CMSGCLIENTAUTHORIZELOCALDEVICE = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=18898, - serialized_end=19005, + serialized_start=18640, + serialized_end=18747, ) @@ -7745,8 +7627,8 @@ _CMSGCLIENTAUTHORIZELOCALDEVICENOTIFICATION = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=19007, - serialized_end=19125, + serialized_start=18749, + serialized_end=18867, ) @@ -7783,8 +7665,8 @@ _CMSGCLIENTDEAUTHORIZEDEVICEREQUEST = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=19127, - serialized_end=19237, + serialized_start=18869, + serialized_end=18979, ) @@ -7821,8 +7703,8 @@ _CMSGCLIENTDEAUTHORIZEDEVICE = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=19239, - serialized_end=19324, + serialized_start=18981, + serialized_end=19066, ) @@ -7859,8 +7741,8 @@ _CMSGCLIENTUSELOCALDEVICEAUTHORIZATIONS_DEVICETOKEN = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=19479, - serialized_end=19536, + serialized_start=19221, + serialized_end=19278, ) _CMSGCLIENTUSELOCALDEVICEAUTHORIZATIONS = _descriptor.Descriptor( @@ -7896,8 +7778,8 @@ _CMSGCLIENTUSELOCALDEVICEAUTHORIZATIONS = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=19327, - serialized_end=19536, + serialized_start=19069, + serialized_end=19278, ) @@ -7920,8 +7802,8 @@ _CMSGCLIENTGETAUTHORIZEDDEVICES = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=19538, - serialized_end=19570, + serialized_start=19280, + serialized_end=19312, ) @@ -7986,8 +7868,8 @@ _CMSGCLIENTGETAUTHORIZEDDEVICESRESPONSE_AUTHORIZEDDEVICE = _descriptor.Descripto extension_ranges=[], oneofs=[ ], - serialized_start=19721, - serialized_end=19874, + serialized_start=19463, + serialized_end=19616, ) _CMSGCLIENTGETAUTHORIZEDDEVICESRESPONSE = _descriptor.Descriptor( @@ -8023,8 +7905,8 @@ _CMSGCLIENTGETAUTHORIZEDDEVICESRESPONSE = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=19573, - serialized_end=19874, + serialized_start=19315, + serialized_end=19616, ) @@ -8061,8 +7943,8 @@ _CMSGCLIENTSHAREDLIBRARYLOCKSTATUS_LOCKEDLIBRARY = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=20019, - serialized_end=20071, + serialized_start=19761, + serialized_end=19813, ) _CMSGCLIENTSHAREDLIBRARYLOCKSTATUS = _descriptor.Descriptor( @@ -8098,8 +7980,8 @@ _CMSGCLIENTSHAREDLIBRARYLOCKSTATUS = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=19877, - serialized_end=20071, + serialized_start=19619, + serialized_end=19813, ) @@ -8136,8 +8018,8 @@ _CMSGCLIENTSHAREDLIBRARYSTOPPLAYING_STOPAPP = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=20198, - serialized_end=20241, + serialized_start=19940, + serialized_end=19983, ) _CMSGCLIENTSHAREDLIBRARYSTOPPLAYING = _descriptor.Descriptor( @@ -8173,8 +8055,8 @@ _CMSGCLIENTSHAREDLIBRARYSTOPPLAYING = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=20074, - serialized_end=20241, + serialized_start=19816, + serialized_end=19983, ) @@ -8267,8 +8149,8 @@ _CMSGCLIENTSERVICECALL = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=20244, - serialized_end=20485, + serialized_start=19986, + serialized_end=20227, ) @@ -8312,8 +8194,8 @@ _CMSGCLIENTSERVICEMODULE = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=20487, - serialized_end=20577, + serialized_start=20229, + serialized_end=20319, ) @@ -8483,8 +8365,8 @@ _CMSGCLIENTSERVICECALLRESPONSE = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=20580, - serialized_end=21148, + serialized_start=20322, + serialized_end=20890, ) @@ -8507,8 +8389,8 @@ _CMSGAMUNLOCKSTREAMING = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=21150, - serialized_end=21173, + serialized_start=20892, + serialized_end=20915, ) @@ -8545,8 +8427,8 @@ _CMSGAMUNLOCKSTREAMINGRESPONSE = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=21175, - serialized_end=21250, + serialized_start=20917, + serialized_end=20992, ) @@ -8569,8 +8451,8 @@ _CMSGAMUNLOCKHEVC = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=21252, - serialized_end=21270, + serialized_start=20994, + serialized_end=21012, ) @@ -8600,8 +8482,8 @@ _CMSGAMUNLOCKHEVCRESPONSE = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=21272, - serialized_end=21318, + serialized_start=21014, + serialized_end=21060, ) @@ -8638,8 +8520,8 @@ _CMSGCLIENTPLAYINGSESSIONSTATE = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=21320, - serialized_end=21397, + serialized_start=21062, + serialized_end=21139, ) @@ -8669,8 +8551,8 @@ _CMSGCLIENTKICKPLAYINGSESSION = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=21399, - serialized_end=21453, + serialized_start=21141, + serialized_end=21195, ) @@ -8721,8 +8603,8 @@ _CMSGCLIENTVOICECALLPREAUTHORIZE = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=21455, - serialized_end=21573, + serialized_start=21197, + serialized_end=21315, ) @@ -8773,8 +8655,8 @@ _CMSGCLIENTVOICECALLPREAUTHORIZERESPONSE = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=21576, - serialized_end=21706, + serialized_start=21318, + serialized_end=21448, ) _CMSGCLIENTUCMADDSCREENSHOT_TAG.containing_type = _CMSGCLIENTUCMADDSCREENSHOT @@ -8892,8 +8774,6 @@ DESCRIPTOR.message_types_by_name['CMsgTrading_InitiateTradeRequest'] = _CMSGTRAD DESCRIPTOR.message_types_by_name['CMsgTrading_InitiateTradeResponse'] = _CMSGTRADING_INITIATETRADERESPONSE DESCRIPTOR.message_types_by_name['CMsgTrading_CancelTradeRequest'] = _CMSGTRADING_CANCELTRADEREQUEST DESCRIPTOR.message_types_by_name['CMsgTrading_StartSession'] = _CMSGTRADING_STARTSESSION -DESCRIPTOR.message_types_by_name['CMsgClientEmailChange'] = _CMSGCLIENTEMAILCHANGE -DESCRIPTOR.message_types_by_name['CMsgClientEmailChangeResponse'] = _CMSGCLIENTEMAILCHANGERESPONSE DESCRIPTOR.message_types_by_name['CMsgClientGetCDNAuthToken'] = _CMSGCLIENTGETCDNAUTHTOKEN DESCRIPTOR.message_types_by_name['CMsgClientGetDepotDecryptionKey'] = _CMSGCLIENTGETDEPOTDECRYPTIONKEY DESCRIPTOR.message_types_by_name['CMsgClientGetDepotDecryptionKeyResponse'] = _CMSGCLIENTGETDEPOTDECRYPTIONKEYRESPONSE @@ -9459,20 +9339,6 @@ CMsgTrading_StartSession = _reflection.GeneratedProtocolMessageType('CMsgTrading )) _sym_db.RegisterMessage(CMsgTrading_StartSession) -CMsgClientEmailChange = _reflection.GeneratedProtocolMessageType('CMsgClientEmailChange', (_message.Message,), dict( - DESCRIPTOR = _CMSGCLIENTEMAILCHANGE, - __module__ = 'steammessages_clientserver_2_pb2' - # @@protoc_insertion_point(class_scope:CMsgClientEmailChange) - )) -_sym_db.RegisterMessage(CMsgClientEmailChange) - -CMsgClientEmailChangeResponse = _reflection.GeneratedProtocolMessageType('CMsgClientEmailChangeResponse', (_message.Message,), dict( - DESCRIPTOR = _CMSGCLIENTEMAILCHANGERESPONSE, - __module__ = 'steammessages_clientserver_2_pb2' - # @@protoc_insertion_point(class_scope:CMsgClientEmailChangeResponse) - )) -_sym_db.RegisterMessage(CMsgClientEmailChangeResponse) - CMsgClientGetCDNAuthToken = _reflection.GeneratedProtocolMessageType('CMsgClientGetCDNAuthToken', (_message.Message,), dict( DESCRIPTOR = _CMSGCLIENTGETCDNAUTHTOKEN, __module__ = 'steammessages_clientserver_2_pb2' diff --git a/steam/protobufs/steammessages_clientserver_pb2.py b/steam/protobufs/steammessages_clientserver_pb2.py index 73edf55..03ec94f 100644 --- a/steam/protobufs/steammessages_clientserver_pb2.py +++ b/steam/protobufs/steammessages_clientserver_pb2.py @@ -21,7 +21,7 @@ DESCRIPTOR = _descriptor.FileDescriptor( name='steammessages_clientserver.proto', package='', syntax='proto2', - serialized_pb=_b('\n steammessages_clientserver.proto\x1a\x18steammessages_base.proto\x1a\x1a\x65ncrypted_app_ticket.proto\"G\n\x1e\x43MsgClientUDSP2PSessionStarted\x12\x16\n\x0esteamid_remote\x18\x01 \x01(\x06\x12\r\n\x05\x61ppid\x18\x02 \x01(\x05\"\x81\x02\n\x1c\x43MsgClientUDSP2PSessionEnded\x12\x16\n\x0esteamid_remote\x18\x01 \x01(\x06\x12\r\n\x05\x61ppid\x18\x02 \x01(\x05\x12\x1a\n\x12session_length_sec\x18\x03 \x01(\x05\x12\x15\n\rsession_error\x18\x04 \x01(\x05\x12\x0f\n\x07nattype\x18\x05 \x01(\x05\x12\x12\n\nbytes_recv\x18\x06 \x01(\x05\x12\x12\n\nbytes_sent\x18\x07 \x01(\x05\x12\x18\n\x10\x62ytes_sent_relay\x18\x08 \x01(\x05\x12\x18\n\x10\x62ytes_recv_relay\x18\t \x01(\x05\x12\x1a\n\x12time_to_connect_ms\x18\n \x01(\x05\"j\n\"CMsgClientRegisterAuthTicketWithCM\x12\x18\n\x10protocol_version\x18\x01 \x01(\r\x12\x0e\n\x06ticket\x18\x03 \x01(\x0c\x12\x1a\n\x12\x63lient_instance_id\x18\x04 \x01(\x04\"\xd1\x01\n\x1c\x43MsgClientTicketAuthComplete\x12\x10\n\x08steam_id\x18\x01 \x01(\x06\x12\x0f\n\x07game_id\x18\x02 \x01(\x06\x12\x0e\n\x06\x65state\x18\x03 \x01(\r\x12\x1e\n\x16\x65\x61uth_session_response\x18\x04 \x01(\r\x12\x19\n\x11\x44\x45PRECATED_ticket\x18\x05 \x01(\x0c\x12\x12\n\nticket_crc\x18\x06 \x01(\r\x12\x17\n\x0fticket_sequence\x18\x07 \x01(\r\x12\x16\n\x0eowner_steam_id\x18\x08 \x01(\x06\"\x80\x01\n\x10\x43MsgClientCMList\x12\x14\n\x0c\x63m_addresses\x18\x01 \x03(\r\x12\x10\n\x08\x63m_ports\x18\x02 \x03(\r\x12\x1e\n\x16\x63m_websocket_addresses\x18\x03 \x03(\t\x12$\n\x1cpercent_default_to_websocket\x18\x04 \x01(\r\"\x9c\x01\n\x1b\x43MsgClientP2PConnectionInfo\x12\x15\n\rsteam_id_dest\x18\x01 \x01(\x06\x12\x14\n\x0csteam_id_src\x18\x02 \x01(\x06\x12\x0e\n\x06\x61pp_id\x18\x03 \x01(\r\x12\x11\n\tcandidate\x18\x04 \x01(\x0c\x12\x19\n\x11\x63onnection_id_src\x18\x05 \x01(\x06\x12\x12\n\nrendezvous\x18\x06 \x01(\x0c\"\xc3\x01\n\x1f\x43MsgClientP2PConnectionFailInfo\x12\x15\n\rsteam_id_dest\x18\x01 \x01(\x06\x12\x14\n\x0csteam_id_src\x18\x02 \x01(\x06\x12\x0e\n\x06\x61pp_id\x18\x03 \x01(\r\x12\x1a\n\x12\x65p2p_session_error\x18\x04 \x01(\r\x12\x1a\n\x12\x63onnection_id_dest\x18\x05 \x01(\x06\x12\x14\n\x0c\x63lose_reason\x18\x07 \x01(\r\x12\x15\n\rclose_message\x18\x08 \x01(\t\"C\n\x1f\x43MsgClientNetworkingCertRequest\x12\x10\n\x08key_data\x18\x02 \x01(\x0c\x12\x0e\n\x06\x61pp_id\x18\x03 \x01(\r\"V\n\x1d\x43MsgClientNetworkingCertReply\x12\x0c\n\x04\x63\x65rt\x18\x04 \x01(\x0c\x12\x11\n\tca_key_id\x18\x05 \x01(\x06\x12\x14\n\x0c\x63\x61_signature\x18\x06 \x01(\x0c\"1\n\x1f\x43MsgClientGetAppOwnershipTicket\x12\x0e\n\x06\x61pp_id\x18\x01 \x01(\r\"]\n\'CMsgClientGetAppOwnershipTicketResponse\x12\x12\n\x07\x65result\x18\x01 \x01(\r:\x01\x32\x12\x0e\n\x06\x61pp_id\x18\x02 \x01(\r\x12\x0e\n\x06ticket\x18\x03 \x01(\x0c\"\'\n\x16\x43MsgClientSessionToken\x12\r\n\x05token\x18\x01 \x01(\x04\"M\n\x1b\x43MsgClientGameConnectTokens\x12\x1e\n\x12max_tokens_to_keep\x18\x01 \x01(\r:\x02\x31\x30\x12\x0e\n\x06tokens\x18\x02 \x03(\x0c\"\xa5\x01\n\x10\x43MsgGSServerType\x12\x15\n\rapp_id_served\x18\x01 \x01(\r\x12\r\n\x05\x66lags\x18\x02 \x01(\r\x12\x17\n\x0fgame_ip_address\x18\x03 \x01(\r\x12\x11\n\tgame_port\x18\x04 \x01(\r\x12\x10\n\x08game_dir\x18\x05 \x01(\t\x12\x14\n\x0cgame_version\x18\x06 \x01(\t\x12\x17\n\x0fgame_query_port\x18\x07 \x01(\r\"&\n\x11\x43MsgGSStatusReply\x12\x11\n\tis_secure\x18\x01 \x01(\x08\"{\n\x10\x43MsgGSPlayerList\x12)\n\x07players\x18\x01 \x03(\x0b\x32\x18.CMsgGSPlayerList.Player\x1a<\n\x06Player\x12\x10\n\x08steam_id\x18\x01 \x01(\x04\x12\x11\n\tpublic_ip\x18\x02 \x01(\r\x12\r\n\x05token\x18\x03 \x01(\x0c\"G\n\x11\x43MsgGSUserPlaying\x12\x10\n\x08steam_id\x18\x01 \x01(\x06\x12\x11\n\tpublic_ip\x18\x02 \x01(\r\x12\r\n\x05token\x18\x03 \x01(\x0c\"*\n\x16\x43MsgGSDisconnectNotice\x12\x10\n\x08steam_id\x18\x01 \x01(\x06\"\x8d\x05\n\x15\x43MsgClientGamesPlayed\x12\x37\n\x0cgames_played\x18\x01 \x03(\x0b\x32!.CMsgClientGamesPlayed.GamePlayed\x12\x16\n\x0e\x63lient_os_type\x18\x02 \x01(\r\x1a\xa2\x04\n\nGamePlayed\x12\x13\n\x0bsteam_id_gs\x18\x01 \x01(\x04\x12\x0f\n\x07game_id\x18\x02 \x01(\x06\x12\x17\n\x0fgame_ip_address\x18\x03 \x01(\r\x12\x11\n\tgame_port\x18\x04 \x01(\r\x12\x11\n\tis_secure\x18\x05 \x01(\x08\x12\r\n\x05token\x18\x06 \x01(\x0c\x12\x17\n\x0fgame_extra_info\x18\x07 \x01(\t\x12\x16\n\x0egame_data_blob\x18\x08 \x01(\x0c\x12\x12\n\nprocess_id\x18\t \x01(\r\x12\x1d\n\x15streaming_provider_id\x18\n \x01(\r\x12\x12\n\ngame_flags\x18\x0b \x01(\r\x12\x10\n\x08owner_id\x18\x0c \x01(\r\x12\x15\n\rvr_hmd_vendor\x18\r \x01(\t\x12\x14\n\x0cvr_hmd_model\x18\x0e \x01(\t\x12\x1d\n\x12launch_option_type\x18\x0f \x01(\r:\x01\x30\x12#\n\x17primary_controller_type\x18\x10 \x01(\x05:\x02-1\x12\'\n\x1fprimary_steam_controller_serial\x18\x11 \x01(\t\x12\'\n\x1ctotal_steam_controller_count\x18\x12 \x01(\r:\x01\x30\x12+\n total_non_steam_controller_count\x18\x13 \x01(\r:\x01\x30\x12&\n\x1b\x63ontroller_workshop_file_id\x18\x14 \x01(\x04:\x01\x30\"9\n\rCMsgGSApprove\x12\x10\n\x08steam_id\x18\x01 \x01(\x06\x12\x16\n\x0eowner_steam_id\x18\x02 \x01(\x06\"I\n\nCMsgGSDeny\x12\x10\n\x08steam_id\x18\x01 \x01(\x06\x12\x14\n\x0c\x65\x64\x65ny_reason\x18\x02 \x01(\x05\x12\x13\n\x0b\x64\x65ny_string\x18\x03 \x01(\t\"4\n\nCMsgGSKick\x12\x10\n\x08steam_id\x18\x01 \x01(\x06\x12\x14\n\x0c\x65\x64\x65ny_reason\x18\x02 \x01(\x05\"\xb6\x01\n\x12\x43MsgClientAuthList\x12\x13\n\x0btokens_left\x18\x01 \x01(\r\x12\x18\n\x10last_request_seq\x18\x02 \x01(\r\x12$\n\x1clast_request_seq_from_server\x18\x03 \x01(\r\x12 \n\x07tickets\x18\x04 \x03(\x0b\x32\x0f.CMsgAuthTicket\x12\x0f\n\x07\x61pp_ids\x18\x05 \x03(\r\x12\x18\n\x10message_sequence\x18\x06 \x01(\r\"V\n\x15\x43MsgClientAuthListAck\x12\x12\n\nticket_crc\x18\x01 \x03(\r\x12\x0f\n\x07\x61pp_ids\x18\x02 \x03(\r\x12\x18\n\x10message_sequence\x18\x03 \x01(\r\"\xdd\x03\n\x15\x43MsgClientLicenseList\x12\x12\n\x07\x65result\x18\x01 \x01(\x05:\x01\x32\x12\x30\n\x08licenses\x18\x02 \x03(\x0b\x32\x1e.CMsgClientLicenseList.License\x1a\xfd\x02\n\x07License\x12\x12\n\npackage_id\x18\x01 \x01(\r\x12\x14\n\x0ctime_created\x18\x02 \x01(\x07\x12\x19\n\x11time_next_process\x18\x03 \x01(\x07\x12\x14\n\x0cminute_limit\x18\x04 \x01(\x05\x12\x14\n\x0cminutes_used\x18\x05 \x01(\x05\x12\x16\n\x0epayment_method\x18\x06 \x01(\r\x12\r\n\x05\x66lags\x18\x07 \x01(\r\x12\x1d\n\x15purchase_country_code\x18\x08 \x01(\t\x12\x14\n\x0clicense_type\x18\t \x01(\r\x12\x16\n\x0eterritory_code\x18\n \x01(\x05\x12\x15\n\rchange_number\x18\x0b \x01(\x05\x12\x10\n\x08owner_id\x18\x0c \x01(\r\x12\x16\n\x0einitial_period\x18\r \x01(\r\x12\x19\n\x11initial_time_unit\x18\x0e \x01(\r\x12\x16\n\x0erenewal_period\x18\x0f \x01(\r\x12\x19\n\x11renewal_time_unit\x18\x10 \x01(\r\"|\n\x15\x43MsgClientLBSSetScore\x12\x0e\n\x06\x61pp_id\x18\x01 \x01(\r\x12\x16\n\x0eleaderboard_id\x18\x02 \x01(\x05\x12\r\n\x05score\x18\x03 \x01(\x05\x12\x0f\n\x07\x64\x65tails\x18\x04 \x01(\x0c\x12\x1b\n\x13upload_score_method\x18\x05 \x01(\x05\"\xa2\x01\n\x1d\x43MsgClientLBSSetScoreResponse\x12\x12\n\x07\x65result\x18\x01 \x01(\x05:\x01\x32\x12\x1f\n\x17leaderboard_entry_count\x18\x02 \x01(\x05\x12\x15\n\rscore_changed\x18\x03 \x01(\x08\x12\x1c\n\x14global_rank_previous\x18\x04 \x01(\x05\x12\x17\n\x0fglobal_rank_new\x18\x05 \x01(\x05\"M\n\x13\x43MsgClientLBSSetUGC\x12\x0e\n\x06\x61pp_id\x18\x01 \x01(\r\x12\x16\n\x0eleaderboard_id\x18\x02 \x01(\x05\x12\x0e\n\x06ugc_id\x18\x03 \x01(\x06\"1\n\x1b\x43MsgClientLBSSetUGCResponse\x12\x12\n\x07\x65result\x18\x01 \x01(\x05:\x01\x32\"\xa7\x01\n\x1b\x43MsgClientLBSFindOrCreateLB\x12\x0e\n\x06\x61pp_id\x18\x01 \x01(\r\x12\x1f\n\x17leaderboard_sort_method\x18\x02 \x01(\x05\x12 \n\x18leaderboard_display_type\x18\x03 \x01(\x05\x12\x1b\n\x13\x63reate_if_not_found\x18\x04 \x01(\x08\x12\x18\n\x10leaderboard_name\x18\x05 \x01(\t\"\xd5\x01\n#CMsgClientLBSFindOrCreateLBResponse\x12\x12\n\x07\x65result\x18\x01 \x01(\x05:\x01\x32\x12\x16\n\x0eleaderboard_id\x18\x02 \x01(\x05\x12\x1f\n\x17leaderboard_entry_count\x18\x03 \x01(\x05\x12\"\n\x17leaderboard_sort_method\x18\x04 \x01(\x05:\x01\x30\x12#\n\x18leaderboard_display_type\x18\x05 \x01(\x05:\x01\x30\x12\x18\n\x10leaderboard_name\x18\x06 \x01(\t\"\x9f\x01\n\x19\x43MsgClientLBSGetLBEntries\x12\x0e\n\x06\x61pp_id\x18\x01 \x01(\x05\x12\x16\n\x0eleaderboard_id\x18\x02 \x01(\x05\x12\x13\n\x0brange_start\x18\x03 \x01(\x05\x12\x11\n\trange_end\x18\x04 \x01(\x05\x12 \n\x18leaderboard_data_request\x18\x05 \x01(\x05\x12\x10\n\x08steamids\x18\x06 \x03(\x06\"\xf8\x01\n!CMsgClientLBSGetLBEntriesResponse\x12\x12\n\x07\x65result\x18\x01 \x01(\x05:\x01\x32\x12\x1f\n\x17leaderboard_entry_count\x18\x02 \x01(\x05\x12\x39\n\x07\x65ntries\x18\x03 \x03(\x0b\x32(.CMsgClientLBSGetLBEntriesResponse.Entry\x1a\x63\n\x05\x45ntry\x12\x15\n\rsteam_id_user\x18\x01 \x01(\x06\x12\x13\n\x0bglobal_rank\x18\x02 \x01(\x05\x12\r\n\x05score\x18\x03 \x01(\x05\x12\x0f\n\x07\x64\x65tails\x18\x04 \x01(\x0c\x12\x0e\n\x06ugc_id\x18\x05 \x01(\x06\"\xbf\x01\n\x1e\x43MsgClientAppMinutesPlayedData\x12L\n\x0eminutes_played\x18\x01 \x03(\x0b\x32\x34.CMsgClientAppMinutesPlayedData.AppMinutesPlayedData\x1aO\n\x14\x41ppMinutesPlayedData\x12\x0e\n\x06\x61pp_id\x18\x01 \x01(\r\x12\x0f\n\x07\x66orever\x18\x02 \x01(\x05\x12\x16\n\x0elast_two_weeks\x18\x03 \x01(\x05\"\xaa\x01\n\x1a\x43MsgClientIsLimitedAccount\x12\x1b\n\x13\x62is_limited_account\x18\x01 \x01(\x08\x12\x1c\n\x14\x62is_community_banned\x18\x02 \x01(\x08\x12\x1a\n\x12\x62is_locked_account\x18\x03 \x01(\x08\x12\x35\n-bis_limited_account_allowed_to_invite_friends\x18\x04 \x01(\x08\"\x8c\x01\n\x14\x43MsgClientServerList\x12-\n\x07servers\x18\x01 \x03(\x0b\x32\x1c.CMsgClientServerList.Server\x1a\x45\n\x06Server\x12\x13\n\x0bserver_type\x18\x01 \x01(\r\x12\x11\n\tserver_ip\x18\x02 \x01(\r\x12\x13\n\x0bserver_port\x18\x03 \x01(\r\"\xa7\x01\n\x1e\x43MsgClientRequestedClientStats\x12\x42\n\rstats_to_send\x18\x01 \x03(\x0b\x32+.CMsgClientRequestedClientStats.StatsToSend\x1a\x41\n\x0bStatsToSend\x12\x13\n\x0b\x63lient_stat\x18\x01 \x01(\r\x12\x1d\n\x15stat_aggregate_method\x18\x02 \x01(\r\"\xc0\x01\n\x0f\x43MsgClientStat2\x12\x30\n\x0bstat_detail\x18\x01 \x03(\x0b\x32\x1b.CMsgClientStat2.StatDetail\x1a{\n\nStatDetail\x12\x13\n\x0b\x63lient_stat\x18\x01 \x01(\r\x12\x10\n\x08ll_value\x18\x02 \x01(\x03\x12\x13\n\x0btime_of_day\x18\x03 \x01(\r\x12\x0f\n\x07\x63\x65ll_id\x18\x04 \x01(\r\x12\x10\n\x08\x64\x65pot_id\x18\x05 \x01(\r\x12\x0e\n\x06\x61pp_id\x18\x06 \x01(\r\"\xba\x01\n\x18\x43MsgClientMMSCreateLobby\x12\x0e\n\x06\x61pp_id\x18\x01 \x01(\r\x12\x13\n\x0bmax_members\x18\x02 \x01(\x05\x12\x12\n\nlobby_type\x18\x03 \x01(\x05\x12\x13\n\x0blobby_flags\x18\x04 \x01(\x05\x12\x0f\n\x07\x63\x65ll_id\x18\x05 \x01(\r\x12\x11\n\tpublic_ip\x18\x06 \x01(\r\x12\x10\n\x08metadata\x18\x07 \x01(\x0c\x12\x1a\n\x12persona_name_owner\x18\x08 \x01(\t\"^\n CMsgClientMMSCreateLobbyResponse\x12\x0e\n\x06\x61pp_id\x18\x01 \x01(\r\x12\x16\n\x0esteam_id_lobby\x18\x02 \x01(\x06\x12\x12\n\x07\x65result\x18\x03 \x01(\x05:\x01\x32\"V\n\x16\x43MsgClientMMSJoinLobby\x12\x0e\n\x06\x61pp_id\x18\x01 \x01(\r\x12\x16\n\x0esteam_id_lobby\x18\x02 \x01(\x06\x12\x14\n\x0cpersona_name\x18\x03 \x01(\t\"\xcf\x02\n\x1e\x43MsgClientMMSJoinLobbyResponse\x12\x0e\n\x06\x61pp_id\x18\x01 \x01(\r\x12\x16\n\x0esteam_id_lobby\x18\x02 \x01(\x06\x12 \n\x18\x63hat_room_enter_response\x18\x03 \x01(\x05\x12\x13\n\x0bmax_members\x18\x04 \x01(\x05\x12\x12\n\nlobby_type\x18\x05 \x01(\x05\x12\x13\n\x0blobby_flags\x18\x06 \x01(\x05\x12\x16\n\x0esteam_id_owner\x18\x07 \x01(\x06\x12\x10\n\x08metadata\x18\x08 \x01(\x0c\x12\x37\n\x07members\x18\t \x03(\x0b\x32&.CMsgClientMMSJoinLobbyResponse.Member\x1a\x42\n\x06Member\x12\x10\n\x08steam_id\x18\x01 \x01(\x06\x12\x14\n\x0cpersona_name\x18\x02 \x01(\t\x12\x10\n\x08metadata\x18\x03 \x01(\x0c\"A\n\x17\x43MsgClientMMSLeaveLobby\x12\x0e\n\x06\x61pp_id\x18\x01 \x01(\r\x12\x16\n\x0esteam_id_lobby\x18\x02 \x01(\x06\"]\n\x1f\x43MsgClientMMSLeaveLobbyResponse\x12\x0e\n\x06\x61pp_id\x18\x01 \x01(\r\x12\x16\n\x0esteam_id_lobby\x18\x02 \x01(\x06\x12\x12\n\x07\x65result\x18\x03 \x01(\x05:\x01\x32\"\xf2\x01\n\x19\x43MsgClientMMSGetLobbyList\x12\x0e\n\x06\x61pp_id\x18\x01 \x01(\r\x12\x1d\n\x15num_lobbies_requested\x18\x03 \x01(\x05\x12\x0f\n\x07\x63\x65ll_id\x18\x04 \x01(\r\x12\x11\n\tpublic_ip\x18\x05 \x01(\r\x12\x32\n\x07\x66ilters\x18\x06 \x03(\x0b\x32!.CMsgClientMMSGetLobbyList.Filter\x1aN\n\x06\x46ilter\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t\x12\x13\n\x0b\x63omparision\x18\x03 \x01(\x05\x12\x13\n\x0b\x66ilter_type\x18\x04 \x01(\x05\"\xa5\x02\n!CMsgClientMMSGetLobbyListResponse\x12\x0e\n\x06\x61pp_id\x18\x01 \x01(\r\x12\x12\n\x07\x65result\x18\x03 \x01(\x05:\x01\x32\x12\x39\n\x07lobbies\x18\x04 \x03(\x0b\x32(.CMsgClientMMSGetLobbyListResponse.Lobby\x1a\xa0\x01\n\x05Lobby\x12\x10\n\x08steam_id\x18\x01 \x01(\x06\x12\x13\n\x0bmax_members\x18\x02 \x01(\x05\x12\x12\n\nlobby_type\x18\x03 \x01(\x05\x12\x13\n\x0blobby_flags\x18\x04 \x01(\x05\x12\x10\n\x08metadata\x18\x05 \x01(\x0c\x12\x13\n\x0bnum_members\x18\x06 \x01(\x05\x12\x10\n\x08\x64istance\x18\x07 \x01(\x02\x12\x0e\n\x06weight\x18\x08 \x01(\x03\"\xac\x01\n\x19\x43MsgClientMMSSetLobbyData\x12\x0e\n\x06\x61pp_id\x18\x01 \x01(\r\x12\x16\n\x0esteam_id_lobby\x18\x02 \x01(\x06\x12\x17\n\x0fsteam_id_member\x18\x03 \x01(\x06\x12\x13\n\x0bmax_members\x18\x04 \x01(\x05\x12\x12\n\nlobby_type\x18\x05 \x01(\x05\x12\x13\n\x0blobby_flags\x18\x06 \x01(\x05\x12\x10\n\x08metadata\x18\x07 \x01(\x0c\"_\n!CMsgClientMMSSetLobbyDataResponse\x12\x0e\n\x06\x61pp_id\x18\x01 \x01(\r\x12\x16\n\x0esteam_id_lobby\x18\x02 \x01(\x06\x12\x12\n\x07\x65result\x18\x03 \x01(\x05:\x01\x32\"C\n\x19\x43MsgClientMMSGetLobbyData\x12\x0e\n\x06\x61pp_id\x18\x01 \x01(\r\x12\x16\n\x0esteam_id_lobby\x18\x02 \x01(\x06\"\xc8\x02\n\x16\x43MsgClientMMSLobbyData\x12\x0e\n\x06\x61pp_id\x18\x01 \x01(\r\x12\x16\n\x0esteam_id_lobby\x18\x02 \x01(\x06\x12\x13\n\x0bnum_members\x18\x03 \x01(\x05\x12\x13\n\x0bmax_members\x18\x04 \x01(\x05\x12\x12\n\nlobby_type\x18\x05 \x01(\x05\x12\x13\n\x0blobby_flags\x18\x06 \x01(\x05\x12\x16\n\x0esteam_id_owner\x18\x07 \x01(\x06\x12\x10\n\x08metadata\x18\x08 \x01(\x0c\x12/\n\x07members\x18\t \x03(\x0b\x32\x1e.CMsgClientMMSLobbyData.Member\x12\x14\n\x0clobby_cellid\x18\n \x01(\r\x1a\x42\n\x06Member\x12\x10\n\x08steam_id\x18\x01 \x01(\x06\x12\x14\n\x0cpersona_name\x18\x02 \x01(\t\x12\x10\n\x08metadata\x18\x03 \x01(\x0c\"w\n\x1d\x43MsgClientMMSSendLobbyChatMsg\x12\x0e\n\x06\x61pp_id\x18\x01 \x01(\r\x12\x16\n\x0esteam_id_lobby\x18\x02 \x01(\x06\x12\x17\n\x0fsteam_id_target\x18\x03 \x01(\x06\x12\x15\n\rlobby_message\x18\x04 \x01(\x0c\"s\n\x19\x43MsgClientMMSLobbyChatMsg\x12\x0e\n\x06\x61pp_id\x18\x01 \x01(\r\x12\x16\n\x0esteam_id_lobby\x18\x02 \x01(\x06\x12\x17\n\x0fsteam_id_sender\x18\x03 \x01(\x06\x12\x15\n\rlobby_message\x18\x04 \x01(\x0c\"`\n\x1a\x43MsgClientMMSSetLobbyOwner\x12\x0e\n\x06\x61pp_id\x18\x01 \x01(\r\x12\x16\n\x0esteam_id_lobby\x18\x02 \x01(\x06\x12\x1a\n\x12steam_id_new_owner\x18\x03 \x01(\x06\"`\n\"CMsgClientMMSSetLobbyOwnerResponse\x12\x0e\n\x06\x61pp_id\x18\x01 \x01(\r\x12\x16\n\x0esteam_id_lobby\x18\x02 \x01(\x06\x12\x12\n\x07\x65result\x18\x03 \x01(\x05:\x01\x32\"^\n\x1b\x43MsgClientMMSSetLobbyLinked\x12\x0e\n\x06\x61pp_id\x18\x01 \x01(\r\x12\x16\n\x0esteam_id_lobby\x18\x02 \x01(\x06\x12\x17\n\x0fsteam_id_lobby2\x18\x03 \x01(\x06\"\x99\x01\n\x1f\x43MsgClientMMSSetLobbyGameServer\x12\x0e\n\x06\x61pp_id\x18\x01 \x01(\r\x12\x16\n\x0esteam_id_lobby\x18\x02 \x01(\x06\x12\x16\n\x0egame_server_ip\x18\x03 \x01(\r\x12\x18\n\x10game_server_port\x18\x04 \x01(\r\x12\x1c\n\x14game_server_steam_id\x18\x05 \x01(\x06\"\x99\x01\n\x1f\x43MsgClientMMSLobbyGameServerSet\x12\x0e\n\x06\x61pp_id\x18\x01 \x01(\r\x12\x16\n\x0esteam_id_lobby\x18\x02 \x01(\x06\x12\x16\n\x0egame_server_ip\x18\x03 \x01(\r\x12\x18\n\x10game_server_port\x18\x04 \x01(\r\x12\x1c\n\x14game_server_steam_id\x18\x05 \x01(\x06\"s\n\x1c\x43MsgClientMMSUserJoinedLobby\x12\x0e\n\x06\x61pp_id\x18\x01 \x01(\r\x12\x16\n\x0esteam_id_lobby\x18\x02 \x01(\x06\x12\x15\n\rsteam_id_user\x18\x03 \x01(\x06\x12\x14\n\x0cpersona_name\x18\x04 \x01(\t\"q\n\x1a\x43MsgClientMMSUserLeftLobby\x12\x0e\n\x06\x61pp_id\x18\x01 \x01(\r\x12\x16\n\x0esteam_id_lobby\x18\x02 \x01(\x06\x12\x15\n\rsteam_id_user\x18\x03 \x01(\x06\x12\x14\n\x0cpersona_name\x18\x04 \x01(\t\"c\n\x1a\x43MsgClientMMSInviteToLobby\x12\x0e\n\x06\x61pp_id\x18\x01 \x01(\r\x12\x16\n\x0esteam_id_lobby\x18\x02 \x01(\x06\x12\x1d\n\x15steam_id_user_invited\x18\x03 \x01(\x06\"]\n\x16\x43MsgClientInviteToGame\x12\x15\n\rsteam_id_dest\x18\x01 \x01(\x06\x12\x14\n\x0csteam_id_src\x18\x02 \x01(\x06\x12\x16\n\x0e\x63onnect_string\x18\x03 \x01(\t\"\xb9\x01\n\x14\x43MsgClientChatInvite\x12\x18\n\x10steam_id_invited\x18\x01 \x01(\x06\x12\x15\n\rsteam_id_chat\x18\x02 \x01(\x06\x12\x17\n\x0fsteam_id_patron\x18\x03 \x01(\x06\x12\x15\n\rchatroom_type\x18\x04 \x01(\x05\x12\x1c\n\x14steam_id_friend_chat\x18\x05 \x01(\x06\x12\x11\n\tchat_name\x18\x06 \x01(\t\x12\x0f\n\x07game_id\x18\x07 \x01(\x06\"\x8a\x08\n\x19\x43MsgClientConnectionStats\x12;\n\x0bstats_logon\x18\x01 \x01(\x0b\x32&.CMsgClientConnectionStats.Stats_Logon\x12;\n\x0bstats_vconn\x18\x02 \x01(\x0b\x32&.CMsgClientConnectionStats.Stats_VConn\x1a\xc7\x01\n\x0bStats_Logon\x12\x18\n\x10\x63onnect_attempts\x18\x01 \x01(\x05\x12\x19\n\x11\x63onnect_successes\x18\x02 \x01(\x05\x12\x18\n\x10\x63onnect_failures\x18\x03 \x01(\x05\x12\x1b\n\x13\x63onnections_dropped\x18\x04 \x01(\x05\x12\x17\n\x0fseconds_running\x18\x05 \x01(\r\x12\x1c\n\x14msec_tologonthistime\x18\x06 \x01(\r\x12\x15\n\rcount_bad_cms\x18\x07 \x01(\r\x1aq\n\tStats_UDP\x12\x11\n\tpkts_sent\x18\x01 \x01(\x04\x12\x12\n\nbytes_sent\x18\x02 \x01(\x04\x12\x11\n\tpkts_recv\x18\x03 \x01(\x04\x12\x16\n\x0epkts_processed\x18\x04 \x01(\x04\x12\x12\n\nbytes_recv\x18\x05 \x01(\x04\x1a\xb5\x04\n\x0bStats_VConn\x12\x17\n\x0f\x63onnections_udp\x18\x01 \x01(\r\x12\x17\n\x0f\x63onnections_tcp\x18\x02 \x01(\r\x12\x37\n\tstats_udp\x18\x03 \x01(\x0b\x32$.CMsgClientConnectionStats.Stats_UDP\x12\x16\n\x0epkts_abandoned\x18\x04 \x01(\x04\x12\x19\n\x11\x63onn_req_received\x18\x05 \x01(\x04\x12\x13\n\x0bpkts_resent\x18\x06 \x01(\x04\x12\x11\n\tmsgs_sent\x18\x07 \x01(\x04\x12\x18\n\x10msgs_sent_failed\x18\x08 \x01(\x04\x12\x11\n\tmsgs_recv\x18\t \x01(\x04\x12\x16\n\x0e\x64\x61tagrams_sent\x18\n \x01(\x04\x12\x16\n\x0e\x64\x61tagrams_recv\x18\x0b \x01(\x04\x12\x15\n\rbad_pkts_recv\x18\x0c \x01(\x04\x12\x1e\n\x16unknown_conn_pkts_recv\x18\r \x01(\x04\x12\x18\n\x10missed_pkts_recv\x18\x0e \x01(\x04\x12\x15\n\rdup_pkts_recv\x18\x0f \x01(\x04\x12!\n\x19\x66\x61iled_connect_challenges\x18\x10 \x01(\x04\x12\x1d\n\x15micro_sec_avg_latency\x18\x11 \x01(\r\x12\x1d\n\x15micro_sec_min_latency\x18\x12 \x01(\r\x12\x1d\n\x15micro_sec_max_latency\x18\x13 \x01(\r\x12\x1b\n\x13mem_pool_msg_in_use\x18\x14 \x01(\r\"\xd2\x01\n\x1a\x43MsgClientServersAvailable\x12R\n\x16server_types_available\x18\x01 \x03(\x0b\x32\x32.CMsgClientServersAvailable.Server_Types_Available\x12%\n\x1dserver_type_for_auth_services\x18\x02 \x01(\r\x1a\x39\n\x16Server_Types_Available\x12\x0e\n\x06server\x18\x01 \x01(\r\x12\x0f\n\x07\x63hanged\x18\x02 \x01(\x08\"u\n\x16\x43MsgClientGetUserStats\x12\x0f\n\x07game_id\x18\x01 \x01(\x06\x12\x11\n\tcrc_stats\x18\x02 \x01(\r\x12\x1c\n\x14schema_local_version\x18\x03 \x01(\x05\x12\x19\n\x11steam_id_for_user\x18\x04 \x01(\x06\"\xdf\x02\n\x1e\x43MsgClientGetUserStatsResponse\x12\x0f\n\x07game_id\x18\x01 \x01(\x06\x12\x12\n\x07\x65result\x18\x02 \x01(\x05:\x01\x32\x12\x11\n\tcrc_stats\x18\x03 \x01(\r\x12\x0e\n\x06schema\x18\x04 \x01(\x0c\x12\x34\n\x05stats\x18\x05 \x03(\x0b\x32%.CMsgClientGetUserStatsResponse.Stats\x12N\n\x12\x61\x63hievement_blocks\x18\x06 \x03(\x0b\x32\x32.CMsgClientGetUserStatsResponse.Achievement_Blocks\x1a,\n\x05Stats\x12\x0f\n\x07stat_id\x18\x01 \x01(\r\x12\x12\n\nstat_value\x18\x02 \x01(\r\x1a\x41\n\x12\x41\x63hievement_Blocks\x12\x16\n\x0e\x61\x63hievement_id\x18\x01 \x01(\r\x12\x13\n\x0bunlock_time\x18\x02 \x03(\x07\"\x9a\x02\n CMsgClientStoreUserStatsResponse\x12\x0f\n\x07game_id\x18\x01 \x01(\x06\x12\x12\n\x07\x65result\x18\x02 \x01(\x05:\x01\x32\x12\x11\n\tcrc_stats\x18\x03 \x01(\r\x12Z\n\x17stats_failed_validation\x18\x04 \x03(\x0b\x32\x39.CMsgClientStoreUserStatsResponse.Stats_Failed_Validation\x12\x19\n\x11stats_out_of_date\x18\x05 \x01(\x08\x1aG\n\x17Stats_Failed_Validation\x12\x0f\n\x07stat_id\x18\x01 \x01(\r\x12\x1b\n\x13reverted_stat_value\x18\x02 \x01(\r\"\xe8\x01\n\x19\x43MsgClientStoreUserStats2\x12\x0f\n\x07game_id\x18\x01 \x01(\x06\x12\x17\n\x0fsettor_steam_id\x18\x02 \x01(\x06\x12\x17\n\x0fsettee_steam_id\x18\x03 \x01(\x06\x12\x11\n\tcrc_stats\x18\x04 \x01(\r\x12\x16\n\x0e\x65xplicit_reset\x18\x05 \x01(\x08\x12/\n\x05stats\x18\x06 \x03(\x0b\x32 .CMsgClientStoreUserStats2.Stats\x1a,\n\x05Stats\x12\x0f\n\x07stat_id\x18\x01 \x01(\r\x12\x12\n\nstat_value\x18\x02 \x01(\r\"\xc2\x01\n\x16\x43MsgClientStatsUpdated\x12\x10\n\x08steam_id\x18\x01 \x01(\x06\x12\x0f\n\x07game_id\x18\x02 \x01(\x06\x12\x11\n\tcrc_stats\x18\x03 \x01(\r\x12<\n\rupdated_stats\x18\x04 \x03(\x0b\x32%.CMsgClientStatsUpdated.Updated_Stats\x1a\x34\n\rUpdated_Stats\x12\x0f\n\x07stat_id\x18\x01 \x01(\r\x12\x12\n\nstat_value\x18\x02 \x01(\r\"\xbc\x01\n\x18\x43MsgClientStoreUserStats\x12\x0f\n\x07game_id\x18\x01 \x01(\x06\x12\x16\n\x0e\x65xplicit_reset\x18\x02 \x01(\x08\x12@\n\x0estats_to_store\x18\x03 \x03(\x0b\x32(.CMsgClientStoreUserStats.Stats_To_Store\x1a\x35\n\x0eStats_To_Store\x12\x0f\n\x07stat_id\x18\x01 \x01(\r\x12\x12\n\nstat_value\x18\x02 \x01(\r\"\x1c\n\x1a\x43MsgClientGetClientDetails\"?\n$CMsgClientReportOverlayDetourFailure\x12\x17\n\x0f\x66\x61ilure_strings\x18\x01 \x03(\t\"\xbf\x02\n\"CMsgClientGetClientDetailsResponse\x12\x17\n\x0fpackage_version\x18\x01 \x01(\r\x12\x18\n\x10protocol_version\x18\x08 \x01(\r\x12\n\n\x02os\x18\x02 \x01(\t\x12\x14\n\x0cmachine_name\x18\x03 \x01(\t\x12\x11\n\tip_public\x18\x04 \x01(\t\x12\x12\n\nip_private\x18\x05 \x01(\t\x12\x17\n\x0f\x62ytes_available\x18\x07 \x01(\x04\x12?\n\rgames_running\x18\x06 \x03(\x0b\x32(.CMsgClientGetClientDetailsResponse.Game\x1a\x43\n\x04Game\x12\r\n\x05\x61ppid\x18\x01 \x01(\r\x12\x12\n\nextra_info\x18\x02 \x01(\t\x12\x18\n\x10time_running_sec\x18\x03 \x01(\r\"\x88\x01\n\x1a\x43MsgClientGetClientAppList\x12\r\n\x05media\x18\x01 \x01(\x08\x12\r\n\x05tools\x18\x02 \x01(\x08\x12\r\n\x05games\x18\x03 \x01(\x08\x12\x16\n\x0eonly_installed\x18\x04 \x01(\x08\x12\x15\n\ronly_changing\x18\x05 \x01(\x08\x12\x0e\n\x06\x63omics\x18\x06 \x01(\x08\"\x91\x04\n\"CMsgClientGetClientAppListResponse\x12\x35\n\x04\x61pps\x18\x01 \x03(\x0b\x32\'.CMsgClientGetClientAppListResponse.App\x12\x17\n\x0f\x62ytes_available\x18\x02 \x01(\x04\x1a\x9a\x03\n\x03\x41pp\x12\r\n\x05\x61ppid\x18\x01 \x01(\r\x12\x10\n\x08\x63\x61tegory\x18\x02 \x01(\t\x12\x10\n\x08\x61pp_type\x18\n \x01(\t\x12\x10\n\x08\x66\x61vorite\x18\x03 \x01(\x08\x12\x11\n\tinstalled\x18\x04 \x01(\x08\x12\x13\n\x0b\x61uto_update\x18\x05 \x01(\x08\x12\x18\n\x10\x62ytes_downloaded\x18\x06 \x01(\x04\x12\x14\n\x0c\x62ytes_needed\x18\x07 \x01(\x04\x12\x1b\n\x13\x62ytes_download_rate\x18\x08 \x01(\r\x12\x17\n\x0f\x64ownload_paused\x18\x0b \x01(\x08\x12\x17\n\x0fnum_downloading\x18\x0c \x01(\r\x12\x12\n\nnum_paused\x18\r \x01(\r\x12\x10\n\x08\x63hanging\x18\x0e \x01(\x08\x12\x1d\n\x15\x61vailable_on_platform\x18\x0f \x01(\x08\x12\x39\n\x04\x64lcs\x18\t \x03(\x0b\x32+.CMsgClientGetClientAppListResponse.App.DLC\x1a\'\n\x03\x44LC\x12\r\n\x05\x61ppid\x18\x01 \x01(\r\x12\x11\n\tinstalled\x18\x02 \x01(\x08\"+\n\x1a\x43MsgClientInstallClientApp\x12\r\n\x05\x61ppid\x18\x01 \x01(\r\"4\n\"CMsgClientInstallClientAppResponse\x12\x0e\n\x06result\x18\x01 \x01(\r\"-\n\x1c\x43MsgClientUninstallClientApp\x12\r\n\x05\x61ppid\x18\x01 \x01(\r\"6\n$CMsgClientUninstallClientAppResponse\x12\x0e\n\x06result\x18\x01 \x01(\r\"B\n!CMsgClientSetClientAppUpdateState\x12\r\n\x05\x61ppid\x18\x01 \x01(\r\x12\x0e\n\x06update\x18\x02 \x01(\x08\";\n)CMsgClientSetClientAppUpdateStateResponse\x12\x0e\n\x06result\x18\x01 \x01(\r\"\x86\x02\n\x1e\x43MsgClientUFSUploadFileRequest\x12\x0e\n\x06\x61pp_id\x18\x01 \x01(\r\x12\x11\n\tfile_size\x18\x02 \x01(\r\x12\x15\n\rraw_file_size\x18\x03 \x01(\r\x12\x10\n\x08sha_file\x18\x04 \x01(\x0c\x12\x12\n\ntime_stamp\x18\x05 \x01(\x04\x12\x11\n\tfile_name\x18\x06 \x01(\t\x12$\n\x1cplatforms_to_sync_deprecated\x18\x07 \x01(\r\x12%\n\x11platforms_to_sync\x18\x08 \x01(\r:\n4294967295\x12\x0f\n\x07\x63\x65ll_id\x18\t \x01(\r\x12\x13\n\x0b\x63\x61n_encrypt\x18\n \x01(\x08\"\xbb\x01\n\x1f\x43MsgClientUFSUploadFileResponse\x12\x12\n\x07\x65result\x18\x01 \x01(\x05:\x01\x32\x12\x10\n\x08sha_file\x18\x02 \x01(\x0c\x12\x10\n\x08use_http\x18\x03 \x01(\x08\x12\x11\n\thttp_host\x18\x04 \x01(\t\x12\x10\n\x08http_url\x18\x05 \x01(\t\x12\x12\n\nkv_headers\x18\x06 \x01(\x0c\x12\x11\n\tuse_https\x18\x07 \x01(\x08\x12\x14\n\x0c\x65ncrypt_file\x18\x08 \x01(\x08\"\xae\x01\n\x19\x43MsgClientUFSUploadCommit\x12.\n\x05\x66iles\x18\x01 \x03(\x0b\x32\x1f.CMsgClientUFSUploadCommit.File\x1a\x61\n\x04\x46ile\x12\x12\n\x07\x65result\x18\x01 \x01(\x05:\x01\x32\x12\x0e\n\x06\x61pp_id\x18\x02 \x01(\r\x12\x10\n\x08sha_file\x18\x03 \x01(\x0c\x12\x10\n\x08\x63ub_file\x18\x04 \x01(\r\x12\x11\n\tfile_name\x18\x05 \x01(\t\"\x99\x01\n!CMsgClientUFSUploadCommitResponse\x12\x36\n\x05\x66iles\x18\x01 \x03(\x0b\x32\'.CMsgClientUFSUploadCommitResponse.File\x1a<\n\x04\x46ile\x12\x12\n\x07\x65result\x18\x01 \x01(\x05:\x01\x32\x12\x0e\n\x06\x61pp_id\x18\x02 \x01(\r\x12\x10\n\x08sha_file\x18\x03 \x01(\x0c\"L\n\x16\x43MsgClientUFSFileChunk\x12\x10\n\x08sha_file\x18\x01 \x01(\x0c\x12\x12\n\nfile_start\x18\x02 \x01(\r\x12\x0c\n\x04\x64\x61ta\x18\x03 \x01(\x0c\" \n\x1e\x43MsgClientUFSTransferHeartbeat\"G\n\x1f\x43MsgClientUFSUploadFileFinished\x12\x12\n\x07\x65result\x18\x01 \x01(\x05:\x01\x32\x12\x10\n\x08sha_file\x18\x02 \x01(\x0c\"_\n\x1e\x43MsgClientUFSDeleteFileRequest\x12\x0e\n\x06\x61pp_id\x18\x01 \x01(\r\x12\x11\n\tfile_name\x18\x02 \x01(\t\x12\x1a\n\x12is_explicit_delete\x18\x03 \x01(\x08\"H\n\x1f\x43MsgClientUFSDeleteFileResponse\x12\x12\n\x07\x65result\x18\x01 \x01(\x05:\x01\x32\x12\x11\n\tfile_name\x18\x02 \x01(\t\"S\n\x1e\x43MsgClientUFSGetFileListForApp\x12\x15\n\rapps_to_query\x18\x01 \x03(\r\x12\x1a\n\x12send_path_prefixes\x18\x02 \x01(\x08\"\xc1\x02\n&CMsgClientUFSGetFileListForAppResponse\x12;\n\x05\x66iles\x18\x01 \x03(\x0b\x32,.CMsgClientUFSGetFileListForAppResponse.File\x12\x15\n\rpath_prefixes\x18\x02 \x03(\t\x1a\xb8\x01\n\x04\x46ile\x12\x0e\n\x06\x61pp_id\x18\x01 \x01(\r\x12\x11\n\tfile_name\x18\x02 \x01(\t\x12\x10\n\x08sha_file\x18\x03 \x01(\x0c\x12\x12\n\ntime_stamp\x18\x04 \x01(\x04\x12\x15\n\rraw_file_size\x18\x05 \x01(\r\x12\x1a\n\x12is_explicit_delete\x18\x06 \x01(\x08\x12\x19\n\x11platforms_to_sync\x18\x07 \x01(\r\x12\x19\n\x11path_prefix_index\x18\x08 \x01(\r:\x08\x80\xb5\x18\x08\x88\xb5\x18\x10\"Z\n\x1c\x43MsgClientUFSDownloadRequest\x12\x0e\n\x06\x61pp_id\x18\x01 \x01(\r\x12\x11\n\tfile_name\x18\x02 \x01(\t\x12\x17\n\x0f\x63\x61n_handle_http\x18\x03 \x01(\x08\"\xa0\x02\n\x1d\x43MsgClientUFSDownloadResponse\x12\x12\n\x07\x65result\x18\x01 \x01(\x05:\x01\x32\x12\x0e\n\x06\x61pp_id\x18\x02 \x01(\r\x12\x11\n\tfile_size\x18\x03 \x01(\r\x12\x15\n\rraw_file_size\x18\x04 \x01(\r\x12\x10\n\x08sha_file\x18\x05 \x01(\x0c\x12\x12\n\ntime_stamp\x18\x06 \x01(\x04\x12\x1a\n\x12is_explicit_delete\x18\x07 \x01(\x08\x12\x10\n\x08use_http\x18\x08 \x01(\x08\x12\x11\n\thttp_host\x18\t \x01(\t\x12\x10\n\x08http_url\x18\n \x01(\t\x12\x12\n\nkv_headers\x18\x0b \x01(\x0c\x12\x11\n\tuse_https\x18\x0c \x01(\x08\x12\x11\n\tencrypted\x18\r \x01(\x08\"]\n\x19\x43MsgClientUFSLoginRequest\x12\x18\n\x10protocol_version\x18\x01 \x01(\r\x12\x18\n\x10\x61m_session_token\x18\x02 \x01(\x04\x12\x0c\n\x04\x61pps\x18\x03 \x03(\r\"0\n\x1a\x43MsgClientUFSLoginResponse\x12\x12\n\x07\x65result\x18\x01 \x01(\x05:\x01\x32\"G\n#CMsgClientRequestEncryptedAppTicket\x12\x0e\n\x06\x61pp_id\x18\x01 \x01(\r\x12\x10\n\x08userdata\x18\x02 \x01(\x0c\"\x84\x01\n+CMsgClientRequestEncryptedAppTicketResponse\x12\x0e\n\x06\x61pp_id\x18\x01 \x01(\r\x12\x12\n\x07\x65result\x18\x02 \x01(\x05:\x01\x32\x12\x31\n\x14\x65ncrypted_app_ticket\x18\x03 \x01(\x0b\x32\x13.EncryptedAppTicket\"\xa6\x01\n\x1a\x43MsgClientWalletInfoUpdate\x12\x12\n\nhas_wallet\x18\x01 \x01(\x08\x12\x0f\n\x07\x62\x61lance\x18\x02 \x01(\x05\x12\x10\n\x08\x63urrency\x18\x03 \x01(\x05\x12\x17\n\x0f\x62\x61lance_delayed\x18\x04 \x01(\x05\x12\x17\n\tbalance64\x18\x05 \x01(\x03\x42\x04\xa0\xb6\x18\x01\x12\x1f\n\x11\x62\x61lance64_delayed\x18\x06 \x01(\x03\x42\x04\xa0\xb6\x18\x01\"M\n\x17\x43MsgClientAppInfoUpdate\x12\x19\n\x11last_changenumber\x18\x01 \x01(\r\x12\x17\n\x0fsend_changelist\x18\x02 \x01(\x08\"d\n\x18\x43MsgClientAppInfoChanges\x12\x1d\n\x15\x63urrent_change_number\x18\x01 \x01(\r\x12\x19\n\x11\x66orce_full_update\x18\x02 \x01(\x08\x12\x0e\n\x06\x61ppIDs\x18\x03 \x03(\r\"\xab\x01\n\x18\x43MsgClientAppInfoRequest\x12+\n\x04\x61pps\x18\x01 \x03(\x0b\x32\x1d.CMsgClientAppInfoRequest.App\x12\x1f\n\x10supports_batches\x18\x02 \x01(\x08:\x05\x66\x61lse\x1a\x41\n\x03\x41pp\x12\x0e\n\x06\x61pp_id\x18\x01 \x01(\r\x12\x15\n\rsection_flags\x18\x02 \x01(\r\x12\x13\n\x0bsection_CRC\x18\x03 \x03(\r\"\x9b\x02\n\x19\x43MsgClientAppInfoResponse\x12,\n\x04\x61pps\x18\x01 \x03(\x0b\x32\x1e.CMsgClientAppInfoResponse.App\x12\x14\n\x0c\x61pps_unknown\x18\x02 \x03(\r\x12\x14\n\x0c\x61pps_pending\x18\x03 \x01(\r\x1a\x99\x01\n\x03\x41pp\x12\x0e\n\x06\x61pp_id\x18\x01 \x01(\r\x12\x15\n\rchange_number\x18\x02 \x01(\r\x12\x38\n\x08sections\x18\x03 \x03(\x0b\x32&.CMsgClientAppInfoResponse.App.Section\x1a\x31\n\x07Section\x12\x12\n\nsection_id\x18\x01 \x01(\r\x12\x12\n\nsection_kv\x18\x02 \x01(\x0c:\x08\x80\xb5\x18\x00\x88\xb5\x18\x00\"K\n\x1c\x43MsgClientPackageInfoRequest\x12\x13\n\x0bpackage_ids\x18\x01 \x03(\r\x12\x16\n\x0emeta_data_only\x18\x02 \x01(\x08\"\xe0\x01\n\x1d\x43MsgClientPackageInfoResponse\x12\x38\n\x08packages\x18\x01 \x03(\x0b\x32&.CMsgClientPackageInfoResponse.Package\x12\x18\n\x10packages_unknown\x18\x02 \x03(\r\x12\x18\n\x10packages_pending\x18\x03 \x01(\r\x1aQ\n\x07Package\x12\x12\n\npackage_id\x18\x01 \x01(\r\x12\x15\n\rchange_number\x18\x02 \x01(\r\x12\x0b\n\x03sha\x18\x03 \x01(\x0c\x12\x0e\n\x06\x62uffer\x18\x04 \x01(\x0c\"\xc0\x01\n!CMsgClientPICSChangesSinceRequest\x12\x1b\n\x13since_change_number\x18\x01 \x01(\r\x12\x1d\n\x15send_app_info_changes\x18\x02 \x01(\x08\x12!\n\x19send_package_info_changes\x18\x03 \x01(\x08\x12\x1b\n\x13num_app_info_cached\x18\x04 \x01(\r\x12\x1f\n\x17num_package_info_cached\x18\x05 \x01(\r\"\xe5\x03\n\"CMsgClientPICSChangesSinceResponse\x12\x1d\n\x15\x63urrent_change_number\x18\x01 \x01(\r\x12\x1b\n\x13since_change_number\x18\x02 \x01(\r\x12\x19\n\x11\x66orce_full_update\x18\x03 \x01(\x08\x12J\n\x0fpackage_changes\x18\x04 \x03(\x0b\x32\x31.CMsgClientPICSChangesSinceResponse.PackageChange\x12\x42\n\x0b\x61pp_changes\x18\x05 \x03(\x0b\x32-.CMsgClientPICSChangesSinceResponse.AppChange\x12\x1d\n\x15\x66orce_full_app_update\x18\x06 \x01(\x08\x12!\n\x19\x66orce_full_package_update\x18\x07 \x01(\x08\x1aN\n\rPackageChange\x12\x11\n\tpackageid\x18\x01 \x01(\r\x12\x15\n\rchange_number\x18\x02 \x01(\r\x12\x13\n\x0bneeds_token\x18\x03 \x01(\x08\x1a\x46\n\tAppChange\x12\r\n\x05\x61ppid\x18\x01 \x01(\r\x12\x15\n\rchange_number\x18\x02 \x01(\r\x12\x13\n\x0bneeds_token\x18\x03 \x01(\x08\"\xca\x02\n CMsgClientPICSProductInfoRequest\x12?\n\x08packages\x18\x01 \x03(\x0b\x32-.CMsgClientPICSProductInfoRequest.PackageInfo\x12\x37\n\x04\x61pps\x18\x02 \x03(\x0b\x32).CMsgClientPICSProductInfoRequest.AppInfo\x12\x16\n\x0emeta_data_only\x18\x03 \x01(\x08\x12\x17\n\x0fnum_prev_failed\x18\x04 \x01(\r\x1a\x43\n\x07\x41ppInfo\x12\r\n\x05\x61ppid\x18\x01 \x01(\r\x12\x14\n\x0c\x61\x63\x63\x65ss_token\x18\x02 \x01(\x04\x12\x13\n\x0bonly_public\x18\x03 \x01(\x08\x1a\x36\n\x0bPackageInfo\x12\x11\n\tpackageid\x18\x01 \x01(\r\x12\x14\n\x0c\x61\x63\x63\x65ss_token\x18\x02 \x01(\x04\"\xbd\x04\n!CMsgClientPICSProductInfoResponse\x12\x38\n\x04\x61pps\x18\x01 \x03(\x0b\x32*.CMsgClientPICSProductInfoResponse.AppInfo\x12\x16\n\x0eunknown_appids\x18\x02 \x03(\r\x12@\n\x08packages\x18\x03 \x03(\x0b\x32..CMsgClientPICSProductInfoResponse.PackageInfo\x12\x1a\n\x12unknown_packageids\x18\x04 \x03(\r\x12\x16\n\x0emeta_data_only\x18\x05 \x01(\x08\x12\x18\n\x10response_pending\x18\x06 \x01(\x08\x12\x15\n\rhttp_min_size\x18\x07 \x01(\r\x12\x11\n\thttp_host\x18\x08 \x01(\t\x1a\x86\x01\n\x07\x41ppInfo\x12\r\n\x05\x61ppid\x18\x01 \x01(\r\x12\x15\n\rchange_number\x18\x02 \x01(\r\x12\x15\n\rmissing_token\x18\x03 \x01(\x08\x12\x0b\n\x03sha\x18\x04 \x01(\x0c\x12\x0e\n\x06\x62uffer\x18\x05 \x01(\x0c\x12\x13\n\x0bonly_public\x18\x06 \x01(\x08\x12\x0c\n\x04size\x18\x07 \x01(\r\x1ay\n\x0bPackageInfo\x12\x11\n\tpackageid\x18\x01 \x01(\r\x12\x15\n\rchange_number\x18\x02 \x01(\r\x12\x15\n\rmissing_token\x18\x03 \x01(\x08\x12\x0b\n\x03sha\x18\x04 \x01(\x0c\x12\x0e\n\x06\x62uffer\x18\x05 \x01(\x0c\x12\x0c\n\x04size\x18\x06 \x01(\r:\x08\x80\xb5\x18\x00\x88\xb5\x18\x00\"F\n CMsgClientPICSAccessTokenRequest\x12\x12\n\npackageids\x18\x01 \x03(\r\x12\x0e\n\x06\x61ppids\x18\x02 \x03(\r\"\xdf\x02\n!CMsgClientPICSAccessTokenResponse\x12N\n\x15package_access_tokens\x18\x01 \x03(\x0b\x32/.CMsgClientPICSAccessTokenResponse.PackageToken\x12\x1d\n\x15package_denied_tokens\x18\x02 \x03(\r\x12\x46\n\x11\x61pp_access_tokens\x18\x03 \x03(\x0b\x32+.CMsgClientPICSAccessTokenResponse.AppToken\x12\x19\n\x11\x61pp_denied_tokens\x18\x04 \x03(\r\x1a\x37\n\x0cPackageToken\x12\x11\n\tpackageid\x18\x01 \x01(\r\x12\x14\n\x0c\x61\x63\x63\x65ss_token\x18\x02 \x01(\x04\x1a/\n\x08\x41ppToken\x12\r\n\x05\x61ppid\x18\x01 \x01(\r\x12\x14\n\x0c\x61\x63\x63\x65ss_token\x18\x02 \x01(\x04\"D\n\x1a\x43MsgClientUFSGetUGCDetails\x12&\n\x08hcontent\x18\x01 \x01(\x06:\x14\x31\x38\x34\x34\x36\x37\x34\x34\x30\x37\x33\x37\x30\x39\x35\x35\x31\x36\x31\x35\"\xe5\x01\n\"CMsgClientUFSGetUGCDetailsResponse\x12\x12\n\x07\x65result\x18\x01 \x01(\x05:\x01\x32\x12\x0b\n\x03url\x18\x02 \x01(\t\x12\x0e\n\x06\x61pp_id\x18\x03 \x01(\r\x12\x10\n\x08\x66ilename\x18\x04 \x01(\t\x12\x17\n\x0fsteamid_creator\x18\x05 \x01(\x06\x12\x11\n\tfile_size\x18\x06 \x01(\r\x12\x1c\n\x14\x63ompressed_file_size\x18\x07 \x01(\r\x12\x17\n\x0frangecheck_host\x18\x08 \x01(\t\x12\x19\n\x11\x66ile_encoded_sha1\x18\t \x01(\t\"C\n\x1e\x43MsgClientUFSGetSingleFileInfo\x12\x0e\n\x06\x61pp_id\x18\x01 \x01(\r\x12\x11\n\tfile_name\x18\x02 \x01(\t\"\xb8\x01\n&CMsgClientUFSGetSingleFileInfoResponse\x12\x12\n\x07\x65result\x18\x01 \x01(\x05:\x01\x32\x12\x0e\n\x06\x61pp_id\x18\x02 \x01(\r\x12\x11\n\tfile_name\x18\x03 \x01(\t\x12\x10\n\x08sha_file\x18\x04 \x01(\x0c\x12\x12\n\ntime_stamp\x18\x05 \x01(\x04\x12\x15\n\rraw_file_size\x18\x06 \x01(\r\x12\x1a\n\x12is_explicit_delete\x18\x07 \x01(\x08\";\n\x16\x43MsgClientUFSShareFile\x12\x0e\n\x06\x61pp_id\x18\x01 \x01(\r\x12\x11\n\tfile_name\x18\x02 \x01(\t\"\\\n\x1e\x43MsgClientUFSShareFileResponse\x12\x12\n\x07\x65result\x18\x01 \x01(\x05:\x01\x32\x12&\n\x08hcontent\x18\x02 \x01(\x06:\x14\x31\x38\x34\x34\x36\x37\x34\x34\x30\x37\x33\x37\x30\x39\x35\x35\x31\x36\x31\x35\"3\n\x1b\x43MsgClientAMGetClanOfficers\x12\x14\n\x0csteamid_clan\x18\x01 \x01(\x06\"f\n#CMsgClientAMGetClanOfficersResponse\x12\x12\n\x07\x65result\x18\x01 \x01(\x05:\x01\x32\x12\x14\n\x0csteamid_clan\x18\x02 \x01(\x06\x12\x15\n\rofficer_count\x18\x03 \x01(\x05\"\x90\x01\n!CMsgClientAMGetPersonaNameHistory\x12\x10\n\x08id_count\x18\x01 \x01(\x05\x12:\n\x03Ids\x18\x02 \x03(\x0b\x32-.CMsgClientAMGetPersonaNameHistory.IdInstance\x1a\x1d\n\nIdInstance\x12\x0f\n\x07steamid\x18\x01 \x01(\x06\"\xc3\x02\n)CMsgClientAMGetPersonaNameHistoryResponse\x12O\n\tresponses\x18\x02 \x03(\x0b\x32<.CMsgClientAMGetPersonaNameHistoryResponse.NameTableInstance\x1a\xc4\x01\n\x11NameTableInstance\x12\x12\n\x07\x65result\x18\x01 \x01(\x05:\x01\x32\x12\x0f\n\x07steamid\x18\x02 \x01(\x06\x12X\n\x05names\x18\x03 \x03(\x0b\x32I.CMsgClientAMGetPersonaNameHistoryResponse.NameTableInstance.NameInstance\x1a\x30\n\x0cNameInstance\x12\x12\n\nname_since\x18\x01 \x01(\x07\x12\x0c\n\x04name\x18\x02 \x01(\t\"E\n\x1e\x43MsgClientDeregisterWithServer\x12\x13\n\x0b\x65servertype\x18\x01 \x01(\r\x12\x0e\n\x06\x61pp_id\x18\x02 \x01(\r\"\xab\x04\n\x13\x43MsgClientClanState\x12\x14\n\x0csteamid_clan\x18\x01 \x01(\x06\x12\x1a\n\x12\x63lan_account_flags\x18\x03 \x01(\r\x12\x30\n\tname_info\x18\x04 \x01(\x0b\x32\x1d.CMsgClientClanState.NameInfo\x12\x34\n\x0buser_counts\x18\x05 \x01(\x0b\x32\x1f.CMsgClientClanState.UserCounts\x12*\n\x06\x65vents\x18\x06 \x03(\x0b\x32\x1a.CMsgClientClanState.Event\x12\x31\n\rannouncements\x18\x07 \x03(\x0b\x32\x1a.CMsgClientClanState.Event\x12\x19\n\x11\x63hat_room_private\x18\x08 \x01(\x08\x1a\x31\n\x08NameInfo\x12\x11\n\tclan_name\x18\x01 \x01(\t\x12\x12\n\nsha_avatar\x18\x02 \x01(\x0c\x1ak\n\nUserCounts\x12\x0f\n\x07members\x18\x01 \x01(\r\x12\x0e\n\x06online\x18\x02 \x01(\r\x12\x10\n\x08\x63hatting\x18\x03 \x01(\r\x12\x0f\n\x07in_game\x18\x04 \x01(\r\x12\x19\n\x11\x63hat_room_members\x18\x05 \x01(\r\x1a`\n\x05\x45vent\x12\x0b\n\x03gid\x18\x01 \x01(\x06\x12\x12\n\nevent_time\x18\x02 \x01(\r\x12\x10\n\x08headline\x18\x03 \x01(\t\x12\x0f\n\x07game_id\x18\x04 \x01(\x06\x12\x13\n\x0bjust_posted\x18\x05 \x01(\x08\x42\x05H\x01\x90\x01\x00') + serialized_pb=_b('\n steammessages_clientserver.proto\x1a\x18steammessages_base.proto\x1a\x1a\x65ncrypted_app_ticket.proto\"G\n\x1e\x43MsgClientUDSP2PSessionStarted\x12\x16\n\x0esteamid_remote\x18\x01 \x01(\x06\x12\r\n\x05\x61ppid\x18\x02 \x01(\x05\"\x81\x02\n\x1c\x43MsgClientUDSP2PSessionEnded\x12\x16\n\x0esteamid_remote\x18\x01 \x01(\x06\x12\r\n\x05\x61ppid\x18\x02 \x01(\x05\x12\x1a\n\x12session_length_sec\x18\x03 \x01(\x05\x12\x15\n\rsession_error\x18\x04 \x01(\x05\x12\x0f\n\x07nattype\x18\x05 \x01(\x05\x12\x12\n\nbytes_recv\x18\x06 \x01(\x05\x12\x12\n\nbytes_sent\x18\x07 \x01(\x05\x12\x18\n\x10\x62ytes_sent_relay\x18\x08 \x01(\x05\x12\x18\n\x10\x62ytes_recv_relay\x18\t \x01(\x05\x12\x1a\n\x12time_to_connect_ms\x18\n \x01(\x05\"j\n\"CMsgClientRegisterAuthTicketWithCM\x12\x18\n\x10protocol_version\x18\x01 \x01(\r\x12\x0e\n\x06ticket\x18\x03 \x01(\x0c\x12\x1a\n\x12\x63lient_instance_id\x18\x04 \x01(\x04\"\xd1\x01\n\x1c\x43MsgClientTicketAuthComplete\x12\x10\n\x08steam_id\x18\x01 \x01(\x06\x12\x0f\n\x07game_id\x18\x02 \x01(\x06\x12\x0e\n\x06\x65state\x18\x03 \x01(\r\x12\x1e\n\x16\x65\x61uth_session_response\x18\x04 \x01(\r\x12\x19\n\x11\x44\x45PRECATED_ticket\x18\x05 \x01(\x0c\x12\x12\n\nticket_crc\x18\x06 \x01(\r\x12\x17\n\x0fticket_sequence\x18\x07 \x01(\r\x12\x16\n\x0eowner_steam_id\x18\x08 \x01(\x06\"\x80\x01\n\x10\x43MsgClientCMList\x12\x14\n\x0c\x63m_addresses\x18\x01 \x03(\r\x12\x10\n\x08\x63m_ports\x18\x02 \x03(\r\x12\x1e\n\x16\x63m_websocket_addresses\x18\x03 \x03(\t\x12$\n\x1cpercent_default_to_websocket\x18\x04 \x01(\r\"\x9c\x01\n\x1b\x43MsgClientP2PConnectionInfo\x12\x15\n\rsteam_id_dest\x18\x01 \x01(\x06\x12\x14\n\x0csteam_id_src\x18\x02 \x01(\x06\x12\x0e\n\x06\x61pp_id\x18\x03 \x01(\r\x12\x11\n\tcandidate\x18\x04 \x01(\x0c\x12\x19\n\x11\x63onnection_id_src\x18\x05 \x01(\x06\x12\x12\n\nrendezvous\x18\x06 \x01(\x0c\"\xc3\x01\n\x1f\x43MsgClientP2PConnectionFailInfo\x12\x15\n\rsteam_id_dest\x18\x01 \x01(\x06\x12\x14\n\x0csteam_id_src\x18\x02 \x01(\x06\x12\x0e\n\x06\x61pp_id\x18\x03 \x01(\r\x12\x1a\n\x12\x65p2p_session_error\x18\x04 \x01(\r\x12\x1a\n\x12\x63onnection_id_dest\x18\x05 \x01(\x06\x12\x14\n\x0c\x63lose_reason\x18\x07 \x01(\r\x12\x15\n\rclose_message\x18\x08 \x01(\t\"C\n\x1f\x43MsgClientNetworkingCertRequest\x12\x10\n\x08key_data\x18\x02 \x01(\x0c\x12\x0e\n\x06\x61pp_id\x18\x03 \x01(\r\"V\n\x1d\x43MsgClientNetworkingCertReply\x12\x0c\n\x04\x63\x65rt\x18\x04 \x01(\x0c\x12\x11\n\tca_key_id\x18\x05 \x01(\x06\x12\x14\n\x0c\x63\x61_signature\x18\x06 \x01(\x0c\"1\n\x1f\x43MsgClientGetAppOwnershipTicket\x12\x0e\n\x06\x61pp_id\x18\x01 \x01(\r\"]\n\'CMsgClientGetAppOwnershipTicketResponse\x12\x12\n\x07\x65result\x18\x01 \x01(\r:\x01\x32\x12\x0e\n\x06\x61pp_id\x18\x02 \x01(\r\x12\x0e\n\x06ticket\x18\x03 \x01(\x0c\"\'\n\x16\x43MsgClientSessionToken\x12\r\n\x05token\x18\x01 \x01(\x04\"M\n\x1b\x43MsgClientGameConnectTokens\x12\x1e\n\x12max_tokens_to_keep\x18\x01 \x01(\r:\x02\x31\x30\x12\x0e\n\x06tokens\x18\x02 \x03(\x0c\"\xa5\x01\n\x10\x43MsgGSServerType\x12\x15\n\rapp_id_served\x18\x01 \x01(\r\x12\r\n\x05\x66lags\x18\x02 \x01(\r\x12\x17\n\x0fgame_ip_address\x18\x03 \x01(\r\x12\x11\n\tgame_port\x18\x04 \x01(\r\x12\x10\n\x08game_dir\x18\x05 \x01(\t\x12\x14\n\x0cgame_version\x18\x06 \x01(\t\x12\x17\n\x0fgame_query_port\x18\x07 \x01(\r\"&\n\x11\x43MsgGSStatusReply\x12\x11\n\tis_secure\x18\x01 \x01(\x08\"{\n\x10\x43MsgGSPlayerList\x12)\n\x07players\x18\x01 \x03(\x0b\x32\x18.CMsgGSPlayerList.Player\x1a<\n\x06Player\x12\x10\n\x08steam_id\x18\x01 \x01(\x04\x12\x11\n\tpublic_ip\x18\x02 \x01(\r\x12\r\n\x05token\x18\x03 \x01(\x0c\"G\n\x11\x43MsgGSUserPlaying\x12\x10\n\x08steam_id\x18\x01 \x01(\x06\x12\x11\n\tpublic_ip\x18\x02 \x01(\r\x12\r\n\x05token\x18\x03 \x01(\x0c\"*\n\x16\x43MsgGSDisconnectNotice\x12\x10\n\x08steam_id\x18\x01 \x01(\x06\"\xa7\x05\n\x15\x43MsgClientGamesPlayed\x12\x37\n\x0cgames_played\x18\x01 \x03(\x0b\x32!.CMsgClientGamesPlayed.GamePlayed\x12\x16\n\x0e\x63lient_os_type\x18\x02 \x01(\r\x1a\xbc\x04\n\nGamePlayed\x12\x13\n\x0bsteam_id_gs\x18\x01 \x01(\x04\x12\x0f\n\x07game_id\x18\x02 \x01(\x06\x12\x17\n\x0fgame_ip_address\x18\x03 \x01(\r\x12\x11\n\tgame_port\x18\x04 \x01(\r\x12\x11\n\tis_secure\x18\x05 \x01(\x08\x12\r\n\x05token\x18\x06 \x01(\x0c\x12\x17\n\x0fgame_extra_info\x18\x07 \x01(\t\x12\x16\n\x0egame_data_blob\x18\x08 \x01(\x0c\x12\x12\n\nprocess_id\x18\t \x01(\r\x12\x1d\n\x15streaming_provider_id\x18\n \x01(\r\x12\x12\n\ngame_flags\x18\x0b \x01(\r\x12\x10\n\x08owner_id\x18\x0c \x01(\r\x12\x15\n\rvr_hmd_vendor\x18\r \x01(\t\x12\x14\n\x0cvr_hmd_model\x18\x0e \x01(\t\x12\x1d\n\x12launch_option_type\x18\x0f \x01(\r:\x01\x30\x12#\n\x17primary_controller_type\x18\x10 \x01(\x05:\x02-1\x12\'\n\x1fprimary_steam_controller_serial\x18\x11 \x01(\t\x12\'\n\x1ctotal_steam_controller_count\x18\x12 \x01(\r:\x01\x30\x12+\n total_non_steam_controller_count\x18\x13 \x01(\r:\x01\x30\x12&\n\x1b\x63ontroller_workshop_file_id\x18\x14 \x01(\x04:\x01\x30\x12\x18\n\rlaunch_source\x18\x15 \x01(\r:\x01\x30\"9\n\rCMsgGSApprove\x12\x10\n\x08steam_id\x18\x01 \x01(\x06\x12\x16\n\x0eowner_steam_id\x18\x02 \x01(\x06\"I\n\nCMsgGSDeny\x12\x10\n\x08steam_id\x18\x01 \x01(\x06\x12\x14\n\x0c\x65\x64\x65ny_reason\x18\x02 \x01(\x05\x12\x13\n\x0b\x64\x65ny_string\x18\x03 \x01(\t\"4\n\nCMsgGSKick\x12\x10\n\x08steam_id\x18\x01 \x01(\x06\x12\x14\n\x0c\x65\x64\x65ny_reason\x18\x02 \x01(\x05\"\xb6\x01\n\x12\x43MsgClientAuthList\x12\x13\n\x0btokens_left\x18\x01 \x01(\r\x12\x18\n\x10last_request_seq\x18\x02 \x01(\r\x12$\n\x1clast_request_seq_from_server\x18\x03 \x01(\r\x12 \n\x07tickets\x18\x04 \x03(\x0b\x32\x0f.CMsgAuthTicket\x12\x0f\n\x07\x61pp_ids\x18\x05 \x03(\r\x12\x18\n\x10message_sequence\x18\x06 \x01(\r\"V\n\x15\x43MsgClientAuthListAck\x12\x12\n\nticket_crc\x18\x01 \x03(\r\x12\x0f\n\x07\x61pp_ids\x18\x02 \x03(\r\x12\x18\n\x10message_sequence\x18\x03 \x01(\r\"\xdd\x03\n\x15\x43MsgClientLicenseList\x12\x12\n\x07\x65result\x18\x01 \x01(\x05:\x01\x32\x12\x30\n\x08licenses\x18\x02 \x03(\x0b\x32\x1e.CMsgClientLicenseList.License\x1a\xfd\x02\n\x07License\x12\x12\n\npackage_id\x18\x01 \x01(\r\x12\x14\n\x0ctime_created\x18\x02 \x01(\x07\x12\x19\n\x11time_next_process\x18\x03 \x01(\x07\x12\x14\n\x0cminute_limit\x18\x04 \x01(\x05\x12\x14\n\x0cminutes_used\x18\x05 \x01(\x05\x12\x16\n\x0epayment_method\x18\x06 \x01(\r\x12\r\n\x05\x66lags\x18\x07 \x01(\r\x12\x1d\n\x15purchase_country_code\x18\x08 \x01(\t\x12\x14\n\x0clicense_type\x18\t \x01(\r\x12\x16\n\x0eterritory_code\x18\n \x01(\x05\x12\x15\n\rchange_number\x18\x0b \x01(\x05\x12\x10\n\x08owner_id\x18\x0c \x01(\r\x12\x16\n\x0einitial_period\x18\r \x01(\r\x12\x19\n\x11initial_time_unit\x18\x0e \x01(\r\x12\x16\n\x0erenewal_period\x18\x0f \x01(\r\x12\x19\n\x11renewal_time_unit\x18\x10 \x01(\r\"|\n\x15\x43MsgClientLBSSetScore\x12\x0e\n\x06\x61pp_id\x18\x01 \x01(\r\x12\x16\n\x0eleaderboard_id\x18\x02 \x01(\x05\x12\r\n\x05score\x18\x03 \x01(\x05\x12\x0f\n\x07\x64\x65tails\x18\x04 \x01(\x0c\x12\x1b\n\x13upload_score_method\x18\x05 \x01(\x05\"\xa2\x01\n\x1d\x43MsgClientLBSSetScoreResponse\x12\x12\n\x07\x65result\x18\x01 \x01(\x05:\x01\x32\x12\x1f\n\x17leaderboard_entry_count\x18\x02 \x01(\x05\x12\x15\n\rscore_changed\x18\x03 \x01(\x08\x12\x1c\n\x14global_rank_previous\x18\x04 \x01(\x05\x12\x17\n\x0fglobal_rank_new\x18\x05 \x01(\x05\"M\n\x13\x43MsgClientLBSSetUGC\x12\x0e\n\x06\x61pp_id\x18\x01 \x01(\r\x12\x16\n\x0eleaderboard_id\x18\x02 \x01(\x05\x12\x0e\n\x06ugc_id\x18\x03 \x01(\x06\"1\n\x1b\x43MsgClientLBSSetUGCResponse\x12\x12\n\x07\x65result\x18\x01 \x01(\x05:\x01\x32\"\xa7\x01\n\x1b\x43MsgClientLBSFindOrCreateLB\x12\x0e\n\x06\x61pp_id\x18\x01 \x01(\r\x12\x1f\n\x17leaderboard_sort_method\x18\x02 \x01(\x05\x12 \n\x18leaderboard_display_type\x18\x03 \x01(\x05\x12\x1b\n\x13\x63reate_if_not_found\x18\x04 \x01(\x08\x12\x18\n\x10leaderboard_name\x18\x05 \x01(\t\"\xd5\x01\n#CMsgClientLBSFindOrCreateLBResponse\x12\x12\n\x07\x65result\x18\x01 \x01(\x05:\x01\x32\x12\x16\n\x0eleaderboard_id\x18\x02 \x01(\x05\x12\x1f\n\x17leaderboard_entry_count\x18\x03 \x01(\x05\x12\"\n\x17leaderboard_sort_method\x18\x04 \x01(\x05:\x01\x30\x12#\n\x18leaderboard_display_type\x18\x05 \x01(\x05:\x01\x30\x12\x18\n\x10leaderboard_name\x18\x06 \x01(\t\"\x9f\x01\n\x19\x43MsgClientLBSGetLBEntries\x12\x0e\n\x06\x61pp_id\x18\x01 \x01(\x05\x12\x16\n\x0eleaderboard_id\x18\x02 \x01(\x05\x12\x13\n\x0brange_start\x18\x03 \x01(\x05\x12\x11\n\trange_end\x18\x04 \x01(\x05\x12 \n\x18leaderboard_data_request\x18\x05 \x01(\x05\x12\x10\n\x08steamids\x18\x06 \x03(\x06\"\xf8\x01\n!CMsgClientLBSGetLBEntriesResponse\x12\x12\n\x07\x65result\x18\x01 \x01(\x05:\x01\x32\x12\x1f\n\x17leaderboard_entry_count\x18\x02 \x01(\x05\x12\x39\n\x07\x65ntries\x18\x03 \x03(\x0b\x32(.CMsgClientLBSGetLBEntriesResponse.Entry\x1a\x63\n\x05\x45ntry\x12\x15\n\rsteam_id_user\x18\x01 \x01(\x06\x12\x13\n\x0bglobal_rank\x18\x02 \x01(\x05\x12\r\n\x05score\x18\x03 \x01(\x05\x12\x0f\n\x07\x64\x65tails\x18\x04 \x01(\x0c\x12\x0e\n\x06ugc_id\x18\x05 \x01(\x06\"\xbf\x01\n\x1e\x43MsgClientAppMinutesPlayedData\x12L\n\x0eminutes_played\x18\x01 \x03(\x0b\x32\x34.CMsgClientAppMinutesPlayedData.AppMinutesPlayedData\x1aO\n\x14\x41ppMinutesPlayedData\x12\x0e\n\x06\x61pp_id\x18\x01 \x01(\r\x12\x0f\n\x07\x66orever\x18\x02 \x01(\x05\x12\x16\n\x0elast_two_weeks\x18\x03 \x01(\x05\"\xaa\x01\n\x1a\x43MsgClientIsLimitedAccount\x12\x1b\n\x13\x62is_limited_account\x18\x01 \x01(\x08\x12\x1c\n\x14\x62is_community_banned\x18\x02 \x01(\x08\x12\x1a\n\x12\x62is_locked_account\x18\x03 \x01(\x08\x12\x35\n-bis_limited_account_allowed_to_invite_friends\x18\x04 \x01(\x08\"\x8c\x01\n\x14\x43MsgClientServerList\x12-\n\x07servers\x18\x01 \x03(\x0b\x32\x1c.CMsgClientServerList.Server\x1a\x45\n\x06Server\x12\x13\n\x0bserver_type\x18\x01 \x01(\r\x12\x11\n\tserver_ip\x18\x02 \x01(\r\x12\x13\n\x0bserver_port\x18\x03 \x01(\r\"\xa7\x01\n\x1e\x43MsgClientRequestedClientStats\x12\x42\n\rstats_to_send\x18\x01 \x03(\x0b\x32+.CMsgClientRequestedClientStats.StatsToSend\x1a\x41\n\x0bStatsToSend\x12\x13\n\x0b\x63lient_stat\x18\x01 \x01(\r\x12\x1d\n\x15stat_aggregate_method\x18\x02 \x01(\r\"\xc0\x01\n\x0f\x43MsgClientStat2\x12\x30\n\x0bstat_detail\x18\x01 \x03(\x0b\x32\x1b.CMsgClientStat2.StatDetail\x1a{\n\nStatDetail\x12\x13\n\x0b\x63lient_stat\x18\x01 \x01(\r\x12\x10\n\x08ll_value\x18\x02 \x01(\x03\x12\x13\n\x0btime_of_day\x18\x03 \x01(\r\x12\x0f\n\x07\x63\x65ll_id\x18\x04 \x01(\r\x12\x10\n\x08\x64\x65pot_id\x18\x05 \x01(\r\x12\x0e\n\x06\x61pp_id\x18\x06 \x01(\r\"\xba\x01\n\x18\x43MsgClientMMSCreateLobby\x12\x0e\n\x06\x61pp_id\x18\x01 \x01(\r\x12\x13\n\x0bmax_members\x18\x02 \x01(\x05\x12\x12\n\nlobby_type\x18\x03 \x01(\x05\x12\x13\n\x0blobby_flags\x18\x04 \x01(\x05\x12\x0f\n\x07\x63\x65ll_id\x18\x05 \x01(\r\x12\x11\n\tpublic_ip\x18\x06 \x01(\r\x12\x10\n\x08metadata\x18\x07 \x01(\x0c\x12\x1a\n\x12persona_name_owner\x18\x08 \x01(\t\"^\n CMsgClientMMSCreateLobbyResponse\x12\x0e\n\x06\x61pp_id\x18\x01 \x01(\r\x12\x16\n\x0esteam_id_lobby\x18\x02 \x01(\x06\x12\x12\n\x07\x65result\x18\x03 \x01(\x05:\x01\x32\"V\n\x16\x43MsgClientMMSJoinLobby\x12\x0e\n\x06\x61pp_id\x18\x01 \x01(\r\x12\x16\n\x0esteam_id_lobby\x18\x02 \x01(\x06\x12\x14\n\x0cpersona_name\x18\x03 \x01(\t\"\xcf\x02\n\x1e\x43MsgClientMMSJoinLobbyResponse\x12\x0e\n\x06\x61pp_id\x18\x01 \x01(\r\x12\x16\n\x0esteam_id_lobby\x18\x02 \x01(\x06\x12 \n\x18\x63hat_room_enter_response\x18\x03 \x01(\x05\x12\x13\n\x0bmax_members\x18\x04 \x01(\x05\x12\x12\n\nlobby_type\x18\x05 \x01(\x05\x12\x13\n\x0blobby_flags\x18\x06 \x01(\x05\x12\x16\n\x0esteam_id_owner\x18\x07 \x01(\x06\x12\x10\n\x08metadata\x18\x08 \x01(\x0c\x12\x37\n\x07members\x18\t \x03(\x0b\x32&.CMsgClientMMSJoinLobbyResponse.Member\x1a\x42\n\x06Member\x12\x10\n\x08steam_id\x18\x01 \x01(\x06\x12\x14\n\x0cpersona_name\x18\x02 \x01(\t\x12\x10\n\x08metadata\x18\x03 \x01(\x0c\"A\n\x17\x43MsgClientMMSLeaveLobby\x12\x0e\n\x06\x61pp_id\x18\x01 \x01(\r\x12\x16\n\x0esteam_id_lobby\x18\x02 \x01(\x06\"]\n\x1f\x43MsgClientMMSLeaveLobbyResponse\x12\x0e\n\x06\x61pp_id\x18\x01 \x01(\r\x12\x16\n\x0esteam_id_lobby\x18\x02 \x01(\x06\x12\x12\n\x07\x65result\x18\x03 \x01(\x05:\x01\x32\"\xf2\x01\n\x19\x43MsgClientMMSGetLobbyList\x12\x0e\n\x06\x61pp_id\x18\x01 \x01(\r\x12\x1d\n\x15num_lobbies_requested\x18\x03 \x01(\x05\x12\x0f\n\x07\x63\x65ll_id\x18\x04 \x01(\r\x12\x11\n\tpublic_ip\x18\x05 \x01(\r\x12\x32\n\x07\x66ilters\x18\x06 \x03(\x0b\x32!.CMsgClientMMSGetLobbyList.Filter\x1aN\n\x06\x46ilter\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t\x12\x13\n\x0b\x63omparision\x18\x03 \x01(\x05\x12\x13\n\x0b\x66ilter_type\x18\x04 \x01(\x05\"\xa5\x02\n!CMsgClientMMSGetLobbyListResponse\x12\x0e\n\x06\x61pp_id\x18\x01 \x01(\r\x12\x12\n\x07\x65result\x18\x03 \x01(\x05:\x01\x32\x12\x39\n\x07lobbies\x18\x04 \x03(\x0b\x32(.CMsgClientMMSGetLobbyListResponse.Lobby\x1a\xa0\x01\n\x05Lobby\x12\x10\n\x08steam_id\x18\x01 \x01(\x06\x12\x13\n\x0bmax_members\x18\x02 \x01(\x05\x12\x12\n\nlobby_type\x18\x03 \x01(\x05\x12\x13\n\x0blobby_flags\x18\x04 \x01(\x05\x12\x10\n\x08metadata\x18\x05 \x01(\x0c\x12\x13\n\x0bnum_members\x18\x06 \x01(\x05\x12\x10\n\x08\x64istance\x18\x07 \x01(\x02\x12\x0e\n\x06weight\x18\x08 \x01(\x03\"\xac\x01\n\x19\x43MsgClientMMSSetLobbyData\x12\x0e\n\x06\x61pp_id\x18\x01 \x01(\r\x12\x16\n\x0esteam_id_lobby\x18\x02 \x01(\x06\x12\x17\n\x0fsteam_id_member\x18\x03 \x01(\x06\x12\x13\n\x0bmax_members\x18\x04 \x01(\x05\x12\x12\n\nlobby_type\x18\x05 \x01(\x05\x12\x13\n\x0blobby_flags\x18\x06 \x01(\x05\x12\x10\n\x08metadata\x18\x07 \x01(\x0c\"_\n!CMsgClientMMSSetLobbyDataResponse\x12\x0e\n\x06\x61pp_id\x18\x01 \x01(\r\x12\x16\n\x0esteam_id_lobby\x18\x02 \x01(\x06\x12\x12\n\x07\x65result\x18\x03 \x01(\x05:\x01\x32\"C\n\x19\x43MsgClientMMSGetLobbyData\x12\x0e\n\x06\x61pp_id\x18\x01 \x01(\r\x12\x16\n\x0esteam_id_lobby\x18\x02 \x01(\x06\"\xc8\x02\n\x16\x43MsgClientMMSLobbyData\x12\x0e\n\x06\x61pp_id\x18\x01 \x01(\r\x12\x16\n\x0esteam_id_lobby\x18\x02 \x01(\x06\x12\x13\n\x0bnum_members\x18\x03 \x01(\x05\x12\x13\n\x0bmax_members\x18\x04 \x01(\x05\x12\x12\n\nlobby_type\x18\x05 \x01(\x05\x12\x13\n\x0blobby_flags\x18\x06 \x01(\x05\x12\x16\n\x0esteam_id_owner\x18\x07 \x01(\x06\x12\x10\n\x08metadata\x18\x08 \x01(\x0c\x12/\n\x07members\x18\t \x03(\x0b\x32\x1e.CMsgClientMMSLobbyData.Member\x12\x14\n\x0clobby_cellid\x18\n \x01(\r\x1a\x42\n\x06Member\x12\x10\n\x08steam_id\x18\x01 \x01(\x06\x12\x14\n\x0cpersona_name\x18\x02 \x01(\t\x12\x10\n\x08metadata\x18\x03 \x01(\x0c\"w\n\x1d\x43MsgClientMMSSendLobbyChatMsg\x12\x0e\n\x06\x61pp_id\x18\x01 \x01(\r\x12\x16\n\x0esteam_id_lobby\x18\x02 \x01(\x06\x12\x17\n\x0fsteam_id_target\x18\x03 \x01(\x06\x12\x15\n\rlobby_message\x18\x04 \x01(\x0c\"s\n\x19\x43MsgClientMMSLobbyChatMsg\x12\x0e\n\x06\x61pp_id\x18\x01 \x01(\r\x12\x16\n\x0esteam_id_lobby\x18\x02 \x01(\x06\x12\x17\n\x0fsteam_id_sender\x18\x03 \x01(\x06\x12\x15\n\rlobby_message\x18\x04 \x01(\x0c\"`\n\x1a\x43MsgClientMMSSetLobbyOwner\x12\x0e\n\x06\x61pp_id\x18\x01 \x01(\r\x12\x16\n\x0esteam_id_lobby\x18\x02 \x01(\x06\x12\x1a\n\x12steam_id_new_owner\x18\x03 \x01(\x06\"`\n\"CMsgClientMMSSetLobbyOwnerResponse\x12\x0e\n\x06\x61pp_id\x18\x01 \x01(\r\x12\x16\n\x0esteam_id_lobby\x18\x02 \x01(\x06\x12\x12\n\x07\x65result\x18\x03 \x01(\x05:\x01\x32\"^\n\x1b\x43MsgClientMMSSetLobbyLinked\x12\x0e\n\x06\x61pp_id\x18\x01 \x01(\r\x12\x16\n\x0esteam_id_lobby\x18\x02 \x01(\x06\x12\x17\n\x0fsteam_id_lobby2\x18\x03 \x01(\x06\"\x99\x01\n\x1f\x43MsgClientMMSSetLobbyGameServer\x12\x0e\n\x06\x61pp_id\x18\x01 \x01(\r\x12\x16\n\x0esteam_id_lobby\x18\x02 \x01(\x06\x12\x16\n\x0egame_server_ip\x18\x03 \x01(\r\x12\x18\n\x10game_server_port\x18\x04 \x01(\r\x12\x1c\n\x14game_server_steam_id\x18\x05 \x01(\x06\"\x99\x01\n\x1f\x43MsgClientMMSLobbyGameServerSet\x12\x0e\n\x06\x61pp_id\x18\x01 \x01(\r\x12\x16\n\x0esteam_id_lobby\x18\x02 \x01(\x06\x12\x16\n\x0egame_server_ip\x18\x03 \x01(\r\x12\x18\n\x10game_server_port\x18\x04 \x01(\r\x12\x1c\n\x14game_server_steam_id\x18\x05 \x01(\x06\"s\n\x1c\x43MsgClientMMSUserJoinedLobby\x12\x0e\n\x06\x61pp_id\x18\x01 \x01(\r\x12\x16\n\x0esteam_id_lobby\x18\x02 \x01(\x06\x12\x15\n\rsteam_id_user\x18\x03 \x01(\x06\x12\x14\n\x0cpersona_name\x18\x04 \x01(\t\"q\n\x1a\x43MsgClientMMSUserLeftLobby\x12\x0e\n\x06\x61pp_id\x18\x01 \x01(\r\x12\x16\n\x0esteam_id_lobby\x18\x02 \x01(\x06\x12\x15\n\rsteam_id_user\x18\x03 \x01(\x06\x12\x14\n\x0cpersona_name\x18\x04 \x01(\t\"c\n\x1a\x43MsgClientMMSInviteToLobby\x12\x0e\n\x06\x61pp_id\x18\x01 \x01(\r\x12\x16\n\x0esteam_id_lobby\x18\x02 \x01(\x06\x12\x1d\n\x15steam_id_user_invited\x18\x03 \x01(\x06\"]\n\x16\x43MsgClientInviteToGame\x12\x15\n\rsteam_id_dest\x18\x01 \x01(\x06\x12\x14\n\x0csteam_id_src\x18\x02 \x01(\x06\x12\x16\n\x0e\x63onnect_string\x18\x03 \x01(\t\"\xb9\x01\n\x14\x43MsgClientChatInvite\x12\x18\n\x10steam_id_invited\x18\x01 \x01(\x06\x12\x15\n\rsteam_id_chat\x18\x02 \x01(\x06\x12\x17\n\x0fsteam_id_patron\x18\x03 \x01(\x06\x12\x15\n\rchatroom_type\x18\x04 \x01(\x05\x12\x1c\n\x14steam_id_friend_chat\x18\x05 \x01(\x06\x12\x11\n\tchat_name\x18\x06 \x01(\t\x12\x0f\n\x07game_id\x18\x07 \x01(\x06\"\x8a\x08\n\x19\x43MsgClientConnectionStats\x12;\n\x0bstats_logon\x18\x01 \x01(\x0b\x32&.CMsgClientConnectionStats.Stats_Logon\x12;\n\x0bstats_vconn\x18\x02 \x01(\x0b\x32&.CMsgClientConnectionStats.Stats_VConn\x1a\xc7\x01\n\x0bStats_Logon\x12\x18\n\x10\x63onnect_attempts\x18\x01 \x01(\x05\x12\x19\n\x11\x63onnect_successes\x18\x02 \x01(\x05\x12\x18\n\x10\x63onnect_failures\x18\x03 \x01(\x05\x12\x1b\n\x13\x63onnections_dropped\x18\x04 \x01(\x05\x12\x17\n\x0fseconds_running\x18\x05 \x01(\r\x12\x1c\n\x14msec_tologonthistime\x18\x06 \x01(\r\x12\x15\n\rcount_bad_cms\x18\x07 \x01(\r\x1aq\n\tStats_UDP\x12\x11\n\tpkts_sent\x18\x01 \x01(\x04\x12\x12\n\nbytes_sent\x18\x02 \x01(\x04\x12\x11\n\tpkts_recv\x18\x03 \x01(\x04\x12\x16\n\x0epkts_processed\x18\x04 \x01(\x04\x12\x12\n\nbytes_recv\x18\x05 \x01(\x04\x1a\xb5\x04\n\x0bStats_VConn\x12\x17\n\x0f\x63onnections_udp\x18\x01 \x01(\r\x12\x17\n\x0f\x63onnections_tcp\x18\x02 \x01(\r\x12\x37\n\tstats_udp\x18\x03 \x01(\x0b\x32$.CMsgClientConnectionStats.Stats_UDP\x12\x16\n\x0epkts_abandoned\x18\x04 \x01(\x04\x12\x19\n\x11\x63onn_req_received\x18\x05 \x01(\x04\x12\x13\n\x0bpkts_resent\x18\x06 \x01(\x04\x12\x11\n\tmsgs_sent\x18\x07 \x01(\x04\x12\x18\n\x10msgs_sent_failed\x18\x08 \x01(\x04\x12\x11\n\tmsgs_recv\x18\t \x01(\x04\x12\x16\n\x0e\x64\x61tagrams_sent\x18\n \x01(\x04\x12\x16\n\x0e\x64\x61tagrams_recv\x18\x0b \x01(\x04\x12\x15\n\rbad_pkts_recv\x18\x0c \x01(\x04\x12\x1e\n\x16unknown_conn_pkts_recv\x18\r \x01(\x04\x12\x18\n\x10missed_pkts_recv\x18\x0e \x01(\x04\x12\x15\n\rdup_pkts_recv\x18\x0f \x01(\x04\x12!\n\x19\x66\x61iled_connect_challenges\x18\x10 \x01(\x04\x12\x1d\n\x15micro_sec_avg_latency\x18\x11 \x01(\r\x12\x1d\n\x15micro_sec_min_latency\x18\x12 \x01(\r\x12\x1d\n\x15micro_sec_max_latency\x18\x13 \x01(\r\x12\x1b\n\x13mem_pool_msg_in_use\x18\x14 \x01(\r\"\xd2\x01\n\x1a\x43MsgClientServersAvailable\x12R\n\x16server_types_available\x18\x01 \x03(\x0b\x32\x32.CMsgClientServersAvailable.Server_Types_Available\x12%\n\x1dserver_type_for_auth_services\x18\x02 \x01(\r\x1a\x39\n\x16Server_Types_Available\x12\x0e\n\x06server\x18\x01 \x01(\r\x12\x0f\n\x07\x63hanged\x18\x02 \x01(\x08\"u\n\x16\x43MsgClientGetUserStats\x12\x0f\n\x07game_id\x18\x01 \x01(\x06\x12\x11\n\tcrc_stats\x18\x02 \x01(\r\x12\x1c\n\x14schema_local_version\x18\x03 \x01(\x05\x12\x19\n\x11steam_id_for_user\x18\x04 \x01(\x06\"\xdf\x02\n\x1e\x43MsgClientGetUserStatsResponse\x12\x0f\n\x07game_id\x18\x01 \x01(\x06\x12\x12\n\x07\x65result\x18\x02 \x01(\x05:\x01\x32\x12\x11\n\tcrc_stats\x18\x03 \x01(\r\x12\x0e\n\x06schema\x18\x04 \x01(\x0c\x12\x34\n\x05stats\x18\x05 \x03(\x0b\x32%.CMsgClientGetUserStatsResponse.Stats\x12N\n\x12\x61\x63hievement_blocks\x18\x06 \x03(\x0b\x32\x32.CMsgClientGetUserStatsResponse.Achievement_Blocks\x1a,\n\x05Stats\x12\x0f\n\x07stat_id\x18\x01 \x01(\r\x12\x12\n\nstat_value\x18\x02 \x01(\r\x1a\x41\n\x12\x41\x63hievement_Blocks\x12\x16\n\x0e\x61\x63hievement_id\x18\x01 \x01(\r\x12\x13\n\x0bunlock_time\x18\x02 \x03(\x07\"\x9a\x02\n CMsgClientStoreUserStatsResponse\x12\x0f\n\x07game_id\x18\x01 \x01(\x06\x12\x12\n\x07\x65result\x18\x02 \x01(\x05:\x01\x32\x12\x11\n\tcrc_stats\x18\x03 \x01(\r\x12Z\n\x17stats_failed_validation\x18\x04 \x03(\x0b\x32\x39.CMsgClientStoreUserStatsResponse.Stats_Failed_Validation\x12\x19\n\x11stats_out_of_date\x18\x05 \x01(\x08\x1aG\n\x17Stats_Failed_Validation\x12\x0f\n\x07stat_id\x18\x01 \x01(\r\x12\x1b\n\x13reverted_stat_value\x18\x02 \x01(\r\"\xe8\x01\n\x19\x43MsgClientStoreUserStats2\x12\x0f\n\x07game_id\x18\x01 \x01(\x06\x12\x17\n\x0fsettor_steam_id\x18\x02 \x01(\x06\x12\x17\n\x0fsettee_steam_id\x18\x03 \x01(\x06\x12\x11\n\tcrc_stats\x18\x04 \x01(\r\x12\x16\n\x0e\x65xplicit_reset\x18\x05 \x01(\x08\x12/\n\x05stats\x18\x06 \x03(\x0b\x32 .CMsgClientStoreUserStats2.Stats\x1a,\n\x05Stats\x12\x0f\n\x07stat_id\x18\x01 \x01(\r\x12\x12\n\nstat_value\x18\x02 \x01(\r\"\xc2\x01\n\x16\x43MsgClientStatsUpdated\x12\x10\n\x08steam_id\x18\x01 \x01(\x06\x12\x0f\n\x07game_id\x18\x02 \x01(\x06\x12\x11\n\tcrc_stats\x18\x03 \x01(\r\x12<\n\rupdated_stats\x18\x04 \x03(\x0b\x32%.CMsgClientStatsUpdated.Updated_Stats\x1a\x34\n\rUpdated_Stats\x12\x0f\n\x07stat_id\x18\x01 \x01(\r\x12\x12\n\nstat_value\x18\x02 \x01(\r\"\xbc\x01\n\x18\x43MsgClientStoreUserStats\x12\x0f\n\x07game_id\x18\x01 \x01(\x06\x12\x16\n\x0e\x65xplicit_reset\x18\x02 \x01(\x08\x12@\n\x0estats_to_store\x18\x03 \x03(\x0b\x32(.CMsgClientStoreUserStats.Stats_To_Store\x1a\x35\n\x0eStats_To_Store\x12\x0f\n\x07stat_id\x18\x01 \x01(\r\x12\x12\n\nstat_value\x18\x02 \x01(\r\"\x1c\n\x1a\x43MsgClientGetClientDetails\"?\n$CMsgClientReportOverlayDetourFailure\x12\x17\n\x0f\x66\x61ilure_strings\x18\x01 \x03(\t\"\xbf\x02\n\"CMsgClientGetClientDetailsResponse\x12\x17\n\x0fpackage_version\x18\x01 \x01(\r\x12\x18\n\x10protocol_version\x18\x08 \x01(\r\x12\n\n\x02os\x18\x02 \x01(\t\x12\x14\n\x0cmachine_name\x18\x03 \x01(\t\x12\x11\n\tip_public\x18\x04 \x01(\t\x12\x12\n\nip_private\x18\x05 \x01(\t\x12\x17\n\x0f\x62ytes_available\x18\x07 \x01(\x04\x12?\n\rgames_running\x18\x06 \x03(\x0b\x32(.CMsgClientGetClientDetailsResponse.Game\x1a\x43\n\x04Game\x12\r\n\x05\x61ppid\x18\x01 \x01(\r\x12\x12\n\nextra_info\x18\x02 \x01(\t\x12\x18\n\x10time_running_sec\x18\x03 \x01(\r\"\x88\x01\n\x1a\x43MsgClientGetClientAppList\x12\r\n\x05media\x18\x01 \x01(\x08\x12\r\n\x05tools\x18\x02 \x01(\x08\x12\r\n\x05games\x18\x03 \x01(\x08\x12\x16\n\x0eonly_installed\x18\x04 \x01(\x08\x12\x15\n\ronly_changing\x18\x05 \x01(\x08\x12\x0e\n\x06\x63omics\x18\x06 \x01(\x08\"\x91\x04\n\"CMsgClientGetClientAppListResponse\x12\x35\n\x04\x61pps\x18\x01 \x03(\x0b\x32\'.CMsgClientGetClientAppListResponse.App\x12\x17\n\x0f\x62ytes_available\x18\x02 \x01(\x04\x1a\x9a\x03\n\x03\x41pp\x12\r\n\x05\x61ppid\x18\x01 \x01(\r\x12\x10\n\x08\x63\x61tegory\x18\x02 \x01(\t\x12\x10\n\x08\x61pp_type\x18\n \x01(\t\x12\x10\n\x08\x66\x61vorite\x18\x03 \x01(\x08\x12\x11\n\tinstalled\x18\x04 \x01(\x08\x12\x13\n\x0b\x61uto_update\x18\x05 \x01(\x08\x12\x18\n\x10\x62ytes_downloaded\x18\x06 \x01(\x04\x12\x14\n\x0c\x62ytes_needed\x18\x07 \x01(\x04\x12\x1b\n\x13\x62ytes_download_rate\x18\x08 \x01(\r\x12\x17\n\x0f\x64ownload_paused\x18\x0b \x01(\x08\x12\x17\n\x0fnum_downloading\x18\x0c \x01(\r\x12\x12\n\nnum_paused\x18\r \x01(\r\x12\x10\n\x08\x63hanging\x18\x0e \x01(\x08\x12\x1d\n\x15\x61vailable_on_platform\x18\x0f \x01(\x08\x12\x39\n\x04\x64lcs\x18\t \x03(\x0b\x32+.CMsgClientGetClientAppListResponse.App.DLC\x1a\'\n\x03\x44LC\x12\r\n\x05\x61ppid\x18\x01 \x01(\r\x12\x11\n\tinstalled\x18\x02 \x01(\x08\"+\n\x1a\x43MsgClientInstallClientApp\x12\r\n\x05\x61ppid\x18\x01 \x01(\r\"4\n\"CMsgClientInstallClientAppResponse\x12\x0e\n\x06result\x18\x01 \x01(\r\"-\n\x1c\x43MsgClientUninstallClientApp\x12\r\n\x05\x61ppid\x18\x01 \x01(\r\"6\n$CMsgClientUninstallClientAppResponse\x12\x0e\n\x06result\x18\x01 \x01(\r\"B\n!CMsgClientSetClientAppUpdateState\x12\r\n\x05\x61ppid\x18\x01 \x01(\r\x12\x0e\n\x06update\x18\x02 \x01(\x08\";\n)CMsgClientSetClientAppUpdateStateResponse\x12\x0e\n\x06result\x18\x01 \x01(\r\"\x86\x02\n\x1e\x43MsgClientUFSUploadFileRequest\x12\x0e\n\x06\x61pp_id\x18\x01 \x01(\r\x12\x11\n\tfile_size\x18\x02 \x01(\r\x12\x15\n\rraw_file_size\x18\x03 \x01(\r\x12\x10\n\x08sha_file\x18\x04 \x01(\x0c\x12\x12\n\ntime_stamp\x18\x05 \x01(\x04\x12\x11\n\tfile_name\x18\x06 \x01(\t\x12$\n\x1cplatforms_to_sync_deprecated\x18\x07 \x01(\r\x12%\n\x11platforms_to_sync\x18\x08 \x01(\r:\n4294967295\x12\x0f\n\x07\x63\x65ll_id\x18\t \x01(\r\x12\x13\n\x0b\x63\x61n_encrypt\x18\n \x01(\x08\"\xbb\x01\n\x1f\x43MsgClientUFSUploadFileResponse\x12\x12\n\x07\x65result\x18\x01 \x01(\x05:\x01\x32\x12\x10\n\x08sha_file\x18\x02 \x01(\x0c\x12\x10\n\x08use_http\x18\x03 \x01(\x08\x12\x11\n\thttp_host\x18\x04 \x01(\t\x12\x10\n\x08http_url\x18\x05 \x01(\t\x12\x12\n\nkv_headers\x18\x06 \x01(\x0c\x12\x11\n\tuse_https\x18\x07 \x01(\x08\x12\x14\n\x0c\x65ncrypt_file\x18\x08 \x01(\x08\"\xae\x01\n\x19\x43MsgClientUFSUploadCommit\x12.\n\x05\x66iles\x18\x01 \x03(\x0b\x32\x1f.CMsgClientUFSUploadCommit.File\x1a\x61\n\x04\x46ile\x12\x12\n\x07\x65result\x18\x01 \x01(\x05:\x01\x32\x12\x0e\n\x06\x61pp_id\x18\x02 \x01(\r\x12\x10\n\x08sha_file\x18\x03 \x01(\x0c\x12\x10\n\x08\x63ub_file\x18\x04 \x01(\r\x12\x11\n\tfile_name\x18\x05 \x01(\t\"\x99\x01\n!CMsgClientUFSUploadCommitResponse\x12\x36\n\x05\x66iles\x18\x01 \x03(\x0b\x32\'.CMsgClientUFSUploadCommitResponse.File\x1a<\n\x04\x46ile\x12\x12\n\x07\x65result\x18\x01 \x01(\x05:\x01\x32\x12\x0e\n\x06\x61pp_id\x18\x02 \x01(\r\x12\x10\n\x08sha_file\x18\x03 \x01(\x0c\"L\n\x16\x43MsgClientUFSFileChunk\x12\x10\n\x08sha_file\x18\x01 \x01(\x0c\x12\x12\n\nfile_start\x18\x02 \x01(\r\x12\x0c\n\x04\x64\x61ta\x18\x03 \x01(\x0c\" \n\x1e\x43MsgClientUFSTransferHeartbeat\"G\n\x1f\x43MsgClientUFSUploadFileFinished\x12\x12\n\x07\x65result\x18\x01 \x01(\x05:\x01\x32\x12\x10\n\x08sha_file\x18\x02 \x01(\x0c\"_\n\x1e\x43MsgClientUFSDeleteFileRequest\x12\x0e\n\x06\x61pp_id\x18\x01 \x01(\r\x12\x11\n\tfile_name\x18\x02 \x01(\t\x12\x1a\n\x12is_explicit_delete\x18\x03 \x01(\x08\"H\n\x1f\x43MsgClientUFSDeleteFileResponse\x12\x12\n\x07\x65result\x18\x01 \x01(\x05:\x01\x32\x12\x11\n\tfile_name\x18\x02 \x01(\t\"S\n\x1e\x43MsgClientUFSGetFileListForApp\x12\x15\n\rapps_to_query\x18\x01 \x03(\r\x12\x1a\n\x12send_path_prefixes\x18\x02 \x01(\x08\"\xc1\x02\n&CMsgClientUFSGetFileListForAppResponse\x12;\n\x05\x66iles\x18\x01 \x03(\x0b\x32,.CMsgClientUFSGetFileListForAppResponse.File\x12\x15\n\rpath_prefixes\x18\x02 \x03(\t\x1a\xb8\x01\n\x04\x46ile\x12\x0e\n\x06\x61pp_id\x18\x01 \x01(\r\x12\x11\n\tfile_name\x18\x02 \x01(\t\x12\x10\n\x08sha_file\x18\x03 \x01(\x0c\x12\x12\n\ntime_stamp\x18\x04 \x01(\x04\x12\x15\n\rraw_file_size\x18\x05 \x01(\r\x12\x1a\n\x12is_explicit_delete\x18\x06 \x01(\x08\x12\x19\n\x11platforms_to_sync\x18\x07 \x01(\r\x12\x19\n\x11path_prefix_index\x18\x08 \x01(\r:\x08\x80\xb5\x18\x08\x88\xb5\x18\x10\"Z\n\x1c\x43MsgClientUFSDownloadRequest\x12\x0e\n\x06\x61pp_id\x18\x01 \x01(\r\x12\x11\n\tfile_name\x18\x02 \x01(\t\x12\x17\n\x0f\x63\x61n_handle_http\x18\x03 \x01(\x08\"\xa0\x02\n\x1d\x43MsgClientUFSDownloadResponse\x12\x12\n\x07\x65result\x18\x01 \x01(\x05:\x01\x32\x12\x0e\n\x06\x61pp_id\x18\x02 \x01(\r\x12\x11\n\tfile_size\x18\x03 \x01(\r\x12\x15\n\rraw_file_size\x18\x04 \x01(\r\x12\x10\n\x08sha_file\x18\x05 \x01(\x0c\x12\x12\n\ntime_stamp\x18\x06 \x01(\x04\x12\x1a\n\x12is_explicit_delete\x18\x07 \x01(\x08\x12\x10\n\x08use_http\x18\x08 \x01(\x08\x12\x11\n\thttp_host\x18\t \x01(\t\x12\x10\n\x08http_url\x18\n \x01(\t\x12\x12\n\nkv_headers\x18\x0b \x01(\x0c\x12\x11\n\tuse_https\x18\x0c \x01(\x08\x12\x11\n\tencrypted\x18\r \x01(\x08\"]\n\x19\x43MsgClientUFSLoginRequest\x12\x18\n\x10protocol_version\x18\x01 \x01(\r\x12\x18\n\x10\x61m_session_token\x18\x02 \x01(\x04\x12\x0c\n\x04\x61pps\x18\x03 \x03(\r\"0\n\x1a\x43MsgClientUFSLoginResponse\x12\x12\n\x07\x65result\x18\x01 \x01(\x05:\x01\x32\"G\n#CMsgClientRequestEncryptedAppTicket\x12\x0e\n\x06\x61pp_id\x18\x01 \x01(\r\x12\x10\n\x08userdata\x18\x02 \x01(\x0c\"\x84\x01\n+CMsgClientRequestEncryptedAppTicketResponse\x12\x0e\n\x06\x61pp_id\x18\x01 \x01(\r\x12\x12\n\x07\x65result\x18\x02 \x01(\x05:\x01\x32\x12\x31\n\x14\x65ncrypted_app_ticket\x18\x03 \x01(\x0b\x32\x13.EncryptedAppTicket\"\xa6\x01\n\x1a\x43MsgClientWalletInfoUpdate\x12\x12\n\nhas_wallet\x18\x01 \x01(\x08\x12\x0f\n\x07\x62\x61lance\x18\x02 \x01(\x05\x12\x10\n\x08\x63urrency\x18\x03 \x01(\x05\x12\x17\n\x0f\x62\x61lance_delayed\x18\x04 \x01(\x05\x12\x17\n\tbalance64\x18\x05 \x01(\x03\x42\x04\xa0\xb6\x18\x01\x12\x1f\n\x11\x62\x61lance64_delayed\x18\x06 \x01(\x03\x42\x04\xa0\xb6\x18\x01\"M\n\x17\x43MsgClientAppInfoUpdate\x12\x19\n\x11last_changenumber\x18\x01 \x01(\r\x12\x17\n\x0fsend_changelist\x18\x02 \x01(\x08\"d\n\x18\x43MsgClientAppInfoChanges\x12\x1d\n\x15\x63urrent_change_number\x18\x01 \x01(\r\x12\x19\n\x11\x66orce_full_update\x18\x02 \x01(\x08\x12\x0e\n\x06\x61ppIDs\x18\x03 \x03(\r\"\xab\x01\n\x18\x43MsgClientAppInfoRequest\x12+\n\x04\x61pps\x18\x01 \x03(\x0b\x32\x1d.CMsgClientAppInfoRequest.App\x12\x1f\n\x10supports_batches\x18\x02 \x01(\x08:\x05\x66\x61lse\x1a\x41\n\x03\x41pp\x12\x0e\n\x06\x61pp_id\x18\x01 \x01(\r\x12\x15\n\rsection_flags\x18\x02 \x01(\r\x12\x13\n\x0bsection_CRC\x18\x03 \x03(\r\"\x9b\x02\n\x19\x43MsgClientAppInfoResponse\x12,\n\x04\x61pps\x18\x01 \x03(\x0b\x32\x1e.CMsgClientAppInfoResponse.App\x12\x14\n\x0c\x61pps_unknown\x18\x02 \x03(\r\x12\x14\n\x0c\x61pps_pending\x18\x03 \x01(\r\x1a\x99\x01\n\x03\x41pp\x12\x0e\n\x06\x61pp_id\x18\x01 \x01(\r\x12\x15\n\rchange_number\x18\x02 \x01(\r\x12\x38\n\x08sections\x18\x03 \x03(\x0b\x32&.CMsgClientAppInfoResponse.App.Section\x1a\x31\n\x07Section\x12\x12\n\nsection_id\x18\x01 \x01(\r\x12\x12\n\nsection_kv\x18\x02 \x01(\x0c:\x08\x80\xb5\x18\x00\x88\xb5\x18\x00\"K\n\x1c\x43MsgClientPackageInfoRequest\x12\x13\n\x0bpackage_ids\x18\x01 \x03(\r\x12\x16\n\x0emeta_data_only\x18\x02 \x01(\x08\"\xe0\x01\n\x1d\x43MsgClientPackageInfoResponse\x12\x38\n\x08packages\x18\x01 \x03(\x0b\x32&.CMsgClientPackageInfoResponse.Package\x12\x18\n\x10packages_unknown\x18\x02 \x03(\r\x12\x18\n\x10packages_pending\x18\x03 \x01(\r\x1aQ\n\x07Package\x12\x12\n\npackage_id\x18\x01 \x01(\r\x12\x15\n\rchange_number\x18\x02 \x01(\r\x12\x0b\n\x03sha\x18\x03 \x01(\x0c\x12\x0e\n\x06\x62uffer\x18\x04 \x01(\x0c\"\xc0\x01\n!CMsgClientPICSChangesSinceRequest\x12\x1b\n\x13since_change_number\x18\x01 \x01(\r\x12\x1d\n\x15send_app_info_changes\x18\x02 \x01(\x08\x12!\n\x19send_package_info_changes\x18\x03 \x01(\x08\x12\x1b\n\x13num_app_info_cached\x18\x04 \x01(\r\x12\x1f\n\x17num_package_info_cached\x18\x05 \x01(\r\"\xe5\x03\n\"CMsgClientPICSChangesSinceResponse\x12\x1d\n\x15\x63urrent_change_number\x18\x01 \x01(\r\x12\x1b\n\x13since_change_number\x18\x02 \x01(\r\x12\x19\n\x11\x66orce_full_update\x18\x03 \x01(\x08\x12J\n\x0fpackage_changes\x18\x04 \x03(\x0b\x32\x31.CMsgClientPICSChangesSinceResponse.PackageChange\x12\x42\n\x0b\x61pp_changes\x18\x05 \x03(\x0b\x32-.CMsgClientPICSChangesSinceResponse.AppChange\x12\x1d\n\x15\x66orce_full_app_update\x18\x06 \x01(\x08\x12!\n\x19\x66orce_full_package_update\x18\x07 \x01(\x08\x1aN\n\rPackageChange\x12\x11\n\tpackageid\x18\x01 \x01(\r\x12\x15\n\rchange_number\x18\x02 \x01(\r\x12\x13\n\x0bneeds_token\x18\x03 \x01(\x08\x1a\x46\n\tAppChange\x12\r\n\x05\x61ppid\x18\x01 \x01(\r\x12\x15\n\rchange_number\x18\x02 \x01(\r\x12\x13\n\x0bneeds_token\x18\x03 \x01(\x08\"\xca\x02\n CMsgClientPICSProductInfoRequest\x12?\n\x08packages\x18\x01 \x03(\x0b\x32-.CMsgClientPICSProductInfoRequest.PackageInfo\x12\x37\n\x04\x61pps\x18\x02 \x03(\x0b\x32).CMsgClientPICSProductInfoRequest.AppInfo\x12\x16\n\x0emeta_data_only\x18\x03 \x01(\x08\x12\x17\n\x0fnum_prev_failed\x18\x04 \x01(\r\x1a\x43\n\x07\x41ppInfo\x12\r\n\x05\x61ppid\x18\x01 \x01(\r\x12\x14\n\x0c\x61\x63\x63\x65ss_token\x18\x02 \x01(\x04\x12\x13\n\x0bonly_public\x18\x03 \x01(\x08\x1a\x36\n\x0bPackageInfo\x12\x11\n\tpackageid\x18\x01 \x01(\r\x12\x14\n\x0c\x61\x63\x63\x65ss_token\x18\x02 \x01(\x04\"\xbd\x04\n!CMsgClientPICSProductInfoResponse\x12\x38\n\x04\x61pps\x18\x01 \x03(\x0b\x32*.CMsgClientPICSProductInfoResponse.AppInfo\x12\x16\n\x0eunknown_appids\x18\x02 \x03(\r\x12@\n\x08packages\x18\x03 \x03(\x0b\x32..CMsgClientPICSProductInfoResponse.PackageInfo\x12\x1a\n\x12unknown_packageids\x18\x04 \x03(\r\x12\x16\n\x0emeta_data_only\x18\x05 \x01(\x08\x12\x18\n\x10response_pending\x18\x06 \x01(\x08\x12\x15\n\rhttp_min_size\x18\x07 \x01(\r\x12\x11\n\thttp_host\x18\x08 \x01(\t\x1a\x86\x01\n\x07\x41ppInfo\x12\r\n\x05\x61ppid\x18\x01 \x01(\r\x12\x15\n\rchange_number\x18\x02 \x01(\r\x12\x15\n\rmissing_token\x18\x03 \x01(\x08\x12\x0b\n\x03sha\x18\x04 \x01(\x0c\x12\x0e\n\x06\x62uffer\x18\x05 \x01(\x0c\x12\x13\n\x0bonly_public\x18\x06 \x01(\x08\x12\x0c\n\x04size\x18\x07 \x01(\r\x1ay\n\x0bPackageInfo\x12\x11\n\tpackageid\x18\x01 \x01(\r\x12\x15\n\rchange_number\x18\x02 \x01(\r\x12\x15\n\rmissing_token\x18\x03 \x01(\x08\x12\x0b\n\x03sha\x18\x04 \x01(\x0c\x12\x0e\n\x06\x62uffer\x18\x05 \x01(\x0c\x12\x0c\n\x04size\x18\x06 \x01(\r:\x08\x80\xb5\x18\x00\x88\xb5\x18\x00\"F\n CMsgClientPICSAccessTokenRequest\x12\x12\n\npackageids\x18\x01 \x03(\r\x12\x0e\n\x06\x61ppids\x18\x02 \x03(\r\"\xdf\x02\n!CMsgClientPICSAccessTokenResponse\x12N\n\x15package_access_tokens\x18\x01 \x03(\x0b\x32/.CMsgClientPICSAccessTokenResponse.PackageToken\x12\x1d\n\x15package_denied_tokens\x18\x02 \x03(\r\x12\x46\n\x11\x61pp_access_tokens\x18\x03 \x03(\x0b\x32+.CMsgClientPICSAccessTokenResponse.AppToken\x12\x19\n\x11\x61pp_denied_tokens\x18\x04 \x03(\r\x1a\x37\n\x0cPackageToken\x12\x11\n\tpackageid\x18\x01 \x01(\r\x12\x14\n\x0c\x61\x63\x63\x65ss_token\x18\x02 \x01(\x04\x1a/\n\x08\x41ppToken\x12\r\n\x05\x61ppid\x18\x01 \x01(\r\x12\x14\n\x0c\x61\x63\x63\x65ss_token\x18\x02 \x01(\x04\"D\n\x1a\x43MsgClientUFSGetUGCDetails\x12&\n\x08hcontent\x18\x01 \x01(\x06:\x14\x31\x38\x34\x34\x36\x37\x34\x34\x30\x37\x33\x37\x30\x39\x35\x35\x31\x36\x31\x35\"\xe5\x01\n\"CMsgClientUFSGetUGCDetailsResponse\x12\x12\n\x07\x65result\x18\x01 \x01(\x05:\x01\x32\x12\x0b\n\x03url\x18\x02 \x01(\t\x12\x0e\n\x06\x61pp_id\x18\x03 \x01(\r\x12\x10\n\x08\x66ilename\x18\x04 \x01(\t\x12\x17\n\x0fsteamid_creator\x18\x05 \x01(\x06\x12\x11\n\tfile_size\x18\x06 \x01(\r\x12\x1c\n\x14\x63ompressed_file_size\x18\x07 \x01(\r\x12\x17\n\x0frangecheck_host\x18\x08 \x01(\t\x12\x19\n\x11\x66ile_encoded_sha1\x18\t \x01(\t\"C\n\x1e\x43MsgClientUFSGetSingleFileInfo\x12\x0e\n\x06\x61pp_id\x18\x01 \x01(\r\x12\x11\n\tfile_name\x18\x02 \x01(\t\"\xb8\x01\n&CMsgClientUFSGetSingleFileInfoResponse\x12\x12\n\x07\x65result\x18\x01 \x01(\x05:\x01\x32\x12\x0e\n\x06\x61pp_id\x18\x02 \x01(\r\x12\x11\n\tfile_name\x18\x03 \x01(\t\x12\x10\n\x08sha_file\x18\x04 \x01(\x0c\x12\x12\n\ntime_stamp\x18\x05 \x01(\x04\x12\x15\n\rraw_file_size\x18\x06 \x01(\r\x12\x1a\n\x12is_explicit_delete\x18\x07 \x01(\x08\";\n\x16\x43MsgClientUFSShareFile\x12\x0e\n\x06\x61pp_id\x18\x01 \x01(\r\x12\x11\n\tfile_name\x18\x02 \x01(\t\"\\\n\x1e\x43MsgClientUFSShareFileResponse\x12\x12\n\x07\x65result\x18\x01 \x01(\x05:\x01\x32\x12&\n\x08hcontent\x18\x02 \x01(\x06:\x14\x31\x38\x34\x34\x36\x37\x34\x34\x30\x37\x33\x37\x30\x39\x35\x35\x31\x36\x31\x35\"3\n\x1b\x43MsgClientAMGetClanOfficers\x12\x14\n\x0csteamid_clan\x18\x01 \x01(\x06\"f\n#CMsgClientAMGetClanOfficersResponse\x12\x12\n\x07\x65result\x18\x01 \x01(\x05:\x01\x32\x12\x14\n\x0csteamid_clan\x18\x02 \x01(\x06\x12\x15\n\rofficer_count\x18\x03 \x01(\x05\"\x90\x01\n!CMsgClientAMGetPersonaNameHistory\x12\x10\n\x08id_count\x18\x01 \x01(\x05\x12:\n\x03Ids\x18\x02 \x03(\x0b\x32-.CMsgClientAMGetPersonaNameHistory.IdInstance\x1a\x1d\n\nIdInstance\x12\x0f\n\x07steamid\x18\x01 \x01(\x06\"\xc3\x02\n)CMsgClientAMGetPersonaNameHistoryResponse\x12O\n\tresponses\x18\x02 \x03(\x0b\x32<.CMsgClientAMGetPersonaNameHistoryResponse.NameTableInstance\x1a\xc4\x01\n\x11NameTableInstance\x12\x12\n\x07\x65result\x18\x01 \x01(\x05:\x01\x32\x12\x0f\n\x07steamid\x18\x02 \x01(\x06\x12X\n\x05names\x18\x03 \x03(\x0b\x32I.CMsgClientAMGetPersonaNameHistoryResponse.NameTableInstance.NameInstance\x1a\x30\n\x0cNameInstance\x12\x12\n\nname_since\x18\x01 \x01(\x07\x12\x0c\n\x04name\x18\x02 \x01(\t\"E\n\x1e\x43MsgClientDeregisterWithServer\x12\x13\n\x0b\x65servertype\x18\x01 \x01(\r\x12\x0e\n\x06\x61pp_id\x18\x02 \x01(\r\"\xab\x04\n\x13\x43MsgClientClanState\x12\x14\n\x0csteamid_clan\x18\x01 \x01(\x06\x12\x1a\n\x12\x63lan_account_flags\x18\x03 \x01(\r\x12\x30\n\tname_info\x18\x04 \x01(\x0b\x32\x1d.CMsgClientClanState.NameInfo\x12\x34\n\x0buser_counts\x18\x05 \x01(\x0b\x32\x1f.CMsgClientClanState.UserCounts\x12*\n\x06\x65vents\x18\x06 \x03(\x0b\x32\x1a.CMsgClientClanState.Event\x12\x31\n\rannouncements\x18\x07 \x03(\x0b\x32\x1a.CMsgClientClanState.Event\x12\x19\n\x11\x63hat_room_private\x18\x08 \x01(\x08\x1a\x31\n\x08NameInfo\x12\x11\n\tclan_name\x18\x01 \x01(\t\x12\x12\n\nsha_avatar\x18\x02 \x01(\x0c\x1ak\n\nUserCounts\x12\x0f\n\x07members\x18\x01 \x01(\r\x12\x0e\n\x06online\x18\x02 \x01(\r\x12\x10\n\x08\x63hatting\x18\x03 \x01(\r\x12\x0f\n\x07in_game\x18\x04 \x01(\r\x12\x19\n\x11\x63hat_room_members\x18\x05 \x01(\r\x1a`\n\x05\x45vent\x12\x0b\n\x03gid\x18\x01 \x01(\x06\x12\x12\n\nevent_time\x18\x02 \x01(\r\x12\x10\n\x08headline\x18\x03 \x01(\t\x12\x0f\n\x07game_id\x18\x04 \x01(\x06\x12\x13\n\x0bjust_posted\x18\x05 \x01(\x08\"\xac\x01\n\x1f\x43MsgClientUnsignedInstallScript\x12\x0e\n\x06\x61pp_id\x18\x01 \x01(\r\x12\x11\n\tfile_name\x18\x02 \x01(\t\x12\x11\n\tfile_size\x18\x03 \x01(\r\x12\x18\n\x10signature_broken\x18\x04 \x01(\x08\x12\x10\n\x08\x64\x65pot_id\x18\x05 \x01(\r\x12\x13\n\x0bmanifest_id\x18\x06 \x01(\x04\x12\x12\n\nfile_flags\x18\x07 \x01(\rB\x05H\x01\x90\x01\x00') , dependencies=[steammessages__base__pb2.DESCRIPTOR,encrypted__app__ticket__pb2.DESCRIPTOR,]) _sym_db.RegisterFileDescriptor(DESCRIPTOR) @@ -1107,6 +1107,13 @@ _CMSGCLIENTGAMESPLAYED_GAMEPLAYED = _descriptor.Descriptor( message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None), + _descriptor.FieldDescriptor( + name='launch_source', full_name='CMsgClientGamesPlayed.GamePlayed.launch_source', index=20, + number=21, type=13, cpp_type=3, label=1, + has_default_value=True, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None), ], extensions=[ ], @@ -1120,7 +1127,7 @@ _CMSGCLIENTGAMESPLAYED_GAMEPLAYED = _descriptor.Descriptor( oneofs=[ ], serialized_start=2212, - serialized_end=2758, + serialized_end=2784, ) _CMSGCLIENTGAMESPLAYED = _descriptor.Descriptor( @@ -1157,7 +1164,7 @@ _CMSGCLIENTGAMESPLAYED = _descriptor.Descriptor( oneofs=[ ], serialized_start=2105, - serialized_end=2758, + serialized_end=2784, ) @@ -1194,8 +1201,8 @@ _CMSGGSAPPROVE = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=2760, - serialized_end=2817, + serialized_start=2786, + serialized_end=2843, ) @@ -1239,8 +1246,8 @@ _CMSGGSDENY = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=2819, - serialized_end=2892, + serialized_start=2845, + serialized_end=2918, ) @@ -1277,8 +1284,8 @@ _CMSGGSKICK = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=2894, - serialized_end=2946, + serialized_start=2920, + serialized_end=2972, ) @@ -1343,8 +1350,8 @@ _CMSGCLIENTAUTHLIST = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=2949, - serialized_end=3131, + serialized_start=2975, + serialized_end=3157, ) @@ -1388,8 +1395,8 @@ _CMSGCLIENTAUTHLISTACK = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=3133, - serialized_end=3219, + serialized_start=3159, + serialized_end=3245, ) @@ -1524,8 +1531,8 @@ _CMSGCLIENTLICENSELIST_LICENSE = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=3318, - serialized_end=3699, + serialized_start=3344, + serialized_end=3725, ) _CMSGCLIENTLICENSELIST = _descriptor.Descriptor( @@ -1561,8 +1568,8 @@ _CMSGCLIENTLICENSELIST = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=3222, - serialized_end=3699, + serialized_start=3248, + serialized_end=3725, ) @@ -1620,8 +1627,8 @@ _CMSGCLIENTLBSSETSCORE = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=3701, - serialized_end=3825, + serialized_start=3727, + serialized_end=3851, ) @@ -1679,8 +1686,8 @@ _CMSGCLIENTLBSSETSCORERESPONSE = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=3828, - serialized_end=3990, + serialized_start=3854, + serialized_end=4016, ) @@ -1724,8 +1731,8 @@ _CMSGCLIENTLBSSETUGC = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=3992, - serialized_end=4069, + serialized_start=4018, + serialized_end=4095, ) @@ -1755,8 +1762,8 @@ _CMSGCLIENTLBSSETUGCRESPONSE = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=4071, - serialized_end=4120, + serialized_start=4097, + serialized_end=4146, ) @@ -1814,8 +1821,8 @@ _CMSGCLIENTLBSFINDORCREATELB = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=4123, - serialized_end=4290, + serialized_start=4149, + serialized_end=4316, ) @@ -1880,8 +1887,8 @@ _CMSGCLIENTLBSFINDORCREATELBRESPONSE = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=4293, - serialized_end=4506, + serialized_start=4319, + serialized_end=4532, ) @@ -1946,8 +1953,8 @@ _CMSGCLIENTLBSGETLBENTRIES = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=4509, - serialized_end=4668, + serialized_start=4535, + serialized_end=4694, ) @@ -2005,8 +2012,8 @@ _CMSGCLIENTLBSGETLBENTRIESRESPONSE_ENTRY = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=4820, - serialized_end=4919, + serialized_start=4846, + serialized_end=4945, ) _CMSGCLIENTLBSGETLBENTRIESRESPONSE = _descriptor.Descriptor( @@ -2049,8 +2056,8 @@ _CMSGCLIENTLBSGETLBENTRIESRESPONSE = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=4671, - serialized_end=4919, + serialized_start=4697, + serialized_end=4945, ) @@ -2094,8 +2101,8 @@ _CMSGCLIENTAPPMINUTESPLAYEDDATA_APPMINUTESPLAYEDDATA = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=5034, - serialized_end=5113, + serialized_start=5060, + serialized_end=5139, ) _CMSGCLIENTAPPMINUTESPLAYEDDATA = _descriptor.Descriptor( @@ -2124,8 +2131,8 @@ _CMSGCLIENTAPPMINUTESPLAYEDDATA = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=4922, - serialized_end=5113, + serialized_start=4948, + serialized_end=5139, ) @@ -2176,8 +2183,8 @@ _CMSGCLIENTISLIMITEDACCOUNT = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=5116, - serialized_end=5286, + serialized_start=5142, + serialized_end=5312, ) @@ -2221,8 +2228,8 @@ _CMSGCLIENTSERVERLIST_SERVER = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=5360, - serialized_end=5429, + serialized_start=5386, + serialized_end=5455, ) _CMSGCLIENTSERVERLIST = _descriptor.Descriptor( @@ -2251,8 +2258,8 @@ _CMSGCLIENTSERVERLIST = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=5289, - serialized_end=5429, + serialized_start=5315, + serialized_end=5455, ) @@ -2289,8 +2296,8 @@ _CMSGCLIENTREQUESTEDCLIENTSTATS_STATSTOSEND = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=5534, - serialized_end=5599, + serialized_start=5560, + serialized_end=5625, ) _CMSGCLIENTREQUESTEDCLIENTSTATS = _descriptor.Descriptor( @@ -2319,8 +2326,8 @@ _CMSGCLIENTREQUESTEDCLIENTSTATS = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=5432, - serialized_end=5599, + serialized_start=5458, + serialized_end=5625, ) @@ -2385,8 +2392,8 @@ _CMSGCLIENTSTAT2_STATDETAIL = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=5671, - serialized_end=5794, + serialized_start=5697, + serialized_end=5820, ) _CMSGCLIENTSTAT2 = _descriptor.Descriptor( @@ -2415,8 +2422,8 @@ _CMSGCLIENTSTAT2 = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=5602, - serialized_end=5794, + serialized_start=5628, + serialized_end=5820, ) @@ -2495,8 +2502,8 @@ _CMSGCLIENTMMSCREATELOBBY = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=5797, - serialized_end=5983, + serialized_start=5823, + serialized_end=6009, ) @@ -2540,8 +2547,8 @@ _CMSGCLIENTMMSCREATELOBBYRESPONSE = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=5985, - serialized_end=6079, + serialized_start=6011, + serialized_end=6105, ) @@ -2585,8 +2592,8 @@ _CMSGCLIENTMMSJOINLOBBY = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=6081, - serialized_end=6167, + serialized_start=6107, + serialized_end=6193, ) @@ -2630,8 +2637,8 @@ _CMSGCLIENTMMSJOINLOBBYRESPONSE_MEMBER = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=6439, - serialized_end=6505, + serialized_start=6465, + serialized_end=6531, ) _CMSGCLIENTMMSJOINLOBBYRESPONSE = _descriptor.Descriptor( @@ -2716,8 +2723,8 @@ _CMSGCLIENTMMSJOINLOBBYRESPONSE = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=6170, - serialized_end=6505, + serialized_start=6196, + serialized_end=6531, ) @@ -2754,8 +2761,8 @@ _CMSGCLIENTMMSLEAVELOBBY = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=6507, - serialized_end=6572, + serialized_start=6533, + serialized_end=6598, ) @@ -2799,8 +2806,8 @@ _CMSGCLIENTMMSLEAVELOBBYRESPONSE = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=6574, - serialized_end=6667, + serialized_start=6600, + serialized_end=6693, ) @@ -2851,8 +2858,8 @@ _CMSGCLIENTMMSGETLOBBYLIST_FILTER = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=6834, - serialized_end=6912, + serialized_start=6860, + serialized_end=6938, ) _CMSGCLIENTMMSGETLOBBYLIST = _descriptor.Descriptor( @@ -2909,8 +2916,8 @@ _CMSGCLIENTMMSGETLOBBYLIST = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=6670, - serialized_end=6912, + serialized_start=6696, + serialized_end=6938, ) @@ -2989,8 +2996,8 @@ _CMSGCLIENTMMSGETLOBBYLISTRESPONSE_LOBBY = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=7048, - serialized_end=7208, + serialized_start=7074, + serialized_end=7234, ) _CMSGCLIENTMMSGETLOBBYLISTRESPONSE = _descriptor.Descriptor( @@ -3033,8 +3040,8 @@ _CMSGCLIENTMMSGETLOBBYLISTRESPONSE = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=6915, - serialized_end=7208, + serialized_start=6941, + serialized_end=7234, ) @@ -3106,8 +3113,8 @@ _CMSGCLIENTMMSSETLOBBYDATA = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=7211, - serialized_end=7383, + serialized_start=7237, + serialized_end=7409, ) @@ -3151,8 +3158,8 @@ _CMSGCLIENTMMSSETLOBBYDATARESPONSE = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=7385, - serialized_end=7480, + serialized_start=7411, + serialized_end=7506, ) @@ -3189,8 +3196,8 @@ _CMSGCLIENTMMSGETLOBBYDATA = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=7482, - serialized_end=7549, + serialized_start=7508, + serialized_end=7575, ) @@ -3234,8 +3241,8 @@ _CMSGCLIENTMMSLOBBYDATA_MEMBER = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=6439, - serialized_end=6505, + serialized_start=6465, + serialized_end=6531, ) _CMSGCLIENTMMSLOBBYDATA = _descriptor.Descriptor( @@ -3327,8 +3334,8 @@ _CMSGCLIENTMMSLOBBYDATA = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=7552, - serialized_end=7880, + serialized_start=7578, + serialized_end=7906, ) @@ -3379,8 +3386,8 @@ _CMSGCLIENTMMSSENDLOBBYCHATMSG = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=7882, - serialized_end=8001, + serialized_start=7908, + serialized_end=8027, ) @@ -3431,8 +3438,8 @@ _CMSGCLIENTMMSLOBBYCHATMSG = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=8003, - serialized_end=8118, + serialized_start=8029, + serialized_end=8144, ) @@ -3476,8 +3483,8 @@ _CMSGCLIENTMMSSETLOBBYOWNER = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=8120, - serialized_end=8216, + serialized_start=8146, + serialized_end=8242, ) @@ -3521,8 +3528,8 @@ _CMSGCLIENTMMSSETLOBBYOWNERRESPONSE = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=8218, - serialized_end=8314, + serialized_start=8244, + serialized_end=8340, ) @@ -3566,8 +3573,8 @@ _CMSGCLIENTMMSSETLOBBYLINKED = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=8316, - serialized_end=8410, + serialized_start=8342, + serialized_end=8436, ) @@ -3625,8 +3632,8 @@ _CMSGCLIENTMMSSETLOBBYGAMESERVER = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=8413, - serialized_end=8566, + serialized_start=8439, + serialized_end=8592, ) @@ -3684,8 +3691,8 @@ _CMSGCLIENTMMSLOBBYGAMESERVERSET = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=8569, - serialized_end=8722, + serialized_start=8595, + serialized_end=8748, ) @@ -3736,8 +3743,8 @@ _CMSGCLIENTMMSUSERJOINEDLOBBY = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=8724, - serialized_end=8839, + serialized_start=8750, + serialized_end=8865, ) @@ -3788,8 +3795,8 @@ _CMSGCLIENTMMSUSERLEFTLOBBY = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=8841, - serialized_end=8954, + serialized_start=8867, + serialized_end=8980, ) @@ -3833,8 +3840,8 @@ _CMSGCLIENTMMSINVITETOLOBBY = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=8956, - serialized_end=9055, + serialized_start=8982, + serialized_end=9081, ) @@ -3878,8 +3885,8 @@ _CMSGCLIENTINVITETOGAME = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=9057, - serialized_end=9150, + serialized_start=9083, + serialized_end=9176, ) @@ -3951,8 +3958,8 @@ _CMSGCLIENTCHATINVITE = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=9153, - serialized_end=9338, + serialized_start=9179, + serialized_end=9364, ) @@ -4024,8 +4031,8 @@ _CMSGCLIENTCONNECTIONSTATS_STATS_LOGON = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=9493, - serialized_end=9692, + serialized_start=9519, + serialized_end=9718, ) _CMSGCLIENTCONNECTIONSTATS_STATS_UDP = _descriptor.Descriptor( @@ -4082,8 +4089,8 @@ _CMSGCLIENTCONNECTIONSTATS_STATS_UDP = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=9694, - serialized_end=9807, + serialized_start=9720, + serialized_end=9833, ) _CMSGCLIENTCONNECTIONSTATS_STATS_VCONN = _descriptor.Descriptor( @@ -4245,8 +4252,8 @@ _CMSGCLIENTCONNECTIONSTATS_STATS_VCONN = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=9810, - serialized_end=10375, + serialized_start=9836, + serialized_end=10401, ) _CMSGCLIENTCONNECTIONSTATS = _descriptor.Descriptor( @@ -4282,8 +4289,8 @@ _CMSGCLIENTCONNECTIONSTATS = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=9341, - serialized_end=10375, + serialized_start=9367, + serialized_end=10401, ) @@ -4320,8 +4327,8 @@ _CMSGCLIENTSERVERSAVAILABLE_SERVER_TYPES_AVAILABLE = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=10531, - serialized_end=10588, + serialized_start=10557, + serialized_end=10614, ) _CMSGCLIENTSERVERSAVAILABLE = _descriptor.Descriptor( @@ -4357,8 +4364,8 @@ _CMSGCLIENTSERVERSAVAILABLE = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=10378, - serialized_end=10588, + serialized_start=10404, + serialized_end=10614, ) @@ -4409,8 +4416,8 @@ _CMSGCLIENTGETUSERSTATS = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=10590, - serialized_end=10707, + serialized_start=10616, + serialized_end=10733, ) @@ -4447,8 +4454,8 @@ _CMSGCLIENTGETUSERSTATSRESPONSE_STATS = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=10950, - serialized_end=10994, + serialized_start=10976, + serialized_end=11020, ) _CMSGCLIENTGETUSERSTATSRESPONSE_ACHIEVEMENT_BLOCKS = _descriptor.Descriptor( @@ -4484,8 +4491,8 @@ _CMSGCLIENTGETUSERSTATSRESPONSE_ACHIEVEMENT_BLOCKS = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=10996, - serialized_end=11061, + serialized_start=11022, + serialized_end=11087, ) _CMSGCLIENTGETUSERSTATSRESPONSE = _descriptor.Descriptor( @@ -4549,8 +4556,8 @@ _CMSGCLIENTGETUSERSTATSRESPONSE = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=10710, - serialized_end=11061, + serialized_start=10736, + serialized_end=11087, ) @@ -4587,8 +4594,8 @@ _CMSGCLIENTSTOREUSERSTATSRESPONSE_STATS_FAILED_VALIDATION = _descriptor.Descript extension_ranges=[], oneofs=[ ], - serialized_start=11275, - serialized_end=11346, + serialized_start=11301, + serialized_end=11372, ) _CMSGCLIENTSTOREUSERSTATSRESPONSE = _descriptor.Descriptor( @@ -4645,8 +4652,8 @@ _CMSGCLIENTSTOREUSERSTATSRESPONSE = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=11064, - serialized_end=11346, + serialized_start=11090, + serialized_end=11372, ) @@ -4683,8 +4690,8 @@ _CMSGCLIENTSTOREUSERSTATS2_STATS = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=10950, - serialized_end=10994, + serialized_start=10976, + serialized_end=11020, ) _CMSGCLIENTSTOREUSERSTATS2 = _descriptor.Descriptor( @@ -4748,8 +4755,8 @@ _CMSGCLIENTSTOREUSERSTATS2 = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=11349, - serialized_end=11581, + serialized_start=11375, + serialized_end=11607, ) @@ -4786,8 +4793,8 @@ _CMSGCLIENTSTATSUPDATED_UPDATED_STATS = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=11726, - serialized_end=11778, + serialized_start=11752, + serialized_end=11804, ) _CMSGCLIENTSTATSUPDATED = _descriptor.Descriptor( @@ -4837,8 +4844,8 @@ _CMSGCLIENTSTATSUPDATED = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=11584, - serialized_end=11778, + serialized_start=11610, + serialized_end=11804, ) @@ -4875,8 +4882,8 @@ _CMSGCLIENTSTOREUSERSTATS_STATS_TO_STORE = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=11916, - serialized_end=11969, + serialized_start=11942, + serialized_end=11995, ) _CMSGCLIENTSTOREUSERSTATS = _descriptor.Descriptor( @@ -4919,8 +4926,8 @@ _CMSGCLIENTSTOREUSERSTATS = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=11781, - serialized_end=11969, + serialized_start=11807, + serialized_end=11995, ) @@ -4943,8 +4950,8 @@ _CMSGCLIENTGETCLIENTDETAILS = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=11971, - serialized_end=11999, + serialized_start=11997, + serialized_end=12025, ) @@ -4974,8 +4981,8 @@ _CMSGCLIENTREPORTOVERLAYDETOURFAILURE = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=12001, - serialized_end=12064, + serialized_start=12027, + serialized_end=12090, ) @@ -5019,8 +5026,8 @@ _CMSGCLIENTGETCLIENTDETAILSRESPONSE_GAME = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=12319, - serialized_end=12386, + serialized_start=12345, + serialized_end=12412, ) _CMSGCLIENTGETCLIENTDETAILSRESPONSE = _descriptor.Descriptor( @@ -5098,8 +5105,8 @@ _CMSGCLIENTGETCLIENTDETAILSRESPONSE = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=12067, - serialized_end=12386, + serialized_start=12093, + serialized_end=12412, ) @@ -5164,8 +5171,8 @@ _CMSGCLIENTGETCLIENTAPPLIST = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=12389, - serialized_end=12525, + serialized_start=12415, + serialized_end=12551, ) @@ -5202,8 +5209,8 @@ _CMSGCLIENTGETCLIENTAPPLISTRESPONSE_APP_DLC = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=13018, - serialized_end=13057, + serialized_start=13044, + serialized_end=13083, ) _CMSGCLIENTGETCLIENTAPPLISTRESPONSE_APP = _descriptor.Descriptor( @@ -5330,8 +5337,8 @@ _CMSGCLIENTGETCLIENTAPPLISTRESPONSE_APP = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=12647, - serialized_end=13057, + serialized_start=12673, + serialized_end=13083, ) _CMSGCLIENTGETCLIENTAPPLISTRESPONSE = _descriptor.Descriptor( @@ -5367,8 +5374,8 @@ _CMSGCLIENTGETCLIENTAPPLISTRESPONSE = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=12528, - serialized_end=13057, + serialized_start=12554, + serialized_end=13083, ) @@ -5398,8 +5405,8 @@ _CMSGCLIENTINSTALLCLIENTAPP = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=13059, - serialized_end=13102, + serialized_start=13085, + serialized_end=13128, ) @@ -5429,8 +5436,8 @@ _CMSGCLIENTINSTALLCLIENTAPPRESPONSE = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=13104, - serialized_end=13156, + serialized_start=13130, + serialized_end=13182, ) @@ -5460,8 +5467,8 @@ _CMSGCLIENTUNINSTALLCLIENTAPP = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=13158, - serialized_end=13203, + serialized_start=13184, + serialized_end=13229, ) @@ -5491,8 +5498,8 @@ _CMSGCLIENTUNINSTALLCLIENTAPPRESPONSE = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=13205, - serialized_end=13259, + serialized_start=13231, + serialized_end=13285, ) @@ -5529,8 +5536,8 @@ _CMSGCLIENTSETCLIENTAPPUPDATESTATE = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=13261, - serialized_end=13327, + serialized_start=13287, + serialized_end=13353, ) @@ -5560,8 +5567,8 @@ _CMSGCLIENTSETCLIENTAPPUPDATESTATERESPONSE = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=13329, - serialized_end=13388, + serialized_start=13355, + serialized_end=13414, ) @@ -5654,8 +5661,8 @@ _CMSGCLIENTUFSUPLOADFILEREQUEST = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=13391, - serialized_end=13653, + serialized_start=13417, + serialized_end=13679, ) @@ -5734,8 +5741,8 @@ _CMSGCLIENTUFSUPLOADFILERESPONSE = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=13656, - serialized_end=13843, + serialized_start=13682, + serialized_end=13869, ) @@ -5793,8 +5800,8 @@ _CMSGCLIENTUFSUPLOADCOMMIT_FILE = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=13923, - serialized_end=14020, + serialized_start=13949, + serialized_end=14046, ) _CMSGCLIENTUFSUPLOADCOMMIT = _descriptor.Descriptor( @@ -5823,8 +5830,8 @@ _CMSGCLIENTUFSUPLOADCOMMIT = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=13846, - serialized_end=14020, + serialized_start=13872, + serialized_end=14046, ) @@ -5868,8 +5875,8 @@ _CMSGCLIENTUFSUPLOADCOMMITRESPONSE_FILE = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=13923, - serialized_end=13983, + serialized_start=13949, + serialized_end=14009, ) _CMSGCLIENTUFSUPLOADCOMMITRESPONSE = _descriptor.Descriptor( @@ -5898,8 +5905,8 @@ _CMSGCLIENTUFSUPLOADCOMMITRESPONSE = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=14023, - serialized_end=14176, + serialized_start=14049, + serialized_end=14202, ) @@ -5943,8 +5950,8 @@ _CMSGCLIENTUFSFILECHUNK = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=14178, - serialized_end=14254, + serialized_start=14204, + serialized_end=14280, ) @@ -5967,8 +5974,8 @@ _CMSGCLIENTUFSTRANSFERHEARTBEAT = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=14256, - serialized_end=14288, + serialized_start=14282, + serialized_end=14314, ) @@ -6005,8 +6012,8 @@ _CMSGCLIENTUFSUPLOADFILEFINISHED = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=14290, - serialized_end=14361, + serialized_start=14316, + serialized_end=14387, ) @@ -6050,8 +6057,8 @@ _CMSGCLIENTUFSDELETEFILEREQUEST = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=14363, - serialized_end=14458, + serialized_start=14389, + serialized_end=14484, ) @@ -6088,8 +6095,8 @@ _CMSGCLIENTUFSDELETEFILERESPONSE = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=14460, - serialized_end=14532, + serialized_start=14486, + serialized_end=14558, ) @@ -6126,8 +6133,8 @@ _CMSGCLIENTUFSGETFILELISTFORAPP = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=14534, - serialized_end=14617, + serialized_start=14560, + serialized_end=14643, ) @@ -6206,8 +6213,8 @@ _CMSGCLIENTUFSGETFILELISTFORAPPRESPONSE_FILE = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=14747, - serialized_end=14931, + serialized_start=14773, + serialized_end=14957, ) _CMSGCLIENTUFSGETFILELISTFORAPPRESPONSE = _descriptor.Descriptor( @@ -6243,8 +6250,8 @@ _CMSGCLIENTUFSGETFILELISTFORAPPRESPONSE = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=14620, - serialized_end=14941, + serialized_start=14646, + serialized_end=14967, ) @@ -6288,8 +6295,8 @@ _CMSGCLIENTUFSDOWNLOADREQUEST = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=14943, - serialized_end=15033, + serialized_start=14969, + serialized_end=15059, ) @@ -6403,8 +6410,8 @@ _CMSGCLIENTUFSDOWNLOADRESPONSE = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=15036, - serialized_end=15324, + serialized_start=15062, + serialized_end=15350, ) @@ -6448,8 +6455,8 @@ _CMSGCLIENTUFSLOGINREQUEST = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=15326, - serialized_end=15419, + serialized_start=15352, + serialized_end=15445, ) @@ -6479,8 +6486,8 @@ _CMSGCLIENTUFSLOGINRESPONSE = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=15421, - serialized_end=15469, + serialized_start=15447, + serialized_end=15495, ) @@ -6517,8 +6524,8 @@ _CMSGCLIENTREQUESTENCRYPTEDAPPTICKET = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=15471, - serialized_end=15542, + serialized_start=15497, + serialized_end=15568, ) @@ -6562,8 +6569,8 @@ _CMSGCLIENTREQUESTENCRYPTEDAPPTICKETRESPONSE = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=15545, - serialized_end=15677, + serialized_start=15571, + serialized_end=15703, ) @@ -6628,8 +6635,8 @@ _CMSGCLIENTWALLETINFOUPDATE = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=15680, - serialized_end=15846, + serialized_start=15706, + serialized_end=15872, ) @@ -6666,8 +6673,8 @@ _CMSGCLIENTAPPINFOUPDATE = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=15848, - serialized_end=15925, + serialized_start=15874, + serialized_end=15951, ) @@ -6711,8 +6718,8 @@ _CMSGCLIENTAPPINFOCHANGES = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=15927, - serialized_end=16027, + serialized_start=15953, + serialized_end=16053, ) @@ -6756,8 +6763,8 @@ _CMSGCLIENTAPPINFOREQUEST_APP = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=16136, - serialized_end=16201, + serialized_start=16162, + serialized_end=16227, ) _CMSGCLIENTAPPINFOREQUEST = _descriptor.Descriptor( @@ -6793,8 +6800,8 @@ _CMSGCLIENTAPPINFOREQUEST = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=16030, - serialized_end=16201, + serialized_start=16056, + serialized_end=16227, ) @@ -6831,8 +6838,8 @@ _CMSGCLIENTAPPINFORESPONSE_APP_SECTION = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=16428, - serialized_end=16477, + serialized_start=16454, + serialized_end=16503, ) _CMSGCLIENTAPPINFORESPONSE_APP = _descriptor.Descriptor( @@ -6875,8 +6882,8 @@ _CMSGCLIENTAPPINFORESPONSE_APP = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=16324, - serialized_end=16477, + serialized_start=16350, + serialized_end=16503, ) _CMSGCLIENTAPPINFORESPONSE = _descriptor.Descriptor( @@ -6919,8 +6926,8 @@ _CMSGCLIENTAPPINFORESPONSE = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=16204, - serialized_end=16487, + serialized_start=16230, + serialized_end=16513, ) @@ -6957,8 +6964,8 @@ _CMSGCLIENTPACKAGEINFOREQUEST = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=16489, - serialized_end=16564, + serialized_start=16515, + serialized_end=16590, ) @@ -7009,8 +7016,8 @@ _CMSGCLIENTPACKAGEINFORESPONSE_PACKAGE = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=16710, - serialized_end=16791, + serialized_start=16736, + serialized_end=16817, ) _CMSGCLIENTPACKAGEINFORESPONSE = _descriptor.Descriptor( @@ -7053,8 +7060,8 @@ _CMSGCLIENTPACKAGEINFORESPONSE = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=16567, - serialized_end=16791, + serialized_start=16593, + serialized_end=16817, ) @@ -7112,8 +7119,8 @@ _CMSGCLIENTPICSCHANGESSINCEREQUEST = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=16794, - serialized_end=16986, + serialized_start=16820, + serialized_end=17012, ) @@ -7157,8 +7164,8 @@ _CMSGCLIENTPICSCHANGESSINCERESPONSE_PACKAGECHANGE = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=17324, - serialized_end=17402, + serialized_start=17350, + serialized_end=17428, ) _CMSGCLIENTPICSCHANGESSINCERESPONSE_APPCHANGE = _descriptor.Descriptor( @@ -7201,8 +7208,8 @@ _CMSGCLIENTPICSCHANGESSINCERESPONSE_APPCHANGE = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=17404, - serialized_end=17474, + serialized_start=17430, + serialized_end=17500, ) _CMSGCLIENTPICSCHANGESSINCERESPONSE = _descriptor.Descriptor( @@ -7273,8 +7280,8 @@ _CMSGCLIENTPICSCHANGESSINCERESPONSE = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=16989, - serialized_end=17474, + serialized_start=17015, + serialized_end=17500, ) @@ -7318,8 +7325,8 @@ _CMSGCLIENTPICSPRODUCTINFOREQUEST_APPINFO = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=17684, - serialized_end=17751, + serialized_start=17710, + serialized_end=17777, ) _CMSGCLIENTPICSPRODUCTINFOREQUEST_PACKAGEINFO = _descriptor.Descriptor( @@ -7355,8 +7362,8 @@ _CMSGCLIENTPICSPRODUCTINFOREQUEST_PACKAGEINFO = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=17753, - serialized_end=17807, + serialized_start=17779, + serialized_end=17833, ) _CMSGCLIENTPICSPRODUCTINFOREQUEST = _descriptor.Descriptor( @@ -7406,8 +7413,8 @@ _CMSGCLIENTPICSPRODUCTINFOREQUEST = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=17477, - serialized_end=17807, + serialized_start=17503, + serialized_end=17833, ) @@ -7479,8 +7486,8 @@ _CMSGCLIENTPICSPRODUCTINFORESPONSE_APPINFO = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=18116, - serialized_end=18250, + serialized_start=18142, + serialized_end=18276, ) _CMSGCLIENTPICSPRODUCTINFORESPONSE_PACKAGEINFO = _descriptor.Descriptor( @@ -7544,8 +7551,8 @@ _CMSGCLIENTPICSPRODUCTINFORESPONSE_PACKAGEINFO = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=18252, - serialized_end=18373, + serialized_start=18278, + serialized_end=18399, ) _CMSGCLIENTPICSPRODUCTINFORESPONSE = _descriptor.Descriptor( @@ -7623,8 +7630,8 @@ _CMSGCLIENTPICSPRODUCTINFORESPONSE = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=17810, - serialized_end=18383, + serialized_start=17836, + serialized_end=18409, ) @@ -7661,8 +7668,8 @@ _CMSGCLIENTPICSACCESSTOKENREQUEST = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=18385, - serialized_end=18455, + serialized_start=18411, + serialized_end=18481, ) @@ -7699,8 +7706,8 @@ _CMSGCLIENTPICSACCESSTOKENRESPONSE_PACKAGETOKEN = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=18705, - serialized_end=18760, + serialized_start=18731, + serialized_end=18786, ) _CMSGCLIENTPICSACCESSTOKENRESPONSE_APPTOKEN = _descriptor.Descriptor( @@ -7736,8 +7743,8 @@ _CMSGCLIENTPICSACCESSTOKENRESPONSE_APPTOKEN = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=18762, - serialized_end=18809, + serialized_start=18788, + serialized_end=18835, ) _CMSGCLIENTPICSACCESSTOKENRESPONSE = _descriptor.Descriptor( @@ -7787,8 +7794,8 @@ _CMSGCLIENTPICSACCESSTOKENRESPONSE = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=18458, - serialized_end=18809, + serialized_start=18484, + serialized_end=18835, ) @@ -7818,8 +7825,8 @@ _CMSGCLIENTUFSGETUGCDETAILS = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=18811, - serialized_end=18879, + serialized_start=18837, + serialized_end=18905, ) @@ -7905,8 +7912,8 @@ _CMSGCLIENTUFSGETUGCDETAILSRESPONSE = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=18882, - serialized_end=19111, + serialized_start=18908, + serialized_end=19137, ) @@ -7943,8 +7950,8 @@ _CMSGCLIENTUFSGETSINGLEFILEINFO = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=19113, - serialized_end=19180, + serialized_start=19139, + serialized_end=19206, ) @@ -8016,8 +8023,8 @@ _CMSGCLIENTUFSGETSINGLEFILEINFORESPONSE = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=19183, - serialized_end=19367, + serialized_start=19209, + serialized_end=19393, ) @@ -8054,8 +8061,8 @@ _CMSGCLIENTUFSSHAREFILE = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=19369, - serialized_end=19428, + serialized_start=19395, + serialized_end=19454, ) @@ -8092,8 +8099,8 @@ _CMSGCLIENTUFSSHAREFILERESPONSE = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=19430, - serialized_end=19522, + serialized_start=19456, + serialized_end=19548, ) @@ -8123,8 +8130,8 @@ _CMSGCLIENTAMGETCLANOFFICERS = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=19524, - serialized_end=19575, + serialized_start=19550, + serialized_end=19601, ) @@ -8168,8 +8175,8 @@ _CMSGCLIENTAMGETCLANOFFICERSRESPONSE = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=19577, - serialized_end=19679, + serialized_start=19603, + serialized_end=19705, ) @@ -8199,8 +8206,8 @@ _CMSGCLIENTAMGETPERSONANAMEHISTORY_IDINSTANCE = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=19797, - serialized_end=19826, + serialized_start=19823, + serialized_end=19852, ) _CMSGCLIENTAMGETPERSONANAMEHISTORY = _descriptor.Descriptor( @@ -8236,8 +8243,8 @@ _CMSGCLIENTAMGETPERSONANAMEHISTORY = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=19682, - serialized_end=19826, + serialized_start=19708, + serialized_end=19852, ) @@ -8274,8 +8281,8 @@ _CMSGCLIENTAMGETPERSONANAMEHISTORYRESPONSE_NAMETABLEINSTANCE_NAMEINSTANCE = _des extension_ranges=[], oneofs=[ ], - serialized_start=20104, - serialized_end=20152, + serialized_start=20130, + serialized_end=20178, ) _CMSGCLIENTAMGETPERSONANAMEHISTORYRESPONSE_NAMETABLEINSTANCE = _descriptor.Descriptor( @@ -8318,8 +8325,8 @@ _CMSGCLIENTAMGETPERSONANAMEHISTORYRESPONSE_NAMETABLEINSTANCE = _descriptor.Descr extension_ranges=[], oneofs=[ ], - serialized_start=19956, - serialized_end=20152, + serialized_start=19982, + serialized_end=20178, ) _CMSGCLIENTAMGETPERSONANAMEHISTORYRESPONSE = _descriptor.Descriptor( @@ -8348,8 +8355,8 @@ _CMSGCLIENTAMGETPERSONANAMEHISTORYRESPONSE = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=19829, - serialized_end=20152, + serialized_start=19855, + serialized_end=20178, ) @@ -8386,8 +8393,8 @@ _CMSGCLIENTDEREGISTERWITHSERVER = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=20154, - serialized_end=20223, + serialized_start=20180, + serialized_end=20249, ) @@ -8424,8 +8431,8 @@ _CMSGCLIENTCLANSTATE_NAMEINFO = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=20525, - serialized_end=20574, + serialized_start=20551, + serialized_end=20600, ) _CMSGCLIENTCLANSTATE_USERCOUNTS = _descriptor.Descriptor( @@ -8482,8 +8489,8 @@ _CMSGCLIENTCLANSTATE_USERCOUNTS = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=20576, - serialized_end=20683, + serialized_start=20602, + serialized_end=20709, ) _CMSGCLIENTCLANSTATE_EVENT = _descriptor.Descriptor( @@ -8540,8 +8547,8 @@ _CMSGCLIENTCLANSTATE_EVENT = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=20685, - serialized_end=20781, + serialized_start=20711, + serialized_end=20807, ) _CMSGCLIENTCLANSTATE = _descriptor.Descriptor( @@ -8612,8 +8619,81 @@ _CMSGCLIENTCLANSTATE = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=20226, - serialized_end=20781, + serialized_start=20252, + serialized_end=20807, +) + + +_CMSGCLIENTUNSIGNEDINSTALLSCRIPT = _descriptor.Descriptor( + name='CMsgClientUnsignedInstallScript', + full_name='CMsgClientUnsignedInstallScript', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='app_id', full_name='CMsgClientUnsignedInstallScript.app_id', index=0, + number=1, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None), + _descriptor.FieldDescriptor( + name='file_name', full_name='CMsgClientUnsignedInstallScript.file_name', index=1, + number=2, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=_b("").decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None), + _descriptor.FieldDescriptor( + name='file_size', full_name='CMsgClientUnsignedInstallScript.file_size', index=2, + number=3, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None), + _descriptor.FieldDescriptor( + name='signature_broken', full_name='CMsgClientUnsignedInstallScript.signature_broken', index=3, + number=4, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None), + _descriptor.FieldDescriptor( + name='depot_id', full_name='CMsgClientUnsignedInstallScript.depot_id', index=4, + number=5, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None), + _descriptor.FieldDescriptor( + name='manifest_id', full_name='CMsgClientUnsignedInstallScript.manifest_id', index=5, + number=6, type=4, cpp_type=4, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None), + _descriptor.FieldDescriptor( + name='file_flags', full_name='CMsgClientUnsignedInstallScript.file_flags', index=6, + number=7, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto2', + extension_ranges=[], + oneofs=[ + ], + serialized_start=20810, + serialized_end=20982, ) _CMSGGSPLAYERLIST_PLAYER.containing_type = _CMSGGSPLAYERLIST @@ -8834,6 +8914,7 @@ DESCRIPTOR.message_types_by_name['CMsgClientAMGetPersonaNameHistory'] = _CMSGCLI DESCRIPTOR.message_types_by_name['CMsgClientAMGetPersonaNameHistoryResponse'] = _CMSGCLIENTAMGETPERSONANAMEHISTORYRESPONSE DESCRIPTOR.message_types_by_name['CMsgClientDeregisterWithServer'] = _CMSGCLIENTDEREGISTERWITHSERVER DESCRIPTOR.message_types_by_name['CMsgClientClanState'] = _CMSGCLIENTCLANSTATE +DESCRIPTOR.message_types_by_name['CMsgClientUnsignedInstallScript'] = _CMSGCLIENTUNSIGNEDINSTALLSCRIPT CMsgClientUDSP2PSessionStarted = _reflection.GeneratedProtocolMessageType('CMsgClientUDSP2PSessionStarted', (_message.Message,), dict( DESCRIPTOR = _CMSGCLIENTUDSP2PSESSIONSTARTED, @@ -10064,6 +10145,13 @@ _sym_db.RegisterMessage(CMsgClientClanState.NameInfo) _sym_db.RegisterMessage(CMsgClientClanState.UserCounts) _sym_db.RegisterMessage(CMsgClientClanState.Event) +CMsgClientUnsignedInstallScript = _reflection.GeneratedProtocolMessageType('CMsgClientUnsignedInstallScript', (_message.Message,), dict( + DESCRIPTOR = _CMSGCLIENTUNSIGNEDINSTALLSCRIPT, + __module__ = 'steammessages_clientserver_pb2' + # @@protoc_insertion_point(class_scope:CMsgClientUnsignedInstallScript) + )) +_sym_db.RegisterMessage(CMsgClientUnsignedInstallScript) + DESCRIPTOR.has_options = True DESCRIPTOR._options = _descriptor._ParseOptions(descriptor_pb2.FileOptions(), _b('H\001\220\001\000')) diff --git a/steam/protobufs/steammessages_friendmessages_pb2.py b/steam/protobufs/steammessages_friendmessages_pb2.py new file mode 100755 index 0000000..e272862 --- /dev/null +++ b/steam/protobufs/steammessages_friendmessages_pb2.py @@ -0,0 +1,864 @@ +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: steammessages_friendmessages.proto + +import sys +_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1')) +from google.protobuf import descriptor as _descriptor +from google.protobuf import message as _message +from google.protobuf import reflection as _reflection +from google.protobuf import symbol_database as _symbol_database +from google.protobuf import service as _service +from google.protobuf import service_reflection +from google.protobuf import descriptor_pb2 +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +import steam.protobufs.steammessages_unified_base_pb2 as steammessages__unified__base__pb2 + + +DESCRIPTOR = _descriptor.FileDescriptor( + name='steammessages_friendmessages.proto', + package='', + syntax='proto2', + serialized_pb=_b('\n\"steammessages_friendmessages.proto\x1a steammessages_unified_base.proto\"\xf1\x05\n)CFriendMessages_GetRecentMessages_Request\x12\x10\n\x08steamid1\x18\x01 \x01(\x06\x12\x10\n\x08steamid2\x18\x02 \x01(\x06\x12L\n\x05\x63ount\x18\x03 \x01(\rB=\x82\xb5\x18\x39If non-zero, cap the number of recent messages to return.\x12s\n\x18most_recent_conversation\x18\x04 \x01(\x08\x42Q\x82\xb5\x18MGrab the block of chat from the most recent conversation (a ~5 minute period)\x12\xa9\x01\n\x12rtime32_start_time\x18\x05 \x01(\x07\x42\x8c\x01\x82\xb5\x18\x87\x01If non-zero, return only messages with timestamps greater or equal to this. If zero, we only return messages from a recent time cutoff.\x12\x45\n\rbbcode_format\x18\x06 \x01(\x08\x42.\x82\xb5\x18*Return the results with bbcode formatting.\x12\x84\x01\n\rstart_ordinal\x18\x07 \x01(\rBm\x82\xb5\x18iCombined with start time, only messages after this ordinal are returned (dedupes messages in same second)\x12M\n\ttime_last\x18\x08 \x01(\rB:\x82\xb5\x18\x36if present/non-zero, return only messages before this.\x12\x14\n\x0cordinal_last\x18\t \x01(\r\"\x9d\x02\n*CFriendMessages_GetRecentMessages_Response\x12~\n\x08messages\x18\x01 \x03(\x0b\x32\x39.CFriendMessages_GetRecentMessages_Response.FriendMessageB1\x82\xb5\x18-Array of messages, returned newest to oldest.\x12\x16\n\x0emore_available\x18\x04 \x01(\x08\x1aW\n\rFriendMessage\x12\x11\n\taccountid\x18\x01 \x01(\r\x12\x11\n\ttimestamp\x18\x02 \x01(\r\x12\x0f\n\x07message\x18\x03 \x01(\t\x12\x0f\n\x07ordinal\x18\x04 \x01(\r\"\xb4\x01\n1CFriendsMessages_GetActiveMessageSessions_Request\x12\x7f\n\x11lastmessage_since\x18\x01 \x01(\rBd\x82\xb5\x18`return only session information where a chat message has been sent since this time (for polling)\"\xfc\x02\n2CFriendsMessages_GetActiveMessageSessions_Response\x12\x62\n\x10message_sessions\x18\x01 \x03(\x0b\x32H.CFriendsMessages_GetActiveMessageSessions_Response.FriendMessageSession\x12i\n\ttimestamp\x18\x02 \x01(\rBV\x82\xb5\x18RThis should be passed in the next request as lastmessage_since to poll for updates\x1aw\n\x14\x46riendMessageSession\x12\x18\n\x10\x61\x63\x63ountid_friend\x18\x01 \x01(\r\x12\x14\n\x0clast_message\x18\x02 \x01(\r\x12\x11\n\tlast_view\x18\x03 \x01(\r\x12\x1c\n\x14unread_message_count\x18\x04 \x01(\r\"\xa7\x01\n#CFriendMessages_SendMessage_Request\x12\x0f\n\x07steamid\x18\x01 \x01(\x06\x12\x17\n\x0f\x63hat_entry_type\x18\x02 \x01(\x05\x12\x0f\n\x07message\x18\x03 \x01(\t\x12\x17\n\x0f\x63ontains_bbcode\x18\x04 \x01(\x08\x12\x16\n\x0e\x65\x63ho_to_sender\x18\x05 \x01(\x08\x12\x14\n\x0clow_priority\x18\x06 \x01(\x08\"k\n$CFriendMessages_SendMessage_Response\x12\x18\n\x10modified_message\x18\x01 \x01(\t\x12\x18\n\x10server_timestamp\x18\x02 \x01(\r\x12\x0f\n\x07ordinal\x18\x03 \x01(\r\"U\n\'CFriendMessages_AckMessage_Notification\x12\x17\n\x0fsteamid_partner\x18\x01 \x01(\x06\x12\x11\n\ttimestamp\x18\x02 \x01(\r\"<\n)CFriendMessages_IsInFriendsUIBeta_Request\x12\x0f\n\x07steamid\x18\x01 \x01(\x06\"e\n*CFriendMessages_IsInFriendsUIBeta_Response\x12\x1b\n\x13online_in_friendsui\x18\x01 \x01(\x08\x12\x1a\n\x12has_used_friendsui\x18\x02 \x01(\x08\"\x86\x02\n,CFriendMessages_IncomingMessage_Notification\x12\x16\n\x0esteamid_friend\x18\x01 \x01(\x06\x12\x17\n\x0f\x63hat_entry_type\x18\x02 \x01(\x05\x12\x1c\n\x14\x66rom_limited_account\x18\x03 \x01(\x08\x12\x0f\n\x07message\x18\x04 \x01(\t\x12 \n\x18rtime32_server_timestamp\x18\x05 \x01(\x07\x12\x0f\n\x07ordinal\x18\x06 \x01(\r\x12\x12\n\nlocal_echo\x18\x07 \x01(\x08\x12\x19\n\x11message_no_bbcode\x18\x08 \x01(\t\x12\x14\n\x0clow_priority\x18\t \x01(\x08\x32\x8c\x07\n\x0e\x46riendMessages\x12\xa5\x01\n\x11GetRecentMessages\x12*.CFriendMessages_GetRecentMessages_Request\x1a+.CFriendMessages_GetRecentMessages_Response\"7\x82\xb5\x18\x33Get a log of recent chat messages between two users\x12\xc0\x01\n\x18GetActiveMessageSessions\x12\x32.CFriendsMessages_GetActiveMessageSessions_Request\x1a\x33.CFriendsMessages_GetActiveMessageSessions_Response\";\x82\xb5\x18\x37Get information about recent offline messages and chats\x12\x7f\n\x0bSendMessage\x12$.CFriendMessages_SendMessage_Request\x1a%.CFriendMessages_SendMessage_Response\"#\x82\xb5\x18\x1fSend a chat message to a friend\x12\x8c\x01\n\nAckMessage\x12(.CFriendMessages_AckMessage_Notification\x1a\x0b.NoResponse\"G\x82\xb5\x18\x43\x41\x63knowledge that we have seen the most recent message from a friend\x12\x9b\x01\n\x11IsInFriendsUIBeta\x12*.CFriendMessages_IsInFriendsUIBeta_Request\x1a+.CFriendMessages_IsInFriendsUIBeta_Response\"-\x82\xb5\x18)See if a friend is in the friendsui beta.\x1a\x61\x82\xb5\x18]A service for relaying and logging friend messages (user-to-user chats and offline messaging)2\xa0\x02\n\x14\x46riendMessagesClient\x12r\n\x0fIncomingMessage\x12-.CFriendMessages_IncomingMessage_Notification\x1a\x0b.NoResponse\"#\x82\xb5\x18\x1fNew chat message from a friend.\x12\x8d\x01\n\x14NotifyAckMessageEcho\x12(.CFriendMessages_AckMessage_Notification\x1a\x0b.NoResponse\">\x82\xb5\x18:A session acked an unread message, echo to other sessions.\x1a\x04\xc0\xb5\x18\x02\x42\x03\x90\x01\x01') + , + dependencies=[steammessages__unified__base__pb2.DESCRIPTOR,]) +_sym_db.RegisterFileDescriptor(DESCRIPTOR) + + + + +_CFRIENDMESSAGES_GETRECENTMESSAGES_REQUEST = _descriptor.Descriptor( + name='CFriendMessages_GetRecentMessages_Request', + full_name='CFriendMessages_GetRecentMessages_Request', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='steamid1', full_name='CFriendMessages_GetRecentMessages_Request.steamid1', index=0, + number=1, type=6, cpp_type=4, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None), + _descriptor.FieldDescriptor( + name='steamid2', full_name='CFriendMessages_GetRecentMessages_Request.steamid2', index=1, + number=2, type=6, cpp_type=4, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None), + _descriptor.FieldDescriptor( + name='count', full_name='CFriendMessages_GetRecentMessages_Request.count', index=2, + number=3, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\202\265\0309If non-zero, cap the number of recent messages to return.'))), + _descriptor.FieldDescriptor( + name='most_recent_conversation', full_name='CFriendMessages_GetRecentMessages_Request.most_recent_conversation', index=3, + number=4, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\202\265\030MGrab the block of chat from the most recent conversation (a ~5 minute period)'))), + _descriptor.FieldDescriptor( + name='rtime32_start_time', full_name='CFriendMessages_GetRecentMessages_Request.rtime32_start_time', index=4, + number=5, type=7, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\202\265\030\207\001If non-zero, return only messages with timestamps greater or equal to this. If zero, we only return messages from a recent time cutoff.'))), + _descriptor.FieldDescriptor( + name='bbcode_format', full_name='CFriendMessages_GetRecentMessages_Request.bbcode_format', index=5, + number=6, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\202\265\030*Return the results with bbcode formatting.'))), + _descriptor.FieldDescriptor( + name='start_ordinal', full_name='CFriendMessages_GetRecentMessages_Request.start_ordinal', index=6, + number=7, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\202\265\030iCombined with start time, only messages after this ordinal are returned (dedupes messages in same second)'))), + _descriptor.FieldDescriptor( + name='time_last', full_name='CFriendMessages_GetRecentMessages_Request.time_last', index=7, + number=8, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\202\265\0306if present/non-zero, return only messages before this.'))), + _descriptor.FieldDescriptor( + name='ordinal_last', full_name='CFriendMessages_GetRecentMessages_Request.ordinal_last', index=8, + number=9, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto2', + extension_ranges=[], + oneofs=[ + ], + serialized_start=73, + serialized_end=826, +) + + +_CFRIENDMESSAGES_GETRECENTMESSAGES_RESPONSE_FRIENDMESSAGE = _descriptor.Descriptor( + name='FriendMessage', + full_name='CFriendMessages_GetRecentMessages_Response.FriendMessage', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='accountid', full_name='CFriendMessages_GetRecentMessages_Response.FriendMessage.accountid', index=0, + number=1, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None), + _descriptor.FieldDescriptor( + name='timestamp', full_name='CFriendMessages_GetRecentMessages_Response.FriendMessage.timestamp', index=1, + number=2, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None), + _descriptor.FieldDescriptor( + name='message', full_name='CFriendMessages_GetRecentMessages_Response.FriendMessage.message', index=2, + number=3, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=_b("").decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None), + _descriptor.FieldDescriptor( + name='ordinal', full_name='CFriendMessages_GetRecentMessages_Response.FriendMessage.ordinal', index=3, + number=4, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto2', + extension_ranges=[], + oneofs=[ + ], + serialized_start=1027, + serialized_end=1114, +) + +_CFRIENDMESSAGES_GETRECENTMESSAGES_RESPONSE = _descriptor.Descriptor( + name='CFriendMessages_GetRecentMessages_Response', + full_name='CFriendMessages_GetRecentMessages_Response', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='messages', full_name='CFriendMessages_GetRecentMessages_Response.messages', index=0, + number=1, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\202\265\030-Array of messages, returned newest to oldest.'))), + _descriptor.FieldDescriptor( + name='more_available', full_name='CFriendMessages_GetRecentMessages_Response.more_available', index=1, + number=4, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None), + ], + extensions=[ + ], + nested_types=[_CFRIENDMESSAGES_GETRECENTMESSAGES_RESPONSE_FRIENDMESSAGE, ], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto2', + extension_ranges=[], + oneofs=[ + ], + serialized_start=829, + serialized_end=1114, +) + + +_CFRIENDSMESSAGES_GETACTIVEMESSAGESESSIONS_REQUEST = _descriptor.Descriptor( + name='CFriendsMessages_GetActiveMessageSessions_Request', + full_name='CFriendsMessages_GetActiveMessageSessions_Request', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='lastmessage_since', full_name='CFriendsMessages_GetActiveMessageSessions_Request.lastmessage_since', index=0, + number=1, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\202\265\030`return only session information where a chat message has been sent since this time (for polling)'))), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto2', + extension_ranges=[], + oneofs=[ + ], + serialized_start=1117, + serialized_end=1297, +) + + +_CFRIENDSMESSAGES_GETACTIVEMESSAGESESSIONS_RESPONSE_FRIENDMESSAGESESSION = _descriptor.Descriptor( + name='FriendMessageSession', + full_name='CFriendsMessages_GetActiveMessageSessions_Response.FriendMessageSession', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='accountid_friend', full_name='CFriendsMessages_GetActiveMessageSessions_Response.FriendMessageSession.accountid_friend', index=0, + number=1, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None), + _descriptor.FieldDescriptor( + name='last_message', full_name='CFriendsMessages_GetActiveMessageSessions_Response.FriendMessageSession.last_message', index=1, + number=2, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None), + _descriptor.FieldDescriptor( + name='last_view', full_name='CFriendsMessages_GetActiveMessageSessions_Response.FriendMessageSession.last_view', index=2, + number=3, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None), + _descriptor.FieldDescriptor( + name='unread_message_count', full_name='CFriendsMessages_GetActiveMessageSessions_Response.FriendMessageSession.unread_message_count', index=3, + number=4, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto2', + extension_ranges=[], + oneofs=[ + ], + serialized_start=1561, + serialized_end=1680, +) + +_CFRIENDSMESSAGES_GETACTIVEMESSAGESESSIONS_RESPONSE = _descriptor.Descriptor( + name='CFriendsMessages_GetActiveMessageSessions_Response', + full_name='CFriendsMessages_GetActiveMessageSessions_Response', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='message_sessions', full_name='CFriendsMessages_GetActiveMessageSessions_Response.message_sessions', index=0, + number=1, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None), + _descriptor.FieldDescriptor( + name='timestamp', full_name='CFriendsMessages_GetActiveMessageSessions_Response.timestamp', index=1, + number=2, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\202\265\030RThis should be passed in the next request as lastmessage_since to poll for updates'))), + ], + extensions=[ + ], + nested_types=[_CFRIENDSMESSAGES_GETACTIVEMESSAGESESSIONS_RESPONSE_FRIENDMESSAGESESSION, ], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto2', + extension_ranges=[], + oneofs=[ + ], + serialized_start=1300, + serialized_end=1680, +) + + +_CFRIENDMESSAGES_SENDMESSAGE_REQUEST = _descriptor.Descriptor( + name='CFriendMessages_SendMessage_Request', + full_name='CFriendMessages_SendMessage_Request', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='steamid', full_name='CFriendMessages_SendMessage_Request.steamid', index=0, + number=1, type=6, cpp_type=4, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None), + _descriptor.FieldDescriptor( + name='chat_entry_type', full_name='CFriendMessages_SendMessage_Request.chat_entry_type', index=1, + number=2, type=5, cpp_type=1, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None), + _descriptor.FieldDescriptor( + name='message', full_name='CFriendMessages_SendMessage_Request.message', index=2, + number=3, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=_b("").decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None), + _descriptor.FieldDescriptor( + name='contains_bbcode', full_name='CFriendMessages_SendMessage_Request.contains_bbcode', index=3, + number=4, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None), + _descriptor.FieldDescriptor( + name='echo_to_sender', full_name='CFriendMessages_SendMessage_Request.echo_to_sender', index=4, + number=5, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None), + _descriptor.FieldDescriptor( + name='low_priority', full_name='CFriendMessages_SendMessage_Request.low_priority', index=5, + number=6, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto2', + extension_ranges=[], + oneofs=[ + ], + serialized_start=1683, + serialized_end=1850, +) + + +_CFRIENDMESSAGES_SENDMESSAGE_RESPONSE = _descriptor.Descriptor( + name='CFriendMessages_SendMessage_Response', + full_name='CFriendMessages_SendMessage_Response', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='modified_message', full_name='CFriendMessages_SendMessage_Response.modified_message', index=0, + number=1, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=_b("").decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None), + _descriptor.FieldDescriptor( + name='server_timestamp', full_name='CFriendMessages_SendMessage_Response.server_timestamp', index=1, + number=2, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None), + _descriptor.FieldDescriptor( + name='ordinal', full_name='CFriendMessages_SendMessage_Response.ordinal', index=2, + number=3, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto2', + extension_ranges=[], + oneofs=[ + ], + serialized_start=1852, + serialized_end=1959, +) + + +_CFRIENDMESSAGES_ACKMESSAGE_NOTIFICATION = _descriptor.Descriptor( + name='CFriendMessages_AckMessage_Notification', + full_name='CFriendMessages_AckMessage_Notification', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='steamid_partner', full_name='CFriendMessages_AckMessage_Notification.steamid_partner', index=0, + number=1, type=6, cpp_type=4, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None), + _descriptor.FieldDescriptor( + name='timestamp', full_name='CFriendMessages_AckMessage_Notification.timestamp', index=1, + number=2, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto2', + extension_ranges=[], + oneofs=[ + ], + serialized_start=1961, + serialized_end=2046, +) + + +_CFRIENDMESSAGES_ISINFRIENDSUIBETA_REQUEST = _descriptor.Descriptor( + name='CFriendMessages_IsInFriendsUIBeta_Request', + full_name='CFriendMessages_IsInFriendsUIBeta_Request', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='steamid', full_name='CFriendMessages_IsInFriendsUIBeta_Request.steamid', index=0, + number=1, type=6, cpp_type=4, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto2', + extension_ranges=[], + oneofs=[ + ], + serialized_start=2048, + serialized_end=2108, +) + + +_CFRIENDMESSAGES_ISINFRIENDSUIBETA_RESPONSE = _descriptor.Descriptor( + name='CFriendMessages_IsInFriendsUIBeta_Response', + full_name='CFriendMessages_IsInFriendsUIBeta_Response', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='online_in_friendsui', full_name='CFriendMessages_IsInFriendsUIBeta_Response.online_in_friendsui', index=0, + number=1, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None), + _descriptor.FieldDescriptor( + name='has_used_friendsui', full_name='CFriendMessages_IsInFriendsUIBeta_Response.has_used_friendsui', index=1, + number=2, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto2', + extension_ranges=[], + oneofs=[ + ], + serialized_start=2110, + serialized_end=2211, +) + + +_CFRIENDMESSAGES_INCOMINGMESSAGE_NOTIFICATION = _descriptor.Descriptor( + name='CFriendMessages_IncomingMessage_Notification', + full_name='CFriendMessages_IncomingMessage_Notification', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='steamid_friend', full_name='CFriendMessages_IncomingMessage_Notification.steamid_friend', index=0, + number=1, type=6, cpp_type=4, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None), + _descriptor.FieldDescriptor( + name='chat_entry_type', full_name='CFriendMessages_IncomingMessage_Notification.chat_entry_type', index=1, + number=2, type=5, cpp_type=1, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None), + _descriptor.FieldDescriptor( + name='from_limited_account', full_name='CFriendMessages_IncomingMessage_Notification.from_limited_account', index=2, + number=3, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None), + _descriptor.FieldDescriptor( + name='message', full_name='CFriendMessages_IncomingMessage_Notification.message', index=3, + number=4, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=_b("").decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None), + _descriptor.FieldDescriptor( + name='rtime32_server_timestamp', full_name='CFriendMessages_IncomingMessage_Notification.rtime32_server_timestamp', index=4, + number=5, type=7, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None), + _descriptor.FieldDescriptor( + name='ordinal', full_name='CFriendMessages_IncomingMessage_Notification.ordinal', index=5, + number=6, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None), + _descriptor.FieldDescriptor( + name='local_echo', full_name='CFriendMessages_IncomingMessage_Notification.local_echo', index=6, + number=7, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None), + _descriptor.FieldDescriptor( + name='message_no_bbcode', full_name='CFriendMessages_IncomingMessage_Notification.message_no_bbcode', index=7, + number=8, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=_b("").decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None), + _descriptor.FieldDescriptor( + name='low_priority', full_name='CFriendMessages_IncomingMessage_Notification.low_priority', index=8, + number=9, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto2', + extension_ranges=[], + oneofs=[ + ], + serialized_start=2214, + serialized_end=2476, +) + +_CFRIENDMESSAGES_GETRECENTMESSAGES_RESPONSE_FRIENDMESSAGE.containing_type = _CFRIENDMESSAGES_GETRECENTMESSAGES_RESPONSE +_CFRIENDMESSAGES_GETRECENTMESSAGES_RESPONSE.fields_by_name['messages'].message_type = _CFRIENDMESSAGES_GETRECENTMESSAGES_RESPONSE_FRIENDMESSAGE +_CFRIENDSMESSAGES_GETACTIVEMESSAGESESSIONS_RESPONSE_FRIENDMESSAGESESSION.containing_type = _CFRIENDSMESSAGES_GETACTIVEMESSAGESESSIONS_RESPONSE +_CFRIENDSMESSAGES_GETACTIVEMESSAGESESSIONS_RESPONSE.fields_by_name['message_sessions'].message_type = _CFRIENDSMESSAGES_GETACTIVEMESSAGESESSIONS_RESPONSE_FRIENDMESSAGESESSION +DESCRIPTOR.message_types_by_name['CFriendMessages_GetRecentMessages_Request'] = _CFRIENDMESSAGES_GETRECENTMESSAGES_REQUEST +DESCRIPTOR.message_types_by_name['CFriendMessages_GetRecentMessages_Response'] = _CFRIENDMESSAGES_GETRECENTMESSAGES_RESPONSE +DESCRIPTOR.message_types_by_name['CFriendsMessages_GetActiveMessageSessions_Request'] = _CFRIENDSMESSAGES_GETACTIVEMESSAGESESSIONS_REQUEST +DESCRIPTOR.message_types_by_name['CFriendsMessages_GetActiveMessageSessions_Response'] = _CFRIENDSMESSAGES_GETACTIVEMESSAGESESSIONS_RESPONSE +DESCRIPTOR.message_types_by_name['CFriendMessages_SendMessage_Request'] = _CFRIENDMESSAGES_SENDMESSAGE_REQUEST +DESCRIPTOR.message_types_by_name['CFriendMessages_SendMessage_Response'] = _CFRIENDMESSAGES_SENDMESSAGE_RESPONSE +DESCRIPTOR.message_types_by_name['CFriendMessages_AckMessage_Notification'] = _CFRIENDMESSAGES_ACKMESSAGE_NOTIFICATION +DESCRIPTOR.message_types_by_name['CFriendMessages_IsInFriendsUIBeta_Request'] = _CFRIENDMESSAGES_ISINFRIENDSUIBETA_REQUEST +DESCRIPTOR.message_types_by_name['CFriendMessages_IsInFriendsUIBeta_Response'] = _CFRIENDMESSAGES_ISINFRIENDSUIBETA_RESPONSE +DESCRIPTOR.message_types_by_name['CFriendMessages_IncomingMessage_Notification'] = _CFRIENDMESSAGES_INCOMINGMESSAGE_NOTIFICATION + +CFriendMessages_GetRecentMessages_Request = _reflection.GeneratedProtocolMessageType('CFriendMessages_GetRecentMessages_Request', (_message.Message,), dict( + DESCRIPTOR = _CFRIENDMESSAGES_GETRECENTMESSAGES_REQUEST, + __module__ = 'steammessages_friendmessages_pb2' + # @@protoc_insertion_point(class_scope:CFriendMessages_GetRecentMessages_Request) + )) +_sym_db.RegisterMessage(CFriendMessages_GetRecentMessages_Request) + +CFriendMessages_GetRecentMessages_Response = _reflection.GeneratedProtocolMessageType('CFriendMessages_GetRecentMessages_Response', (_message.Message,), dict( + + FriendMessage = _reflection.GeneratedProtocolMessageType('FriendMessage', (_message.Message,), dict( + DESCRIPTOR = _CFRIENDMESSAGES_GETRECENTMESSAGES_RESPONSE_FRIENDMESSAGE, + __module__ = 'steammessages_friendmessages_pb2' + # @@protoc_insertion_point(class_scope:CFriendMessages_GetRecentMessages_Response.FriendMessage) + )) + , + DESCRIPTOR = _CFRIENDMESSAGES_GETRECENTMESSAGES_RESPONSE, + __module__ = 'steammessages_friendmessages_pb2' + # @@protoc_insertion_point(class_scope:CFriendMessages_GetRecentMessages_Response) + )) +_sym_db.RegisterMessage(CFriendMessages_GetRecentMessages_Response) +_sym_db.RegisterMessage(CFriendMessages_GetRecentMessages_Response.FriendMessage) + +CFriendsMessages_GetActiveMessageSessions_Request = _reflection.GeneratedProtocolMessageType('CFriendsMessages_GetActiveMessageSessions_Request', (_message.Message,), dict( + DESCRIPTOR = _CFRIENDSMESSAGES_GETACTIVEMESSAGESESSIONS_REQUEST, + __module__ = 'steammessages_friendmessages_pb2' + # @@protoc_insertion_point(class_scope:CFriendsMessages_GetActiveMessageSessions_Request) + )) +_sym_db.RegisterMessage(CFriendsMessages_GetActiveMessageSessions_Request) + +CFriendsMessages_GetActiveMessageSessions_Response = _reflection.GeneratedProtocolMessageType('CFriendsMessages_GetActiveMessageSessions_Response', (_message.Message,), dict( + + FriendMessageSession = _reflection.GeneratedProtocolMessageType('FriendMessageSession', (_message.Message,), dict( + DESCRIPTOR = _CFRIENDSMESSAGES_GETACTIVEMESSAGESESSIONS_RESPONSE_FRIENDMESSAGESESSION, + __module__ = 'steammessages_friendmessages_pb2' + # @@protoc_insertion_point(class_scope:CFriendsMessages_GetActiveMessageSessions_Response.FriendMessageSession) + )) + , + DESCRIPTOR = _CFRIENDSMESSAGES_GETACTIVEMESSAGESESSIONS_RESPONSE, + __module__ = 'steammessages_friendmessages_pb2' + # @@protoc_insertion_point(class_scope:CFriendsMessages_GetActiveMessageSessions_Response) + )) +_sym_db.RegisterMessage(CFriendsMessages_GetActiveMessageSessions_Response) +_sym_db.RegisterMessage(CFriendsMessages_GetActiveMessageSessions_Response.FriendMessageSession) + +CFriendMessages_SendMessage_Request = _reflection.GeneratedProtocolMessageType('CFriendMessages_SendMessage_Request', (_message.Message,), dict( + DESCRIPTOR = _CFRIENDMESSAGES_SENDMESSAGE_REQUEST, + __module__ = 'steammessages_friendmessages_pb2' + # @@protoc_insertion_point(class_scope:CFriendMessages_SendMessage_Request) + )) +_sym_db.RegisterMessage(CFriendMessages_SendMessage_Request) + +CFriendMessages_SendMessage_Response = _reflection.GeneratedProtocolMessageType('CFriendMessages_SendMessage_Response', (_message.Message,), dict( + DESCRIPTOR = _CFRIENDMESSAGES_SENDMESSAGE_RESPONSE, + __module__ = 'steammessages_friendmessages_pb2' + # @@protoc_insertion_point(class_scope:CFriendMessages_SendMessage_Response) + )) +_sym_db.RegisterMessage(CFriendMessages_SendMessage_Response) + +CFriendMessages_AckMessage_Notification = _reflection.GeneratedProtocolMessageType('CFriendMessages_AckMessage_Notification', (_message.Message,), dict( + DESCRIPTOR = _CFRIENDMESSAGES_ACKMESSAGE_NOTIFICATION, + __module__ = 'steammessages_friendmessages_pb2' + # @@protoc_insertion_point(class_scope:CFriendMessages_AckMessage_Notification) + )) +_sym_db.RegisterMessage(CFriendMessages_AckMessage_Notification) + +CFriendMessages_IsInFriendsUIBeta_Request = _reflection.GeneratedProtocolMessageType('CFriendMessages_IsInFriendsUIBeta_Request', (_message.Message,), dict( + DESCRIPTOR = _CFRIENDMESSAGES_ISINFRIENDSUIBETA_REQUEST, + __module__ = 'steammessages_friendmessages_pb2' + # @@protoc_insertion_point(class_scope:CFriendMessages_IsInFriendsUIBeta_Request) + )) +_sym_db.RegisterMessage(CFriendMessages_IsInFriendsUIBeta_Request) + +CFriendMessages_IsInFriendsUIBeta_Response = _reflection.GeneratedProtocolMessageType('CFriendMessages_IsInFriendsUIBeta_Response', (_message.Message,), dict( + DESCRIPTOR = _CFRIENDMESSAGES_ISINFRIENDSUIBETA_RESPONSE, + __module__ = 'steammessages_friendmessages_pb2' + # @@protoc_insertion_point(class_scope:CFriendMessages_IsInFriendsUIBeta_Response) + )) +_sym_db.RegisterMessage(CFriendMessages_IsInFriendsUIBeta_Response) + +CFriendMessages_IncomingMessage_Notification = _reflection.GeneratedProtocolMessageType('CFriendMessages_IncomingMessage_Notification', (_message.Message,), dict( + DESCRIPTOR = _CFRIENDMESSAGES_INCOMINGMESSAGE_NOTIFICATION, + __module__ = 'steammessages_friendmessages_pb2' + # @@protoc_insertion_point(class_scope:CFriendMessages_IncomingMessage_Notification) + )) +_sym_db.RegisterMessage(CFriendMessages_IncomingMessage_Notification) + + +DESCRIPTOR.has_options = True +DESCRIPTOR._options = _descriptor._ParseOptions(descriptor_pb2.FileOptions(), _b('\220\001\001')) +_CFRIENDMESSAGES_GETRECENTMESSAGES_REQUEST.fields_by_name['count'].has_options = True +_CFRIENDMESSAGES_GETRECENTMESSAGES_REQUEST.fields_by_name['count']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\202\265\0309If non-zero, cap the number of recent messages to return.')) +_CFRIENDMESSAGES_GETRECENTMESSAGES_REQUEST.fields_by_name['most_recent_conversation'].has_options = True +_CFRIENDMESSAGES_GETRECENTMESSAGES_REQUEST.fields_by_name['most_recent_conversation']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\202\265\030MGrab the block of chat from the most recent conversation (a ~5 minute period)')) +_CFRIENDMESSAGES_GETRECENTMESSAGES_REQUEST.fields_by_name['rtime32_start_time'].has_options = True +_CFRIENDMESSAGES_GETRECENTMESSAGES_REQUEST.fields_by_name['rtime32_start_time']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\202\265\030\207\001If non-zero, return only messages with timestamps greater or equal to this. If zero, we only return messages from a recent time cutoff.')) +_CFRIENDMESSAGES_GETRECENTMESSAGES_REQUEST.fields_by_name['bbcode_format'].has_options = True +_CFRIENDMESSAGES_GETRECENTMESSAGES_REQUEST.fields_by_name['bbcode_format']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\202\265\030*Return the results with bbcode formatting.')) +_CFRIENDMESSAGES_GETRECENTMESSAGES_REQUEST.fields_by_name['start_ordinal'].has_options = True +_CFRIENDMESSAGES_GETRECENTMESSAGES_REQUEST.fields_by_name['start_ordinal']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\202\265\030iCombined with start time, only messages after this ordinal are returned (dedupes messages in same second)')) +_CFRIENDMESSAGES_GETRECENTMESSAGES_REQUEST.fields_by_name['time_last'].has_options = True +_CFRIENDMESSAGES_GETRECENTMESSAGES_REQUEST.fields_by_name['time_last']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\202\265\0306if present/non-zero, return only messages before this.')) +_CFRIENDMESSAGES_GETRECENTMESSAGES_RESPONSE.fields_by_name['messages'].has_options = True +_CFRIENDMESSAGES_GETRECENTMESSAGES_RESPONSE.fields_by_name['messages']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\202\265\030-Array of messages, returned newest to oldest.')) +_CFRIENDSMESSAGES_GETACTIVEMESSAGESESSIONS_REQUEST.fields_by_name['lastmessage_since'].has_options = True +_CFRIENDSMESSAGES_GETACTIVEMESSAGESESSIONS_REQUEST.fields_by_name['lastmessage_since']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\202\265\030`return only session information where a chat message has been sent since this time (for polling)')) +_CFRIENDSMESSAGES_GETACTIVEMESSAGESESSIONS_RESPONSE.fields_by_name['timestamp'].has_options = True +_CFRIENDSMESSAGES_GETACTIVEMESSAGESESSIONS_RESPONSE.fields_by_name['timestamp']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\202\265\030RThis should be passed in the next request as lastmessage_since to poll for updates')) + +_FRIENDMESSAGES = _descriptor.ServiceDescriptor( + name='FriendMessages', + full_name='FriendMessages', + file=DESCRIPTOR, + index=0, + options=_descriptor._ParseOptions(descriptor_pb2.ServiceOptions(), _b('\202\265\030]A service for relaying and logging friend messages (user-to-user chats and offline messaging)')), + serialized_start=2479, + serialized_end=3387, + methods=[ + _descriptor.MethodDescriptor( + name='GetRecentMessages', + full_name='FriendMessages.GetRecentMessages', + index=0, + containing_service=None, + input_type=_CFRIENDMESSAGES_GETRECENTMESSAGES_REQUEST, + output_type=_CFRIENDMESSAGES_GETRECENTMESSAGES_RESPONSE, + options=_descriptor._ParseOptions(descriptor_pb2.MethodOptions(), _b('\202\265\0303Get a log of recent chat messages between two users')), + ), + _descriptor.MethodDescriptor( + name='GetActiveMessageSessions', + full_name='FriendMessages.GetActiveMessageSessions', + index=1, + containing_service=None, + input_type=_CFRIENDSMESSAGES_GETACTIVEMESSAGESESSIONS_REQUEST, + output_type=_CFRIENDSMESSAGES_GETACTIVEMESSAGESESSIONS_RESPONSE, + options=_descriptor._ParseOptions(descriptor_pb2.MethodOptions(), _b('\202\265\0307Get information about recent offline messages and chats')), + ), + _descriptor.MethodDescriptor( + name='SendMessage', + full_name='FriendMessages.SendMessage', + index=2, + containing_service=None, + input_type=_CFRIENDMESSAGES_SENDMESSAGE_REQUEST, + output_type=_CFRIENDMESSAGES_SENDMESSAGE_RESPONSE, + options=_descriptor._ParseOptions(descriptor_pb2.MethodOptions(), _b('\202\265\030\037Send a chat message to a friend')), + ), + _descriptor.MethodDescriptor( + name='AckMessage', + full_name='FriendMessages.AckMessage', + index=3, + containing_service=None, + input_type=_CFRIENDMESSAGES_ACKMESSAGE_NOTIFICATION, + output_type=steammessages__unified__base__pb2._NORESPONSE, + options=_descriptor._ParseOptions(descriptor_pb2.MethodOptions(), _b('\202\265\030CAcknowledge that we have seen the most recent message from a friend')), + ), + _descriptor.MethodDescriptor( + name='IsInFriendsUIBeta', + full_name='FriendMessages.IsInFriendsUIBeta', + index=4, + containing_service=None, + input_type=_CFRIENDMESSAGES_ISINFRIENDSUIBETA_REQUEST, + output_type=_CFRIENDMESSAGES_ISINFRIENDSUIBETA_RESPONSE, + options=_descriptor._ParseOptions(descriptor_pb2.MethodOptions(), _b('\202\265\030)See if a friend is in the friendsui beta.')), + ), +]) + +FriendMessages = service_reflection.GeneratedServiceType('FriendMessages', (_service.Service,), dict( + DESCRIPTOR = _FRIENDMESSAGES, + __module__ = 'steammessages_friendmessages_pb2' + )) + +FriendMessages_Stub = service_reflection.GeneratedServiceStubType('FriendMessages_Stub', (FriendMessages,), dict( + DESCRIPTOR = _FRIENDMESSAGES, + __module__ = 'steammessages_friendmessages_pb2' + )) + + + +_FRIENDMESSAGESCLIENT = _descriptor.ServiceDescriptor( + name='FriendMessagesClient', + full_name='FriendMessagesClient', + file=DESCRIPTOR, + index=1, + options=_descriptor._ParseOptions(descriptor_pb2.ServiceOptions(), _b('\300\265\030\002')), + serialized_start=3390, + serialized_end=3678, + methods=[ + _descriptor.MethodDescriptor( + name='IncomingMessage', + full_name='FriendMessagesClient.IncomingMessage', + index=0, + containing_service=None, + input_type=_CFRIENDMESSAGES_INCOMINGMESSAGE_NOTIFICATION, + output_type=steammessages__unified__base__pb2._NORESPONSE, + options=_descriptor._ParseOptions(descriptor_pb2.MethodOptions(), _b('\202\265\030\037New chat message from a friend.')), + ), + _descriptor.MethodDescriptor( + name='NotifyAckMessageEcho', + full_name='FriendMessagesClient.NotifyAckMessageEcho', + index=1, + containing_service=None, + input_type=_CFRIENDMESSAGES_ACKMESSAGE_NOTIFICATION, + output_type=steammessages__unified__base__pb2._NORESPONSE, + options=_descriptor._ParseOptions(descriptor_pb2.MethodOptions(), _b('\202\265\030:A session acked an unread message, echo to other sessions.')), + ), +]) + +FriendMessagesClient = service_reflection.GeneratedServiceType('FriendMessagesClient', (_service.Service,), dict( + DESCRIPTOR = _FRIENDMESSAGESCLIENT, + __module__ = 'steammessages_friendmessages_pb2' + )) + +FriendMessagesClient_Stub = service_reflection.GeneratedServiceStubType('FriendMessagesClient_Stub', (FriendMessagesClient,), dict( + DESCRIPTOR = _FRIENDMESSAGESCLIENT, + __module__ = 'steammessages_friendmessages_pb2' + )) + + +# @@protoc_insertion_point(module_scope) diff --git a/steam/protobufs/steammessages_publishedfile_pb2.py b/steam/protobufs/steammessages_publishedfile_pb2.py index ce25b7e..0569e98 100644 --- a/steam/protobufs/steammessages_publishedfile_pb2.py +++ b/steam/protobufs/steammessages_publishedfile_pb2.py @@ -23,7 +23,7 @@ DESCRIPTOR = _descriptor.FileDescriptor( name='steammessages_publishedfile.proto', package='', syntax='proto2', - serialized_pb=_b('\n!steammessages_publishedfile.proto\x1a steammessages_unified_base.proto\"t\n CPublishedFile_Subscribe_Request\x12\x17\n\x0fpublishedfileid\x18\x01 \x01(\x04\x12\x11\n\tlist_type\x18\x02 \x01(\r\x12\r\n\x05\x61ppid\x18\x03 \x01(\x05\x12\x15\n\rnotify_client\x18\x04 \x01(\x08\"#\n!CPublishedFile_Subscribe_Response\"v\n\"CPublishedFile_Unsubscribe_Request\x12\x17\n\x0fpublishedfileid\x18\x01 \x01(\x04\x12\x11\n\tlist_type\x18\x02 \x01(\r\x12\r\n\x05\x61ppid\x18\x03 \x01(\x05\x12\x15\n\rnotify_client\x18\x04 \x01(\x08\"%\n#CPublishedFile_Unsubscribe_Response\">\n#CPublishedFile_CanSubscribe_Request\x12\x17\n\x0fpublishedfileid\x18\x01 \x01(\x04\"=\n$CPublishedFile_CanSubscribe_Response\x12\x15\n\rcan_subscribe\x18\x01 \x01(\x08\"\xcc\n\n\x1e\x43PublishedFile_Publish_Request\x12<\n\x05\x61ppid\x18\x01 \x01(\rB-\x82\xb5\x18)App Id this file is being published FROM.\x12\x43\n\x0e\x63onsumer_appid\x18\x02 \x01(\rB+\x82\xb5\x18\'App Id this file is being published TO.\x12K\n\rcloudfilename\x18\x03 \x01(\tB4\x82\xb5\x18\x30Name of the file to publish in the user\'s cloud.\x12[\n\x15preview_cloudfilename\x18\x04 \x01(\tB<\x82\xb5\x18\x38Name of the file to use as the published file\'s preview.\x12\x35\n\x05title\x18\x05 \x01(\tB&\x82\xb5\x18\"Text title for the published file.\x12\x46\n\x10\x66ile_description\x18\x06 \x01(\tB,\x82\xb5\x18(Text description for the published file.\x12L\n\tfile_type\x18\x07 \x01(\rB9\x82\xb5\x18\x35(EWorkshopFileType) Type of Workshop file to publish.\x12I\n\x16\x63onsumer_shortcut_name\x18\x08 \x01(\tB)\x82\xb5\x18%Shortcut name for the published file.\x12I\n\x10youtube_username\x18\t \x01(\tB/\x82\xb5\x18+(Optional) User\'s YouTube account username.\x12\\\n\x0fyoutube_videoid\x18\n \x01(\tBC\x82\xb5\x18?(Optional) Video Id of a YouTube video for this published file.\x12\x81\x01\n\nvisibility\x18\x0b \x01(\rBm\x82\xb5\x18i(ERemoteStoragePublishedFileVisibility) Visibility of the published file (private, friends, public, etc.)\x12k\n\x0credirect_uri\x18\x0c \x01(\tBU\x82\xb5\x18Q(Optional) If supplied, the resulting published file\'s Id is appended to the URI.\x12\x44\n\x04tags\x18\r \x03(\tB6\x82\xb5\x18\x32\x41rray of text tags to apply to the published file.\x12Y\n\x0f\x63ollection_type\x18\x0e \x01(\tB@\x82\xb5\x18<(Optional) Type of collection the published file represents.\x12M\n\tgame_type\x18\x0f \x01(\tB:\x82\xb5\x18\x36(Optional) Type of game the published file represents.\x12[\n\x03url\x18\x10 \x01(\tBN\x82\xb5\x18J(Optional) If this represents a game, this is the URL to that game\'s page.\"P\n\x1f\x43PublishedFile_Publish_Response\x12\x17\n\x0fpublishedfileid\x18\x01 \x01(\x04\x12\x14\n\x0credirect_uri\x18\x02 \x01(\t\"\xad\x08\n!CPublishedFile_GetDetails_Request\x12P\n\x10publishedfileids\x18\x01 \x03(\x06\x42\x36\x82\xb5\x18\x32Set of published file Ids to retrieve details for.\x12Q\n\x0bincludetags\x18\x02 \x01(\x08\x42<\x82\xb5\x18\x38If true, return tag information in the returned details.\x12\x63\n\x19includeadditionalpreviews\x18\x03 \x01(\x08\x42@\x82\xb5\x18 \x01(\x04\x12\"\n\x1alifetime_playtime_sessions\x18? \x01(\x04\x12\r\n\x05views\x18* \x01(\r\x12\x13\n\x0bimage_width\x18+ \x01(\r\x12\x14\n\x0cimage_height\x18, \x01(\r\x12\x11\n\timage_url\x18- \x01(\t\x12\x13\n\x0bspoiler_tag\x18. \x01(\x08\x12\x12\n\nshortcutid\x18/ \x01(\r\x12\x14\n\x0cshortcutname\x18\x30 \x01(\t\x12\x14\n\x0cnum_children\x18\x31 \x01(\r\x12\x13\n\x0bnum_reports\x18\x32 \x01(\r\x12/\n\x08previews\x18\x33 \x03(\x0b\x32\x1d.PublishedFileDetails.Preview\x12\'\n\x04tags\x18\x34 \x03(\x0b\x32\x19.PublishedFileDetails.Tag\x12-\n\x08\x63hildren\x18\x35 \x03(\x0b\x32\x1b.PublishedFileDetails.Child\x12+\n\x06kvtags\x18\x36 \x03(\x0b\x32\x1b.PublishedFileDetails.KVTag\x12\x31\n\tvote_data\x18\x37 \x01(\x0b\x32\x1e.PublishedFileDetails.VoteData\x12;\n\x0eplaytime_stats\x18@ \x01(\x0b\x32#.PublishedFileDetails.PlaytimeStats\x12r\n\x0ftime_subscribed\x18\x38 \x01(\rBY\x82\xb5\x18UOnly valid in PublishedFile.GetUserFiles and not normal PublishedFile.GetDetail calls\x12\x61\n\rfor_sale_data\x18\x39 \x01(\x0b\x32!.PublishedFileDetails.ForSaleDataB\'\x82\xb5\x18#Pricing information, if applicable.\x12\x37\n\x08metadata\x18: \x01(\tB%\x82\xb5\x18!Metadata associated with the item\x12\x43\n\x08language\x18= \x01(\x05:\x01\x30\x42.\x82\xb5\x18*The language of the title and description.\x12\x1f\n\x17maybe_inappropriate_sex\x18\x41 \x01(\x08\x12$\n\x1cmaybe_inappropriate_violence\x18\x42 \x01(\x08\x1a%\n\x03Tag\x12\x0b\n\x03tag\x18\x01 \x01(\t\x12\x11\n\tadminonly\x18\x02 \x01(\x08\x1a\xa6\x01\n\x07Preview\x12\x11\n\tpreviewid\x18\x01 \x01(\x04\x12\x11\n\tsortorder\x18\x02 \x01(\r\x12\x0b\n\x03url\x18\x03 \x01(\t\x12\x0c\n\x04size\x18\x04 \x01(\r\x12\x10\n\x08\x66ilename\x18\x05 \x01(\t\x12\x16\n\x0eyoutubevideoid\x18\x06 \x01(\t\x12\x14\n\x0cpreview_type\x18\x07 \x01(\r\x12\x1a\n\x12\x65xternal_reference\x18\x08 \x01(\t\x1a\x46\n\x05\x43hild\x12\x17\n\x0fpublishedfileid\x18\x01 \x01(\x04\x12\x11\n\tsortorder\x18\x02 \x01(\r\x12\x11\n\tfile_type\x18\x03 \x01(\r\x1a#\n\x05KVTag\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t\x1a?\n\x08VoteData\x12\r\n\x05score\x18\x01 \x01(\x02\x12\x10\n\x08votes_up\x18\x02 \x01(\r\x12\x12\n\nvotes_down\x18\x03 \x01(\r\x1a\xdc\x01\n\x0b\x46orSaleData\x12\x13\n\x0bis_for_sale\x18\x01 \x01(\x08\x12\x16\n\x0eprice_category\x18\x02 \x01(\r\x12\x41\n\x07\x65status\x18\x03 \x01(\x0e\x32\x1c.EPublishedFileForSaleStatus:\x12k_PFFSS_NotForSale\x12\x1c\n\x14price_category_floor\x18\x04 \x01(\r\x12\"\n\x1aprice_is_pay_what_you_want\x18\x05 \x01(\x08\x12\x1b\n\x13\x64iscount_percentage\x18\x06 \x01(\r\x1a?\n\rPlaytimeStats\x12\x18\n\x10playtime_seconds\x18\x01 \x01(\x04\x12\x14\n\x0cnum_sessions\x18\x02 \x01(\x04\"Y\n\"CPublishedFile_GetDetails_Response\x12\x33\n\x14publishedfiledetails\x18\x01 \x03(\x0b\x32\x15.PublishedFileDetails\"\xda\x01\n\"CPublishedFile_GetItemInfo_Request\x12\x0e\n\x06\x61pp_id\x18\x01 \x01(\r\x12\x19\n\x11last_time_updated\x18\x02 \x01(\r\x12H\n\x0eworkshop_items\x18\x03 \x03(\x0b\x32\x30.CPublishedFile_GetItemInfo_Request.WorkshopItem\x1a?\n\x0cWorkshopItem\x12\x19\n\x11published_file_id\x18\x01 \x01(\x06\x12\x14\n\x0ctime_updated\x18\x02 \x01(\r\"\xf2\x01\n#CPublishedFile_GetItemInfo_Response\x12\x13\n\x0bupdate_time\x18\x01 \x01(\r\x12M\n\x0eworkshop_items\x18\x02 \x03(\x0b\x32\x35.CPublishedFile_GetItemInfo_Response.WorkshopItemInfo\x1ag\n\x10WorkshopItemInfo\x12\x19\n\x11published_file_id\x18\x01 \x01(\x06\x12\x14\n\x0ctime_updated\x18\x02 \x01(\r\x12\x13\n\x0bmanifest_id\x18\x03 \x01(\x06\x12\r\n\x05\x66lags\x18\x04 \x01(\r\"\xa7\x12\n#CPublishedFile_GetUserFiles_Request\x12J\n\x07steamid\x18\x01 \x01(\x06\x42\x39\x82\xb5\x18\x35Steam ID of the user whose files are being requested.\x12\x46\n\x05\x61ppid\x18\x02 \x01(\rB7\x82\xb5\x18\x33\x41pp Id of the app that the files were published to.\x12:\n\x04page\x18\x04 \x01(\r:\x01\x31\x42)\x82\xb5\x18%(Optional) Starting page for results.\x12P\n\nnumperpage\x18\x05 \x01(\r:\x01\x31\x42\x39\x82\xb5\x18\x35(Optional) The number of results, per page to return.\x12\x43\n\x04type\x18\x06 \x01(\t:\x07myfilesB,\x82\xb5\x18((Optional) Type of files to be returned.\x12Y\n\nsortmethod\x18\x07 \x01(\t:\x0blastupdatedB8\x82\xb5\x18\x34(Optional) Sorting method to use on returned values.\x12;\n\x07privacy\x18\t \x01(\rB*\x82\xb5\x18&(optional) Filter by privacy settings.\x12h\n\x0crequiredtags\x18\n \x03(\tBR\x82\xb5\x18N(Optional) Tags that must be present on a published file to satisfy the query.\x12l\n\x0c\x65xcludedtags\x18\x0b \x03(\tBV\x82\xb5\x18R(Optional) Tags that must NOT be present on a published file to satisfy the query.\x12n\n\x10required_kv_tags\x18\x1e \x03(\x0b\x32*.CPublishedFile_GetUserFiles_Request.KVTagB(\x82\xb5\x18$Required key-value tags to match on.\x12=\n\x08\x66iletype\x18\x0e \x01(\rB+\x82\xb5\x18\'(Optional) File type to match files to.\x12\x61\n\rcreator_appid\x18\x0f \x01(\rBJ\x82\xb5\x18\x46\x41pp Id of the app that published the files, only matched if specified.\x12I\n\x14match_cloud_filename\x18\x10 \x01(\tB+\x82\xb5\x18\'Match this cloud filename if specified.\x12j\n\x15\x63\x61\x63he_max_age_seconds\x18\x1b \x01(\r:\x01\x30\x42H\x82\xb5\x18\x44\x41llow stale data to be returned for the specified number of seconds.\x12U\n\x08language\x18\x1d \x01(\x05:\x01\x30\x42@\x82\xb5\x18\x82\xb5\x18:Return preview image and video details in the file details\x12\x46\n\x0freturn_children\x18\x17 \x01(\x08\x42-\x82\xb5\x18)Return child item ids in the file details\x12l\n\x18return_short_description\x18\x18 \x01(\x08:\x04trueBD\x82\xb5\x18@Populate the short_description field instead of file_description\x12K\n\x14return_for_sale_data\x18\x1a \x01(\x08\x42-\x82\xb5\x18)Return pricing information, if applicable\x12?\n\x0freturn_metadata\x18\x1c \x01(\x08:\x05\x66\x61lseB\x1f\x82\xb5\x18\x1bPopulate the metadata field\x12g\n\x15return_playtime_stats\x18\x1f \x01(\rBH\x82\xb5\x18\x44Return playtime stats for the specified number of days before today.\x12\x46\n\x18strip_description_bbcode\x18 \x01(\x08\x42$\x82\xb5\x18 Strips BBCode from descriptions.\x1a#\n\x05KVTag\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t\"\x80\x02\n$CPublishedFile_GetUserFiles_Response\x12\r\n\x05total\x18\x01 \x01(\r\x12\x12\n\nstartindex\x18\x02 \x01(\r\x12\x33\n\x14publishedfiledetails\x18\x03 \x03(\x0b\x32\x15.PublishedFileDetails\x12\x37\n\x04\x61pps\x18\x04 \x03(\x0b\x32).CPublishedFile_GetUserFiles_Response.App\x1aG\n\x03\x41pp\x12\r\n\x05\x61ppid\x18\x01 \x01(\r\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x12\n\nshortcutid\x18\x03 \x01(\r\x12\x0f\n\x07private\x18\x04 \x01(\x08\"\x91\x06\n\x1d\x43PublishedFile_Update_Request\x12\x39\n\x05\x61ppid\x18\x01 \x01(\rB*\x82\xb5\x18&App Id this published file belongs to.\x12L\n\x0fpublishedfileid\x18\x02 \x01(\x06\x42\x33\x82\xb5\x18/Published file id of the file we\'d like update.\x12:\n\x05title\x18\x03 \x01(\tB+\x82\xb5\x18\'(Optional) Title of the published file.\x12K\n\x10\x66ile_description\x18\x04 \x01(\tB1\x82\xb5\x18-(Optional) Description of the published file.\x12\x44\n\nvisibility\x18\x05 \x01(\rB0\x82\xb5\x18,(Optional) Visibility of the published file.\x12@\n\x04tags\x18\x06 \x03(\tB2\x82\xb5\x18.(Optional) Set of tags for the published file.\x12\x41\n\x08\x66ilename\x18\x07 \x01(\tB/\x82\xb5\x18+(Optional) Filename for the published file.\x12Q\n\x10preview_filename\x18\x08 \x01(\tB7\x82\xb5\x18\x33(Optional) Preview filename for the published file.\x12^\n\x0bimage_width\x18\x0f \x01(\rBI\x82\xb5\x18\x45(Optional) If this is an image file, you can specify the image width.\x12`\n\x0cimage_height\x18\x10 \x01(\rBJ\x82\xb5\x18\x46(Optional) If this is an image file, you can specify the image height.\" \n\x1e\x43PublishedFile_Update_Response\"\xb8\x01\n,CPublishedFile_GetChangeHistoryEntry_Request\x12\x63\n\x0fpublishedfileid\x18\x01 \x01(\x06\x42J\x82\xb5\x18\x46Published file id of the file we\'d like to get the change history for.\x12\x11\n\ttimestamp\x18\x02 \x01(\r\x12\x10\n\x08language\x18\x03 \x01(\x05\"]\n-CPublishedFile_GetChangeHistoryEntry_Response\x12\x1a\n\x12\x63hange_description\x18\x01 \x01(\t\x12\x10\n\x08language\x18\x02 \x01(\x05\"\x9e\x02\n\'CPublishedFile_GetChangeHistory_Request\x12\x63\n\x0fpublishedfileid\x18\x01 \x01(\x06\x42J\x82\xb5\x18\x46Published file id of the file we\'d like to get the change history for.\x12@\n\ntotal_only\x18\x02 \x01(\x08\x42,\x82\xb5\x18(Return the total number of changes only.\x12\x12\n\nstartindex\x18\x03 \x01(\r\x12\r\n\x05\x63ount\x18\x04 \x01(\r\x12)\n\x08language\x18\x05 \x01(\x05:\x01\x30\x42\x14\x82\xb5\x18\x10\x44\x65sired language\"\xcd\x01\n(CPublishedFile_GetChangeHistory_Response\x12\x44\n\x07\x63hanges\x18\x01 \x03(\x0b\x32\x33.CPublishedFile_GetChangeHistory_Response.ChangeLog\x12\r\n\x05total\x18\x02 \x01(\r\x1aL\n\tChangeLog\x12\x11\n\ttimestamp\x18\x01 \x01(\r\x12\x1a\n\x12\x63hange_description\x18\x02 \x01(\t\x12\x10\n\x08language\x18\x03 \x01(\x05\"\xbb\x04\n)CPublishedFile_RefreshVotingQueue_Request\x12\r\n\x05\x61ppid\x18\x01 \x01(\r\x12\x42\n\x12matching_file_type\x18\x02 \x01(\rB&\x82\xb5\x18\"EPublishedFileInfoMatchingFileType\x12l\n\x04tags\x18\x03 \x03(\tB^\x82\xb5\x18ZInclude files that have all the tags or any of the tags if match_all_tags is set to false.\x12\x95\x01\n\x0ematch_all_tags\x18\x04 \x01(\x08:\x04trueBw\x82\xb5\x18sIf true, then files must have all the tags specified. If false, then must have at least one of the tags specified.\x12I\n\rexcluded_tags\x18\x05 \x03(\tB2\x82\xb5\x18.Exclude any files that have any of these tags.\x12j\n\x12\x64\x65sired_queue_size\x18\x06 \x01(\rBN\x82\xb5\x18JDesired number of items in the voting queue. May be clamped by the server\",\n*CPublishedFile_RefreshVotingQueue_Response\"\xad\x16\n!CPublishedFile_QueryFiles_Request\x12L\n\nquery_type\x18\x01 \x01(\rB8\x82\xb5\x18\x34\x65numeration EPublishedFileQueryType in clientenums.h\x12\x1e\n\x04page\x18\x02 \x01(\rB\x10\x82\xb5\x18\x0c\x43urrent page\x12P\n\nnumperpage\x18\x03 \x01(\r:\x01\x31\x42\x39\x82\xb5\x18\x35(Optional) The number of results, per page to return.\x12\x35\n\rcreator_appid\x18\x04 \x01(\rB\x1e\x82\xb5\x18\x1a\x41pp that created the files\x12.\n\x05\x61ppid\x18\x05 \x01(\rB\x1f\x82\xb5\x18\x1b\x41pp that consumes the files\x12N\n\x0crequiredtags\x18\x06 \x03(\tB8\x82\xb5\x18\x34Tags to match on. See match_all_tags parameter below\x12l\n\x0c\x65xcludedtags\x18\x07 \x03(\tBV\x82\xb5\x18R(Optional) Tags that must NOT be present on a published file to satisfy the query.\x12\x8a\x01\n\x0ematch_all_tags\x18\x08 \x01(\x08:\x04trueBl\x82\xb5\x18hIf true, then items must have all the tags specified, otherwise they must have at least one of the tags.\x12Q\n\x0erequired_flags\x18\t \x03(\tB9\x82\xb5\x18\x35Required flags that must be set on any returned items\x12K\n\romitted_flags\x18\n \x03(\tB4\x82\xb5\x18\x30\x46lags that must not be set on any returned items\x12I\n\x0bsearch_text\x18\x0b \x01(\tB4\x82\xb5\x18\x30Text to match in the item\'s title or description\x12\x38\n\x08\x66iletype\x18\x0c \x01(\rB&\x82\xb5\x18\"EPublishedFileInfoMatchingFileType\x12P\n\x15\x63hild_publishedfileid\x18\r \x01(\x06\x42\x31\x82\xb5\x18-Find all items that reference the given item.\x12\x82\x01\n\x04\x64\x61ys\x18\x0e \x01(\rBt\x82\xb5\x18pIf query_type is k_PublishedFileQueryType_RankedByTrend, then this is the number of days to get votes for [1,7].\x12\xb0\x01\n\x19include_recent_votes_only\x18\x0f \x01(\x08\x42\x8c\x01\x82\xb5\x18\x87\x01If query_type is k_PublishedFileQueryType_RankedByTrend, then limit result set just to items that have votes within the day range given\x12j\n\x15\x63\x61\x63he_max_age_seconds\x18\x1f \x01(\r:\x01\x30\x42H\x82\xb5\x18\x44\x41llow stale data to be returned for the specified number of seconds.\x12`\n\x08language\x18! \x01(\x05:\x01\x30\x42K\x82\xb5\x18GLanguage to search in and also what gets returned. Defaults to English.\x12l\n\x10required_kv_tags\x18\" \x03(\x0b\x32(.CPublishedFile_QueryFiles_Request.KVTagB(\x82\xb5\x18$Required key-value tags to match on.\x12i\n\ttotalonly\x18\x10 \x01(\x08\x42V\x82\xb5\x18R(Optional) If true, only return the total number of files that satisfy this query.\x12n\n\x08ids_only\x18# \x01(\x08\x42\\\x82\xb5\x18X(Optional) If true, only return the published file ids of files that satisfy this query.\x12.\n\x10return_vote_data\x18\x11 \x01(\x08\x42\x14\x82\xb5\x18\x10Return vote data\x12\x38\n\x0breturn_tags\x18\x12 \x01(\x08\x42#\x82\xb5\x18\x1fReturn tags in the file details\x12\x45\n\x0ereturn_kv_tags\x18\x13 \x01(\x08\x42-\x82\xb5\x18)Return key-value tags in the file details\x12W\n\x0freturn_previews\x18\x14 \x01(\x08\x42>\x82\xb5\x18:Return preview image and video details in the file details\x12\x46\n\x0freturn_children\x18\x15 \x01(\x08\x42-\x82\xb5\x18)Return child item ids in the file details\x12\x66\n\x18return_short_description\x18\x16 \x01(\x08\x42\x44\x82\xb5\x18@Populate the short_description field instead of file_description\x12K\n\x14return_for_sale_data\x18\x1e \x01(\x08\x42-\x82\xb5\x18)Return pricing information, if applicable\x12\x39\n\x0freturn_metadata\x18 \x01(\x08:\x05\x66\x61lseB\x19\x82\xb5\x18\x15Populate the metadata\x12g\n\x15return_playtime_stats\x18$ \x01(\rBH\x82\xb5\x18\x44Return playtime stats for the specified number of days before today.\x12\xb7\x01\n\x0ereturn_details\x18% \x01(\x08\x42\x9e\x01\x82\xb5\x18\x99\x01\x42y default, if none of the other \'return_*\' fields are set, only some voting details are returned. Set this to true to return the default set of details.\x12\x46\n\x18strip_description_bbcode\x18& \x01(\x08\x42$\x82\xb5\x18 Strips BBCode from descriptions.\x1a#\n\x05KVTag\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t\"\x8a\x02\n\"CPublishedFile_QueryFiles_Response\x12T\n\x05total\x18\x01 \x01(\rBE\x82\xb5\x18\x41Number of matches found, not necessarily number of items returned\x12\x8d\x01\n\x14publishedfiledetails\x18\x02 \x03(\x0b\x32\x15.PublishedFileDetailsBX\x82\xb5\x18TEach file details will be populated, depending on what return values were requested.\"i\n)CPublishedFile_AddAppRelationship_Request\x12\x17\n\x0fpublishedfileid\x18\x01 \x01(\x04\x12\r\n\x05\x61ppid\x18\x02 \x01(\r\x12\x14\n\x0crelationship\x18\x03 \x01(\r\",\n*CPublishedFile_AddAppRelationship_Response\"l\n,CPublishedFile_RemoveAppRelationship_Request\x12\x17\n\x0fpublishedfileid\x18\x01 \x01(\x04\x12\r\n\x05\x61ppid\x18\x02 \x01(\r\x12\x14\n\x0crelationship\x18\x03 \x01(\r\"/\n-CPublishedFile_RemoveAppRelationship_Response\"E\n*CPublishedFile_GetAppRelationships_Request\x12\x17\n\x0fpublishedfileid\x18\x01 \x01(\x04\"\xbe\x01\n+CPublishedFile_GetAppRelationships_Response\x12W\n\x11\x61pp_relationships\x18\x03 \x03(\x0b\x32<.CPublishedFile_GetAppRelationships_Response.AppRelationship\x1a\x36\n\x0f\x41ppRelationship\x12\r\n\x05\x61ppid\x18\x01 \x01(\r\x12\x14\n\x0crelationship\x18\x02 \x01(\r\"W\n,CPublishedFile_StartPlaytimeTracking_Request\x12\r\n\x05\x61ppid\x18\x01 \x01(\r\x12\x18\n\x10publishedfileids\x18\x02 \x03(\x04\"/\n-CPublishedFile_StartPlaytimeTracking_Response\"V\n+CPublishedFile_StopPlaytimeTracking_Request\x12\r\n\x05\x61ppid\x18\x01 \x01(\r\x12\x18\n\x10publishedfileids\x18\x02 \x03(\x04\".\n,CPublishedFile_StopPlaytimeTracking_Response\"J\n9CPublishedFile_StopPlaytimeTrackingForAllAppItems_Request\x12\r\n\x05\x61ppid\x18\x01 \x01(\r\"<\n:CPublishedFile_StopPlaytimeTrackingForAllAppItems_Response\"\x81\x02\n6CPublishedFile_SetPlaytimeForControllerConfigs_Request\x12\r\n\x05\x61ppid\x18\x01 \x01(\r\x12n\n\x17\x63ontroller_config_usage\x18\x02 \x03(\x0b\x32M.CPublishedFile_SetPlaytimeForControllerConfigs_Request.ControllerConfigUsage\x1aH\n\x15\x43ontrollerConfigUsage\x12\x17\n\x0fpublishedfileid\x18\x01 \x01(\x04\x12\x16\n\x0eseconds_active\x18\x02 \x01(\x02\"9\n7CPublishedFile_SetPlaytimeForControllerConfigs_Response\"Y\n\x1f\x43PublishedFile_AddChild_Request\x12\x17\n\x0fpublishedfileid\x18\x01 \x01(\x04\x12\x1d\n\x15\x63hild_publishedfileid\x18\x02 \x01(\x04\"\"\n CPublishedFile_AddChild_Response\"\\\n\"CPublishedFile_RemoveChild_Request\x12\x17\n\x0fpublishedfileid\x18\x01 \x01(\x04\x12\x1d\n\x15\x63hild_publishedfileid\x18\x02 \x01(\x04\"%\n#CPublishedFile_RemoveChild_Response*\xc8\x01\n\x1b\x45PublishedFileForSaleStatus\x12\x16\n\x12k_PFFSS_NotForSale\x10\x00\x12\x1b\n\x17k_PFFSS_PendingApproval\x10\x01\x12\x1b\n\x17k_PFFSS_ApprovedForSale\x10\x02\x12\x1b\n\x17k_PFFSS_RejectedForSale\x10\x03\x12\x1b\n\x17k_PFFSS_NoLongerForSale\x10\x04\x12\x1d\n\x19k_PFFSS_TentativeApproval\x10\x05\x32\xf4\x1b\n\rPublishedFile\x12\x81\x01\n\tSubscribe\x12!.CPublishedFile_Subscribe_Request\x1a\".CPublishedFile_Subscribe_Response\"-\x82\xb5\x18)Subscribes the user to the published file\x12\x8b\x01\n\x0bUnsubscribe\x12#.CPublishedFile_Unsubscribe_Request\x1a$.CPublishedFile_Unsubscribe_Response\"1\x82\xb5\x18-Unsubscribes the user from the published file\x12\x96\x01\n\x0c\x43\x61nSubscribe\x12$.CPublishedFile_CanSubscribe_Request\x1a%.CPublishedFile_CanSubscribe_Response\"9\x82\xb5\x18\x35\x43heck if the user can subscribe to the published file\x12\x80\x01\n\x07Publish\x12\x1f.CPublishedFile_Publish_Request\x1a .CPublishedFile_Publish_Response\"2\x82\xb5\x18.Publishes a clouded user file to the Workshop.\x12\x90\x01\n\nGetDetails\x12\".CPublishedFile_GetDetails_Request\x1a#.CPublishedFile_GetDetails_Response\"9\x82\xb5\x18\x35Retrieves information about a set of published files.\x12\x93\x01\n\x0bGetItemInfo\x12#.CPublishedFile_GetItemInfo_Request\x1a$.CPublishedFile_GetItemInfo_Response\"9\x82\xb5\x18\x35Retrieves information about a set of published files.\x12\x85\x01\n\x0cGetUserFiles\x12$.CPublishedFile_GetUserFiles_Request\x1a%.CPublishedFile_GetUserFiles_Response\"(\x82\xb5\x18$Retrieves files published by a user.\x12z\n\x06Update\x12\x1e.CPublishedFile_Update_Request\x1a\x1f.CPublishedFile_Update_Response\"/\x82\xb5\x18+Updates information about a published file.\x12\xc0\x01\n\x15GetChangeHistoryEntry\x12-.CPublishedFile_GetChangeHistoryEntry_Request\x1a..CPublishedFile_GetChangeHistoryEntry_Response\"H\x82\xb5\x18\x44Returns data on a specific change history entry for a published file\x12\xa4\x01\n\x10GetChangeHistory\x12(.CPublishedFile_GetChangeHistory_Request\x1a).CPublishedFile_GetChangeHistory_Response\";\x82\xb5\x18\x37Returns data on the change history for a published file\x12\x98\x01\n\x12RefreshVotingQueue\x12*.CPublishedFile_RefreshVotingQueue_Request\x1a+.CPublishedFile_RefreshVotingQueue_Response\")\x82\xb5\x18%Refresh the voting queue for the user\x12\x86\x01\n\nQueryFiles\x12\".CPublishedFile_QueryFiles_Request\x1a#.CPublishedFile_QueryFiles_Response\"/\x82\xb5\x18+Performs a search query for published files\x12\xb3\x01\n\x12\x41\x64\x64\x41ppRelationship\x12*.CPublishedFile_AddAppRelationship_Request\x1a+.CPublishedFile_AddAppRelationship_Response\"D\x82\xb5\x18@Adds a relationship between the published file and the given app\x12\xbe\x01\n\x15RemoveAppRelationship\x12-.CPublishedFile_RemoveAppRelationship_Request\x1a..CPublishedFile_RemoveAppRelationship_Response\"F\x82\xb5\x18\x42Remove a relationship between the published file and the given app\x12\xb3\x01\n\x13GetAppRelationships\x12+.CPublishedFile_GetAppRelationships_Request\x1a,.CPublishedFile_GetAppRelationships_Response\"A\x82\xb5\x18=Returns the list of app relationships for this published file\x12\xb3\x01\n\x15StartPlaytimeTracking\x12-.CPublishedFile_StartPlaytimeTracking_Request\x1a..CPublishedFile_StartPlaytimeTracking_Response\";\x82\xb5\x18\x37Start usage tracking for a given set of published files\x12\xb0\x01\n\x14StopPlaytimeTracking\x12,.CPublishedFile_StopPlaytimeTracking_Request\x1a-.CPublishedFile_StopPlaytimeTracking_Response\";\x82\xb5\x18\x37Stops usage tracking for a given set of published files\x12\xed\x01\n\"StopPlaytimeTrackingForAllAppItems\x12:.CPublishedFile_StopPlaytimeTrackingForAllAppItems_Request\x1a;.CPublishedFile_StopPlaytimeTrackingForAllAppItems_Response\"N\x82\xb5\x18JStops usage tracking for all items currently tracked for the specified app\x12\x98\x02\n\x1fSetPlaytimeForControllerConfigs\x12\x37.CPublishedFile_SetPlaytimeForControllerConfigs_Request\x1a\x38.CPublishedFile_SetPlaytimeForControllerConfigs_Response\"\x81\x01\x82\xb5\x18}Stops usage tracking all controller configs for the given app and set the usage time for the for the given controller configs\x12\x8f\x01\n\x08\x41\x64\x64\x43hild\x12 .CPublishedFile_AddChild_Request\x1a!.CPublishedFile_AddChild_Response\">\x82\xb5\x18:Adds a parent->child relationship between the given items.\x12\x99\x01\n\x0bRemoveChild\x12#.CPublishedFile_RemoveChild_Request\x1a$.CPublishedFile_RemoveChild_Response\"?\x82\xb5\x18;Removes parent->child relationship between the given items.\x1a+\x82\xb5\x18\'A service to access published file dataB\x03\x90\x01\x01') + serialized_pb=_b('\n!steammessages_publishedfile.proto\x1a steammessages_unified_base.proto\"t\n CPublishedFile_Subscribe_Request\x12\x17\n\x0fpublishedfileid\x18\x01 \x01(\x04\x12\x11\n\tlist_type\x18\x02 \x01(\r\x12\r\n\x05\x61ppid\x18\x03 \x01(\x05\x12\x15\n\rnotify_client\x18\x04 \x01(\x08\"#\n!CPublishedFile_Subscribe_Response\"v\n\"CPublishedFile_Unsubscribe_Request\x12\x17\n\x0fpublishedfileid\x18\x01 \x01(\x04\x12\x11\n\tlist_type\x18\x02 \x01(\r\x12\r\n\x05\x61ppid\x18\x03 \x01(\x05\x12\x15\n\rnotify_client\x18\x04 \x01(\x08\"%\n#CPublishedFile_Unsubscribe_Response\">\n#CPublishedFile_CanSubscribe_Request\x12\x17\n\x0fpublishedfileid\x18\x01 \x01(\x04\"=\n$CPublishedFile_CanSubscribe_Response\x12\x15\n\rcan_subscribe\x18\x01 \x01(\x08\"\xcc\n\n\x1e\x43PublishedFile_Publish_Request\x12<\n\x05\x61ppid\x18\x01 \x01(\rB-\x82\xb5\x18)App Id this file is being published FROM.\x12\x43\n\x0e\x63onsumer_appid\x18\x02 \x01(\rB+\x82\xb5\x18\'App Id this file is being published TO.\x12K\n\rcloudfilename\x18\x03 \x01(\tB4\x82\xb5\x18\x30Name of the file to publish in the user\'s cloud.\x12[\n\x15preview_cloudfilename\x18\x04 \x01(\tB<\x82\xb5\x18\x38Name of the file to use as the published file\'s preview.\x12\x35\n\x05title\x18\x05 \x01(\tB&\x82\xb5\x18\"Text title for the published file.\x12\x46\n\x10\x66ile_description\x18\x06 \x01(\tB,\x82\xb5\x18(Text description for the published file.\x12L\n\tfile_type\x18\x07 \x01(\rB9\x82\xb5\x18\x35(EWorkshopFileType) Type of Workshop file to publish.\x12I\n\x16\x63onsumer_shortcut_name\x18\x08 \x01(\tB)\x82\xb5\x18%Shortcut name for the published file.\x12I\n\x10youtube_username\x18\t \x01(\tB/\x82\xb5\x18+(Optional) User\'s YouTube account username.\x12\\\n\x0fyoutube_videoid\x18\n \x01(\tBC\x82\xb5\x18?(Optional) Video Id of a YouTube video for this published file.\x12\x81\x01\n\nvisibility\x18\x0b \x01(\rBm\x82\xb5\x18i(ERemoteStoragePublishedFileVisibility) Visibility of the published file (private, friends, public, etc.)\x12k\n\x0credirect_uri\x18\x0c \x01(\tBU\x82\xb5\x18Q(Optional) If supplied, the resulting published file\'s Id is appended to the URI.\x12\x44\n\x04tags\x18\r \x03(\tB6\x82\xb5\x18\x32\x41rray of text tags to apply to the published file.\x12Y\n\x0f\x63ollection_type\x18\x0e \x01(\tB@\x82\xb5\x18<(Optional) Type of collection the published file represents.\x12M\n\tgame_type\x18\x0f \x01(\tB:\x82\xb5\x18\x36(Optional) Type of game the published file represents.\x12[\n\x03url\x18\x10 \x01(\tBN\x82\xb5\x18J(Optional) If this represents a game, this is the URL to that game\'s page.\"P\n\x1f\x43PublishedFile_Publish_Response\x12\x17\n\x0fpublishedfileid\x18\x01 \x01(\x04\x12\x14\n\x0credirect_uri\x18\x02 \x01(\t\"\xad\x08\n!CPublishedFile_GetDetails_Request\x12P\n\x10publishedfileids\x18\x01 \x03(\x06\x42\x36\x82\xb5\x18\x32Set of published file Ids to retrieve details for.\x12Q\n\x0bincludetags\x18\x02 \x01(\x08\x42<\x82\xb5\x18\x38If true, return tag information in the returned details.\x12\x63\n\x19includeadditionalpreviews\x18\x03 \x01(\x08\x42@\x82\xb5\x18 \x01(\x04\x12\"\n\x1alifetime_playtime_sessions\x18? \x01(\x04\x12\r\n\x05views\x18* \x01(\r\x12\x13\n\x0bimage_width\x18+ \x01(\r\x12\x14\n\x0cimage_height\x18, \x01(\r\x12\x11\n\timage_url\x18- \x01(\t\x12\x13\n\x0bspoiler_tag\x18. \x01(\x08\x12\x12\n\nshortcutid\x18/ \x01(\r\x12\x14\n\x0cshortcutname\x18\x30 \x01(\t\x12\x14\n\x0cnum_children\x18\x31 \x01(\r\x12\x13\n\x0bnum_reports\x18\x32 \x01(\r\x12/\n\x08previews\x18\x33 \x03(\x0b\x32\x1d.PublishedFileDetails.Preview\x12\'\n\x04tags\x18\x34 \x03(\x0b\x32\x19.PublishedFileDetails.Tag\x12-\n\x08\x63hildren\x18\x35 \x03(\x0b\x32\x1b.PublishedFileDetails.Child\x12+\n\x06kvtags\x18\x36 \x03(\x0b\x32\x1b.PublishedFileDetails.KVTag\x12\x31\n\tvote_data\x18\x37 \x01(\x0b\x32\x1e.PublishedFileDetails.VoteData\x12;\n\x0eplaytime_stats\x18@ \x01(\x0b\x32#.PublishedFileDetails.PlaytimeStats\x12r\n\x0ftime_subscribed\x18\x38 \x01(\rBY\x82\xb5\x18UOnly valid in PublishedFile.GetUserFiles and not normal PublishedFile.GetDetail calls\x12\x61\n\rfor_sale_data\x18\x39 \x01(\x0b\x32!.PublishedFileDetails.ForSaleDataB\'\x82\xb5\x18#Pricing information, if applicable.\x12\x37\n\x08metadata\x18: \x01(\tB%\x82\xb5\x18!Metadata associated with the item\x12\x43\n\x08language\x18= \x01(\x05:\x01\x30\x42.\x82\xb5\x18*The language of the title and description.\x12\x1f\n\x17maybe_inappropriate_sex\x18\x41 \x01(\x08\x12$\n\x1cmaybe_inappropriate_violence\x18\x42 \x01(\x08\x1a%\n\x03Tag\x12\x0b\n\x03tag\x18\x01 \x01(\t\x12\x11\n\tadminonly\x18\x02 \x01(\x08\x1a\xa6\x01\n\x07Preview\x12\x11\n\tpreviewid\x18\x01 \x01(\x04\x12\x11\n\tsortorder\x18\x02 \x01(\r\x12\x0b\n\x03url\x18\x03 \x01(\t\x12\x0c\n\x04size\x18\x04 \x01(\r\x12\x10\n\x08\x66ilename\x18\x05 \x01(\t\x12\x16\n\x0eyoutubevideoid\x18\x06 \x01(\t\x12\x14\n\x0cpreview_type\x18\x07 \x01(\r\x12\x1a\n\x12\x65xternal_reference\x18\x08 \x01(\t\x1a\x46\n\x05\x43hild\x12\x17\n\x0fpublishedfileid\x18\x01 \x01(\x04\x12\x11\n\tsortorder\x18\x02 \x01(\r\x12\x11\n\tfile_type\x18\x03 \x01(\r\x1a#\n\x05KVTag\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t\x1a?\n\x08VoteData\x12\r\n\x05score\x18\x01 \x01(\x02\x12\x10\n\x08votes_up\x18\x02 \x01(\r\x12\x12\n\nvotes_down\x18\x03 \x01(\r\x1a\xdc\x01\n\x0b\x46orSaleData\x12\x13\n\x0bis_for_sale\x18\x01 \x01(\x08\x12\x16\n\x0eprice_category\x18\x02 \x01(\r\x12\x41\n\x07\x65status\x18\x03 \x01(\x0e\x32\x1c.EPublishedFileForSaleStatus:\x12k_PFFSS_NotForSale\x12\x1c\n\x14price_category_floor\x18\x04 \x01(\r\x12\"\n\x1aprice_is_pay_what_you_want\x18\x05 \x01(\x08\x12\x1b\n\x13\x64iscount_percentage\x18\x06 \x01(\r\x1a?\n\rPlaytimeStats\x12\x18\n\x10playtime_seconds\x18\x01 \x01(\x04\x12\x14\n\x0cnum_sessions\x18\x02 \x01(\x04\"Y\n\"CPublishedFile_GetDetails_Response\x12\x33\n\x14publishedfiledetails\x18\x01 \x03(\x0b\x32\x15.PublishedFileDetails\"\xda\x01\n\"CPublishedFile_GetItemInfo_Request\x12\x0e\n\x06\x61pp_id\x18\x01 \x01(\r\x12\x19\n\x11last_time_updated\x18\x02 \x01(\r\x12H\n\x0eworkshop_items\x18\x03 \x03(\x0b\x32\x30.CPublishedFile_GetItemInfo_Request.WorkshopItem\x1a?\n\x0cWorkshopItem\x12\x19\n\x11published_file_id\x18\x01 \x01(\x06\x12\x14\n\x0ctime_updated\x18\x02 \x01(\r\"\xf2\x01\n#CPublishedFile_GetItemInfo_Response\x12\x13\n\x0bupdate_time\x18\x01 \x01(\r\x12M\n\x0eworkshop_items\x18\x02 \x03(\x0b\x32\x35.CPublishedFile_GetItemInfo_Response.WorkshopItemInfo\x1ag\n\x10WorkshopItemInfo\x12\x19\n\x11published_file_id\x18\x01 \x01(\x06\x12\x14\n\x0ctime_updated\x18\x02 \x01(\r\x12\x13\n\x0bmanifest_id\x18\x03 \x01(\x06\x12\r\n\x05\x66lags\x18\x04 \x01(\r\"\xa7\x12\n#CPublishedFile_GetUserFiles_Request\x12J\n\x07steamid\x18\x01 \x01(\x06\x42\x39\x82\xb5\x18\x35Steam ID of the user whose files are being requested.\x12\x46\n\x05\x61ppid\x18\x02 \x01(\rB7\x82\xb5\x18\x33\x41pp Id of the app that the files were published to.\x12:\n\x04page\x18\x04 \x01(\r:\x01\x31\x42)\x82\xb5\x18%(Optional) Starting page for results.\x12P\n\nnumperpage\x18\x05 \x01(\r:\x01\x31\x42\x39\x82\xb5\x18\x35(Optional) The number of results, per page to return.\x12\x43\n\x04type\x18\x06 \x01(\t:\x07myfilesB,\x82\xb5\x18((Optional) Type of files to be returned.\x12Y\n\nsortmethod\x18\x07 \x01(\t:\x0blastupdatedB8\x82\xb5\x18\x34(Optional) Sorting method to use on returned values.\x12;\n\x07privacy\x18\t \x01(\rB*\x82\xb5\x18&(optional) Filter by privacy settings.\x12h\n\x0crequiredtags\x18\n \x03(\tBR\x82\xb5\x18N(Optional) Tags that must be present on a published file to satisfy the query.\x12l\n\x0c\x65xcludedtags\x18\x0b \x03(\tBV\x82\xb5\x18R(Optional) Tags that must NOT be present on a published file to satisfy the query.\x12n\n\x10required_kv_tags\x18\x1e \x03(\x0b\x32*.CPublishedFile_GetUserFiles_Request.KVTagB(\x82\xb5\x18$Required key-value tags to match on.\x12=\n\x08\x66iletype\x18\x0e \x01(\rB+\x82\xb5\x18\'(Optional) File type to match files to.\x12\x61\n\rcreator_appid\x18\x0f \x01(\rBJ\x82\xb5\x18\x46\x41pp Id of the app that published the files, only matched if specified.\x12I\n\x14match_cloud_filename\x18\x10 \x01(\tB+\x82\xb5\x18\'Match this cloud filename if specified.\x12j\n\x15\x63\x61\x63he_max_age_seconds\x18\x1b \x01(\r:\x01\x30\x42H\x82\xb5\x18\x44\x41llow stale data to be returned for the specified number of seconds.\x12U\n\x08language\x18\x1d \x01(\x05:\x01\x30\x42@\x82\xb5\x18\x82\xb5\x18:Return preview image and video details in the file details\x12\x46\n\x0freturn_children\x18\x17 \x01(\x08\x42-\x82\xb5\x18)Return child item ids in the file details\x12l\n\x18return_short_description\x18\x18 \x01(\x08:\x04trueBD\x82\xb5\x18@Populate the short_description field instead of file_description\x12K\n\x14return_for_sale_data\x18\x1a \x01(\x08\x42-\x82\xb5\x18)Return pricing information, if applicable\x12?\n\x0freturn_metadata\x18\x1c \x01(\x08:\x05\x66\x61lseB\x1f\x82\xb5\x18\x1bPopulate the metadata field\x12g\n\x15return_playtime_stats\x18\x1f \x01(\rBH\x82\xb5\x18\x44Return playtime stats for the specified number of days before today.\x12\x46\n\x18strip_description_bbcode\x18 \x01(\x08\x42$\x82\xb5\x18 Strips BBCode from descriptions.\x1a#\n\x05KVTag\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t\"\x80\x02\n$CPublishedFile_GetUserFiles_Response\x12\r\n\x05total\x18\x01 \x01(\r\x12\x12\n\nstartindex\x18\x02 \x01(\r\x12\x33\n\x14publishedfiledetails\x18\x03 \x03(\x0b\x32\x15.PublishedFileDetails\x12\x37\n\x04\x61pps\x18\x04 \x03(\x0b\x32).CPublishedFile_GetUserFiles_Response.App\x1aG\n\x03\x41pp\x12\r\n\x05\x61ppid\x18\x01 \x01(\r\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x12\n\nshortcutid\x18\x03 \x01(\r\x12\x0f\n\x07private\x18\x04 \x01(\x08\"\x91\x06\n\x1d\x43PublishedFile_Update_Request\x12\x39\n\x05\x61ppid\x18\x01 \x01(\rB*\x82\xb5\x18&App Id this published file belongs to.\x12L\n\x0fpublishedfileid\x18\x02 \x01(\x06\x42\x33\x82\xb5\x18/Published file id of the file we\'d like update.\x12:\n\x05title\x18\x03 \x01(\tB+\x82\xb5\x18\'(Optional) Title of the published file.\x12K\n\x10\x66ile_description\x18\x04 \x01(\tB1\x82\xb5\x18-(Optional) Description of the published file.\x12\x44\n\nvisibility\x18\x05 \x01(\rB0\x82\xb5\x18,(Optional) Visibility of the published file.\x12@\n\x04tags\x18\x06 \x03(\tB2\x82\xb5\x18.(Optional) Set of tags for the published file.\x12\x41\n\x08\x66ilename\x18\x07 \x01(\tB/\x82\xb5\x18+(Optional) Filename for the published file.\x12Q\n\x10preview_filename\x18\x08 \x01(\tB7\x82\xb5\x18\x33(Optional) Preview filename for the published file.\x12^\n\x0bimage_width\x18\x0f \x01(\rBI\x82\xb5\x18\x45(Optional) If this is an image file, you can specify the image width.\x12`\n\x0cimage_height\x18\x10 \x01(\rBJ\x82\xb5\x18\x46(Optional) If this is an image file, you can specify the image height.\" \n\x1e\x43PublishedFile_Update_Response\"\xb8\x01\n,CPublishedFile_GetChangeHistoryEntry_Request\x12\x63\n\x0fpublishedfileid\x18\x01 \x01(\x06\x42J\x82\xb5\x18\x46Published file id of the file we\'d like to get the change history for.\x12\x11\n\ttimestamp\x18\x02 \x01(\r\x12\x10\n\x08language\x18\x03 \x01(\x05\"]\n-CPublishedFile_GetChangeHistoryEntry_Response\x12\x1a\n\x12\x63hange_description\x18\x01 \x01(\t\x12\x10\n\x08language\x18\x02 \x01(\x05\"\x9e\x02\n\'CPublishedFile_GetChangeHistory_Request\x12\x63\n\x0fpublishedfileid\x18\x01 \x01(\x06\x42J\x82\xb5\x18\x46Published file id of the file we\'d like to get the change history for.\x12@\n\ntotal_only\x18\x02 \x01(\x08\x42,\x82\xb5\x18(Return the total number of changes only.\x12\x12\n\nstartindex\x18\x03 \x01(\r\x12\r\n\x05\x63ount\x18\x04 \x01(\r\x12)\n\x08language\x18\x05 \x01(\x05:\x01\x30\x42\x14\x82\xb5\x18\x10\x44\x65sired language\"\xcd\x01\n(CPublishedFile_GetChangeHistory_Response\x12\x44\n\x07\x63hanges\x18\x01 \x03(\x0b\x32\x33.CPublishedFile_GetChangeHistory_Response.ChangeLog\x12\r\n\x05total\x18\x02 \x01(\r\x1aL\n\tChangeLog\x12\x11\n\ttimestamp\x18\x01 \x01(\r\x12\x1a\n\x12\x63hange_description\x18\x02 \x01(\t\x12\x10\n\x08language\x18\x03 \x01(\x05\"\xbb\x04\n)CPublishedFile_RefreshVotingQueue_Request\x12\r\n\x05\x61ppid\x18\x01 \x01(\r\x12\x42\n\x12matching_file_type\x18\x02 \x01(\rB&\x82\xb5\x18\"EPublishedFileInfoMatchingFileType\x12l\n\x04tags\x18\x03 \x03(\tB^\x82\xb5\x18ZInclude files that have all the tags or any of the tags if match_all_tags is set to false.\x12\x95\x01\n\x0ematch_all_tags\x18\x04 \x01(\x08:\x04trueBw\x82\xb5\x18sIf true, then files must have all the tags specified. If false, then must have at least one of the tags specified.\x12I\n\rexcluded_tags\x18\x05 \x03(\tB2\x82\xb5\x18.Exclude any files that have any of these tags.\x12j\n\x12\x64\x65sired_queue_size\x18\x06 \x01(\rBN\x82\xb5\x18JDesired number of items in the voting queue. May be clamped by the server\",\n*CPublishedFile_RefreshVotingQueue_Response\"\x98\x18\n!CPublishedFile_QueryFiles_Request\x12L\n\nquery_type\x18\x01 \x01(\rB8\x82\xb5\x18\x34\x65numeration EPublishedFileQueryType in clientenums.h\x12\x1e\n\x04page\x18\x02 \x01(\rB\x10\x82\xb5\x18\x0c\x43urrent page\x12\xe8\x01\n\x06\x63ursor\x18\' \x01(\tB\xd7\x01\x82\xb5\x18\xd2\x01\x43ursor to paginate through the results (set to \'*\' for the first request). Prefer this over using the page parameter, as it will allow you to do deep pagination. When used, the page parameter will be ignored.\x12P\n\nnumperpage\x18\x03 \x01(\r:\x01\x31\x42\x39\x82\xb5\x18\x35(Optional) The number of results, per page to return.\x12\x35\n\rcreator_appid\x18\x04 \x01(\rB\x1e\x82\xb5\x18\x1a\x41pp that created the files\x12.\n\x05\x61ppid\x18\x05 \x01(\rB\x1f\x82\xb5\x18\x1b\x41pp that consumes the files\x12N\n\x0crequiredtags\x18\x06 \x03(\tB8\x82\xb5\x18\x34Tags to match on. See match_all_tags parameter below\x12l\n\x0c\x65xcludedtags\x18\x07 \x03(\tBV\x82\xb5\x18R(Optional) Tags that must NOT be present on a published file to satisfy the query.\x12\x8a\x01\n\x0ematch_all_tags\x18\x08 \x01(\x08:\x04trueBl\x82\xb5\x18hIf true, then items must have all the tags specified, otherwise they must have at least one of the tags.\x12Q\n\x0erequired_flags\x18\t \x03(\tB9\x82\xb5\x18\x35Required flags that must be set on any returned items\x12K\n\romitted_flags\x18\n \x03(\tB4\x82\xb5\x18\x30\x46lags that must not be set on any returned items\x12I\n\x0bsearch_text\x18\x0b \x01(\tB4\x82\xb5\x18\x30Text to match in the item\'s title or description\x12\x38\n\x08\x66iletype\x18\x0c \x01(\rB&\x82\xb5\x18\"EPublishedFileInfoMatchingFileType\x12P\n\x15\x63hild_publishedfileid\x18\r \x01(\x06\x42\x31\x82\xb5\x18-Find all items that reference the given item.\x12\x82\x01\n\x04\x64\x61ys\x18\x0e \x01(\rBt\x82\xb5\x18pIf query_type is k_PublishedFileQueryType_RankedByTrend, then this is the number of days to get votes for [1,7].\x12\xb0\x01\n\x19include_recent_votes_only\x18\x0f \x01(\x08\x42\x8c\x01\x82\xb5\x18\x87\x01If query_type is k_PublishedFileQueryType_RankedByTrend, then limit result set just to items that have votes within the day range given\x12j\n\x15\x63\x61\x63he_max_age_seconds\x18\x1f \x01(\r:\x01\x30\x42H\x82\xb5\x18\x44\x41llow stale data to be returned for the specified number of seconds.\x12`\n\x08language\x18! \x01(\x05:\x01\x30\x42K\x82\xb5\x18GLanguage to search in and also what gets returned. Defaults to English.\x12l\n\x10required_kv_tags\x18\" \x03(\x0b\x32(.CPublishedFile_QueryFiles_Request.KVTagB(\x82\xb5\x18$Required key-value tags to match on.\x12i\n\ttotalonly\x18\x10 \x01(\x08\x42V\x82\xb5\x18R(Optional) If true, only return the total number of files that satisfy this query.\x12n\n\x08ids_only\x18# \x01(\x08\x42\\\x82\xb5\x18X(Optional) If true, only return the published file ids of files that satisfy this query.\x12.\n\x10return_vote_data\x18\x11 \x01(\x08\x42\x14\x82\xb5\x18\x10Return vote data\x12\x38\n\x0breturn_tags\x18\x12 \x01(\x08\x42#\x82\xb5\x18\x1fReturn tags in the file details\x12\x45\n\x0ereturn_kv_tags\x18\x13 \x01(\x08\x42-\x82\xb5\x18)Return key-value tags in the file details\x12W\n\x0freturn_previews\x18\x14 \x01(\x08\x42>\x82\xb5\x18:Return preview image and video details in the file details\x12\x46\n\x0freturn_children\x18\x15 \x01(\x08\x42-\x82\xb5\x18)Return child item ids in the file details\x12\x66\n\x18return_short_description\x18\x16 \x01(\x08\x42\x44\x82\xb5\x18@Populate the short_description field instead of file_description\x12K\n\x14return_for_sale_data\x18\x1e \x01(\x08\x42-\x82\xb5\x18)Return pricing information, if applicable\x12\x39\n\x0freturn_metadata\x18 \x01(\x08:\x05\x66\x61lseB\x19\x82\xb5\x18\x15Populate the metadata\x12g\n\x15return_playtime_stats\x18$ \x01(\rBH\x82\xb5\x18\x44Return playtime stats for the specified number of days before today.\x12\xb7\x01\n\x0ereturn_details\x18% \x01(\x08\x42\x9e\x01\x82\xb5\x18\x99\x01\x42y default, if none of the other \'return_*\' fields are set, only some voting details are returned. Set this to true to return the default set of details.\x12\x46\n\x18strip_description_bbcode\x18& \x01(\x08\x42$\x82\xb5\x18 Strips BBCode from descriptions.\x1a#\n\x05KVTag\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t\"\x85\x03\n\"CPublishedFile_QueryFiles_Response\x12T\n\x05total\x18\x01 \x01(\rBE\x82\xb5\x18\x41Number of matches found, not necessarily number of items returned\x12\x8d\x01\n\x14publishedfiledetails\x18\x02 \x03(\x0b\x32\x15.PublishedFileDetailsBX\x82\xb5\x18TEach file details will be populated, depending on what return values were requested.\x12y\n\x0bnext_cursor\x18\x03 \x01(\tBd\x82\xb5\x18`If a paging cursor was used, then this will be the next cursor to use for paging through results\"i\n)CPublishedFile_AddAppRelationship_Request\x12\x17\n\x0fpublishedfileid\x18\x01 \x01(\x04\x12\r\n\x05\x61ppid\x18\x02 \x01(\r\x12\x14\n\x0crelationship\x18\x03 \x01(\r\",\n*CPublishedFile_AddAppRelationship_Response\"l\n,CPublishedFile_RemoveAppRelationship_Request\x12\x17\n\x0fpublishedfileid\x18\x01 \x01(\x04\x12\r\n\x05\x61ppid\x18\x02 \x01(\r\x12\x14\n\x0crelationship\x18\x03 \x01(\r\"/\n-CPublishedFile_RemoveAppRelationship_Response\"E\n*CPublishedFile_GetAppRelationships_Request\x12\x17\n\x0fpublishedfileid\x18\x01 \x01(\x04\"\xbe\x01\n+CPublishedFile_GetAppRelationships_Response\x12W\n\x11\x61pp_relationships\x18\x03 \x03(\x0b\x32<.CPublishedFile_GetAppRelationships_Response.AppRelationship\x1a\x36\n\x0f\x41ppRelationship\x12\r\n\x05\x61ppid\x18\x01 \x01(\r\x12\x14\n\x0crelationship\x18\x02 \x01(\r\"W\n,CPublishedFile_StartPlaytimeTracking_Request\x12\r\n\x05\x61ppid\x18\x01 \x01(\r\x12\x18\n\x10publishedfileids\x18\x02 \x03(\x04\"/\n-CPublishedFile_StartPlaytimeTracking_Response\"V\n+CPublishedFile_StopPlaytimeTracking_Request\x12\r\n\x05\x61ppid\x18\x01 \x01(\r\x12\x18\n\x10publishedfileids\x18\x02 \x03(\x04\".\n,CPublishedFile_StopPlaytimeTracking_Response\"J\n9CPublishedFile_StopPlaytimeTrackingForAllAppItems_Request\x12\r\n\x05\x61ppid\x18\x01 \x01(\r\"<\n:CPublishedFile_StopPlaytimeTrackingForAllAppItems_Response\"\x81\x02\n6CPublishedFile_SetPlaytimeForControllerConfigs_Request\x12\r\n\x05\x61ppid\x18\x01 \x01(\r\x12n\n\x17\x63ontroller_config_usage\x18\x02 \x03(\x0b\x32M.CPublishedFile_SetPlaytimeForControllerConfigs_Request.ControllerConfigUsage\x1aH\n\x15\x43ontrollerConfigUsage\x12\x17\n\x0fpublishedfileid\x18\x01 \x01(\x04\x12\x16\n\x0eseconds_active\x18\x02 \x01(\x02\"9\n7CPublishedFile_SetPlaytimeForControllerConfigs_Response\"Y\n\x1f\x43PublishedFile_AddChild_Request\x12\x17\n\x0fpublishedfileid\x18\x01 \x01(\x04\x12\x1d\n\x15\x63hild_publishedfileid\x18\x02 \x01(\x04\"\"\n CPublishedFile_AddChild_Response\"\\\n\"CPublishedFile_RemoveChild_Request\x12\x17\n\x0fpublishedfileid\x18\x01 \x01(\x04\x12\x1d\n\x15\x63hild_publishedfileid\x18\x02 \x01(\x04\"%\n#CPublishedFile_RemoveChild_Response*\xc8\x01\n\x1b\x45PublishedFileForSaleStatus\x12\x16\n\x12k_PFFSS_NotForSale\x10\x00\x12\x1b\n\x17k_PFFSS_PendingApproval\x10\x01\x12\x1b\n\x17k_PFFSS_ApprovedForSale\x10\x02\x12\x1b\n\x17k_PFFSS_RejectedForSale\x10\x03\x12\x1b\n\x17k_PFFSS_NoLongerForSale\x10\x04\x12\x1d\n\x19k_PFFSS_TentativeApproval\x10\x05\x32\xf4\x1b\n\rPublishedFile\x12\x81\x01\n\tSubscribe\x12!.CPublishedFile_Subscribe_Request\x1a\".CPublishedFile_Subscribe_Response\"-\x82\xb5\x18)Subscribes the user to the published file\x12\x8b\x01\n\x0bUnsubscribe\x12#.CPublishedFile_Unsubscribe_Request\x1a$.CPublishedFile_Unsubscribe_Response\"1\x82\xb5\x18-Unsubscribes the user from the published file\x12\x96\x01\n\x0c\x43\x61nSubscribe\x12$.CPublishedFile_CanSubscribe_Request\x1a%.CPublishedFile_CanSubscribe_Response\"9\x82\xb5\x18\x35\x43heck if the user can subscribe to the published file\x12\x80\x01\n\x07Publish\x12\x1f.CPublishedFile_Publish_Request\x1a .CPublishedFile_Publish_Response\"2\x82\xb5\x18.Publishes a clouded user file to the Workshop.\x12\x90\x01\n\nGetDetails\x12\".CPublishedFile_GetDetails_Request\x1a#.CPublishedFile_GetDetails_Response\"9\x82\xb5\x18\x35Retrieves information about a set of published files.\x12\x93\x01\n\x0bGetItemInfo\x12#.CPublishedFile_GetItemInfo_Request\x1a$.CPublishedFile_GetItemInfo_Response\"9\x82\xb5\x18\x35Retrieves information about a set of published files.\x12\x85\x01\n\x0cGetUserFiles\x12$.CPublishedFile_GetUserFiles_Request\x1a%.CPublishedFile_GetUserFiles_Response\"(\x82\xb5\x18$Retrieves files published by a user.\x12z\n\x06Update\x12\x1e.CPublishedFile_Update_Request\x1a\x1f.CPublishedFile_Update_Response\"/\x82\xb5\x18+Updates information about a published file.\x12\xc0\x01\n\x15GetChangeHistoryEntry\x12-.CPublishedFile_GetChangeHistoryEntry_Request\x1a..CPublishedFile_GetChangeHistoryEntry_Response\"H\x82\xb5\x18\x44Returns data on a specific change history entry for a published file\x12\xa4\x01\n\x10GetChangeHistory\x12(.CPublishedFile_GetChangeHistory_Request\x1a).CPublishedFile_GetChangeHistory_Response\";\x82\xb5\x18\x37Returns data on the change history for a published file\x12\x98\x01\n\x12RefreshVotingQueue\x12*.CPublishedFile_RefreshVotingQueue_Request\x1a+.CPublishedFile_RefreshVotingQueue_Response\")\x82\xb5\x18%Refresh the voting queue for the user\x12\x86\x01\n\nQueryFiles\x12\".CPublishedFile_QueryFiles_Request\x1a#.CPublishedFile_QueryFiles_Response\"/\x82\xb5\x18+Performs a search query for published files\x12\xb3\x01\n\x12\x41\x64\x64\x41ppRelationship\x12*.CPublishedFile_AddAppRelationship_Request\x1a+.CPublishedFile_AddAppRelationship_Response\"D\x82\xb5\x18@Adds a relationship between the published file and the given app\x12\xbe\x01\n\x15RemoveAppRelationship\x12-.CPublishedFile_RemoveAppRelationship_Request\x1a..CPublishedFile_RemoveAppRelationship_Response\"F\x82\xb5\x18\x42Remove a relationship between the published file and the given app\x12\xb3\x01\n\x13GetAppRelationships\x12+.CPublishedFile_GetAppRelationships_Request\x1a,.CPublishedFile_GetAppRelationships_Response\"A\x82\xb5\x18=Returns the list of app relationships for this published file\x12\xb3\x01\n\x15StartPlaytimeTracking\x12-.CPublishedFile_StartPlaytimeTracking_Request\x1a..CPublishedFile_StartPlaytimeTracking_Response\";\x82\xb5\x18\x37Start usage tracking for a given set of published files\x12\xb0\x01\n\x14StopPlaytimeTracking\x12,.CPublishedFile_StopPlaytimeTracking_Request\x1a-.CPublishedFile_StopPlaytimeTracking_Response\";\x82\xb5\x18\x37Stops usage tracking for a given set of published files\x12\xed\x01\n\"StopPlaytimeTrackingForAllAppItems\x12:.CPublishedFile_StopPlaytimeTrackingForAllAppItems_Request\x1a;.CPublishedFile_StopPlaytimeTrackingForAllAppItems_Response\"N\x82\xb5\x18JStops usage tracking for all items currently tracked for the specified app\x12\x98\x02\n\x1fSetPlaytimeForControllerConfigs\x12\x37.CPublishedFile_SetPlaytimeForControllerConfigs_Request\x1a\x38.CPublishedFile_SetPlaytimeForControllerConfigs_Response\"\x81\x01\x82\xb5\x18}Stops usage tracking all controller configs for the given app and set the usage time for the for the given controller configs\x12\x8f\x01\n\x08\x41\x64\x64\x43hild\x12 .CPublishedFile_AddChild_Request\x1a!.CPublishedFile_AddChild_Response\">\x82\xb5\x18:Adds a parent->child relationship between the given items.\x12\x99\x01\n\x0bRemoveChild\x12#.CPublishedFile_RemoveChild_Request\x1a$.CPublishedFile_RemoveChild_Response\"?\x82\xb5\x18;Removes parent->child relationship between the given items.\x1a+\x82\xb5\x18\'A service to access published file dataB\x03\x90\x01\x01') , dependencies=[steammessages__unified__base__pb2.DESCRIPTOR,]) _sym_db.RegisterFileDescriptor(DESCRIPTOR) @@ -61,8 +61,8 @@ _EPUBLISHEDFILEFORSALESTATUS = _descriptor.EnumDescriptor( ], containing_type=None, options=None, - serialized_start=15672, - serialized_end=15872, + serialized_start=16030, + serialized_end=16230, ) _sym_db.RegisterEnumDescriptor(_EPUBLISHEDFILEFORSALESTATUS) @@ -2440,203 +2440,210 @@ _CPUBLISHEDFILE_QUERYFILES_REQUEST = _descriptor.Descriptor( is_extension=False, extension_scope=None, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\202\265\030\014Current page'))), _descriptor.FieldDescriptor( - name='numperpage', full_name='CPublishedFile_QueryFiles_Request.numperpage', index=2, + name='cursor', full_name='CPublishedFile_QueryFiles_Request.cursor', index=2, + number=39, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=_b("").decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\202\265\030\322\001Cursor to paginate through the results (set to \'*\' for the first request). Prefer this over using the page parameter, as it will allow you to do deep pagination. When used, the page parameter will be ignored.'))), + _descriptor.FieldDescriptor( + name='numperpage', full_name='CPublishedFile_QueryFiles_Request.numperpage', index=3, number=3, type=13, cpp_type=3, label=1, has_default_value=True, default_value=1, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\202\265\0305(Optional) The number of results, per page to return.'))), _descriptor.FieldDescriptor( - name='creator_appid', full_name='CPublishedFile_QueryFiles_Request.creator_appid', index=3, + name='creator_appid', full_name='CPublishedFile_QueryFiles_Request.creator_appid', index=4, number=4, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\202\265\030\032App that created the files'))), _descriptor.FieldDescriptor( - name='appid', full_name='CPublishedFile_QueryFiles_Request.appid', index=4, + name='appid', full_name='CPublishedFile_QueryFiles_Request.appid', index=5, number=5, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\202\265\030\033App that consumes the files'))), _descriptor.FieldDescriptor( - name='requiredtags', full_name='CPublishedFile_QueryFiles_Request.requiredtags', index=5, + name='requiredtags', full_name='CPublishedFile_QueryFiles_Request.requiredtags', index=6, number=6, type=9, cpp_type=9, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\202\265\0304Tags to match on. See match_all_tags parameter below'))), _descriptor.FieldDescriptor( - name='excludedtags', full_name='CPublishedFile_QueryFiles_Request.excludedtags', index=6, + name='excludedtags', full_name='CPublishedFile_QueryFiles_Request.excludedtags', index=7, number=7, type=9, cpp_type=9, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\202\265\030R(Optional) Tags that must NOT be present on a published file to satisfy the query.'))), _descriptor.FieldDescriptor( - name='match_all_tags', full_name='CPublishedFile_QueryFiles_Request.match_all_tags', index=7, + name='match_all_tags', full_name='CPublishedFile_QueryFiles_Request.match_all_tags', index=8, number=8, type=8, cpp_type=7, label=1, has_default_value=True, default_value=True, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\202\265\030hIf true, then items must have all the tags specified, otherwise they must have at least one of the tags.'))), _descriptor.FieldDescriptor( - name='required_flags', full_name='CPublishedFile_QueryFiles_Request.required_flags', index=8, + name='required_flags', full_name='CPublishedFile_QueryFiles_Request.required_flags', index=9, number=9, type=9, cpp_type=9, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\202\265\0305Required flags that must be set on any returned items'))), _descriptor.FieldDescriptor( - name='omitted_flags', full_name='CPublishedFile_QueryFiles_Request.omitted_flags', index=9, + name='omitted_flags', full_name='CPublishedFile_QueryFiles_Request.omitted_flags', index=10, number=10, type=9, cpp_type=9, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\202\265\0300Flags that must not be set on any returned items'))), _descriptor.FieldDescriptor( - name='search_text', full_name='CPublishedFile_QueryFiles_Request.search_text', index=10, + name='search_text', full_name='CPublishedFile_QueryFiles_Request.search_text', index=11, number=11, type=9, cpp_type=9, label=1, has_default_value=False, default_value=_b("").decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\202\265\0300Text to match in the item\'s title or description'))), _descriptor.FieldDescriptor( - name='filetype', full_name='CPublishedFile_QueryFiles_Request.filetype', index=11, + name='filetype', full_name='CPublishedFile_QueryFiles_Request.filetype', index=12, number=12, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\202\265\030\"EPublishedFileInfoMatchingFileType'))), _descriptor.FieldDescriptor( - name='child_publishedfileid', full_name='CPublishedFile_QueryFiles_Request.child_publishedfileid', index=12, + name='child_publishedfileid', full_name='CPublishedFile_QueryFiles_Request.child_publishedfileid', index=13, number=13, type=6, cpp_type=4, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\202\265\030-Find all items that reference the given item.'))), _descriptor.FieldDescriptor( - name='days', full_name='CPublishedFile_QueryFiles_Request.days', index=13, + name='days', full_name='CPublishedFile_QueryFiles_Request.days', index=14, number=14, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\202\265\030pIf query_type is k_PublishedFileQueryType_RankedByTrend, then this is the number of days to get votes for [1,7].'))), _descriptor.FieldDescriptor( - name='include_recent_votes_only', full_name='CPublishedFile_QueryFiles_Request.include_recent_votes_only', index=14, + name='include_recent_votes_only', full_name='CPublishedFile_QueryFiles_Request.include_recent_votes_only', index=15, number=15, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\202\265\030\207\001If query_type is k_PublishedFileQueryType_RankedByTrend, then limit result set just to items that have votes within the day range given'))), _descriptor.FieldDescriptor( - name='cache_max_age_seconds', full_name='CPublishedFile_QueryFiles_Request.cache_max_age_seconds', index=15, + name='cache_max_age_seconds', full_name='CPublishedFile_QueryFiles_Request.cache_max_age_seconds', index=16, number=31, type=13, cpp_type=3, label=1, has_default_value=True, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\202\265\030DAllow stale data to be returned for the specified number of seconds.'))), _descriptor.FieldDescriptor( - name='language', full_name='CPublishedFile_QueryFiles_Request.language', index=16, + name='language', full_name='CPublishedFile_QueryFiles_Request.language', index=17, number=33, type=5, cpp_type=1, label=1, has_default_value=True, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\202\265\030GLanguage to search in and also what gets returned. Defaults to English.'))), _descriptor.FieldDescriptor( - name='required_kv_tags', full_name='CPublishedFile_QueryFiles_Request.required_kv_tags', index=17, + name='required_kv_tags', full_name='CPublishedFile_QueryFiles_Request.required_kv_tags', index=18, number=34, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\202\265\030$Required key-value tags to match on.'))), _descriptor.FieldDescriptor( - name='totalonly', full_name='CPublishedFile_QueryFiles_Request.totalonly', index=18, + name='totalonly', full_name='CPublishedFile_QueryFiles_Request.totalonly', index=19, number=16, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\202\265\030R(Optional) If true, only return the total number of files that satisfy this query.'))), _descriptor.FieldDescriptor( - name='ids_only', full_name='CPublishedFile_QueryFiles_Request.ids_only', index=19, + name='ids_only', full_name='CPublishedFile_QueryFiles_Request.ids_only', index=20, number=35, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\202\265\030X(Optional) If true, only return the published file ids of files that satisfy this query.'))), _descriptor.FieldDescriptor( - name='return_vote_data', full_name='CPublishedFile_QueryFiles_Request.return_vote_data', index=20, + name='return_vote_data', full_name='CPublishedFile_QueryFiles_Request.return_vote_data', index=21, number=17, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\202\265\030\020Return vote data'))), _descriptor.FieldDescriptor( - name='return_tags', full_name='CPublishedFile_QueryFiles_Request.return_tags', index=21, + name='return_tags', full_name='CPublishedFile_QueryFiles_Request.return_tags', index=22, number=18, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\202\265\030\037Return tags in the file details'))), _descriptor.FieldDescriptor( - name='return_kv_tags', full_name='CPublishedFile_QueryFiles_Request.return_kv_tags', index=22, + name='return_kv_tags', full_name='CPublishedFile_QueryFiles_Request.return_kv_tags', index=23, number=19, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\202\265\030)Return key-value tags in the file details'))), _descriptor.FieldDescriptor( - name='return_previews', full_name='CPublishedFile_QueryFiles_Request.return_previews', index=23, + name='return_previews', full_name='CPublishedFile_QueryFiles_Request.return_previews', index=24, number=20, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\202\265\030:Return preview image and video details in the file details'))), _descriptor.FieldDescriptor( - name='return_children', full_name='CPublishedFile_QueryFiles_Request.return_children', index=24, + name='return_children', full_name='CPublishedFile_QueryFiles_Request.return_children', index=25, number=21, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\202\265\030)Return child item ids in the file details'))), _descriptor.FieldDescriptor( - name='return_short_description', full_name='CPublishedFile_QueryFiles_Request.return_short_description', index=25, + name='return_short_description', full_name='CPublishedFile_QueryFiles_Request.return_short_description', index=26, number=22, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\202\265\030@Populate the short_description field instead of file_description'))), _descriptor.FieldDescriptor( - name='return_for_sale_data', full_name='CPublishedFile_QueryFiles_Request.return_for_sale_data', index=26, + name='return_for_sale_data', full_name='CPublishedFile_QueryFiles_Request.return_for_sale_data', index=27, number=30, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\202\265\030)Return pricing information, if applicable'))), _descriptor.FieldDescriptor( - name='return_metadata', full_name='CPublishedFile_QueryFiles_Request.return_metadata', index=27, + name='return_metadata', full_name='CPublishedFile_QueryFiles_Request.return_metadata', index=28, number=32, type=8, cpp_type=7, label=1, has_default_value=True, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\202\265\030\025Populate the metadata'))), _descriptor.FieldDescriptor( - name='return_playtime_stats', full_name='CPublishedFile_QueryFiles_Request.return_playtime_stats', index=28, + name='return_playtime_stats', full_name='CPublishedFile_QueryFiles_Request.return_playtime_stats', index=29, number=36, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\202\265\030DReturn playtime stats for the specified number of days before today.'))), _descriptor.FieldDescriptor( - name='return_details', full_name='CPublishedFile_QueryFiles_Request.return_details', index=29, + name='return_details', full_name='CPublishedFile_QueryFiles_Request.return_details', index=30, number=37, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\202\265\030\231\001By default, if none of the other \'return_*\' fields are set, only some voting details are returned. Set this to true to return the default set of details.'))), _descriptor.FieldDescriptor( - name='strip_description_bbcode', full_name='CPublishedFile_QueryFiles_Request.strip_description_bbcode', index=30, + name='strip_description_bbcode', full_name='CPublishedFile_QueryFiles_Request.strip_description_bbcode', index=31, number=38, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, @@ -2655,7 +2662,7 @@ _CPUBLISHEDFILE_QUERYFILES_REQUEST = _descriptor.Descriptor( oneofs=[ ], serialized_start=10972, - serialized_end=13833, + serialized_end=14068, ) @@ -2680,6 +2687,13 @@ _CPUBLISHEDFILE_QUERYFILES_RESPONSE = _descriptor.Descriptor( message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\202\265\030TEach file details will be populated, depending on what return values were requested.'))), + _descriptor.FieldDescriptor( + name='next_cursor', full_name='CPublishedFile_QueryFiles_Response.next_cursor', index=2, + number=3, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=_b("").decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\202\265\030`If a paging cursor was used, then this will be the next cursor to use for paging through results'))), ], extensions=[ ], @@ -2692,8 +2706,8 @@ _CPUBLISHEDFILE_QUERYFILES_RESPONSE = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=13836, - serialized_end=14102, + serialized_start=14071, + serialized_end=14460, ) @@ -2737,8 +2751,8 @@ _CPUBLISHEDFILE_ADDAPPRELATIONSHIP_REQUEST = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=14104, - serialized_end=14209, + serialized_start=14462, + serialized_end=14567, ) @@ -2761,8 +2775,8 @@ _CPUBLISHEDFILE_ADDAPPRELATIONSHIP_RESPONSE = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=14211, - serialized_end=14255, + serialized_start=14569, + serialized_end=14613, ) @@ -2806,8 +2820,8 @@ _CPUBLISHEDFILE_REMOVEAPPRELATIONSHIP_REQUEST = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=14257, - serialized_end=14365, + serialized_start=14615, + serialized_end=14723, ) @@ -2830,8 +2844,8 @@ _CPUBLISHEDFILE_REMOVEAPPRELATIONSHIP_RESPONSE = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=14367, - serialized_end=14414, + serialized_start=14725, + serialized_end=14772, ) @@ -2861,8 +2875,8 @@ _CPUBLISHEDFILE_GETAPPRELATIONSHIPS_REQUEST = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=14416, - serialized_end=14485, + serialized_start=14774, + serialized_end=14843, ) @@ -2899,8 +2913,8 @@ _CPUBLISHEDFILE_GETAPPRELATIONSHIPS_RESPONSE_APPRELATIONSHIP = _descriptor.Descr extension_ranges=[], oneofs=[ ], - serialized_start=14624, - serialized_end=14678, + serialized_start=14982, + serialized_end=15036, ) _CPUBLISHEDFILE_GETAPPRELATIONSHIPS_RESPONSE = _descriptor.Descriptor( @@ -2929,8 +2943,8 @@ _CPUBLISHEDFILE_GETAPPRELATIONSHIPS_RESPONSE = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=14488, - serialized_end=14678, + serialized_start=14846, + serialized_end=15036, ) @@ -2967,8 +2981,8 @@ _CPUBLISHEDFILE_STARTPLAYTIMETRACKING_REQUEST = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=14680, - serialized_end=14767, + serialized_start=15038, + serialized_end=15125, ) @@ -2991,8 +3005,8 @@ _CPUBLISHEDFILE_STARTPLAYTIMETRACKING_RESPONSE = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=14769, - serialized_end=14816, + serialized_start=15127, + serialized_end=15174, ) @@ -3029,8 +3043,8 @@ _CPUBLISHEDFILE_STOPPLAYTIMETRACKING_REQUEST = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=14818, - serialized_end=14904, + serialized_start=15176, + serialized_end=15262, ) @@ -3053,8 +3067,8 @@ _CPUBLISHEDFILE_STOPPLAYTIMETRACKING_RESPONSE = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=14906, - serialized_end=14952, + serialized_start=15264, + serialized_end=15310, ) @@ -3084,8 +3098,8 @@ _CPUBLISHEDFILE_STOPPLAYTIMETRACKINGFORALLAPPITEMS_REQUEST = _descriptor.Descrip extension_ranges=[], oneofs=[ ], - serialized_start=14954, - serialized_end=15028, + serialized_start=15312, + serialized_end=15386, ) @@ -3108,8 +3122,8 @@ _CPUBLISHEDFILE_STOPPLAYTIMETRACKINGFORALLAPPITEMS_RESPONSE = _descriptor.Descri extension_ranges=[], oneofs=[ ], - serialized_start=15030, - serialized_end=15090, + serialized_start=15388, + serialized_end=15448, ) @@ -3146,8 +3160,8 @@ _CPUBLISHEDFILE_SETPLAYTIMEFORCONTROLLERCONFIGS_REQUEST_CONTROLLERCONFIGUSAGE = extension_ranges=[], oneofs=[ ], - serialized_start=15278, - serialized_end=15350, + serialized_start=15636, + serialized_end=15708, ) _CPUBLISHEDFILE_SETPLAYTIMEFORCONTROLLERCONFIGS_REQUEST = _descriptor.Descriptor( @@ -3183,8 +3197,8 @@ _CPUBLISHEDFILE_SETPLAYTIMEFORCONTROLLERCONFIGS_REQUEST = _descriptor.Descriptor extension_ranges=[], oneofs=[ ], - serialized_start=15093, - serialized_end=15350, + serialized_start=15451, + serialized_end=15708, ) @@ -3207,8 +3221,8 @@ _CPUBLISHEDFILE_SETPLAYTIMEFORCONTROLLERCONFIGS_RESPONSE = _descriptor.Descripto extension_ranges=[], oneofs=[ ], - serialized_start=15352, - serialized_end=15409, + serialized_start=15710, + serialized_end=15767, ) @@ -3245,8 +3259,8 @@ _CPUBLISHEDFILE_ADDCHILD_REQUEST = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=15411, - serialized_end=15500, + serialized_start=15769, + serialized_end=15858, ) @@ -3269,8 +3283,8 @@ _CPUBLISHEDFILE_ADDCHILD_RESPONSE = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=15502, - serialized_end=15536, + serialized_start=15860, + serialized_end=15894, ) @@ -3307,8 +3321,8 @@ _CPUBLISHEDFILE_REMOVECHILD_REQUEST = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=15538, - serialized_end=15630, + serialized_start=15896, + serialized_end=15988, ) @@ -3331,8 +3345,8 @@ _CPUBLISHEDFILE_REMOVECHILD_RESPONSE = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=15632, - serialized_end=15669, + serialized_start=15990, + serialized_end=16027, ) _PUBLISHEDFILEDETAILS_TAG.containing_type = _PUBLISHEDFILEDETAILS @@ -3998,6 +4012,8 @@ _CPUBLISHEDFILE_QUERYFILES_REQUEST.fields_by_name['query_type'].has_options = Tr _CPUBLISHEDFILE_QUERYFILES_REQUEST.fields_by_name['query_type']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\202\265\0304enumeration EPublishedFileQueryType in clientenums.h')) _CPUBLISHEDFILE_QUERYFILES_REQUEST.fields_by_name['page'].has_options = True _CPUBLISHEDFILE_QUERYFILES_REQUEST.fields_by_name['page']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\202\265\030\014Current page')) +_CPUBLISHEDFILE_QUERYFILES_REQUEST.fields_by_name['cursor'].has_options = True +_CPUBLISHEDFILE_QUERYFILES_REQUEST.fields_by_name['cursor']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\202\265\030\322\001Cursor to paginate through the results (set to \'*\' for the first request). Prefer this over using the page parameter, as it will allow you to do deep pagination. When used, the page parameter will be ignored.')) _CPUBLISHEDFILE_QUERYFILES_REQUEST.fields_by_name['numperpage'].has_options = True _CPUBLISHEDFILE_QUERYFILES_REQUEST.fields_by_name['numperpage']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\202\265\0305(Optional) The number of results, per page to return.')) _CPUBLISHEDFILE_QUERYFILES_REQUEST.fields_by_name['creator_appid'].has_options = True @@ -4060,6 +4076,8 @@ _CPUBLISHEDFILE_QUERYFILES_RESPONSE.fields_by_name['total'].has_options = True _CPUBLISHEDFILE_QUERYFILES_RESPONSE.fields_by_name['total']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\202\265\030ANumber of matches found, not necessarily number of items returned')) _CPUBLISHEDFILE_QUERYFILES_RESPONSE.fields_by_name['publishedfiledetails'].has_options = True _CPUBLISHEDFILE_QUERYFILES_RESPONSE.fields_by_name['publishedfiledetails']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\202\265\030TEach file details will be populated, depending on what return values were requested.')) +_CPUBLISHEDFILE_QUERYFILES_RESPONSE.fields_by_name['next_cursor'].has_options = True +_CPUBLISHEDFILE_QUERYFILES_RESPONSE.fields_by_name['next_cursor']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\202\265\030`If a paging cursor was used, then this will be the next cursor to use for paging through results')) _PUBLISHEDFILE = _descriptor.ServiceDescriptor( name='PublishedFile', @@ -4067,8 +4085,8 @@ _PUBLISHEDFILE = _descriptor.ServiceDescriptor( file=DESCRIPTOR, index=0, options=_descriptor._ParseOptions(descriptor_pb2.ServiceOptions(), _b('\202\265\030\'A service to access published file data')), - serialized_start=15875, - serialized_end=19447, + serialized_start=16233, + serialized_end=19805, methods=[ _descriptor.MethodDescriptor( name='Subscribe', diff --git a/steam/protobufs/steammessages_store_pb2.py b/steam/protobufs/steammessages_store_pb2.py index 7ae5491..49e05da 100644 --- a/steam/protobufs/steammessages_store_pb2.py +++ b/steam/protobufs/steammessages_store_pb2.py @@ -22,7 +22,7 @@ DESCRIPTOR = _descriptor.FileDescriptor( name='steammessages_store.proto', package='', syntax='proto2', - serialized_pb=_b('\n\x19steammessages_store.proto\x1a steammessages_unified_base.proto\"J\n&CStore_GetLocalizedNameForTags_Request\x12\x10\n\x08language\x18\x01 \x01(\t\x12\x0e\n\x06tagids\x18\x02 \x03(\r\"\x9f\x01\n\'CStore_GetLocalizedNameForTags_Response\x12:\n\x04tags\x18\x01 \x03(\x0b\x32,.CStore_GetLocalizedNameForTags_Response.Tag\x1a\x38\n\x03Tag\x12\r\n\x05tagid\x18\x01 \x01(\r\x12\x14\n\x0c\x65nglish_name\x18\x02 \x01(\t\x12\x0c\n\x04name\x18\x03 \x01(\t2\xc7\x01\n\x05Store\x12\x98\x01\n\x17GetLocalizedNameForTags\x12\'.CStore_GetLocalizedNameForTags_Request\x1a(.CStore_GetLocalizedNameForTags_Response\"*\x82\xb5\x18&Gets tag names in a different language\x1a#\x82\xb5\x18\x1f\x41 service to access store data.B\x03\x90\x01\x01') + serialized_pb=_b('\n\x19steammessages_store.proto\x1a steammessages_unified_base.proto\"J\n&CStore_GetLocalizedNameForTags_Request\x12\x10\n\x08language\x18\x01 \x01(\t\x12\x0e\n\x06tagids\x18\x02 \x03(\r\"\x9f\x01\n\'CStore_GetLocalizedNameForTags_Response\x12:\n\x04tags\x18\x01 \x03(\x0b\x32,.CStore_GetLocalizedNameForTags_Response.Tag\x1a\x38\n\x03Tag\x12\r\n\x05tagid\x18\x01 \x01(\r\x12\x14\n\x0c\x65nglish_name\x18\x02 \x01(\t\x12\x0c\n\x04name\x18\x03 \x01(\t\"$\n\"CStore_GetStorePreferences_Request\"\xcf\x02\n\x16\x43Store_UserPreferences\x12\x18\n\x10primary_language\x18\x01 \x01(\r\x12\x1b\n\x13secondary_languages\x18\x02 \x01(\r\x12\x18\n\x10platform_windows\x18\x03 \x01(\x08\x12\x14\n\x0cplatform_mac\x18\x04 \x01(\x08\x12\x16\n\x0eplatform_linux\x18\x05 \x01(\x08\x12#\n\x1bhide_adult_content_violence\x18\x06 \x01(\x08\x12\x1e\n\x16hide_adult_content_sex\x18\x07 \x01(\x08\x12\x19\n\x11timestamp_updated\x18\x08 \x01(\r\x12\x1c\n\x14hide_store_broadcast\x18\t \x01(\x08\x12\x38\n0timestamp_content_descriptor_preferences_updated\x18\n \x01(\x05\"\x91\x01\n\x19\x43Store_UserTagPreferences\x12\x37\n\x0ftags_to_exclude\x18\x01 \x03(\x0b\x32\x1e.CStore_UserTagPreferences.Tag\x1a;\n\x03Tag\x12\r\n\x05tagid\x18\x01 \x01(\r\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x17\n\x0ftimestamp_added\x18\x03 \x01(\r\"\xd9\x01\n\'CStore_UserContentDescriptorPreferences\x12\x62\n\x1e\x63ontent_descriptors_to_exclude\x18\x01 \x03(\x0b\x32:.CStore_UserContentDescriptorPreferences.ContentDescriptor\x1aJ\n\x11\x43ontentDescriptor\x12\x1c\n\x14\x63ontent_descriptorid\x18\x01 \x01(\r\x12\x17\n\x0ftimestamp_added\x18\x02 \x01(\r\"\xda\x01\n#CStore_GetStorePreferences_Response\x12,\n\x0bpreferences\x18\x01 \x01(\x0b\x32\x17.CStore_UserPreferences\x12\x33\n\x0ftag_preferences\x18\x02 \x01(\x0b\x32\x1a.CStore_UserTagPreferences\x12P\n\x1e\x63ontent_descriptor_preferences\x18\x03 \x01(\x0b\x32(.CStore_UserContentDescriptorPreferences2\xf9\x02\n\x05Store\x12\x98\x01\n\x17GetLocalizedNameForTags\x12\'.CStore_GetLocalizedNameForTags_Request\x1a(.CStore_GetLocalizedNameForTags_Response\"*\x82\xb5\x18&Gets tag names in a different language\x12\xaf\x01\n\x13GetStorePreferences\x12#.CStore_GetStorePreferences_Request\x1a$.CStore_GetStorePreferences_Response\"M\x82\xb5\x18IReturns the desired ratings board and maximum rating to show on the store\x1a#\x82\xb5\x18\x1f\x41 service to access store data.B\x03\x90\x01\x01') , dependencies=[steammessages__unified__base__pb2.DESCRIPTOR,]) _sym_db.RegisterFileDescriptor(DESCRIPTOR) @@ -142,10 +142,328 @@ _CSTORE_GETLOCALIZEDNAMEFORTAGS_RESPONSE = _descriptor.Descriptor( serialized_end=299, ) + +_CSTORE_GETSTOREPREFERENCES_REQUEST = _descriptor.Descriptor( + name='CStore_GetStorePreferences_Request', + full_name='CStore_GetStorePreferences_Request', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto2', + extension_ranges=[], + oneofs=[ + ], + serialized_start=301, + serialized_end=337, +) + + +_CSTORE_USERPREFERENCES = _descriptor.Descriptor( + name='CStore_UserPreferences', + full_name='CStore_UserPreferences', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='primary_language', full_name='CStore_UserPreferences.primary_language', index=0, + number=1, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None), + _descriptor.FieldDescriptor( + name='secondary_languages', full_name='CStore_UserPreferences.secondary_languages', index=1, + number=2, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None), + _descriptor.FieldDescriptor( + name='platform_windows', full_name='CStore_UserPreferences.platform_windows', index=2, + number=3, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None), + _descriptor.FieldDescriptor( + name='platform_mac', full_name='CStore_UserPreferences.platform_mac', index=3, + number=4, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None), + _descriptor.FieldDescriptor( + name='platform_linux', full_name='CStore_UserPreferences.platform_linux', index=4, + number=5, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None), + _descriptor.FieldDescriptor( + name='hide_adult_content_violence', full_name='CStore_UserPreferences.hide_adult_content_violence', index=5, + number=6, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None), + _descriptor.FieldDescriptor( + name='hide_adult_content_sex', full_name='CStore_UserPreferences.hide_adult_content_sex', index=6, + number=7, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None), + _descriptor.FieldDescriptor( + name='timestamp_updated', full_name='CStore_UserPreferences.timestamp_updated', index=7, + number=8, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None), + _descriptor.FieldDescriptor( + name='hide_store_broadcast', full_name='CStore_UserPreferences.hide_store_broadcast', index=8, + number=9, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None), + _descriptor.FieldDescriptor( + name='timestamp_content_descriptor_preferences_updated', full_name='CStore_UserPreferences.timestamp_content_descriptor_preferences_updated', index=9, + number=10, type=5, cpp_type=1, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto2', + extension_ranges=[], + oneofs=[ + ], + serialized_start=340, + serialized_end=675, +) + + +_CSTORE_USERTAGPREFERENCES_TAG = _descriptor.Descriptor( + name='Tag', + full_name='CStore_UserTagPreferences.Tag', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='tagid', full_name='CStore_UserTagPreferences.Tag.tagid', index=0, + number=1, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None), + _descriptor.FieldDescriptor( + name='name', full_name='CStore_UserTagPreferences.Tag.name', index=1, + number=2, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=_b("").decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None), + _descriptor.FieldDescriptor( + name='timestamp_added', full_name='CStore_UserTagPreferences.Tag.timestamp_added', index=2, + number=3, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto2', + extension_ranges=[], + oneofs=[ + ], + serialized_start=764, + serialized_end=823, +) + +_CSTORE_USERTAGPREFERENCES = _descriptor.Descriptor( + name='CStore_UserTagPreferences', + full_name='CStore_UserTagPreferences', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='tags_to_exclude', full_name='CStore_UserTagPreferences.tags_to_exclude', index=0, + number=1, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None), + ], + extensions=[ + ], + nested_types=[_CSTORE_USERTAGPREFERENCES_TAG, ], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto2', + extension_ranges=[], + oneofs=[ + ], + serialized_start=678, + serialized_end=823, +) + + +_CSTORE_USERCONTENTDESCRIPTORPREFERENCES_CONTENTDESCRIPTOR = _descriptor.Descriptor( + name='ContentDescriptor', + full_name='CStore_UserContentDescriptorPreferences.ContentDescriptor', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='content_descriptorid', full_name='CStore_UserContentDescriptorPreferences.ContentDescriptor.content_descriptorid', index=0, + number=1, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None), + _descriptor.FieldDescriptor( + name='timestamp_added', full_name='CStore_UserContentDescriptorPreferences.ContentDescriptor.timestamp_added', index=1, + number=2, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto2', + extension_ranges=[], + oneofs=[ + ], + serialized_start=969, + serialized_end=1043, +) + +_CSTORE_USERCONTENTDESCRIPTORPREFERENCES = _descriptor.Descriptor( + name='CStore_UserContentDescriptorPreferences', + full_name='CStore_UserContentDescriptorPreferences', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='content_descriptors_to_exclude', full_name='CStore_UserContentDescriptorPreferences.content_descriptors_to_exclude', index=0, + number=1, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None), + ], + extensions=[ + ], + nested_types=[_CSTORE_USERCONTENTDESCRIPTORPREFERENCES_CONTENTDESCRIPTOR, ], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto2', + extension_ranges=[], + oneofs=[ + ], + serialized_start=826, + serialized_end=1043, +) + + +_CSTORE_GETSTOREPREFERENCES_RESPONSE = _descriptor.Descriptor( + name='CStore_GetStorePreferences_Response', + full_name='CStore_GetStorePreferences_Response', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='preferences', full_name='CStore_GetStorePreferences_Response.preferences', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None), + _descriptor.FieldDescriptor( + name='tag_preferences', full_name='CStore_GetStorePreferences_Response.tag_preferences', index=1, + number=2, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None), + _descriptor.FieldDescriptor( + name='content_descriptor_preferences', full_name='CStore_GetStorePreferences_Response.content_descriptor_preferences', index=2, + number=3, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto2', + extension_ranges=[], + oneofs=[ + ], + serialized_start=1046, + serialized_end=1264, +) + _CSTORE_GETLOCALIZEDNAMEFORTAGS_RESPONSE_TAG.containing_type = _CSTORE_GETLOCALIZEDNAMEFORTAGS_RESPONSE _CSTORE_GETLOCALIZEDNAMEFORTAGS_RESPONSE.fields_by_name['tags'].message_type = _CSTORE_GETLOCALIZEDNAMEFORTAGS_RESPONSE_TAG +_CSTORE_USERTAGPREFERENCES_TAG.containing_type = _CSTORE_USERTAGPREFERENCES +_CSTORE_USERTAGPREFERENCES.fields_by_name['tags_to_exclude'].message_type = _CSTORE_USERTAGPREFERENCES_TAG +_CSTORE_USERCONTENTDESCRIPTORPREFERENCES_CONTENTDESCRIPTOR.containing_type = _CSTORE_USERCONTENTDESCRIPTORPREFERENCES +_CSTORE_USERCONTENTDESCRIPTORPREFERENCES.fields_by_name['content_descriptors_to_exclude'].message_type = _CSTORE_USERCONTENTDESCRIPTORPREFERENCES_CONTENTDESCRIPTOR +_CSTORE_GETSTOREPREFERENCES_RESPONSE.fields_by_name['preferences'].message_type = _CSTORE_USERPREFERENCES +_CSTORE_GETSTOREPREFERENCES_RESPONSE.fields_by_name['tag_preferences'].message_type = _CSTORE_USERTAGPREFERENCES +_CSTORE_GETSTOREPREFERENCES_RESPONSE.fields_by_name['content_descriptor_preferences'].message_type = _CSTORE_USERCONTENTDESCRIPTORPREFERENCES DESCRIPTOR.message_types_by_name['CStore_GetLocalizedNameForTags_Request'] = _CSTORE_GETLOCALIZEDNAMEFORTAGS_REQUEST DESCRIPTOR.message_types_by_name['CStore_GetLocalizedNameForTags_Response'] = _CSTORE_GETLOCALIZEDNAMEFORTAGS_RESPONSE +DESCRIPTOR.message_types_by_name['CStore_GetStorePreferences_Request'] = _CSTORE_GETSTOREPREFERENCES_REQUEST +DESCRIPTOR.message_types_by_name['CStore_UserPreferences'] = _CSTORE_USERPREFERENCES +DESCRIPTOR.message_types_by_name['CStore_UserTagPreferences'] = _CSTORE_USERTAGPREFERENCES +DESCRIPTOR.message_types_by_name['CStore_UserContentDescriptorPreferences'] = _CSTORE_USERCONTENTDESCRIPTORPREFERENCES +DESCRIPTOR.message_types_by_name['CStore_GetStorePreferences_Response'] = _CSTORE_GETSTOREPREFERENCES_RESPONSE CStore_GetLocalizedNameForTags_Request = _reflection.GeneratedProtocolMessageType('CStore_GetLocalizedNameForTags_Request', (_message.Message,), dict( DESCRIPTOR = _CSTORE_GETLOCALIZEDNAMEFORTAGS_REQUEST, @@ -169,6 +487,57 @@ CStore_GetLocalizedNameForTags_Response = _reflection.GeneratedProtocolMessageTy _sym_db.RegisterMessage(CStore_GetLocalizedNameForTags_Response) _sym_db.RegisterMessage(CStore_GetLocalizedNameForTags_Response.Tag) +CStore_GetStorePreferences_Request = _reflection.GeneratedProtocolMessageType('CStore_GetStorePreferences_Request', (_message.Message,), dict( + DESCRIPTOR = _CSTORE_GETSTOREPREFERENCES_REQUEST, + __module__ = 'steammessages_store_pb2' + # @@protoc_insertion_point(class_scope:CStore_GetStorePreferences_Request) + )) +_sym_db.RegisterMessage(CStore_GetStorePreferences_Request) + +CStore_UserPreferences = _reflection.GeneratedProtocolMessageType('CStore_UserPreferences', (_message.Message,), dict( + DESCRIPTOR = _CSTORE_USERPREFERENCES, + __module__ = 'steammessages_store_pb2' + # @@protoc_insertion_point(class_scope:CStore_UserPreferences) + )) +_sym_db.RegisterMessage(CStore_UserPreferences) + +CStore_UserTagPreferences = _reflection.GeneratedProtocolMessageType('CStore_UserTagPreferences', (_message.Message,), dict( + + Tag = _reflection.GeneratedProtocolMessageType('Tag', (_message.Message,), dict( + DESCRIPTOR = _CSTORE_USERTAGPREFERENCES_TAG, + __module__ = 'steammessages_store_pb2' + # @@protoc_insertion_point(class_scope:CStore_UserTagPreferences.Tag) + )) + , + DESCRIPTOR = _CSTORE_USERTAGPREFERENCES, + __module__ = 'steammessages_store_pb2' + # @@protoc_insertion_point(class_scope:CStore_UserTagPreferences) + )) +_sym_db.RegisterMessage(CStore_UserTagPreferences) +_sym_db.RegisterMessage(CStore_UserTagPreferences.Tag) + +CStore_UserContentDescriptorPreferences = _reflection.GeneratedProtocolMessageType('CStore_UserContentDescriptorPreferences', (_message.Message,), dict( + + ContentDescriptor = _reflection.GeneratedProtocolMessageType('ContentDescriptor', (_message.Message,), dict( + DESCRIPTOR = _CSTORE_USERCONTENTDESCRIPTORPREFERENCES_CONTENTDESCRIPTOR, + __module__ = 'steammessages_store_pb2' + # @@protoc_insertion_point(class_scope:CStore_UserContentDescriptorPreferences.ContentDescriptor) + )) + , + DESCRIPTOR = _CSTORE_USERCONTENTDESCRIPTORPREFERENCES, + __module__ = 'steammessages_store_pb2' + # @@protoc_insertion_point(class_scope:CStore_UserContentDescriptorPreferences) + )) +_sym_db.RegisterMessage(CStore_UserContentDescriptorPreferences) +_sym_db.RegisterMessage(CStore_UserContentDescriptorPreferences.ContentDescriptor) + +CStore_GetStorePreferences_Response = _reflection.GeneratedProtocolMessageType('CStore_GetStorePreferences_Response', (_message.Message,), dict( + DESCRIPTOR = _CSTORE_GETSTOREPREFERENCES_RESPONSE, + __module__ = 'steammessages_store_pb2' + # @@protoc_insertion_point(class_scope:CStore_GetStorePreferences_Response) + )) +_sym_db.RegisterMessage(CStore_GetStorePreferences_Response) + DESCRIPTOR.has_options = True DESCRIPTOR._options = _descriptor._ParseOptions(descriptor_pb2.FileOptions(), _b('\220\001\001')) @@ -179,8 +548,8 @@ _STORE = _descriptor.ServiceDescriptor( file=DESCRIPTOR, index=0, options=_descriptor._ParseOptions(descriptor_pb2.ServiceOptions(), _b('\202\265\030\037A service to access store data.')), - serialized_start=302, - serialized_end=501, + serialized_start=1267, + serialized_end=1644, methods=[ _descriptor.MethodDescriptor( name='GetLocalizedNameForTags', @@ -191,6 +560,15 @@ _STORE = _descriptor.ServiceDescriptor( output_type=_CSTORE_GETLOCALIZEDNAMEFORTAGS_RESPONSE, options=_descriptor._ParseOptions(descriptor_pb2.MethodOptions(), _b('\202\265\030&Gets tag names in a different language')), ), + _descriptor.MethodDescriptor( + name='GetStorePreferences', + full_name='Store.GetStorePreferences', + index=1, + containing_service=None, + input_type=_CSTORE_GETSTOREPREFERENCES_REQUEST, + output_type=_CSTORE_GETSTOREPREFERENCES_RESPONSE, + options=_descriptor._ParseOptions(descriptor_pb2.MethodOptions(), _b('\202\265\030IReturns the desired ratings board and maximum rating to show on the store')), + ), ]) Store = service_reflection.GeneratedServiceType('Store', (_service.Service,), dict( diff --git a/steam/protobufs/steammessages_useraccount_pb2.py b/steam/protobufs/steammessages_useraccount_pb2.py index 718cb02..7455139 100644 --- a/steam/protobufs/steammessages_useraccount_pb2.py +++ b/steam/protobufs/steammessages_useraccount_pb2.py @@ -3,6 +3,7 @@ import sys _b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1')) +from google.protobuf.internal import enum_type_wrapper from google.protobuf import descriptor as _descriptor from google.protobuf import message as _message from google.protobuf import reflection as _reflection @@ -22,11 +23,101 @@ DESCRIPTOR = _descriptor.FileDescriptor( name='steammessages_useraccount.proto', package='', syntax='proto2', - serialized_pb=_b('\n\x1fsteammessages_useraccount.proto\x1a steammessages_unified_base.proto\"+\n)CUserAccount_GetAccountLinkStatus_Request\"Y\n*CUserAccount_GetAccountLinkStatus_Response\x12\x0c\n\x04pwid\x18\x01 \x01(\r\x12\x1d\n\x15identity_verification\x18\x02 \x01(\r\">\n\'CUserAccount_RegisterCompatTool_Request\x12\x13\n\x0b\x63ompat_tool\x18\x01 \x01(\r\"*\n(CUserAccount_RegisterCompatTool_Response2\xea\x02\n\x0bUserAccount\x12\x90\x01\n\x14GetAccountLinkStatus\x12*.CUserAccount_GetAccountLinkStatus_Request\x1a+.CUserAccount_GetAccountLinkStatus_Response\"\x1f\x82\xb5\x18\x1b\x46\x65tches account link status\x12\x98\x01\n\x12RegisterCompatTool\x12(.CUserAccount_RegisterCompatTool_Request\x1a).CUserAccount_RegisterCompatTool_Response\"-\x82\xb5\x18)Register intended account usage of a tool\x1a-\x82\xb5\x18)A service to get user account informationB\x03\x90\x01\x01') + serialized_pb=_b('\n\x1fsteammessages_useraccount.proto\x1a steammessages_unified_base.proto\"+\n)CUserAccount_GetAccountLinkStatus_Request\"Y\n*CUserAccount_GetAccountLinkStatus_Response\x12\x0c\n\x04pwid\x18\x01 \x01(\r\x12\x1d\n\x15identity_verification\x18\x02 \x01(\r\"r\n,CUserAccount_CreateFriendInviteToken_Request\x12\x14\n\x0cinvite_limit\x18\x01 \x01(\r\x12\x17\n\x0finvite_duration\x18\x02 \x01(\r\x12\x13\n\x0binvite_note\x18\x03 \x01(\t\"\x99\x01\n-CUserAccount_CreateFriendInviteToken_Response\x12\x14\n\x0cinvite_token\x18\x01 \x01(\t\x12\x14\n\x0cinvite_limit\x18\x02 \x01(\x04\x12\x17\n\x0finvite_duration\x18\x03 \x01(\x04\x12\x14\n\x0ctime_created\x18\x04 \x01(\x07\x12\r\n\x05valid\x18\x05 \x01(\x08\",\n*CUserAccount_GetFriendInviteTokens_Request\"m\n+CUserAccount_GetFriendInviteTokens_Response\x12>\n\x06tokens\x18\x01 \x03(\x0b\x32..CUserAccount_CreateFriendInviteToken_Response\"D\n,CUserAccount_RevokeFriendInviteToken_Request\x12\x14\n\x0cinvite_token\x18\x01 \x01(\t\"/\n-CUserAccount_RevokeFriendInviteToken_Response\">\n\'CUserAccount_RegisterCompatTool_Request\x12\x13\n\x0b\x63ompat_tool\x18\x01 \x01(\r\"*\n(CUserAccount_RegisterCompatTool_Response\"\x9c\x03\n,CAccountLinking_GetLinkedAccountInfo_Request\x12H\n\x0c\x61\x63\x63ount_type\x18\x01 \x01(\x0e\x32\x15.EInternalAccountType:\x1bk_EInternalSteamAccountType\x12+\n\naccount_id\x18\x02 \x01(\x04\x42\x17\x82\xb5\x18\x13Internal account ID\x12t\n\x06\x66ilter\x18\x03 \x01(\x0e\x32\x15.EExternalAccountType:\x0fk_EExternalNoneB<\x82\xb5\x18\x38if specified then only return this external account type\x12\x7f\n\x13return_access_token\x18\x04 \x01(\x08\x42\x62\x82\xb5\x18^if provided and true, then returns valid access token if available. It may refresh the token. \"\x8b\x06\n-CAccountLinking_GetLinkedAccountInfo_Response\x12h\n\x11\x65xternal_accounts\x18\x01 \x03(\x0b\x32M.CAccountLinking_GetLinkedAccountInfo_Response.CExternalAccountTuple_Response\x1a\xef\x04\n\x1e\x43\x45xternalAccountTuple_Response\x12=\n\rexternal_type\x18\x01 \x01(\x0e\x32\x15.EExternalAccountType:\x0fk_EExternalNone\x12;\n\x0b\x65xternal_id\x18\x02 \x01(\tB&\x82\xb5\x18\"unique external account identifier\x12:\n\x12\x65xternal_user_name\x18\x03 \x01(\tB\x1e\x82\xb5\x18\x1auser readable; best effort\x12S\n\x0c\x65xternal_url\x18\x04 \x01(\tB=\x82\xb5\x18\x39required for all, can be a sentinal to verify correctness\x12@\n\x0c\x61\x63\x63\x65ss_token\x18\x05 \x01(\tB*\x82\xb5\x18&provided if requeest and it was valid.\x12k\n\x13\x61\x63\x63\x65ss_token_secret\x18\x06 \x01(\tBN\x82\xb5\x18Jrequired for OAuth v1 and signing the message, provided with access token.\x12\x90\x01\n\x08is_valid\x18\x07 \x01(\x08\x42~\x82\xb5\x18zIf false, it means access token no longer work (expired, disconnected) and the link is now broken. Inform user to refresh.*\x8d\x01\n\x14\x45InternalAccountType\x12\x1f\n\x1bk_EInternalSteamAccountType\x10\x01\x12\x17\n\x13k_EInternalClanType\x10\x02\x12\x16\n\x12k_EInternalAppType\x10\x03\x12#\n\x1fk_EInternalBroadcastChannelType\x10\x04*\x86\x02\n\x14\x45\x45xternalAccountType\x12\x13\n\x0fk_EExternalNone\x10\x00\x12\x1b\n\x17k_EExternalSteamAccount\x10\x01\x12\x1c\n\x18k_EExternalGoogleAccount\x10\x02\x12\x1e\n\x1ak_EExternalFacebookAccount\x10\x03\x12\x1d\n\x19k_EExternalTwitterAccount\x10\x04\x12\x1c\n\x18k_EExternalTwitchAccount\x10\x05\x12$\n k_EExternalYouTubeChannelAccount\x10\x06\x12\x1b\n\x17k_EExternalFacebookPage\x10\x07\x32\xfa\x06\n\x0bUserAccount\x12\x90\x01\n\x14GetAccountLinkStatus\x12*.CUserAccount_GetAccountLinkStatus_Request\x1a+.CUserAccount_GetAccountLinkStatus_Response\"\x1f\x82\xb5\x18\x1b\x46\x65tches account link status\x12\xc4\x01\n\x17\x43reateFriendInviteToken\x12-.CUserAccount_CreateFriendInviteToken_Request\x1a..CUserAccount_CreateFriendInviteToken_Response\"J\x82\xb5\x18\x46\x43reate a limited-use token that can be used to create a friend request\x12\xa1\x01\n\x15GetFriendInviteTokens\x12+.CUserAccount_GetFriendInviteTokens_Request\x1a,.CUserAccount_GetFriendInviteTokens_Response\"-\x82\xb5\x18)Get the set of active tokens for the user\x12\xa2\x01\n\x17RevokeFriendInviteToken\x12-.CUserAccount_RevokeFriendInviteToken_Request\x1a..CUserAccount_RevokeFriendInviteToken_Response\"(\x82\xb5\x18$Revoke an active friend invite token\x12\x98\x01\n\x12RegisterCompatTool\x12(.CUserAccount_RegisterCompatTool_Request\x1a).CUserAccount_RegisterCompatTool_Response\"-\x82\xb5\x18)Register intended account usage of a tool\x1a-\x82\xb5\x18)A service to get user account information2\x9d\x02\n\x0e\x41\x63\x63ountLinking\x12\xd3\x01\n\x14GetLinkedAccountInfo\x12-.CAccountLinking_GetLinkedAccountInfo_Request\x1a..CAccountLinking_GetLinkedAccountInfo_Response\"\\\x82\xb5\x18XList all my active linked external accounts; may be requested to return the access token\x1a\x35\x82\xb5\x18\x31\x41 service to manage and link to external accountsB\x03\x90\x01\x01') , dependencies=[steammessages__unified__base__pb2.DESCRIPTOR,]) _sym_db.RegisterFileDescriptor(DESCRIPTOR) +_EINTERNALACCOUNTTYPE = _descriptor.EnumDescriptor( + name='EInternalAccountType', + full_name='EInternalAccountType', + filename=None, + file=DESCRIPTOR, + values=[ + _descriptor.EnumValueDescriptor( + name='k_EInternalSteamAccountType', index=0, number=1, + options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='k_EInternalClanType', index=1, number=2, + options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='k_EInternalAppType', index=2, number=3, + options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='k_EInternalBroadcastChannelType', index=3, number=4, + options=None, + type=None), + ], + containing_type=None, + options=None, + serialized_start=2059, + serialized_end=2200, +) +_sym_db.RegisterEnumDescriptor(_EINTERNALACCOUNTTYPE) + +EInternalAccountType = enum_type_wrapper.EnumTypeWrapper(_EINTERNALACCOUNTTYPE) +_EEXTERNALACCOUNTTYPE = _descriptor.EnumDescriptor( + name='EExternalAccountType', + full_name='EExternalAccountType', + filename=None, + file=DESCRIPTOR, + values=[ + _descriptor.EnumValueDescriptor( + name='k_EExternalNone', index=0, number=0, + options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='k_EExternalSteamAccount', index=1, number=1, + options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='k_EExternalGoogleAccount', index=2, number=2, + options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='k_EExternalFacebookAccount', index=3, number=3, + options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='k_EExternalTwitterAccount', index=4, number=4, + options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='k_EExternalTwitchAccount', index=5, number=5, + options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='k_EExternalYouTubeChannelAccount', index=6, number=6, + options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='k_EExternalFacebookPage', index=7, number=7, + options=None, + type=None), + ], + containing_type=None, + options=None, + serialized_start=2203, + serialized_end=2465, +) +_sym_db.RegisterEnumDescriptor(_EEXTERNALACCOUNTTYPE) + +EExternalAccountType = enum_type_wrapper.EnumTypeWrapper(_EEXTERNALACCOUNTTYPE) +k_EInternalSteamAccountType = 1 +k_EInternalClanType = 2 +k_EInternalAppType = 3 +k_EInternalBroadcastChannelType = 4 +k_EExternalNone = 0 +k_EExternalSteamAccount = 1 +k_EExternalGoogleAccount = 2 +k_EExternalFacebookAccount = 3 +k_EExternalTwitterAccount = 4 +k_EExternalTwitchAccount = 5 +k_EExternalYouTubeChannelAccount = 6 +k_EExternalFacebookPage = 7 @@ -92,6 +183,220 @@ _CUSERACCOUNT_GETACCOUNTLINKSTATUS_RESPONSE = _descriptor.Descriptor( ) +_CUSERACCOUNT_CREATEFRIENDINVITETOKEN_REQUEST = _descriptor.Descriptor( + name='CUserAccount_CreateFriendInviteToken_Request', + full_name='CUserAccount_CreateFriendInviteToken_Request', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='invite_limit', full_name='CUserAccount_CreateFriendInviteToken_Request.invite_limit', index=0, + number=1, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None), + _descriptor.FieldDescriptor( + name='invite_duration', full_name='CUserAccount_CreateFriendInviteToken_Request.invite_duration', index=1, + number=2, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None), + _descriptor.FieldDescriptor( + name='invite_note', full_name='CUserAccount_CreateFriendInviteToken_Request.invite_note', index=2, + number=3, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=_b("").decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto2', + extension_ranges=[], + oneofs=[ + ], + serialized_start=205, + serialized_end=319, +) + + +_CUSERACCOUNT_CREATEFRIENDINVITETOKEN_RESPONSE = _descriptor.Descriptor( + name='CUserAccount_CreateFriendInviteToken_Response', + full_name='CUserAccount_CreateFriendInviteToken_Response', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='invite_token', full_name='CUserAccount_CreateFriendInviteToken_Response.invite_token', index=0, + number=1, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=_b("").decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None), + _descriptor.FieldDescriptor( + name='invite_limit', full_name='CUserAccount_CreateFriendInviteToken_Response.invite_limit', index=1, + number=2, type=4, cpp_type=4, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None), + _descriptor.FieldDescriptor( + name='invite_duration', full_name='CUserAccount_CreateFriendInviteToken_Response.invite_duration', index=2, + number=3, type=4, cpp_type=4, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None), + _descriptor.FieldDescriptor( + name='time_created', full_name='CUserAccount_CreateFriendInviteToken_Response.time_created', index=3, + number=4, type=7, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None), + _descriptor.FieldDescriptor( + name='valid', full_name='CUserAccount_CreateFriendInviteToken_Response.valid', index=4, + number=5, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto2', + extension_ranges=[], + oneofs=[ + ], + serialized_start=322, + serialized_end=475, +) + + +_CUSERACCOUNT_GETFRIENDINVITETOKENS_REQUEST = _descriptor.Descriptor( + name='CUserAccount_GetFriendInviteTokens_Request', + full_name='CUserAccount_GetFriendInviteTokens_Request', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto2', + extension_ranges=[], + oneofs=[ + ], + serialized_start=477, + serialized_end=521, +) + + +_CUSERACCOUNT_GETFRIENDINVITETOKENS_RESPONSE = _descriptor.Descriptor( + name='CUserAccount_GetFriendInviteTokens_Response', + full_name='CUserAccount_GetFriendInviteTokens_Response', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='tokens', full_name='CUserAccount_GetFriendInviteTokens_Response.tokens', index=0, + number=1, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto2', + extension_ranges=[], + oneofs=[ + ], + serialized_start=523, + serialized_end=632, +) + + +_CUSERACCOUNT_REVOKEFRIENDINVITETOKEN_REQUEST = _descriptor.Descriptor( + name='CUserAccount_RevokeFriendInviteToken_Request', + full_name='CUserAccount_RevokeFriendInviteToken_Request', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='invite_token', full_name='CUserAccount_RevokeFriendInviteToken_Request.invite_token', index=0, + number=1, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=_b("").decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto2', + extension_ranges=[], + oneofs=[ + ], + serialized_start=634, + serialized_end=702, +) + + +_CUSERACCOUNT_REVOKEFRIENDINVITETOKEN_RESPONSE = _descriptor.Descriptor( + name='CUserAccount_RevokeFriendInviteToken_Response', + full_name='CUserAccount_RevokeFriendInviteToken_Response', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto2', + extension_ranges=[], + oneofs=[ + ], + serialized_start=704, + serialized_end=751, +) + + _CUSERACCOUNT_REGISTERCOMPATTOOL_REQUEST = _descriptor.Descriptor( name='CUserAccount_RegisterCompatTool_Request', full_name='CUserAccount_RegisterCompatTool_Request', @@ -118,8 +423,8 @@ _CUSERACCOUNT_REGISTERCOMPATTOOL_REQUEST = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=205, - serialized_end=267, + serialized_start=753, + serialized_end=815, ) @@ -142,14 +447,185 @@ _CUSERACCOUNT_REGISTERCOMPATTOOL_RESPONSE = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=269, - serialized_end=311, + serialized_start=817, + serialized_end=859, +) + + +_CACCOUNTLINKING_GETLINKEDACCOUNTINFO_REQUEST = _descriptor.Descriptor( + name='CAccountLinking_GetLinkedAccountInfo_Request', + full_name='CAccountLinking_GetLinkedAccountInfo_Request', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='account_type', full_name='CAccountLinking_GetLinkedAccountInfo_Request.account_type', index=0, + number=1, type=14, cpp_type=8, label=1, + has_default_value=True, default_value=1, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None), + _descriptor.FieldDescriptor( + name='account_id', full_name='CAccountLinking_GetLinkedAccountInfo_Request.account_id', index=1, + number=2, type=4, cpp_type=4, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\202\265\030\023Internal account ID'))), + _descriptor.FieldDescriptor( + name='filter', full_name='CAccountLinking_GetLinkedAccountInfo_Request.filter', index=2, + number=3, type=14, cpp_type=8, label=1, + has_default_value=True, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\202\265\0308if specified then only return this external account type'))), + _descriptor.FieldDescriptor( + name='return_access_token', full_name='CAccountLinking_GetLinkedAccountInfo_Request.return_access_token', index=3, + number=4, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\202\265\030^if provided and true, then returns valid access token if available. It may refresh the token. '))), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto2', + extension_ranges=[], + oneofs=[ + ], + serialized_start=862, + serialized_end=1274, +) + + +_CACCOUNTLINKING_GETLINKEDACCOUNTINFO_RESPONSE_CEXTERNALACCOUNTTUPLE_RESPONSE = _descriptor.Descriptor( + name='CExternalAccountTuple_Response', + full_name='CAccountLinking_GetLinkedAccountInfo_Response.CExternalAccountTuple_Response', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='external_type', full_name='CAccountLinking_GetLinkedAccountInfo_Response.CExternalAccountTuple_Response.external_type', index=0, + number=1, type=14, cpp_type=8, label=1, + has_default_value=True, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None), + _descriptor.FieldDescriptor( + name='external_id', full_name='CAccountLinking_GetLinkedAccountInfo_Response.CExternalAccountTuple_Response.external_id', index=1, + number=2, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=_b("").decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\202\265\030\"unique external account identifier'))), + _descriptor.FieldDescriptor( + name='external_user_name', full_name='CAccountLinking_GetLinkedAccountInfo_Response.CExternalAccountTuple_Response.external_user_name', index=2, + number=3, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=_b("").decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\202\265\030\032user readable; best effort'))), + _descriptor.FieldDescriptor( + name='external_url', full_name='CAccountLinking_GetLinkedAccountInfo_Response.CExternalAccountTuple_Response.external_url', index=3, + number=4, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=_b("").decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\202\265\0309required for all, can be a sentinal to verify correctness'))), + _descriptor.FieldDescriptor( + name='access_token', full_name='CAccountLinking_GetLinkedAccountInfo_Response.CExternalAccountTuple_Response.access_token', index=4, + number=5, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=_b("").decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\202\265\030&provided if requeest and it was valid.'))), + _descriptor.FieldDescriptor( + name='access_token_secret', full_name='CAccountLinking_GetLinkedAccountInfo_Response.CExternalAccountTuple_Response.access_token_secret', index=5, + number=6, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=_b("").decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\202\265\030Jrequired for OAuth v1 and signing the message, provided with access token.'))), + _descriptor.FieldDescriptor( + name='is_valid', full_name='CAccountLinking_GetLinkedAccountInfo_Response.CExternalAccountTuple_Response.is_valid', index=6, + number=7, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\202\265\030zIf false, it means access token no longer work (expired, disconnected) and the link is now broken. Inform user to refresh.'))), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto2', + extension_ranges=[], + oneofs=[ + ], + serialized_start=1433, + serialized_end=2056, ) +_CACCOUNTLINKING_GETLINKEDACCOUNTINFO_RESPONSE = _descriptor.Descriptor( + name='CAccountLinking_GetLinkedAccountInfo_Response', + full_name='CAccountLinking_GetLinkedAccountInfo_Response', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='external_accounts', full_name='CAccountLinking_GetLinkedAccountInfo_Response.external_accounts', index=0, + number=1, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None), + ], + extensions=[ + ], + nested_types=[_CACCOUNTLINKING_GETLINKEDACCOUNTINFO_RESPONSE_CEXTERNALACCOUNTTUPLE_RESPONSE, ], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto2', + extension_ranges=[], + oneofs=[ + ], + serialized_start=1277, + serialized_end=2056, +) + +_CUSERACCOUNT_GETFRIENDINVITETOKENS_RESPONSE.fields_by_name['tokens'].message_type = _CUSERACCOUNT_CREATEFRIENDINVITETOKEN_RESPONSE +_CACCOUNTLINKING_GETLINKEDACCOUNTINFO_REQUEST.fields_by_name['account_type'].enum_type = _EINTERNALACCOUNTTYPE +_CACCOUNTLINKING_GETLINKEDACCOUNTINFO_REQUEST.fields_by_name['filter'].enum_type = _EEXTERNALACCOUNTTYPE +_CACCOUNTLINKING_GETLINKEDACCOUNTINFO_RESPONSE_CEXTERNALACCOUNTTUPLE_RESPONSE.fields_by_name['external_type'].enum_type = _EEXTERNALACCOUNTTYPE +_CACCOUNTLINKING_GETLINKEDACCOUNTINFO_RESPONSE_CEXTERNALACCOUNTTUPLE_RESPONSE.containing_type = _CACCOUNTLINKING_GETLINKEDACCOUNTINFO_RESPONSE +_CACCOUNTLINKING_GETLINKEDACCOUNTINFO_RESPONSE.fields_by_name['external_accounts'].message_type = _CACCOUNTLINKING_GETLINKEDACCOUNTINFO_RESPONSE_CEXTERNALACCOUNTTUPLE_RESPONSE DESCRIPTOR.message_types_by_name['CUserAccount_GetAccountLinkStatus_Request'] = _CUSERACCOUNT_GETACCOUNTLINKSTATUS_REQUEST DESCRIPTOR.message_types_by_name['CUserAccount_GetAccountLinkStatus_Response'] = _CUSERACCOUNT_GETACCOUNTLINKSTATUS_RESPONSE +DESCRIPTOR.message_types_by_name['CUserAccount_CreateFriendInviteToken_Request'] = _CUSERACCOUNT_CREATEFRIENDINVITETOKEN_REQUEST +DESCRIPTOR.message_types_by_name['CUserAccount_CreateFriendInviteToken_Response'] = _CUSERACCOUNT_CREATEFRIENDINVITETOKEN_RESPONSE +DESCRIPTOR.message_types_by_name['CUserAccount_GetFriendInviteTokens_Request'] = _CUSERACCOUNT_GETFRIENDINVITETOKENS_REQUEST +DESCRIPTOR.message_types_by_name['CUserAccount_GetFriendInviteTokens_Response'] = _CUSERACCOUNT_GETFRIENDINVITETOKENS_RESPONSE +DESCRIPTOR.message_types_by_name['CUserAccount_RevokeFriendInviteToken_Request'] = _CUSERACCOUNT_REVOKEFRIENDINVITETOKEN_REQUEST +DESCRIPTOR.message_types_by_name['CUserAccount_RevokeFriendInviteToken_Response'] = _CUSERACCOUNT_REVOKEFRIENDINVITETOKEN_RESPONSE DESCRIPTOR.message_types_by_name['CUserAccount_RegisterCompatTool_Request'] = _CUSERACCOUNT_REGISTERCOMPATTOOL_REQUEST DESCRIPTOR.message_types_by_name['CUserAccount_RegisterCompatTool_Response'] = _CUSERACCOUNT_REGISTERCOMPATTOOL_RESPONSE +DESCRIPTOR.message_types_by_name['CAccountLinking_GetLinkedAccountInfo_Request'] = _CACCOUNTLINKING_GETLINKEDACCOUNTINFO_REQUEST +DESCRIPTOR.message_types_by_name['CAccountLinking_GetLinkedAccountInfo_Response'] = _CACCOUNTLINKING_GETLINKEDACCOUNTINFO_RESPONSE +DESCRIPTOR.enum_types_by_name['EInternalAccountType'] = _EINTERNALACCOUNTTYPE +DESCRIPTOR.enum_types_by_name['EExternalAccountType'] = _EEXTERNALACCOUNTTYPE CUserAccount_GetAccountLinkStatus_Request = _reflection.GeneratedProtocolMessageType('CUserAccount_GetAccountLinkStatus_Request', (_message.Message,), dict( DESCRIPTOR = _CUSERACCOUNT_GETACCOUNTLINKSTATUS_REQUEST, @@ -165,6 +641,48 @@ CUserAccount_GetAccountLinkStatus_Response = _reflection.GeneratedProtocolMessag )) _sym_db.RegisterMessage(CUserAccount_GetAccountLinkStatus_Response) +CUserAccount_CreateFriendInviteToken_Request = _reflection.GeneratedProtocolMessageType('CUserAccount_CreateFriendInviteToken_Request', (_message.Message,), dict( + DESCRIPTOR = _CUSERACCOUNT_CREATEFRIENDINVITETOKEN_REQUEST, + __module__ = 'steammessages_useraccount_pb2' + # @@protoc_insertion_point(class_scope:CUserAccount_CreateFriendInviteToken_Request) + )) +_sym_db.RegisterMessage(CUserAccount_CreateFriendInviteToken_Request) + +CUserAccount_CreateFriendInviteToken_Response = _reflection.GeneratedProtocolMessageType('CUserAccount_CreateFriendInviteToken_Response', (_message.Message,), dict( + DESCRIPTOR = _CUSERACCOUNT_CREATEFRIENDINVITETOKEN_RESPONSE, + __module__ = 'steammessages_useraccount_pb2' + # @@protoc_insertion_point(class_scope:CUserAccount_CreateFriendInviteToken_Response) + )) +_sym_db.RegisterMessage(CUserAccount_CreateFriendInviteToken_Response) + +CUserAccount_GetFriendInviteTokens_Request = _reflection.GeneratedProtocolMessageType('CUserAccount_GetFriendInviteTokens_Request', (_message.Message,), dict( + DESCRIPTOR = _CUSERACCOUNT_GETFRIENDINVITETOKENS_REQUEST, + __module__ = 'steammessages_useraccount_pb2' + # @@protoc_insertion_point(class_scope:CUserAccount_GetFriendInviteTokens_Request) + )) +_sym_db.RegisterMessage(CUserAccount_GetFriendInviteTokens_Request) + +CUserAccount_GetFriendInviteTokens_Response = _reflection.GeneratedProtocolMessageType('CUserAccount_GetFriendInviteTokens_Response', (_message.Message,), dict( + DESCRIPTOR = _CUSERACCOUNT_GETFRIENDINVITETOKENS_RESPONSE, + __module__ = 'steammessages_useraccount_pb2' + # @@protoc_insertion_point(class_scope:CUserAccount_GetFriendInviteTokens_Response) + )) +_sym_db.RegisterMessage(CUserAccount_GetFriendInviteTokens_Response) + +CUserAccount_RevokeFriendInviteToken_Request = _reflection.GeneratedProtocolMessageType('CUserAccount_RevokeFriendInviteToken_Request', (_message.Message,), dict( + DESCRIPTOR = _CUSERACCOUNT_REVOKEFRIENDINVITETOKEN_REQUEST, + __module__ = 'steammessages_useraccount_pb2' + # @@protoc_insertion_point(class_scope:CUserAccount_RevokeFriendInviteToken_Request) + )) +_sym_db.RegisterMessage(CUserAccount_RevokeFriendInviteToken_Request) + +CUserAccount_RevokeFriendInviteToken_Response = _reflection.GeneratedProtocolMessageType('CUserAccount_RevokeFriendInviteToken_Response', (_message.Message,), dict( + DESCRIPTOR = _CUSERACCOUNT_REVOKEFRIENDINVITETOKEN_RESPONSE, + __module__ = 'steammessages_useraccount_pb2' + # @@protoc_insertion_point(class_scope:CUserAccount_RevokeFriendInviteToken_Response) + )) +_sym_db.RegisterMessage(CUserAccount_RevokeFriendInviteToken_Response) + CUserAccount_RegisterCompatTool_Request = _reflection.GeneratedProtocolMessageType('CUserAccount_RegisterCompatTool_Request', (_message.Message,), dict( DESCRIPTOR = _CUSERACCOUNT_REGISTERCOMPATTOOL_REQUEST, __module__ = 'steammessages_useraccount_pb2' @@ -179,9 +697,49 @@ CUserAccount_RegisterCompatTool_Response = _reflection.GeneratedProtocolMessageT )) _sym_db.RegisterMessage(CUserAccount_RegisterCompatTool_Response) +CAccountLinking_GetLinkedAccountInfo_Request = _reflection.GeneratedProtocolMessageType('CAccountLinking_GetLinkedAccountInfo_Request', (_message.Message,), dict( + DESCRIPTOR = _CACCOUNTLINKING_GETLINKEDACCOUNTINFO_REQUEST, + __module__ = 'steammessages_useraccount_pb2' + # @@protoc_insertion_point(class_scope:CAccountLinking_GetLinkedAccountInfo_Request) + )) +_sym_db.RegisterMessage(CAccountLinking_GetLinkedAccountInfo_Request) + +CAccountLinking_GetLinkedAccountInfo_Response = _reflection.GeneratedProtocolMessageType('CAccountLinking_GetLinkedAccountInfo_Response', (_message.Message,), dict( + + CExternalAccountTuple_Response = _reflection.GeneratedProtocolMessageType('CExternalAccountTuple_Response', (_message.Message,), dict( + DESCRIPTOR = _CACCOUNTLINKING_GETLINKEDACCOUNTINFO_RESPONSE_CEXTERNALACCOUNTTUPLE_RESPONSE, + __module__ = 'steammessages_useraccount_pb2' + # @@protoc_insertion_point(class_scope:CAccountLinking_GetLinkedAccountInfo_Response.CExternalAccountTuple_Response) + )) + , + DESCRIPTOR = _CACCOUNTLINKING_GETLINKEDACCOUNTINFO_RESPONSE, + __module__ = 'steammessages_useraccount_pb2' + # @@protoc_insertion_point(class_scope:CAccountLinking_GetLinkedAccountInfo_Response) + )) +_sym_db.RegisterMessage(CAccountLinking_GetLinkedAccountInfo_Response) +_sym_db.RegisterMessage(CAccountLinking_GetLinkedAccountInfo_Response.CExternalAccountTuple_Response) + DESCRIPTOR.has_options = True DESCRIPTOR._options = _descriptor._ParseOptions(descriptor_pb2.FileOptions(), _b('\220\001\001')) +_CACCOUNTLINKING_GETLINKEDACCOUNTINFO_REQUEST.fields_by_name['account_id'].has_options = True +_CACCOUNTLINKING_GETLINKEDACCOUNTINFO_REQUEST.fields_by_name['account_id']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\202\265\030\023Internal account ID')) +_CACCOUNTLINKING_GETLINKEDACCOUNTINFO_REQUEST.fields_by_name['filter'].has_options = True +_CACCOUNTLINKING_GETLINKEDACCOUNTINFO_REQUEST.fields_by_name['filter']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\202\265\0308if specified then only return this external account type')) +_CACCOUNTLINKING_GETLINKEDACCOUNTINFO_REQUEST.fields_by_name['return_access_token'].has_options = True +_CACCOUNTLINKING_GETLINKEDACCOUNTINFO_REQUEST.fields_by_name['return_access_token']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\202\265\030^if provided and true, then returns valid access token if available. It may refresh the token. ')) +_CACCOUNTLINKING_GETLINKEDACCOUNTINFO_RESPONSE_CEXTERNALACCOUNTTUPLE_RESPONSE.fields_by_name['external_id'].has_options = True +_CACCOUNTLINKING_GETLINKEDACCOUNTINFO_RESPONSE_CEXTERNALACCOUNTTUPLE_RESPONSE.fields_by_name['external_id']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\202\265\030\"unique external account identifier')) +_CACCOUNTLINKING_GETLINKEDACCOUNTINFO_RESPONSE_CEXTERNALACCOUNTTUPLE_RESPONSE.fields_by_name['external_user_name'].has_options = True +_CACCOUNTLINKING_GETLINKEDACCOUNTINFO_RESPONSE_CEXTERNALACCOUNTTUPLE_RESPONSE.fields_by_name['external_user_name']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\202\265\030\032user readable; best effort')) +_CACCOUNTLINKING_GETLINKEDACCOUNTINFO_RESPONSE_CEXTERNALACCOUNTTUPLE_RESPONSE.fields_by_name['external_url'].has_options = True +_CACCOUNTLINKING_GETLINKEDACCOUNTINFO_RESPONSE_CEXTERNALACCOUNTTUPLE_RESPONSE.fields_by_name['external_url']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\202\265\0309required for all, can be a sentinal to verify correctness')) +_CACCOUNTLINKING_GETLINKEDACCOUNTINFO_RESPONSE_CEXTERNALACCOUNTTUPLE_RESPONSE.fields_by_name['access_token'].has_options = True +_CACCOUNTLINKING_GETLINKEDACCOUNTINFO_RESPONSE_CEXTERNALACCOUNTTUPLE_RESPONSE.fields_by_name['access_token']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\202\265\030&provided if requeest and it was valid.')) +_CACCOUNTLINKING_GETLINKEDACCOUNTINFO_RESPONSE_CEXTERNALACCOUNTTUPLE_RESPONSE.fields_by_name['access_token_secret'].has_options = True +_CACCOUNTLINKING_GETLINKEDACCOUNTINFO_RESPONSE_CEXTERNALACCOUNTTUPLE_RESPONSE.fields_by_name['access_token_secret']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\202\265\030Jrequired for OAuth v1 and signing the message, provided with access token.')) +_CACCOUNTLINKING_GETLINKEDACCOUNTINFO_RESPONSE_CEXTERNALACCOUNTTUPLE_RESPONSE.fields_by_name['is_valid'].has_options = True +_CACCOUNTLINKING_GETLINKEDACCOUNTINFO_RESPONSE_CEXTERNALACCOUNTTUPLE_RESPONSE.fields_by_name['is_valid']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\202\265\030zIf false, it means access token no longer work (expired, disconnected) and the link is now broken. Inform user to refresh.')) _USERACCOUNT = _descriptor.ServiceDescriptor( name='UserAccount', @@ -189,8 +747,8 @@ _USERACCOUNT = _descriptor.ServiceDescriptor( file=DESCRIPTOR, index=0, options=_descriptor._ParseOptions(descriptor_pb2.ServiceOptions(), _b('\202\265\030)A service to get user account information')), - serialized_start=314, - serialized_end=676, + serialized_start=2468, + serialized_end=3358, methods=[ _descriptor.MethodDescriptor( name='GetAccountLinkStatus', @@ -201,10 +759,37 @@ _USERACCOUNT = _descriptor.ServiceDescriptor( output_type=_CUSERACCOUNT_GETACCOUNTLINKSTATUS_RESPONSE, options=_descriptor._ParseOptions(descriptor_pb2.MethodOptions(), _b('\202\265\030\033Fetches account link status')), ), + _descriptor.MethodDescriptor( + name='CreateFriendInviteToken', + full_name='UserAccount.CreateFriendInviteToken', + index=1, + containing_service=None, + input_type=_CUSERACCOUNT_CREATEFRIENDINVITETOKEN_REQUEST, + output_type=_CUSERACCOUNT_CREATEFRIENDINVITETOKEN_RESPONSE, + options=_descriptor._ParseOptions(descriptor_pb2.MethodOptions(), _b('\202\265\030FCreate a limited-use token that can be used to create a friend request')), + ), + _descriptor.MethodDescriptor( + name='GetFriendInviteTokens', + full_name='UserAccount.GetFriendInviteTokens', + index=2, + containing_service=None, + input_type=_CUSERACCOUNT_GETFRIENDINVITETOKENS_REQUEST, + output_type=_CUSERACCOUNT_GETFRIENDINVITETOKENS_RESPONSE, + options=_descriptor._ParseOptions(descriptor_pb2.MethodOptions(), _b('\202\265\030)Get the set of active tokens for the user')), + ), + _descriptor.MethodDescriptor( + name='RevokeFriendInviteToken', + full_name='UserAccount.RevokeFriendInviteToken', + index=3, + containing_service=None, + input_type=_CUSERACCOUNT_REVOKEFRIENDINVITETOKEN_REQUEST, + output_type=_CUSERACCOUNT_REVOKEFRIENDINVITETOKEN_RESPONSE, + options=_descriptor._ParseOptions(descriptor_pb2.MethodOptions(), _b('\202\265\030$Revoke an active friend invite token')), + ), _descriptor.MethodDescriptor( name='RegisterCompatTool', full_name='UserAccount.RegisterCompatTool', - index=1, + index=4, containing_service=None, input_type=_CUSERACCOUNT_REGISTERCOMPATTOOL_REQUEST, output_type=_CUSERACCOUNT_REGISTERCOMPATTOOL_RESPONSE, @@ -223,4 +808,36 @@ UserAccount_Stub = service_reflection.GeneratedServiceStubType('UserAccount_Stub )) + +_ACCOUNTLINKING = _descriptor.ServiceDescriptor( + name='AccountLinking', + full_name='AccountLinking', + file=DESCRIPTOR, + index=1, + options=_descriptor._ParseOptions(descriptor_pb2.ServiceOptions(), _b('\202\265\0301A service to manage and link to external accounts')), + serialized_start=3361, + serialized_end=3646, + methods=[ + _descriptor.MethodDescriptor( + name='GetLinkedAccountInfo', + full_name='AccountLinking.GetLinkedAccountInfo', + index=0, + containing_service=None, + input_type=_CACCOUNTLINKING_GETLINKEDACCOUNTINFO_REQUEST, + output_type=_CACCOUNTLINKING_GETLINKEDACCOUNTINFO_RESPONSE, + options=_descriptor._ParseOptions(descriptor_pb2.MethodOptions(), _b('\202\265\030XList all my active linked external accounts; may be requested to return the access token')), + ), +]) + +AccountLinking = service_reflection.GeneratedServiceType('AccountLinking', (_service.Service,), dict( + DESCRIPTOR = _ACCOUNTLINKING, + __module__ = 'steammessages_useraccount_pb2' + )) + +AccountLinking_Stub = service_reflection.GeneratedServiceStubType('AccountLinking_Stub', (AccountLinking,), dict( + DESCRIPTOR = _ACCOUNTLINKING, + __module__ = 'steammessages_useraccount_pb2' + )) + + # @@protoc_insertion_point(module_scope)