option optimize_for = SPEED;
option cc_generic_services = false;

enum EGCSystemMsg {
	k_EGCMsgInvalid = 0;
	k_EGCMsgMulti = 1;
	k_EGCMsgGenericReply = 10;
	k_EGCMsgSystemBase = 50;
	k_EGCMsgAchievementAwarded = 51;
	k_EGCMsgConCommand = 52;
	k_EGCMsgStartPlaying = 53;
	k_EGCMsgStopPlaying = 54;
	k_EGCMsgStartGameserver = 55;
	k_EGCMsgStopGameserver = 56;
	k_EGCMsgWGRequest = 57;
	k_EGCMsgWGResponse = 58;
	k_EGCMsgGetUserGameStatsSchema = 59;
	k_EGCMsgGetUserGameStatsSchemaResponse = 60;
	k_EGCMsgGetUserStatsDEPRECATED = 61;
	k_EGCMsgGetUserStatsResponse = 62;
	k_EGCMsgAppInfoUpdated = 63;
	k_EGCMsgValidateSession = 64;
	k_EGCMsgValidateSessionResponse = 65;
	k_EGCMsgLookupAccountFromInput = 66;
	k_EGCMsgSendHTTPRequest = 67;
	k_EGCMsgSendHTTPRequestResponse = 68;
	k_EGCMsgPreTestSetup = 69;
	k_EGCMsgRecordSupportAction = 70;
	k_EGCMsgGetAccountDetails_DEPRECATED = 71;
	k_EGCMsgReceiveInterAppMessage = 73;
	k_EGCMsgFindAccounts = 74;
	k_EGCMsgPostAlert = 75;
	k_EGCMsgGetLicenses = 76;
	k_EGCMsgGetUserStats = 77;
	k_EGCMsgGetCommands = 78;
	k_EGCMsgGetCommandsResponse = 79;
	k_EGCMsgAddFreeLicense = 80;
	k_EGCMsgAddFreeLicenseResponse = 81;
	k_EGCMsgGetIPLocation = 82;
	k_EGCMsgGetIPLocationResponse = 83;
	k_EGCMsgSystemStatsSchema = 84;
	k_EGCMsgGetSystemStats = 85;
	k_EGCMsgGetSystemStatsResponse = 86;
	k_EGCMsgSendEmail = 87;
	k_EGCMsgSendEmailResponse = 88;
	k_EGCMsgGetEmailTemplate = 89;
	k_EGCMsgGetEmailTemplateResponse = 90;
	k_EGCMsgGrantGuestPass = 91;
	k_EGCMsgGrantGuestPassResponse = 92;
	k_EGCMsgGetAccountDetails = 93;
	k_EGCMsgGetAccountDetailsResponse = 94;
	k_EGCMsgGetPersonaNames = 95;
	k_EGCMsgGetPersonaNamesResponse = 96;
	k_EGCMsgMultiplexMsg = 97;
	k_EGCMsgWebAPIRegisterInterfaces = 101;
	k_EGCMsgWebAPIJobRequest = 102;
	k_EGCMsgWebAPIJobRequestHttpResponse = 104;
	k_EGCMsgWebAPIJobRequestForwardResponse = 105;
	k_EGCMsgMemCachedGet = 200;
	k_EGCMsgMemCachedGetResponse = 201;
	k_EGCMsgMemCachedSet = 202;
	k_EGCMsgMemCachedDelete = 203;
	k_EGCMsgMemCachedStats = 204;
	k_EGCMsgMemCachedStatsResponse = 205;
	k_EGCMsgSQLStats = 210;
	k_EGCMsgSQLStatsResponse = 211;
	k_EGCMsgMasterSetDirectory = 220;
	k_EGCMsgMasterSetDirectoryResponse = 221;
	k_EGCMsgMasterSetWebAPIRouting = 222;
	k_EGCMsgMasterSetWebAPIRoutingResponse = 223;
	k_EGCMsgMasterSetClientMsgRouting = 224;
	k_EGCMsgMasterSetClientMsgRoutingResponse = 225;
	k_EGCMsgSetOptions = 226;
	k_EGCMsgSetOptionsResponse = 227;
	k_EGCMsgSystemBase2 = 500;
	k_EGCMsgGetPurchaseTrustStatus = 501;
	k_EGCMsgGetPurchaseTrustStatusResponse = 502;
	k_EGCMsgUpdateSession = 503;
	k_EGCMsgGCAccountVacStatusChange = 504;
	k_EGCMsgCheckFriendship = 505;
	k_EGCMsgCheckFriendshipResponse = 506;
	k_EGCMsgGetPartnerAccountLink = 507;
	k_EGCMsgGetPartnerAccountLinkResponse = 508;
	k_EGCMsgVSReportedSuspiciousActivity = 509;
	k_EGCMsgAccountTradeBanStatusChange = 510;
	k_EGCMsgAccountLockStatusChange = 511;
	k_EGCMsgDPPartnerMicroTxns = 512;
	k_EGCMsgDPPartnerMicroTxnsResponse = 513;
	k_EGCMsgGetIPASN = 514;
	k_EGCMsgGetIPASNResponse = 515;
	k_EGCMsgGetAppFriendsList = 516;
	k_EGCMsgGetAppFriendsListResponse = 517;
	k_EGCMsgVacVerificationChange = 518;
	k_EGCMsgAccountPhoneNumberChange = 519;
	k_EGCMsgAccountTwoFactorChange = 520;
	k_EGCMsgCheckClanMembership = 521;
	k_EGCMsgCheckClanMembershipResponse = 522;
	k_EGCMsgInviteUserToLobby = 523;
	k_EGCMsgGetGamePersonalDataCategoriesRequest = 524;
	k_EGCMsgGetGamePersonalDataCategoriesResponse = 525;
	k_EGCMsgGetGamePersonalDataEntriesRequest = 526;
	k_EGCMsgGetGamePersonalDataEntriesResponse = 527;
	k_EGCMsgTerminateGamePersonalDataEntriesRequest = 528;
	k_EGCMsgTerminateGamePersonalDataEntriesResponse = 529;
}

enum ESOMsg {
	k_ESOMsg_Create = 21;
	k_ESOMsg_Update = 22;
	k_ESOMsg_Destroy = 23;
	k_ESOMsg_CacheSubscribed = 24;
	k_ESOMsg_CacheUnsubscribed = 25;
	k_ESOMsg_UpdateMultiple = 26;
	k_ESOMsg_CacheSubscriptionCheck = 27;
	k_ESOMsg_CacheSubscriptionRefresh = 28;
	k_ESOMsg_CacheSubscribedUpToDate = 29;
}

enum EGCBaseClientMsg {
	k_EMsgGCPingRequest = 3001;
	k_EMsgGCPingResponse = 3002;
	k_EMsgGCClientWelcome = 4004;
	k_EMsgGCServerWelcome = 4005;
	k_EMsgGCClientHello = 4006;
	k_EMsgGCServerHello = 4007;
	k_EMsgGCClientGoodbye = 4008;
	k_EMsgGCServerGoodbye = 4009;
}

enum EGCToGCMsg {
	k_EGCToGCMsgMasterAck = 150;
	k_EGCToGCMsgMasterAckResponse = 151;
	k_EGCToGCMsgRouted = 152;
	k_EGCToGCMsgRoutedReply = 153;
	k_EMsgGCUpdateSubGCSessionInfo = 154;
	k_EMsgGCRequestSubGCSessionInfo = 155;
	k_EMsgGCRequestSubGCSessionInfoResponse = 156;
	k_EGCToGCMsgMasterStartupComplete = 157;
	k_EMsgGCToGCSOCacheSubscribe = 158;
	k_EMsgGCToGCSOCacheUnsubscribe = 159;
}

message CCommunity_GamePersonalDataCategoryInfo {
	optional string type = 1;
	optional string localization_token = 2;
	optional string template_file = 3;
}

message CCommunity_GetGamePersonalDataCategories_Request {
	optional uint32 appid = 1;
}

message CCommunity_GetGamePersonalDataCategories_Response {
	repeated .CCommunity_GamePersonalDataCategoryInfo categories = 1;
	optional string app_assets_basename = 2;
}

message CCommunity_GetGamePersonalDataEntries_Request {
	optional uint32 appid = 1;
	optional uint64 steamid = 2;
	optional string type = 3;
	optional string continue_token = 4;
}

message CCommunity_GetGamePersonalDataEntries_Response {
	optional uint32 gceresult = 1;
	repeated string entries = 2;
	optional string continue_token = 3;
}

message CCommunity_TerminateGamePersonalDataEntries_Request {
	optional uint32 appid = 1;
	optional uint64 steamid = 2;
}

message CCommunity_TerminateGamePersonalDataEntries_Response {
	optional uint32 gceresult = 1;
}

